diff --git a/pr-333/404.html b/pr-333/404.html deleted file mode 100644 index 18263958a..000000000 --- a/pr-333/404.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - 404 | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/README.html b/pr-333/README.html deleted file mode 100644 index d3b6f8ae6..000000000 --- a/pr-333/README.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - Rollkit Documentation Site | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Rollkit Documentation Site

Welcome to the official documentation repository for Rollkit.

Here you'll find comprehensive guides, tutorials, and reference materials to help you make the most out of Rollkit.

Building the site

To get started, clone the repository and run the following:

bash
yarn run docs:dev

This documentation site is built with VitePress

Contribution Guidelines

We love contributions from the community! Whether you're fixing typos, improving content clarity, or adding new topics, every contribution helps.

  • Fork & Clone: Fork this repository and clone it to your local machine.
  • Branch: Always create a new branch for your changes. Naming it relevantly.
  • Commit Changes: Make your changes and commit them with a clear and concise commit message.
  • Push & Create PR: Push your changes to your fork and create a pull request to the main branch of this repository.

Please ensure to review the detailed Contribution Guidelines above before making a pull request.

Directory Structure

  • /tutorials: Step-by-step instructions to help users build their own rollups with Rollkit.
  • /learn: Technical reference materials, such as configuration options and details about the Rollkit stack.
  • /blog: Blog posts for the Rollkit blog.
  • /public: Images, diagrams, and other media files used in the documentation.

Feedback & Suggestions

We value feedback from the community. If you have suggestions for improvements or find any discrepancies in the documentation, please raise an issue in this repository.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/Rollkit-og.png b/pr-333/Rollkit-og.png deleted file mode 100644 index 941d1a9d3..000000000 Binary files a/pr-333/Rollkit-og.png and /dev/null differ diff --git a/pr-333/RollkitGPT-icon.svg b/pr-333/RollkitGPT-icon.svg deleted file mode 100644 index 9c4ba7393..000000000 --- a/pr-333/RollkitGPT-icon.svg +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/pr-333/RollkitGPT.svg b/pr-333/RollkitGPT.svg deleted file mode 100644 index e43dd0dae..000000000 --- a/pr-333/RollkitGPT.svg +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/pr-333/assets/README.md.3a4e5b9c.js b/pr-333/assets/README.md.3a4e5b9c.js deleted file mode 100644 index 77d77cd8d..000000000 --- a/pr-333/assets/README.md.3a4e5b9c.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as i,X as o}from"./chunks/framework.8df7efef.js";const g=JSON.parse('{"title":"Rollkit Documentation Site","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Rollkit Documentation Site | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"README.md","filePath":"README.md","lastUpdated":1711045903000}'),a={name:"README.md"},n=o('

Rollkit Documentation Site

Welcome to the official documentation repository for Rollkit.

Here you'll find comprehensive guides, tutorials, and reference materials to help you make the most out of Rollkit.

Building the site

To get started, clone the repository and run the following:

bash
yarn run docs:dev

This documentation site is built with VitePress

Contribution Guidelines

We love contributions from the community! Whether you're fixing typos, improving content clarity, or adding new topics, every contribution helps.

Please ensure to review the detailed Contribution Guidelines above before making a pull request.

Directory Structure

Feedback & Suggestions

We value feedback from the community. If you have suggestions for improvements or find any discrepancies in the documentation, please raise an issue in this repository.

',16),s=[n];function r(l,c,u,d,h,p){return t(),i("div",null,s)}const b=e(a,[["render",r]]);export{g as __pageData,b as default}; diff --git a/pr-333/assets/README.md.3a4e5b9c.lean.js b/pr-333/assets/README.md.3a4e5b9c.lean.js deleted file mode 100644 index 982ffaf93..000000000 --- a/pr-333/assets/README.md.3a4e5b9c.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as i,X as o}from"./chunks/framework.8df7efef.js";const g=JSON.parse('{"title":"Rollkit Documentation Site","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Rollkit Documentation Site | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"README.md","filePath":"README.md","lastUpdated":1711045903000}'),a={name:"README.md"},n=o("",16),s=[n];function r(l,c,u,d,h,p){return t(),i("div",null,s)}const b=e(a,[["render",r]]);export{g as __pageData,b as default}; diff --git a/pr-333/assets/app.1f62ceb3.js b/pr-333/assets/app.1f62ceb3.js deleted file mode 100644 index 0be74b3ce..000000000 --- a/pr-333/assets/app.1f62ceb3.js +++ /dev/null @@ -1,87 +0,0 @@ -import{$ as Z,h as ao,u as gs,a6 as Gl,j as ms,H as Xl,o as Kl,c as Zl,a7 as _s,G as Xr,a8 as Jl,a9 as Ql,aa as th,ab as eh,ac as ih,ad as rh,ae as nh,af as oh,ag as sh,ah,d as lh,A as hh,ai as ch,aj as uh,ak as fh}from"./chunks/framework.8df7efef.js";import{t as lo}from"./chunks/theme.c87e84a0.js";function dh(t){for(var e=[],i=1;i=x?O:""+Array(x+1-B.length).join(T)+O},X={s:P,z:function(O){var x=-O.utcOffset(),T=Math.abs(x),B=Math.floor(T/60),y=T%60;return(x<=0?"+":"-")+P(B,2,"0")+":"+P(y,2,"0")},m:function O(x,T){if(x.date()1)return O(w[0])}else{var H=x.name;V[H]=x,y=H}return!B&&y&&(U=y),y||!B&&U},K=function(O,x){if(W(O))return O.clone();var T=typeof x=="object"?x:{};return T.date=O,T.args=arguments,new Ft(T)},D=X;D.l=Gt,D.i=W,D.w=function(O,x){return K(O,{locale:x.$L,utc:x.$u,x:x.$x,$offset:x.$offset})};var Ft=function(){function O(T){this.$L=Gt(T.locale,null,!0),this.parse(T)}var x=O.prototype;return x.parse=function(T){this.$d=function(B){var y=B.date,$=B.utc;if(y===null)return new Date(NaN);if(D.u(y))return new Date;if(y instanceof Date)return new Date(y);if(typeof y=="string"&&!/Z$/i.test(y)){var w=y.match(M);if(w){var H=w[2]-1||0,N=(w[7]||"0").substring(0,3);return $?new Date(Date.UTC(w[1],H,w[3]||1,w[4]||0,w[5]||0,w[6]||0,N)):new Date(w[1],H,w[3]||1,w[4]||0,w[5]||0,w[6]||0,N)}}return new Date(y)}(T),this.$x=T.x||{},this.init()},x.init=function(){var T=this.$d;this.$y=T.getFullYear(),this.$M=T.getMonth(),this.$D=T.getDate(),this.$W=T.getDay(),this.$H=T.getHours(),this.$m=T.getMinutes(),this.$s=T.getSeconds(),this.$ms=T.getMilliseconds()},x.$utils=function(){return D},x.isValid=function(){return this.$d.toString()!==k},x.isSame=function(T,B){var y=K(T);return this.startOf(B)<=y&&y<=this.endOf(B)},x.isAfter=function(T,B){return K(T)-1}function Sh(t){return t.replace(Ch,function(e,i){return String.fromCharCode(i)})}function wh(t){var e=Sh(t||"").replace(bh,"").replace(xh,"").trim();if(!e)return"about:blank";if(kh(e))return e;var i=e.match(Th);if(!i)return e;var r=i[0];return yh.test(r)?"about:blank":e}Cs=mn.sanitizeUrl=wh;var Bh={value:()=>{}};function bs(){for(var t=0,e=arguments.length,i={},r;t=0&&(r=i.slice(n+1),i=i.slice(0,n)),i&&!e.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:r}})}wi.prototype=bs.prototype={constructor:wi,on:function(t,e){var i=this._,r=Fh(t+"",i),n,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var i=new Array(n),r=0,n,o;r=0&&(e=t.slice(0,i))!=="xmlns"&&(t=t.slice(i+1)),co.hasOwnProperty(e)?{space:co[e],local:t}:t}function Ah(t){return function(){var e=this.ownerDocument,i=this.namespaceURI;return i===Kr&&e.documentElement.namespaceURI===Kr?e.createElement(t):e.createElementNS(i,t)}}function Eh(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function xs(t){var e=sr(t);return(e.local?Eh:Ah)(e)}function Mh(){}function _n(t){return t==null?Mh:function(){return this.querySelector(t)}}function Oh(t){typeof t!="function"&&(t=_n(t));for(var e=this._groups,i=e.length,r=new Array(i),n=0;n=P&&(P=b+1);!(U=M[P])&&++P=0;)(s=r[n])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function nc(t){t||(t=oc);function e(u,g){return u&&g?t(u.__data__,g.__data__):!u-!g}for(var i=this._groups,r=i.length,n=new Array(r),o=0;oe?1:t>=e?0:NaN}function sc(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function ac(){return Array.from(this)}function lc(){for(var t=this._groups,e=0,i=t.length;e1?this.each((e==null?Cc:typeof e=="function"?xc:bc)(t,e,i??"")):Fe(this.node(),t)}function Fe(t,e){return t.style.getPropertyValue(e)||ws(t).getComputedStyle(t,null).getPropertyValue(e)}function vc(t){return function(){delete this[t]}}function kc(t,e){return function(){this[t]=e}}function Sc(t,e){return function(){var i=e.apply(this,arguments);i==null?delete this[t]:this[t]=i}}function wc(t,e){return arguments.length>1?this.each((e==null?vc:typeof e=="function"?Sc:kc)(t,e)):this.node()[t]}function Bs(t){return t.trim().split(/^|\s+/)}function yn(t){return t.classList||new Fs(t)}function Fs(t){this._node=t,this._names=Bs(t.getAttribute("class")||"")}Fs.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Ls(t,e){for(var i=yn(t),r=-1,n=e.length;++r=0&&(i=e.slice(r+1),e=e.slice(0,r)),{type:e,name:i}})}function tu(t){return function(){var e=this.__on;if(e){for(var i=0,r=-1,n=e.length,o;i>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):i===8?_i(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):i===4?_i(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=hu.exec(t))?new dt(e[1],e[2],e[3],1):(e=cu.exec(t))?new dt(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=uu.exec(t))?_i(e[1],e[2],e[3],e[4]):(e=fu.exec(t))?_i(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=du.exec(t))?yo(e[1],e[2]/100,e[3]/100,1):(e=pu.exec(t))?yo(e[1],e[2]/100,e[3]/100,e[4]):uo.hasOwnProperty(t)?go(uo[t]):t==="transparent"?new dt(NaN,NaN,NaN,0):null}function go(t){return new dt(t>>16&255,t>>8&255,t&255,1)}function _i(t,e,i,r){return r<=0&&(t=e=i=NaN),new dt(t,e,i,r)}function _u(t){return t instanceof ai||(t=Je(t)),t?(t=t.rgb(),new dt(t.r,t.g,t.b,t.opacity)):new dt}function Zr(t,e,i,r){return arguments.length===1?_u(t):new dt(t,e,i,r??1)}function dt(t,e,i,r){this.r=+t,this.g=+e,this.b=+i,this.opacity=+r}Cn(dt,Zr,Os(ai,{brighter(t){return t=t==null?qi:Math.pow(qi,t),new dt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Ke:Math.pow(Ke,t),new dt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new dt(he(this.r),he(this.g),he(this.b),zi(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:mo,formatHex:mo,formatHex8:yu,formatRgb:_o,toString:_o}));function mo(){return`#${le(this.r)}${le(this.g)}${le(this.b)}`}function yu(){return`#${le(this.r)}${le(this.g)}${le(this.b)}${le((isNaN(this.opacity)?1:this.opacity)*255)}`}function _o(){const t=zi(this.opacity);return`${t===1?"rgb(":"rgba("}${he(this.r)}, ${he(this.g)}, ${he(this.b)}${t===1?")":`, ${t})`}`}function zi(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function he(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function le(t){return t=he(t),(t<16?"0":"")+t.toString(16)}function yo(t,e,i,r){return r<=0?t=e=i=NaN:i<=0||i>=1?t=e=NaN:e<=0&&(t=NaN),new kt(t,e,i,r)}function Is(t){if(t instanceof kt)return new kt(t.h,t.s,t.l,t.opacity);if(t instanceof ai||(t=Je(t)),!t)return new kt;if(t instanceof kt)return t;t=t.rgb();var e=t.r/255,i=t.g/255,r=t.b/255,n=Math.min(e,i,r),o=Math.max(e,i,r),s=NaN,a=o-n,l=(o+n)/2;return a?(e===o?s=(i-r)/a+(i0&&l<1?0:s,new kt(s,a,l,t.opacity)}function Cu(t,e,i,r){return arguments.length===1?Is(t):new kt(t,e,i,r??1)}function kt(t,e,i,r){this.h=+t,this.s=+e,this.l=+i,this.opacity=+r}Cn(kt,Cu,Os(ai,{brighter(t){return t=t==null?qi:Math.pow(qi,t),new kt(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Ke:Math.pow(Ke,t),new kt(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,i=this.l,r=i+(i<.5?i:1-i)*e,n=2*i-r;return new dt(Mr(t>=240?t-240:t+120,n,r),Mr(t,n,r),Mr(t<120?t+240:t-120,n,r),this.opacity)},clamp(){return new kt(Co(this.h),yi(this.s),yi(this.l),zi(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 t=zi(this.opacity);return`${t===1?"hsl(":"hsla("}${Co(this.h)}, ${yi(this.s)*100}%, ${yi(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Co(t){return t=(t||0)%360,t<0?t+360:t}function yi(t){return Math.max(0,Math.min(1,t||0))}function Mr(t,e,i){return(t<60?e+(i-e)*t/60:t<180?i:t<240?e+(i-e)*(240-t)/60:e)*255}const bn=t=>()=>t;function $s(t,e){return function(i){return t+i*e}}function bu(t,e,i){return t=Math.pow(t,i),e=Math.pow(e,i)-t,i=1/i,function(r){return Math.pow(t+r*e,i)}}function f1(t,e){var i=e-t;return i?$s(t,i>180||i<-180?i-360*Math.round(i/360):i):bn(isNaN(t)?e:t)}function xu(t){return(t=+t)==1?Ds:function(e,i){return i-e?bu(e,i,t):bn(isNaN(e)?i:e)}}function Ds(t,e){var i=e-t;return i?$s(t,i):bn(isNaN(t)?e:t)}const bo=function t(e){var i=xu(e);function r(n,o){var s=i((n=Zr(n)).r,(o=Zr(o)).r),a=i(n.g,o.g),l=i(n.b,o.b),h=Ds(n.opacity,o.opacity);return function(c){return n.r=s(c),n.g=a(c),n.b=l(c),n.opacity=h(c),n+""}}return r.gamma=t,r}(1);function Qt(t,e){return t=+t,e=+e,function(i){return t*(1-i)+e*i}}var Jr=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Or=new RegExp(Jr.source,"g");function Tu(t){return function(){return t}}function vu(t){return function(e){return t(e)+""}}function ku(t,e){var i=Jr.lastIndex=Or.lastIndex=0,r,n,o,s=-1,a=[],l=[];for(t=t+"",e=e+"";(r=Jr.exec(t))&&(n=Or.exec(e));)(o=n.index)>i&&(o=e.slice(i,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(n=n[0])?a[s]?a[s]+=n:a[++s]=n:(a[++s]=null,l.push({i:s,x:Qt(r,n)})),i=Or.lastIndex;return i180?c+=360:c-h>180&&(h+=360),g.push({i:u.push(n(u)+"rotate(",null,r)-2,x:Qt(h,c)})):c&&u.push(n(u)+"rotate("+c+r)}function a(h,c,u,g){h!==c?g.push({i:u.push(n(u)+"skewX(",null,r)-2,x:Qt(h,c)}):c&&u.push(n(u)+"skewX("+c+r)}function l(h,c,u,g,p,m){if(h!==u||c!==g){var k=p.push(n(p)+"scale(",null,",",null,")");m.push({i:k-4,x:Qt(h,u)},{i:k-2,x:Qt(c,g)})}else(u!==1||g!==1)&&p.push(n(p)+"scale("+u+","+g+")")}return function(h,c){var u=[],g=[];return h=t(h),c=t(c),o(h.translateX,h.translateY,c.translateX,c.translateY,u,g),s(h.rotate,c.rotate,u,g),a(h.skewX,c.skewX,u,g),l(h.scaleX,h.scaleY,c.scaleX,c.scaleY,u,g),h=c=null,function(p){for(var m=-1,k=g.length,M;++m=0&&t._call.call(void 0,e),t=t._next;--Le}function To(){fe=(Hi=Qe.now())+ar,Le=He=0;try{Au()}finally{Le=0,Mu(),fe=0}}function Eu(){var t=Qe.now(),e=t-Hi;e>Ps&&(ar-=e,Hi=t)}function Mu(){for(var t,e=Wi,i,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(i=e._next,e._next=null,e=t?t._next=i:Wi=i);je=t,tn(r)}function tn(t){if(!Le){He&&(He=clearTimeout(He));var e=t-fe;e>24?(t<1/0&&(He=setTimeout(To,t-Qe.now()-ar)),Pe&&(Pe=clearInterval(Pe))):(Pe||(Hi=Qe.now(),Pe=setInterval(Eu,Ps)),Le=1,qs(To))}}function vo(t,e,i){var r=new ji;return e=e==null?0:+e,r.restart(n=>{r.stop(),t(n+e)},e,i),r}var Ou=bs("start","end","cancel","interrupt"),Iu=[],Ws=0,ko=1,en=2,Bi=3,So=4,rn=5,Fi=6;function lr(t,e,i,r,n,o){var s=t.__transition;if(!s)t.__transition={};else if(i in s)return;$u(t,i,{name:e,index:r,group:n,on:Ou,tween:Iu,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:Ws})}function Tn(t,e){var i=Bt(t,e);if(i.state>Ws)throw new Error("too late; already scheduled");return i}function Nt(t,e){var i=Bt(t,e);if(i.state>Bi)throw new Error("too late; already running");return i}function Bt(t,e){var i=t.__transition;if(!i||!(i=i[e]))throw new Error("transition not found");return i}function $u(t,e,i){var r=t.__transition,n;r[e]=i,i.timer=zs(o,0,i.time);function o(h){i.state=ko,i.timer.restart(s,i.delay,i.time),i.delay<=h&&s(h-i.delay)}function s(h){var c,u,g,p;if(i.state!==ko)return l();for(c in r)if(p=r[c],p.name===i.name){if(p.state===Bi)return vo(s);p.state===So?(p.state=Fi,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete r[c]):+cen&&r.state=0&&(e=e.slice(0,i)),!e||e==="start"})}function df(t,e,i){var r,n,o=ff(e)?Tn:Nt;return function(){var s=o(this,t),a=s.on;a!==r&&(n=(r=a).copy()).on(e,i),s.on=n}}function pf(t,e){var i=this._id;return arguments.length<2?Bt(this.node(),i).on.on(t):this.each(df(i,t,e))}function gf(t){return function(){var e=this.parentNode;for(var i in this.__transition)if(+i!==t)return;e&&e.removeChild(this)}}function mf(){return this.on("end.remove",gf(this._id))}function _f(t){var e=this._name,i=this._id;typeof t!="function"&&(t=_n(t));for(var r=this._groups,n=r.length,o=new Array(n),s=0;s1?0:t<-1?kn:Math.acos(t)}function T1(t){return t>=1?Bo:t<=-1?-Bo:Math.asin(t)}function Ys(t){this._context=t}Ys.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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function Wf(t){return new Ys(t)}class Vs{constructor(e,i){this._context=e,this._x=i}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(e,i){switch(e=+e,i=+i,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,i):this._context.moveTo(e,i);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,i,e,i):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+i)/2,e,this._y0,e,i);break}}this._x0=e,this._y0=i}}function Hf(t){return new Vs(t,!0)}function jf(t){return new Vs(t,!1)}function ee(){}function Ui(t,e,i){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+i)/6)}function hr(t){this._context=t}hr.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:Ui(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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);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:Ui(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Uf(t){return new hr(t)}function Gs(t){this._context=t}Gs.prototype={areaStart:ee,areaEnd:ee,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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Ui(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Yf(t){return new Gs(t)}function Xs(t){this._context=t}Xs.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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var i=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(i,r):this._context.moveTo(i,r);break;case 3:this._point=4;default:Ui(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Vf(t){return new Xs(t)}function Ks(t,e){this._basis=new hr(t),this._beta=e}Ks.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,i=t.length-1;if(i>0)for(var r=t[0],n=e[0],o=t[i]-r,s=e[i]-n,a=-1,l;++a<=i;)l=a/i,this._basis.point(this._beta*t[a]+(1-this._beta)*(r+l*o),this._beta*e[a]+(1-this._beta)*(n+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const Gf=function t(e){function i(r){return e===1?new hr(r):new Ks(r,e)}return i.beta=function(r){return t(+r)},i}(.85);function Yi(t,e,i){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-i),t._x2,t._y2)}function Sn(t,e){this._context=t,this._k=(1-e)/6}Sn.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:Yi(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Yi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Xf=function t(e){function i(r){return new Sn(r,e)}return i.tension=function(r){return t(+r)},i}(0);function wn(t,e){this._context=t,this._k=(1-e)/6}wn.prototype={areaStart:ee,areaEnd:ee,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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Yi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Kf=function t(e){function i(r){return new wn(r,e)}return i.tension=function(r){return t(+r)},i}(0);function Bn(t,e){this._context=t,this._k=(1-e)/6}Bn.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(t,e){switch(t=+t,e=+e,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:Yi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Zf=function t(e){function i(r){return new Bn(r,e)}return i.tension=function(r){return t(+r)},i}(0);function Fn(t,e,i){var r=t._x1,n=t._y1,o=t._x2,s=t._y2;if(t._l01_a>wo){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,n=(n*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>wo){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*h+t._x1*t._l23_2a-e*t._l12_2a)/c,s=(s*h+t._y1*t._l23_2a-i*t._l12_2a)/c}t._context.bezierCurveTo(r,n,o,s,t._x2,t._y2)}function Zs(t,e){this._context=t,this._alpha=e}Zs.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(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Fn(this,t,e);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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Jf=function t(e){function i(r){return e?new Zs(r,e):new Sn(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function Js(t,e){this._context=t,this._alpha=e}Js.prototype={areaStart:ee,areaEnd:ee,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(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Fn(this,t,e);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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Qf=function t(e){function i(r){return e?new Js(r,e):new wn(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function Qs(t,e){this._context=t,this._alpha=e}Qs.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(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,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:Fn(this,t,e);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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const td=function t(e){function i(r){return e?new Qs(r,e):new Bn(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function ta(t){this._context=t}ta.prototype={areaStart:ee,areaEnd:ee,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function ed(t){return new ta(t)}function Fo(t){return t<0?-1:1}function Lo(t,e,i){var r=t._x1-t._x0,n=e-t._x1,o=(t._y1-t._y0)/(r||n<0&&-0),s=(i-t._y1)/(n||r<0&&-0),a=(o*n+s*r)/(r+n);return(Fo(o)+Fo(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(a))||0}function Ao(t,e){var i=t._x1-t._x0;return i?(3*(t._y1-t._y0)/i-e)/2:e}function Ir(t,e,i){var r=t._x0,n=t._y0,o=t._x1,s=t._y1,a=(o-r)/3;t._context.bezierCurveTo(r+a,n+a*e,o-a,s-a*i,o,s)}function Vi(t){this._context=t}Vi.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:Ir(this,this._t0,Ao(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var i=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Ir(this,Ao(this,i=Lo(this,t,e)),i);break;default:Ir(this,this._t0,i=Lo(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=i}}};function ea(t){this._context=new ia(t)}(ea.prototype=Object.create(Vi.prototype)).point=function(t,e){Vi.prototype.point.call(this,e,t)};function ia(t){this._context=t}ia.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,i,r,n,o){this._context.bezierCurveTo(e,t,r,i,o,n)}};function id(t){return new Vi(t)}function rd(t){return new ea(t)}function ra(t){this._context=t}ra.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,i=t.length;if(i)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),i===2)this._context.lineTo(t[1],e[1]);else for(var r=Eo(t),n=Eo(e),o=0,s=1;s=0;--e)n[e]=(s[e]-n[e+1])/o[e];for(o[i-1]=(t[i]+n[i-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var i=this._x*(1-this._t)+t*this._t;this._context.lineTo(i,this._y),this._context.lineTo(i,e)}break}}this._x=t,this._y=e}};function od(t){return new cr(t,.5)}function sd(t){return new cr(t,0)}function ad(t){return new cr(t,1)}function Ue(t,e,i){this.k=t,this.x=e,this.y=i}Ue.prototype={constructor:Ue,scale:function(t){return t===1?this:new Ue(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Ue(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Ue.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:na,setPrototypeOf:Mo,isFrozen:ld,getPrototypeOf:hd,getOwnPropertyDescriptor:cd}=Object;let{freeze:ut,seal:wt,create:ud}=Object,{apply:nn,construct:on}=typeof Reflect<"u"&&Reflect;nn||(nn=function(e,i,r){return e.apply(i,r)});ut||(ut=function(e){return e});wt||(wt=function(e){return e});on||(on=function(e,i){return new e(...i)});const fd=xt(Array.prototype.forEach),Oo=xt(Array.prototype.pop),qe=xt(Array.prototype.push),Li=xt(String.prototype.toLowerCase),$r=xt(String.prototype.toString),dd=xt(String.prototype.match),vt=xt(String.prototype.replace),pd=xt(String.prototype.indexOf),gd=xt(String.prototype.trim),_t=xt(RegExp.prototype.test),ze=md(TypeError);function xt(t){return function(e){for(var i=arguments.length,r=new Array(i>1?i-1:0),n=1;n/gm),xd=wt(/\${[\w\W]*}/gm),Td=wt(/^data-[\-\w.\u00B7-\uFFFF]/),vd=wt(/^aria-[\-\w]+$/),oa=wt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),kd=wt(/^(?:\w+script|data):/i),Sd=wt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),sa=wt(/^html$/i);var Ro=Object.freeze({__proto__:null,MUSTACHE_EXPR:Cd,ERB_EXPR:bd,TMPLIT_EXPR:xd,DATA_ATTR:Td,ARIA_ATTR:vd,IS_ALLOWED_URI:oa,IS_SCRIPT_OR_DATA:kd,ATTR_WHITESPACE:Sd,DOCTYPE_NAME:sa});const wd=()=>typeof window>"u"?null:window,Bd=function(e,i){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let r=null;const n="data-tt-policy-suffix";i&&i.hasAttribute(n)&&(r=i.getAttribute(n));const o="dompurify"+(r?"#"+r:"");try{return e.createPolicy(o,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}};function aa(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:wd();const e=F=>aa(F);if(e.version="3.0.5",e.removed=[],!t||!t.document||t.document.nodeType!==9)return e.isSupported=!1,e;const i=t.document,r=i.currentScript;let{document:n}=t;const{DocumentFragment:o,HTMLTemplateElement:s,Node:a,Element:l,NodeFilter:h,NamedNodeMap:c=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:u,DOMParser:g,trustedTypes:p}=t,m=l.prototype,k=bi(m,"cloneNode"),M=bi(m,"nextSibling"),z=bi(m,"childNodes"),b=bi(m,"parentNode");if(typeof s=="function"){const F=n.createElement("template");F.content&&F.content.ownerDocument&&(n=F.content.ownerDocument)}let P,X="";const{implementation:U,createNodeIterator:V,createDocumentFragment:W,getElementsByTagName:Gt}=n,{importNode:K}=i;let D={};e.isSupported=typeof na=="function"&&typeof b=="function"&&U&&U.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:Ft,ERB_EXPR:Xt,TMPLIT_EXPR:O,DATA_ATTR:x,ARIA_ATTR:T,IS_SCRIPT_OR_DATA:B,ATTR_WHITESPACE:y}=Ro;let{IS_ALLOWED_URI:$}=Ro,w=null;const H=R({},[...Io,...Dr,...Nr,...Rr,...$o]);let N=null;const J=R({},[...Do,...Pr,...No,...xi]);let q=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}})),et=null,Lt=null,At=!0,Rt=!0,Et=!1,nt=!0,lt=!1,mt=!1,Kt=!1,vr=!1,_e=!1,ui=!1,fi=!1,Un=!0,Yn=!1;const Pl="user-content-";let kr=!0,Re=!1,ye={},Ce=null;const Vn=R({},["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 Gn=null;const Xn=R({},["audio","video","img","source","image","track"]);let Sr=null;const Kn=R({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),di="http://www.w3.org/1998/Math/MathML",pi="http://www.w3.org/2000/svg",Pt="http://www.w3.org/1999/xhtml";let be=Pt,wr=!1,Br=null;const ql=R({},[di,pi,Pt],$r);let ne;const zl=["application/xhtml+xml","text/html"],Wl="text/html";let it,xe=null;const Hl=n.createElement("form"),Zn=function(f){return f instanceof RegExp||f instanceof Function},Fr=function(f){if(!(xe&&xe===f)){if((!f||typeof f!="object")&&(f={}),f=Te(f),ne=zl.indexOf(f.PARSER_MEDIA_TYPE)===-1?ne=Wl:ne=f.PARSER_MEDIA_TYPE,it=ne==="application/xhtml+xml"?$r:Li,w="ALLOWED_TAGS"in f?R({},f.ALLOWED_TAGS,it):H,N="ALLOWED_ATTR"in f?R({},f.ALLOWED_ATTR,it):J,Br="ALLOWED_NAMESPACES"in f?R({},f.ALLOWED_NAMESPACES,$r):ql,Sr="ADD_URI_SAFE_ATTR"in f?R(Te(Kn),f.ADD_URI_SAFE_ATTR,it):Kn,Gn="ADD_DATA_URI_TAGS"in f?R(Te(Xn),f.ADD_DATA_URI_TAGS,it):Xn,Ce="FORBID_CONTENTS"in f?R({},f.FORBID_CONTENTS,it):Vn,et="FORBID_TAGS"in f?R({},f.FORBID_TAGS,it):{},Lt="FORBID_ATTR"in f?R({},f.FORBID_ATTR,it):{},ye="USE_PROFILES"in f?f.USE_PROFILES:!1,At=f.ALLOW_ARIA_ATTR!==!1,Rt=f.ALLOW_DATA_ATTR!==!1,Et=f.ALLOW_UNKNOWN_PROTOCOLS||!1,nt=f.ALLOW_SELF_CLOSE_IN_ATTR!==!1,lt=f.SAFE_FOR_TEMPLATES||!1,mt=f.WHOLE_DOCUMENT||!1,_e=f.RETURN_DOM||!1,ui=f.RETURN_DOM_FRAGMENT||!1,fi=f.RETURN_TRUSTED_TYPE||!1,vr=f.FORCE_BODY||!1,Un=f.SANITIZE_DOM!==!1,Yn=f.SANITIZE_NAMED_PROPS||!1,kr=f.KEEP_CONTENT!==!1,Re=f.IN_PLACE||!1,$=f.ALLOWED_URI_REGEXP||oa,be=f.NAMESPACE||Pt,q=f.CUSTOM_ELEMENT_HANDLING||{},f.CUSTOM_ELEMENT_HANDLING&&Zn(f.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(q.tagNameCheck=f.CUSTOM_ELEMENT_HANDLING.tagNameCheck),f.CUSTOM_ELEMENT_HANDLING&&Zn(f.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(q.attributeNameCheck=f.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),f.CUSTOM_ELEMENT_HANDLING&&typeof f.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(q.allowCustomizedBuiltInElements=f.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),lt&&(Rt=!1),ui&&(_e=!0),ye&&(w=R({},[...$o]),N=[],ye.html===!0&&(R(w,Io),R(N,Do)),ye.svg===!0&&(R(w,Dr),R(N,Pr),R(N,xi)),ye.svgFilters===!0&&(R(w,Nr),R(N,Pr),R(N,xi)),ye.mathMl===!0&&(R(w,Rr),R(N,No),R(N,xi))),f.ADD_TAGS&&(w===H&&(w=Te(w)),R(w,f.ADD_TAGS,it)),f.ADD_ATTR&&(N===J&&(N=Te(N)),R(N,f.ADD_ATTR,it)),f.ADD_URI_SAFE_ATTR&&R(Sr,f.ADD_URI_SAFE_ATTR,it),f.FORBID_CONTENTS&&(Ce===Vn&&(Ce=Te(Ce)),R(Ce,f.FORBID_CONTENTS,it)),kr&&(w["#text"]=!0),mt&&R(w,["html","head","body"]),w.table&&(R(w,["tbody"]),delete et.tbody),f.TRUSTED_TYPES_POLICY){if(typeof f.TRUSTED_TYPES_POLICY.createHTML!="function")throw ze('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof f.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw ze('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');P=f.TRUSTED_TYPES_POLICY,X=P.createHTML("")}else P===void 0&&(P=Bd(p,r)),P!==null&&typeof X=="string"&&(X=P.createHTML(""));ut&&ut(f),xe=f}},Jn=R({},["mi","mo","mn","ms","mtext"]),Qn=R({},["foreignobject","desc","title","annotation-xml"]),jl=R({},["title","style","font","a","script"]),gi=R({},Dr);R(gi,Nr),R(gi,_d);const Lr=R({},Rr);R(Lr,yd);const Ul=function(f){let _=b(f);(!_||!_.tagName)&&(_={namespaceURI:be,tagName:"template"});const v=Li(f.tagName),j=Li(_.tagName);return Br[f.namespaceURI]?f.namespaceURI===pi?_.namespaceURI===Pt?v==="svg":_.namespaceURI===di?v==="svg"&&(j==="annotation-xml"||Jn[j]):!!gi[v]:f.namespaceURI===di?_.namespaceURI===Pt?v==="math":_.namespaceURI===pi?v==="math"&&Qn[j]:!!Lr[v]:f.namespaceURI===Pt?_.namespaceURI===pi&&!Qn[j]||_.namespaceURI===di&&!Jn[j]?!1:!Lr[v]&&(jl[v]||!gi[v]):!!(ne==="application/xhtml+xml"&&Br[f.namespaceURI]):!1},oe=function(f){qe(e.removed,{element:f});try{f.parentNode.removeChild(f)}catch{f.remove()}},Ar=function(f,_){try{qe(e.removed,{attribute:_.getAttributeNode(f),from:_})}catch{qe(e.removed,{attribute:null,from:_})}if(_.removeAttribute(f),f==="is"&&!N[f])if(_e||ui)try{oe(_)}catch{}else try{_.setAttribute(f,"")}catch{}},to=function(f){let _,v;if(vr)f=""+f;else{const Ct=dd(f,/^[\r\n\t ]+/);v=Ct&&Ct[0]}ne==="application/xhtml+xml"&&be===Pt&&(f=''+f+"");const j=P?P.createHTML(f):f;if(be===Pt)try{_=new g().parseFromString(j,ne)}catch{}if(!_||!_.documentElement){_=U.createDocument(be,"template",null);try{_.documentElement.innerHTML=wr?X:j}catch{}}const rt=_.body||_.documentElement;return f&&v&&rt.insertBefore(n.createTextNode(v),rt.childNodes[0]||null),be===Pt?Gt.call(_,mt?"html":"body")[0]:mt?_.documentElement:rt},eo=function(f){return V.call(f.ownerDocument||f,f,h.SHOW_ELEMENT|h.SHOW_COMMENT|h.SHOW_TEXT,null,!1)},Yl=function(f){return f instanceof u&&(typeof f.nodeName!="string"||typeof f.textContent!="string"||typeof f.removeChild!="function"||!(f.attributes instanceof c)||typeof f.removeAttribute!="function"||typeof f.setAttribute!="function"||typeof f.namespaceURI!="string"||typeof f.insertBefore!="function"||typeof f.hasChildNodes!="function")},mi=function(f){return typeof a=="object"?f instanceof a:f&&typeof f=="object"&&typeof f.nodeType=="number"&&typeof f.nodeName=="string"},qt=function(f,_,v){D[f]&&fd(D[f],j=>{j.call(e,_,v,xe)})},io=function(f){let _;if(qt("beforeSanitizeElements",f,null),Yl(f))return oe(f),!0;const v=it(f.nodeName);if(qt("uponSanitizeElement",f,{tagName:v,allowedTags:w}),f.hasChildNodes()&&!mi(f.firstElementChild)&&(!mi(f.content)||!mi(f.content.firstElementChild))&&_t(/<[/\w]/g,f.innerHTML)&&_t(/<[/\w]/g,f.textContent))return oe(f),!0;if(!w[v]||et[v]){if(!et[v]&&no(v)&&(q.tagNameCheck instanceof RegExp&&_t(q.tagNameCheck,v)||q.tagNameCheck instanceof Function&&q.tagNameCheck(v)))return!1;if(kr&&!Ce[v]){const j=b(f)||f.parentNode,rt=z(f)||f.childNodes;if(rt&&j){const Ct=rt.length;for(let G=Ct-1;G>=0;--G)j.insertBefore(k(rt[G],!0),M(f))}}return oe(f),!0}return f instanceof l&&!Ul(f)||(v==="noscript"||v==="noembed"||v==="noframes")&&_t(/<\/no(script|embed|frames)/i,f.innerHTML)?(oe(f),!0):(lt&&f.nodeType===3&&(_=f.textContent,_=vt(_,Ft," "),_=vt(_,Xt," "),_=vt(_,O," "),f.textContent!==_&&(qe(e.removed,{element:f.cloneNode()}),f.textContent=_)),qt("afterSanitizeElements",f,null),!1)},ro=function(f,_,v){if(Un&&(_==="id"||_==="name")&&(v in n||v in Hl))return!1;if(!(Rt&&!Lt[_]&&_t(x,_))){if(!(At&&_t(T,_))){if(!N[_]||Lt[_]){if(!(no(f)&&(q.tagNameCheck instanceof RegExp&&_t(q.tagNameCheck,f)||q.tagNameCheck instanceof Function&&q.tagNameCheck(f))&&(q.attributeNameCheck instanceof RegExp&&_t(q.attributeNameCheck,_)||q.attributeNameCheck instanceof Function&&q.attributeNameCheck(_))||_==="is"&&q.allowCustomizedBuiltInElements&&(q.tagNameCheck instanceof RegExp&&_t(q.tagNameCheck,v)||q.tagNameCheck instanceof Function&&q.tagNameCheck(v))))return!1}else if(!Sr[_]){if(!_t($,vt(v,y,""))){if(!((_==="src"||_==="xlink:href"||_==="href")&&f!=="script"&&pd(v,"data:")===0&&Gn[f])){if(!(Et&&!_t(B,vt(v,y,"")))){if(v)return!1}}}}}}return!0},no=function(f){return f.indexOf("-")>0},oo=function(f){let _,v,j,rt;qt("beforeSanitizeAttributes",f,null);const{attributes:Ct}=f;if(!Ct)return;const G={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:N};for(rt=Ct.length;rt--;){_=Ct[rt];const{name:Mt,namespaceURI:Er}=_;if(v=Mt==="value"?_.value:gd(_.value),j=it(Mt),G.attrName=j,G.attrValue=v,G.keepAttr=!0,G.forceKeepAttr=void 0,qt("uponSanitizeAttribute",f,G),v=G.attrValue,G.forceKeepAttr||(Ar(Mt,f),!G.keepAttr))continue;if(!nt&&_t(/\/>/i,v)){Ar(Mt,f);continue}lt&&(v=vt(v,Ft," "),v=vt(v,Xt," "),v=vt(v,O," "));const so=it(f.nodeName);if(ro(so,j,v)){if(Yn&&(j==="id"||j==="name")&&(Ar(Mt,f),v=Pl+v),P&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!Er)switch(p.getAttributeType(so,j)){case"TrustedHTML":{v=P.createHTML(v);break}case"TrustedScriptURL":{v=P.createScriptURL(v);break}}try{Er?f.setAttributeNS(Er,Mt,v):f.setAttribute(Mt,v),Oo(e.removed)}catch{}}}qt("afterSanitizeAttributes",f,null)},Vl=function F(f){let _;const v=eo(f);for(qt("beforeSanitizeShadowDOM",f,null);_=v.nextNode();)qt("uponSanitizeShadowNode",_,null),!io(_)&&(_.content instanceof o&&F(_.content),oo(_));qt("afterSanitizeShadowDOM",f,null)};return e.sanitize=function(F){let f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},_,v,j,rt;if(wr=!F,wr&&(F=""),typeof F!="string"&&!mi(F))if(typeof F.toString=="function"){if(F=F.toString(),typeof F!="string")throw ze("dirty is not a string, aborting")}else throw ze("toString is not a function");if(!e.isSupported)return F;if(Kt||Fr(f),e.removed=[],typeof F=="string"&&(Re=!1),Re){if(F.nodeName){const Mt=it(F.nodeName);if(!w[Mt]||et[Mt])throw ze("root node is forbidden and cannot be sanitized in-place")}}else if(F instanceof a)_=to(""),v=_.ownerDocument.importNode(F,!0),v.nodeType===1&&v.nodeName==="BODY"||v.nodeName==="HTML"?_=v:_.appendChild(v);else{if(!_e&&!lt&&!mt&&F.indexOf("<")===-1)return P&&fi?P.createHTML(F):F;if(_=to(F),!_)return _e?null:fi?X:""}_&&vr&&oe(_.firstChild);const Ct=eo(Re?F:_);for(;j=Ct.nextNode();)io(j)||(j.content instanceof o&&Vl(j.content),oo(j));if(Re)return F;if(_e){if(ui)for(rt=W.call(_.ownerDocument);_.firstChild;)rt.appendChild(_.firstChild);else rt=_;return(N.shadowroot||N.shadowrootmode)&&(rt=K.call(i,rt,!0)),rt}let G=mt?_.outerHTML:_.innerHTML;return mt&&w["!doctype"]&&_.ownerDocument&&_.ownerDocument.doctype&&_.ownerDocument.doctype.name&&_t(sa,_.ownerDocument.doctype.name)&&(G=" -`+G),lt&&(G=vt(G,Ft," "),G=vt(G,Xt," "),G=vt(G,O," ")),P&&fi?P.createHTML(G):G},e.setConfig=function(F){Fr(F),Kt=!0},e.clearConfig=function(){xe=null,Kt=!1},e.isValidAttribute=function(F,f,_){xe||Fr({});const v=it(F),j=it(f);return ro(v,j,_)},e.addHook=function(F,f){typeof f=="function"&&(D[F]=D[F]||[],qe(D[F],f))},e.removeHook=function(F){if(D[F])return Oo(D[F])},e.removeHooks=function(F){D[F]&&(D[F]=[])},e.removeAllHooks=function(){D={}},e}var Gi=aa();const Ai={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:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,i)=>(i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+(e-t)*6*i:i<1/2?e:i<2/3?t+(e-t)*(2/3-i)*6:t),hsl2rgb:({h:t,s:e,l:i},r)=>{if(!e)return i*2.55;t/=360,e/=100,i/=100;const n=i<.5?i*(1+e):i+e-i*e,o=2*i-n;switch(r){case"r":return Ai.hue2rgb(o,n,t+1/3)*255;case"g":return Ai.hue2rgb(o,n,t)*255;case"b":return Ai.hue2rgb(o,n,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:i},r)=>{t/=255,e/=255,i/=255;const n=Math.max(t,e,i),o=Math.min(t,e,i),s=(n+o)/2;if(r==="l")return s*100;if(n===o)return 0;const a=n-o,l=s>.5?a/(2-n-o):a/(n+o);if(r==="s")return l*100;switch(n){case t:return((e-i)/a+(ee>i?Math.min(e,Math.max(i,t)):Math.min(i,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},Ad=Ld,Ed={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},Md=Ed,Od={channel:Fd,lang:Ad,unit:Md},I=Od,Jt={};for(let t=0;t<=255;t++)Jt[t]=I.unit.dec2hex(t);const ot={ALL:0,RGB:1,HSL:2};class Id{constructor(){this.type=ot.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=ot.ALL}is(e){return this.type===e}}const $d=Id;class Dd{constructor(e,i){this.color=i,this.changed=!1,this.data=e,this.type=new $d}set(e,i){return this.color=i,this.changed=!1,this.data=e,this.type.type=ot.ALL,this}_ensureHSL(){const e=this.data,{h:i,s:r,l:n}=e;i===void 0&&(e.h=I.channel.rgb2hsl(e,"h")),r===void 0&&(e.s=I.channel.rgb2hsl(e,"s")),n===void 0&&(e.l=I.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r:i,g:r,b:n}=e;i===void 0&&(e.r=I.channel.hsl2rgb(e,"r")),r===void 0&&(e.g=I.channel.hsl2rgb(e,"g")),n===void 0&&(e.b=I.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,i=e.r;return!this.type.is(ot.HSL)&&i!==void 0?i:(this._ensureHSL(),I.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,i=e.g;return!this.type.is(ot.HSL)&&i!==void 0?i:(this._ensureHSL(),I.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,i=e.b;return!this.type.is(ot.HSL)&&i!==void 0?i:(this._ensureHSL(),I.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,i=e.h;return!this.type.is(ot.RGB)&&i!==void 0?i:(this._ensureRGB(),I.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,i=e.s;return!this.type.is(ot.RGB)&&i!==void 0?i:(this._ensureRGB(),I.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,i=e.l;return!this.type.is(ot.RGB)&&i!==void 0?i:(this._ensureRGB(),I.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(ot.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(ot.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(ot.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(ot.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(ot.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(ot.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const Nd=Dd,Rd=new Nd({r:0,g:0,b:0,a:0},"transparent"),ur=Rd,la={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(la.re);if(!e)return;const i=e[1],r=parseInt(i,16),n=i.length,o=n%4===0,s=n>4,a=s?1:17,l=s?8:4,h=o?0:-1,c=s?255:15;return ur.set({r:(r>>l*(h+3)&c)*a,g:(r>>l*(h+2)&c)*a,b:(r>>l*(h+1)&c)*a,a:o?(r&c)*a/255:1},t)},stringify:t=>{const{r:e,g:i,b:r,a:n}=t;return n<1?`#${Jt[Math.round(e)]}${Jt[Math.round(i)]}${Jt[Math.round(r)]}${Jt[Math.round(n*255)]}`:`#${Jt[Math.round(e)]}${Jt[Math.round(i)]}${Jt[Math.round(r)]}`}},Ye=la,Ei={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:t=>{const e=t.match(Ei.hueRe);if(e){const[,i,r]=e;switch(r){case"grad":return I.channel.clamp.h(parseFloat(i)*.9);case"rad":return I.channel.clamp.h(parseFloat(i)*180/Math.PI);case"turn":return I.channel.clamp.h(parseFloat(i)*360)}}return I.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const i=t.match(Ei.re);if(!i)return;const[,r,n,o,s,a]=i;return ur.set({h:Ei._hue2deg(r),s:I.channel.clamp.s(parseFloat(n)),l:I.channel.clamp.l(parseFloat(o)),a:s?I.channel.clamp.a(a?parseFloat(s)/100:parseFloat(s)):1},t)},stringify:t=>{const{h:e,s:i,l:r,a:n}=t;return n<1?`hsla(${I.lang.round(e)}, ${I.lang.round(i)}%, ${I.lang.round(r)}%, ${n})`:`hsl(${I.lang.round(e)}, ${I.lang.round(i)}%, ${I.lang.round(r)}%)`}},Ti=Ei,Mi={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:t=>{t=t.toLowerCase();const e=Mi.colors[t];if(e)return Ye.parse(e)},stringify:t=>{const e=Ye.stringify(t);for(const i in Mi.colors)if(Mi.colors[i]===e)return i}},Po=Mi,ha={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:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const i=t.match(ha.re);if(!i)return;const[,r,n,o,s,a,l,h,c]=i;return ur.set({r:I.channel.clamp.r(n?parseFloat(r)*2.55:parseFloat(r)),g:I.channel.clamp.g(s?parseFloat(o)*2.55:parseFloat(o)),b:I.channel.clamp.b(l?parseFloat(a)*2.55:parseFloat(a)),a:h?I.channel.clamp.a(c?parseFloat(h)/100:parseFloat(h)):1},t)},stringify:t=>{const{r:e,g:i,b:r,a:n}=t;return n<1?`rgba(${I.lang.round(e)}, ${I.lang.round(i)}, ${I.lang.round(r)}, ${I.lang.round(n)})`:`rgb(${I.lang.round(e)}, ${I.lang.round(i)}, ${I.lang.round(r)})`}},vi=ha,Pd={format:{keyword:Po,hex:Ye,rgb:vi,rgba:vi,hsl:Ti,hsla:Ti},parse:t=>{if(typeof t!="string")return t;const e=Ye.parse(t)||vi.parse(t)||Ti.parse(t)||Po.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(ot.HSL)||t.data.r===void 0?Ti.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?vi.stringify(t):Ye.stringify(t)},Dt=Pd,qd=(t,e)=>{const i=Dt.parse(t);for(const r in e)i[r]=I.channel.clamp[r](e[r]);return Dt.stringify(i)},ca=qd,zd=(t,e,i=0,r=1)=>{if(typeof t!="number")return ca(t,{a:e});const n=ur.set({r:I.channel.clamp.r(t),g:I.channel.clamp.g(e),b:I.channel.clamp.b(i),a:I.channel.clamp.a(r)});return Dt.stringify(n)},Ve=zd,Wd=t=>{const{r:e,g:i,b:r}=Dt.parse(t),n=.2126*I.channel.toLinear(e)+.7152*I.channel.toLinear(i)+.0722*I.channel.toLinear(r);return I.lang.round(n)},Hd=Wd,jd=t=>Hd(t)>=.5,Ud=jd,Yd=t=>!Ud(t),li=Yd,Vd=(t,e,i)=>{const r=Dt.parse(t),n=r[e],o=I.channel.clamp[e](n+i);return n!==o&&(r[e]=o),Dt.stringify(r)},ua=Vd,Gd=(t,e)=>ua(t,"l",e),L=Gd,Xd=(t,e)=>ua(t,"l",-e),E=Xd,Kd=(t,e)=>{const i=Dt.parse(t),r={};for(const n in e)e[n]&&(r[n]=i[n]+e[n]);return ca(t,r)},d=Kd,Zd=(t,e,i=50)=>{const{r,g:n,b:o,a:s}=Dt.parse(t),{r:a,g:l,b:h,a:c}=Dt.parse(e),u=i/100,g=u*2-1,p=s-c,k=((g*p===-1?g:(g+p)/(1+g*p))+1)/2,M=1-k,z=r*k+a*M,b=n*k+l*M,P=o*k+h*M,X=s*u+c*(1-u);return Ve(z,b,P,X)},Jd=Zd,Qd=(t,e=100)=>{const i=Dt.parse(t);return i.r=255-i.r,i.g=255-i.g,i.b=255-i.b,Jd(i,t,e)},C=Qd;var tp=typeof global=="object"&&global&&global.Object===Object&&global;const fa=tp;var ep=typeof self=="object"&&self&&self.Object===Object&&self,ip=fa||ep||Function("return this")();const re=ip;var rp=re.Symbol;const Xi=rp;var da=Object.prototype,np=da.hasOwnProperty,op=da.toString,We=Xi?Xi.toStringTag:void 0;function sp(t){var e=np.call(t,We),i=t[We];try{t[We]=void 0;var r=!0}catch{}var n=op.call(t);return r&&(e?t[We]=i:delete t[We]),n}var ap=Object.prototype,lp=ap.toString;function hp(t){return lp.call(t)}var cp="[object Null]",up="[object Undefined]",qo=Xi?Xi.toStringTag:void 0;function hi(t){return t==null?t===void 0?up:cp:qo&&qo in Object(t)?sp(t):hp(t)}function pa(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var fp="[object AsyncFunction]",dp="[object Function]",pp="[object GeneratorFunction]",gp="[object Proxy]";function ga(t){if(!pa(t))return!1;var e=hi(t);return e==dp||e==pp||e==fp||e==gp}var mp=re["__core-js_shared__"];const qr=mp;var zo=function(){var t=/[^.]+$/.exec(qr&&qr.keys&&qr.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function _p(t){return!!zo&&zo in t}var yp=Function.prototype,Cp=yp.toString;function ge(t){if(t!=null){try{return Cp.call(t)}catch{}try{return t+""}catch{}}return""}var bp=/[\\^$.*+?()[\]{}|]/g,xp=/^\[object .+?Constructor\]$/,Tp=Function.prototype,vp=Object.prototype,kp=Tp.toString,Sp=vp.hasOwnProperty,wp=RegExp("^"+kp.call(Sp).replace(bp,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Bp(t){if(!pa(t)||_p(t))return!1;var e=ga(t)?wp:xp;return e.test(ge(t))}function Fp(t,e){return t==null?void 0:t[e]}function $e(t,e){var i=Fp(t,e);return Bp(i)?i:void 0}var Lp=$e(Object,"create");const ti=Lp;function Ap(){this.__data__=ti?ti(null):{},this.size=0}function Ep(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Mp="__lodash_hash_undefined__",Op=Object.prototype,Ip=Op.hasOwnProperty;function $p(t){var e=this.__data__;if(ti){var i=e[t];return i===Mp?void 0:i}return Ip.call(e,t)?e[t]:void 0}var Dp=Object.prototype,Np=Dp.hasOwnProperty;function Rp(t){var e=this.__data__;return ti?e[t]!==void 0:Np.call(e,t)}var Pp="__lodash_hash_undefined__";function qp(t,e){var i=this.__data__;return this.size+=this.has(t)?0:1,i[t]=ti&&e===void 0?Pp:e,this}function de(t){var e=-1,i=t==null?0:t.length;for(this.clear();++e-1}function Gp(t,e){var i=this.__data__,r=fr(i,t);return r<0?(++this.size,i.push([t,e])):i[r][1]=e,this}function De(t){var e=-1,i=t==null?0:t.length;for(this.clear();++e0?ei(Ne,--Tt):0,Ae--,Q===10&&(Ae=1,pr--),Q}function St(){return Q=Tt2||sn(Q)>3?"":" "}function pg(t,e){for(;--e&&St()&&!(Q<48||Q>102||Q>57&&Q<65||Q>70&&Q<97););return gr(t,Ii()+(e<6&&ce()==32&&St()==32))}function an(t){for(;St();)switch(Q){case t:return Tt;case 34:case 39:t!==34&&t!==39&&an(Q);break;case 40:t===41&&an(t);break;case 92:St();break}return Tt}function gg(t,e){for(;St()&&t+Q!==47+10;)if(t+Q===42+42&&ce()===47)break;return"/*"+gr(e,Tt-1)+"*"+Ln(t===47?t:St())}function mg(t){for(;!sn(ce());)St();return gr(t,Tt)}function _g(t){return fg($i("",null,null,null,[""],t=ug(t),0,[0],t))}function $i(t,e,i,r,n,o,s,a,l){for(var h=0,c=0,u=s,g=0,p=0,m=0,k=1,M=1,z=1,b=0,P="",X=n,U=o,V=r,W=P;M;)switch(m=b,b=St()){case 40:if(m!=108&&ei(W,u-1)==58){ag(W+=Oi(zr(b),"&","&\f"),"&\f")!=-1&&(z=-1);break}case 34:case 39:case 91:W+=zr(b);break;case 9:case 10:case 13:case 32:W+=dg(m);break;case 92:W+=pg(Ii()-1,7);continue;case 47:switch(ce()){case 42:case 47:ki(yg(gg(St(),Ii()),e,i,l),l);break;default:W+="/"}break;case 123*k:a[h++]=Ht(W)*z;case 125*k:case 59:case 0:switch(b){case 0:case 125:M=0;case 59+c:z==-1&&(W=Oi(W,/\f/g,"")),p>0&&Ht(W)-u&&ki(p>32?Ho(W+";",r,i,u-1,l):Ho(Oi(W," ","")+";",r,i,u-2,l),l);break;case 59:W+=";";default:if(ki(V=Wo(W,e,i,h,c,n,a,P,X=[],U=[],u,o),o),b===123)if(c===0)$i(W,e,V,V,X,o,u,a,U);else switch(g===99&&ei(W,3)===110?100:g){case 100:case 108:case 109:case 115:$i(t,V,V,r&&ki(Wo(t,V,V,0,0,n,a,P,n,X=[],u,U),U),n,U,u,a,r?X:U);break;default:$i(W,V,V,V,[""],U,0,a,U)}}h=c=p=0,k=z=1,P=W="",u=s;break;case 58:u=1+Ht(W),p=m;default:if(k<1){if(b==123)--k;else if(b==125&&k++==0&&cg()==125)continue}switch(W+=Ln(b),b*k){case 38:z=c>0?1:(W+="\f",-1);break;case 44:a[h++]=(Ht(W)-1)*z,z=1;break;case 64:ce()===45&&(W+=zr(St())),g=ce(),c=u=Ht(P=W+=mg(Ii())),b++;break;case 45:m===45&&Ht(W)==2&&(k=0)}}return o}function Wo(t,e,i,r,n,o,s,a,l,h,c,u){for(var g=n-1,p=n===0?o:[""],m=lg(p),k=0,M=0,z=0;k0?p[b]+" "+P:Oi(P,/&\f/g,p[b])))&&(l[z++]=X);return An(t,e,i,n===0?_a:a,l,h,c,u)}function yg(t,e,i,r){return An(t,e,i,ma,Ln(hg()),ii(t,2,-2),0,r)}function Ho(t,e,i,r,n){return An(t,e,i,ya,ii(t,0,r),ii(t,r+1,-1),r,n)}function ln(t,e){for(var i="",r=0;r-1&&t%1==0&&t<=Ug}function Yg(t){return t!=null&&va(t.length)&&!ga(t)}function Vg(){return!1}var ka=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ko=ka&&typeof module=="object"&&module&&!module.nodeType&&module,Gg=Ko&&Ko.exports===ka,Zo=Gg?re.Buffer:void 0,Xg=Zo?Zo.isBuffer:void 0,Kg=Xg||Vg;const Zg=Kg;var Jg="[object Arguments]",Qg="[object Array]",tm="[object Boolean]",em="[object Date]",im="[object Error]",rm="[object Function]",nm="[object Map]",om="[object Number]",sm="[object Object]",am="[object RegExp]",lm="[object Set]",hm="[object String]",cm="[object WeakMap]",um="[object ArrayBuffer]",fm="[object DataView]",dm="[object Float32Array]",pm="[object Float64Array]",gm="[object Int8Array]",mm="[object Int16Array]",_m="[object Int32Array]",ym="[object Uint8Array]",Cm="[object Uint8ClampedArray]",bm="[object Uint16Array]",xm="[object Uint32Array]",Y={};Y[dm]=Y[pm]=Y[gm]=Y[mm]=Y[_m]=Y[ym]=Y[Cm]=Y[bm]=Y[xm]=!0;Y[Jg]=Y[Qg]=Y[um]=Y[tm]=Y[fm]=Y[em]=Y[im]=Y[rm]=Y[nm]=Y[om]=Y[sm]=Y[am]=Y[lm]=Y[hm]=Y[cm]=!1;function Tm(t){return En(t)&&va(t.length)&&!!Y[hi(t)]}function vm(t){return function(e){return t(e)}}var Sa=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ge=Sa&&typeof module=="object"&&module&&!module.nodeType&&module,km=Ge&&Ge.exports===Sa,Wr=km&&fa.process,Sm=function(){try{var t=Ge&&Ge.require&&Ge.require("util").types;return t||Wr&&Wr.binding&&Wr.binding("util")}catch{}}();const Jo=Sm;var Qo=Jo&&Jo.isTypedArray,wm=Qo?vm(Qo):Tm;const Bm=wm;var Fm="[object Map]",Lm="[object Set]",Am=Object.prototype,Em=Am.hasOwnProperty;function Hr(t){if(t==null)return!0;if(Yg(t)&&(jg(t)||typeof t=="string"||typeof t.splice=="function"||Zg(t)||Bm(t)||Wg(t)))return!t.length;var e=Ng(t);if(e==Fm||e==Lm)return!t.size;if(xa(t))return!wg(t).length;for(var i in t)if(Em.call(t,i))return!1;return!0}const Wt={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},S={trace:(...t)=>{},debug:(...t)=>{},info:(...t)=>{},warn:(...t)=>{},error:(...t)=>{},fatal:(...t)=>{}},Mn=function(t="fatal"){let e=Wt.fatal;typeof t=="string"?(t=t.toLowerCase(),t in Wt&&(e=Wt[t])):typeof t=="number"&&(e=t),S.trace=()=>{},S.debug=()=>{},S.info=()=>{},S.warn=()=>{},S.error=()=>{},S.fatal=()=>{},e<=Wt.fatal&&(S.fatal=console.error?console.error.bind(console,bt("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",bt("FATAL"))),e<=Wt.error&&(S.error=console.error?console.error.bind(console,bt("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",bt("ERROR"))),e<=Wt.warn&&(S.warn=console.warn?console.warn.bind(console,bt("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",bt("WARN"))),e<=Wt.info&&(S.info=console.info?console.info.bind(console,bt("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",bt("INFO"))),e<=Wt.debug&&(S.debug=console.debug?console.debug.bind(console,bt("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",bt("DEBUG"))),e<=Wt.trace&&(S.trace=console.debug?console.debug.bind(console,bt("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",bt("TRACE")))},bt=t=>`%c${_h().format("ss.SSS")} : ${t} : `,mr=//gi,Mm=t=>t?Ba(t).replace(/\\n/g,"#br#").split("#br#"):[""],wa=t=>Gi.sanitize(t),ts=(t,e)=>{var i;if(((i=e.flowchart)==null?void 0:i.htmlLabels)!==!1){const r=e.securityLevel;r==="antiscript"||r==="strict"?t=wa(t):r!=="loose"&&(t=Ba(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=Dm(t))}return t},ri=(t,e)=>t&&(e.dompurifyConfig?t=Gi.sanitize(ts(t,e),e.dompurifyConfig).toString():t=Gi.sanitize(ts(t,e),{FORBID_TAGS:["style"]}).toString(),t),Om=(t,e)=>typeof t=="string"?ri(t,e):t.flat().map(i=>ri(i,e)),Im=t=>mr.test(t),$m=t=>t.split(mr),Dm=t=>t.replace(/#br#/g,"
"),Ba=t=>t.replace(mr,"#br#"),Nm=t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e},Fa=t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),Rm=function(...t){const e=t.filter(i=>!isNaN(i));return Math.max(...e)},Pm=function(...t){const e=t.filter(i=>!isNaN(i));return Math.min(...e)},qm=function(t){let e=t;if(t.split("~").length-1>=2){let i=e;do e=i,i=e.replace(/~([^\s,:;]+)~/,"<$1>");while(i!=e);return qm(i)}else return e},On={getRows:Mm,sanitizeText:ri,sanitizeTextOrArray:Om,hasBreaks:Im,splitBreaks:$m,lineBreakRegex:mr,removeScript:wa,getUrl:Nm,evaluate:Fa,getMax:Rm,getMin:Pm},ct=(t,e)=>e?d(t,{s:-40,l:10}):d(t,{s:-40,l:-10}),_r="#ffffff",yr="#f2f2f2";let zm=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(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||d(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||d(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||ct(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||ct(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||C(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||C(this.tertiaryColor),this.lineColor=this.lineColor||C(this.background),this.arrowheadColor=this.arrowheadColor||C(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?E(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||E(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||C(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||L(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||d(this.primaryColor,{h:30}),this.cScale4=this.cScale4||d(this.primaryColor,{h:60}),this.cScale5=this.cScale5||d(this.primaryColor,{h:90}),this.cScale6=this.cScale6||d(this.primaryColor,{h:120}),this.cScale7=this.cScale7||d(this.primaryColor,{h:150}),this.cScale8=this.cScale8||d(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||d(this.primaryColor,{h:270}),this.cScale10=this.cScale10||d(this.primaryColor,{h:300}),this.cScale11=this.cScale11||d(this.primaryColor,{h:330}),this.darkMode)for(let i=0;i{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const Wm=t=>{const e=new zm;return e.calculate(t),e};let Hm=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=L(this.primaryColor,16),this.tertiaryColor=d(this.primaryColor,{h:-160}),this.primaryBorderColor=C(this.background),this.secondaryBorderColor=ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.tertiaryColor),this.lineColor=C(this.background),this.textColor=C(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=L(C("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=Ve(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=E("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=E(this.sectionBkgColor,10),this.taskBorderColor=Ve(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=Ve(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(){this.secondBkg=L(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=L(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=L(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=d(this.primaryColor,{h:64}),this.fillType3=d(this.secondaryColor,{h:64}),this.fillType4=d(this.primaryColor,{h:-64}),this.fillType5=d(this.secondaryColor,{h:-64}),this.fillType6=d(this.primaryColor,{h:128}),this.fillType7=d(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||d(this.primaryColor,{h:30}),this.cScale4=this.cScale4||d(this.primaryColor,{h:60}),this.cScale5=this.cScale5||d(this.primaryColor,{h:90}),this.cScale6=this.cScale6||d(this.primaryColor,{h:120}),this.cScale7=this.cScale7||d(this.primaryColor,{h:150}),this.cScale8=this.cScale8||d(this.primaryColor,{h:210}),this.cScale9=this.cScale9||d(this.primaryColor,{h:270}),this.cScale10=this.cScale10||d(this.primaryColor,{h:300}),this.cScale11=this.cScale11||d(this.primaryColor,{h:330});for(let e=0;e{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const jm=t=>{const e=new Hm;return e.calculate(t),e};let Um=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=d(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=d(this.primaryColor,{h:-160}),this.primaryBorderColor=ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.tertiaryColor),this.lineColor=C(this.background),this.textColor=C(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=Ve(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(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||d(this.primaryColor,{h:30}),this.cScale4=this.cScale4||d(this.primaryColor,{h:60}),this.cScale5=this.cScale5||d(this.primaryColor,{h:90}),this.cScale6=this.cScale6||d(this.primaryColor,{h:120}),this.cScale7=this.cScale7||d(this.primaryColor,{h:150}),this.cScale8=this.cScale8||d(this.primaryColor,{h:210}),this.cScale9=this.cScale9||d(this.primaryColor,{h:270}),this.cScale10=this.cScale10||d(this.primaryColor,{h:300}),this.cScale11=this.cScale11||d(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||E(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||E(this.tertiaryColor,40);for(let e=0;e{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const Ym=t=>{const e=new Um;return e.calculate(t),e};let Vm=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=L("#cde498",10),this.primaryBorderColor=ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.primaryColor),this.lineColor=C(this.background),this.textColor=C(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(){this.actorBorder=E(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||d(this.primaryColor,{h:30}),this.cScale4=this.cScale4||d(this.primaryColor,{h:60}),this.cScale5=this.cScale5||d(this.primaryColor,{h:90}),this.cScale6=this.cScale6||d(this.primaryColor,{h:120}),this.cScale7=this.cScale7||d(this.primaryColor,{h:150}),this.cScale8=this.cScale8||d(this.primaryColor,{h:210}),this.cScale9=this.cScale9||d(this.primaryColor,{h:270}),this.cScale10=this.cScale10||d(this.primaryColor,{h:300}),this.cScale11=this.cScale11||d(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||E(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||E(this.tertiaryColor,40);for(let e=0;e{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const Gm=t=>{const e=new Vm;return e.calculate(t),e};class Xm{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=L(this.contrast,55),this.background="#ffffff",this.tertiaryColor=d(this.primaryColor,{h:-160}),this.primaryBorderColor=ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.tertiaryColor),this.lineColor=C(this.background),this.textColor=C(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(){this.secondBkg=L(this.contrast,55),this.border2=this.contrast,this.actorBorder=L(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 e=0;e{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}}const Km=t=>{const e=new Xm;return e.calculate(t),e},Ut={base:{getThemeVariables:Wm},dark:{getThemeVariables:jm},default:{getThemeVariables:Ym},forest:{getThemeVariables:Gm},neutral:{getThemeVariables:Km}},Zt={flowchart:{useMaxWidth:!0,titleTopMargin:25,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},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,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"},theme:"default",maxTextSize:5e4,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize"],deterministicIds:!1,fontSize:16},La={...Zt,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:Ut.default.getThemeVariables(),sequence:{...Zt.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:{...Zt.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Zt.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:{...Zt.pie,useWidth:void 0},requirement:{...Zt.requirement,useWidth:void 0},gitGraph:{...Zt.gitGraph,useMaxWidth:!1},sankey:{...Zt.sankey,useMaxWidth:!1}},Aa=(t,e="")=>Object.keys(t).reduce((i,r)=>Array.isArray(t[r])?i:typeof t[r]=="object"&&t[r]!==null?[...i,e+r,...Aa(t[r],"")]:[...i,e+r],[]),Zm=Aa(La,""),Jm=La;/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Ea(t){return typeof t>"u"||t===null}function Qm(t){return typeof t=="object"&&t!==null}function t0(t){return Array.isArray(t)?t:Ea(t)?[]:[t]}function e0(t,e){var i,r,n,o;if(e)for(o=Object.keys(e),i=0,r=o.length;ia&&(o=" ... ",e=r-a+o.length),i-r>a&&(s=" ...",i=r+a-s.length),{str:o+t.slice(e,i).replace(/\t/g,"→")+s,pos:r-e+o.length}}function Ur(t,e){return ht.repeat(" ",e-t.length)+t}function c0(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var i=/\r?\n|\r|\0/g,r=[0],n=[],o,s=-1;o=i.exec(t.buffer);)n.push(o.index),r.push(o.index+o[0].length),t.position<=o.index&&s<0&&(s=r.length-2);s<0&&(s=r.length-1);var a="",l,h,c=Math.min(t.line+e.linesAfter,n.length).toString().length,u=e.maxLength-(e.indent+c+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)h=jr(t.buffer,r[s-l],n[s-l],t.position-(r[s]-r[s-l]),u),a=ht.repeat(" ",e.indent)+Ur((t.line-l+1).toString(),c)+" | "+h.str+` -`+a;for(h=jr(t.buffer,r[s],n[s],t.position,u),a+=ht.repeat(" ",e.indent)+Ur((t.line+1).toString(),c)+" | "+h.str+` -`,a+=ht.repeat("-",e.indent+c+3+h.pos)+`^ -`,l=1;l<=e.linesAfter&&!(s+l>=n.length);l++)h=jr(t.buffer,r[s+l],n[s+l],t.position-(r[s]-r[s+l]),u),a+=ht.repeat(" ",e.indent)+Ur((t.line+l+1).toString(),c)+" | "+h.str+` -`;return a.replace(/\n$/,"")}var u0=c0,f0=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],d0=["scalar","sequence","mapping"];function p0(t){var e={};return t!==null&&Object.keys(t).forEach(function(i){t[i].forEach(function(r){e[String(r)]=i})}),e}function g0(t,e){if(e=e||{},Object.keys(e).forEach(function(i){if(f0.indexOf(i)===-1)throw new jt('Unknown option "'+i+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(i){return i},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=p0(e.styleAliases||null),d0.indexOf(this.kind)===-1)throw new jt('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}var at=g0;function es(t,e){var i=[];return t[e].forEach(function(r){var n=i.length;i.forEach(function(o,s){o.tag===r.tag&&o.kind===r.kind&&o.multi===r.multi&&(n=s)}),i[n]=r}),i}function m0(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,i;function r(n){n.multi?(t.multi[n.kind].push(n),t.multi.fallback.push(n)):t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,i=arguments.length;e=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),D0=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function N0(t){return!(t===null||!D0.test(t)||t[t.length-1]==="_")}function R0(t){var e,i;return e=t.replace(/_/g,"").toLowerCase(),i=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?i===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:i*parseFloat(e,10)}var P0=/^[-+]?[0-9]+e/;function q0(t,e){var i;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(ht.isNegativeZero(t))return"-0.0";return i=t.toString(10),P0.test(i)?i.replace("e",".e"):i}function z0(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||ht.isNegativeZero(t))}var W0=new at("tag:yaml.org,2002:float",{kind:"scalar",resolve:N0,construct:R0,predicate:z0,represent:q0,defaultStyle:"lowercase"}),H0=Oa.extend({implicit:[k0,F0,$0,W0]}),j0=H0,Ia=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),$a=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function U0(t){return t===null?!1:Ia.exec(t)!==null||$a.exec(t)!==null}function Y0(t){var e,i,r,n,o,s,a,l=0,h=null,c,u,g;if(e=Ia.exec(t),e===null&&(e=$a.exec(t)),e===null)throw new Error("Date resolve error");if(i=+e[1],r=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(i,r,n));if(o=+e[4],s=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(c=+e[10],u=+(e[11]||0),h=(c*60+u)*6e4,e[9]==="-"&&(h=-h)),g=new Date(Date.UTC(i,r,n,o,s,a,l)),h&&g.setTime(g.getTime()-h),g}function V0(t){return t.toISOString()}var G0=new at("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:U0,construct:Y0,instanceOf:Date,represent:V0});function X0(t){return t==="<<"||t===null}var K0=new at("tag:yaml.org,2002:merge",{kind:"scalar",resolve:X0}),In=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function Z0(t){if(t===null)return!1;var e,i,r=0,n=t.length,o=In;for(i=0;i64)){if(e<0)return!1;r+=6}return r%8===0}function J0(t){var e,i,r=t.replace(/[\r\n=]/g,""),n=r.length,o=In,s=0,a=[];for(e=0;e>16&255),a.push(s>>8&255),a.push(s&255)),s=s<<6|o.indexOf(r.charAt(e));return i=n%4*6,i===0?(a.push(s>>16&255),a.push(s>>8&255),a.push(s&255)):i===18?(a.push(s>>10&255),a.push(s>>2&255)):i===12&&a.push(s>>4&255),new Uint8Array(a)}function Q0(t){var e="",i=0,r,n,o=t.length,s=In;for(r=0;r>18&63],e+=s[i>>12&63],e+=s[i>>6&63],e+=s[i&63]),i=(i<<8)+t[r];return n=o%3,n===0?(e+=s[i>>18&63],e+=s[i>>12&63],e+=s[i>>6&63],e+=s[i&63]):n===2?(e+=s[i>>10&63],e+=s[i>>4&63],e+=s[i<<2&63],e+=s[64]):n===1&&(e+=s[i>>2&63],e+=s[i<<4&63],e+=s[64],e+=s[64]),e}function t_(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}var e_=new at("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Z0,construct:J0,predicate:t_,represent:Q0}),i_=Object.prototype.hasOwnProperty,r_=Object.prototype.toString;function n_(t){if(t===null)return!0;var e=[],i,r,n,o,s,a=t;for(i=0,r=a.length;i>10)+55296,(t-65536&1023)+56320)}var qa=new Array(256),za=new Array(256);for(var ve=0;ve<256;ve++)qa[ve]=ns(ve)?1:0,za[ve]=ns(ve);function k_(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||g_,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Wa(t,e){var i={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return i.snippet=u0(i),new jt(e,i)}function A(t,e){throw Wa(t,e)}function Qi(t,e){t.onWarning&&t.onWarning.call(null,Wa(t,e))}var os={YAML:function(e,i,r){var n,o,s;e.version!==null&&A(e,"duplication of %YAML directive"),r.length!==1&&A(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(r[0]),n===null&&A(e,"ill-formed argument of the YAML directive"),o=parseInt(n[1],10),s=parseInt(n[2],10),o!==1&&A(e,"unacceptable YAML version of the document"),e.version=r[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&Qi(e,"unsupported YAML version of the document")},TAG:function(e,i,r){var n,o;r.length!==2&&A(e,"TAG directive accepts exactly two arguments"),n=r[0],o=r[1],Ra.test(n)||A(e,"ill-formed tag handle (first argument) of the TAG directive"),ie.call(e.tagMap,n)&&A(e,'there is a previously declared suffix for "'+n+'" tag handle'),Pa.test(o)||A(e,"ill-formed tag prefix (second argument) of the TAG directive");try{o=decodeURIComponent(o)}catch{A(e,"tag prefix is malformed: "+o)}e.tagMap[n]=o}};function te(t,e,i,r){var n,o,s,a;if(e1&&(t.result+=ht.repeat(` -`,e-1))}function S_(t,e,i){var r,n,o,s,a,l,h,c,u=t.kind,g=t.result,p;if(p=t.input.charCodeAt(t.position),pt(p)||ke(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(n=t.input.charCodeAt(t.position+1),pt(n)||i&&ke(n)))return!1;for(t.kind="scalar",t.result="",o=s=t.position,a=!1;p!==0;){if(p===58){if(n=t.input.charCodeAt(t.position+1),pt(n)||i&&ke(n))break}else if(p===35){if(r=t.input.charCodeAt(t.position-1),pt(r))break}else{if(t.position===t.lineStart&&Cr(t)||i&&ke(p))break;if($t(p))if(l=t.line,h=t.lineStart,c=t.lineIndent,tt(t,!1,-1),t.lineIndent>=e){a=!0,p=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=l,t.lineStart=h,t.lineIndent=c;break}}a&&(te(t,o,s,!1),Dn(t,t.line-l),o=s=t.position,a=!1),ue(p)||(s=t.position+1),p=t.input.charCodeAt(++t.position)}return te(t,o,s,!1),t.result?!0:(t.kind=u,t.result=g,!1)}function w_(t,e){var i,r,n;if(i=t.input.charCodeAt(t.position),i!==39)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(i=t.input.charCodeAt(t.position))!==0;)if(i===39)if(te(t,r,t.position,!0),i=t.input.charCodeAt(++t.position),i===39)r=t.position,t.position++,n=t.position;else return!0;else $t(i)?(te(t,r,n,!0),Dn(t,tt(t,!1,e)),r=n=t.position):t.position===t.lineStart&&Cr(t)?A(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);A(t,"unexpected end of the stream within a single quoted scalar")}function B_(t,e){var i,r,n,o,s,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,i=r=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return te(t,i,t.position,!0),t.position++,!0;if(a===92){if(te(t,i,t.position,!0),a=t.input.charCodeAt(++t.position),$t(a))tt(t,!1,e);else if(a<256&&qa[a])t.result+=za[a],t.position++;else if((s=x_(a))>0){for(n=s,o=0;n>0;n--)a=t.input.charCodeAt(++t.position),(s=b_(a))>=0?o=(o<<4)+s:A(t,"expected hexadecimal character");t.result+=v_(o),t.position++}else A(t,"unknown escape sequence");i=r=t.position}else $t(a)?(te(t,i,r,!0),Dn(t,tt(t,!1,e)),i=r=t.position):t.position===t.lineStart&&Cr(t)?A(t,"unexpected end of the document within a double quoted scalar"):(t.position++,r=t.position)}A(t,"unexpected end of the stream within a double quoted scalar")}function F_(t,e){var i=!0,r,n,o,s=t.tag,a,l=t.anchor,h,c,u,g,p,m=Object.create(null),k,M,z,b;if(b=t.input.charCodeAt(t.position),b===91)c=93,p=!1,a=[];else if(b===123)c=125,p=!0,a={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=a),b=t.input.charCodeAt(++t.position);b!==0;){if(tt(t,!0,e),b=t.input.charCodeAt(t.position),b===c)return t.position++,t.tag=s,t.anchor=l,t.kind=p?"mapping":"sequence",t.result=a,!0;i?b===44&&A(t,"expected the node content, but found ','"):A(t,"missed comma between flow collection entries"),M=k=z=null,u=g=!1,b===63&&(h=t.input.charCodeAt(t.position+1),pt(h)&&(u=g=!0,t.position++,tt(t,!0,e))),r=t.line,n=t.lineStart,o=t.position,Ee(t,e,Zi,!1,!0),M=t.tag,k=t.result,tt(t,!0,e),b=t.input.charCodeAt(t.position),(g||t.line===r)&&b===58&&(u=!0,b=t.input.charCodeAt(++t.position),tt(t,!0,e),Ee(t,e,Zi,!1,!0),z=t.result),p?Se(t,a,m,M,k,z,r,n,o):u?a.push(Se(t,null,m,M,k,z,r,n,o)):a.push(k),tt(t,!0,e),b=t.input.charCodeAt(t.position),b===44?(i=!0,b=t.input.charCodeAt(++t.position)):i=!1}A(t,"unexpected end of the stream within a flow collection")}function L_(t,e){var i,r,n=Yr,o=!1,s=!1,a=e,l=0,h=!1,c,u;if(u=t.input.charCodeAt(t.position),u===124)r=!1;else if(u===62)r=!0;else return!1;for(t.kind="scalar",t.result="";u!==0;)if(u=t.input.charCodeAt(++t.position),u===43||u===45)Yr===n?n=u===43?is:m_:A(t,"repeat of a chomping mode identifier");else if((c=T_(u))>=0)c===0?A(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?A(t,"repeat of an indentation width identifier"):(a=e+c-1,s=!0);else break;if(ue(u)){do u=t.input.charCodeAt(++t.position);while(ue(u));if(u===35)do u=t.input.charCodeAt(++t.position);while(!$t(u)&&u!==0)}for(;u!==0;){for($n(t),t.lineIndent=0,u=t.input.charCodeAt(t.position);(!s||t.lineIndenta&&(a=t.lineIndent),$t(u)){l++;continue}if(t.lineIndente)&&l!==0)A(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(M&&(s=t.line,a=t.lineStart,l=t.position),Ee(t,e,Ji,!0,n)&&(M?m=t.result:k=t.result),M||(Se(t,u,g,p,m,k,s,a,l),p=m=k=null),tt(t,!0,-1),b=t.input.charCodeAt(t.position)),(t.line===o||t.lineIndent>e)&&b!==0)A(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),u=0,g=t.implicitTypes.length;u"),t.result!==null&&m.kind!==t.kind&&A(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+m.kind+'", not "'+t.kind+'"'),m.resolve(t.result,t.tag)?(t.result=m.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):A(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||c}function I_(t){var e=t.position,i,r,n,o=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(tt(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(o=!0,s=t.input.charCodeAt(++t.position),i=t.position;s!==0&&!pt(s);)s=t.input.charCodeAt(++t.position);for(r=t.input.slice(i,t.position),n=[],r.length<1&&A(t,"directive name must not be less than one character in length");s!==0;){for(;ue(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!$t(s));break}if($t(s))break;for(i=t.position;s!==0&&!pt(s);)s=t.input.charCodeAt(++t.position);n.push(t.input.slice(i,t.position))}s!==0&&$n(t),ie.call(os,r)?os[r](t,r,n):Qi(t,'unknown document directive "'+r+'"')}if(tt(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,tt(t,!0,-1)):o&&A(t,"directives end mark is expected"),Ee(t,t.lineIndent-1,Ji,!1,!0),tt(t,!0,-1),t.checkLineBreaks&&y_.test(t.input.slice(e,t.position))&&Qi(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Cr(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,tt(t,!0,-1));return}if(t.position"u"&&(i=e,e=null);var r=Ha(t,i);if(typeof e!="function")return r;for(var n=0,o=r.length;npn(t,o,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(o=>{t.includes(o)||t.push(o)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(o=>{typeof e[o]=="object"&&(t[o]===void 0||typeof t[o]=="object")?(t[o]===void 0&&(t[o]=Array.isArray(e[o])?[]:{}),t[o]=pn(t[o],e[o],{depth:r-1,clobber:n})):(n||typeof t[o]!="object"&&typeof e[o]!="object")&&(t[o]=e[o])}),t)},st=pn,oi=Object.freeze(Jm);let ft=st({},oi),Ua,Me=[],Xe=st({},oi);const br=(t,e)=>{let i=st({},t),r={};for(const n of e)Va(n),r=st(r,n);if(i=st(i,r),r.theme&&r.theme in Ut){const n=st({},Ua),o=st(n.themeVariables||{},r.themeVariables);i.theme&&i.theme in Ut&&(i.themeVariables=Ut[i.theme].getThemeVariables(o))}return Xe=i,Xa(Xe),Xe},H_=t=>(ft=st({},oi),ft=st(ft,t),t.theme&&Ut[t.theme]&&(ft.themeVariables=Ut[t.theme].getThemeVariables(t.themeVariables)),br(ft,Me),ft),j_=t=>{Ua=st({},t)},U_=t=>(ft=st(ft,t),br(ft,Me),ft),Ya=()=>st({},ft),Y_=t=>(Xa(t),st(Xe,t),Vt()),Vt=()=>st({},Xe),Va=t=>{["secure",...ft.secure??[]].forEach(e=>{t[e]!==void 0&&(S.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.indexOf("__")===0&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&Va(t[e])})},Ga=t=>{t.fontFamily&&(t.themeVariables?t.themeVariables.fontFamily||(t.themeVariables={fontFamily:t.fontFamily}):t.themeVariables={fontFamily:t.fontFamily}),Me.push(t),br(ft,Me)},tr=(t=ft)=>{Me=[],br(t,Me)},V_={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},ls={},G_=t=>{ls[t]||(S.warn(V_[t]),ls[t]=!0)},Xa=t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&G_("LAZY_LOAD_DEPRECATED")},X_=function(t,e){for(let i of e)t.attr(i[0],i[1])},K_=function(t,e,i){let r=new Map;return i?(r.set("width","100%"),r.set("style",`max-width: ${e}px;`)):(r.set("height",t),r.set("width",e)),r},Z_=function(t,e,i,r){const n=K_(e,i,r);X_(t,n)},J_=function(t,e,i,r){const n=e.node().getBBox(),o=n.width,s=n.height;S.info(`SVG bounds: ${o}x${s}`,n);let a=0,l=0;S.info(`Graph bounds: ${a}x${l}`,t),a=o+i*2,l=s+i*2,S.info(`Calculated bounds: ${a}x${l}`),Z_(e,l,a,r);const h=`${n.x-i} ${n.y-i} ${n.width+2*i} ${n.height+2*i}`;e.attr("viewBox",h)},Di={},Q_=(t,e,i)=>{let r="";return t in Di&&Di[t]?r=Di[t](i):S.warn(`No theme found for ${t}`),` & { - font-family: ${i.fontFamily}; - font-size: ${i.fontSize}; - fill: ${i.textColor} - } - - /* Classes common for multiple diagrams */ - - & .error-icon { - fill: ${i.errorBkgColor}; - } - & .error-text { - fill: ${i.errorTextColor}; - stroke: ${i.errorTextColor}; - } - - & .edge-thickness-normal { - stroke-width: 2px; - } - & .edge-thickness-thick { - stroke-width: 3.5px - } - & .edge-pattern-solid { - stroke-dasharray: 0; - } - - & .edge-pattern-dashed{ - stroke-dasharray: 3; - } - .edge-pattern-dotted { - stroke-dasharray: 2; - } - - & .marker { - fill: ${i.lineColor}; - stroke: ${i.lineColor}; - } - & .marker.cross { - stroke: ${i.lineColor}; - } - - & svg { - font-family: ${i.fontFamily}; - font-size: ${i.fontSize}; - } - - ${r} - - ${e} -`},ty=(t,e)=>{e!==void 0&&(Di[t]=e)},ey=Q_;let Nn="",xr="",Rn="";const Pn=t=>ri(t,Vt()),Ka=function(){Nn="",Rn="",xr=""},Za=function(t){Nn=Pn(t).replace(/^\s+/g,"")},Ja=function(){return Nn||xr},Qa=function(t){Rn=Pn(t).replace(/\n\s+/g,` -`)},tl=function(){return Rn},el=function(t){xr=Pn(t)},il=function(){return xr},iy={getAccTitle:Ja,setAccTitle:Za,getDiagramTitle:il,setDiagramTitle:el,getAccDescription:tl,setAccDescription:Qa,clear:Ka},ry=Object.freeze(Object.defineProperty({__proto__:null,clear:Ka,default:iy,getAccDescription:tl,getAccTitle:Ja,getDiagramTitle:il,setAccDescription:Qa,setAccTitle:Za,setDiagramTitle:el},Symbol.toStringTag,{value:"Module"}));let se={};const rl=function(t,e,i,r){S.debug("parseDirective is being called",e,i,r);try{if(e!==void 0)switch(e=e.trim(),i){case"open_directive":se={};break;case"type_directive":if(!se)throw new Error("currentDirective is undefined");se.type=e.toLowerCase();break;case"arg_directive":if(!se)throw new Error("currentDirective is undefined");se.args=JSON.parse(e);break;case"close_directive":ny(t,se,r),se=void 0;break}}catch(n){S.error(`Error while rendering sequenceDiagram directive: ${e} jison context: ${i}`),S.error(n.message)}},ny=function(t,e,i){switch(S.info(`Directive type=${e.type} with args:`,e.args),e.type){case"init":case"initialize":{["config"].forEach(r=>{e.args[r]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),e.args[i]=e.args[r],delete e.args[r])}),S.info("sanitize in handleDirective",e.args),Ie(e.args),S.info("sanitize in handleDirective (done)",e.args),Ga(e.args);break}case"wrap":case"nowrap":t&&t.setWrap&&t.setWrap(e.type==="wrap");break;case"themeCss":S.warn("themeCss encountered");break;default:S.warn(`Unhandled directive: source: '%%{${e.type}: ${JSON.stringify(e.args?e.args:{})}}%%`,e);break}},oy=S,sy=Mn,nl=Vt,ay=t=>ri(t,nl()),ly=J_,hy=()=>ry,cy=(t,e,i,r)=>rl(t,e,i,r),er={},ir=(t,e,i)=>{if(er[t])throw new Error(`Diagram ${t} already registered.`);er[t]=e,i&&al(t,i),ty(t,e.styles),e.injectUtils&&e.injectUtils(oy,sy,nl,ay,ly,hy(),cy)},qn=t=>{if(t in er)return er[t];throw new Error(`Diagram ${t} not found.`)};class ol extends Error{constructor(e){super(e),this.name="UnknownDiagramError"}}const uy=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,fy=/\s*%%.*\n/gm,Oe={},Tr=function(t,e){t=t.replace(ja,"").replace(uy,"").replace(fy,` -`);for(const[i,{detector:r}]of Object.entries(Oe))if(r(t,e))return i;throw new ol(`No diagram type detected matching given configuration for text: ${t}`)},sl=(...t)=>{for(const{id:e,detector:i,loader:r}of t)al(e,i,r)},dy=async()=>{S.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Oe).map(async([i,{detector:r,loader:n}])=>{if(n)try{qn(i)}catch{try{const{diagram:s,id:a}=await n();ir(a,s,r)}catch(s){throw S.error(`Failed to load external diagram with key ${i}. Removing from detectors.`),delete Oe[i],s}}}))).filter(i=>i.status==="rejected");if(e.length>0){S.error(`Failed to load ${e.length} external diagrams`);for(const i of e)S.error(i);throw new Error(`Failed to load ${e.length} external diagrams`)}},al=(t,e,i)=>{Oe[t]?S.error(`Detector with key ${t} already exists`):Oe[t]={detector:e,loader:i},S.debug(`Detector with key ${t} added${i?" with loader":""}`)},py=t=>Oe[t].loader,gy="​",my={curveBasis:Uf,curveBasisClosed:Yf,curveBasisOpen:Vf,curveBumpX:Hf,curveBumpY:jf,curveBundle:Gf,curveCardinalClosed:Kf,curveCardinalOpen:Zf,curveCardinal:Xf,curveCatmullRomClosed:Qf,curveCatmullRomOpen:td,curveCatmullRom:Jf,curveLinear:Wf,curveLinearClosed:ed,curveMonotoneX:id,curveMonotoneY:rd,curveNatural:nd,curveStep:od,curveStepAfter:ad,curveStepBefore:sd},Vr=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,_y=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,yy=function(t,e){const i=ll(t,/(?:init\b)|(?:initialize\b)/);let r={};if(Array.isArray(i)){const n=i.map(o=>o.args);Ie(n),r=st(r,[...n])}else r=i.args;if(r){let n=Tr(t,e);["config"].forEach(o=>{r[o]!==void 0&&(n==="flowchart-v2"&&(n="flowchart"),r[n]=r[o],delete r[o])})}return r},ll=function(t,e=null){try{const i=new RegExp(`[%]{2}(?![{]${_y.source})(?=[}][%]{2}).* -`,"ig");t=t.trim().replace(i,"").replace(/'/gm,'"'),S.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let r;const n=[];for(;(r=Vr.exec(t))!==null;)if(r.index===Vr.lastIndex&&Vr.lastIndex++,r&&!e||e&&r[1]&&r[1].match(e)||e&&r[2]&&r[2].match(e)){const o=r[1]?r[1]:r[2],s=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;n.push({type:o,args:s})}return n.length===0&&n.push({type:t,args:null}),n.length===1?n[0]:n}catch(i){return S.error(`ERROR: ${i.message} - Unable to parse directive - ${e!==null?" type:"+e:""} based on the text:${t}`),{type:null,args:null}}},Cy=function(t,e){for(const[i,r]of e.entries())if(r.match(t))return i;return-1};function by(t,e){if(!t)return e;const i=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return my[i]||e}function xy(t,e){const i=t.trim();if(i)return e.securityLevel!=="loose"?Cs(i):i}const Ty=(t,...e)=>{const i=t.split("."),r=i.length-1,n=i[r];let o=window;for(let s=0;s{i+=rr(o,e),e=o});let r=i/2,n;return e=void 0,t.forEach(o=>{if(e&&!n){const s=rr(o,e);if(s=1&&(n={x:o.x,y:o.y}),a>0&&a<1&&(n={x:(1-a)*e.x+a*o.x,y:(1-a)*e.y+a*o.y})}}e=o}),n}function ky(t){return t.length===1?t[0]:vy(t)}const Sy=(t,e,i)=>{let r;S.info(`our points ${JSON.stringify(e)}`),e[0]!==i&&(e=e.reverse());let o=25,s;r=void 0,e.forEach(c=>{if(r&&!s){const u=rr(c,r);if(u=1&&(s={x:c.x,y:c.y}),g>0&&g<1&&(s={x:(1-g)*r.x+g*c.x,y:(1-g)*r.y+g*c.y})}}r=c});const a=t?10:5,l=Math.atan2(e[0].y-s.y,e[0].x-s.x),h={x:0,y:0};return h.x=Math.sin(l)*a+(e[0].x+s.x)/2,h.y=-Math.cos(l)*a+(e[0].y+s.y)/2,h};function wy(t,e,i){let r=JSON.parse(JSON.stringify(i)),n;S.info("our points",r),e!=="start_left"&&e!=="start_right"&&(r=r.reverse()),r.forEach(u=>{n=u});let s=25+t,a;n=void 0,r.forEach(u=>{if(n&&!a){const g=rr(u,n);if(g=1&&(a={x:u.x,y:u.y}),p>0&&p<1&&(a={x:(1-p)*n.x+p*u.x,y:(1-p)*n.y+p*u.y})}}n=u});const l=10+t*.5,h=Math.atan2(r[0].y-a.y,r[0].x-a.x),c={x:0,y:0};return c.x=Math.sin(h)*l+(r[0].x+a.x)/2,c.y=-Math.cos(h)*l+(r[0].y+a.y)/2,e==="start_left"&&(c.x=Math.sin(h+Math.PI)*l+(r[0].x+a.x)/2,c.y=-Math.cos(h+Math.PI)*l+(r[0].y+a.y)/2),e==="end_right"&&(c.x=Math.sin(h-Math.PI)*l+(r[0].x+a.x)/2-5,c.y=-Math.cos(h-Math.PI)*l+(r[0].y+a.y)/2-5),e==="end_left"&&(c.x=Math.sin(h)*l+(r[0].x+a.x)/2-5,c.y=-Math.cos(h)*l+(r[0].y+a.y)/2-5),c}function By(t){let e="",i="";for(const r of t)r!==void 0&&(r.startsWith("color:")||r.startsWith("text-align:")?i=i+r+";":e=e+r+";");return{style:e,labelStyle:i}}let hs=0;const Fy=()=>(hs++,"id-"+Math.random().toString(36).substr(2,12)+"-"+hs);function Ly(t){let e="";const i="0123456789abcdef",r=i.length;for(let n=0;nLy(t.length),Ey=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0}},My=function(t,e){const i=e.text.replace(On.lineBreakRegex," "),[,r]=Wn(e.fontSize),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.style("text-anchor",e.anchor),n.style("font-family",e.fontFamily),n.style("font-size",r),n.style("font-weight",e.fontWeight),n.attr("fill",e.fill),e.class!==void 0&&n.attr("class",e.class);const o=n.append("tspan");return o.attr("x",e.x+e.textMargin*2),o.attr("fill",e.fill),o.text(i),n},Oy=ci((t,e,i)=>{if(!t||(i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},i),On.lineBreakRegex.test(t)))return t;const r=t.split(" "),n=[];let o="";return r.forEach((s,a)=>{const l=nr(`${s} `,i),h=nr(o,i);if(l>e){const{hyphenatedStrings:g,remainingWord:p}=Iy(s,e,"-",i);n.push(o,...g),o=p}else h+l>=e?(n.push(o),o=s):o=[o,s].filter(Boolean).join(" ");a+1===r.length&&n.push(o)}),n.filter(s=>s!=="").join(i.joinWith)},(t,e,i)=>`${t}${e}${i.fontSize}${i.fontWeight}${i.fontFamily}${i.joinWith}`),Iy=ci((t,e,i="-",r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);const n=[...t],o=[];let s="";return n.forEach((a,l)=>{const h=`${s}${a}`;if(nr(h,r)>=e){const u=l+1,g=n.length===u,p=`${h}${i}`;o.push(g?h:p),s=""}else s=h}),{hyphenatedStrings:o,remainingWord:s}},(t,e,i="-",r)=>`${t}${e}${i}${r.fontSize}${r.fontWeight}${r.fontFamily}`);function $y(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:15},e),zn(t,e).height}function nr(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e),zn(t,e).width}const zn=ci((t,e)=>{e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e);const{fontSize:i,fontFamily:r,fontWeight:n}=e;if(!t)return{width:0,height:0};const[,o]=Wn(i),s=["sans-serif",r],a=t.split(On.lineBreakRegex),l=[],h=Ot("body");if(!h.remove)return{width:0,height:0,lineHeight:0};const c=h.append("svg");for(const g of s){let p=0;const m={width:0,height:0,lineHeight:0};for(const k of a){const M=Ey();M.text=k||gy;const z=My(c,M).style("font-size",o).style("font-weight",n).style("font-family",g),b=(z._groups||z)[0][0].getBBox();if(b.width===0&&b.height===0)throw new Error("svg element not in render tree");m.width=Math.round(Math.max(m.width,b.width)),p=Math.round(b.height),m.height+=p,m.lineHeight=Math.round(Math.max(m.lineHeight,p))}l.push(m)}c.remove();const u=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[u]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),Dy=class{constructor(e,i){this.deterministic=e,this.seed=i,this.count=i?i.length:0}next(){return this.deterministic?this.count++:Date.now()}};let Si;const Ny=function(t){return Si=Si||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),Si.innerHTML=t,unescape(Si.textContent)},Ie=t=>{if(S.debug("directiveSanitizer called with",t),typeof t=="object"&&(t.length?t.forEach(e=>Ie(e)):Object.keys(t).forEach(e=>{S.debug("Checking key",e),e.startsWith("__")&&(S.debug("sanitize deleting __ option",e),delete t[e]),e.includes("proto")&&(S.debug("sanitize deleting proto option",e),delete t[e]),e.includes("constr")&&(S.debug("sanitize deleting constr option",e),delete t[e]),e.includes("themeCSS")&&(S.debug("sanitizing themeCss option"),t[e]=Ni(t[e])),e.includes("fontFamily")&&(S.debug("sanitizing fontFamily option"),t[e]=Ni(t[e])),e.includes("altFontFamily")&&(S.debug("sanitizing altFontFamily option"),t[e]=Ni(t[e])),Zm.includes(e)?typeof t[e]=="object"&&(S.debug("sanitize deleting object",e),Ie(t[e])):(S.debug("sanitize deleting option",e),delete t[e])})),t.themeVariables){const e=Object.keys(t.themeVariables);for(const i of e){const r=t.themeVariables[i];r&&r.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[i]="")}}S.debug("After sanitization",t)},Ni=t=>{let e=0,i=0;for(const r of t){if(e{if(!r)return;const n=t.node().getBBox();t.append("text").text(r).attr("x",n.x+n.width/2).attr("y",-i).attr("class",e)},Wn=t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t,10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},Ri={assignWithDepth:st,wrapLabel:Oy,calculateTextHeight:$y,calculateTextWidth:nr,calculateTextDimensions:zn,detectInit:yy,detectDirective:ll,isSubstringInArray:Cy,interpolateToCurve:by,calcLabelPosition:ky,calcCardinalityPosition:Sy,calcTerminalLabelPosition:wy,formatUrl:xy,getStylesFromArray:By,generateId:Fy,random:Ay,runFunc:Ty,entityDecode:Ny,initIdGenerator:Dy,directiveSanitizer:Ie,sanitizeCss:Ni,insertTitle:Py,parseFontSize:Wn},cs="10.3.0",cl="c4",qy=t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),zy=async()=>{const{diagram:t}=await Z(()=>import("./chunks/c4Diagram-36d27044.53ba3a19.js"),["assets/chunks/c4Diagram-36d27044.53ba3a19.js","assets/chunks/svgDrawCommon-f26cad39.06b971e6.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:cl,diagram:t}},Wy={id:cl,detector:qy,loader:zy},Hy=Wy,ul="flowchart",jy=(t,e)=>{var i,r;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-wrapper"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:/^\s*graph/.test(t)},Uy=async()=>{const{diagram:t}=await Z(()=>import("./chunks/flowDiagram-698c8d5d.4725ce6f.js"),["assets/chunks/flowDiagram-698c8d5d.4725ce6f.js","assets/chunks/flowDb-8f9fc471.4d6324c9.js","assets/chunks/layout.c9cae6cc.js","assets/chunks/styles-ff678862.2647e455.js","assets/chunks/index-4c4adb72.f92dce56.js","assets/chunks/edges-b00f0ec2.6d3248f9.js","assets/chunks/createText-285e50b4.e45d4ac7.js","assets/chunks/svgDraw-5d8a058e.0c833b4b.js","assets/chunks/line.e2bfcddf.js","assets/chunks/array.9f3ba611.js","assets/chunks/path.53f90ab3.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:ul,diagram:t}},Yy={id:ul,detector:jy,loader:Uy},Vy=Yy,fl="flowchart-v2",Gy=(t,e)=>{var i,r,n;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-d3"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:/^\s*graph/.test(t)&&((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)},Xy=async()=>{const{diagram:t}=await Z(()=>import("./chunks/flowDiagram-v2-d6437390.b0c4797f.js"),["assets/chunks/flowDiagram-v2-d6437390.b0c4797f.js","assets/chunks/flowDb-8f9fc471.4d6324c9.js","assets/chunks/styles-ff678862.2647e455.js","assets/chunks/layout.c9cae6cc.js","assets/chunks/index-4c4adb72.f92dce56.js","assets/chunks/edges-b00f0ec2.6d3248f9.js","assets/chunks/createText-285e50b4.e45d4ac7.js","assets/chunks/svgDraw-5d8a058e.0c833b4b.js","assets/chunks/line.e2bfcddf.js","assets/chunks/array.9f3ba611.js","assets/chunks/path.53f90ab3.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:fl,diagram:t}},Ky={id:fl,detector:Gy,loader:Xy},Zy=Ky,dl="er",Jy=t=>/^\s*erDiagram/.test(t),Qy=async()=>{const{diagram:t}=await Z(()=>import("./chunks/erDiagram-0ccc0425.2901bf77.js"),["assets/chunks/erDiagram-0ccc0425.2901bf77.js","assets/chunks/layout.c9cae6cc.js","assets/chunks/line.e2bfcddf.js","assets/chunks/array.9f3ba611.js","assets/chunks/path.53f90ab3.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:dl,diagram:t}},tC={id:dl,detector:Jy,loader:Qy},eC=tC,pl="gitGraph",iC=t=>/^\s*gitGraph/.test(t),rC=async()=>{const{diagram:t}=await Z(()=>import("./chunks/gitGraphDiagram-a13ae597.f108ebcf.js"),["assets/chunks/gitGraphDiagram-a13ae597.f108ebcf.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:pl,diagram:t}},nC={id:pl,detector:iC,loader:rC},oC=nC,gl="gantt",sC=t=>/^\s*gantt/.test(t),aC=async()=>{const{diagram:t}=await Z(()=>import("./chunks/ganttDiagram-60845bff.5af1063c.js"),["assets/chunks/ganttDiagram-60845bff.5af1063c.js","assets/chunks/linear.f047380f.js","assets/chunks/init.77b53fdd.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:gl,diagram:t}},lC={id:gl,detector:sC,loader:aC},hC=lC,ml="info",cC=t=>/^\s*info/.test(t),uC=async()=>{const{diagram:t}=await Z(()=>import("./chunks/infoDiagram-c976a9ed.da70ea60.js"),["assets/chunks/infoDiagram-c976a9ed.da70ea60.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:ml,diagram:t}},fC={id:ml,detector:cC,loader:uC},_l="pie",dC=t=>/^\s*pie/.test(t),pC=async()=>{const{diagram:t}=await Z(()=>import("./chunks/pieDiagram-5efcb91d.5245cbc3.js"),["assets/chunks/pieDiagram-5efcb91d.5245cbc3.js","assets/chunks/ordinal.b935e931.js","assets/chunks/init.77b53fdd.js","assets/chunks/array.9f3ba611.js","assets/chunks/path.53f90ab3.js","assets/chunks/arc.81630743.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:_l,diagram:t}},gC={id:_l,detector:dC,loader:pC},mC=gC,yl="quadrantChart",_C=t=>/^\s*quadrantChart/.test(t),yC=async()=>{const{diagram:t}=await Z(()=>import("./chunks/quadrantDiagram-559115c7.8782c0f0.js"),["assets/chunks/quadrantDiagram-559115c7.8782c0f0.js","assets/chunks/linear.f047380f.js","assets/chunks/init.77b53fdd.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:yl,diagram:t}},CC={id:yl,detector:_C,loader:yC},bC=CC,Cl="requirement",xC=t=>/^\s*requirement(Diagram)?/.test(t),TC=async()=>{const{diagram:t}=await Z(()=>import("./chunks/requirementDiagram-b2d6a344.b1084e1f.js"),["assets/chunks/requirementDiagram-b2d6a344.b1084e1f.js","assets/chunks/layout.c9cae6cc.js","assets/chunks/line.e2bfcddf.js","assets/chunks/array.9f3ba611.js","assets/chunks/path.53f90ab3.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:Cl,diagram:t}},vC={id:Cl,detector:xC,loader:TC},kC=vC,bl="sequence",SC=t=>/^\s*sequenceDiagram/.test(t),wC=async()=>{const{diagram:t}=await Z(()=>import("./chunks/sequenceDiagram-583eee82.fdfd8ce2.js"),["assets/chunks/sequenceDiagram-583eee82.fdfd8ce2.js","assets/chunks/svgDrawCommon-f26cad39.06b971e6.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:bl,diagram:t}},BC={id:bl,detector:SC,loader:wC},FC=BC,xl="class",LC=(t,e)=>{var i;return((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t)},AC=async()=>{const{diagram:t}=await Z(()=>import("./chunks/classDiagram-5e843ae7.b7fb3860.js"),["assets/chunks/classDiagram-5e843ae7.b7fb3860.js","assets/chunks/styles-88ad4441.77dd9b47.js","assets/chunks/layout.c9cae6cc.js","assets/chunks/svgDraw-5d8a058e.0c833b4b.js","assets/chunks/line.e2bfcddf.js","assets/chunks/array.9f3ba611.js","assets/chunks/path.53f90ab3.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:xl,diagram:t}},EC={id:xl,detector:LC,loader:AC},MC=EC,Tl="classDiagram",OC=(t,e)=>{var i;return/^\s*classDiagram/.test(t)&&((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t)},IC=async()=>{const{diagram:t}=await Z(()=>import("./chunks/classDiagram-v2-8c3b3e6a.65ac4ce1.js"),["assets/chunks/classDiagram-v2-8c3b3e6a.65ac4ce1.js","assets/chunks/styles-88ad4441.77dd9b47.js","assets/chunks/layout.c9cae6cc.js","assets/chunks/index-4c4adb72.f92dce56.js","assets/chunks/edges-b00f0ec2.6d3248f9.js","assets/chunks/createText-285e50b4.e45d4ac7.js","assets/chunks/svgDraw-5d8a058e.0c833b4b.js","assets/chunks/line.e2bfcddf.js","assets/chunks/array.9f3ba611.js","assets/chunks/path.53f90ab3.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:Tl,diagram:t}},$C={id:Tl,detector:OC,loader:IC},DC=$C,vl="state",NC=(t,e)=>{var i;return((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t)},RC=async()=>{const{diagram:t}=await Z(()=>import("./chunks/stateDiagram-b1c07dc6.b4bbe013.js"),["assets/chunks/stateDiagram-b1c07dc6.b4bbe013.js","assets/chunks/styles-f626f8de.93151a23.js","assets/chunks/layout.c9cae6cc.js","assets/chunks/line.e2bfcddf.js","assets/chunks/array.9f3ba611.js","assets/chunks/path.53f90ab3.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:vl,diagram:t}},PC={id:vl,detector:NC,loader:RC},qC=PC,kl="stateDiagram",zC=(t,e)=>{var i;return!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper")},WC=async()=>{const{diagram:t}=await Z(()=>import("./chunks/stateDiagram-v2-7c93469e.830525d1.js"),["assets/chunks/stateDiagram-v2-7c93469e.830525d1.js","assets/chunks/styles-f626f8de.93151a23.js","assets/chunks/layout.c9cae6cc.js","assets/chunks/index-4c4adb72.f92dce56.js","assets/chunks/edges-b00f0ec2.6d3248f9.js","assets/chunks/createText-285e50b4.e45d4ac7.js","assets/chunks/svgDraw-5d8a058e.0c833b4b.js","assets/chunks/line.e2bfcddf.js","assets/chunks/array.9f3ba611.js","assets/chunks/path.53f90ab3.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:kl,diagram:t}},HC={id:kl,detector:zC,loader:WC},jC=HC,Sl="journey",UC=t=>/^\s*journey/.test(t),YC=async()=>{const{diagram:t}=await Z(()=>import("./chunks/journeyDiagram-5120ee2f.8ea8f3d3.js"),["assets/chunks/journeyDiagram-5120ee2f.8ea8f3d3.js","assets/chunks/svgDrawCommon-f26cad39.06b971e6.js","assets/chunks/arc.81630743.js","assets/chunks/path.53f90ab3.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:Sl,diagram:t}},VC={id:Sl,detector:UC,loader:YC},GC=VC,XC=()=>"",KC=XC,ZC=function(){},JC=(t,e,i)=>{try{S.debug(`Renering svg for syntax error -`);const r=Ot("#"+e),n=r.append("g");n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+i),r.attr("height",100),r.attr("width",500),r.attr("viewBox","768 0 912 512")}catch(r){S.error("Error while rendering info diagram"),S.error(Ry(r))}},wl={setConf:ZC,draw:JC},QC={db:{clear:()=>{}},styles:KC,renderer:wl,parser:{parser:{yy:{}},parse:()=>{}},init:()=>{}},tb=QC,Bl="flowchart-elk",eb=(t,e)=>{var i;return!!(/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="elk")},ib=async()=>{const{diagram:t}=await Z(()=>import("./chunks/flowchart-elk-definition-6f4e6aa0.890be435.js"),["assets/chunks/flowchart-elk-definition-6f4e6aa0.890be435.js","assets/chunks/flowDb-8f9fc471.4d6324c9.js","assets/chunks/edges-b00f0ec2.6d3248f9.js","assets/chunks/createText-285e50b4.e45d4ac7.js","assets/chunks/svgDraw-5d8a058e.0c833b4b.js","assets/chunks/line.e2bfcddf.js","assets/chunks/array.9f3ba611.js","assets/chunks/path.53f90ab3.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:Bl,diagram:t}},rb={id:Bl,detector:eb,loader:ib},nb=rb,Fl="timeline",ob=t=>/^\s*timeline/.test(t),sb=async()=>{const{diagram:t}=await Z(()=>import("./chunks/timeline-definition-491ea63c.466d23d2.js"),["assets/chunks/timeline-definition-491ea63c.466d23d2.js","assets/chunks/arc.81630743.js","assets/chunks/path.53f90ab3.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:Fl,diagram:t}},ab={id:Fl,detector:ob,loader:sb},lb=ab,Ll="mindmap",hb=t=>/^\s*mindmap/.test(t),cb=async()=>{const{diagram:t}=await Z(()=>import("./chunks/mindmap-definition-0ab67801.869d5949.js"),["assets/chunks/mindmap-definition-0ab67801.869d5949.js","assets/chunks/createText-285e50b4.e45d4ac7.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:Ll,diagram:t}},ub={id:Ll,detector:hb,loader:cb},fb=ub,Al="sankey",db=t=>/^\s*sankey-beta/.test(t),pb=async()=>{const{diagram:t}=await Z(()=>import("./chunks/sankeyDiagram-e679478d.dd3ce1d3.js"),["assets/chunks/sankeyDiagram-e679478d.dd3ce1d3.js","assets/chunks/ordinal.b935e931.js","assets/chunks/init.77b53fdd.js","assets/chunks/framework.8df7efef.js","assets/chunks/theme.c87e84a0.js"]);return{id:Al,diagram:t}},gb={id:Al,detector:db,loader:pb},mb=gb;let us=!1;const Hn=()=>{us||(us=!0,ir("error",tb,t=>t.toLowerCase().trim()==="error"),ir("---",{db:{clear:()=>{}},styles:{},renderer:{},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},t=>t.toLowerCase().trimStart().startsWith("---")),sl(Hy,DC,MC,eC,hC,fC,mC,kC,FC,nb,Zy,Vy,fb,lb,oC,jC,qC,GC,bC,mb))},_b=t=>t.trimStart().replace(/^\s*%%(?!{)[^\n]+\n?/gm,"");class El{constructor(e){var i,r;this.text=e,this.type="graph",this.text+=` -`;const n=Vt();try{this.type=Tr(e,n)}catch(a){this.type="error",this.detectError=a}const o=qn(this.type);S.debug("Type "+this.type),this.db=o.db,(r=(i=this.db).clear)==null||r.call(i),this.renderer=o.renderer,this.parser=o.parser;const s=this.parser.parse.bind(this.parser);this.parser.parse=a=>s(_b(W_(a,this.db))),this.parser.parser.yy=this.db,o.init&&(o.init(n),S.info("Initialized diagram "+this.type,n)),this.parse()}parse(){var e,i;if(this.detectError)throw this.detectError;(i=(e=this.db).clear)==null||i.call(e),this.parser.parse(this.text)}async render(e,i){await this.renderer.draw(this.text,e,i,this)}getParser(){return this.parser}getType(){return this.type}}const jn=async t=>{const e=Tr(t,Vt());try{qn(e)}catch{const r=py(e);if(!r)throw new ol(`Diagram ${e} not found.`);const{id:n,diagram:o}=await r();ir(n,o)}return new El(t)};let gn=[];const F1=t=>{gn.push(t)},yb=()=>{gn.forEach(t=>{t()}),gn=[]},Cb="graphics-document document";function bb(t,e){t.attr("role",Cb),e!==""&&t.attr("aria-roledescription",e)}function xb(t,e,i,r){if(t.insert!==void 0){if(i){const n=`chart-desc-${r}`;t.attr("aria-describedby",n),t.insert("desc",":first-child").attr("id",n).text(i)}if(e){const n=`chart-title-${r}`;t.attr("aria-labelledby",n),t.insert("title",":first-child").attr("id",n).text(e)}}}const Ml=["graph","flowchart","flowchart-v2","flowchart-elk","stateDiagram","stateDiagram-v2"],Tb=5e4,vb="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",kb="sandbox",Sb="loose",wb="http://www.w3.org/2000/svg",Bb="http://www.w3.org/1999/xlink",Fb="http://www.w3.org/1999/xhtml",Lb="100%",Ab="100%",Eb="border:0;margin:0;",Mb="margin:0",Ob="allow-top-navigation-by-user-activation allow-popups",Ib='The "iframe" tag is not supported by your browser.',$b=["foreignobject"],Db=["dominant-baseline"];async function Nb(t,e){Hn();try{(await jn(t)).parse()}catch(i){if(e!=null&&e.suppressErrors)return!1;throw i}return!0}const Rb=function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(i){return i.substring(0,i.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(i){return i.substring(0,i.length-1)}),e=e.replace(/#\w+;/g,function(i){const r=i.substring(1,i.length-1);return/^\+?\d+$/.test(r)?"fl°°"+r+"¶ß":"fl°"+r+"¶ß"}),e},Pb=function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},fs=(t,e,i=[])=>` -.${t} ${e} { ${i.join(" !important; ")} !important; }`,qb=(t,e,i={})=>{var r;let n="";if(t.themeCSS!==void 0&&(n+=` -${t.themeCSS}`),t.fontFamily!==void 0&&(n+=` -:root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(n+=` -:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),!Hr(i)&&Ml.includes(e)){const l=t.htmlLabels||((r=t.flowchart)==null?void 0:r.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const h in i){const c=i[h];Hr(c.styles)||l.forEach(u=>{n+=fs(c.id,u,c.styles)}),Hr(c.textStyles)||(n+=fs(c.id,"tspan",c.textStyles))}}return n},zb=(t,e,i,r)=>{const n=qb(t,e,i),o=ey(e,n,t.themeVariables);return ln(_g(`${r}{${o}}`),Cg)},Wb=(t="",e,i)=>{let r=t;return!i&&!e&&(r=r.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),r=Pb(r),r=r.replace(/
/g,"
"),r},Hb=(t="",e)=>{const i=e?e.viewBox.baseVal.height+"px":Ab,r=btoa(''+t+"");return``},ds=(t,e,i,r,n)=>{const o=t.append("div");o.attr("id",i),r&&o.attr("style",r);const s=o.append("svg").attr("id",e).attr("width","100%").attr("xmlns",wb);return n&&s.attr("xmlns:xlink",n),s.append("g"),t};function ps(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const jb=(t,e,i,r)=>{var n,o,s;(n=t.getElementById(e))==null||n.remove(),(o=t.getElementById(i))==null||o.remove(),(s=t.getElementById(r))==null||s.remove()},Ub=async function(t,e,i){var r,n,o,s;Hn(),tr();const a=Ri.detectInit(e);a&&(Ie(a),Ga(a));const l=Vt();S.debug(l),e.length>((l==null?void 0:l.maxTextSize)??Tb)&&(e=vb),e=e.replace(/\r\n?/g,` -`),e=e.replace(/<(\w+)([^>]*)>/g,(y,$,w)=>"<"+$+w.replace(/="([^"]*)"/g,"='$1'")+">");const h="#"+t,c="i"+t,u="#"+c,g="d"+t,p="#"+g;let m=Ot("body");const k=l.securityLevel===kb,M=l.securityLevel===Sb,z=l.fontFamily;if(i!==void 0){if(i&&(i.innerHTML=""),k){const y=ps(Ot(i),c);m=Ot(y.nodes()[0].contentDocument.body),m.node().style.margin=0}else m=Ot(i);ds(m,t,g,`font-family: ${z}`,Bb)}else{if(jb(document,t,g,c),k){const y=ps(Ot("body"),c);m=Ot(y.nodes()[0].contentDocument.body),m.node().style.margin=0}else m=Ot("body");ds(m,t,g)}e=Rb(e);let b,P;try{b=await jn(e)}catch(y){b=new El("error"),P=y}const X=m.select(p).node(),U=b.type,V=X.firstChild,W=V.firstChild,Gt=Ml.includes(U)?b.renderer.getClasses(e,b):{},K=zb(l,U,Gt,h),D=document.createElement("style");D.innerHTML=K,V.insertBefore(D,W);try{await b.renderer.draw(e,t,cs,b)}catch(y){throw wl.draw(e,t,cs),y}const Ft=m.select(`${p} svg`),Xt=(n=(r=b.db).getAccTitle)==null?void 0:n.call(r),O=(s=(o=b.db).getAccDescription)==null?void 0:s.call(o);Vb(U,Ft,Xt,O),m.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",Fb);let x=m.select(p).node().innerHTML;if(S.debug("config.arrowMarkerAbsolute",l.arrowMarkerAbsolute),x=Wb(x,k,Fa(l.arrowMarkerAbsolute)),k){const y=m.select(p+" svg").node();x=Hb(x,y)}else M||(x=Gi.sanitize(x,{ADD_TAGS:$b,ADD_ATTR:Db}));if(yb(),P)throw P;const B=Ot(k?u:p).node();return B&&"remove"in B&&B.remove(),{svg:x,bindFunctions:b.db.bindFunctions}};function Yb(t={}){var e;t!=null&&t.fontFamily&&!((e=t.themeVariables)!=null&&e.fontFamily)&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),j_(t),t!=null&&t.theme&&t.theme in Ut?t.themeVariables=Ut[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=Ut.default.getThemeVariables(t.themeVariables));const i=typeof t=="object"?H_(t):Ya();Mn(i.logLevel),Hn()}function Vb(t,e,i,r){bb(e,t),xb(e,i,r,e.attr("id"))}const pe=Object.freeze({render:Ub,parse:Nb,parseDirective:rl,getDiagramFromText:jn,initialize:Yb,getConfig:Vt,setConfig:Y_,getSiteConfig:Ya,updateSiteConfig:U_,reset:()=>{tr()},globalReset:()=>{tr(oi)},defaultConfig:oi});Mn(Vt().logLevel);tr(Vt());const Gb=(t,e,i)=>{S.warn(t),hl(t)?(i&&i(t.str,t.hash),e.push({...t,message:t.str,error:t})):(i&&i(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},Ol=async function(t={querySelector:".mermaid"}){try{await Xb(t)}catch(e){if(hl(e)&&S.error(e.str),gt.parseError&>.parseError(e),!t.suppressErrors)throw S.error("Use the suppressErrors option to suppress these errors"),e}},Xb=async function({postRenderCallback:t,querySelector:e,nodes:i}={querySelector:".mermaid"}){const r=pe.getConfig();S.debug(`${t?"":"No "}Callback function found`);let n;if(i)n=i;else if(e)n=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");S.debug(`Found ${n.length} diagrams`),(r==null?void 0:r.startOnLoad)!==void 0&&(S.debug("Start On Load: "+(r==null?void 0:r.startOnLoad)),pe.updateSiteConfig({startOnLoad:r==null?void 0:r.startOnLoad}));const o=new Ri.initIdGenerator(r.deterministicIds,r.deterministicIDSeed);let s;const a=[];for(const l of Array.from(n)){S.info("Rendering diagram: "+l.id);/*! Check if previously processed */if(l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const h=`mermaid-${o.next()}`;s=l.innerHTML,s=dh(Ri.entityDecode(s)).trim().replace(//gi,"
");const c=Ri.detectInit(s);c&&S.debug("Detected early reinit: ",c);try{const{svg:u,bindFunctions:g}=await Nl(h,s,l);l.innerHTML=u,t&&await t(h),g&&g(l)}catch(u){Gb(u,a,gt.parseError)}}if(a.length>0)throw a[0]},Il=function(t){pe.initialize(t)},Kb=async function(t,e,i){S.warn("mermaid.init is deprecated. Please use run instead."),t&&Il(t);const r={postRenderCallback:i,querySelector:".mermaid"};typeof e=="string"?r.querySelector=e:e&&(e instanceof HTMLElement?r.nodes=[e]:r.nodes=e),await Ol(r)},Zb=async(t,{lazyLoad:e=!0}={})=>{sl(...t),e===!1&&await dy()},$l=function(){if(gt.startOnLoad){const{startOnLoad:t}=pe.getConfig();t&>.run().catch(e=>S.error("Mermaid failed to initialize",e))}};if(typeof document<"u"){/*! - * Wait for document loaded before starting the execution - */window.addEventListener("load",$l,!1)}const Jb=function(t){gt.parseError=t},or=[];let Gr=!1;const Dl=async()=>{if(!Gr){for(Gr=!0;or.length>0;){const t=or.shift();if(t)try{await t()}catch(e){S.error("Error executing queue",e)}}Gr=!1}},Qb=async(t,e)=>new Promise((i,r)=>{const n=()=>new Promise((o,s)=>{pe.parse(t,e).then(a=>{o(a),i(a)},a=>{var l;S.error("Error parsing",a),(l=gt.parseError)==null||l.call(gt,a),s(a),r(a)})});or.push(n),Dl().catch(r)}),Nl=(t,e,i)=>new Promise((r,n)=>{const o=()=>new Promise((s,a)=>{pe.render(t,e,i).then(l=>{s(l),r(l)},l=>{var h;S.error("Error parsing",l),(h=gt.parseError)==null||h.call(gt,l),a(l),n(l)})});or.push(o),Dl().catch(n)}),gt={startOnLoad:!0,mermaidAPI:pe,parse:Qb,render:Nl,init:Kb,run:Ol,registerExternalDiagrams:Zb,initialize:Il,parseError:void 0,contentLoaded:$l,setParseErrorHandler:Jb,detectType:Tr},t1=async t=>{try{gt.registerExternalDiagrams&&await gt.registerExternalDiagrams(t)}catch(e){console.error(e)}},e1=async(t,e,i)=>{gt.initialize(i);const{svg:r}=await gt.render(t,e);return r},i1=["innerHTML"],r1={__name:"Mermaid",props:{graph:{type:String,required:!0},id:{type:String,required:!0}},setup(t){const e=t,i=ao({securityLevel:"loose",startOnLoad:!1,externalDiagrams:[]}),{page:r}=gs(),{frontmatter:n}=Gl(r.value),o=n.mermaidTheme||"",s=ao(null);let a=null;ms(async()=>{var u;await t1(i.value.externalDiagrams);let h=await Z(()=>import("./chunks/virtual_mermaid-config.ade1a5ba.js"),[]);h!=null&&h.default&&(i.value=h.default),a=new MutationObserver(async()=>await l()),a.observe(document.documentElement,{attributes:!0}),await l(),((u=//.exec(decodeURIComponent(e.graph)))==null?void 0:u.length)>0&&setTimeout(()=>{let g=document.getElementsByTagName("img"),p=Array.from(g);p.length&&Promise.all(p.filter(m=>!m.complete).map(m=>new Promise(k=>{m.onload=m.onerror=k}))).then(async()=>{await l()})},100)}),Xl(()=>a.disconnect());const l=async()=>{const h=document.documentElement.classList.contains("dark");let c={...i.value};o&&(c.theme=o),h&&(c.theme="dark");let u=await e1(e.id,decodeURIComponent(e.graph),c);const g=Math.random().toString(36).substring(7);s.value=`${u} ${g}`};return(h,c)=>(Kl(),Zl("div",{innerHTML:s.value,class:"mermaid"},null,8,i1))}};const n1={extends:lo,Layout:()=>_s(lo.Layout,null,{}),enhanceApp({app:t,router:e,siteData:i}){}};function Rl(t){if(t.extends){const e=Rl(t.extends);return{...e,...t,async enhanceApp(i){e.enhanceApp&&await e.enhanceApp(i),t.enhanceApp&&await t.enhanceApp(i)}}}return t}const Be=Rl(n1),o1=lh({name:"VitePressApp",setup(){const{site:t}=gs();return ms(()=>{hh(()=>{document.documentElement.lang=t.value.lang,document.documentElement.dir=t.value.dir})}),ch(),uh(),fh(),Be.setup&&Be.setup(),()=>_s(Be.Layout)}});async function s1(){const t=l1(),e=a1();e.provide(Ql,t);const i=th(t.route);return e.provide(eh,i),e.component("Mermaid",r1),e.component("Content",ih),e.component("ClientOnly",rh),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}}),Be.enhanceApp&&await Be.enhanceApp({app:e,router:t,siteData:nh}),{app:e,router:t,data:i}}function a1(){return oh(o1)}function l1(){let t=Xr,e;return sh(i=>{let r=ah(i);return r?(t&&(e=r),(t||e===r)&&(r=r.replace(/\.js$/,".lean.js")),Xr&&(t=!1),Z(()=>import(r),[])):null},Be.NotFound)}Xr&&s1().then(({app:t,router:e,data:i})=>{e.go().then(()=>{Jl(e.route,i.site),t.mount("#app")})});export{Ms as $,En as A,hi as B,jg as C,pa as D,$e as E,Wp as F,Yg as G,Wg as H,Zg as I,Bm as J,wg as K,xa as L,ci as M,xg as N,De as O,Ki as P,me as Q,re as R,Xi as S,Ng as T,Jo as U,vm as V,va as W,ga as X,un as Y,Hr as Z,yt as _,tl as a,Ih as a0,I as a1,Dt as a2,Ve as a3,Pb as a4,Uf as a5,dh as a6,qm as a7,Y_ as a8,nl as a9,T1 as aA,x1 as aB,m1 as aC,Ym as aD,Jm as aE,F1 as aF,gy as aG,Fy as aH,ph as aI,gh as aJ,ry as aK,rl as aL,li as aM,L as aN,E as aO,ly as aa,Ay as ab,Cn as ac,Os as ad,dt as ae,ai as af,_u as ag,Ds as ah,f1 as ai,_h as aj,bn as ak,Qt as al,Je as am,bo as an,ku as ao,b1 as ap,Wn as aq,kn as ar,g1 as as,y1 as at,Bo as au,wo as av,C1 as aw,_1 as ax,d1 as ay,p1 as az,Qa as b,Vt as c,s1 as createApp,ri as d,st as e,nr as f,Ja as g,Ot as h,Z_ as i,On as j,$y as k,S as l,pe as m,Cs as n,Wf as o,By as p,Fa as q,by as r,Za as s,J_ as t,oi as u,el as v,Oy as w,il as x,Ri as y,Ka as z}; diff --git a/pr-333/assets/blog_introducing-rollkit.md.be36f2db.js b/pr-333/assets/blog_introducing-rollkit.md.be36f2db.js deleted file mode 100644 index 741c9e72c..000000000 --- a/pr-333/assets/blog_introducing-rollkit.md.be36f2db.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o,c as t,X as a}from"./chunks/framework.8df7efef.js";const i="/docs-preview/pr-333/introducing-rollkit/rollkit-blog-cover.png",r="/docs-preview/pr-333/introducing-rollkit/comparison-table.png",l="/docs-preview/pr-333/introducing-rollkit/rollkit-lego.png",b=JSON.parse('{"title":"Introducing Rollkit: a modular rollup framework","description":"Neutral and independent from Celestia, Rollkit serves as a community-led public good that empowers developers with the freedom to deploy throughout the modular stack and accelerate innovation","frontmatter":{"head":[["meta",{"name":"title","content":"Introducing Rollkit: a modular rollup framework"}],["meta",{"name":"description","content":"Neutral and independent from Celestia, Rollkit serves as a community-led public good that empowers developers with the freedom to deploy throughout the modular stack and accelerate innovation"}],["meta",{"name":"keywords","content":"Rollkit, Celestia"}],["meta",{"name":"og:image","content":"/introducing-rollkit/rollkit-blog-cover.png"}],["meta",{"name":"og:title","content":"Introducing Rollkit: a modular rollup framework | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"blog/introducing-rollkit.md","filePath":"blog/introducing-rollkit.md","lastUpdated":1711045903000}'),n={name:"blog/introducing-rollkit.md"},s=a('

Introducing Rollkit: a modular rollup framework

By Alex Beckett and Joseph Al-Chami

The original version of this blog post can be found on the Celestia blog.

Rollkit blog coverOriginally published on 21 February 2023

Today, we’re pleased to introduce Rollkit, previously known as Rollmint. Rollkit is a modular rollup framework that gives developers the freedom to deploy rollups throughout the modular stack, opening new possibilities for rapid experimentation and innovation.

Rollkit provides a modular node for running rollups on top of a data availability layer. It exposes an ABCI-compatible client interface that can be used as a replacement for CometBFT for any ABCI-compatible blockchain app, including Cosmos chains.

In development since 2021, Rollkit is now emerging as neutral and independent from the Celestia blockchain. Rollkit will serve as a community-led public good for the modular ecosystem going forward, with its own docs site at rollkit.dev.

Tl;dr:

  • You can now build with Rollkit on Celestia’s Mocha testnet. Check out the docs
  • You can customize rollups and plug-in arbitrary data availability and execution layers by leveraging Rollkit’s modular framework
  • Join our Rollkit developer calls that begin in April to help guide its development

Deploying a new chain is hard

Deploying your decentralized application as a smart contract on a shared blockchain means it will share computational resources and is restricted to that blockchain's execution environment. This limits your application's scalability and flexibility.

For that reason, many developers have turned to launching their own layer 1 chains using tools like CometBFT and the Cosmos SDK. However, deploying a new layer 1 chain presents its own set of complex challenges and trade-offs.

In order to deploy a new layer 1 chain, a developer must gather a set of validators to secure the chain, issue a token to compensate these validators, and continuously maintain the network infrastructure. This represents a huge cost in social coordination, time, capital and expertise. This cost prevents many developers from launching their own chains and innovation from progressing as quickly as it could.

Freedom to deploy

Rollups are the answer to this problem. Rollups provide similar advantages as a layer 1 blockchain but reduce the overhead of deploying and maintaining your own chain.

Rollkit comparison table

Rollups provide similar benefits to blockchain developers that cloud infrastructure provides for traditional web developers. Deploying a new layer 1 blockchain is like maintaining a physical server, slow and expensive. Rollups remove the need for blockchain developers to launch and maintain their own layer 1s to deploy their own chain.

With Rollkit, developers no longer have to worry about the complex challenges of deploying a new blockchain. Rollkit will do for rollup chains what CometBFT did for layer 1 chains. The way it works is that rollups leverage an underlying layer for consensus, so that developers don’t need to build their own consensus networks. Rollkit rollups inherit security from the data availability layer, eliminating the need for a full set of validators and reducing the technical barrier for developers.

Vision for Rollkit

In the spirit of modularity, Rollkit’s long-term vision is to give developers a variety of options to choose from so that they can easily plug-in, switch or replace features in Rollkit.

In a rapidly evolving industry like blockchain, time to market and the ability to rapidly experiment and innovate are critical. Rollkit’s customizable stack will enable developers to bring their products to market faster and with more flexibility.

Rollkit lego image

Execution environments

Rollkit will allow you to easily swap in different execution environments. Not fond of the Cosmos SDK? Try Rust with CosmWasm. Still like Solidity? Plug in the EVM. None of the options suit your needs? Modify or add your own execution environment without needing to rebuild your entire chain from scratch.

Sequencers

Rollkit will support multiple sequencing modes to suit your specific use case. A single sequencer might be all you need. If your application requires stronger liveness, you can opt for multiple sequencers using your own set or leverage a set of shared sequencers.

Proof schemes

Rollkit will support a multitude of proof schemes to ensure the execution of your rollup. Run your application in zk mode, optimistic mode with fraud proofs, or pessimistic mode without any proofs.

Rollup types

Rollkit will allow you to build a diverse range of rollups, including sovereign rollups, settlement rollups and settled rollups.

Rollkit is in an early stage of development and many features remain to be built to reach this vision. In its current state, Rollkit rollups are sovereign rollups with single sequencers, with support for a pessimistic mode and a work-in-progress optimistic mode. Integration tutorials are ready and available with Cosmos SDK, Ethermint, and CosmWasm.

We invite the community to collaborate with us to build new features. Each new team that joins the growing Rollkit community brings more firepower to ship new features that we all benefit from. This is the power of modularity in action.

Rollkit is neutral

Celestia Labs originally started developing Rollkit in 2021, when the modular ecosystem was nascent and general-purpose rollup software did not exist. We started building Rollkit out of necessity, because having general-purpose software for rollup chains was critical to the Celestia mission of making deploying a new chain as easy as deploying a smart contract.

Since 2021 several projects have also started building general-purpose execution layer rollup software for various use cases. This includes Eclipse (Solana VM rollups), Dymension (settled Cosmos rollups), Sovereign Labs (sovereign ZK rollups), and Optimism (EVM rollups).

To ensure Celestia remains a decentralized and credibly neutral data availability layer that treats all rollup software as first class citizens, we decided to spin out Rollkit from Celestia Labs into its own project with its own GitHub org and docs site.

This also means that Rollkit aims to be neutral to the underlying data availability layer. Rollkit is designed to allow developers to integrate other data availability layers besides Celestia via the data availability interface.

The Celestia Labs Execution Environments team is currently contributing to the initial and necessary components of Rollkit, and is calling for all developers to contribute to it.

Spinning out Rollkit will enable both Celestia and Rollkit to serve the entire modular ecosystem as public goods that are neutral and independent from each other, and not favor each other in the modular stack.

We believe that to create a positive-sum crypto ecosystem where modularism thrives over maximalism, it’s important that developers have access to neutral rollup frameworks that are treated as public goods. In order for crypto to move into mainstream adoption, the industry needs to work together to create foundational developer tooling that will help crypto to level up.

Next steps

Moving towards a community-led project means increased visibility, transparency and inclusivity. That’s why the Rollkit team will soon release a roadmap blog post to detail ongoing work and its purpose. The team will also hold regular public calls with community members to showcase recent developments, discuss the roadmap and gather feedback from developers building with Rollkit. Keep an eye out for a new announcement from Rollkit.

Learn more about how Rollkit works on the new Rollkit website (you're already on it!). And don’t forget to check out the Rollkit repo too.

Let’s build modular together.

',44),d=[s];function p(c,u,h,m,f,g){return o(),t("div",null,d)}const y=e(n,[["render",p]]);export{b as __pageData,y as default}; diff --git a/pr-333/assets/blog_introducing-rollkit.md.be36f2db.lean.js b/pr-333/assets/blog_introducing-rollkit.md.be36f2db.lean.js deleted file mode 100644 index 2835cecce..000000000 --- a/pr-333/assets/blog_introducing-rollkit.md.be36f2db.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o,c as t,X as a}from"./chunks/framework.8df7efef.js";const i="/docs-preview/pr-333/introducing-rollkit/rollkit-blog-cover.png",r="/docs-preview/pr-333/introducing-rollkit/comparison-table.png",l="/docs-preview/pr-333/introducing-rollkit/rollkit-lego.png",b=JSON.parse('{"title":"Introducing Rollkit: a modular rollup framework","description":"Neutral and independent from Celestia, Rollkit serves as a community-led public good that empowers developers with the freedom to deploy throughout the modular stack and accelerate innovation","frontmatter":{"head":[["meta",{"name":"title","content":"Introducing Rollkit: a modular rollup framework"}],["meta",{"name":"description","content":"Neutral and independent from Celestia, Rollkit serves as a community-led public good that empowers developers with the freedom to deploy throughout the modular stack and accelerate innovation"}],["meta",{"name":"keywords","content":"Rollkit, Celestia"}],["meta",{"name":"og:image","content":"/introducing-rollkit/rollkit-blog-cover.png"}],["meta",{"name":"og:title","content":"Introducing Rollkit: a modular rollup framework | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"blog/introducing-rollkit.md","filePath":"blog/introducing-rollkit.md","lastUpdated":1711045903000}'),n={name:"blog/introducing-rollkit.md"},s=a("",44),d=[s];function p(c,u,h,m,f,g){return o(),t("div",null,d)}const y=e(n,[["render",p]]);export{b as __pageData,y as default}; diff --git a/pr-333/assets/blog_lets-roll-community-call.md.dfa51eab.js b/pr-333/assets/blog_lets-roll-community-call.md.dfa51eab.js deleted file mode 100644 index 6a3d33aa6..000000000 --- a/pr-333/assets/blog_lets-roll-community-call.md.dfa51eab.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as o,X as a}from"./chunks/framework.8df7efef.js";const l="/docs-preview/pr-333/lets-roll.jpg",f=JSON.parse(`{"title":"Let's Roll - Rollkit's community call","description":"Rollkit is kicking off its community call, Let's Roll, to bring together community members to share knowledge, collaborate on new ideas, and inspire each other to push the limits of what's possible with Rollkit.","frontmatter":{"head":[["meta",{"name":"title","content":"Let's Roll - Rollkit's community call"}],["meta",{"name":"description","content":"Rollkit is kicking off its community call, Let's Roll, to bring together community members to share knowledge, collaborate on new ideas, and inspire each other to push the limits of what's possible with Rollkit."}],["meta",{"name":"keywords","content":"Rollkit"}],["meta",{"name":"og:image","content":"/lets-roll.jpg"}],["meta",{"name":"og:title","content":"Let's Roll - Rollkit's community call | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"blog/lets-roll-community-call.md","filePath":"blog/lets-roll-community-call.md","lastUpdated":1711045903000}`),i={name:"blog/lets-roll-community-call.md"},r=a('

Let's Roll - Rollkit's community call

By Joseph Al-Chami

Rollkit blog coverOriginally published on 8 March 2023

Last Sunday, we released the first research implementation that allows Rollkit rollups to use Bitcoin for data availability.

This announcement has sparked a lot of curiosity and excitement in the community. Many developers are starting to imagine what the future of sovereign rollups could look like on Bitcoin and other data availability layers. They’re looking for ways to innovate using this integration, to replicate it on other layer 1 blockchains, to identify challenges and to suggest improvements.

We believe that there’s a lot of innovation to be done and a lot of challenges to be solved, and that together as a community, we can collaborate on building the future of rollup frameworks.

That’s why we’re happy to announce that we’re launching a Rollkit’s community call: Let’s Roll.

TL;DR

  • Rollkit is launching its community call, Let’s Roll. You can subscribe to the community calendar here

  • The first meeting is scheduled on Zoom for March 21, 2023, 6pm CET(12pm EST, 9am PST).

  • Builders using Rollkit can now present their projects at Let’s Roll. Reach out to us on Telegram

Just merge it

Rollup development is rapidly evolving, with new types of rollups such as sovereign and pessimistic rollups emerging, and with new possibilities of using layer 1-blockchains as data availability layers. Rollkit is at the forefront of the rollup movement offering a modular framework for rollups as an open-source public good.

However, Rollkit's true potential lies in its community of developers and users who bring their unique perspectives, skills, and expertise to the table. When Rollkit integrates a new data availability layer, its community members are best suited to improve this integration and use it in ways that truly benefit the community. Therefore, we invite developers from different communities and skill sets to join us and contribute to Rollkit’s development.

By contributing to Rollkit, we reduce fragmentation, duplicated features and bugs, and we ensure the continuous improvement of Rollkit. By doing that we forge a stronger and bigger community.

One framework is bigger than the sum of all its forks. Together we can build something for all developers and builders to easily use.

Our promise, as core contributors, is to do our best to make “just merge it” a reality. We strive to empower developers to contribute to Rollkit and ensure that their contributions are integrated.

That's why we believe it's time to bring our community together to share knowledge, collaborate on new ideas, and inspire each other to push the limits of what's possible with Rollkit.

What is Let’s Roll?

Let's Roll is a dynamic community-focused meeting that brings together all Rollkit’s contributors to drive the innovation and development of Rollkit.

This meeting serves as a platform for sharing knowledge, discussing the latest updates, and exploring new ideas. Rollkit's contributors will demonstrate the most recent features and advancements, while community members will have the chance to ask questions, provide feedback, and collaborate on new projects.

Building open source means encouraging collaboration and teamwork among all developers. Sharing code and ideas will help us build a better framework more efficiently.

The meeting will be hosted on Zoom. Subscribe to the following Google calendar so that you can be notified of future community calls.

Conclusion

Let's Roll is an exciting opportunity for the Rollkit community to come together, share ideas, and collaborate on the future of this powerful framework. With demos of the latest developments, a discussion of the roadmap and vision, and a dedicated Q&A and feedback session, Let's Roll is an opportunity to stay informed and engaged with the project.

We invite everyone interested in Rollkit and rollup development to join us. Your feedback, ideas, and input are essential to the success of Rollkit, and we look forward to seeing what we can achieve together.

So, join us, roll with us, and let's shape the future of rollup frameworks together.

',25),n=[r];function s(c,m,h,d,u,p){return t(),o("div",null,n)}const b=e(i,[["render",s]]);export{f as __pageData,b as default}; diff --git a/pr-333/assets/blog_lets-roll-community-call.md.dfa51eab.lean.js b/pr-333/assets/blog_lets-roll-community-call.md.dfa51eab.lean.js deleted file mode 100644 index 4ad3a4b0d..000000000 --- a/pr-333/assets/blog_lets-roll-community-call.md.dfa51eab.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as o,X as a}from"./chunks/framework.8df7efef.js";const l="/docs-preview/pr-333/lets-roll.jpg",f=JSON.parse(`{"title":"Let's Roll - Rollkit's community call","description":"Rollkit is kicking off its community call, Let's Roll, to bring together community members to share knowledge, collaborate on new ideas, and inspire each other to push the limits of what's possible with Rollkit.","frontmatter":{"head":[["meta",{"name":"title","content":"Let's Roll - Rollkit's community call"}],["meta",{"name":"description","content":"Rollkit is kicking off its community call, Let's Roll, to bring together community members to share knowledge, collaborate on new ideas, and inspire each other to push the limits of what's possible with Rollkit."}],["meta",{"name":"keywords","content":"Rollkit"}],["meta",{"name":"og:image","content":"/lets-roll.jpg"}],["meta",{"name":"og:title","content":"Let's Roll - Rollkit's community call | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"blog/lets-roll-community-call.md","filePath":"blog/lets-roll-community-call.md","lastUpdated":1711045903000}`),i={name:"blog/lets-roll-community-call.md"},r=a("",25),n=[r];function s(c,m,h,d,u,p){return t(),o("div",null,n)}const b=e(i,[["render",s]]);export{f as __pageData,b as default}; diff --git a/pr-333/assets/blog_overview.md.0538ef98.js b/pr-333/assets/blog_overview.md.0538ef98.js deleted file mode 100644 index 77f5b1429..000000000 --- a/pr-333/assets/blog_overview.md.0538ef98.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o,c as t,X as l}from"./chunks/framework.8df7efef.js";const _=JSON.parse('{"title":"Blog","description":"This page provides an overview of all the blog posts. It serves as a central hub for all the blog content.","frontmatter":{"description":"This page provides an overview of all the blog posts. It serves as a central hub for all the blog content.","head":[["meta",{"name":"og:title","content":"Blog | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"blog/overview.md","filePath":"blog/overview.md","lastUpdated":1711045903000}'),a={name:"blog/overview.md"},r=l('

Blog

Welcome to our blog! Here, you'll find a variety of articles on a range of topics. Use this overview to navigate through our content.

Table of contents

Stay tuned for more exciting content!

',5),i=[r];function n(s,c,d,p,h,g){return o(),t("div",null,i)}const f=e(a,[["render",n]]);export{_ as __pageData,f as default}; diff --git a/pr-333/assets/blog_overview.md.0538ef98.lean.js b/pr-333/assets/blog_overview.md.0538ef98.lean.js deleted file mode 100644 index f9ce0241c..000000000 --- a/pr-333/assets/blog_overview.md.0538ef98.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o,c as t,X as l}from"./chunks/framework.8df7efef.js";const _=JSON.parse('{"title":"Blog","description":"This page provides an overview of all the blog posts. It serves as a central hub for all the blog content.","frontmatter":{"description":"This page provides an overview of all the blog posts. It serves as a central hub for all the blog content.","head":[["meta",{"name":"og:title","content":"Blog | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"blog/overview.md","filePath":"blog/overview.md","lastUpdated":1711045903000}'),a={name:"blog/overview.md"},r=l("",5),i=[r];function n(s,c,d,p,h,g){return o(),t("div",null,i)}const f=e(a,[["render",n]]);export{_ as __pageData,f as default}; diff --git a/pr-333/assets/blog_sovereign-rollups-on-bitcoin.md.4954e47d.js b/pr-333/assets/blog_sovereign-rollups-on-bitcoin.md.4954e47d.js deleted file mode 100644 index 4735bd287..000000000 --- a/pr-333/assets/blog_sovereign-rollups-on-bitcoin.md.4954e47d.js +++ /dev/null @@ -1,2 +0,0 @@ -import{_ as i}from"./chunks/rollkit-bitcoin-1.9f1a021b.js";import{_ as e,o as a,c as n,X as l,k as t,a as o}from"./chunks/framework.8df7efef.js";const r="/docs-preview/pr-333/bitcoin-rollkit/rollkit-bitcoin.png",s="/docs-preview/pr-333/bitcoin-rollkit/rollkit-bitcoin-2.png",x=JSON.parse('{"title":"Sovereign rollups on Bitcoin with Rollkit","description":"Last week, we introduced Rollkit, a modular framework for rollups. Today, we are proud to announce that Rollkit is the first rollup framework to support sovereign rollups on Bitcoin. This allows Rollkit rollups to use Bitcoin for data availability. The implementation is in alpha, but we invite curious developers to experiment with it.","frontmatter":{"head":[["meta",{"name":"title","content":"Sovereign rollups on Bitcoin with Rollkit"}],["meta",{"name":"description","content":"Last week, we introduced Rollkit, a modular framework for rollups. Today, we are proud to announce that Rollkit is the first rollup framework to support sovereign rollups on Bitcoin. This allows Rollkit rollups to use Bitcoin for data availability. The implementation is in alpha, but we invite curious developers to experiment with it."}],["meta",{"name":"keywords","content":"Rollkit, Celestia"}],["meta",{"name":"og:image","content":"/introducing-rollkit/rollkit-blog-cover.png"}],["meta",{"name":"og:title","content":"Sovereign rollups on Bitcoin with Rollkit | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"blog/sovereign-rollups-on-bitcoin.md","filePath":"blog/sovereign-rollups-on-bitcoin.md","lastUpdated":1711045903000}'),c={name:"blog/sovereign-rollups-on-bitcoin.md"},d=l('

Sovereign rollups on Bitcoin with Rollkit

By Rollkit

rollkit-bitcoinOriginally published on 5 March 2023

Last week, we introduced Rollkit, a modular framework for rollups. Today, we are proud to announce that Rollkit is the first rollup framework to support sovereign rollups on Bitcoin. An early research implementation allows Rollkit rollups to use Bitcoin for data availability.

Rollkit is opening the door for developers to create rollups with arbitrary execution environments that inherit Bitcoin’s data availability guarantees and re-org resistance. With the new integration it is now possible to run the EVM on Bitcoin as a Rollkit sovereign rollup. Sovereign rollups on Bitcoin not only expand the possibilities for rollups, but also have the potential to help bootstrap a healthy blockspace fee market on Bitcoin, enabling a more sustainable security budget.

Tl;dr

  • Sovereign rollups using Bitcoin for data availability are now a reality with Rollkit’s new early research integration.
  • Follow along with a demo of the EVM running on Bitcoin as a sovereign Rollkit rollup.
  • The implementation was possible due to Bitcoin's Taproot upgrade and Ordinals' usage of Bitcoin for publishing arbitrary data.

Posting data on Bitcoin with Taproot

On Feb. 1, 2023, the Luxor mining pool mined the largest Bitcoin block (#774628) ever, approximately 4 MB. Most of the blockspace was used to inscribe a Taproot Wizards NFT with Ordinals, a project that implements NFTs on Bitcoin by publishing the image data on-chain.

Bitcoin NFTs use Taproot witnesses to inscribe arbitrary data, enabled by Bitcoin's Taproot upgrade. Taproot witnesses provide a slightly better payload-to-data ratio than SegWit transactions. A standard transaction can include up to around 390kB of arbitrary data while still passing through the public mempool. A non-standard transaction, included by a miner directly without passing through the mempool, can include close to 4MB of arbitrary data. In short, with SegWit, it became viable to post big blobs of data to the Bitcoin blockchain.

Since then, the usage of Ordinals for NFT inscriptions and Taproot utilization has kicked off. Eric Wall found that at the time of his tweet, posting data on Bitcoin was 7x cheaper than Ethereum. Now that there are thousands of inscriptions on Bitcoin, it has become clear that sovereign rollups and an ecosystem of dapps on Bitcoin could become a reality. The missing piece: a rollup framework for easily integrating Bitcoin as a data availability layer.

Integrating Bitcoin as a data availability layer into Rollkit

Rollkit is a modular framework for rollups, where developers can plug-in custom execution layers and data availability layers. Initially, Rollkit only supported Celestia as an option for data availability and consensus. Now, Bitcoin is an option, thanks to an early research implementation of a Bitcoin data availability module for Rollkit. In this case, sovereign rollups manage their own execution and settlement while offloading consensus and data availability to Bitcoin.

rollkit-bitcoin-rollup

How Rollkit posts data to Bitcoin

To write and read data on Bitcoin, we make use of Taproot transactions. To facilitate this, we implemented a Go package called bitcoin-da that provides a reader/writer interface to Bitcoin. For details of how the interface works and how it uses Taproot, see the specs. The package can be re-used by any project that wants to read or write data on Bitcoin.

Rollkit was built with modularity at its core. It has a data availability interface so that developers can simply implement specific methods to add a new data availability layer. To add a data availability layer, implementers need to satisfy the DataAvailabilityLayerClient interface which defines the behavior of the data availability client, and the BlockRetriever interface which defines how blocks can be synced. These interfaces live in the da package. The most important methods in these interfaces are SubmitBlock and RetrieveBlock for reading and writing the blocks.

After implementing the Taproot reader/writer interface for Bitcoin (bitcoin-da), adding it as a data availability module for Rollkit took less than a day. We mostly only had to implement the SubmitBlock and RetrieveBlocks functions for Rollkit to call the Read and Write methods in bitcoin-da.

rollkit-bitcoin-rollup-2

EVM on Bitcoin demo

Rollkit supports custom execution layers, including EVM, CosmWasm, or the Cosmos SDK. To test the integration, we used Rollkit to run the EVM (using Ethermint) as a sovereign rollup on a local Bitcoin test network. See below for a demo.

',21),h=t("iframe",{title:"Rollkit: Ethermint + Bitcoin DA demo",src:"https://www.youtube.com/embed/qBKFEctzgT0",allowfullscreen:""},` -`,-1),p=t("h2",{id:"conclusion",tabindex:"-1"},[o("Conclusion "),t("a",{class:"header-anchor",href:"#conclusion","aria-label":'Permalink to "Conclusion"'},"​")],-1),u=t("p",null,[o("As we move towards a future where sovereign communities will form around different applications, asking them to incur the high cost and overhead of deploying a layer 1 blockchain to be sovereign is not sustainable. "),t("a",{href:"https://blog.celestia.org/sovereign-rollup-chains/",target:"_blank",rel:"noreferrer"},"Sovereign rollups"),o(" fix this by making it possible to deploy a sovereign chain that inherits the data availability and consensus of another layer 1 chain such as Bitcoin.")],-1),m=t("p",null,[o("Our goal with Rollkit is to make it easy to build and customize rollups. We invite you to play around Rollkit and build sovereign rollups on Bitcoin, or customize Rollkit with different execution environments and data availability layers. For details on how to run Rollkit with the Bitcoin data availability module, see the instructions "),t("a",{href:"/docs-preview/pr-333/docs/tutorials/bitcoin"},"here"),o(". Keep in mind that the integration is an early research implementation and it is not yet production-ready!")],-1),b=t("p",null,"Modularism, not maximalism.",-1),g=[d,h,p,u,m,b];function k(f,w,y,v,B,_){return a(),n("div",null,g)}const S=e(c,[["render",k]]);export{x as __pageData,S as default}; diff --git a/pr-333/assets/blog_sovereign-rollups-on-bitcoin.md.4954e47d.lean.js b/pr-333/assets/blog_sovereign-rollups-on-bitcoin.md.4954e47d.lean.js deleted file mode 100644 index 18dffe8f4..000000000 --- a/pr-333/assets/blog_sovereign-rollups-on-bitcoin.md.4954e47d.lean.js +++ /dev/null @@ -1,2 +0,0 @@ -import{_ as i}from"./chunks/rollkit-bitcoin-1.9f1a021b.js";import{_ as e,o as a,c as n,X as l,k as t,a as o}from"./chunks/framework.8df7efef.js";const r="/docs-preview/pr-333/bitcoin-rollkit/rollkit-bitcoin.png",s="/docs-preview/pr-333/bitcoin-rollkit/rollkit-bitcoin-2.png",x=JSON.parse('{"title":"Sovereign rollups on Bitcoin with Rollkit","description":"Last week, we introduced Rollkit, a modular framework for rollups. Today, we are proud to announce that Rollkit is the first rollup framework to support sovereign rollups on Bitcoin. This allows Rollkit rollups to use Bitcoin for data availability. The implementation is in alpha, but we invite curious developers to experiment with it.","frontmatter":{"head":[["meta",{"name":"title","content":"Sovereign rollups on Bitcoin with Rollkit"}],["meta",{"name":"description","content":"Last week, we introduced Rollkit, a modular framework for rollups. Today, we are proud to announce that Rollkit is the first rollup framework to support sovereign rollups on Bitcoin. This allows Rollkit rollups to use Bitcoin for data availability. The implementation is in alpha, but we invite curious developers to experiment with it."}],["meta",{"name":"keywords","content":"Rollkit, Celestia"}],["meta",{"name":"og:image","content":"/introducing-rollkit/rollkit-blog-cover.png"}],["meta",{"name":"og:title","content":"Sovereign rollups on Bitcoin with Rollkit | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"blog/sovereign-rollups-on-bitcoin.md","filePath":"blog/sovereign-rollups-on-bitcoin.md","lastUpdated":1711045903000}'),c={name:"blog/sovereign-rollups-on-bitcoin.md"},d=l("",21),h=t("iframe",{title:"Rollkit: Ethermint + Bitcoin DA demo",src:"https://www.youtube.com/embed/qBKFEctzgT0",allowfullscreen:""},` -`,-1),p=t("h2",{id:"conclusion",tabindex:"-1"},[o("Conclusion "),t("a",{class:"header-anchor",href:"#conclusion","aria-label":'Permalink to "Conclusion"'},"​")],-1),u=t("p",null,[o("As we move towards a future where sovereign communities will form around different applications, asking them to incur the high cost and overhead of deploying a layer 1 blockchain to be sovereign is not sustainable. "),t("a",{href:"https://blog.celestia.org/sovereign-rollup-chains/",target:"_blank",rel:"noreferrer"},"Sovereign rollups"),o(" fix this by making it possible to deploy a sovereign chain that inherits the data availability and consensus of another layer 1 chain such as Bitcoin.")],-1),m=t("p",null,[o("Our goal with Rollkit is to make it easy to build and customize rollups. We invite you to play around Rollkit and build sovereign rollups on Bitcoin, or customize Rollkit with different execution environments and data availability layers. For details on how to run Rollkit with the Bitcoin data availability module, see the instructions "),t("a",{href:"/docs-preview/pr-333/docs/tutorials/bitcoin"},"here"),o(". Keep in mind that the integration is an early research implementation and it is not yet production-ready!")],-1),b=t("p",null,"Modularism, not maximalism.",-1),g=[d,h,p,u,m,b];function k(f,w,y,v,B,_){return a(),n("div",null,g)}const S=e(c,[["render",k]]);export{x as __pageData,S as default}; diff --git a/pr-333/assets/chunks/@localSearchIndexroot.02d5a180.js b/pr-333/assets/chunks/@localSearchIndexroot.02d5a180.js deleted file mode 100644 index 8033d5390..000000000 --- a/pr-333/assets/chunks/@localSearchIndexroot.02d5a180.js +++ /dev/null @@ -1 +0,0 @@ -const e='{"documentCount":334,"nextId":334,"documentIds":{"0":"/docs-preview/pr-333/README#rollkit-documentation-site","1":"/docs-preview/pr-333/README#building-the-site","2":"/docs-preview/pr-333/README#contribution-guidelines","3":"/docs-preview/pr-333/README#directory-structure","4":"/docs-preview/pr-333/README#feedback-suggestions","5":"/docs-preview/pr-333/blog/introducing-rollkit#introducing-rollkit-a-modular-rollup-framework","6":"/docs-preview/pr-333/blog/introducing-rollkit#tl-dr","7":"/docs-preview/pr-333/blog/introducing-rollkit#deploying-a-new-chain-is-hard","8":"/docs-preview/pr-333/blog/introducing-rollkit#freedom-to-deploy","9":"/docs-preview/pr-333/blog/introducing-rollkit#vision-for-rollkit","10":"/docs-preview/pr-333/blog/introducing-rollkit#execution-environments","11":"/docs-preview/pr-333/blog/introducing-rollkit#sequencers","12":"/docs-preview/pr-333/blog/introducing-rollkit#proof-schemes","13":"/docs-preview/pr-333/blog/introducing-rollkit#rollup-types","14":"/docs-preview/pr-333/blog/introducing-rollkit#rollkit-is-neutral","15":"/docs-preview/pr-333/blog/introducing-rollkit#next-steps","16":"/docs-preview/pr-333/blog/lets-roll-community-call#let-s-roll-rollkit-s-community-call","17":"/docs-preview/pr-333/blog/lets-roll-community-call#tl-dr","18":"/docs-preview/pr-333/blog/lets-roll-community-call#just-merge-it","19":"/docs-preview/pr-333/blog/lets-roll-community-call#what-is-let-s-roll","20":"/docs-preview/pr-333/blog/lets-roll-community-call#conclusion","21":"/docs-preview/pr-333/blog/overview#blog","22":"/docs-preview/pr-333/blog/overview#table-of-contents","23":"/docs-preview/pr-333/blog/sovereign-rollups-on-bitcoin#sovereign-rollups-on-bitcoin-with-rollkit","24":"/docs-preview/pr-333/blog/sovereign-rollups-on-bitcoin#tl-dr","25":"/docs-preview/pr-333/blog/sovereign-rollups-on-bitcoin#posting-data-on-bitcoin-with-taproot","26":"/docs-preview/pr-333/blog/sovereign-rollups-on-bitcoin#integrating-bitcoin-as-a-data-availability-layer-into-rollkit","27":"/docs-preview/pr-333/blog/sovereign-rollups-on-bitcoin#how-rollkit-posts-data-to-bitcoin","28":"/docs-preview/pr-333/blog/sovereign-rollups-on-bitcoin#evm-on-bitcoin-demo","29":"/docs-preview/pr-333/blog/sovereign-rollups-on-bitcoin#conclusion","30":"/docs-preview/pr-333/learn/about#about-rollkit","31":"/docs-preview/pr-333/learn/about#what-is-rollkit","32":"/docs-preview/pr-333/learn/about#what-problems-is-rollkit-solving","33":"/docs-preview/pr-333/learn/about#_1-scalability-and-customizability","34":"/docs-preview/pr-333/learn/about#_2-security-and-time-to-market","35":"/docs-preview/pr-333/learn/about#why-rollkit","36":"/docs-preview/pr-333/learn/about#how-can-you-use-rollkit","37":"/docs-preview/pr-333/learn/about#rollup-with-any-execution-environment","38":"/docs-preview/pr-333/learn/about#sovereign-rollup-with-cosmos-sdk","39":"/docs-preview/pr-333/learn/about#build-a-settlement-layer","40":"/docs-preview/pr-333/learn/about#when-can-you-use-rollkit","41":"/docs-preview/pr-333/learn/based-pessimistic-rollup#basic-rollup","42":"/docs-preview/pr-333/learn/based-pessimistic-rollup#description","43":"/docs-preview/pr-333/learn/based-pessimistic-rollup#design","44":"/docs-preview/pr-333/learn/based-pessimistic-rollup#aggregation","45":"/docs-preview/pr-333/learn/based-pessimistic-rollup#header-production","46":"/docs-preview/pr-333/learn/based-pessimistic-rollup#censorship-resistance","47":"/docs-preview/pr-333/learn/based-pessimistic-rollup#liveness","48":"/docs-preview/pr-333/learn/based-pessimistic-rollup#rollup-light-nodes","49":"/docs-preview/pr-333/learn/based-pessimistic-rollup#smallest-trust-minimized-setup","50":"/docs-preview/pr-333/learn/basic-rollup#basic-rollup","51":"/docs-preview/pr-333/learn/basic-rollup#description","52":"/docs-preview/pr-333/learn/basic-rollup#diagram","53":"/docs-preview/pr-333/learn/basic-rollup#aggregation","54":"/docs-preview/pr-333/learn/basic-rollup#header-production","55":"/docs-preview/pr-333/learn/basic-rollup#censorship-resistance","56":"/docs-preview/pr-333/learn/basic-rollup#liveness","57":"/docs-preview/pr-333/learn/basic-rollup#rollup-light-nodes","58":"/docs-preview/pr-333/learn/basic-rollup#smallest-trust-minimized-setup","59":"/docs-preview/pr-333/learn/building-and-deploying-a-rollup#🗞️-building-a-rollup-and-testnet-deployment","60":"/docs-preview/pr-333/learn/building-and-deploying-a-rollup#beginner","61":"/docs-preview/pr-333/learn/building-and-deploying-a-rollup#intermediate","62":"/docs-preview/pr-333/learn/building-and-deploying-a-rollup#advanced","63":"/docs-preview/pr-333/learn/building-and-deploying-a-rollup#support","64":"/docs-preview/pr-333/learn/intro#introduction-to-rollkit","65":"/docs-preview/pr-333/learn/intro#table-of-contents","66":"/docs-preview/pr-333/learn/intro#introduction","67":"/docs-preview/pr-333/learn/intro#learn","68":"/docs-preview/pr-333/learn/intro#rollup-wiki","69":"/docs-preview/pr-333/learn/intro#tutorials","70":"/docs-preview/pr-333/learn/intro#beginner","71":"/docs-preview/pr-333/learn/intro#intermediate","72":"/docs-preview/pr-333/learn/intro#advanced","73":"/docs-preview/pr-333/learn/intro#guides","74":"/docs-preview/pr-333/learn/intro#blog","75":"/docs-preview/pr-333/learn/overview#learn","76":"/docs-preview/pr-333/learn/overview#table-of-contents","77":"/docs-preview/pr-333/learn/pessimistic-rollup-with-a-shared-sequencer#pessimistic-rollup-with-a-shared-sequencer","78":"/docs-preview/pr-333/learn/pessimistic-rollup-with-a-shared-sequencer#description","79":"/docs-preview/pr-333/learn/pessimistic-rollup-with-a-shared-sequencer#design","80":"/docs-preview/pr-333/learn/pessimistic-rollup-with-a-shared-sequencer#aggregation","81":"/docs-preview/pr-333/learn/pessimistic-rollup-with-a-shared-sequencer#header-production","82":"/docs-preview/pr-333/learn/pessimistic-rollup-with-a-shared-sequencer#censorship-resistance","83":"/docs-preview/pr-333/learn/pessimistic-rollup-with-a-shared-sequencer#liveness","84":"/docs-preview/pr-333/learn/pessimistic-rollup-with-a-shared-sequencer#rollup-light-nodes","85":"/docs-preview/pr-333/learn/pessimistic-rollup-with-a-shared-sequencer#smallest-trust-minimized-setup","86":"/docs-preview/pr-333/learn/readme#rollkit","87":"/docs-preview/pr-333/learn/readme#building-from-source","88":"/docs-preview/pr-333/learn/readme#building-with-rollkit","89":"/docs-preview/pr-333/learn/readme#building-on-celestia","90":"/docs-preview/pr-333/learn/readme#compatibility","91":"/docs-preview/pr-333/learn/readme#local-development-environment","92":"/docs-preview/pr-333/learn/readme#arabica-devnet-and-mocha-testnet","93":"/docs-preview/pr-333/learn/readme#cometbft-v0-38-x-and-cosmos-sdk-v0-50-x","94":"/docs-preview/pr-333/learn/readme#tools","95":"/docs-preview/pr-333/learn/readme#helpful-commands","96":"/docs-preview/pr-333/learn/readme#contributing","97":"/docs-preview/pr-333/learn/readme#dependency-graph","98":"/docs-preview/pr-333/learn/readme#code-of-conduct","99":"/docs-preview/pr-333/learn/rollup-glossary#rollup-glossary","100":"/docs-preview/pr-333/learn/rollup-glossary#terminology","101":"/docs-preview/pr-333/learn/rollup-glossary#aggregation","102":"/docs-preview/pr-333/learn/rollup-glossary#based-rollup","103":"/docs-preview/pr-333/learn/rollup-glossary#execution","104":"/docs-preview/pr-333/learn/rollup-glossary#header-production","105":"/docs-preview/pr-333/learn/rollup-glossary#inclusion","106":"/docs-preview/pr-333/learn/rollup-glossary#ordering","107":"/docs-preview/pr-333/learn/rollup-glossary#pessimistic-rollup","108":"/docs-preview/pr-333/learn/rollup-glossary#rollup-block","109":"/docs-preview/pr-333/learn/rollup-glossary#rollup-data","110":"/docs-preview/pr-333/learn/rollup-glossary#rollup-header","111":"/docs-preview/pr-333/learn/rollup-glossary#rollups","112":"/docs-preview/pr-333/learn/rollup-glossary#sequencing","113":"/docs-preview/pr-333/learn/stack#rollkit-stack","114":"/docs-preview/pr-333/learn/stack#application-structure","115":"/docs-preview/pr-333/learn/stack#abci-interface","116":"/docs-preview/pr-333/learn/stack#cosmos-sdk","117":"/docs-preview/pr-333/learn/stack#data-availability","118":"/docs-preview/pr-333/learn/stack#celestia","119":"/docs-preview/pr-333/learn/stack#node-components","120":"/docs-preview/pr-333/learn/stack#mempool","121":"/docs-preview/pr-333/learn/stack#block-manager","122":"/docs-preview/pr-333/learn/stack#rpc","123":"/docs-preview/pr-333/learn/stack#p2p-layer","124":"/docs-preview/pr-333/learn/stack#rollkit-node-types","125":"/docs-preview/pr-333/learn/stack#full-node","126":"/docs-preview/pr-333/learn/stack#light-node-work-in-progress","127":"/docs-preview/pr-333/learn/stack#sequencer-node","128":"/docs-preview/pr-333/learn/stack#state-validity-modes","129":"/docs-preview/pr-333/learn/stack#pessimistic-full-nodes-only","130":"/docs-preview/pr-333/learn/stack#optimistic-fraud-proofs-work-in-progress","131":"/docs-preview/pr-333/learn/stack#validity-zk-proofs","132":"/docs-preview/pr-333/learn/transaction-flow#transaction-flow","133":"/docs-preview/pr-333/learn/transaction-flow#transaction-submission","134":"/docs-preview/pr-333/learn/transaction-flow#transaction-validation-and-processing","135":"/docs-preview/pr-333/learn/transaction-flow#block-processing","136":"/docs-preview/pr-333/learn/transaction-flow#fraud-proof-gossip-and-forking","137":"/docs-preview/pr-333/tutorials/bitcoin#bitcoin-rollup-tutorial","138":"/docs-preview/pr-333/tutorials/bitcoin#☀️introduction","139":"/docs-preview/pr-333/tutorials/bitcoin#📖-the-stack","140":"/docs-preview/pr-333/tutorials/bitcoin#💻-prerequisites","141":"/docs-preview/pr-333/tutorials/bitcoin#🛠️-dependency-setup","142":"/docs-preview/pr-333/tutorials/bitcoin#🏃-golang","143":"/docs-preview/pr-333/tutorials/bitcoin#⚒️-foundry","144":"/docs-preview/pr-333/tutorials/bitcoin#🪙-install-bitcoin","145":"/docs-preview/pr-333/tutorials/bitcoin#🟢-running-a-local-bitcoin-network","146":"/docs-preview/pr-333/tutorials/bitcoin#👛-create-a-wallet-for-the-chain","147":"/docs-preview/pr-333/tutorials/bitcoin#🎬-start-generating-blocks","148":"/docs-preview/pr-333/tutorials/bitcoin#🧊-block-height","149":"/docs-preview/pr-333/tutorials/bitcoin#🧊-block-hash","150":"/docs-preview/pr-333/tutorials/bitcoin#🧊-block-header","151":"/docs-preview/pr-333/tutorials/bitcoin#🎬-restarting-the-local-network","152":"/docs-preview/pr-333/tutorials/bitcoin#🏃‍♀️-running-the-ethermint-rollup","153":"/docs-preview/pr-333/tutorials/bitcoin#⚡️-initialize-development-environment","154":"/docs-preview/pr-333/tutorials/bitcoin#📒-updating-the-contract-and-tests","155":"/docs-preview/pr-333/tutorials/bitcoin#📜-updating-the-deployment-script","156":"/docs-preview/pr-333/tutorials/bitcoin#🏠-deploying-locally","157":"/docs-preview/pr-333/tutorials/bitcoin#🧪-deploying-to-the-ethermint-sovereign-rollup","158":"/docs-preview/pr-333/tutorials/block-times#how-to-change-speed-of-block-production","159":"/docs-preview/pr-333/tutorials/cosmwasm#🗞️-cosmwasm-rollup","160":"/docs-preview/pr-333/tutorials/cosmwasm#dependencies","161":"/docs-preview/pr-333/tutorials/cosmwasm#environment","162":"/docs-preview/pr-333/tutorials/cosmwasm#install-golang","163":"/docs-preview/pr-333/tutorials/cosmwasm#install-rust","164":"/docs-preview/pr-333/tutorials/cosmwasm#rustup","165":"/docs-preview/pr-333/tutorials/cosmwasm#docker-installation","166":"/docs-preview/pr-333/tutorials/cosmwasm#wasmd-installation","167":"/docs-preview/pr-333/tutorials/cosmwasm#celestia-node","168":"/docs-preview/pr-333/tutorials/cosmwasm#setting-up-environment-on-celestia","169":"/docs-preview/pr-333/tutorials/cosmwasm#initialize-rollup","170":"/docs-preview/pr-333/tutorials/cosmwasm#view-script","171":"/docs-preview/pr-333/tutorials/cosmwasm#contract-deployment-on-cosmwasm","172":"/docs-preview/pr-333/tutorials/cosmwasm#compile-smart-contract","173":"/docs-preview/pr-333/tutorials/cosmwasm#unit-tests","174":"/docs-preview/pr-333/tutorials/cosmwasm#optimized-smart-contract","175":"/docs-preview/pr-333/tutorials/cosmwasm#contract-deployment","176":"/docs-preview/pr-333/tutorials/cosmwasm#contract-interaction-on-celestia","177":"/docs-preview/pr-333/tutorials/cosmwasm#contract-querying","178":"/docs-preview/pr-333/tutorials/cosmwasm#contract-instantiation","179":"/docs-preview/pr-333/tutorials/cosmwasm#contract-interaction","180":"/docs-preview/pr-333/tutorials/full-and-sequencer-node#full-and-sequencer-node-rollup-setup","181":"/docs-preview/pr-333/tutorials/full-and-sequencer-node#about","182":"/docs-preview/pr-333/tutorials/full-and-sequencer-node#prerequisites","183":"/docs-preview/pr-333/tutorials/full-and-sequencer-node#getting-started","184":"/docs-preview/pr-333/tutorials/full-and-sequencer-node#clone-the-script","185":"/docs-preview/pr-333/tutorials/full-and-sequencer-node#set-da-height","186":"/docs-preview/pr-333/tutorials/full-and-sequencer-node#update-the-p2p-address","187":"/docs-preview/pr-333/tutorials/full-and-sequencer-node#start-the-full-node","188":"/docs-preview/pr-333/tutorials/gas-price#how-to-configure-gas-price","189":"/docs-preview/pr-333/tutorials/gm-world-frontend#gm-world-frontend-tutorial","190":"/docs-preview/pr-333/tutorials/gm-world-frontend#getting-started","191":"/docs-preview/pr-333/tutorials/gm-world-frontend#setting-up-the-frontend","192":"/docs-preview/pr-333/tutorials/gm-world-frontend#adding-your-gm-portal-chain-to-the-config","193":"/docs-preview/pr-333/tutorials/gm-world-mainnet#gm-world-rollup-part-3","194":"/docs-preview/pr-333/tutorials/gm-world-mainnet#deploying-to-celestia-mainnet-beta","195":"/docs-preview/pr-333/tutorials/gm-world-mainnet#run-celestia-node","196":"/docs-preview/pr-333/tutorials/gm-world-mainnet#clear-previous-chain-history","197":"/docs-preview/pr-333/tutorials/gm-world-mainnet#start-the-rollup-on-mainnet","198":"/docs-preview/pr-333/tutorials/gm-world-mainnet#restarting-your-rollup","199":"/docs-preview/pr-333/tutorials/gm-world-mainnet#next-steps","200":"/docs-preview/pr-333/tutorials/gm-world-testnet#gm-world-rollup-part-2","201":"/docs-preview/pr-333/tutorials/gm-world-testnet#deploying-to-a-celestia-testnet","202":"/docs-preview/pr-333/tutorials/gm-world-testnet#run-celestia-node","203":"/docs-preview/pr-333/tutorials/gm-world-testnet#start-your-sovereign-rollup","204":"/docs-preview/pr-333/tutorials/gm-world-testnet#clear-previous-chain-history","205":"/docs-preview/pr-333/tutorials/gm-world-testnet#start-the-new-chain","206":"/docs-preview/pr-333/tutorials/gm-world-testnet#optional-restarting-your-rollup","207":"/docs-preview/pr-333/tutorials/gm-world-testnet#optional-add-a-gm-world-query","208":"/docs-preview/pr-333/tutorials/gm-world-testnet#say-gm-world","209":"/docs-preview/pr-333/tutorials/gm-world-testnet#create-first-query","210":"/docs-preview/pr-333/tutorials/gm-world-testnet#query-request-and-response-types","211":"/docs-preview/pr-333/tutorials/gm-world-testnet#gm-keeper-function","212":"/docs-preview/pr-333/tutorials/gm-world-testnet#restart-your-rollup","213":"/docs-preview/pr-333/tutorials/gm-world-testnet#query-your-rollup","214":"/docs-preview/pr-333/tutorials/gm-world-testnet#next-steps","215":"/docs-preview/pr-333/tutorials/gm-world#gm-world-rollup-part-1","216":"/docs-preview/pr-333/tutorials/gm-world#building-a-rollup-locally","217":"/docs-preview/pr-333/tutorials/gm-world#introduction","218":"/docs-preview/pr-333/tutorials/gm-world#what-is-gm","219":"/docs-preview/pr-333/tutorials/gm-world#dependencies","220":"/docs-preview/pr-333/tutorials/gm-world#linux-setup","221":"/docs-preview/pr-333/tutorials/gm-world#install-golang-linux","222":"/docs-preview/pr-333/tutorials/gm-world#install-ignite-cli-linux","223":"/docs-preview/pr-333/tutorials/gm-world#macos-setup","224":"/docs-preview/pr-333/tutorials/gm-world#install-golang-mac","225":"/docs-preview/pr-333/tutorials/gm-world#install-ignite-mac","226":"/docs-preview/pr-333/tutorials/gm-world#install-homebrew-mac","227":"/docs-preview/pr-333/tutorials/gm-world#install-wget-mac","228":"/docs-preview/pr-333/tutorials/gm-world#part-1","229":"/docs-preview/pr-333/tutorials/gm-world#prerequisites","230":"/docs-preview/pr-333/tutorials/gm-world#running-local-devnet-rollup","231":"/docs-preview/pr-333/tutorials/gm-world#building-your-sovereign-rollup","232":"/docs-preview/pr-333/tutorials/gm-world#install-rollkit","233":"/docs-preview/pr-333/tutorials/gm-world#start-your-rollup","234":"/docs-preview/pr-333/tutorials/gm-world#keys","235":"/docs-preview/pr-333/tutorials/gm-world#transactions","236":"/docs-preview/pr-333/tutorials/gm-world#balances","237":"/docs-preview/pr-333/tutorials/gm-world#next-steps","238":"/docs-preview/pr-333/tutorials/ibc-connection#ibc-connection-tutorial","239":"/docs-preview/pr-333/tutorials/ibc-connection#prerequisites","240":"/docs-preview/pr-333/tutorials/ibc-connection#software-requirements","241":"/docs-preview/pr-333/tutorials/ibc-connection#run-a-gm-rollup-chain","242":"/docs-preview/pr-333/tutorials/ibc-connection#run-your-local-osmosis-testnet","243":"/docs-preview/pr-333/tutorials/ibc-connection#install-osmosis-binary","244":"/docs-preview/pr-333/tutorials/ibc-connection#run-local-osmosis-testnet","245":"/docs-preview/pr-333/tutorials/ibc-connection#funds","246":"/docs-preview/pr-333/tutorials/ibc-connection#setup-relayer-create-ibc-connection-and-start-relaying-packets","247":"/docs-preview/pr-333/tutorials/ibc-connection#install-relayer","248":"/docs-preview/pr-333/tutorials/ibc-connection#setup-relayer-config","249":"/docs-preview/pr-333/tutorials/ibc-connection#create-relayer-account","250":"/docs-preview/pr-333/tutorials/ibc-connection#create-ibc-channel","251":"/docs-preview/pr-333/tutorials/ibc-connection#start-relaying-packets","252":"/docs-preview/pr-333/tutorials/ibc-connection#transfer-token-from-rollup-chain-to-osmosis-local","253":"/docs-preview/pr-333/tutorials/ibc-connection#transfer-token-back-from-osmosis-local-to-rollup-chain","254":"/docs-preview/pr-333/tutorials/lazy-sequencing#how-to-use-lazy-sequencing-aggregation","255":"/docs-preview/pr-333/tutorials/overview#tutorials","256":"/docs-preview/pr-333/tutorials/overview#support","257":"/docs-preview/pr-333/tutorials/polaris-evm#polaris-evm-and-rollkit","258":"/docs-preview/pr-333/tutorials/polaris-evm#prerequisites","259":"/docs-preview/pr-333/tutorials/polaris-evm#run-a-local-celestia-devnet","260":"/docs-preview/pr-333/tutorials/polaris-evm#clone-the-repo","261":"/docs-preview/pr-333/tutorials/polaris-evm#install-foundry","262":"/docs-preview/pr-333/tutorials/polaris-evm#start-the-polaris-evm-using-rollkit","263":"/docs-preview/pr-333/tutorials/polaris-evm#congratulations","264":"/docs-preview/pr-333/tutorials/polaris-evm#funds","265":"/docs-preview/pr-333/tutorials/polaris-evm#frontend","266":"/docs-preview/pr-333/tutorials/polaris-evm#deploy-the-ooga-booga-portal-contract","267":"/docs-preview/pr-333/tutorials/polaris-evm#interact-with-the-contract","268":"/docs-preview/pr-333/tutorials/polaris-evm#start-and-update-the-frontend","269":"/docs-preview/pr-333/tutorials/polaris-evm#interact-with-the-frontend","270":"/docs-preview/pr-333/tutorials/polaris-evm#running-polaris-evm-with-a-celestia-light-node","271":"/docs-preview/pr-333/tutorials/polaris-evm#start-your-light-node","272":"/docs-preview/pr-333/tutorials/polaris-evm#setup-polaris-script","273":"/docs-preview/pr-333/tutorials/polaris-evm#start-the-evm-rollup","274":"/docs-preview/pr-333/tutorials/recipe-book#🥗-recipe-book-rollup","275":"/docs-preview/pr-333/tutorials/recipe-book#overview","276":"/docs-preview/pr-333/tutorials/recipe-book#prerequisites","277":"/docs-preview/pr-333/tutorials/recipe-book#scaffolding-your-rollup","278":"/docs-preview/pr-333/tutorials/recipe-book#ignite-scaffold-recipes-rollup","279":"/docs-preview/pr-333/tutorials/recipe-book#installing-rollkit","280":"/docs-preview/pr-333/tutorials/recipe-book#message-types","281":"/docs-preview/pr-333/tutorials/recipe-book#create-message-types","282":"/docs-preview/pr-333/tutorials/recipe-book#diving-deeper-into-message-code","283":"/docs-preview/pr-333/tutorials/recipe-book#define-messages-logic","284":"/docs-preview/pr-333/tutorials/recipe-book#keepers","285":"/docs-preview/pr-333/tutorials/recipe-book#define-recipe-and-appendrecipe","286":"/docs-preview/pr-333/tutorials/recipe-book#define-keeper-methods","287":"/docs-preview/pr-333/tutorials/recipe-book#querying-recipes","288":"/docs-preview/pr-333/tutorials/recipe-book#query-recipes","289":"/docs-preview/pr-333/tutorials/recipe-book#running-recipes-rollup","290":"/docs-preview/pr-333/tutorials/recipe-book#run-celestia-light-node","291":"/docs-preview/pr-333/tutorials/recipe-book#start-recipes-rollup","292":"/docs-preview/pr-333/tutorials/recipe-book#query-recipes-with-cli","293":"/docs-preview/pr-333/tutorials/restart-rollup#🔄-how-to-restart-your-rollup","294":"/docs-preview/pr-333/tutorials/restart-rollup#restart-rollup","295":"/docs-preview/pr-333/tutorials/restart-rollup#restart-rollup-after-running-out-of-funds","296":"/docs-preview/pr-333/tutorials/restart-rollup#errors","297":"/docs-preview/pr-333/tutorials/restart-rollup#refund-your-account","298":"/docs-preview/pr-333/tutorials/restart-rollup#stopping-your-rollup","299":"/docs-preview/pr-333/tutorials/restart-rollup#increase-gas-fee","300":"/docs-preview/pr-333/tutorials/restart-rollup#restarting-your-rollup","301":"/docs-preview/pr-333/tutorials/restart-rollup#reduce-gas-fee-restart-again","302":"/docs-preview/pr-333/tutorials/rollup-docker#starter-rollup-with-docker","303":"/docs-preview/pr-333/tutorials/rollup-docker#prerequisites","304":"/docs-preview/pr-333/tutorials/rollup-docker#clone-the-repository","305":"/docs-preview/pr-333/tutorials/starter-rollup#starter-rollup","306":"/docs-preview/pr-333/tutorials/starter-rollup#prerequisites","307":"/docs-preview/pr-333/tutorials/starter-rollup#clone-the-repo","308":"/docs-preview/pr-333/tutorials/starter-rollup#run-a-local-celestia-devnet","309":"/docs-preview/pr-333/tutorials/starter-rollup#start-the-starter-rollup","310":"/docs-preview/pr-333/tutorials/starter-rollup#next-steps","311":"/docs-preview/pr-333/tutorials/wordle#🕹️-wordle-app","312":"/docs-preview/pr-333/tutorials/wordle#prerequisites","313":"/docs-preview/pr-333/tutorials/wordle#design-implementation","314":"/docs-preview/pr-333/tutorials/wordle#ignite-scaffold-wordle-chain","315":"/docs-preview/pr-333/tutorials/wordle#ignite","316":"/docs-preview/pr-333/tutorials/wordle#scaffolding-wordle-chain","317":"/docs-preview/pr-333/tutorials/wordle#wordle-directory","318":"/docs-preview/pr-333/tutorials/wordle#setting-up-rollkit","319":"/docs-preview/pr-333/tutorials/wordle#installing-rollkit","320":"/docs-preview/pr-333/tutorials/wordle#creating-wordle-module","321":"/docs-preview/pr-333/tutorials/wordle#scaffolding-a-module","322":"/docs-preview/pr-333/tutorials/wordle#messages","323":"/docs-preview/pr-333/tutorials/wordle#scaffolding-a-message","324":"/docs-preview/pr-333/tutorials/wordle#wordle-types","325":"/docs-preview/pr-333/tutorials/wordle#scaffolding-wordle-types","326":"/docs-preview/pr-333/tutorials/wordle#keeper-functions","327":"/docs-preview/pr-333/tutorials/wordle#submitwordle-function","328":"/docs-preview/pr-333/tutorials/wordle#submitguess-function","329":"/docs-preview/pr-333/tutorials/wordle#protobuf-file","330":"/docs-preview/pr-333/tutorials/wordle#⛓️-run-the-wordle-chain","331":"/docs-preview/pr-333/tutorials/wordle#run-celestia-light-node","332":"/docs-preview/pr-333/tutorials/wordle#build-and-run-wordle-chain","333":"/docs-preview/pr-333/tutorials/wordle#extending-in-the-future"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[3,1,24],"1":[3,3,20],"2":[2,3,69],"3":[2,3,41],"4":[3,3,25],"5":[6,1,106],"6":[3,6,42],"7":[6,6,92],"8":[3,6,92],"9":[3,6,55],"10":[2,8,44],"11":[1,8,38],"12":[2,8,28],"13":[2,8,78],"14":[3,6,164],"15":[2,6,77],"16":[6,1,94],"17":[2,6,44],"18":[3,6,143],"19":[6,6,85],"20":[1,6,70],"21":[1,1,22],"22":[3,1,19],"23":[6,1,83],"24":[2,6,43],"25":[6,6,129],"26":[9,6,46],"27":[6,6,110],"28":[4,6,34],"29":[1,6,90],"30":[2,1,66],"31":[4,2,99],"32":[6,2,1],"33":[4,7,38],"34":[6,7,102],"35":[3,2,181],"36":[6,2,24],"37":[5,7,37],"38":[5,7,48],"39":[4,7,47],"40":[6,2,78],"41":[2,1,1],"42":[1,2,28],"43":[1,2,13],"44":[1,2,12],"45":[2,2,25],"46":[2,2,11],"47":[1,2,12],"48":[3,2,8],"49":[4,2,8],"50":[2,1,1],"51":[1,2,35],"52":[1,2,13],"53":[1,2,2],"54":[2,2,2],"55":[2,2,2],"56":[1,2,2],"57":[3,2,2],"58":[4,2,2],"59":[7,1,41],"60":[2,7,9],"61":[2,7,5],"62":[2,7,7],"63":[2,7,73],"64":[3,1,75],"65":[3,3,1],"66":[1,6,5],"67":[1,6,8],"68":[2,7,4],"69":[1,6,2],"70":[1,7,11],"71":[1,7,5],"72":[1,7,12],"73":[1,6,12],"74":[1,6,15],"75":[1,1,29],"76":[3,1,10],"77":[6,1,1],"78":[1,6,35],"79":[1,6,13],"80":[1,6,59],"81":[2,6,25],"82":[2,6,56],"83":[1,6,12],"84":[3,6,3],"85":[4,6,51],"86":[1,1,23],"87":[3,1,20],"88":[3,1,33],"89":[3,3,23],"90":[1,5,31],"91":[3,5,24],"92":[5,5,26],"93":[8,5,38],"94":[1,3,7],"95":[2,1,23],"96":[1,1,73],"97":[2,1,14],"98":[3,1,7],"99":[2,1,12],"100":[1,2,1],"101":[1,3,15],"102":[2,3,12],"103":[1,3,19],"104":[2,3,15],"105":[1,3,12],"106":[1,3,13],"107":[2,3,20],"108":[2,3,21],"109":[2,3,16],"110":[2,3,16],"111":[1,3,18],"112":[1,3,10],"113":[2,1,61],"114":[2,2,2],"115":[2,4,37],"116":[2,6,65],"117":[2,4,77],"118":[1,6,58],"119":[2,2,1],"120":[1,4,43],"121":[2,4,82],"122":[1,4,49],"123":[2,4,68],"124":[3,2,9],"125":[2,4,24],"126":[6,4,45],"127":[2,4,107],"128":[3,2,1],"129":[5,5,38],"130":[7,5,114],"131":[4,5,12],"132":[2,1,41],"133":[2,2,2],"134":[4,2,2],"135":[2,2,2],"136":[5,2,125],"137":[3,1,1],"138":[1,3,78],"139":[3,4,63],"140":[2,3,16],"141":[3,3,50],"142":[2,6,87],"143":[2,6,24],"144":[3,6,30],"145":[6,3,20],"146":[7,8,31],"147":[4,8,90],"148":[3,12,33],"149":[3,12,28],"150":[3,12,31],"151":[5,12,28],"152":[5,3,86],"153":[4,7,52],"154":[6,7,149],"155":[5,7,69],"156":[3,7,100],"157":[7,7,109],"158":[7,1,83],"159":[3,1,95],"160":[4,3,1],"161":[3,6,23],"162":[3,6,18],"163":[3,6,1],"164":[2,9,124],"165":[3,6,38],"166":[3,6,90],"167":[3,6,117],"168":[9,3,19],"169":[8,11,69],"170":[8,11,21],"171":[7,3,1],"172":[5,9,41],"173":[3,9,23],"174":[4,9,81],"175":[3,9,113],"176":[7,3,49],"177":[3,9,83],"178":[3,9,69],"179":[3,9,164],"180":[6,1,23],"181":[1,6,30],"182":[1,6,25],"183":[2,6,47],"184":[3,8,27],"185":[3,8,25],"186":[4,8,98],"187":[4,6,25],"188":[5,1,91],"189":[4,1,59],"190":[2,4,24],"191":[4,4,102],"192":[8,4,270],"193":[5,1,34],"194":[5,5,1],"195":[6,10,133],"196":[4,10,22],"197":[5,10,74],"198":[3,14,32],"199":[2,5,31],"200":[5,1,1],"201":[5,5,36],"202":[6,10,116],"203":[5,10,49],"204":[4,14,22],"205":[4,14,34],"206":[4,10,40],"207":[7,10,1],"208":[4,14,72],"209":[5,17,105],"210":[6,17,29],"211":[4,17,100],"212":[3,17,12],"213":[3,17,19],"214":[2,5,41],"215":[5,1,1],"216":[4,5,1],"217":[2,8,115],"218":[5,5,32],"219":[1,5,26],"220":[2,5,1],"221":[5,7,24],"222":[6,7,178],"223":[2,5,1],"224":[5,7,24],"225":[6,11,170],"226":[5,7,60],"227":[5,7,18],"228":[2,5,94],"229":[2,5,6],"230":[8,5,67],"231":[5,5,145],"232":[3,5,40],"233":[4,5,96],"234":[2,8,36],"235":[2,8,156],"236":[2,8,47],"237":[2,5,25],"238":[3,1,72],"239":[3,3,1],"240":[2,6,15],"241":[5,3,112],"242":[5,3,1],"243":[3,8,17],"244":[4,8,81],"245":[1,3,34],"246":[9,3,72],"247":[2,10,38],"248":[3,10,107],"249":[3,10,48],"250":[3,10,169],"251":[3,10,25],"252":[8,10,105],"253":[9,10,80],"254":[7,1,57],"255":[1,1,116],"256":[2,1,73],"257":[4,1,55],"258":[1,4,28],"259":[5,4,36],"260":[3,4,25],"261":[2,4,9],"262":[6,4,15],"263":[1,4,67],"264":[1,4,44],"265":[1,4,41],"266":[6,5,106],"267":[4,5,31],"268":[5,5,56],"269":[4,5,73],"270":[8,4,83],"271":[4,10,108],"272":[3,10,73],"273":[4,10,41],"274":[4,1,1],"275":[2,4,98],"276":[2,4,4],"277":[4,4,1],"278":[9,7,31],"279":[3,7,36],"280":[3,4,1],"281":[4,7,58],"282":[7,10,37],"283":[4,7,82],"284":[2,4,1],"285":[8,6,31],"286":[4,6,154],"287":[3,4,1],"288":[3,7,143],"289":[5,4,1],"290":[6,8,134],"291":[5,8,107],"292":[7,8,24],"293":[6,1,12],"294":[2,6,99],"295":[7,6,105],"296":[5,12,50],"297":[5,12,43],"298":[4,12,23],"299":[5,12,45],"300":[4,12,7],"301":[7,12,65],"302":[4,1,13],"303":[1,4,6],"304":[3,4,19],"305":[2,1,40],"306":[1,2,6],"307":[3,2,19],"308":[5,2,118],"309":[4,2,34],"310":[2,2,17],"311":[3,1,81],"312":[3,3,60],"313":[3,3,110],"314":[7,3,1],"315":[2,10,108],"316":[5,10,97],"317":[3,10,114],"318":[4,3,16],"319":[3,7,48],"320":[5,3,55],"321":[4,8,70],"322":[2,3,73],"323":[4,5,32],"324":[3,3,15],"325":[4,5,48],"326":[3,3,62],"327":[3,6,219],"328":[3,6,289],"329":[3,6,80],"330":[5,3,1],"331":[6,8,133],"332":[6,8,285],"333":[5,8,85]},"averageFieldLength":[3.455089820359283,5.314371257485031,49.89820359281437],"storedFields":{"0":{"title":"Rollkit Documentation Site","titles":[]},"1":{"title":"Building the site","titles":["Rollkit Documentation Site"]},"2":{"title":"Contribution Guidelines","titles":["Rollkit Documentation Site"]},"3":{"title":"Directory Structure","titles":["Rollkit Documentation Site"]},"4":{"title":"Feedback & Suggestions","titles":["Rollkit Documentation Site"]},"5":{"title":"Introducing Rollkit: a modular rollup framework","titles":[]},"6":{"title":"Tl;dr:","titles":["Introducing Rollkit: a modular rollup framework"]},"7":{"title":"Deploying a new chain is hard","titles":["Introducing Rollkit: a modular rollup framework"]},"8":{"title":"Freedom to deploy","titles":["Introducing Rollkit: a modular rollup framework"]},"9":{"title":"Vision for Rollkit","titles":["Introducing Rollkit: a modular rollup framework"]},"10":{"title":"Execution environments","titles":["Introducing Rollkit: a modular rollup framework","Vision for Rollkit"]},"11":{"title":"Sequencers","titles":["Introducing Rollkit: a modular rollup framework","Vision for Rollkit"]},"12":{"title":"Proof schemes","titles":["Introducing Rollkit: a modular rollup framework","Vision for Rollkit"]},"13":{"title":"Rollup types","titles":["Introducing Rollkit: a modular rollup framework","Vision for Rollkit"]},"14":{"title":"Rollkit is neutral","titles":["Introducing Rollkit: a modular rollup framework"]},"15":{"title":"Next steps","titles":["Introducing Rollkit: a modular rollup framework"]},"16":{"title":"Let\'s Roll - Rollkit\'s community call","titles":[]},"17":{"title":"TL;DR","titles":["Let\'s Roll - Rollkit\'s community call"]},"18":{"title":"Just merge it","titles":["Let\'s Roll - Rollkit\'s community call"]},"19":{"title":"What is Let’s Roll?","titles":["Let\'s Roll - Rollkit\'s community call"]},"20":{"title":"Conclusion","titles":["Let\'s Roll - Rollkit\'s community call"]},"21":{"title":"Blog","titles":[]},"22":{"title":"Table of contents","titles":["Blog"]},"23":{"title":"Sovereign rollups on Bitcoin with Rollkit","titles":[]},"24":{"title":"Tl;dr","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"25":{"title":"Posting data on Bitcoin with Taproot","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"26":{"title":"Integrating Bitcoin as a data availability layer into Rollkit","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"27":{"title":"How Rollkit posts data to Bitcoin","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"28":{"title":"EVM on Bitcoin demo","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"29":{"title":"Conclusion","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"30":{"title":"About Rollkit","titles":[]},"31":{"title":"What is Rollkit?","titles":["About Rollkit"]},"32":{"title":"What problems is Rollkit solving?","titles":["About Rollkit"]},"33":{"title":"1. Scalability and customizability","titles":["About Rollkit","What problems is Rollkit solving?"]},"34":{"title":"2. Security and time to market","titles":["About Rollkit","What problems is Rollkit solving?"]},"35":{"title":"Why Rollkit?","titles":["About Rollkit"]},"36":{"title":"How can you use Rollkit?","titles":["About Rollkit"]},"37":{"title":"Rollup with any execution environment","titles":["About Rollkit","How can you use Rollkit?"]},"38":{"title":"Sovereign rollup with Cosmos SDK","titles":["About Rollkit","How can you use Rollkit?"]},"39":{"title":"Build a settlement layer","titles":["About Rollkit","How can you use Rollkit?"]},"40":{"title":"When can you use Rollkit?","titles":["About Rollkit"]},"41":{"title":"Basic Rollup","titles":[]},"42":{"title":"Description","titles":["Basic Rollup"]},"43":{"title":"Design","titles":["Basic Rollup"]},"44":{"title":"Aggregation","titles":["Basic Rollup"]},"45":{"title":"Header Production","titles":["Basic Rollup"]},"46":{"title":"Censorship Resistance","titles":["Basic Rollup"]},"47":{"title":"Liveness","titles":["Basic Rollup"]},"48":{"title":"Rollup Light Nodes","titles":["Basic Rollup"]},"49":{"title":"Smallest Trust-Minimized Setup","titles":["Basic Rollup"]},"50":{"title":"Basic Rollup","titles":[]},"51":{"title":"Description","titles":["Basic Rollup"]},"52":{"title":"Diagram","titles":["Basic Rollup"]},"53":{"title":"Aggregation","titles":["Basic Rollup"]},"54":{"title":"Header Production","titles":["Basic Rollup"]},"55":{"title":"Censorship Resistance","titles":["Basic Rollup"]},"56":{"title":"Liveness","titles":["Basic Rollup"]},"57":{"title":"Rollup Light Nodes","titles":["Basic Rollup"]},"58":{"title":"Smallest Trust-Minimized Setup","titles":["Basic Rollup"]},"59":{"title":"🗞️ Building a rollup and testnet deployment","titles":[]},"60":{"title":"1. Beginner","titles":["🗞️ Building a rollup and testnet deployment"]},"61":{"title":"2️. Intermediate","titles":["🗞️ Building a rollup and testnet deployment"]},"62":{"title":"3️. Advanced","titles":["🗞️ Building a rollup and testnet deployment"]},"63":{"title":"💻 Support","titles":["🗞️ Building a rollup and testnet deployment"]},"64":{"title":"Introduction to Rollkit","titles":[]},"65":{"title":"Table of contents","titles":["Introduction to Rollkit"]},"66":{"title":"Introduction","titles":["Introduction to Rollkit","Table of contents"]},"67":{"title":"Learn","titles":["Introduction to Rollkit","Table of contents"]},"68":{"title":"Rollup Wiki","titles":["Introduction to Rollkit","Table of contents","Learn"]},"69":{"title":"Tutorials","titles":["Introduction to Rollkit","Table of contents"]},"70":{"title":"Beginner","titles":["Introduction to Rollkit","Table of contents","Tutorials"]},"71":{"title":"Intermediate","titles":["Introduction to Rollkit","Table of contents","Tutorials"]},"72":{"title":"Advanced","titles":["Introduction to Rollkit","Table of contents","Tutorials"]},"73":{"title":"Guides","titles":["Introduction to Rollkit","Table of contents"]},"74":{"title":"Blog","titles":["Introduction to Rollkit","Table of contents"]},"75":{"title":"Learn","titles":[]},"76":{"title":"Table of contents","titles":["Learn"]},"77":{"title":"Pessimistic Rollup with a Shared Sequencer","titles":[]},"78":{"title":"Description","titles":["Pessimistic Rollup with a Shared Sequencer"]},"79":{"title":"Design","titles":["Pessimistic Rollup with a Shared Sequencer"]},"80":{"title":"Aggregation","titles":["Pessimistic Rollup with a Shared Sequencer"]},"81":{"title":"Header Production","titles":["Pessimistic Rollup with a Shared Sequencer"]},"82":{"title":"Censorship Resistance","titles":["Pessimistic Rollup with a Shared Sequencer"]},"83":{"title":"Liveness","titles":["Pessimistic Rollup with a Shared Sequencer"]},"84":{"title":"Rollup Light Nodes","titles":["Pessimistic Rollup with a Shared Sequencer"]},"85":{"title":"Smallest Trust-Minimized Setup","titles":["Pessimistic Rollup with a Shared Sequencer"]},"86":{"title":"Rollkit","titles":[]},"87":{"title":"Building from source","titles":["Rollkit"]},"88":{"title":"Building with Rollkit","titles":["Rollkit"]},"89":{"title":"Building on Celestia","titles":["Rollkit","Building with Rollkit"]},"90":{"title":"Compatibility","titles":["Rollkit","Building with Rollkit","Building on Celestia"]},"91":{"title":"Local development environment","titles":["Rollkit","Building with Rollkit","Building on Celestia"]},"92":{"title":"Arabica devnet and Mocha testnet","titles":["Rollkit","Building with Rollkit","Building on Celestia"]},"93":{"title":"Cometbft v0.38.x and Cosmos-SDK v0.50.x","titles":["Rollkit","Building with Rollkit","Building on Celestia"]},"94":{"title":"Tools","titles":["Rollkit","Building with Rollkit"]},"95":{"title":"Helpful commands","titles":["Rollkit"]},"96":{"title":"Contributing","titles":["Rollkit"]},"97":{"title":"Dependency graph","titles":["Rollkit"]},"98":{"title":"Code of Conduct","titles":["Rollkit"]},"99":{"title":"Rollup glossary","titles":[]},"100":{"title":"Terminology","titles":["Rollup glossary"]},"101":{"title":"Aggregation","titles":["Rollup glossary","Terminology"]},"102":{"title":"Based rollup","titles":["Rollup glossary","Terminology"]},"103":{"title":"Execution","titles":["Rollup glossary","Terminology"]},"104":{"title":"Header production","titles":["Rollup glossary","Terminology"]},"105":{"title":"Inclusion","titles":["Rollup glossary","Terminology"]},"106":{"title":"Ordering","titles":["Rollup glossary","Terminology"]},"107":{"title":"Pessimistic rollup","titles":["Rollup glossary","Terminology"]},"108":{"title":"Rollup Block","titles":["Rollup glossary","Terminology"]},"109":{"title":"Rollup Data","titles":["Rollup glossary","Terminology"]},"110":{"title":"Rollup Header","titles":["Rollup glossary","Terminology"]},"111":{"title":"Rollups","titles":["Rollup glossary","Terminology"]},"112":{"title":"Sequencing","titles":["Rollup glossary","Terminology"]},"113":{"title":"Rollkit stack","titles":[]},"114":{"title":"Application structure","titles":["Rollkit stack"]},"115":{"title":"ABCI interface","titles":["Rollkit stack","Application structure"]},"116":{"title":"Cosmos SDK","titles":["Rollkit stack","Application structure","ABCI interface"]},"117":{"title":"Data availability","titles":["Rollkit stack","Application structure"]},"118":{"title":"Celestia","titles":["Rollkit stack","Application structure","Data availability"]},"119":{"title":"Node components","titles":["Rollkit stack"]},"120":{"title":"Mempool","titles":["Rollkit stack","Node components"]},"121":{"title":"Block manager","titles":["Rollkit stack","Node components"]},"122":{"title":"RPC","titles":["Rollkit stack","Node components"]},"123":{"title":"P2P layer","titles":["Rollkit stack","Node components"]},"124":{"title":"Rollkit node types","titles":["Rollkit stack"]},"125":{"title":"Full node","titles":["Rollkit stack","Rollkit node types"]},"126":{"title":"Light node (work in progress)","titles":["Rollkit stack","Rollkit node types"]},"127":{"title":"Sequencer node","titles":["Rollkit stack","Rollkit node types"]},"128":{"title":"State validity modes","titles":["Rollkit stack"]},"129":{"title":"Pessimistic (full nodes only)","titles":["Rollkit stack","State validity modes"]},"130":{"title":"Optimistic (fraud proofs) (work in progress)","titles":["Rollkit stack","State validity modes"]},"131":{"title":"Validity (ZK proofs)","titles":["Rollkit stack","State validity modes"]},"132":{"title":"Transaction flow","titles":[]},"133":{"title":"Transaction submission","titles":["Transaction flow"]},"134":{"title":"Transaction validation and processing","titles":["Transaction flow"]},"135":{"title":"Block processing","titles":["Transaction flow"]},"136":{"title":"Fraud proof gossip and forking","titles":["Transaction flow"]},"137":{"title":"Bitcoin rollup tutorial","titles":[]},"138":{"title":"☀️Introduction","titles":["Bitcoin rollup tutorial"]},"139":{"title":"📖 The stack","titles":["Bitcoin rollup tutorial","☀️Introduction"]},"140":{"title":"💻 Prerequisites","titles":["Bitcoin rollup tutorial"]},"141":{"title":"🛠️ Dependency setup","titles":["Bitcoin rollup tutorial"]},"142":{"title":"🏃 Golang","titles":["Bitcoin rollup tutorial","🛠️ Dependency setup"]},"143":{"title":"⚒️ Foundry","titles":["Bitcoin rollup tutorial","🛠️ Dependency setup"]},"144":{"title":"🪙 Install Bitcoin","titles":["Bitcoin rollup tutorial","🛠️ Dependency setup"]},"145":{"title":"🟢 Running a local Bitcoin network","titles":["Bitcoin rollup tutorial"]},"146":{"title":"👛 Create a wallet for the chain","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network"]},"147":{"title":"🎬 Start generating blocks","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network"]},"148":{"title":"🧊 Block height","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network","🎬 Start generating blocks"]},"149":{"title":"🧊 Block hash","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network","🎬 Start generating blocks"]},"150":{"title":"🧊 Block header","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network","🎬 Start generating blocks"]},"151":{"title":"🎬 Restarting the local network","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network","🎬 Start generating blocks"]},"152":{"title":"🏃‍♀️ Running the Ethermint rollup","titles":["Bitcoin rollup tutorial"]},"153":{"title":"⚡️ Initialize development environment","titles":["Bitcoin rollup tutorial","🏃‍♀️ Running the Ethermint rollup"]},"154":{"title":"📒 Updating the contract and tests","titles":["Bitcoin rollup tutorial","🏃‍♀️ Running the Ethermint rollup"]},"155":{"title":"📜 Updating the deployment script","titles":["Bitcoin rollup tutorial","🏃‍♀️ Running the Ethermint rollup"]},"156":{"title":"🏠 Deploying locally","titles":["Bitcoin rollup tutorial","🏃‍♀️ Running the Ethermint rollup"]},"157":{"title":"🧪 Deploying to the Ethermint sovereign rollup","titles":["Bitcoin rollup tutorial","🏃‍♀️ Running the Ethermint rollup"]},"158":{"title":"How to change speed of block production","titles":[]},"159":{"title":"🗞️ CosmWasm rollup","titles":[]},"160":{"title":"💻 CosmWasm dependency installations","titles":["🗞️ CosmWasm rollup"]},"161":{"title":"🛠️ Environment setup","titles":["🗞️ CosmWasm rollup","💻 CosmWasm dependency installations"]},"162":{"title":"🏃 Golang dependency","titles":["🗞️ CosmWasm rollup","💻 CosmWasm dependency installations"]},"163":{"title":"🦀 Rust installation","titles":["🗞️ CosmWasm rollup","💻 CosmWasm dependency installations"]},"164":{"title":"🔨 Rustup","titles":["🗞️ CosmWasm rollup","💻 CosmWasm dependency installations","🦀 Rust installation"]},"165":{"title":"🐳 Docker installation","titles":["🗞️ CosmWasm rollup","💻 CosmWasm dependency installations"]},"166":{"title":"💻 Wasmd installation","titles":["🗞️ CosmWasm rollup","💻 CosmWasm dependency installations"]},"167":{"title":"✨ Celestia node","titles":["🗞️ CosmWasm rollup","💻 CosmWasm dependency installations"]},"168":{"title":"🌌 Setting up your environment for CosmWasm on Celestia","titles":["🗞️ CosmWasm rollup"]},"169":{"title":"🗞️ Initializing CosmWasm rollup with a bash script","titles":["🗞️ CosmWasm rollup","🌌 Setting up your environment for CosmWasm on Celestia"]},"170":{"title":"💠 Optional: see what\'s inside the script","titles":["🗞️ CosmWasm rollup","🌌 Setting up your environment for CosmWasm on Celestia"]},"171":{"title":"📒 Contract deployment on CosmWasm with Rollkit","titles":["🗞️ CosmWasm rollup"]},"172":{"title":"🤖 Compile the smart contract","titles":["🗞️ CosmWasm rollup","📒 Contract deployment on CosmWasm with Rollkit"]},"173":{"title":"🧪 Unit tests","titles":["🗞️ CosmWasm rollup","📒 Contract deployment on CosmWasm with Rollkit"]},"174":{"title":"🏎️ Optimized smart contract","titles":["🗞️ CosmWasm rollup","📒 Contract deployment on CosmWasm with Rollkit"]},"175":{"title":"🚀 Contract deployment","titles":["🗞️ CosmWasm rollup","📒 Contract deployment on CosmWasm with Rollkit"]},"176":{"title":"🌟 Contract interaction on CosmWasm with Celestia","titles":["🗞️ CosmWasm rollup"]},"177":{"title":"🔎 Contract querying","titles":["🗞️ CosmWasm rollup","🌟 Contract interaction on CosmWasm with Celestia"]},"178":{"title":"📃 Contract instantiation","titles":["🗞️ CosmWasm rollup","🌟 Contract interaction on CosmWasm with Celestia"]},"179":{"title":"📄 Contract interaction","titles":["🗞️ CosmWasm rollup","🌟 Contract interaction on CosmWasm with Celestia"]},"180":{"title":"Full and sequencer node rollup setup","titles":[]},"181":{"title":"About","titles":["Full and sequencer node rollup setup"]},"182":{"title":"Prerequisites","titles":["Full and sequencer node rollup setup"]},"183":{"title":"Getting started","titles":["Full and sequencer node rollup setup"]},"184":{"title":"Clone the script","titles":["Full and sequencer node rollup setup","Getting started"]},"185":{"title":"Set DA height","titles":["Full and sequencer node rollup setup","Getting started"]},"186":{"title":"Update the p2p address","titles":["Full and sequencer node rollup setup","Getting started"]},"187":{"title":"Start the full node","titles":["Full and sequencer node rollup setup"]},"188":{"title":"How to configure gas price","titles":[]},"189":{"title":"GM world frontend tutorial","titles":[]},"190":{"title":"Getting started","titles":["GM world frontend tutorial"]},"191":{"title":"Setting up the frontend","titles":["GM world frontend tutorial"]},"192":{"title":"Adding your GM portal chain to the config","titles":["GM world frontend tutorial"]},"193":{"title":"GM world rollup: Part 3","titles":[]},"194":{"title":"Deploying to Celestia Mainnet Beta","titles":["GM world rollup: Part 3"]},"195":{"title":"🪶 Run a Celestia light node","titles":["GM world rollup: Part 3","Deploying to Celestia Mainnet Beta"]},"196":{"title":"Clear previous chain history","titles":["GM world rollup: Part 3","Deploying to Celestia Mainnet Beta"]},"197":{"title":"Start the rollup on mainnet","titles":["GM world rollup: Part 3","Deploying to Celestia Mainnet Beta"]},"198":{"title":"Restarting your rollup","titles":["GM world rollup: Part 3","Deploying to Celestia Mainnet Beta","Start the rollup on mainnet"]},"199":{"title":"Next steps","titles":["GM world rollup: Part 3"]},"200":{"title":"GM world rollup: Part 2","titles":[]},"201":{"title":"Deploying to a Celestia testnet","titles":["GM world rollup: Part 2"]},"202":{"title":"🪶 Run a Celestia light node","titles":["GM world rollup: Part 2","Deploying to a Celestia testnet"]},"203":{"title":"🟢 Start your sovereign rollup","titles":["GM world rollup: Part 2","Deploying to a Celestia testnet"]},"204":{"title":"Clear previous chain history","titles":["GM world rollup: Part 2","Deploying to a Celestia testnet","🟢 Start your sovereign rollup"]},"205":{"title":"Start the new chain","titles":["GM world rollup: Part 2","Deploying to a Celestia testnet","🟢 Start your sovereign rollup"]},"206":{"title":"Optional: Restarting your rollup","titles":["GM world rollup: Part 2","Deploying to a Celestia testnet"]},"207":{"title":"Optional: Add a "GM world" query","titles":["GM world rollup: Part 2","Deploying to a Celestia testnet"]},"208":{"title":"💬 Say gm world","titles":["GM world rollup: Part 2","Deploying to a Celestia testnet","Optional: Add a "GM world" query"]},"209":{"title":"✋ Create your first query","titles":["GM world rollup: Part 2","Deploying to a Celestia testnet","Optional: Add a "GM world" query","💬 Say gm world"]},"210":{"title":"📨 Query request and response types","titles":["GM world rollup: Part 2","Deploying to a Celestia testnet","Optional: Add a "GM world" query","💬 Say gm world"]},"211":{"title":"👋 Gm keeper function","titles":["GM world rollup: Part 2","Deploying to a Celestia testnet","Optional: Add a "GM world" query","💬 Say gm world"]},"212":{"title":"Restart your rollup","titles":["GM world rollup: Part 2","Deploying to a Celestia testnet","Optional: Add a "GM world" query","💬 Say gm world"]},"213":{"title":"Query your rollup","titles":["GM world rollup: Part 2","Deploying to a Celestia testnet","Optional: Add a "GM world" query","💬 Say gm world"]},"214":{"title":"Next steps","titles":["GM world rollup: Part 2"]},"215":{"title":"GM world rollup: Part 1","titles":[]},"216":{"title":"Building a rollup locally","titles":["GM world rollup: Part 1"]},"217":{"title":"🌅 Introduction","titles":["GM world rollup: Part 1","Building a rollup locally"]},"218":{"title":"🤔 What is GM?","titles":["GM world rollup: Part 1"]},"219":{"title":"Dependencies","titles":["GM world rollup: Part 1"]},"220":{"title":"Linux setup","titles":["GM world rollup: Part 1"]},"221":{"title":"🏃 Install Golang on Linux","titles":["GM world rollup: Part 1","Linux setup"]},"222":{"title":"🔥 Install Ignite CLI on Linux","titles":["GM world rollup: Part 1","Linux setup"]},"223":{"title":"macOS setup","titles":["GM world rollup: Part 1"]},"224":{"title":"🏃 Install Golang on macOS","titles":["GM world rollup: Part 1","macOS setup"]},"225":{"title":"🔥 Install Ignite CLI on macOS","titles":["GM world rollup: Part 1","macOS setup","🏃 Install Golang on macOS"]},"226":{"title":"🍺 Install Homebrew on macOS","titles":["GM world rollup: Part 1","macOS setup"]},"227":{"title":"🏃 Install wget on macOS","titles":["GM world rollup: Part 1","macOS setup"]},"228":{"title":"Part 1","titles":["GM world rollup: Part 1"]},"229":{"title":"💻 Prerequisites","titles":["GM world rollup: Part 1","Part 1"]},"230":{"title":"🏠 Running local devnet with a Rollkit rollup","titles":["GM world rollup: Part 1","Part 1"]},"231":{"title":"🏗️ Building your sovereign rollup","titles":["GM world rollup: Part 1","Part 1"]},"232":{"title":"🗞️ Install Rollkit","titles":["GM world rollup: Part 1","Part 1"]},"233":{"title":"▶️ Start your rollup","titles":["GM world rollup: Part 1","Part 1"]},"234":{"title":"🔑 Keys","titles":["GM world rollup: Part 1","Part 1","▶️ Start your rollup"]},"235":{"title":"💸 Transactions","titles":["GM world rollup: Part 1","Part 1","▶️ Start your rollup"]},"236":{"title":"⚖️ Balances","titles":["GM world rollup: Part 1","Part 1","▶️ Start your rollup"]},"237":{"title":"Next steps","titles":["GM world rollup: Part 1"]},"238":{"title":"IBC connection tutorial","titles":[]},"239":{"title":"💻 Pre-requisites","titles":["IBC connection tutorial"]},"240":{"title":"Software requirements","titles":["IBC connection tutorial","💻 Pre-requisites"]},"241":{"title":"Run a GM rollup chain","titles":["IBC connection tutorial"]},"242":{"title":"Run your local-osmosis-testnet","titles":["IBC connection tutorial"]},"243":{"title":"Install Osmosis binary","titles":["IBC connection tutorial","Run your local-osmosis-testnet"]},"244":{"title":"Run local-osmosis-testnet","titles":["IBC connection tutorial","Run your local-osmosis-testnet"]},"245":{"title":"Funds","titles":["IBC connection tutorial"]},"246":{"title":"Setup relayer, create IBC connection and start relaying packets","titles":["IBC connection tutorial"]},"247":{"title":"Install relayer","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"248":{"title":"Setup relayer config","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"249":{"title":"Create relayer account","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"250":{"title":"Create IBC channel","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"251":{"title":"Start relaying packets","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"252":{"title":"Transfer token from rollup chain to osmosis-local","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"253":{"title":"Transfer token back from osmosis-local to rollup chain","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"254":{"title":"How to use lazy sequencing (aggregation)","titles":[]},"255":{"title":"Tutorials","titles":[]},"256":{"title":"💻 Support","titles":["Tutorials"]},"257":{"title":"Polaris EVM and Rollkit","titles":[]},"258":{"title":"Prerequisites","titles":["Polaris EVM and Rollkit"]},"259":{"title":"Run a local-celestia-devnet","titles":["Polaris EVM and Rollkit"]},"260":{"title":"Clone the repo","titles":["Polaris EVM and Rollkit"]},"261":{"title":"Install Foundry","titles":["Polaris EVM and Rollkit"]},"262":{"title":"Start the Polaris EVM using Rollkit","titles":["Polaris EVM and Rollkit"]},"263":{"title":"Congratulations","titles":["Polaris EVM and Rollkit"]},"264":{"title":"Funds","titles":["Polaris EVM and Rollkit"]},"265":{"title":"Frontend","titles":["Polaris EVM and Rollkit"]},"266":{"title":"Deploy the ooga booga portal contract","titles":["Polaris EVM and Rollkit","Frontend"]},"267":{"title":"Interact with the contract","titles":["Polaris EVM and Rollkit","Frontend"]},"268":{"title":"Start and update the frontend","titles":["Polaris EVM and Rollkit","Frontend"]},"269":{"title":"Interact with the frontend","titles":["Polaris EVM and Rollkit","Frontend"]},"270":{"title":"Running Polaris EVM with a Celestia light node","titles":["Polaris EVM and Rollkit"]},"271":{"title":"Start your light node","titles":["Polaris EVM and Rollkit","Running Polaris EVM with a Celestia light node"]},"272":{"title":"Setup Polaris script","titles":["Polaris EVM and Rollkit","Running Polaris EVM with a Celestia light node"]},"273":{"title":"Start the EVM rollup","titles":["Polaris EVM and Rollkit","Running Polaris EVM with a Celestia light node"]},"274":{"title":"🥗 Recipe Book rollup","titles":[]},"275":{"title":"📖 Overview","titles":["🥗 Recipe Book rollup"]},"276":{"title":"💻 Prerequisites","titles":["🥗 Recipe Book rollup"]},"277":{"title":"🏗 Scaffolding your rollup","titles":["🥗 Recipe Book rollup"]},"278":{"title":"🔥 Use Ignite CLI to scaffold a recipes rollup","titles":["🥗 Recipe Book rollup","🏗 Scaffolding your rollup"]},"279":{"title":"💎 Installing Rollkit","titles":["🥗 Recipe Book rollup","🏗 Scaffolding your rollup"]},"280":{"title":"💬 Message types","titles":["🥗 Recipe Book rollup"]},"281":{"title":"✨ Create message types","titles":["🥗 Recipe Book rollup","💬 Message types"]},"282":{"title":"🤿 Diving deeper into the message code","titles":["🥗 Recipe Book rollup","💬 Message types","✨ Create message types"]},"283":{"title":"📕 Define messages logic","titles":["🥗 Recipe Book rollup","💬 Message types"]},"284":{"title":"🔁 Keepers","titles":["🥗 Recipe Book rollup"]},"285":{"title":"📗 Define Recipe type and AppendRecipe keeper method","titles":["🥗 Recipe Book rollup","🔁 Keepers"]},"286":{"title":"📘 Define keeper methods","titles":["🥗 Recipe Book rollup","🔁 Keepers"]},"287":{"title":"🍽️ Querying recipes","titles":["🥗 Recipe Book rollup"]},"288":{"title":"🖥 Query recipes","titles":["🥗 Recipe Book rollup","🍽️ Querying recipes"]},"289":{"title":"👩‍🍳 Running the recipes rollup","titles":["🥗 Recipe Book rollup"]},"290":{"title":"✨ Run a Celestia light node","titles":["🥗 Recipe Book rollup","👩‍🍳 Running the recipes rollup"]},"291":{"title":"🗞️ Start the recipes rollup","titles":["🥗 Recipe Book rollup","👩‍🍳 Running the recipes rollup"]},"292":{"title":"⌨️ Query your recipes with the CLI","titles":["🥗 Recipe Book rollup","👩‍🍳 Running the recipes rollup"]},"293":{"title":"🔄 How to restart your rollup","titles":[]},"294":{"title":"Restart rollup","titles":["🔄 How to restart your rollup"]},"295":{"title":"Restart rollup after running out of funds","titles":["🔄 How to restart your rollup"]},"296":{"title":"🟠 Errors in this example","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"297":{"title":"💰 Re-fund your account","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"298":{"title":"🛑 Stopping your rollup","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"299":{"title":"⛽ Increase the gas fee","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"300":{"title":"🔁 Restarting your rollup","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"301":{"title":"🛢️ Reduce gas fee & restart again","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"302":{"title":"Starter Rollup with Docker","titles":[]},"303":{"title":"Prerequisites","titles":["Starter Rollup with Docker"]},"304":{"title":"Clone the repository","titles":["Starter Rollup with Docker"]},"305":{"title":"Starter Rollup","titles":[]},"306":{"title":"Prerequisites","titles":["Starter Rollup"]},"307":{"title":"Clone the repo","titles":["Starter Rollup"]},"308":{"title":"Run a local-celestia-devnet","titles":["Starter Rollup"]},"309":{"title":"Start the Starter Rollup","titles":["Starter Rollup"]},"310":{"title":"Next steps","titles":["Starter Rollup"]},"311":{"title":"🕹️ Wordle app","titles":[]},"312":{"title":"💻 Pre-requisites","titles":["🕹️ Wordle app"]},"313":{"title":"📖 Design implementation","titles":["🕹️ Wordle app"]},"314":{"title":"⛓️ Ignite and scaffolding the wordle chain","titles":["🕹️ Wordle app"]},"315":{"title":"🔥 Ignite","titles":["🕹️ Wordle app","⛓️ Ignite and scaffolding the wordle chain"]},"316":{"title":"⛓️ Scaffolding the wordle chain","titles":["🕹️ Wordle app","⛓️ Ignite and scaffolding the wordle chain"]},"317":{"title":"🗂️ Wordle directory","titles":["🕹️ Wordle app","⛓️ Ignite and scaffolding the wordle chain"]},"318":{"title":"🛠️ Setting up Rollkit","titles":["🕹️ Wordle app"]},"319":{"title":"🗞️ Installing Rollkit","titles":["🕹️ Wordle app","🛠️ Setting up Rollkit"]},"320":{"title":"✨ Creating the wordle module","titles":["🕹️ Wordle app"]},"321":{"title":"🔖 Scaffolding a module","titles":["🕹️ Wordle app","✨ Creating the wordle module"]},"322":{"title":"✉️ Messages","titles":["🕹️ Wordle app"]},"323":{"title":"💬 Scaffolding a message","titles":["🕹️ Wordle app","✉️ Messages"]},"324":{"title":"🎨 Wordle types","titles":["🕹️ Wordle app"]},"325":{"title":"🏗️ Scaffolding wordle types","titles":["🕹️ Wordle app","🎨 Wordle types"]},"326":{"title":"🔐 Keeper functions","titles":["🕹️ Wordle app"]},"327":{"title":"📤 SubmitWordle function","titles":["🕹️ Wordle app","🔐 Keeper functions"]},"328":{"title":"⌛ SubmitGuess function","titles":["🕹️ Wordle app","🔐 Keeper functions"]},"329":{"title":"📦 Protobuf file","titles":["🕹️ Wordle app","🔐 Keeper functions"]},"330":{"title":"⛓️ Run the wordle chain","titles":["🕹️ Wordle app"]},"331":{"title":"🪶 Run a Celestia light node","titles":["🕹️ Wordle app","⛓️ Run the wordle chain"]},"332":{"title":"🟢 Building and running wordle chain","titles":["🕹️ Wordle app","⛓️ Run the wordle chain"]},"333":{"title":"🔮 Extending in the future","titles":["🕹️ Wordle app","⛓️ Run the wordle chain"]}},"dirtCount":0,"index":[["⌛",{"0":{"328":1}}],["✉️",{"0":{"322":1},"1":{"323":1}}],["⛓️",{"0":{"314":1,"316":1,"330":1},"1":{"315":1,"316":1,"317":1,"331":1,"332":1,"333":1}}],["⛽",{"0":{"299":1}}],["⌨️",{"0":{"292":1}}],["⠉",{"2":{"266":1}}],["⠘",{"2":{"266":1}}],["ã���������$�i��",{"2":{"263":1}}],["�aru��5�",{"2":{"263":1}}],["���",{"2":{"263":1}}],["≥",{"2":{"240":2}}],["⚖️",{"0":{"236":1}}],["▶️",{"0":{"233":1},"1":{"234":1,"235":1,"236":1}}],["⭐️",{"2":{"231":1}}],["\\treturn",{"2":{"211":2}}],["\\tctx",{"2":{"211":2}}],["\\t",{"2":{"211":4}}],["\\t\\treturn",{"2":{"211":2}}],["\\tif",{"2":{"211":2}}],["✋",{"0":{"209":1},"2":{"222":1,"225":1}}],["⚛️",{"2":{"191":1}}],["✨",{"0":{"167":1,"281":1,"290":1,"320":1},"1":{"282":1,"321":1},"2":{"191":1}}],["⠑",{"2":{"154":1,"266":1}}],["⠆",{"2":{"154":1}}],["⠒",{"2":{"154":1,"266":1}}],["⠰",{"2":{"154":1}}],["⠊",{"2":{"154":1}}],["^0",{"2":{"154":2,"155":1}}],["🤿",{"0":{"282":1}}],["🥗",{"0":{"274":1},"1":{"275":1,"276":1,"277":1,"278":1,"279":1,"280":1,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1,"289":1,"290":1,"291":1,"292":1}}],["🤔",{"0":{"218":1}}],["🪶",{"0":{"195":1,"202":1,"331":1}}],["🤖",{"0":{"172":1}}],["🦀",{"0":{"163":1},"1":{"164":1}}],["🧪",{"0":{"157":1,"173":1}}],["🧊",{"0":{"148":1,"149":1,"150":1}}],["🪙",{"0":{"144":1}}],["🎨",{"0":{"324":1},"1":{"325":1}}],["🎊",{"2":{"301":1}}],["🍽️",{"0":{"287":1},"1":{"288":1}}],["🏗",{"0":{"277":1},"1":{"278":1,"279":1}}],["🏗️",{"0":{"231":1,"325":1}}],["🍺",{"0":{"226":1}}],["🌅",{"0":{"217":1}}],["🎉",{"2":{"209":1,"214":1,"281":1,"288":1,"292":1}}],["🌟",{"0":{"176":1},"1":{"177":1,"178":1,"179":1}}],["🏎️",{"0":{"174":1}}],["🌌",{"0":{"168":1},"1":{"169":1,"170":1}}],["🏠",{"0":{"156":1,"230":1}}],["🎬",{"0":{"147":1,"151":1},"1":{"148":1,"149":1,"150":1,"151":1}}],["🏃‍♀️",{"0":{"152":1},"1":{"153":1,"154":1,"155":1,"156":1,"157":1}}],["🏃",{"0":{"142":1,"162":1,"221":1,"224":1,"227":1},"1":{"225":1}}],["|jq",{"2":{"272":1}}],["||",{"2":{"183":13}}],["|",{"2":{"143":1,"150":1,"164":1,"175":2,"177":1,"179":1,"183":28,"191":2,"222":3,"225":3,"241":1,"261":1,"272":1,"315":1,"332":1}}],["⚒️",{"0":{"143":1}}],["682",{"2":{"266":1}}],["64ba6e31fe887d66c6f8f31c7b1a80c7ca179239677b4088bb55f5ea07dbe273",{"2":{"252":1,"253":1}}],["69",{"2":{"250":1}}],["61",{"2":{"250":1}}],["6510stake",{"2":{"250":1}}],["677caf6c80b85acef6f9ec7906fb3cb021322aac78b015fa07d5112f2f824bff",{"2":{"235":1}}],["6",{"2":{"142":1,"174":1,"192":1,"259":1,"313":3,"328":5}}],["6pm",{"2":{"17":1}}],["9290",{"2":{"294":1,"299":1,"301":1}}],["9999999999999999999897679",{"2":{"253":1}}],["9999999999999999999957931",{"2":{"236":1}}],["999",{"2":{"178":1}}],["999uwasm",{"2":{"178":1}}],["9090",{"2":{"230":2,"241":2,"259":2}}],["904",{"2":{"166":1}}],["902",{"2":{"166":1}}],["9545",{"2":{"156":2}}],["9",{"2":{"142":1,"154":2}}],["9am",{"2":{"17":1}}],["`wordle`",{"2":{"332":1}}],["`wasmd`",{"2":{"169":1}}],["`auth",{"2":{"308":1}}],["`recipes`",{"2":{"291":1}}],["`dishes`",{"2":{"288":1}}],["`date",{"2":{"147":1}}],["`createrecipe`",{"2":{"281":1}}],["`gm`",{"2":{"184":1,"197":1,"203":1,"209":1,"233":1}}],["`",{"2":{"147":1,"191":1}}],["`nodejs",{"2":{"142":1}}],["```bash",{"2":{"142":4}}],["```",{"2":{"142":5}}],["~",{"2":{"142":4,"153":1,"173":1,"174":1,"175":1,"222":2,"225":2,"231":1}}],[">>",{"2":{"142":1}}],[">",{"2":{"142":2}}],["☀️introduction",{"0":{"138":1},"1":{"139":1}}],["⚡️",{"0":{"153":1},"2":{"127":2}}],["⏳",{"2":{"127":2}}],["❌",{"2":{"127":4}}],["✅",{"2":{"127":9,"266":1}}],["x64",{"2":{"228":2}}],["xnu",{"2":{"222":1,"225":1}}],["xferd",{"2":{"222":2,"225":2}}],["xyz",{"2":{"143":1,"261":1}}],["xzf",{"2":{"142":1}}],["x",{"0":{"93":2},"2":{"179":1,"209":3,"211":4,"231":1,"266":1,"270":1,"281":8,"283":1,"285":1,"286":4,"288":5,"317":2,"327":2,"328":2,"329":1}}],["01",{"2":{"327":1,"328":2}}],["001528707003566983",{"2":{"266":1}}],["00",{"2":{"266":3}}],["00000072656369706573",{"2":{"290":1}}],["000000506f6c61726973",{"2":{"271":1}}],["00000000776f72646c65",{"2":{"331":1}}],["000000007",{"2":{"266":1}}],["000000474d776f726c64",{"2":{"195":1}}],["000008e5f679bf7116cb",{"2":{"202":1}}],["000001",{"2":{"145":1}}],["0000636f736d7761736d",{"2":{"167":1}}],["0x18df82c7e422a42d47345ed86b0e935e9718ebda",{"2":{"266":1}}],["0xa174e9389633972458e6dce431d84736e0709e9406c1c3b14b5fa9ae0cdd6860",{"2":{"266":1}}],["0xfffdbb37105441e14b0ee6330d855d8504ff39e705c3afa8f859ac9865f99306",{"2":{"264":1}}],["0x20f33ce90a13a4b5e7697e3544c3083b8f8a51d4",{"2":{"264":1}}],["080998z",{"2":{"250":1}}],["080992z",{"2":{"250":1}}],["080924z",{"2":{"250":1}}],["069040z",{"2":{"250":1}}],["062667z",{"2":{"250":1}}],["062649z",{"2":{"250":1}}],["078583z",{"2":{"250":1}}],["070389z",{"2":{"250":1}}],["070364z",{"2":{"250":1}}],["07",{"2":{"250":8}}],["07z",{"2":{"222":1,"225":1}}],["04",{"2":{"250":5}}],["02",{"2":{"250":13,"327":1,"328":2}}],["0s",{"2":{"248":2,"266":1}}],["0uwasm",{"2":{"175":2,"178":1,"179":1}}],["0`",{"2":{"142":1}}],["0",{"2":{"90":9,"91":3,"92":2,"93":4,"142":3,"152":2,"154":5,"156":2,"157":6,"158":1,"164":2,"166":1,"167":3,"174":2,"175":4,"177":7,"178":2,"179":20,"186":6,"188":1,"192":3,"195":3,"202":3,"219":1,"222":19,"225":19,"235":9,"236":6,"240":2,"241":3,"243":1,"248":2,"250":12,"252":2,"254":1,"258":1,"266":4,"271":3,"286":1,"290":3,"294":8,"299":8,"301":8,"308":1,"315":1,"328":1,"331":3,"332":5}}],["=nil",{"2":{"328":1}}],["==",{"2":{"211":2,"266":2,"286":1,"288":1,"328":2}}],["============",{"2":{"222":1,"225":1}}],["===",{"2":{"191":2,"192":1}}],["=https",{"2":{"164":1}}],["=",{"2":{"82":1,"87":1,"154":6,"166":1,"179":4,"192":14,"209":2,"210":1,"211":4,"258":1,"281":2,"282":3,"283":3,"285":6,"286":14,"288":11,"295":1,"327":16,"328":22,"329":2}}],["$da",{"2":{"294":1,"299":1,"301":1}}],["$gm",{"2":{"253":3}}],["$osmo",{"2":{"252":2}}],["$channel",{"2":{"252":1,"253":1}}],["$code",{"2":{"177":2,"178":1,"179":2}}],["$contract",{"2":{"156":2,"157":2,"179":5,"267":2}}],["$coinbase",{"2":{"147":1}}],["$key2",{"2":{"235":1,"236":1}}],["$key1",{"2":{"235":1,"236":1}}],["$schema",{"2":{"192":2}}],["$name",{"2":{"179":1}}],["$namespace",{"2":{"152":1}}],["$receiver",{"2":{"269":1}}],["$register",{"2":{"179":1}}],["$rpc",{"2":{"156":3,"266":2,"267":2,"269":1}}],["$init",{"2":{"178":1}}],["$tx",{"2":{"175":2,"177":1}}],["$private",{"2":{"157":2,"266":2,"267":1,"269":1}}],["$auth",{"2":{"272":1}}],["$anvil",{"2":{"156":2}}],["$address",{"2":{"147":1}}],["$hash",{"2":{"150":2}}],["$home",{"2":{"142":5,"164":2,"167":1,"184":1,"192":2,"195":1,"196":2,"198":1,"202":1,"204":2,"206":1,"231":1,"233":3,"241":1,"243":1,"247":1,"248":1,"260":1,"262":1,"265":1,"268":2,"271":1,"272":2,"273":1,"290":1,"297":1,"307":1,"331":1}}],["$flags",{"2":{"149":1,"150":2}}],["$",{"2":{"82":3,"151":1,"174":6,"226":3,"272":1}}],["$l",{"2":{"82":3}}],["🔮",{"0":{"333":1}}],["📦",{"0":{"329":1}}],["📤",{"0":{"327":1}}],["🔐",{"0":{"326":1},"1":{"327":1,"328":1,"329":1}}],["🔖",{"0":{"321":1}}],["🗂️",{"0":{"317":1}}],["🕹️",{"0":{"311":1},"1":{"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1,"333":1}}],["🛢️",{"0":{"301":1}}],["🛑",{"0":{"298":1}}],["💰",{"0":{"297":1}}],["🟠",{"0":{"296":1}}],["🔄",{"0":{"293":1},"1":{"294":1,"295":1,"296":1,"297":1,"298":1,"299":1,"300":1,"301":1}}],["👩‍🍳",{"0":{"289":1},"1":{"290":1,"291":1,"292":1}}],["🖥",{"0":{"288":1}}],["📘",{"0":{"286":1}}],["📗",{"0":{"285":1}}],["🔁",{"0":{"284":1,"300":1},"1":{"285":1,"286":1}}],["📕",{"0":{"283":1}}],["💎",{"0":{"279":1}}],["💸",{"0":{"235":1}}],["🔑",{"0":{"234":1}}],["👉",{"2":{"231":1}}],["🔥",{"0":{"222":1,"225":1,"278":1,"315":1}}],["👋",{"0":{"211":1}}],["📨",{"0":{"210":1}}],["💬",{"0":{"208":1,"280":1,"323":1},"1":{"209":1,"210":1,"211":1,"212":1,"213":1,"281":1,"282":1,"283":1}}],["📄",{"0":{"179":1}}],["📃",{"0":{"178":1}}],["🔎",{"0":{"177":1}}],["💠",{"0":{"170":1}}],["😎",{"2":{"167":1,"195":1,"202":1,"271":1,"290":1,"331":1}}],["🐳",{"0":{"165":1}}],["🔨",{"0":{"164":1}}],["📜",{"0":{"155":1}}],["📒",{"0":{"154":1,"171":1},"1":{"172":1,"173":1,"174":1,"175":1}}],["👛",{"0":{"146":1}}],["🟢",{"0":{"145":1,"203":1,"332":1},"1":{"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"204":1,"205":1},"2":{"291":1}}],["🚀",{"0":{"175":1},"2":{"142":1}}],["🛠️",{"0":{"141":1,"161":1,"318":1},"1":{"142":1,"143":1,"144":1,"319":1}}],["📖",{"0":{"139":1,"275":1,"313":1}}],["🟡",{"2":{"127":2}}],["💻",{"0":{"63":1,"140":1,"160":1,"166":1,"229":1,"239":1,"256":1,"276":1,"312":1},"1":{"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"240":1}}],["🗞️",{"0":{"59":1,"159":1,"169":1,"232":1,"291":1,"319":1},"1":{"60":1,"61":1,"62":1,"63":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1,"176":1,"177":1,"178":1,"179":1}}],["35pm",{"2":{"309":4}}],["310493z",{"2":{"250":1}}],["3~7",{"2":{"222":1,"225":1}}],["34",{"2":{"222":1,"225":1}}],["36656",{"2":{"186":2,"294":1,"299":1,"301":1}}],["36657",{"2":{"186":1,"235":3,"236":2,"248":1,"252":1,"253":2,"294":1,"299":1,"301":1}}],["364",{"2":{"179":1}}],["300397z",{"2":{"250":1}}],["30s",{"2":{"158":1}}],["30",{"2":{"158":1}}],["3967",{"2":{"222":2,"225":4}}],["39",{"2":{"147":2,"150":2,"152":2,"154":2,"164":15,"175":4,"177":2,"178":2,"179":12,"191":3,"192":24,"226":4,"231":2,"234":4,"235":4,"272":5,"286":1,"296":6,"328":3,"332":2}}],["390kb",{"2":{"25":1}}],["38",{"0":{"93":1},"2":{"90":1,"93":1}}],["37",{"2":{"90":1}}],["3",{"0":{"193":1},"1":{"194":1,"195":1,"196":1,"197":1,"198":1,"199":1},"2":{"90":1,"154":3,"175":2,"178":1,"179":1,"186":9,"191":1,"193":1,"217":1,"255":1,"266":1,"282":2,"285":1,"309":3,"317":1}}],["3️",{"0":{"62":1}}],["+=",{"2":{"154":1,"328":1}}],["+",{"2":{"49":1,"85":2,"147":1,"167":1,"192":2,"197":1,"290":1,"298":1,"301":1,"328":1}}],["yml",{"2":{"317":1}}],["yazzyyaz",{"2":{"332":1}}],["yamlglobal",{"2":{"248":1}}],["yaml",{"2":{"248":1}}],["yamllint",{"2":{"94":1,"95":1}}],["yarn",{"2":{"191":3,"192":1,"268":2}}],["y",{"2":{"141":2,"147":1,"175":2,"178":1,"179":2,"235":2,"291":1,"332":7}}],["yellow",{"2":{"313":1}}],["yes",{"2":{"127":8}}],["years",{"2":{"35":1}}],["yet",{"2":{"29":1,"63":1,"256":1,"328":1,"332":2}}],["yourself",{"2":{"316":1}}],["yours",{"2":{"150":1}}],["your",{"0":{"168":1,"192":1,"198":1,"203":1,"206":1,"209":1,"212":1,"213":1,"231":1,"233":1,"242":1,"271":1,"277":1,"292":1,"293":1,"297":1,"298":1,"300":1},"1":{"169":1,"170":1,"204":1,"205":1,"234":1,"235":1,"236":1,"243":1,"244":1,"278":1,"279":1,"294":1,"295":1,"296":1,"297":1,"298":1,"299":1,"300":1,"301":1},"2":{"2":5,"7":2,"8":1,"10":3,"11":3,"12":2,"20":1,"33":2,"60":1,"70":1,"96":2,"115":1,"116":1,"146":1,"147":2,"148":1,"149":1,"151":1,"152":1,"153":1,"157":1,"158":3,"159":1,"164":4,"165":2,"167":5,"169":2,"179":2,"183":3,"185":2,"186":4,"187":2,"190":1,"191":6,"192":8,"195":6,"197":4,"198":1,"199":1,"202":6,"205":2,"206":2,"209":1,"211":1,"212":1,"214":2,"217":3,"222":8,"225":7,"226":2,"227":1,"228":3,"229":1,"230":1,"231":3,"233":3,"234":1,"235":1,"236":1,"240":1,"244":2,"245":2,"247":1,"250":1,"252":4,"253":1,"254":1,"255":3,"257":1,"258":2,"262":1,"264":2,"266":2,"268":2,"269":4,"270":5,"271":4,"272":1,"273":4,"275":3,"278":2,"281":1,"283":1,"286":2,"288":1,"290":8,"291":4,"293":1,"294":7,"295":4,"296":1,"297":3,"298":2,"301":2,"303":1,"306":1,"311":1,"315":3,"316":2,"317":2,"328":1,"331":11,"332":2}}],["you",{"0":{"36":1,"40":1},"1":{"37":1,"38":1,"39":1},"2":{"0":2,"2":1,"4":1,"6":2,"10":1,"11":2,"13":1,"15":1,"17":1,"19":1,"21":1,"29":1,"30":3,"33":1,"40":3,"42":1,"59":2,"63":2,"64":4,"96":2,"115":1,"116":2,"118":1,"130":1,"136":1,"138":2,"142":1,"144":1,"147":2,"149":1,"151":2,"152":2,"153":1,"154":1,"156":2,"157":1,"158":4,"159":3,"161":1,"162":1,"164":5,"167":6,"169":2,"170":1,"175":2,"179":3,"182":1,"183":3,"185":1,"186":1,"187":1,"189":1,"190":1,"191":3,"192":9,"193":1,"195":6,"197":2,"198":2,"199":2,"201":1,"202":6,"203":1,"205":1,"206":4,"208":1,"209":2,"211":1,"214":3,"217":2,"218":1,"221":2,"222":6,"224":2,"225":6,"228":2,"230":1,"231":2,"233":8,"234":1,"235":3,"237":2,"241":4,"244":2,"248":1,"249":1,"250":4,"251":1,"255":6,"256":2,"258":2,"259":2,"263":1,"264":2,"266":1,"268":4,"269":6,"270":4,"271":4,"272":2,"275":2,"281":1,"283":1,"286":3,"290":8,"291":1,"292":1,"293":1,"294":4,"295":6,"296":1,"297":3,"298":1,"299":1,"301":1,"302":1,"305":1,"308":1,"310":1,"311":1,"312":3,"313":3,"315":4,"316":4,"317":2,"328":2,"331":10,"332":16,"333":8}}],["7",{"2":{"230":1,"241":1,"254":1,"263":9}}],["775",{"2":{"222":1,"225":1}}],["774628",{"2":{"25":1}}],["79e9716c9",{"2":{"164":1}}],["74",{"2":{"164":2}}],["7x",{"2":{"25":1}}],["46657",{"2":{"244":1,"248":1,"252":1,"253":1}}],["4bb56d0cf73d16303221d8d1ffdd3ec395682813",{"2":{"222":1,"225":1}}],["4379",{"2":{"222":1}}],["4363",{"2":{"222":1}}],["4073",{"2":{"222":2}}],["42069$ibc",{"2":{"253":1}}],["42069",{"2":{"235":1,"252":1}}],["42069stake",{"2":{"235":2,"252":1}}],["42",{"2":{"191":1}}],["4980",{"2":{"149":1}}],["4762stake",{"2":{"250":1}}],["47",{"2":{"90":1,"247":1}}],["4mb",{"2":{"25":1}}],["4",{"2":{"25":1,"92":1,"140":1,"167":2,"191":5,"222":1,"225":1,"247":3,"271":3,"285":1,"296":3}}],["52s",{"2":{"266":1}}],["58pm",{"2":{"263":10}}],["51pm",{"2":{"296":4}}],["5183",{"2":{"248":1}}],["5112",{"2":{"238":1}}],["55pm",{"2":{"186":10}}],["59s",{"2":{"154":1}}],["509569",{"2":{"266":1}}],["500uosmo",{"2":{"253":1}}],["5000stake",{"2":{"235":1,"252":1}}],["50",{"0":{"93":1},"2":{"90":1,"93":1,"166":2,"222":1,"225":1,"232":1,"241":1,"279":1,"319":1}}],["5",{"2":{"23":1,"90":4,"91":1,"92":1,"183":1,"222":3,"225":3,"247":1,"248":2,"327":4,"328":4,"332":1}}],["q",{"2":{"20":1,"213":1,"272":1,"292":1,"332":1}}],["quicker",{"2":{"231":1}}],["quickly",{"2":{"7":1,"30":1,"31":1,"64":1}}],["querydishesresponse",{"2":{"288":3}}],["querydishesrequest",{"2":{"288":2}}],["querygmresponse",{"2":{"209":2,"210":2,"211":5}}],["querygmrequest",{"2":{"209":2,"210":2,"211":2}}],["queryparamsresponse",{"2":{"209":1}}],["queryparamsrequest",{"2":{"209":1}}],["query=",{"2":{"179":1}}],["query",{"0":{"207":1,"209":1,"210":1,"213":1,"288":1,"292":1},"1":{"208":1,"209":1,"210":1,"211":1,"212":1,"213":1},"2":{"150":1,"176":1,"177":2,"179":7,"208":2,"209":13,"211":8,"236":3,"252":2,"253":3,"275":1,"288":14,"292":1,"332":6}}],["querying",{"0":{"177":1,"287":1},"1":{"288":1},"2":{"122":1,"177":1,"288":1,"332":1}}],["queried",{"2":{"149":1,"214":1}}],["queries",{"2":{"113":1,"126":1,"208":1}}],["questions",{"2":{"19":1,"96":1}}],["quot",{"0":{"207":2},"1":{"208":2,"209":2,"210":2,"211":2,"212":2,"213":2},"2":{"63":2,"74":2,"127":4,"142":10,"145":12,"146":8,"147":4,"148":2,"152":16,"154":2,"155":4,"156":4,"157":4,"164":2,"167":4,"174":12,"177":10,"178":24,"179":56,"185":2,"186":14,"192":130,"195":2,"209":4,"211":6,"218":4,"226":6,"234":16,"235":26,"236":8,"245":4,"248":10,"249":4,"250":272,"252":8,"253":4,"256":2,"263":2,"267":8,"285":4,"286":20,"288":22,"290":4,"291":2,"294":12,"295":2,"296":6,"299":4,"301":4,"327":28,"328":40,"331":2,"332":82}}],["jun",{"2":{"222":1,"225":1}}],["just",{"0":{"18":1},"2":{"18":1,"35":1,"209":1,"246":1,"255":1,"264":1,"270":1}}],["jcstein",{"2":{"192":1,"265":1}}],["jcs",{"2":{"192":2,"222":1,"225":1}}],["js",{"2":{"142":1,"222":1,"225":1,"333":1}}],["json",{"2":{"122":2,"175":2,"177":3,"179":4,"192":2,"213":1,"248":2,"268":3,"332":4}}],["jq",{"2":{"141":1,"150":1,"161":1,"175":2,"177":1,"179":1,"233":3,"272":1,"332":1}}],["joshstein",{"2":{"222":1,"225":1,"226":2}}],["joshs",{"2":{"222":1,"225":1}}],["joseph",{"2":{"5":1,"16":1}}],["joins",{"2":{"13":1}}],["join",{"2":{"6":1,"18":1,"20":2,"96":1}}],["zero",{"2":{"286":1}}],["zprofile",{"2":{"226":2}}],["zone",{"2":{"186":1}}],["zoom",{"2":{"17":1,"19":1}}],["z",{"2":{"68":1,"76":1}}],["zk",{"0":{"131":1},"2":{"12":1,"14":1,"35":2,"113":1,"131":1,"238":1}}],["8000",{"2":{"301":1}}],["8796",{"2":{"222":1,"225":1}}],["8545",{"2":{"157":3,"266":1}}],["8510",{"2":{"154":1}}],["8gb",{"2":{"140":1}}],["8",{"2":{"16":1,"152":1,"154":6,"155":1,"174":1,"222":1,"225":1,"230":1,"266":2,"286":2}}],["kv",{"2":{"327":2}}],["kvstore",{"2":{"286":3,"288":1}}],["k",{"2":{"211":2,"283":2,"286":13,"288":3,"327":4,"328":6}}],["kinds",{"2":{"321":1}}],["kit",{"2":{"192":5}}],["kickstarted",{"2":{"169":1,"205":1,"291":1,"332":1}}],["kicked",{"2":{"25":1}}],["kernel",{"2":{"222":1,"225":1}}],["keplr",{"2":{"192":1}}],["keplrwallets",{"2":{"192":1}}],["key2=gm13nf52x452c527nycahthqq4y9phcmvat9nejl2",{"2":{"235":1}}],["key1=gm1sa3xvrkvwhktjppxzaayst7s7z4ar06rk37jq7",{"2":{"235":1}}],["keyring",{"2":{"157":1,"175":2,"178":1,"179":2,"234":1,"235":1,"248":2,"252":1,"291":1,"297":1,"332":5}}],["key=0xfffdbb37105441e14b0ee6330d855d8504ff39e705c3afa8f859ac9865f99306",{"2":{"266":1}}],["key=gm1vvl79phavqruppr6f5zy4ypxy7znshrqam48qy",{"2":{"252":1}}],["key=osmo1vvl79phavqruppr6f5zy4ypxy7znshrqm390ll",{"2":{"252":1}}],["key=$",{"2":{"157":1}}],["key=",{"2":{"156":1}}],["keys",{"0":{"234":1},"2":{"156":3,"157":1,"192":1,"234":2,"235":3,"248":2,"249":3,"252":1,"286":1}}],["key",{"2":{"75":1,"156":6,"157":8,"175":2,"177":1,"178":1,"179":3,"192":1,"234":4,"235":1,"236":4,"244":2,"245":2,"248":4,"252":5,"253":3,"264":1,"266":5,"267":2,"269":4,"286":1,"288":5,"291":2,"297":2,"313":1,"326":1,"327":1,"332":7}}],["keeps",{"2":{"288":1}}],["keepers",{"0":{"284":1},"1":{"285":1,"286":1},"2":{"326":1,"329":1}}],["keeper",{"0":{"211":1,"285":1,"286":1,"326":1},"1":{"327":1,"328":1,"329":1},"2":{"179":2,"208":3,"209":1,"211":7,"275":1,"281":1,"283":1,"286":8,"288":4,"326":5,"327":3,"328":3,"329":1}}],["keep",{"2":{"15":1,"29":1,"117":1,"188":1,"246":1,"286":1,"297":1,"308":1,"320":1}}],["know",{"2":{"63":1,"159":1,"170":1,"217":1,"256":1,"275":1,"311":1}}],["knowledge",{"2":{"18":1,"19":1,"138":1,"255":1}}],["known",{"2":{"5":1}}],["ui",{"2":{"333":1}}],["uint64",{"2":{"281":2,"285":1,"286":7}}],["utia",{"2":{"301":1}}],["utilized",{"2":{"38":1}}],["utilize",{"2":{"38":1,"127":1}}],["utilizes",{"2":{"31":1}}],["utilization",{"2":{"25":1}}],["utest",{"2":{"252":1}}],["uosmo",{"2":{"252":1}}],["uwasm",{"2":{"178":2}}],["url=http",{"2":{"156":1,"266":1}}],["url",{"2":{"156":7,"157":3,"192":1,"266":5,"267":4,"269":2}}],["uris",{"2":{"192":1}}],["uri",{"2":{"122":1}}],["ubuntu",{"2":{"140":2,"228":2,"233":1}}],["ux",{"2":{"80":1}}],["undelegating",{"2":{"321":1}}],["understand",{"2":{"255":1,"312":2,"320":1}}],["understanding",{"2":{"75":1,"138":1}}],["underneath",{"2":{"192":1,"283":1}}],["under",{"2":{"126":1}}],["underlying",{"2":{"8":1,"14":1,"80":1}}],["unable",{"2":{"295":1}}],["uname",{"2":{"222":1,"225":1}}],["unmarshal",{"2":{"288":1}}],["unordered",{"2":{"250":1}}],["unwrapsdkcontext",{"2":{"211":2,"283":1,"288":1,"327":1,"328":1}}],["until",{"2":{"166":1,"188":1,"228":1}}],["unchanged",{"2":{"164":1}}],["unknown",{"2":{"164":8,"172":2,"179":3}}],["unsafe",{"2":{"157":1}}],["unpacked",{"2":{"147":1}}],["unicode",{"2":{"327":2}}],["units",{"2":{"192":1,"231":1}}],["unit",{"0":{"173":1},"2":{"95":1,"173":1}}],["unique",{"2":{"18":1}}],["unlock",{"2":{"80":1}}],["unlikely",{"2":{"34":1}}],["upload",{"2":{"222":2,"225":2}}],["updating",{"0":{"154":1,"155":1},"2":{"231":1}}],["updated",{"2":{"80":1,"121":1,"136":1,"192":1,"328":2}}],["update",{"0":{"186":1,"268":1},"2":{"42":1,"130":1,"141":2,"142":1,"154":2,"155":1,"183":1,"186":1,"192":1,"211":1,"268":1,"286":1}}],["updates=0",{"2":{"263":1}}],["updates",{"2":{"19":1}}],["upstream",{"2":{"116":1}}],["upgrade",{"2":{"24":1,"25":1,"139":1,"141":2,"192":2}}],["up",{"0":{"168":1,"191":1,"318":1},"1":{"169":1,"170":1,"319":1},"2":{"14":1,"25":1,"30":1,"64":1,"121":1,"127":2,"138":2,"139":1,"144":1,"145":1,"146":1,"158":1,"167":1,"178":1,"180":1,"192":1,"199":1,"214":1,"217":1,"246":1,"257":1,"295":1,"313":1,"318":1,"327":2,"328":2}}],["ustake",{"2":{"192":2}}],["usr",{"2":{"142":3,"174":2,"222":4,"225":4,"315":1}}],["usage",{"2":{"24":1,"25":1,"139":1}}],["us",{"2":{"13":1,"17":1,"18":1,"19":1,"20":3,"63":1,"159":1,"177":1,"179":1,"208":1,"217":1,"226":1,"256":1,"275":1,"311":1,"315":1,"322":1,"325":1,"326":2,"327":1,"328":2}}],["using",{"0":{"262":1},"2":{"7":1,"11":1,"16":1,"17":1,"18":1,"24":1,"28":1,"78":1,"89":2,"116":1,"117":1,"118":2,"123":1,"138":2,"154":2,"155":1,"159":1,"161":1,"164":1,"165":1,"167":2,"175":1,"179":1,"180":1,"181":1,"182":1,"189":1,"191":1,"195":2,"197":1,"202":1,"217":2,"228":1,"235":2,"244":1,"248":1,"250":1,"257":1,"258":1,"270":4,"271":1,"278":1,"286":4,"288":2,"290":2,"294":1,"295":2,"298":1,"310":1,"315":1,"321":1,"327":1,"331":1,"332":1,"333":2}}],["user",{"2":{"51":1,"136":2,"152":1,"255":2,"275":1,"321":1}}],["users",{"2":{"3":1,"18":1,"35":1,"113":1,"126":2,"132":1,"136":1,"222":1,"225":1,"226":2,"315":1}}],["uses",{"2":{"27":1,"33":1,"123":1,"129":1,"154":1,"181":2,"217":1,"257":1,"305":1,"315":1,"327":1,"328":1}}],["use",{"0":{"36":1,"40":1,"254":1,"278":1},"1":{"37":1,"38":1,"39":1},"2":{"11":1,"14":1,"16":1,"18":2,"21":1,"23":1,"25":1,"27":1,"30":1,"37":2,"51":1,"64":1,"73":1,"115":1,"118":1,"123":1,"130":1,"132":1,"138":1,"139":1,"142":1,"151":1,"155":1,"156":2,"157":1,"159":2,"165":1,"167":1,"176":1,"186":1,"188":1,"189":1,"192":3,"195":2,"198":1,"202":2,"206":1,"211":1,"231":1,"238":1,"241":1,"254":1,"255":2,"257":1,"266":1,"269":1,"271":2,"290":1,"294":2,"308":1,"311":1,"316":1,"327":1,"328":1,"331":2}}],["used",{"2":{"3":1,"5":1,"25":1,"27":1,"28":1,"31":2,"35":1,"36":1,"80":1,"115":1,"123":1,"127":1,"148":1,"162":1,"179":2,"182":1,"188":2,"209":1,"235":2,"250":5,"257":1,"270":1,"324":1,"328":1,"332":1}}],["1ether",{"2":{"269":1}}],["14",{"2":{"250":1}}],["1uosmo",{"2":{"248":1}}],["1utia",{"2":{"188":1}}],["15",{"2":{"250":1}}],["15t09",{"2":{"250":13}}],["15931",{"2":{"225":1}}],["15586",{"2":{"225":1}}],["1ms",{"2":{"158":1}}],["18177uosmo",{"2":{"250":1}}],["18",{"2":{"154":1,"164":1,"250":1,"266":1}}],["18332",{"2":{"152":1}}],["17475",{"2":{"222":1,"225":1}}],["171590",{"2":{"250":1}}],["171",{"2":{"186":1}}],["1785",{"2":{"166":1}}],["17",{"2":{"154":4,"166":1}}],["1317",{"2":{"192":1}}],["13285",{"2":{"154":1}}],["13",{"2":{"154":2,"155":1,"164":1}}],["124972",{"2":{"250":1}}],["126689",{"2":{"250":1}}],["121",{"2":{"222":1,"225":1}}],["12d3koowcmfjlkqjzuarwpnudjsezefilyzculxe1deky6zpxzpk",{"2":{"186":3}}],["12d",{"2":{"186":1}}],["12345",{"2":{"332":1}}],["123809",{"2":{"179":1}}],["12350",{"2":{"154":1}}],["12",{"2":{"154":2,"167":1,"174":2,"195":1,"202":1,"222":1,"225":1,"230":1,"241":2,"250":1,"259":1,"271":1,"290":1,"331":1}}],["127",{"2":{"152":1,"156":1,"157":3,"175":2,"177":2,"178":1,"179":6,"186":2,"235":2,"236":2,"294":2,"299":2,"301":2}}],["12pm",{"2":{"17":1}}],["165662",{"2":{"250":1}}],["16847",{"2":{"222":1,"225":1}}],["167533",{"2":{"179":1}}],["16",{"2":{"142":6}}],["160",{"2":{"140":1}}],["19+",{"2":{"162":1}}],["19",{"2":{"142":1,"166":1,"191":1,"232":1,"250":1,"279":1,"295":3,"296":3,"299":1,"319":1}}],["118",{"2":{"192":1,"248":2}}],["11",{"2":{"90":4,"91":2,"92":1,"93":1,"164":1,"166":1,"195":1,"202":4,"232":1,"279":1,"290":3,"308":1,"319":1,"331":3}}],["10s",{"2":{"248":1}}],["100000000000000",{"2":{"252":1}}],["10000000000000000000042069",{"2":{"236":1}}],["100000000999876914",{"2":{"252":1}}],["1000000stake",{"2":{"252":1}}],["1000000",{"2":{"248":2}}],["100000",{"2":{"248":2}}],["100uwasm",{"2":{"178":1,"179":1}}],["100",{"2":{"158":1,"178":1,"222":4,"225":4,"313":1,"327":1,"328":1}}],["101",{"2":{"147":2}}],["10",{"2":{"90":4,"91":1,"92":2,"140":1,"154":3,"155":1,"164":1,"167":2,"181":1,"186":1,"195":2,"202":2,"228":2,"250":1,"271":2,"290":2,"331":2}}],["1stake",{"2":{"248":1}}],["1s",{"2":{"8":1,"158":3}}],["1",{"0":{"33":1,"60":1,"215":1,"228":1},"1":{"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":2,"230":2,"231":2,"232":2,"233":2,"234":2,"235":2,"236":2,"237":1},"2":{"7":3,"8":3,"16":1,"18":1,"25":1,"29":2,"34":2,"35":2,"38":2,"87":1,"90":2,"91":1,"92":1,"142":2,"147":2,"152":2,"154":2,"156":1,"157":3,"164":2,"166":1,"175":4,"177":4,"178":2,"179":9,"182":1,"186":2,"188":3,"191":1,"193":1,"197":1,"201":1,"202":1,"210":1,"217":1,"219":2,"222":8,"225":7,"227":1,"228":3,"232":1,"235":2,"236":2,"240":1,"241":1,"243":1,"248":4,"250":7,"251":1,"252":1,"253":2,"255":1,"258":1,"266":3,"279":1,"281":2,"282":1,"285":1,"288":2,"290":1,"294":2,"299":2,"301":2,"313":1,"315":1,"319":1,"328":1,"329":1,"331":1}}],["24",{"2":{"250":3,"313":1}}],["24023uosmo",{"2":{"250":1}}],["24ms",{"2":{"154":1}}],["259b1278264180a2aefc2085f1b55753849c4815",{"2":{"247":1}}],["25",{"2":{"228":1}}],["296353z",{"2":{"250":1}}],["293348z",{"2":{"250":1}}],["29",{"2":{"222":1,"225":1}}],["23",{"2":{"250":1}}],["23t08",{"2":{"222":1,"225":1}}],["23s",{"2":{"191":1}}],["2x",{"2":{"188":1}}],["26657",{"2":{"175":2,"177":2,"178":1,"179":6,"192":1,"230":2,"235":1,"241":2,"259":2,"308":2}}],["26659",{"2":{"167":2,"195":2,"202":2,"230":2,"241":2,"259":2,"271":2,"290":2,"308":2,"331":2}}],["26658",{"2":{"167":2,"186":1,"195":2,"202":2,"230":2,"241":2,"259":2,"271":2,"290":2,"308":2,"331":2}}],["26650",{"2":{"167":3,"195":3,"202":3,"230":3,"241":2,"259":2,"271":3,"290":3,"294":1,"299":1,"301":1,"331":3}}],["22",{"2":{"140":1,"191":1,"222":3,"225":3,"228":2,"250":13}}],["2006",{"2":{"327":1,"328":2}}],["200000",{"2":{"235":1,"332":1}}],["2061",{"2":{"266":1}}],["20s",{"2":{"248":2}}],["20",{"2":{"87":1,"248":1,"266":2}}],["2024",{"2":{"250":12}}],["2021",{"2":{"5":1,"14":2}}],["2023",{"2":{"5":1,"16":1,"17":1,"23":1,"25":1,"164":2,"222":2,"225":2}}],["2️",{"0":{"61":1}}],["2",{"0":{"34":1,"200":1},"1":{"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1},"2":{"89":1,"90":1,"154":1,"164":1,"181":1,"188":1,"191":1,"193":1,"197":1,"201":1,"217":1,"234":1,"240":1,"241":2,"247":3,"255":1,"282":1,"285":1,"288":1,"322":1,"329":1}}],["21+",{"2":{"219":1}}],["21",{"2":{"5":1,"17":1,"222":2,"225":2,"240":1,"247":1,"258":1}}],["h",{"2":{"147":1}}],["http",{"2":{"122":2,"152":1,"157":3,"175":2,"177":2,"178":1,"179":6,"186":1,"192":2,"208":1,"209":3,"248":2}}],["https",{"2":{"87":1,"142":1,"143":1,"152":1,"164":1,"166":1,"169":1,"172":1,"184":1,"192":2,"197":1,"203":1,"222":3,"225":3,"226":1,"231":1,"233":1,"241":2,"243":1,"244":1,"247":1,"260":1,"261":1,"265":1,"272":1,"291":1,"304":1,"307":1,"315":1,"332":1}}],["hunt",{"2":{"312":1}}],["hub",{"2":{"39":1}}],["huge",{"2":{"7":1}}],["hints",{"2":{"313":1}}],["highlight",{"2":{"313":3}}],["high",{"2":{"29":1,"30":1,"35":2,"64":1,"188":1,"238":1}}],["history",{"0":{"196":1,"204":1},"2":{"151":1,"233":1}}],["his",{"2":{"25":1}}],["hours",{"2":{"313":1}}],["hood",{"2":{"245":2,"249":2}}],["homebrew",{"0":{"226":1},"2":{"219":1,"226":6}}],["home",{"2":{"167":1,"192":1,"195":1,"202":1,"271":1,"290":1,"331":1}}],["host",{"2":{"152":1,"315":1}}],["hosted",{"2":{"19":1}}],["honest",{"2":{"130":1}}],["hole",{"2":{"40":1}}],["hold",{"2":{"15":1}}],["how",{"0":{"27":1,"36":1,"158":1,"188":1,"254":1,"293":1},"1":{"37":1,"38":1,"39":1,"294":1,"295":1,"296":1,"297":1,"298":1,"299":1,"300":1,"301":1},"2":{"15":1,"27":3,"29":1,"38":1,"70":1,"73":2,"129":1,"138":5,"159":3,"165":1,"169":1,"170":1,"180":1,"189":1,"203":1,"214":1,"217":1,"228":1,"237":1,"238":1,"254":1,"255":4,"257":1,"264":1,"275":1,"286":1,"291":1,"293":1,"305":1,"310":1,"311":2,"316":1,"322":1,"325":1,"332":2}}],["however",{"2":{"7":1,"18":1,"30":1,"31":1,"64":1,"93":1,"136":2}}],["happen",{"2":{"231":1,"317":1}}],["happened",{"2":{"209":1}}],["happy",{"2":{"16":1,"64":1}}],["handling",{"2":{"321":1}}],["handle",{"2":{"322":1}}],["handler",{"2":{"281":1}}],["handlers",{"2":{"208":1,"275":1}}],["handles",{"2":{"211":1,"326":1}}],["handled",{"2":{"120":1}}],["handshake",{"2":{"250":5}}],["handy",{"2":{"169":1,"203":1,"291":1,"332":1}}],["handful",{"2":{"156":1}}],["halt",{"2":{"136":1}}],["hadolint",{"2":{"94":1,"95":1}}],["had",{"2":{"27":1}}],["hasn",{"2":{"328":2}}],["hashing",{"2":{"333":1}}],["hash=",{"2":{"263":1}}],["hash=ac959f089c21dc617275e0ab35e77dc3839c9597ecfdecdad6c924ec49b1eb07",{"2":{"263":1}}],["hash=0x5207a1ff35540dafe70565d3a95ed07f6c9b1ed9114f93c6c47ee0a1c0d4cc2e",{"2":{"263":1}}],["hash=0x314b131b1d4117445091b25240eaf420cdbdcf9f653eabd1d95aa0dab3cd1359",{"2":{"263":1}}],["hash=$",{"2":{"175":2}}],["hash=1d7e98aec3085b615c7c71659768fa42e774a87ab5981597e99794d240fb3db5",{"2":{"149":1}}],["hash",{"0":{"149":1},"2":{"149":3,"150":2,"175":3,"176":2,"177":2,"222":1,"225":1,"250":4,"252":1,"253":1,"266":1,"327":3,"328":5,"332":2,"333":1}}],["has",{"2":{"16":1,"25":2,"27":1,"33":2,"38":1,"42":1,"45":1,"48":1,"80":1,"81":1,"82":2,"116":1,"136":1,"153":1,"156":1,"157":1,"175":1,"179":1,"188":1,"209":1,"211":1,"228":1,"231":1,"238":1,"245":2,"249":1,"252":1,"253":1,"257":1,"264":1,"278":1,"281":1,"282":2,"305":1,"326":1,"327":2,"332":2}}],["having",{"2":{"14":1}}],["have",{"2":{"4":1,"7":1,"8":1,"14":2,"19":1,"23":1,"30":1,"35":1,"64":1,"78":1,"85":1,"118":1,"138":2,"152":1,"153":1,"154":1,"158":1,"167":2,"169":2,"176":1,"179":1,"187":1,"189":1,"190":1,"191":2,"192":1,"195":1,"197":1,"199":1,"202":1,"203":1,"205":1,"222":1,"225":1,"231":2,"233":2,"236":2,"258":1,"263":1,"269":1,"286":1,"290":3,"291":2,"292":1,"312":1,"313":3,"319":1,"327":1,"328":1,"331":4,"332":2}}],["hardhat",{"2":{"316":1}}],["hard",{"0":{"7":1}}],["hello",{"2":{"218":1}}],["helper",{"2":{"317":1,"327":1}}],["helpful",{"0":{"95":1},"2":{"161":1}}],["helps",{"2":{"2":1,"312":1,"327":1,"328":1}}],["help",{"2":{"0":1,"3":1,"6":1,"14":1,"19":1,"23":1,"59":1,"96":1,"255":1,"315":3,"326":1}}],["hex",{"2":{"152":1,"167":1,"195":1,"202":1,"230":1,"267":1,"271":1,"290":1,"327":3,"328":4,"331":1}}],["height=28126",{"2":{"296":1}}],["height=$da",{"2":{"294":1}}],["height=$",{"2":{"272":2}}],["height=1",{"2":{"309":2}}],["height=12",{"2":{"263":3}}],["height=11",{"2":{"263":4}}],["height=5",{"2":{"185":1,"186":1}}],["height=your",{"2":{"185":1}}],["height",{"0":{"148":1,"185":1},"2":{"108":1,"117":2,"121":1,"148":1,"149":1,"150":2,"152":1,"179":1,"183":3,"185":2,"235":2,"250":4,"272":4,"294":4,"299":2,"301":2,"332":2}}],["health",{"2":{"122":1}}],["healthy",{"2":{"23":1}}],["headerinch",{"2":{"121":1}}],["headers",{"2":{"85":1,"108":1,"113":1,"121":2,"122":1,"123":1,"126":1,"130":2,"132":1}}],["header",{"0":{"45":1,"54":1,"81":1,"104":1,"110":1,"150":1},"2":{"45":1,"51":3,"81":1,"85":1,"104":2,"112":1,"150":2,"181":1,"272":3}}],["head",{"2":{"40":1,"192":1,"219":1,"222":1,"226":1,"227":1,"272":1,"281":1}}],["here",{"2":{"0":1,"17":1,"21":1,"29":1,"43":1,"52":1,"64":1,"79":1,"98":1,"132":1,"136":1,"154":2,"157":1,"158":1,"159":2,"161":1,"162":1,"164":2,"165":2,"166":1,"169":1,"170":1,"178":1,"221":1,"222":1,"224":1,"225":1,"231":1,"235":1,"244":1,"255":1,"290":1,"291":1,"315":1,"317":1,"323":1,"325":1,"326":1,"327":1,"328":1,"329":1,"331":1,"332":3,"333":4}}],["vue",{"2":{"317":2,"333":1}}],["v2",{"2":{"247":1}}],["v21",{"2":{"243":1}}],["v20",{"2":{"222":1,"225":1}}],["v28",{"2":{"219":1,"222":6,"225":6,"240":1,"241":2,"315":1}}],["vesting",{"2":{"321":1}}],["ve",{"2":{"155":1,"157":1,"158":1,"192":1,"193":1,"201":1,"214":1,"222":1,"225":1,"237":1,"255":1,"301":1}}],["verification",{"2":{"238":1}}],["verifying",{"2":{"238":1}}],["verifyfraudproof",{"2":{"130":1}}],["verify",{"2":{"35":2,"39":1,"113":2,"121":2,"125":2,"130":1,"222":1,"225":1,"238":1,"245":2,"247":1,"249":2,"332":1}}],["versions",{"2":{"80":1}}],["version",{"2":{"5":1,"87":1,"91":1,"116":1,"142":1,"144":2,"154":1,"162":1,"164":1,"192":1,"218":1,"222":9,"225":9,"231":2,"238":1,"240":2,"247":3,"250":1,"257":2,"258":1,"316":1}}],["vv",{"2":{"154":1}}],["v1beta1",{"2":{"235":1,"288":2}}],["v1",{"2":{"90":2,"91":1,"92":1,"162":1,"191":1,"222":1,"225":1,"250":8}}],["v0",{"0":{"93":2},"2":{"90":12,"91":3,"92":2,"93":3,"166":3,"167":1,"181":1,"195":1,"202":1,"222":1,"225":1,"230":1,"232":2,"241":3,"247":1,"254":1,"259":1,"271":1,"279":2,"290":1,"308":1,"319":2,"331":1}}],["v",{"2":{"87":1,"167":1,"174":2,"195":1,"202":1,"271":1,"290":1,"331":1}}],["vm",{"2":{"14":1,"155":2}}],["varying",{"2":{"321":1}}],["var",{"2":{"283":1,"288":2,"327":6,"328":10}}],["variables",{"2":{"152":1,"175":3,"235":1,"252":1,"294":2}}],["variable",{"2":{"148":1,"149":1,"156":2,"157":1,"164":1,"176":1,"186":1,"211":1,"230":1,"283":1,"288":1,"308":1}}],["various",{"2":{"14":1}}],["variety",{"2":{"9":1,"21":1}}],["val",{"2":{"263":1}}],["valid",{"2":{"136":2}}],["validity",{"0":{"128":1,"131":1},"1":{"129":1,"130":1,"131":1},"2":{"63":1,"107":1,"125":1,"126":1,"129":1,"131":1,"136":1,"256":1}}],["validating",{"2":{"320":1}}],["validation",{"0":{"134":1}}],["validate",{"2":{"51":1,"85":1,"136":1}}],["validator",{"2":{"34":1,"35":1,"202":1,"290":1,"331":1}}],["validators",{"2":{"7":2,"8":1,"34":2}}],["valuable",{"2":{"34":1}}],["values",{"2":{"325":1}}],["value",{"2":{"4":1,"154":9,"177":2,"248":2,"269":1,"286":4,"288":4,"326":1,"328":1,"332":1}}],["vinaigrette",{"2":{"291":1}}],["view",{"2":{"154":2,"169":3,"170":1,"197":2,"203":1,"205":1,"273":1,"291":1,"332":1}}],["virtual",{"2":{"37":1,"228":1,"257":1}}],["visit",{"2":{"86":1,"97":1}}],["visiting",{"2":{"30":1,"64":1,"270":1}}],["visibility",{"2":{"15":1}}],["vision",{"0":{"9":1},"1":{"10":1,"11":1,"12":1,"13":1},"2":{"9":1,"13":1,"20":1}}],["viable",{"2":{"25":1}}],["via",{"2":{"14":1,"59":1,"118":1,"120":1,"129":1,"176":1,"333":1}}],["vitepress",{"2":{"1":1}}],["eyjbbgxvdyi6wyjwdwjsawmilcjyzwfkiiwid3jpdguilcjhzg1pbijdfq",{"2":{"308":2}}],["eyjhbgcioijiuzi1niisinr5cci6ikpxvcj9",{"2":{"308":1}}],["eye",{"2":{"15":1,"246":1}}],["e2e",{"2":{"272":1}}],["errinvalidrequest",{"2":{"327":3,"328":4}}],["errtxinmempoolcache",{"2":{"295":2}}],["error=",{"2":{"296":3}}],["error",{"2":{"179":3,"211":5,"222":4,"225":4,"283":1,"288":7,"295":6,"299":1,"327":1,"328":1,"329":1,"332":3}}],["errors",{"0":{"296":1},"2":{"175":1,"222":1,"225":1,"233":1,"283":1,"296":1,"327":1,"328":1,"332":2}}],["err",{"2":{"166":2,"288":6,"296":3,"327":3,"328":6}}],["eric",{"2":{"25":1}}],["editor",{"2":{"211":1,"248":1,"283":1}}],["edit",{"2":{"166":1,"232":1,"241":1,"279":1,"319":1}}],["equality",{"2":{"154":1}}],["equivalent",{"2":{"80":1,"211":1}}],["eth",{"2":{"157":1,"266":1,"269":1}}],["ethereum",{"2":{"25":1,"257":1,"269":1}}],["ethermintd",{"2":{"157":1}}],["ethermint",{"0":{"152":1,"157":1},"1":{"153":1,"154":1,"155":1,"156":1,"157":1},"2":{"13":1,"28":1,"152":5,"153":3,"157":4}}],["etc",{"2":{"113":1,"226":1}}],["either",{"2":{"109":1,"155":1,"167":1,"195":1,"202":1,"219":1,"271":1,"290":1,"331":1}}],["else",{"2":{"96":1,"327":1,"328":2}}],["eliminates",{"2":{"35":1,"228":1}}],["eliminating",{"2":{"8":1}}],["e",{"2":{"63":1,"93":1,"127":1,"167":2,"195":2,"202":2,"256":1,"271":2,"290":2,"331":2}}],["efficient",{"2":{"138":1}}],["efficiently",{"2":{"19":1}}],["effectively",{"2":{"255":1}}],["effects",{"2":{"103":1}}],["effect",{"2":{"34":1}}],["escrow",{"2":{"327":1}}],["essential",{"2":{"20":1,"117":1,"141":2}}],["estimate",{"2":{"179":1}}],["est",{"2":{"17":1}}],["empty",{"2":{"209":1,"210":1,"211":1,"248":1,"254":1,"327":2,"329":1}}],["empower",{"2":{"18":1,"30":1,"31":1,"64":1}}],["emit",{"2":{"154":3}}],["emerging",{"2":{"5":1,"18":1}}],["ecb9851af",{"2":{"164":1}}],["echo",{"2":{"142":2,"147":2,"175":2,"177":1,"179":1,"226":2,"294":4}}],["economic",{"2":{"35":1}}],["ecosystem",{"2":{"5":1,"14":3,"25":1,"159":1,"189":1,"217":1}}],["eclipse",{"2":{"14":1}}],["easier",{"2":{"35":1,"235":1,"294":1}}],["easily",{"2":{"9":1,"10":1,"18":1,"25":1,"31":1,"228":1,"255":1}}],["easy",{"2":{"14":1,"29":1,"31":1,"35":1,"139":2,"316":1,"320":1}}],["each",{"2":{"13":1,"14":2,"18":1,"45":1,"81":1,"117":1,"208":1,"246":2,"249":2,"317":1,"320":2,"322":1,"325":1,"326":2,"328":1}}],["early",{"2":{"13":1,"23":1,"24":1,"26":1,"29":1}}],["eval",{"2":{"226":2}}],["event",{"2":{"250":1}}],["events",{"2":{"177":1,"179":1,"235":1,"263":1,"332":2}}],["eventually",{"2":{"188":1}}],["eventual",{"2":{"127":2}}],["even",{"2":{"35":1,"36":1,"158":1,"332":1}}],["ever",{"2":{"25":1}}],["everything",{"2":{"191":1,"217":2,"231":1,"316":1}}],["everyday",{"2":{"35":1}}],["everyone",{"2":{"20":1,"96":1,"327":1}}],["every",{"2":{"2":1,"33":1,"42":1,"147":3,"313":2,"328":1,"333":1}}],["evm",{"0":{"28":1,"257":1,"262":1,"270":1,"273":1},"1":{"258":1,"259":1,"260":1,"261":1,"262":1,"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":2,"272":2,"273":2},"2":{"10":1,"14":1,"23":1,"24":1,"28":2,"59":1,"138":1,"152":1,"255":1,"257":4,"258":1,"259":1,"263":3,"265":1,"266":2,"316":1}}],["evolving",{"2":{"9":1,"18":1}}],["ensuring",{"2":{"333":1}}],["ensures",{"2":{"188":1,"328":1}}],["ensure",{"2":{"2":1,"12":1,"14":1,"18":2,"197":1,"249":1,"272":1,"327":2,"328":1,"332":1}}],["encodetostring",{"2":{"327":2,"328":3}}],["encoded",{"2":{"267":1}}],["encoding",{"2":{"286":1,"327":1,"328":1}}],["encourage",{"2":{"317":1}}],["encouraging",{"2":{"19":1}}],["encounter",{"2":{"295":1}}],["encountered",{"2":{"35":1}}],["env",{"2":{"164":1,"230":1}}],["environments",{"0":{"10":1},"2":{"10":1,"14":1,"23":1,"29":1,"35":1,"88":1,"138":1,"139":2}}],["environment",{"0":{"37":1,"91":1,"153":1,"161":1,"168":1},"1":{"169":1,"170":1},"2":{"7":1,"10":1,"33":1,"88":1,"89":1,"138":1,"153":1,"156":2,"164":1,"176":1,"211":1,"222":1,"227":1,"241":1,"288":1,"313":1}}],["endpointoptions=",{"2":{"192":1}}],["endpoint",{"2":{"156":1,"209":1,"275":1}}],["end",{"2":{"138":1,"189":1,"191":1,"250":1,"263":1,"275":1,"313":1,"333":1}}],["enhanced",{"2":{"116":1}}],["enjoys",{"2":{"47":1,"83":1}}],["enjoy",{"2":{"35":1,"46":1}}],["entering",{"2":{"291":1}}],["enter",{"2":{"191":1,"192":1,"317":1}}],["entrypoint",{"2":{"272":1}}],["entry",{"2":{"34":1,"328":5}}],["entire",{"2":{"10":1,"14":1,"30":1,"64":1}}],["enabling",{"2":{"23":1,"139":1}}],["enables",{"2":{"35":1,"123":1,"189":1}}],["enabled",{"2":{"25":1,"116":1,"130":1}}],["enable",{"2":{"9":1,"14":1,"117":1,"130":1}}],["engaged",{"2":{"20":1}}],["extra",{"2":{"248":2}}],["extended",{"2":{"333":1}}],["extending",{"0":{"333":1}}],["extend",{"2":{"311":1,"313":1,"332":1,"333":1}}],["extension",{"2":{"179":1,"235":2,"248":2,"332":2}}],["external",{"2":{"96":1,"269":1}}],["exotic",{"2":{"245":2,"249":2}}],["exec",{"2":{"272":1}}],["executing",{"2":{"127":1}}],["execution",{"0":{"10":1,"37":1,"103":1},"2":{"6":1,"7":1,"10":2,"12":1,"14":2,"23":1,"26":2,"28":1,"29":1,"33":1,"35":1,"39":1,"40":1,"88":1,"103":1,"138":2,"139":2}}],["execute",{"2":{"45":1,"63":1,"81":1,"113":1,"130":1,"141":1,"179":3,"256":1}}],["executed",{"2":{"35":1,"263":1}}],["exercise",{"2":{"150":1}}],["examples",{"2":{"165":1,"333":1}}],["example",{"0":{"296":1},"2":{"43":1,"52":1,"79":1,"118":1,"153":1,"154":1,"158":2,"169":1,"180":1,"197":1,"254":1,"286":1,"294":2,"295":2,"332":1,"333":1}}],["exciting",{"2":{"20":1,"22":1,"40":1}}],["excitement",{"2":{"16":1}}],["exists",{"2":{"295":2,"328":1}}],["existing",{"2":{"37":1,"38":1,"158":2,"164":1,"188":1,"254":2,"308":1}}],["exist",{"2":{"14":1,"320":1}}],["explain",{"2":{"328":1}}],["explorer",{"2":{"205":1,"273":1,"291":1,"332":1}}],["explore",{"2":{"63":1,"138":1,"159":1,"217":1,"233":1,"256":1,"275":1,"311":1}}],["exploring",{"2":{"19":1,"159":1}}],["exposing",{"2":{"208":1}}],["exposes",{"2":{"5":1,"31":1,"321":1}}],["exponent",{"2":{"192":2}}],["export",{"2":{"142":2,"157":2,"192":3,"233":1,"235":1,"266":3}}],["expand",{"2":{"23":1,"255":1}}],["expected",{"2":{"179":1,"193":1,"201":1,"217":1,"329":1}}],["expensive",{"2":{"8":1}}],["experienced",{"2":{"312":1}}],["experiment",{"2":{"9":1,"37":1,"158":1}}],["experimentation",{"2":{"5":1,"31":1,"38":1}}],["expertise",{"2":{"7":1,"18":1,"34":1,"255":1}}],["pseudo",{"2":{"321":1}}],["ps",{"2":{"272":1}}],["pst",{"2":{"17":1}}],["pdt",{"2":{"222":1,"225":1}}],["pwd",{"2":{"174":4}}],["p",{"2":{"167":3,"195":3,"202":3,"222":1,"225":1,"230":5,"241":5,"259":5,"271":3,"290":3,"308":3,"331":3}}],["pkg",{"2":{"141":1}}],["p2p",{"0":{"123":1,"186":1},"2":{"123":2,"130":2,"132":1,"136":1,"167":3,"181":2,"183":1,"185":2,"186":9,"195":2,"202":2,"270":1,"271":2,"290":3,"294":1,"297":1,"299":1,"301":1,"331":3}}],["piece",{"2":{"25":1,"326":1}}],["paid",{"2":{"266":1}}],["packets",{"0":{"246":1,"251":1},"1":{"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1}}],["packages",{"2":{"141":1,"191":3}}],["package",{"2":{"27":3,"118":1,"124":1,"285":2,"317":1}}],["past",{"2":{"236":1}}],["passes",{"2":{"322":2}}],["passed",{"2":{"154":1,"308":1,"316":1,"327":1}}],["password",{"2":{"222":1}}],["pass",{"2":{"152":1,"154":3}}],["passing",{"2":{"25":2,"246":1,"308":1,"323":1}}],["parameter",{"2":{"323":1}}],["parameters",{"2":{"209":2,"210":1}}],["params",{"2":{"209":2}}],["paradigm",{"2":{"143":1,"261":1}}],["particular",{"2":{"321":1}}],["parts",{"2":{"197":1}}],["part",{"0":{"193":1,"200":1,"215":1,"228":1},"1":{"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":2,"230":2,"231":2,"232":2,"233":2,"234":2,"235":2,"236":2,"237":1},"2":{"182":1,"193":3,"201":2,"217":3,"222":1,"227":1,"228":3,"255":3,"288":1,"313":1,"316":1}}],["paginate",{"2":{"288":2}}],["pagination",{"2":{"177":1,"179":2,"236":2,"252":1,"253":1,"288":10}}],["pageres",{"2":{"288":2}}],["pageresponse",{"2":{"288":1}}],["pagerequest",{"2":{"288":2}}],["page",{"2":{"30":1,"64":1,"113":1,"217":1}}],["panic",{"2":{"166":1,"328":1}}],["paths",{"2":{"246":2,"248":1,"250":1}}],["path",{"2":{"142":1,"143":1,"164":1,"226":2,"233":1,"250":6}}],["path=$path",{"2":{"142":2,"233":1}}],["payforblobs",{"2":{"291":1,"332":1}}],["payer",{"2":{"235":1,"250":4,"332":1}}],["paying",{"2":{"34":1}}],["payload",{"2":{"25":1}}],["peers",{"2":{"123":1}}],["peer",{"2":{"123":1,"181":2}}],["person",{"2":{"325":1,"328":1}}],["perspectives",{"2":{"18":1}}],["permission",{"2":{"222":1,"225":1,"308":1}}],["permissions",{"2":{"222":2,"225":2}}],["periods",{"2":{"176":1,"188":1}}],["performs",{"2":{"211":1}}],["perform",{"2":{"156":1,"157":1}}],["perfect",{"2":{"34":1}}],["per",{"2":{"121":2,"313":1,"327":2,"328":1}}],["pessimistic",{"0":{"77":1,"107":1,"129":1},"1":{"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1},"2":{"12":1,"13":1,"18":1,"63":1,"78":1,"107":1,"129":3,"256":1}}],["popular",{"2":{"311":1}}],["pops",{"2":{"167":1,"195":1,"271":1,"272":1}}],["polaris",{"0":{"257":1,"262":1,"270":1,"272":1},"1":{"258":1,"259":1,"260":1,"261":1,"262":1,"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":2,"272":2,"273":2},"2":{"255":1,"257":3,"258":1,"259":1,"260":3,"262":1,"263":1,"264":1,"265":3,"266":1,"270":1,"272":3,"273":2}}],["points",{"2":{"313":1}}],["point",{"2":{"235":1,"244":1,"272":1}}],["portal",{"0":{"192":1,"266":1},"2":{"192":1,"264":2,"265":4,"268":6,"269":1}}],["port=icahost",{"2":{"186":1}}],["port",{"2":{"156":1,"179":1,"186":3,"230":1,"235":3,"244":3,"250":10}}],["portion",{"2":{"153":1,"197":1,"270":1}}],["pool",{"2":{"25":1}}],["potential",{"2":{"18":1,"23":1,"34":1}}],["powerful",{"2":{"20":1}}],["power",{"2":{"13":1,"315":1}}],["position",{"2":{"313":3}}],["positive",{"2":{"14":1}}],["pos",{"2":{"231":1}}],["possibility",{"2":{"38":1,"136":1}}],["possibilities",{"2":{"5":1,"18":1,"23":1,"31":1,"138":1,"139":1}}],["possible",{"2":{"18":1,"23":1,"24":1,"29":1,"97":1,"120":2,"139":3,"174":1,"251":1}}],["posted",{"2":{"35":1,"80":1,"130":1}}],["posting",{"0":{"25":1},"2":{"25":1,"35":1,"193":1,"217":2,"273":1,"295":1}}],["post",{"2":{"5":1,"15":1,"25":1,"78":1,"111":1,"113":1,"138":1,"152":1,"214":1,"217":1,"237":1,"269":1,"270":2,"295":2}}],["posts",{"0":{"27":1},"2":{"3":1,"80":1,"130":1,"197":1,"237":1}}],["physical",{"2":{"8":1}}],["plus",{"2":{"33":1}}],["plugin",{"2":{"142":1}}],["pluggable",{"2":{"127":1}}],["plugged",{"2":{"117":1}}],["plug",{"2":{"6":1,"9":1,"10":1,"26":1}}],["plaintext",{"2":{"167":1,"195":1,"290":1,"331":1,"333":1}}],["placeholder",{"2":{"286":1}}],["place",{"2":{"136":1,"174":1,"246":1,"315":1}}],["placed",{"2":{"35":1,"147":2}}],["planned",{"2":{"127":3,"131":1}}],["plans",{"2":{"127":1}}],["play",{"2":{"29":1}}],["platform",{"2":{"19":1,"39":1,"159":1,"174":1,"241":1,"259":1,"308":1}}],["pleased",{"2":{"5":1}}],["please",{"2":{"2":1,"4":1,"63":1,"86":1,"96":1,"159":1,"217":1,"256":1,"275":1,"311":1}}],["pubkey",{"2":{"234":4}}],["publishing",{"2":{"24":1,"25":1,"139":1,"263":1}}],["published",{"2":{"5":1,"16":1,"23":1}}],["public",{"2":{"3":1,"5":1,"14":2,"15":1,"18":1,"25":1,"154":7,"155":2,"192":1}}],["putuint64",{"2":{"286":2}}],["put",{"2":{"147":1,"192":1}}],["putting",{"2":{"34":1,"147":1}}],["purchase",{"2":{"178":2}}],["purchasing",{"2":{"159":1}}],["pure",{"2":{"127":2}}],["purposes",{"2":{"206":1}}],["purpose",{"2":{"14":3,"15":1,"317":1}}],["pull",{"2":{"2":2,"166":1,"172":1,"328":1}}],["push",{"2":{"2":2,"18":1,"130":1}}],["prune",{"2":{"263":2}}],["pragma",{"2":{"154":2,"155":1}}],["prior",{"2":{"333":1}}],["priority",{"2":{"120":1}}],["printed",{"2":{"183":1}}],["price=0",{"2":{"188":2}}],["price",{"0":{"188":1},"2":{"178":4,"188":11,"192":1,"245":2,"249":2,"255":1}}],["prices",{"2":{"175":2,"178":1,"179":1,"248":2}}],["privatekey",{"2":{"264":1}}],["private",{"2":{"154":1,"156":6,"157":3,"245":2,"264":1,"266":4,"267":1,"269":3}}],["privileged",{"2":{"127":1}}],["primary",{"2":{"132":1}}],["prompted",{"2":{"235":1,"291":1}}],["promise",{"2":{"18":1,"80":1}}],["profile",{"2":{"142":2}}],["programming",{"2":{"221":1,"224":1}}],["programmatically",{"2":{"117":1}}],["progress",{"0":{"126":1,"130":1},"2":{"13":1,"97":1,"118":1,"127":1,"130":1,"132":1}}],["progressing",{"2":{"7":1}}],["properly",{"2":{"217":1}}],["property",{"2":{"127":1}}],["properties",{"2":{"104":1}}],["propagate",{"2":{"113":1}}],["processor",{"2":{"250":1,"320":1}}],["processing",{"0":{"134":1,"135":1}}],["processed",{"2":{"103":1,"136":1}}],["process",{"2":{"101":1,"103":1,"104":1,"105":1,"106":1,"112":1,"228":1,"316":1,"322":1}}],["proceeding",{"2":{"312":1,"332":1}}],["proceed",{"2":{"82":1}}],["protoimport",{"2":{"288":1}}],["proto3",{"2":{"285":1}}],["protomessage",{"2":{"210":1,"281":1,"282":1,"288":2}}],["protoservice",{"2":{"209":1,"282":1}}],["protocol",{"2":{"208":2,"238":1,"246":1,"317":1}}],["protocols",{"2":{"122":1}}],["proto",{"2":{"95":2,"164":1,"208":2,"209":4,"211":1,"281":4,"285":2,"288":5,"317":1,"329":2}}],["protobuf",{"0":{"329":1},"2":{"95":2}}],["producing",{"2":{"186":1}}],["producers",{"2":{"127":1}}],["produce",{"2":{"45":1,"81":1,"125":1,"127":1}}],["production",{"0":{"45":1,"54":1,"81":1,"104":1,"158":1},"2":{"29":1,"51":1,"73":1,"104":1,"112":1,"121":1,"255":1,"332":2}}],["products",{"2":{"9":1,"34":1,"35":1}}],["proud",{"2":{"23":1}}],["projectid",{"2":{"192":1}}],["project",{"2":{"14":1,"15":1,"20":1,"25":1,"27":1,"153":1,"191":1,"196":1,"204":1,"291":1,"316":1,"317":2,"319":1,"321":1}}],["projects",{"2":{"14":1,"17":1,"19":1}}],["proofs",{"0":{"130":1,"131":1},"2":{"12":2,"35":2,"39":1,"40":1,"63":1,"90":2,"113":2,"116":1,"123":1,"125":2,"126":2,"130":5,"132":1,"136":1,"166":1,"232":1,"238":1,"241":1,"256":1,"279":1,"319":1}}],["proof",{"0":{"12":1,"136":1},"2":{"12":1,"35":1,"130":2,"231":1,"238":1}}],["provider",{"2":{"192":2,"250":4}}],["provided",{"2":{"159":1,"315":1}}],["provide",{"2":{"8":2,"19":1,"25":1,"38":1,"39":1,"80":2,"154":1}}],["provides",{"2":{"5":1,"8":1,"27":1,"40":1,"75":1,"174":1,"257":1,"315":1}}],["problems",{"0":{"32":1},"1":{"33":1,"34":1},"2":{"34":1}}],["problem",{"2":{"8":1,"116":1}}],["preparing",{"2":{"263":1}}],["prepareproposal",{"2":{"120":1}}],["prefer",{"2":{"248":1}}],["prefixes",{"2":{"286":1}}],["prefix",{"2":{"192":1,"231":4,"241":1,"248":2,"278":3,"286":4,"288":2}}],["pretty",{"2":{"192":1,"316":1}}],["press",{"2":{"147":1}}],["present",{"2":{"17":1}}],["presents",{"2":{"7":1,"34":1}}],["prerequisites",{"0":{"140":1,"182":1,"229":1,"258":1,"276":1,"303":1,"306":1}}],["prematurely",{"2":{"80":1}}],["pre",{"0":{"239":1,"312":1},"1":{"240":1},"2":{"37":1,"123":1}}],["previous",{"0":{"196":1,"204":1},"2":{"175":1,"176":1,"188":1}}],["previously",{"2":{"5":1}}],["prevents",{"2":{"7":1,"254":1}}],["pr",{"2":{"2":1}}],["nice",{"2":{"333":1}}],["nil",{"2":{"166":1,"211":7,"283":1,"286":1,"288":8,"327":6,"328":8}}],["num",{"2":{"263":3}}],["number",{"2":{"117":1,"286":2}}],["null",{"2":{"177":1,"179":5,"235":2,"236":2,"248":2,"252":1,"332":1}}],["npm",{"2":{"141":1,"142":3}}],["ncdu",{"2":{"141":1}}],["n",{"2":{"84":1,"235":1,"332":1}}],["nfts",{"2":{"25":2,"231":1}}],["nft",{"2":{"25":2,"231":1}}],["native",{"2":{"252":1}}],["name=ports",{"2":{"186":1}}],["nameservice",{"2":{"159":2,"172":3,"173":1,"174":2,"175":3,"178":1,"179":1,"312":1}}],["namespaces",{"2":{"167":1,"195":1,"202":1,"271":1,"290":1,"331":1}}],["namespace=0000$",{"2":{"230":1}}],["namespace=00000000776f72646c65",{"2":{"331":1}}],["namespace=00000072656369706573",{"2":{"290":1}}],["namespace=000000506f6c61726973",{"2":{"271":1}}],["namespace=000000676d776f726c64",{"2":{"195":1}}],["namespace=000008e5f679bf7116cb",{"2":{"202":1}}],["namespace=0000636f736d7761736d",{"2":{"167":1}}],["namespace=$namespace",{"2":{"294":1}}],["namespace=$",{"2":{"152":1}}],["namespace",{"2":{"123":1,"152":1,"167":1,"169":2,"183":1,"185":1,"195":1,"197":2,"202":1,"205":1,"230":3,"271":1,"273":2,"290":1,"294":1,"331":1}}],["name",{"2":{"146":1,"157":2,"178":2,"179":8,"191":2,"192":8,"209":1,"234":2,"244":2,"250":8}}],["naming",{"2":{"2":1}}],["navigate",{"2":{"21":1,"209":1,"283":1}}],["nascent",{"2":{"14":1}}],["never",{"2":{"218":1}}],["next",{"0":{"15":1,"199":1,"214":1,"237":1,"310":1},"2":{"40":1,"147":1,"153":1,"154":2,"156":2,"177":1,"179":3,"185":1,"186":1,"214":1,"219":1,"226":1,"236":2,"237":1,"238":1,"244":1,"250":1,"252":1,"266":1,"283":1,"286":1,"310":1,"324":1,"327":1,"328":2,"329":1,"332":2}}],["necessary",{"2":{"14":1,"141":1}}],["necessity",{"2":{"14":1}}],["needed",{"2":{"113":1,"116":1,"130":1,"138":1,"231":1}}],["needing",{"2":{"10":1,"257":1}}],["needs",{"2":{"10":1,"14":1,"37":1,"255":1}}],["need",{"2":{"8":3,"11":1,"27":1,"35":1,"45":1,"63":1,"81":1,"85":1,"116":1,"117":1,"142":1,"157":1,"158":1,"164":2,"167":2,"168":1,"176":1,"182":1,"183":1,"190":1,"192":3,"195":1,"196":1,"197":1,"202":1,"204":1,"208":1,"211":1,"221":1,"222":1,"224":1,"225":1,"228":1,"233":3,"241":2,"244":1,"250":1,"256":1,"258":1,"259":1,"268":2,"269":2,"270":4,"271":1,"290":1,"294":2,"295":3,"297":1,"299":1,"316":1,"318":1,"329":2,"331":1,"332":1}}],["network=arabica",{"2":{"202":2,"290":2,"331":2}}],["network=celestia",{"2":{"195":2}}],["network=mocha",{"2":{"167":2,"271":2}}],["networks",{"2":{"8":1,"123":1,"142":1}}],["network",{"0":{"145":1,"151":1},"1":{"146":1,"147":1,"148":1,"149":1,"150":1,"151":1},"2":{"7":1,"28":1,"34":5,"35":2,"90":1,"122":1,"123":1,"130":2,"132":1,"136":2,"145":1,"151":1,"155":1,"166":1,"167":1,"168":1,"169":1,"177":1,"180":1,"181":1,"188":1,"192":1,"195":1,"202":1,"217":1,"257":2,"270":2,"271":1,"290":1,"291":1,"297":2,"308":2,"331":1,"332":3}}],["neutral",{"0":{"14":1},"2":{"5":1,"14":4}}],["newguess",{"2":{"328":2}}],["newint64coin",{"2":{"327":1,"328":1}}],["newstore",{"2":{"286":3,"288":1}}],["newly",{"2":{"123":1,"327":2}}],["newest",{"2":{"42":1}}],["new",{"0":{"7":1,"205":1},"2":{"2":2,"5":1,"7":2,"8":2,"13":3,"14":1,"15":2,"18":4,"19":2,"23":1,"24":1,"27":1,"30":1,"31":3,"34":3,"35":2,"40":1,"64":1,"96":1,"117":1,"118":1,"130":1,"136":1,"138":1,"139":1,"146":1,"147":3,"153":1,"154":1,"155":1,"157":1,"172":1,"175":1,"191":1,"192":4,"209":2,"218":1,"231":4,"246":2,"250":5,"275":2,"278":1,"283":1,"286":1,"295":1,"313":1,"315":1,"316":3,"328":7}}],["non",{"2":{"25":1,"235":1,"332":1}}],["none",{"2":{"10":1}}],["notably",{"2":{"321":1}}],["notice",{"2":{"192":2,"250":1,"316":1}}],["notified",{"2":{"19":1}}],["note",{"2":{"116":1,"121":1,"130":1,"157":1,"164":1,"244":1,"332":2}}],["not",{"2":{"10":1,"14":2,"23":1,"29":3,"31":1,"37":1,"63":1,"130":1,"131":1,"136":1,"152":1,"192":1,"195":1,"202":1,"209":1,"210":1,"222":1,"225":1,"231":1,"233":1,"252":1,"253":1,"256":1,"271":1,"286":1,"308":2,"312":1,"327":2,"332":2,"333":1}}],["no",{"2":{"8":1,"45":2,"48":1,"81":2,"90":2,"93":1,"116":1,"117":1,"127":4,"166":1,"178":1,"186":1,"232":1,"241":1,"279":1,"316":2,"319":1,"325":2,"327":1,"328":1}}],["now",{"2":{"5":1,"6":1,"17":1,"23":1,"24":1,"25":1,"26":1,"141":1,"147":1,"150":2,"152":1,"155":2,"156":1,"157":2,"158":1,"164":1,"166":1,"168":1,"175":1,"177":1,"179":2,"184":1,"186":1,"187":2,"191":4,"192":5,"205":1,"208":1,"222":1,"227":1,"231":1,"233":1,"235":1,"241":1,"251":1,"263":1,"265":1,"268":2,"269":1,"273":1,"286":3,"291":1,"292":1,"308":1,"313":1,"315":1,"316":1,"317":1,"319":1,"323":1,"326":1,"327":1,"328":1,"332":3}}],["nodejs",{"2":{"142":3}}],["nodes",{"0":{"48":1,"57":1,"84":1,"129":1},"2":{"35":3,"40":1,"45":1,"48":1,"63":1,"81":1,"107":1,"113":2,"117":1,"121":5,"123":3,"124":1,"125":1,"126":4,"127":2,"129":1,"130":10,"132":1,"136":4,"141":1,"186":1,"256":1}}],["node",{"0":{"119":1,"124":1,"125":1,"126":1,"127":1,"167":1,"180":1,"187":1,"195":1,"202":1,"270":1,"271":1,"290":1,"331":1},"1":{"120":1,"121":1,"122":1,"123":1,"125":1,"126":1,"127":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1,"271":1,"272":1,"273":1},"2":{"5":1,"31":2,"42":1,"45":1,"49":2,"51":2,"63":1,"72":1,"81":1,"85":4,"90":1,"91":1,"92":1,"118":2,"121":1,"122":2,"123":1,"124":1,"130":1,"132":1,"136":4,"138":1,"142":1,"144":1,"158":1,"167":5,"175":2,"177":2,"178":1,"179":6,"180":2,"181":1,"183":1,"184":2,"186":1,"187":3,"188":2,"192":1,"195":8,"197":1,"199":2,"202":8,"214":2,"219":1,"221":1,"222":1,"224":1,"225":1,"230":1,"235":2,"236":2,"249":1,"252":2,"253":3,"255":1,"256":1,"270":3,"271":8,"273":1,"290":6,"295":3,"296":1,"297":3,"298":1,"308":4,"331":7}}],["award",{"2":{"313":1}}],["awigpery+eec2waaba6iw1aipaqora5dwmo1snmnjavt",{"2":{"234":1}}],["air",{"2":{"222":1,"225":1}}],["aims",{"2":{"14":1,"88":1}}],["a8510432ebb71e6948cfd6cde54b70f7",{"2":{"192":1}}],["auth",{"2":{"270":1,"294":2,"308":6,"320":1,"332":1}}],["authenticate",{"2":{"113":1,"126":1}}],["automatically",{"2":{"230":1}}],["auto",{"2":{"175":2,"178":1,"179":1}}],["aarch64",{"2":{"164":4,"175":1}}],["against",{"2":{"188":1}}],["again",{"0":{"301":1},"2":{"151":1,"179":1,"212":1,"217":1,"233":1,"269":1,"292":1,"328":3}}],["aggregating",{"2":{"127":1}}],["aggregationloop",{"2":{"121":2}}],["aggregation",{"0":{"44":1,"53":1,"80":1,"101":1,"254":1},"2":{"42":1,"51":1,"73":1,"101":1,"102":1,"112":1,"255":1}}],["aggregate",{"2":{"113":1}}],["aggregates",{"2":{"80":1}}],["aggregator",{"2":{"44":1,"51":1,"152":1,"254":2,"294":1,"299":1,"301":1,"332":1}}],["average",{"2":{"126":1,"222":2,"225":2}}],["avoid",{"2":{"39":1,"188":1,"235":1,"244":1,"299":1,"313":1,"332":1}}],["available",{"2":{"13":1,"136":1,"154":1}}],["availability",{"0":{"26":1,"117":1},"1":{"118":1},"2":{"5":1,"6":1,"8":1,"14":4,"16":2,"18":2,"23":2,"24":1,"25":1,"26":4,"27":5,"29":3,"31":2,"35":4,"40":1,"59":1,"82":2,"88":2,"111":1,"113":1,"117":3,"118":2,"121":1,"127":1,"129":1,"136":1,"138":2,"139":5,"159":1,"166":1,"175":1,"176":1,"186":1,"195":1,"202":1,"217":1,"228":1,"257":2,"271":1,"272":1,"290":1,"305":1,"331":1,"332":1}}],["afterward",{"2":{"248":1}}],["after",{"0":{"295":1},"1":{"296":1,"297":1,"298":1,"299":1,"300":1,"301":1},"2":{"27":1,"51":1,"136":1,"164":2,"167":1,"195":2,"202":2,"251":1,"271":1,"290":2,"301":1,"316":1,"331":3,"332":4}}],["amt",{"2":{"329":1}}],["amazing",{"2":{"315":1}}],["amount",{"2":{"178":2,"179":1,"235":4,"236":3,"248":4,"252":3,"253":1,"328":1,"332":1}}],["among",{"2":{"19":1,"136":1}}],["am",{"2":{"147":1,"266":1}}],["amd64",{"2":{"142":3,"241":1,"259":1,"308":1}}],["amd",{"2":{"140":1,"142":1,"174":1,"175":1,"228":2}}],["amp",{"0":{"4":1,"301":1},"2":{"2":2,"20":1,"141":2,"175":4,"191":4,"192":2,"196":2,"204":2,"211":2,"260":2,"262":2,"265":2,"268":2,"272":2,"283":1,"286":1,"288":3,"297":2,"304":2,"307":2,"327":1,"328":2}}],["accaddress",{"2":{"327":1,"328":1,"329":2}}],["accaddressfrombech32",{"2":{"327":1,"328":1}}],["account",{"0":{"249":1,"297":1},"2":{"169":1,"197":2,"205":1,"248":2,"269":2,"270":1,"291":1,"295":1,"297":1,"332":2}}],["accounts",{"2":{"156":1,"231":1,"321":3}}],["accordingly",{"2":{"136":1}}],["accept",{"2":{"235":1}}],["accepts",{"2":{"209":2,"211":1}}],["accepted",{"2":{"105":1,"188":2}}],["accessed",{"2":{"117":1}}],["access",{"2":{"14":1,"195":1}}],["active",{"2":{"123":1}}],["actions",{"2":{"211":1}}],["action",{"2":{"13":1,"332":1}}],["act",{"2":{"39":1}}],["achieve",{"2":{"20":1,"34":1,"313":1}}],["admin",{"2":{"178":1,"179":1}}],["adjustment",{"2":{"175":2,"178":1,"179":1,"248":2}}],["adjusted",{"2":{"158":1}}],["adr",{"2":{"130":1}}],["advertises",{"2":{"123":1}}],["advanced",{"0":{"62":1,"72":1},"2":{"255":2}}],["advancements",{"2":{"19":1}}],["advantages",{"2":{"8":1}}],["adoption",{"2":{"14":1,"34":1}}],["adds",{"2":{"286":1}}],["addr",{"2":{"244":1,"248":3}}],["addresshash",{"2":{"327":1,"328":1}}],["address=0x18df82c7e422a42d47345ed86b0e935e9718ebda",{"2":{"266":1}}],["address=",{"2":{"156":1,"157":1,"186":3,"294":1,"299":1,"301":1}}],["address=`bitcoin",{"2":{"147":1}}],["address",{"0":{"186":1},"2":{"147":1,"156":5,"157":5,"179":5,"186":3,"192":2,"231":4,"234":2,"235":6,"241":1,"245":2,"252":2,"253":1,"266":2,"267":2,"268":2,"269":1,"270":1,"278":3,"291":1,"294":1,"297":1,"299":1,"301":1,"313":1,"325":3,"328":2,"332":2}}],["added",{"2":{"118":1,"192":1,"209":1,"282":1,"319":1}}],["additional",{"2":{"136":1}}],["additionally",{"2":{"35":1,"39":1}}],["adding",{"0":{"192":1},"2":{"2":1,"27":1,"136":1,"238":1,"288":2,"315":1}}],["add",{"0":{"207":1},"1":{"208":1,"209":1,"210":1,"211":1,"212":1,"213":1},"2":{"10":1,"27":2,"136":1,"142":1,"147":1,"154":1,"158":1,"159":1,"164":1,"189":1,"192":3,"226":1,"233":1,"235":1,"249":1,"254":1,"269":1,"281":1,"283":2,"286":2,"288":2,"294":1,"320":1,"328":2,"329":1}}],["arch",{"2":{"222":1,"225":1}}],["architecture",{"2":{"130":1,"312":1,"313":1,"317":1}}],["arrow",{"2":{"192":1}}],["array",{"2":{"192":2}}],["arranging",{"2":{"106":1}}],["artifacts",{"2":{"174":1,"175":2}}],["articles",{"2":{"21":1}}],["arm64",{"2":{"174":2,"222":4,"225":4,"247":1}}],["argument",{"2":{"158":1}}],["args",{"2":{"158":1,"294":1}}],["arabica",{"0":{"92":1},"2":{"59":1,"89":1,"90":1,"92":1,"195":3,"201":1,"202":6,"205":1,"237":1,"270":1,"275":1,"290":5,"291":1,"311":1,"331":5,"332":1}}],["around",{"2":{"25":1,"29":2,"295":2,"333":1}}],["are",{"2":{"8":1,"9":1,"13":2,"14":2,"16":1,"18":2,"20":1,"23":1,"24":1,"25":1,"27":1,"34":1,"35":4,"39":1,"45":1,"78":2,"81":1,"89":1,"92":1,"96":1,"103":2,"111":1,"118":1,"120":1,"121":3,"122":1,"124":1,"126":2,"127":1,"129":1,"130":2,"131":1,"132":1,"136":2,"139":1,"141":2,"151":1,"154":1,"164":1,"165":1,"166":1,"174":1,"175":1,"178":1,"191":1,"192":1,"193":1,"201":1,"208":1,"221":1,"224":1,"228":1,"231":1,"233":1,"246":2,"249":1,"255":1,"269":1,"275":3,"295":2,"312":1,"313":3,"316":2,"322":3,"323":1,"325":1,"327":2,"328":3,"332":2,"333":2}}],["arbitrary",{"2":{"6":1,"23":1,"24":1,"25":3,"80":1,"117":1,"139":2}}],["apart",{"2":{"246":1}}],["apt",{"2":{"141":3,"233":1}}],["apis",{"2":{"122":1,"192":1}}],["api",{"2":{"118":1,"208":1,"209":3,"248":1,"275":1}}],["april",{"2":{"6":1}}],["append",{"2":{"288":1}}],["appendedvalue",{"2":{"286":2}}],["appendrecipe",{"0":{"285":1},"2":{"283":1,"286":6}}],["apps",{"2":{"189":2,"315":1}}],["apple",{"2":{"164":4}}],["applied",{"2":{"103":1}}],["applications",{"2":{"29":1,"31":1,"35":1,"37":1,"59":1,"138":1,"166":1,"217":1}}],["application",{"0":{"114":1},"1":{"115":1,"116":1,"117":1,"118":1},"2":{"7":2,"11":1,"12":1,"31":1,"33":2,"115":2,"116":1,"120":2,"122":1,"217":1,"275":1,"317":1,"320":1}}],["apply",{"2":{"51":1,"127":1}}],["approximately",{"2":{"25":1}}],["app",{"0":{"311":1},"1":{"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1,"333":1},"2":{"5":1,"71":1,"90":1,"91":1,"92":1,"93":3,"153":3,"166":2,"189":1,"191":6,"192":1,"221":1,"224":1,"255":1,"263":2,"268":1,"311":1,"317":3,"318":1,"319":1}}],["atoi",{"2":{"328":1}}],["atomic",{"2":{"127":1}}],["attributes",{"2":{"177":1,"332":1}}],["attract",{"2":{"34":1}}],["attempts",{"2":{"322":1}}],["attempt=3",{"2":{"296":1}}],["attempt=2",{"2":{"296":1}}],["attempt=1",{"2":{"296":1}}],["attempt",{"2":{"121":2}}],["at",{"2":{"5":1,"17":1,"18":1,"25":1,"27":1,"34":1,"96":1,"108":1,"110":1,"116":1,"130":1,"138":1,"147":1,"153":1,"155":1,"174":1,"177":1,"191":1,"222":1,"225":1,"248":1,"250":1,"286":1,"313":1,"333":1}}],["abcdefg",{"2":{"332":1}}],["abci++",{"2":{"120":1}}],["abci",{"0":{"115":1},"1":{"116":1},"2":{"5":2,"31":2,"37":1,"40":1,"86":1,"115":3,"116":2,"122":1,"130":1,"295":1}}],["abi",{"2":{"268":1}}],["ability",{"2":{"9":1,"30":1,"35":1,"64":1}}],["abstraction",{"2":{"208":1,"326":1}}],["able",{"2":{"34":1,"164":1,"275":1}}],["about",{"0":{"30":1,"181":1},"1":{"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1},"2":{"3":1,"8":1,"15":1,"40":1,"66":1,"86":1,"110":1,"113":1,"122":2,"126":1,"136":1,"159":1,"167":1,"176":1,"195":1,"202":1,"211":1,"231":1,"271":1,"288":1,"290":1,"315":1,"317":1,"331":1}}],["above",{"2":{"2":1,"34":1,"36":1,"158":1,"167":1,"185":1,"195":1,"202":1,"268":1,"269":1,"286":1,"290":1,"300":1,"328":1,"331":1,"332":4}}],["alter",{"2":{"321":1}}],["alternatively",{"2":{"158":1,"250":1}}],["although",{"2":{"313":1}}],["almonds",{"2":{"291":1}}],["algorithm",{"2":{"248":2}}],["algos",{"2":{"192":1}}],["alxxb6op8ddwcejeykgwbf4g3pdldo+ryivwkpkuvyaz",{"2":{"234":1}}],["alphabet",{"2":{"327":2,"328":3}}],["alphabets",{"2":{"327":2}}],["alpha",{"2":{"63":1,"159":1,"217":1,"256":1,"275":1,"311":1}}],["alert",{"2":{"40":1}}],["alex",{"2":{"5":1}}],["alongside",{"2":{"187":1,"199":1,"214":1}}],["along",{"2":{"24":1,"156":1}}],["already",{"2":{"15":1,"158":1,"222":1,"225":1,"282":1,"295":3,"308":1,"327":2,"332":2}}],["also",{"2":{"14":2,"15":1,"23":1,"34":1,"35":1,"118":2,"120":1,"121":1,"138":1,"188":1,"208":1,"211":1,"230":1,"244":1,"246":1,"270":1,"282":1,"301":1,"322":1,"325":1,"327":1}}],["alley",{"2":{"245":2,"249":2}}],["all",{"2":{"11":1,"13":1,"14":2,"18":2,"19":2,"34":1,"42":1,"45":1,"78":1,"81":1,"107":1,"121":2,"125":2,"129":1,"154":1,"250":1,"251":1,"286":1,"292":1,"312":1,"329":1,"332":1}}],["allowed",{"2":{"192":1}}],["allowedchains",{"2":{"192":2}}],["allowing",{"2":{"35":1,"37":1}}],["allows",{"2":{"16":1,"23":1,"63":1,"117":1,"139":2,"166":1,"179":1,"254":1,"256":1,"275":1,"278":1,"325":1,"326":1,"327":1,"328":1}}],["allow",{"2":{"10":1,"13":1,"14":1,"208":1,"217":1,"226":1,"322":1,"329":1}}],["al",{"2":{"5":1,"16":1}}],["always",{"2":{"2":1,"188":1}}],["anvil",{"2":{"156":6}}],["another",{"2":{"29":1,"31":1,"38":1,"111":1,"116":1,"136":1,"217":1,"235":1,"291":1,"332":2}}],["announce",{"2":{"16":1,"23":1}}],["announcement",{"2":{"15":1,"16":1}}],["answer",{"2":{"8":1,"328":1}}],["an",{"2":{"4":1,"5":1,"8":1,"13":1,"15":1,"18":1,"20":2,"23":1,"25":1,"26":3,"29":1,"31":2,"35":1,"38":1,"40":1,"43":1,"52":1,"75":1,"79":1,"85":1,"86":1,"113":1,"116":1,"117":1,"118":1,"136":1,"140":1,"153":1,"156":2,"158":1,"176":1,"179":1,"191":1,"192":1,"205":1,"208":2,"209":3,"211":1,"227":1,"228":1,"234":1,"238":3,"241":1,"246":1,"248":1,"252":1,"253":1,"254":1,"255":2,"264":1,"267":1,"269":2,"273":1,"286":1,"288":2,"291":1,"294":1,"295":1,"305":1,"308":1,"313":1,"315":2,"317":1,"326":1,"328":3,"332":5}}],["anything",{"2":{"96":1}}],["any",{"0":{"37":1},"2":{"4":1,"5":1,"12":1,"27":1,"31":1,"37":1,"115":1,"117":1,"127":1,"136":1,"228":1,"248":1,"327":1,"332":2}}],["and",{"0":{"33":1,"34":1,"59":1,"92":1,"93":1,"134":1,"136":1,"154":1,"180":1,"210":1,"246":1,"257":1,"268":1,"285":1,"314":1,"332":1},"1":{"60":1,"61":1,"62":1,"63":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"258":1,"259":1,"260":1,"261":1,"262":1,"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1,"315":1,"316":1,"317":1},"2":{"0":1,"1":1,"2":4,"3":2,"5":3,"6":2,"7":7,"8":4,"9":3,"13":5,"14":9,"15":4,"16":5,"18":13,"19":6,"20":9,"23":1,"24":1,"25":2,"26":4,"27":7,"29":6,"30":2,"31":4,"34":5,"35":5,"36":1,"37":1,"38":3,"39":2,"40":3,"42":1,"44":1,"51":2,"59":1,"63":1,"64":2,"72":1,"75":2,"78":1,"80":3,"82":2,"88":1,"91":1,"92":1,"93":2,"95":2,"96":2,"97":1,"99":1,"103":1,"108":1,"111":2,"112":1,"113":5,"115":1,"116":1,"117":1,"118":1,"120":2,"121":3,"122":4,"123":2,"125":1,"126":1,"127":2,"130":8,"132":1,"136":8,"138":6,"139":4,"141":2,"142":1,"146":1,"147":2,"150":1,"152":1,"153":1,"154":3,"156":2,"157":1,"158":3,"161":1,"164":1,"166":2,"167":2,"168":1,"172":1,"178":1,"179":3,"180":1,"183":2,"185":2,"189":2,"191":1,"192":5,"193":3,"195":6,"197":1,"198":1,"199":1,"201":1,"202":6,"206":2,"208":3,"209":2,"211":4,"214":2,"217":5,"221":2,"224":2,"228":1,"231":4,"233":2,"235":2,"238":2,"241":1,"244":3,"246":1,"250":3,"251":1,"252":2,"253":1,"254":1,"255":3,"256":1,"257":1,"260":1,"263":1,"265":1,"266":1,"268":1,"269":1,"270":5,"271":4,"275":5,"278":1,"281":2,"282":1,"283":2,"285":1,"286":8,"288":2,"290":6,"294":1,"295":8,"301":1,"304":1,"305":3,"307":1,"308":2,"311":2,"312":1,"315":2,"316":1,"317":4,"320":2,"321":1,"322":4,"325":1,"326":2,"327":1,"328":6,"329":1,"331":9,"332":7,"333":2}}],["asynchronously",{"2":{"332":1}}],["async",{"2":{"332":5}}],["assign",{"2":{"286":1}}],["asset",{"2":{"192":2,"321":1}}],["assets",{"2":{"192":5}}],["assetlists=",{"2":{"192":1}}],["assetlist",{"2":{"192":9}}],["assert",{"2":{"154":1}}],["assertion",{"2":{"154":2}}],["asserteq",{"2":{"154":4}}],["assumption",{"2":{"85":1}}],["assumptions",{"2":{"35":1,"238":1}}],["assume",{"2":{"78":1,"82":1}}],["asdf",{"2":{"142":7}}],["asking",{"2":{"29":1}}],["ask",{"2":{"19":1,"96":1,"332":2}}],["as",{"0":{"26":1},"2":{"3":1,"5":4,"7":3,"8":1,"14":5,"16":1,"18":4,"19":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":2,"31":5,"33":1,"34":1,"35":3,"36":1,"38":1,"39":2,"40":2,"46":1,"47":1,"75":1,"80":2,"83":1,"88":1,"113":1,"115":1,"116":1,"117":2,"121":2,"122":2,"123":1,"129":1,"130":2,"136":3,"138":1,"139":1,"149":1,"156":4,"157":1,"161":1,"174":2,"180":1,"192":2,"197":1,"217":1,"218":1,"230":1,"231":1,"235":1,"252":1,"257":1,"264":1,"283":1,"286":2,"294":1,"295":1,"308":1,"311":2,"316":1,"320":1,"321":1,"322":1,"323":2,"326":1,"327":1,"328":2,"332":4}}],["a",{"0":{"5":1,"7":1,"26":1,"39":1,"59":1,"77":1,"145":1,"146":1,"169":1,"195":1,"201":1,"202":1,"207":1,"216":1,"230":1,"241":1,"259":1,"270":1,"278":1,"290":1,"308":1,"321":1,"323":1,"331":1},"1":{"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"60":1,"61":1,"62":1,"63":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":2,"209":2,"210":2,"211":2,"212":2,"213":2,"217":1,"271":1,"272":1,"273":1},"2":{"2":4,"5":5,"7":8,"8":5,"9":2,"11":2,"12":1,"13":3,"14":4,"15":3,"16":5,"18":4,"19":3,"20":3,"21":2,"23":4,"24":3,"25":9,"26":2,"27":7,"28":3,"29":3,"31":5,"33":2,"34":10,"35":8,"37":1,"38":4,"39":3,"40":4,"42":1,"45":1,"51":1,"63":3,"68":1,"75":2,"76":1,"78":2,"80":1,"81":1,"82":2,"84":1,"85":2,"86":1,"88":3,"89":1,"93":2,"96":2,"97":1,"99":1,"101":1,"102":3,"105":1,"106":1,"107":2,"108":3,"109":1,"110":1,"113":1,"115":2,"116":2,"117":1,"118":3,"120":2,"121":6,"123":1,"127":4,"129":3,"130":6,"132":2,"136":9,"138":6,"139":2,"144":1,"146":2,"147":5,"148":1,"149":1,"153":1,"154":3,"155":1,"156":2,"158":1,"159":2,"164":1,"165":2,"166":2,"167":2,"168":1,"169":1,"172":1,"174":1,"175":2,"177":1,"178":1,"179":2,"180":2,"181":2,"183":1,"187":1,"188":3,"189":2,"190":1,"192":5,"193":2,"195":2,"198":1,"199":2,"201":1,"202":2,"203":1,"206":1,"208":2,"209":4,"211":4,"213":1,"214":1,"217":8,"218":1,"219":1,"222":2,"225":2,"228":7,"230":2,"231":6,"233":1,"235":1,"237":2,"238":1,"241":2,"244":1,"246":4,"250":4,"255":2,"256":3,"257":5,"259":2,"263":2,"264":1,"265":2,"266":2,"269":2,"270":2,"271":2,"272":1,"275":7,"281":2,"283":2,"285":1,"286":7,"288":9,"290":1,"291":2,"292":1,"294":1,"295":4,"299":1,"302":1,"305":2,"308":5,"311":2,"313":10,"315":3,"316":4,"317":4,"320":2,"322":3,"323":3,"325":2,"326":3,"327":8,"328":11,"329":2,"331":1,"332":13,"333":6}}],["ics20",{"2":{"250":1}}],["icons",{"2":{"192":3}}],["icahost",{"2":{"186":1}}],["ibc",{"0":{"238":1,"246":1,"250":1},"1":{"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":2,"248":2,"249":2,"250":2,"251":2,"252":2,"253":2},"2":{"179":1,"186":1,"217":1,"238":5,"241":2,"244":2,"246":1,"250":9,"251":1,"252":5,"253":2,"255":1}}],["ip4",{"2":{"186":2}}],["ip",{"2":{"167":1,"186":1,"195":2,"202":1,"235":1,"244":1,"271":1,"290":1,"331":1}}],["io",{"2":{"167":1,"195":1,"202":1,"230":1,"241":1,"259":1,"271":1,"290":1,"308":1,"331":1}}],["id=channel",{"2":{"252":1}}],["id=",{"2":{"185":1,"186":2}}],["id=$",{"2":{"177":1}}],["id",{"2":{"123":1,"152":1,"175":2,"177":7,"178":2,"179":10,"183":1,"185":1,"186":1,"192":1,"195":1,"230":2,"235":1,"248":2,"250":35,"252":4,"253":2,"281":2,"283":5,"285":1,"286":7,"332":6}}],["identifier",{"2":{"154":2,"155":1}}],["identify",{"2":{"16":1}}],["ideal",{"2":{"39":1}}],["ideas",{"2":{"18":1,"19":2,"20":2,"96":1,"311":1}}],["ignite",{"0":{"222":1,"225":1,"278":1,"314":1,"315":1},"1":{"315":1,"316":1,"317":1},"2":{"93":1,"195":1,"202":1,"217":1,"219":1,"222":15,"225":15,"231":6,"240":1,"241":3,"278":1,"288":1,"290":1,"310":1,"311":1,"312":1,"315":8,"316":5,"322":1,"331":2,"332":1,"333":1}}],["ignored",{"2":{"78":1}}],["i",{"2":{"63":1,"147":1,"230":1,"241":1,"256":1,"259":1,"266":1,"308":1}}],["if",{"2":{"4":1,"11":1,"30":1,"40":1,"63":1,"64":1,"82":3,"96":1,"136":2,"158":1,"159":1,"164":1,"173":1,"175":1,"179":1,"188":1,"191":1,"199":1,"206":1,"211":1,"214":1,"217":1,"222":1,"225":1,"230":1,"233":2,"235":1,"252":1,"253":1,"256":1,"264":1,"268":1,"269":1,"275":1,"286":2,"288":5,"295":1,"296":1,"297":1,"308":1,"311":1,"315":1,"316":1,"327":8,"328":14,"332":1}}],["ingredients",{"2":{"281":1,"282":2,"283":3,"285":1,"288":1}}],["involves",{"2":{"246":1}}],["invalidargument",{"2":{"211":2,"288":1}}],["invalid",{"2":{"136":4,"211":2,"288":1,"332":2}}],["invite",{"2":{"13":1,"18":1,"20":1,"29":1}}],["init",{"2":{"117":1,"152":1,"153":1,"157":3,"169":4,"175":1,"178":1,"183":1,"184":1,"186":1,"187":1,"197":3,"198":1,"203":3,"205":1,"206":1,"212":1,"233":6,"235":1,"241":2,"244":3,"248":1,"291":4,"294":2,"309":1,"332":4}}],["initializing",{"0":{"169":1},"2":{"170":1,"249":1}}],["initialized",{"2":{"167":1,"290":1,"308":1,"331":1}}],["initialize",{"0":{"153":1},"2":{"152":1,"169":3,"203":2,"205":1,"291":2,"317":1,"328":1,"332":3}}],["initially",{"2":{"26":1}}],["initial",{"2":{"14":1,"236":1,"238":2,"322":2,"328":1}}],["input",{"2":{"20":1}}],["inf",{"2":{"186":10,"263":10,"296":1,"309":4}}],["infos",{"2":{"235":1,"332":1}}],["info",{"2":{"122":1,"164":3,"179":2,"235":2,"250":13,"288":1,"332":2}}],["information",{"2":{"86":1,"122":5,"176":1,"189":1,"211":1,"235":1,"288":1,"322":1}}],["informed",{"2":{"20":1}}],["inflationary",{"2":{"34":1}}],["infrastructure",{"2":{"7":1,"8":1}}],["insert",{"2":{"286":1}}],["instantiate",{"2":{"178":1}}],["instantiated",{"2":{"177":1,"179":2}}],["instantiating",{"2":{"178":1}}],["instantiation",{"0":{"178":1}}],["instance",{"2":{"172":1,"209":1,"241":1,"259":1,"291":1,"308":1}}],["installs",{"2":{"315":1}}],["installing",{"0":{"279":1,"319":1},"2":{"154":1,"161":1,"164":4,"165":1,"222":2,"225":2}}],["installations",{"0":{"160":1},"1":{"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1}}],["installation",{"0":{"163":1,"165":1,"166":1},"1":{"164":1},"2":{"143":1,"164":1,"222":1,"225":1,"226":1,"315":1}}],["installed",{"2":{"142":1,"153":1,"154":1,"164":2,"195":1,"202":1,"222":2,"225":2,"229":1,"233":1,"258":1,"290":1,"303":1,"315":1,"331":2}}],["install",{"0":{"144":1,"221":1,"222":1,"224":1,"225":1,"226":1,"227":1,"232":1,"243":1,"247":1,"261":1},"1":{"225":1},"2":{"94":4,"138":2,"141":2,"142":4,"143":1,"144":2,"152":1,"162":1,"164":2,"165":1,"166":1,"191":3,"195":2,"202":2,"221":1,"222":1,"224":1,"225":1,"226":3,"227":1,"233":3,"241":2,"243":1,"247":1,"271":2,"290":2,"315":1,"331":2}}],["instead",{"2":{"116":1,"246":1,"278":1}}],["instructions",{"2":{"3":1,"29":1,"165":1,"191":1,"195":2,"202":2,"257":1,"271":2,"290":2,"331":2}}],["inside",{"0":{"170":1},"2":{"85":1,"169":1,"184":1,"197":1,"203":1,"232":1,"233":1,"291":1,"317":2,"319":1,"327":1,"329":1,"332":1}}],["inscriptions",{"2":{"25":2}}],["inscribe",{"2":{"25":2}}],["inspired",{"2":{"120":1}}],["inspire",{"2":{"18":1}}],["increment",{"2":{"328":2,"332":1}}],["increments",{"2":{"286":1}}],["incrementcounter",{"2":{"154":3,"156":1,"157":1}}],["increase",{"0":{"299":1},"2":{"295":3,"299":1}}],["increased",{"2":{"15":1,"236":1}}],["increasing",{"2":{"188":1}}],["incurring",{"2":{"34":1}}],["incur",{"2":{"29":1,"35":1}}],["inclusion",{"0":{"105":1},"2":{"44":1,"80":1,"105":1,"176":1,"238":1}}],["inclusivity",{"2":{"15":1}}],["included",{"2":{"25":1,"136":2,"154":1,"175":2,"313":1,"332":3}}],["include",{"2":{"25":2,"154":1,"164":1,"238":1}}],["includes",{"2":{"14":1,"35":1,"110":1,"116":1,"117":1,"192":1}}],["including",{"2":{"5":1,"13":1,"28":1,"34":1,"35":1}}],["innovative",{"2":{"37":1}}],["innovation",{"2":{"5":1,"7":1,"16":1,"19":1,"31":1}}],["innovate",{"2":{"9":1,"16":1,"30":1,"31":1,"64":1}}],["indicators",{"2":{"313":1}}],["indexed",{"2":{"263":1,"309":1}}],["index",{"2":{"179":1,"286":1,"327":4,"328":4,"332":1}}],["independent",{"2":{"5":1,"14":1}}],["industry",{"2":{"9":1,"14":1}}],["inherits",{"2":{"29":1}}],["inherit",{"2":{"8":1,"23":1,"35":1,"82":1,"111":1,"139":1}}],["int",{"2":{"154":9,"156":1,"157":1,"328":1}}],["into",{"0":{"26":1,"282":1},"2":{"14":2,"63":1,"101":1,"105":1,"113":1,"127":1,"139":1,"153":1,"159":1,"175":1,"191":1,"209":1,"217":1,"222":1,"225":1,"241":1,"255":1,"256":1,"268":1,"269":1,"273":1,"275":1,"278":1,"282":1,"286":3,"304":1,"307":1,"311":1}}],["integers",{"2":{"327":1,"332":1}}],["integrating",{"0":{"26":1},"2":{"25":1}}],["integrations",{"2":{"118":2}}],["integration",{"2":{"13":1,"16":1,"18":1,"23":1,"24":1,"28":1,"29":1,"117":1,"118":1,"139":2,"257":1}}],["integrated",{"2":{"18":1,"31":1}}],["integrates",{"2":{"18":1}}],["integrate",{"2":{"14":1,"139":1,"159":1}}],["intend",{"2":{"31":1}}],["internal",{"2":{"288":1}}],["internet",{"2":{"227":1}}],["inter",{"2":{"217":1,"238":1}}],["interchain",{"2":{"189":1}}],["interacted",{"2":{"179":1}}],["interact",{"0":{"267":1,"269":1},"2":{"179":1,"268":2,"269":1,"326":1}}],["interactive",{"2":{"192":1}}],["interactions",{"2":{"326":2}}],["interaction",{"0":{"176":1,"179":1},"1":{"177":1,"178":1,"179":1},"2":{"321":1}}],["interacting",{"2":{"121":1}}],["interwasm",{"2":{"172":1}}],["intermediate",{"0":{"61":1,"71":1},"2":{"130":1,"255":2}}],["interested",{"2":{"20":1,"199":1,"214":1}}],["interfaces",{"2":{"27":2,"117":1,"122":1,"321":1}}],["interface",{"0":{"115":1},"1":{"116":1},"2":{"5":1,"14":1,"27":6,"31":1,"40":1,"86":1,"115":1,"116":1,"117":2,"118":1,"329":2,"333":1}}],["introduction",{"0":{"64":1,"66":1,"217":1},"1":{"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1},"2":{"66":1}}],["introduced",{"2":{"23":1,"254":1}}],["introduce",{"2":{"5":1}}],["introducing",{"0":{"5":1},"1":{"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1},"2":{"22":1,"74":1}}],["in",{"0":{"126":1,"130":1,"296":1,"333":1},"2":{"3":1,"4":2,"5":1,"6":2,"7":2,"9":4,"10":2,"12":1,"13":4,"14":3,"16":1,"18":2,"20":1,"25":1,"26":2,"27":3,"29":1,"30":1,"31":2,"34":2,"35":2,"36":2,"40":1,"42":2,"45":1,"63":3,"64":1,"81":1,"85":1,"86":1,"96":1,"103":1,"106":2,"107":1,"110":1,"113":1,"117":2,"118":1,"120":1,"121":3,"123":1,"124":1,"127":2,"129":2,"130":4,"132":1,"136":9,"138":2,"147":1,"151":1,"153":1,"154":4,"157":1,"158":2,"159":4,"165":1,"166":2,"167":2,"169":1,"172":1,"173":1,"174":2,"175":4,"176":2,"177":1,"179":1,"181":1,"182":2,"186":1,"188":1,"189":4,"190":1,"191":3,"192":7,"193":1,"195":1,"197":1,"198":2,"199":1,"201":1,"203":1,"206":3,"208":1,"209":4,"210":1,"211":3,"213":1,"214":2,"217":2,"221":1,"222":1,"224":1,"225":1,"226":1,"228":2,"231":5,"233":1,"235":1,"236":1,"237":1,"238":1,"241":2,"244":2,"246":2,"250":5,"252":3,"254":2,"255":1,"256":3,"259":1,"262":1,"266":1,"268":1,"269":4,"270":3,"272":1,"273":2,"275":5,"283":2,"286":4,"288":5,"290":1,"291":2,"294":1,"295":7,"298":1,"299":1,"301":2,"305":1,"308":3,"310":1,"311":3,"312":4,"313":5,"315":2,"316":1,"317":1,"320":2,"322":2,"323":1,"327":5,"328":3,"329":2,"331":1,"332":6,"333":1}}],["image",{"2":{"25":1,"230":1}}],["images",{"2":{"3":1}}],["imagine",{"2":{"16":1}}],["impl=node",{"2":{"186":1}}],["impl=rpc",{"2":{"186":1}}],["implementing",{"2":{"27":1,"40":1}}],["implementers",{"2":{"27":1}}],["implemented",{"2":{"27":1,"118":1,"120":1,"123":1,"124":1,"127":1,"286":1,"320":1,"329":1,"332":1}}],["implement",{"2":{"27":2,"286":3,"288":1,"313":2,"326":1}}],["implements",{"2":{"25":1,"122":1,"211":1}}],["implementations",{"2":{"117":1,"311":1}}],["implementation",{"0":{"313":1},"2":{"16":1,"23":1,"24":1,"26":1,"29":1,"35":1,"127":2,"311":1}}],["imported",{"2":{"231":1}}],["imports",{"2":{"192":2,"283":1}}],["import",{"2":{"154":2,"155":2,"192":4,"286":1,"288":2,"327":1,"328":1}}],["important",{"2":{"14":1,"27":1,"30":1,"64":1,"117":1,"170":1,"317":1}}],["improves",{"2":{"332":1}}],["improvement",{"2":{"18":1}}],["improvements",{"2":{"4":1,"16":1}}],["improve",{"2":{"18":1,"333":4}}],["improving",{"2":{"2":1}}],["itoa",{"2":{"328":2}}],["its",{"2":{"5":1,"6":1,"7":1,"13":1,"14":2,"15":1,"17":1,"18":3,"27":1,"107":1,"111":1,"123":1,"129":1,"136":1,"177":1,"275":1,"281":1,"320":2,"328":1}}],["it",{"0":{"18":1},"2":{"2":2,"5":1,"7":2,"8":1,"14":2,"15":1,"16":1,"18":3,"23":1,"25":2,"27":3,"29":3,"30":1,"31":1,"34":2,"35":4,"38":1,"40":1,"44":1,"63":1,"64":2,"75":1,"96":1,"108":1,"115":1,"117":1,"118":1,"120":1,"121":1,"123":1,"130":1,"136":1,"139":3,"142":2,"147":2,"154":1,"155":1,"156":1,"157":1,"158":2,"164":1,"165":1,"167":4,"169":1,"170":1,"172":1,"174":1,"176":1,"177":1,"179":1,"186":1,"189":1,"192":1,"193":1,"201":1,"203":1,"210":1,"211":1,"214":1,"218":1,"233":1,"235":2,"236":1,"247":1,"250":3,"256":1,"269":1,"286":2,"290":4,"291":1,"294":1,"308":2,"311":1,"313":2,"315":2,"317":3,"321":1,"322":3,"325":1,"326":2,"327":1,"328":2,"329":1,"331":4,"332":4,"333":3}}],["isfound",{"2":{"327":2,"328":4}}],["isletter",{"2":{"327":3,"328":1}}],["islazy",{"2":{"192":2}}],["isn",{"2":{"313":1}}],["isrs",{"2":{"130":1}}],["issues",{"2":{"96":2}}],["issue",{"2":{"4":1,"7":1,"63":1,"96":1,"159":1,"217":1,"238":1,"256":1,"275":1,"311":1}}],["is",{"0":{"7":1,"14":1,"19":1,"31":1,"32":1,"218":1},"1":{"33":1,"34":1},"2":{"1":1,"5":2,"7":1,"8":2,"9":1,"13":2,"14":3,"17":2,"18":4,"19":1,"20":2,"23":3,"26":2,"29":4,"30":1,"31":3,"33":2,"35":3,"38":1,"40":1,"43":1,"44":1,"45":1,"51":1,"52":1,"63":2,"64":2,"78":1,"79":1,"81":1,"82":3,"85":2,"88":2,"91":2,"92":1,"93":3,"96":2,"101":1,"102":1,"103":1,"104":1,"105":2,"106":1,"107":1,"108":1,"109":1,"110":1,"112":1,"115":1,"117":1,"118":2,"120":3,"121":2,"123":2,"127":1,"129":1,"130":1,"136":6,"139":1,"152":1,"154":1,"155":1,"157":1,"158":2,"159":5,"162":1,"164":1,"166":3,"168":1,"170":2,"172":1,"177":1,"178":2,"181":2,"183":1,"188":2,"191":1,"192":1,"193":2,"195":2,"197":1,"201":3,"202":1,"208":2,"209":3,"210":2,"211":1,"217":3,"222":2,"225":1,"227":2,"228":1,"230":2,"231":1,"235":1,"236":1,"238":1,"244":2,"246":1,"250":3,"251":1,"252":1,"253":1,"256":2,"257":3,"268":1,"271":1,"273":1,"275":3,"286":8,"288":3,"294":1,"295":4,"296":1,"298":1,"305":2,"308":3,"311":2,"312":1,"313":1,"315":1,"316":2,"317":3,"320":3,"321":2,"322":2,"325":3,"326":3,"327":5,"328":3,"329":2,"332":2,"333":1}}],["luck",{"2":{"206":1}}],["luxor",{"2":{"25":1}}],["lt",{"2":{"156":2,"157":1,"183":1,"192":1,"269":1,"294":1,"297":1}}],["l1",{"2":{"127":1}}],["l",{"2":{"82":2,"143":1,"261":1}}],["l3s",{"2":{"36":1}}],["license",{"2":{"154":2,"155":1}}],["link",{"2":{"250":1}}],["linking",{"2":{"191":1}}],["line",{"2":{"233":1,"291":1}}],["lines",{"2":{"166":1}}],["linux",{"0":{"220":1,"221":1,"222":1},"1":{"221":1,"222":1},"2":{"142":3,"164":1,"165":1,"174":1,"219":2,"241":1,"259":1,"308":1}}],["linters",{"2":{"95":1}}],["lint",{"2":{"94":1,"95":4}}],["libraries",{"2":{"315":1}}],["library",{"2":{"154":1}}],["libssl",{"2":{"141":1}}],["libp2p",{"2":{"123":1,"181":1}}],["listening",{"2":{"186":3}}],["listen",{"2":{"186":1,"248":1}}],["listen=0",{"2":{"167":1,"195":1,"202":1,"271":1,"290":1,"331":1}}],["listed",{"2":{"34":1}}],["list",{"2":{"96":1,"164":1,"177":1,"179":2,"209":2,"234":2,"288":3,"297":1,"322":1,"332":2}}],["liquidity",{"2":{"39":1}}],["lifecycle",{"2":{"117":1}}],["life",{"2":{"37":1}}],["light",{"0":{"48":1,"57":1,"84":1,"126":1,"195":1,"202":1,"270":1,"271":1,"290":1,"331":1},"1":{"271":1,"272":1,"273":1},"2":{"35":2,"40":1,"45":1,"48":1,"49":1,"51":1,"81":1,"85":3,"113":1,"118":1,"126":4,"127":1,"130":4,"132":2,"136":2,"167":5,"195":7,"197":1,"202":7,"219":1,"238":1,"248":1,"270":2,"271":7,"273":1,"290":6,"295":1,"297":1,"331":7}}],["limit",{"2":{"235":1,"332":1}}],["limited",{"2":{"33":2}}],["limitations",{"2":{"33":1}}],["limits",{"2":{"7":1,"18":1}}],["live",{"2":{"27":1,"155":1,"188":1,"192":1,"217":1}}],["liveness",{"0":{"47":1,"56":1,"83":1},"2":{"11":1,"47":1,"82":5,"83":1}}],["lies",{"2":{"18":1}}],["like",{"2":{"7":1,"8":1,"9":1,"10":1,"16":1,"34":1,"35":1,"43":1,"52":1,"79":1,"115":1,"116":1,"132":1,"141":1,"146":1,"189":1,"192":1,"206":1,"222":2,"225":2,"234":1,"235":2,"246":2,"250":1,"252":1,"253":1,"254":1,"264":1,"288":1,"296":1,"332":1}}],["larger",{"2":{"332":1}}],["largest",{"2":{"25":1}}],["laddr",{"2":{"235":1,"294":2,"299":2,"301":2}}],["laptop",{"2":{"228":1}}],["language",{"2":{"221":1,"224":1}}],["label",{"2":{"178":1,"179":1}}],["labs",{"2":{"14":4,"243":1}}],["later",{"2":{"165":1,"176":1,"231":1,"294":2,"308":1}}],["latest",{"2":{"19":1,"20":1,"149":1,"166":1,"192":1,"232":1,"241":1,"279":1,"319":1,"325":1,"328":1}}],["lazy",{"0":{"254":1},"2":{"73":1,"254":4,"255":1}}],["lastly",{"2":{"138":1,"217":1}}],["last",{"2":{"16":1,"23":1,"121":1,"253":1,"308":1}}],["launch",{"2":{"8":1,"290":1,"331":2}}],["launching",{"2":{"7":2,"16":1,"17":1,"93":1}}],["layers",{"2":{"6":1,"14":1,"16":1,"18":1,"26":2,"28":1,"29":1,"31":2,"35":2,"36":1,"39":2,"88":2,"118":1,"138":1,"139":2}}],["layer",{"0":{"26":1,"39":1,"123":1},"2":{"5":1,"7":3,"8":6,"14":3,"16":1,"18":2,"25":1,"27":2,"29":2,"31":2,"34":2,"35":5,"38":2,"39":2,"40":1,"42":1,"44":1,"46":1,"47":1,"49":1,"59":1,"80":2,"82":3,"83":1,"85":2,"88":1,"102":1,"113":1,"117":4,"118":1,"121":2,"123":2,"127":1,"129":1,"130":2,"136":4,"138":1,"139":1,"152":1,"159":1,"175":1,"176":1,"186":1,"195":1,"202":1,"217":2,"257":1,"263":2,"271":1,"272":1,"290":1,"295":1,"296":4,"309":2,"331":1}}],["len",{"2":{"327":1,"328":1}}],["left",{"2":{"188":1,"222":2,"225":2}}],["leader",{"2":{"332":1}}],["leap",{"2":{"192":1}}],["leapwallets",{"2":{"192":1}}],["least",{"2":{"130":1,"332":1}}],["learn",{"0":{"67":1,"75":1},"1":{"68":1,"76":1},"2":{"3":1,"15":1,"38":1,"40":1,"159":2,"167":1,"189":1,"195":1,"202":1,"214":1,"217":1,"231":1,"237":1,"238":2,"257":1,"264":1,"271":1,"275":1,"290":1,"305":1,"310":1,"311":1,"331":1}}],["less",{"2":{"27":1}}],["letters",{"2":{"327":3,"328":2}}],["letter",{"2":{"313":6,"327":1,"328":1,"332":1}}],["lets",{"2":{"82":1}}],["let",{"0":{"16":1,"19":1},"1":{"17":1,"18":1,"19":1,"20":1},"2":{"15":1,"16":1,"17":2,"19":1,"20":3,"22":1,"63":1,"74":1,"154":2,"155":1,"159":1,"175":1,"177":1,"179":1,"217":1,"233":1,"256":1,"275":1,"311":1,"319":1,"332":2}}],["level",{"2":{"14":1,"120":1,"255":1}}],["leverages",{"2":{"35":1}}],["leverage",{"2":{"8":1,"11":1,"38":1}}],["leveraging",{"2":{"6":1}}],["led",{"2":{"5":1,"15":1}}],["loop",{"2":{"248":2}}],["looks",{"2":{"121":1,"132":1,"189":1}}],["looking",{"2":{"16":1,"34":1,"96":2,"255":1,"282":1}}],["look",{"2":{"16":1,"20":1,"43":1,"52":1,"79":1,"138":1,"146":1,"148":1,"164":1,"167":1,"177":1,"179":2,"191":1,"192":1,"222":1,"225":1,"231":1,"254":1,"263":1,"266":1,"288":1,"290":1,"296":1,"309":1,"327":1,"331":1}}],["lockfile",{"2":{"191":1}}],["located",{"2":{"153":1}}],["location",{"2":{"151":1}}],["localhost",{"2":{"186":1,"192":3,"248":2,"252":2,"253":3,"266":1}}],["locally",{"0":{"156":1,"216":1},"1":{"217":1},"2":{"155":1,"156":2,"157":1}}],["local",{"0":{"91":1,"145":1,"151":1,"230":1,"242":1,"244":1,"252":1,"253":1,"259":1,"308":1},"1":{"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"243":1,"244":1},"2":{"2":1,"28":1,"89":2,"90":1,"91":1,"138":1,"142":4,"144":1,"145":1,"153":1,"156":3,"168":1,"174":2,"177":1,"182":1,"183":1,"190":1,"193":1,"201":1,"217":2,"222":5,"225":5,"228":2,"230":2,"233":7,"234":2,"235":2,"237":2,"238":1,"241":4,"244":5,"248":2,"249":3,"250":6,"252":1,"255":1,"257":1,"259":2,"272":2,"294":8,"305":1,"308":3,"309":1,"315":2,"316":1,"327":1,"328":1,"333":1}}],["logic",{"0":{"283":1},"2":{"288":1,"320":1,"326":1,"332":1}}],["login",{"2":{"269":1}}],["logo",{"2":{"192":1}}],["logs",{"2":{"154":3,"177":1,"179":1,"235":1,"263":1,"266":1,"308":1,"309":1,"332":1}}],["logging",{"2":{"154":1}}],["log",{"2":{"154":3,"156":1,"179":1,"235":1,"308":1,"332":2}}],["low",{"2":{"126":1}}],["loading",{"2":{"43":1,"52":1,"79":1,"114":1,"133":1,"134":1,"135":1,"136":1,"192":1}}],["lots",{"2":{"315":1}}],["lot",{"2":{"16":3}}],["long",{"2":{"9":1,"130":1,"308":1,"327":1,"328":1,"332":1}}],["longer",{"2":{"8":1,"176":1}}],["love",{"2":{"2":1}}],["ll",{"2":{"0":1,"21":1,"138":1,"147":1,"179":2,"182":2,"186":1,"189":3,"192":1,"209":1,"211":1,"214":1,"217":1,"233":1,"235":2,"238":1,"244":1,"254":1,"255":2,"268":1,"269":1,"270":2,"272":1,"286":1,"295":1,"297":1,"310":1}}],["wrap",{"2":{"327":3,"328":4}}],["wrappedwithchakra=",{"2":{"192":1}}],["wrong",{"2":{"313":1,"328":2}}],["written",{"2":{"221":1,"224":1,"283":1}}],["writing",{"2":{"27":1,"159":1,"178":1}}],["writer",{"2":{"27":2}}],["write",{"2":{"27":3,"63":1,"159":2,"208":1,"217":1,"256":1,"275":2,"308":1,"311":1,"316":1,"327":1}}],["wss",{"2":{"192":1}}],["w1",{"2":{"146":2}}],["wget",{"0":{"227":1},"2":{"141":1,"142":1,"169":1,"184":1,"197":1,"203":1,"219":1,"227":2,"233":1,"291":1,"332":1}}],["won",{"2":{"164":1}}],["would",{"2":{"63":1,"82":2,"116":1,"164":2,"192":1,"254":1,"256":1}}],["word",{"2":{"313":7,"322":1,"323":4,"325":3,"327":6,"328":8,"332":4,"333":2}}],["words",{"2":{"249":1}}],["wordled",{"2":{"332":1}}],["wordle",{"0":{"311":1,"314":1,"316":1,"317":1,"320":1,"324":1,"325":1,"330":1,"332":1},"1":{"312":1,"313":1,"314":1,"315":2,"316":2,"317":2,"318":1,"319":1,"320":1,"321":2,"322":1,"323":1,"324":1,"325":2,"326":1,"327":1,"328":1,"329":1,"330":1,"331":2,"332":2,"333":2},"2":{"61":1,"71":1,"255":1,"311":1,"312":1,"313":7,"316":3,"317":1,"318":1,"319":2,"320":1,"321":3,"322":3,"323":2,"325":3,"327":24,"328":17,"329":3,"331":1,"332":31,"333":2}}],["worse",{"2":{"82":1}}],["world",{"0":{"189":1,"193":1,"200":1,"207":1,"208":1,"215":1},"1":{"190":1,"191":1,"192":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":2,"209":3,"210":3,"211":3,"212":3,"213":3,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"237":1},"2":{"60":2,"70":2,"158":1,"180":1,"182":1,"189":1,"190":1,"191":4,"192":1,"193":1,"201":1,"208":1,"211":1,"213":1,"217":1,"218":1,"238":1,"241":1,"255":4,"275":1,"276":1,"294":2,"295":1,"310":1,"312":1,"316":1}}],["working",{"2":{"40":1,"93":1,"291":1}}],["work",{"0":{"126":1,"130":1},"2":{"13":1,"14":1,"15":1,"96":1,"130":2,"132":1,"138":1,"231":1,"315":1,"317":1,"321":1,"329":1}}],["works",{"2":{"8":1,"15":1,"27":1,"118":1,"138":1,"217":1}}],["worry",{"2":{"8":1}}],["wait",{"2":{"254":1,"332":1}}],["waiting",{"2":{"175":1,"176":1,"266":1}}],["watch",{"2":{"197":1}}],["warning",{"2":{"132":1,"146":1,"159":1,"228":1,"231":1,"233":1,"241":1,"275":1,"308":1,"311":1}}],["wanted",{"2":{"179":2,"235":1,"332":1}}],["want",{"2":{"30":1,"39":1,"64":1,"173":1,"174":1,"192":1,"230":1,"272":1,"283":1}}],["wants",{"2":{"27":1,"328":1}}],["walletconnect",{"2":{"192":1}}],["walletconnectoptions=",{"2":{"192":1}}],["wallets=",{"2":{"192":1}}],["wallet",{"0":{"146":1},"2":{"146":1,"179":1,"192":1,"249":1,"269":3}}],["wall",{"2":{"25":1}}],["wasm1y9ceqvnsnm9xtcdmhrjvv4rslgwfzmrzky2c5z",{"2":{"179":2}}],["wasm14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9s0phg4d",{"2":{"179":3}}],["wasmd",{"0":{"166":1},"2":{"166":4,"168":2,"169":1,"174":1,"175":2,"177":1,"178":1,"179":6}}],["wasm32",{"2":{"164":4,"172":1}}],["wasm",{"2":{"159":1,"172":2,"174":2,"175":4,"177":1,"178":1,"179":7}}],["was",{"2":{"14":2,"24":1,"25":2,"27":1,"142":1,"254":1,"294":1,"315":1,"327":1,"328":1,"332":3}}],["ways",{"2":{"16":1,"18":1,"36":1,"89":1,"313":1,"333":1}}],["way",{"2":{"8":1,"42":1,"78":1,"85":1,"96":1,"181":1,"328":1,"332":4}}],["whammy",{"2":{"250":1}}],["what",{"0":{"19":1,"31":1,"32":1,"170":1,"218":1},"1":{"33":1,"34":1},"2":{"8":1,"16":1,"18":1,"20":1,"40":1,"43":1,"52":1,"79":1,"132":1,"192":1,"209":1,"296":1}}],["whichever",{"2":{"40":1}}],["which",{"2":{"27":2,"31":1,"34":1,"35":2,"63":1,"82":1,"92":1,"103":1,"105":1,"110":1,"116":2,"121":3,"136":2,"159":1,"174":1,"181":1,"188":1,"191":1,"195":1,"217":1,"230":1,"235":1,"241":1,"244":1,"246":1,"253":1,"256":1,"270":1,"275":2,"283":1,"286":5,"288":1,"308":1,"311":1,"313":1,"316":1,"321":2,"327":2,"328":2}}],["while",{"2":{"19":1,"25":1,"26":1,"34":1,"63":1,"88":1,"136":1,"147":1,"230":1,"256":1,"320":1}}],["whoever",{"2":{"313":1}}],["whole",{"2":{"308":1}}],["who",{"2":{"18":1,"39":1,"312":1}}],["why",{"0":{"35":1},"2":{"15":1,"16":1,"18":1}}],["where",{"2":{"14":1,"26":1,"29":1,"35":1,"63":1,"147":2,"158":1,"230":1,"238":1,"256":1,"294":1,"295":1,"298":1}}],["when",{"0":{"40":1},"2":{"14":1,"18":1,"113":1,"121":1,"130":1,"136":1,"183":1,"188":2,"195":1,"198":1,"202":1,"206":1,"246":1,"249":1,"250":1,"271":1,"286":1,"291":1,"308":1,"328":1,"333":2}}],["whether",{"2":{"2":1,"96":1,"130":1,"228":1,"255":1,"332":1}}],["wire",{"2":{"317":1}}],["windows",{"2":{"315":3}}],["window",{"2":{"213":1,"231":1,"332":1}}],["wip",{"2":{"93":1}}],["wide",{"2":{"88":1,"255":1}}],["widespread",{"2":{"34":1}}],["wiki",{"0":{"68":1},"2":{"76":1,"99":1}}],["witnesses",{"2":{"25":2}}],["within",{"2":{"328":1}}],["without",{"2":{"10":1,"12":1,"25":1,"117":1,"127":1,"257":1,"296":1}}],["with",{"0":{"23":1,"25":1,"37":1,"38":1,"77":1,"88":1,"169":1,"171":1,"176":1,"230":1,"267":1,"269":1,"270":1,"292":1,"302":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"172":1,"173":1,"174":1,"175":1,"177":1,"178":1,"179":1,"271":1,"272":1,"273":1,"303":1,"304":1},"2":{"1":1,"2":1,"3":1,"5":1,"6":1,"8":1,"9":1,"10":1,"12":1,"13":4,"14":1,"15":2,"18":3,"20":3,"22":1,"23":2,"24":2,"25":2,"27":1,"29":3,"30":3,"31":1,"33":1,"34":2,"35":4,"38":1,"51":1,"59":1,"62":1,"63":1,"64":3,"67":1,"72":1,"74":1,"75":1,"82":2,"86":1,"88":1,"89":1,"91":2,"92":1,"93":1,"96":3,"116":3,"117":1,"121":5,"122":1,"127":1,"132":1,"136":1,"138":2,"139":2,"140":1,"142":1,"150":1,"154":3,"155":1,"156":4,"157":1,"158":1,"159":2,"164":1,"166":1,"167":3,"169":3,"173":1,"175":2,"179":4,"186":1,"187":1,"188":1,"189":2,"192":2,"193":1,"195":1,"201":1,"203":1,"205":2,"209":1,"217":2,"228":1,"231":2,"235":2,"241":2,"244":1,"247":1,"248":2,"249":1,"250":1,"251":1,"255":1,"256":1,"265":1,"266":1,"268":3,"269":2,"270":1,"275":3,"281":1,"288":3,"290":2,"291":3,"301":1,"302":1,"308":1,"311":2,"312":1,"315":1,"316":2,"318":1,"319":1,"321":5,"322":2,"323":1,"325":1,"326":2,"327":2,"328":5,"329":2,"331":1,"332":11,"333":1}}],["wizards",{"2":{"25":1}}],["will",{"2":{"5":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":2,"15":2,"19":4,"29":1,"34":1,"59":1,"63":1,"85":1,"113":2,"130":3,"136":5,"138":5,"141":1,"142":1,"146":1,"148":1,"149":1,"153":1,"154":1,"156":2,"157":1,"158":1,"159":4,"161":1,"164":1,"165":1,"167":2,"172":1,"174":1,"175":2,"176":1,"177":1,"179":2,"180":1,"183":2,"186":2,"187":1,"188":2,"190":1,"191":1,"192":2,"197":1,"210":1,"213":1,"217":3,"221":1,"222":3,"224":1,"225":3,"226":1,"228":1,"231":4,"233":1,"241":1,"244":1,"245":2,"249":2,"252":2,"256":1,"263":1,"265":1,"266":2,"268":2,"270":3,"275":3,"281":1,"283":2,"288":2,"290":1,"293":1,"294":1,"295":3,"296":1,"299":1,"302":1,"305":1,"308":1,"309":1,"311":4,"313":5,"316":2,"317":2,"321":2,"322":1,"324":1,"326":1,"327":2,"328":2,"331":1,"332":7}}],["weight",{"2":{"126":1}}],["well",{"2":{"117":1,"123":1,"156":1,"311":1}}],["welcome",{"2":{"0":1,"21":1,"64":1,"96":2,"255":1}}],["week",{"2":{"23":1}}],["web3",{"2":{"189":1}}],["webassembly",{"2":{"159":1}}],["websockets",{"2":{"122":1}}],["website",{"2":{"15":1,"86":1}}],["web2",{"2":{"80":1}}],["web",{"2":{"8":1,"317":1}}],["we",{"2":{"2":1,"4":1,"5":1,"13":2,"14":3,"16":5,"18":7,"20":3,"23":2,"27":3,"28":1,"29":2,"30":1,"31":1,"40":1,"59":1,"64":2,"78":1,"82":3,"85":4,"96":1,"120":1,"138":4,"141":1,"142":1,"147":1,"153":1,"154":2,"155":2,"156":3,"157":6,"158":1,"159":3,"161":1,"165":2,"166":1,"168":1,"169":4,"172":1,"173":2,"174":2,"175":1,"176":2,"177":2,"178":2,"179":3,"182":1,"186":1,"189":2,"191":1,"192":5,"196":1,"203":3,"204":1,"205":1,"208":1,"210":1,"213":1,"217":2,"228":1,"231":2,"235":6,"238":1,"244":2,"254":1,"255":1,"265":1,"268":1,"270":1,"275":3,"282":2,"283":2,"291":4,"295":2,"301":1,"312":1,"313":5,"316":4,"317":1,"318":2,"319":1,"320":1,"321":2,"322":2,"323":3,"324":2,"325":1,"326":1,"327":9,"328":12,"329":2,"332":8}}],["d7e7e6ec0299c120c0e32167c11f0b60921ef88cc6524345bceb3b266ef727aa",{"2":{"250":1}}],["dst",{"2":{"250":3}}],["d",{"2":{"147":1,"167":1,"195":1,"202":1,"206":1,"235":1,"264":1,"271":1,"290":1,"294":1,"331":1}}],["dload",{"2":{"222":2,"225":2}}],["dl",{"2":{"142":1}}],["dht",{"2":{"123":3}}],["das",{"2":{"270":1}}],["dastartheight",{"2":{"121":1}}],["date",{"2":{"222":1,"225":1,"327":1,"332":1,"333":1}}],["dataavailabilitylayerclient",{"2":{"27":1,"117":1}}],["data",{"0":{"25":1,"26":1,"27":1,"109":1,"117":1},"1":{"118":1},"2":{"5":1,"6":1,"8":1,"14":4,"16":2,"18":2,"23":2,"24":2,"25":8,"26":4,"27":7,"29":3,"31":2,"35":4,"40":1,"59":1,"80":1,"82":2,"88":2,"108":2,"109":1,"111":2,"113":1,"117":3,"118":2,"121":3,"127":1,"129":1,"136":1,"138":2,"139":6,"159":1,"166":1,"175":1,"176":1,"179":2,"186":1,"195":1,"202":1,"208":1,"211":1,"214":1,"217":2,"228":1,"235":1,"237":1,"257":2,"270":2,"271":1,"272":1,"273":1,"275":2,"290":1,"305":1,"317":1,"331":1,"332":2}}],["darwin",{"2":{"164":4,"222":4,"225":4,"247":1}}],["danger",{"2":{"152":1,"175":1}}],["daemon",{"2":{"145":1,"192":1}}],["daheight=148",{"2":{"309":1}}],["daheight=30",{"2":{"263":1}}],["daheight",{"2":{"121":1}}],["dablocktime",{"2":{"121":2}}],["dapp",{"2":{"62":1,"72":1,"255":1}}],["dappsys",{"2":{"154":1}}],["dapps",{"2":{"25":1}}],["day",{"2":{"27":1,"313":2,"322":1,"327":9,"328":15,"332":1,"333":1}}],["da",{"0":{"185":1},"2":{"27":4,"31":1,"35":1,"42":1,"44":1,"46":1,"47":1,"49":1,"59":1,"80":1,"82":4,"83":1,"85":2,"102":1,"113":1,"117":4,"118":4,"121":1,"130":2,"136":4,"152":4,"167":5,"183":2,"185":2,"188":5,"195":8,"198":1,"202":8,"206":1,"217":4,"228":2,"230":3,"238":1,"263":2,"271":7,"272":3,"290":5,"294":4,"295":3,"296":5,"299":2,"301":2,"308":1,"309":2,"331":5,"332":1}}],["duplicate",{"2":{"295":1}}],["duplicated",{"2":{"18":1}}],["duration",{"2":{"248":2}}],["during",{"2":{"35":1,"51":1,"188":1}}],["due",{"2":{"24":1,"175":1,"176":1,"192":1,"295":1}}],["dynamic",{"2":{"19":1}}],["dymension",{"2":{"14":1}}],["down",{"2":{"40":1,"158":1,"166":1,"172":1}}],["downloading",{"2":{"141":1,"164":1,"244":1}}],["download",{"2":{"35":1,"136":1,"166":1,"197":1,"232":1,"233":1,"241":2,"279":1,"319":1}}],["does",{"2":{"37":1,"44":1,"63":1,"80":1,"195":1,"202":1,"210":1,"256":1,"271":1,"332":1}}],["door",{"2":{"23":1}}],["doing",{"2":{"18":1,"312":1,"327":1,"328":2}}],["done",{"2":{"16":1,"147":1,"191":1,"228":1,"268":1}}],["don",{"2":{"8":1,"15":1,"116":1,"125":1,"164":1,"295":1,"308":1}}],["do",{"2":{"8":1,"18":1,"147":1,"155":1,"157":1,"173":1,"192":1,"198":1,"206":1,"208":1,"231":1,"233":1,"235":1,"308":2,"312":2,"331":1}}],["docker",{"0":{"165":1,"302":1},"1":{"303":1,"304":1},"2":{"95":2,"165":2,"174":3,"229":1,"230":1,"240":1,"258":1,"272":2,"302":1,"303":1,"304":3,"306":1}}],["docs",{"2":{"1":1,"5":1,"6":1,"14":1,"64":1,"169":1,"184":1,"192":1,"197":1,"203":1,"231":2,"233":1,"241":1,"244":1,"291":1,"315":1,"317":1,"320":1,"321":1,"322":1,"326":1,"332":1}}],["documentation",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1},"2":{"0":1,"1":1,"3":1,"4":1,"30":1,"38":1,"64":1,"96":1,"231":1,"317":1}}],["dramatically",{"2":{"332":1}}],["drop",{"2":{"166":1}}],["drive",{"2":{"19":1,"329":1}}],["dr",{"0":{"6":1,"17":1,"24":1}}],["diving",{"0":{"282":1}}],["diverse",{"2":{"13":1}}],["difference",{"2":{"109":1}}],["differently",{"2":{"321":1}}],["different",{"2":{"10":1,"18":1,"29":2,"36":1,"99":1,"127":1,"138":1,"139":1,"246":1,"252":1,"269":1,"312":1}}],["diagram",{"0":{"52":1}}],["diagrams",{"2":{"3":1}}],["dishes",{"2":{"288":9,"292":1}}],["dish",{"2":{"281":1,"282":2,"283":3,"285":1,"288":4}}],["disk",{"2":{"228":1}}],["display",{"2":{"192":1,"268":1,"332":1}}],["disputes",{"2":{"39":1}}],["disable",{"2":{"152":1}}],["disclaimer",{"2":{"238":1}}],["discovery",{"2":{"123":1}}],["discord",{"2":{"96":1}}],["discussion",{"2":{"20":1}}],["discussing",{"2":{"19":1}}],["discuss",{"2":{"15":1,"96":1}}],["discrepancies",{"2":{"4":1}}],["directories",{"2":{"317":1}}],["directory",{"0":{"3":1,"317":1},"2":{"147":1,"153":2,"154":1,"164":1,"169":2,"173":1,"174":1,"175":1,"184":1,"187":1,"192":2,"197":1,"198":1,"203":2,"206":1,"209":1,"231":5,"232":1,"233":2,"241":1,"248":2,"268":1,"273":1,"278":1,"291":3,"304":1,"316":2,"317":4,"319":2,"332":2}}],["direction",{"2":{"238":1}}],["direct",{"2":{"117":1,"123":1,"248":2}}],["directly",{"2":{"25":1,"35":1,"176":1,"246":1}}],["didn",{"2":{"297":1,"332":1}}],["did",{"2":{"8":1,"14":1,"328":1,"332":4}}],["deeper",{"0":{"282":1}}],["de5f15d2ceb85278fa916185a01fba5da604563462893288ec7a8745fb597b96",{"2":{"250":1}}],["denied",{"2":{"222":1,"225":1}}],["denom",{"2":{"178":2,"192":4,"235":1,"236":2,"252":5,"253":3}}],["delegating",{"2":{"321":1}}],["delegated",{"2":{"231":1}}],["delegates",{"2":{"102":1}}],["delegate",{"2":{"42":1}}],["delete",{"2":{"288":1}}],["delve",{"2":{"255":1}}],["delay",{"2":{"175":1}}],["deloyment",{"2":{"155":1}}],["detect",{"2":{"130":1}}],["detail",{"2":{"15":1}}],["details",{"2":{"3":1,"27":1,"29":1,"96":1,"179":1}}],["detailed",{"2":{"2":1,"130":1}}],["debug",{"2":{"115":1,"248":2}}],["dep",{"2":{"321":1}}],["dependencies",{"0":{"219":1},"2":{"141":1,"191":1,"192":1,"226":1,"320":1}}],["dependency",{"0":{"97":1,"141":1,"160":1,"162":1},"1":{"142":1,"143":1,"144":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1},"2":{"97":1,"116":2,"321":2}}],["depth",{"2":{"86":1}}],["deployed",{"2":{"35":1,"156":1,"157":2,"177":2}}],["deployment",{"0":{"59":1,"155":1,"171":1,"175":1},"1":{"60":1,"61":1,"62":1,"63":1,"172":1,"173":1,"174":1,"175":1},"2":{"35":1,"175":1,"266":2}}],["deploying",{"0":{"7":1,"156":1,"157":1,"194":1,"201":1},"1":{"195":1,"196":1,"197":1,"198":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1},"2":{"7":2,"8":3,"14":2,"29":1,"31":2,"33":1,"34":3,"35":2,"38":1,"39":1,"155":1,"157":1,"174":1,"197":1,"228":2}}],["deploy",{"0":{"8":1,"266":1},"2":{"5":1,"7":1,"8":1,"29":1,"31":2,"35":2,"118":1,"127":1,"138":1,"139":1,"152":1,"155":1,"156":1,"157":1,"175":1,"217":2,"257":1,"264":2,"266":2}}],["describing",{"2":{"317":1}}],["description",{"0":{"42":1,"51":1,"78":1},"2":{"192":2}}],["desc",{"2":{"179":2}}],["designs",{"2":{"99":1,"322":1}}],["design",{"0":{"43":1,"79":1,"313":1},"2":{"43":1,"48":1,"52":1,"78":2,"79":1,"117":1,"130":2,"139":1,"311":1,"313":2,"322":1}}],["designed",{"2":{"14":1,"255":1,"257":1,"316":2}}],["definition",{"2":{"317":1}}],["defined",{"2":{"275":1,"295":1,"320":1,"321":1,"326":1}}],["define",{"0":{"283":1,"285":1,"286":1},"2":{"99":1,"208":2,"285":1,"286":1,"288":1}}],["defines",{"2":{"27":2,"209":1,"211":1,"295":1,"322":1}}],["defer",{"2":{"127":1}}],["defaultchainname",{"2":{"192":3}}],["defaults",{"2":{"188":1,"192":1}}],["default",{"2":{"31":1,"120":1,"129":1,"164":2,"167":1,"188":1,"192":1,"195":1,"202":1,"248":2,"249":2,"271":1,"273":1,"290":1,"301":1,"317":1,"331":1}}],["dedicated",{"2":{"20":1,"35":1,"123":1}}],["demo",{"0":{"28":1},"2":{"24":1,"28":1,"182":1,"189":1}}],["demos",{"2":{"20":1}}],["demonstrate",{"2":{"19":1}}],["decreased",{"2":{"236":1}}],["decreasing",{"2":{"188":1}}],["decrementcounter",{"2":{"154":2}}],["decision",{"2":{"130":1}}],["decide",{"2":{"123":1,"136":1}}],["decided",{"2":{"14":1}}],["decentralized",{"2":{"7":1,"14":1,"33":1,"34":1,"127":2,"136":1}}],["devices",{"2":{"126":1}}],["devnet",{"0":{"92":1,"230":1,"259":1,"308":1},"2":{"59":1,"89":1,"90":1,"91":1,"92":1,"182":1,"193":1,"195":1,"201":2,"202":1,"205":1,"217":1,"228":3,"230":2,"231":1,"233":1,"235":1,"237":2,"241":2,"255":1,"257":1,"259":2,"270":1,"272":1,"275":1,"290":1,"305":1,"308":3,"311":1,"331":1}}],["developing",{"2":{"14":1,"63":1,"159":1,"217":1,"256":1,"275":1,"311":1}}],["developer",{"2":{"6":1,"7":1,"14":1,"33":1,"228":1}}],["developers",{"2":{"5":1,"7":2,"8":6,"9":2,"14":3,"15":1,"16":1,"18":4,"19":1,"23":1,"26":1,"27":1,"30":2,"31":3,"34":3,"35":3,"37":2,"38":2,"39":1,"64":2,"139":2,"189":1,"228":1,"305":1,"312":1}}],["developments",{"2":{"15":1,"20":1}}],["development",{"0":{"91":1,"153":1},"2":{"5":1,"6":1,"13":1,"18":2,"19":1,"20":1,"88":1,"89":1,"126":1,"153":1,"206":1,"222":1,"227":1,"231":1,"308":1,"313":1,"316":1,"317":1}}],["dev",{"2":{"1":1,"5":1,"141":1,"191":2,"268":1}}],["b",{"2":{"332":5}}],["bz",{"2":{"286":6}}],["b�",{"2":{"263":1}}],["b917289ec7566b57b2d0ec759f2e703dbd652f9044362e78c05c4f6df8fd7ac7",{"2":{"250":1}}],["blank",{"2":{"250":1}}],["blob",{"2":{"188":2}}],["blobs",{"2":{"25":1,"308":1}}],["blockinch",{"2":{"121":1}}],["blockmanager",{"2":{"121":3}}],["blocktime",{"2":{"121":1}}],["blocks",{"0":{"147":1},"1":{"148":1,"149":1,"150":1,"151":1},"2":{"27":2,"35":3,"113":3,"117":1,"122":1,"123":1,"125":2,"127":1,"130":3,"147":2,"158":1,"181":2,"186":1,"197":1,"217":1,"254":2,"295":2}}],["blockspace",{"2":{"23":1,"25":1}}],["blockretriever",{"2":{"27":1,"117":1}}],["block",{"0":{"108":1,"121":1,"135":1,"148":1,"149":1,"150":1,"158":1},"2":{"25":1,"73":1,"80":1,"108":1,"110":2,"117":2,"121":10,"122":1,"126":1,"127":1,"130":3,"136":7,"147":4,"148":1,"149":3,"150":2,"158":7,"175":2,"176":1,"183":1,"185":3,"186":1,"248":2,"255":1,"263":10,"266":1,"272":5,"294":3,"295":1,"296":1,"299":1,"301":1,"309":3,"332":7}}],["blockchains",{"2":{"16":1,"18":1,"111":1,"217":1,"231":1,"246":6,"315":1,"316":1}}],["blockchain",{"2":{"5":2,"7":2,"8":5,"9":1,"25":1,"29":1,"31":1,"33":2,"34":1,"35":1,"103":2,"105":1,"106":1,"108":1,"111":1,"115":1,"122":2,"138":1,"208":2,"217":3,"231":5,"238":1,"246":1,"275":4,"283":1,"316":5,"317":4,"320":1,"326":1,"329":1}}],["blog",{"0":{"21":1,"74":1},"1":{"22":1},"2":{"3":3,"5":2,"15":1,"21":1,"138":1,"312":1}}],["b030ce3fe548d188fbacb6b932d7e51dc7afd65e",{"2":{"192":1}}],["bot",{"2":{"333":1}}],["both",{"2":{"14":1,"158":1}}],["body",{"2":{"235":1,"328":2,"329":1,"332":1}}],["bodies",{"2":{"121":1}}],["bonus",{"2":{"116":1}}],["bool",{"2":{"327":1}}],["boogas",{"2":{"267":1}}],["booga",{"0":{"266":1},"2":{"264":1,"265":1,"267":2,"269":2}}],["book",{"0":{"274":1},"1":{"275":1,"276":1,"277":1,"278":1,"279":1,"280":1,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1,"289":1,"290":1,"291":1,"292":1},"2":{"60":1,"70":1,"255":1,"292":1,"312":1}}],["bootstrap",{"2":{"23":1,"34":1,"35":1,"123":2}}],["bit",{"2":{"233":1,"327":1,"328":1}}],["bitcoin",{"0":{"23":1,"25":1,"26":1,"27":1,"28":1,"137":1,"144":1,"145":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":2,"147":2,"148":2,"149":2,"150":2,"151":2,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1},"2":{"16":2,"22":1,"23":6,"24":4,"25":9,"26":3,"27":7,"28":1,"29":3,"74":1,"118":1,"129":1,"138":5,"139":7,"144":3,"147":3,"151":1,"152":3,"153":3}}],["binded",{"2":{"186":1}}],["binary",{"0":{"243":1},"2":{"166":1,"168":1,"233":1,"286":4,"294":1,"317":1}}],["bin",{"2":{"142":3,"147":1,"164":2,"196":1,"204":1,"222":4,"225":4,"226":3,"233":3,"315":1}}],["bigendian",{"2":{"286":3}}],["big",{"2":{"25":1}}],["bigger",{"2":{"18":2}}],["brainstorm",{"2":{"286":1}}],["branches",{"2":{"116":1}}],["branch",{"2":{"2":3,"260":1,"265":1,"272":1}}],["brew",{"2":{"226":2,"233":1}}],["broadcast",{"2":{"156":1,"157":1,"248":2,"266":2,"286":1}}],["broadcasting",{"2":{"122":1,"235":1,"332":1}}],["bridge",{"2":{"230":1,"308":1}}],["briefly",{"2":{"36":1}}],["brings",{"2":{"13":1,"19":1}}],["bring",{"2":{"9":1,"18":2,"35":1,"37":1}}],["balance",{"2":{"236":3,"252":1,"253":1,"295":1}}],["balances",{"0":{"236":1},"2":{"179":3,"236":2,"252":2,"253":5,"321":1}}],["bad",{"2":{"218":1}}],["bankkeeper",{"2":{"327":1,"328":1,"329":2}}],["bank",{"2":{"179":2,"231":1,"235":3,"236":2,"252":1,"253":2,"321":5}}],["back",{"0":{"253":1},"2":{"177":1,"192":1,"283":1,"301":1}}],["backend",{"2":{"157":1,"175":2,"178":1,"179":2,"234":1,"235":1,"248":2,"252":1,"291":1,"297":1,"332":5}}],["backed",{"2":{"104":1}}],["batching",{"2":{"101":1}}],["batches",{"2":{"78":1,"109":1}}],["batch",{"2":{"51":1,"80":1,"85":1,"101":2,"109":1,"248":2}}],["bash4",{"2":{"296":1}}],["bash4980",{"2":{"148":1}}],["bash7",{"2":{"263":1}}],["bashosmosisd",{"2":{"252":1,"253":1}}],["bashosmo",{"2":{"252":1}}],["bashopenssl",{"2":{"167":1,"195":1,"202":1,"271":1,"290":1,"331":1}}],["bash2024",{"2":{"250":1}}],["bashversion",{"2":{"247":1}}],["bashver=",{"2":{"142":1}}],["bashkeyname",{"2":{"245":2}}],["bashwordled",{"2":{"332":7}}],["bashwarning",{"2":{"308":1}}],["bashwasmd",{"2":{"177":1,"179":1}}],["bashwget",{"2":{"241":1,"244":1}}],["bashaddress",{"2":{"264":1}}],["bashauth",{"2":{"235":1}}],["bashanvil",{"2":{"156":1}}],["bash==",{"2":{"226":1}}],["bashjcs",{"2":{"222":1,"225":1,"231":1}}],["bashtext",{"2":{"213":1}}],["bashtx",{"2":{"175":2}}],["bashmodify",{"2":{"209":1,"281":1,"288":1}}],["bashmake",{"2":{"166":1}}],["bashibc",{"2":{"253":1}}],["bashignite",{"2":{"209":1,"222":1,"225":1,"231":1,"278":1,"281":1,"288":1,"315":1,"316":1,"321":1,"323":2,"325":2}}],["bashinit=",{"2":{"178":1}}],["bashinfo",{"2":{"164":1}}],["bashnpm",{"2":{"191":1}}],["bashname",{"2":{"179":1}}],["bashgo",{"2":{"232":1,"279":1,"319":1}}],["bashgmd",{"2":{"188":2,"213":1,"234":1,"235":2,"236":2,"252":1,"253":2,"299":1,"301":1}}],["bashgit",{"2":{"152":1,"166":1,"172":1,"304":1,"307":1}}],["bash3",{"2":{"186":1,"309":1}}],["bashda",{"2":{"186":1}}],["bashdeip",{"2":{"179":1}}],["bashdocker",{"2":{"167":1,"195":1,"202":1,"230":1,"241":1,"259":1,"271":1,"290":1,"308":1,"331":1}}],["bashprivate",{"2":{"157":1}}],["bashconfirm",{"2":{"332":1}}],["bashcode",{"2":{"177":1,"235":1,"332":1}}],["bashcd",{"2":{"191":1,"192":1,"231":2,"241":2,"243":1,"247":1,"260":1,"262":1,"265":1,"266":1,"268":2,"272":1,"273":1,"278":1,"297":1,"317":1}}],["bashcreate",{"2":{"191":1}}],["bashcargo",{"2":{"173":1}}],["bashcast",{"2":{"156":2,"157":2,"267":2}}],["bashcelestia",{"2":{"167":1,"230":1,"290":1,"331":1}}],["bashcurl",{"2":{"143":1,"164":1,"222":1,"225":1,"241":1,"261":1,"315":1}}],["bashforge",{"2":{"153":1,"154":1,"156":1,"157":1,"266":1}}],["bashfoundryup",{"2":{"143":1}}],["basherror",{"2":{"179":1}}],["bashethermintd",{"2":{"152":1}}],["bashexport",{"2":{"147":1,"148":1,"149":1,"152":1,"156":3,"157":1,"235":1,"266":2,"269":1,"308":1}}],["bashrecipesd",{"2":{"291":1,"292":1}}],["bashregister=",{"2":{"179":1}}],["bashrly",{"2":{"247":1,"248":1,"249":1,"250":3,"251":1}}],["bashrustup",{"2":{"164":1}}],["bashrust",{"2":{"164":1}}],["bashrm",{"2":{"151":1,"196":1,"204":1,"233":1}}],["bashrc",{"2":{"142":3,"143":1}}],["bash1d7e98aec3085b615c7c71659768fa42e774a87ab5981597e99794d240fb3db5",{"2":{"149":1}}],["bashbalances",{"2":{"236":2,"252":1}}],["bashbash",{"2":{"147":1,"152":1,"169":1,"197":1,"198":1,"205":1,"206":1,"233":1,"241":1,"244":1,"291":1,"309":1,"332":1}}],["bashbrew",{"2":{"227":1}}],["bashbitcoin",{"2":{"144":1,"145":1,"146":1,"148":1,"149":1,"150":2}}],["bashsource",{"2":{"143":1}}],["bashsudo",{"2":{"141":2,"144":1,"174":2,"222":2,"225":2}}],["bash",{"0":{"169":1},"2":{"142":3,"143":1,"147":1,"154":1,"158":4,"169":1,"179":2,"184":1,"187":2,"191":1,"197":1,"203":1,"222":5,"225":5,"226":2,"233":1,"234":1,"235":1,"241":1,"254":2,"261":1,"272":1,"291":1,"294":1,"315":1,"332":1}}],["bashyarn",{"2":{"1":1}}],["baseurl=http",{"2":{"186":1}}],["basename",{"2":{"174":2}}],["base",{"2":{"80":1,"192":1,"288":2,"332":1}}],["based",{"0":{"102":1},"2":{"46":1,"47":2,"83":2,"102":1,"123":1,"255":1,"286":1,"288":1}}],["basics",{"2":{"312":1}}],["basic",{"0":{"41":1,"50":1},"1":{"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1},"2":{"154":2,"211":1,"332":1}}],["bar",{"2":{"30":1,"64":1}}],["barrier",{"2":{"8":1,"34":1}}],["bug",{"2":{"96":1}}],["bugs",{"2":{"18":1,"63":1,"159":1,"217":1,"256":1,"275":1,"311":1}}],["buffer",{"2":{"208":2,"317":1}}],["bufbuild",{"2":{"166":1,"232":1,"241":1,"279":1,"319":1}}],["buf",{"2":{"95":1,"166":1,"232":1,"241":1,"279":1,"319":1}}],["business",{"2":{"34":1}}],["budget",{"2":{"23":1}}],["but",{"2":{"8":1,"23":1,"34":1,"116":1,"123":1,"131":1,"157":1,"170":1,"192":1,"244":1,"312":1,"313":1,"315":1,"316":1,"317":1}}],["builders",{"2":{"17":1,"18":1}}],["build",{"0":{"39":1},"2":{"3":1,"6":1,"8":1,"13":2,"15":1,"18":1,"19":1,"29":2,"34":1,"38":1,"42":1,"63":1,"87":2,"89":1,"139":2,"141":1,"142":1,"159":1,"166":1,"189":1,"221":1,"222":1,"224":1,"225":1,"231":2,"254":1,"256":1,"275":1,"290":1,"305":1,"310":1,"311":1,"316":3,"319":1,"321":1,"331":2}}],["building",{"0":{"1":1,"59":1,"87":1,"88":1,"89":1,"216":1,"231":1,"332":1},"1":{"60":1,"61":1,"62":1,"63":1,"89":1,"90":2,"91":2,"92":2,"93":2,"94":1,"217":1},"2":{"14":2,"15":1,"16":1,"19":1,"40":1,"59":1,"67":1,"75":1,"88":1,"93":1,"189":1,"191":1,"217":3,"254":1,"305":1,"311":1,"315":1,"318":1}}],["built",{"2":{"1":1,"13":1,"27":1,"31":1,"35":1,"38":1,"159":2,"168":1,"201":1,"214":1,"237":1,"275":1,"292":1,"305":1,"311":1}}],["berachain",{"2":{"257":1,"260":1}}],["being",{"2":{"148":1,"175":1,"192":1,"332":1}}],["been",{"2":{"80":1,"136":1,"156":1,"157":1,"175":1,"179":1,"188":1,"209":1,"228":1,"231":1,"252":1,"253":1,"257":1,"278":1,"281":1,"282":1,"305":1,"327":1,"328":1,"332":2}}],["beta",{"0":{"194":1},"1":{"195":1,"196":1,"197":1,"198":1},"2":{"192":1,"195":1,"197":1,"199":1,"214":1,"270":1}}],["between",{"2":{"39":1,"109":1,"117":1,"123":1,"130":2,"168":1,"231":1,"238":1,"244":1,"246":3,"250":1,"251":1,"321":1}}],["better",{"2":{"19":1,"25":1,"312":1}}],["below",{"2":{"28":1,"148":1,"164":2,"179":2,"222":3,"225":3,"226":1,"230":1,"231":1,"271":1}}],["believe",{"2":{"14":1,"16":1,"18":1}}],["behavior",{"2":{"27":1}}],["best",{"2":{"18":2,"255":1}}],["besides",{"2":{"14":1}}],["bech32",{"2":{"192":1}}],["become",{"2":{"25":2}}],["became",{"2":{"25":1}}],["because",{"2":{"14":1,"123":1,"174":1,"176":1,"210":1,"295":1,"316":1,"332":2}}],["beckett",{"2":{"5":1}}],["benefit",{"2":{"13":1,"18":1,"35":1}}],["benefits",{"2":{"8":1}}],["beginning",{"2":{"85":1,"186":1}}],["beginner",{"0":{"60":1,"70":1},"2":{"255":2}}],["begin",{"2":{"6":1,"189":1,"263":1,"309":1}}],["be",{"2":{"5":2,"11":1,"13":1,"14":1,"16":2,"19":2,"27":2,"29":1,"31":3,"34":4,"36":1,"38":1,"40":1,"78":1,"80":3,"82":1,"88":1,"113":1,"115":1,"116":1,"117":2,"118":1,"120":1,"126":1,"130":1,"136":3,"149":1,"150":1,"153":1,"158":1,"159":1,"161":1,"164":1,"165":1,"167":1,"174":1,"175":1,"182":1,"183":1,"188":4,"189":1,"192":1,"195":1,"202":1,"226":1,"228":1,"235":1,"250":1,"252":1,"268":1,"270":3,"271":1,"275":2,"278":1,"283":1,"290":1,"308":2,"313":2,"316":1,"321":1,"324":2,"327":3,"328":3,"329":1,"331":1,"333":1}}],["before",{"2":{"2":1,"136":1,"164":1,"167":1,"175":1,"183":1,"196":1,"204":1,"228":1,"235":1,"241":1,"258":1,"259":1,"268":1,"270":1,"272":1,"290":1,"299":1,"308":1,"312":1,"313":1,"318":1,"331":1,"332":2}}],["bytekey",{"2":{"286":7}}],["bytes",{"2":{"286":6}}],["byte",{"2":{"286":7,"288":3,"327":3,"328":4}}],["bytecode",{"2":{"174":1}}],["by",{"2":{"3":1,"5":1,"6":1,"16":1,"18":2,"23":1,"25":3,"27":1,"29":1,"30":1,"31":1,"35":5,"64":1,"78":1,"85":2,"93":1,"103":1,"104":1,"105":1,"118":2,"120":3,"121":1,"126":1,"127":1,"129":1,"130":2,"131":1,"138":1,"144":1,"147":1,"156":1,"157":1,"159":2,"162":1,"167":1,"169":1,"177":3,"178":1,"179":2,"188":4,"195":1,"197":1,"202":1,"205":1,"209":1,"212":1,"222":2,"225":2,"230":1,"231":1,"233":2,"244":1,"250":1,"257":1,"270":2,"271":1,"290":1,"291":2,"294":2,"295":1,"298":1,"316":1,"317":1,"320":1,"324":1,"328":1,"331":1,"332":1,"333":2}}],["cmd",{"2":{"317":1}}],["cstbscoe",{"2":{"308":2}}],["citrus",{"2":{"291":1}}],["citizens",{"2":{"14":1}}],["cp",{"2":{"268":1}}],["cpu",{"2":{"140":1,"228":1}}],["c053d637cca2a2ba030e2c5ee1b28a16f71ccb0e45e8be52766dc1b241b77878",{"2":{"252":1}}],["cb1fa1d3309513fc6c8599606defe75164f4cae2abd101d78133b287862a5aca",{"2":{"250":1}}],["ctx",{"2":{"211":3,"283":2,"286":8,"288":2,"327":4,"328":6,"329":1}}],["ctrl+c",{"2":{"147":1}}],["c147257485b72e7ffa5fdb943c94ce951a37817554339586ffd645ad2aa397c3",{"2":{"179":1}}],["cwd",{"2":{"222":1,"225":1}}],["cw",{"2":{"172":3,"173":1,"174":2,"175":3}}],["c",{"2":{"142":1,"167":1,"197":1,"226":1,"288":2,"290":1,"298":1,"301":1}}],["cdc",{"2":{"286":1,"288":1}}],["cd",{"2":{"87":1,"142":1,"152":1,"153":1,"166":1,"172":2,"184":1,"191":1,"192":1,"209":1,"231":1,"243":1,"247":1,"260":1,"265":1,"297":1,"304":1,"307":1}}],["cel",{"2":{"297":1}}],["celeswasm",{"2":{"175":4,"177":2,"178":2,"179":7}}],["celestiatestnet3",{"2":{"192":1}}],["celestiatestnet2",{"2":{"192":1}}],["celestiatestnet",{"2":{"192":1}}],["celestiaorg",{"2":{"152":1}}],["celestia",{"0":{"89":1,"118":1,"167":1,"168":1,"176":1,"194":1,"195":1,"201":1,"202":1,"259":1,"270":1,"290":1,"308":1,"331":1},"1":{"90":1,"91":1,"92":1,"93":1,"169":1,"170":1,"177":1,"178":1,"179":1,"195":1,"196":1,"197":1,"198":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"271":1,"272":1,"273":1},"2":{"5":2,"6":1,"14":7,"26":1,"31":1,"35":1,"40":1,"59":2,"62":1,"63":1,"72":1,"88":1,"89":3,"90":3,"91":3,"92":2,"113":1,"118":5,"159":3,"166":1,"167":6,"175":1,"176":1,"179":1,"181":1,"182":1,"186":1,"192":4,"193":1,"195":13,"197":2,"198":1,"199":1,"201":1,"202":11,"206":1,"214":1,"217":2,"219":1,"221":2,"224":2,"230":6,"231":1,"233":1,"235":1,"237":2,"241":2,"255":1,"256":1,"257":2,"259":2,"270":2,"271":10,"272":2,"273":1,"275":1,"290":9,"295":4,"297":2,"305":1,"308":5,"311":1,"331":10,"332":1}}],["celenium",{"2":{"169":2,"197":2,"273":1}}],["certain",{"2":{"108":1,"313":1}}],["censorship",{"0":{"46":1,"55":1,"82":1},"2":{"46":1,"127":1}}],["centralized",{"2":{"40":1,"127":1}}],["cet",{"2":{"17":1}}],["cutting",{"2":{"35":1}}],["custom",{"2":{"26":1,"28":1,"37":1,"138":1,"235":1,"244":1,"308":2,"317":1}}],["customizing",{"2":{"317":1}}],["customizability",{"0":{"33":1},"2":{"35":1}}],["customizable",{"2":{"9":1,"35":1}}],["customize",{"2":{"6":1,"29":2,"30":1,"35":1,"64":1,"138":1,"139":2}}],["curl",{"2":{"141":1,"161":1,"222":2,"225":2,"226":1,"272":1}}],["curiosity",{"2":{"16":1}}],["currentcount",{"2":{"328":2}}],["currenttimeguesserhashstring",{"2":{"328":4}}],["currenttimeguesserhash",{"2":{"328":2}}],["currenttimeguesserbytes",{"2":{"328":2}}],["currenttimehashstring",{"2":{"327":3,"328":2}}],["currenttimehash",{"2":{"327":2,"328":2}}],["currenttimebytes",{"2":{"327":2,"328":2}}],["currenttime",{"2":{"327":2,"328":3}}],["currently",{"2":{"14":1,"31":1,"40":2,"63":2,"89":1,"120":1,"122":1,"126":1,"131":1,"152":1,"211":1,"256":2,"327":1,"332":1}}],["current",{"2":{"13":1,"130":2,"148":1,"164":2,"222":2,"225":2,"286":1,"313":1,"327":4,"328":7,"332":1,"333":1}}],["cross",{"2":{"175":1,"326":1}}],["cryptographic",{"2":{"85":1}}],["crypto",{"2":{"14":3,"234":2,"327":3,"328":3}}],["creator",{"2":{"179":1,"282":2,"283":2,"285":1,"327":2,"328":3,"332":1}}],["creative",{"2":{"167":1,"195":1,"202":1,"271":1,"290":1,"331":1}}],["creating",{"0":{"320":1},"1":{"321":1},"2":{"104":1,"138":1,"231":2,"246":1,"263":1,"316":3,"322":1,"324":1}}],["createrecipe",{"2":{"281":1,"282":2,"283":2,"286":1}}],["creates",{"2":{"230":1,"250":1,"323":1}}],["createwallet",{"2":{"146":1}}],["created",{"2":{"85":1,"123":1,"136":1,"153":1,"179":1,"209":1,"231":2,"250":2,"281":2,"288":1,"308":1,"324":1,"328":1}}],["create",{"0":{"146":1,"209":1,"246":1,"249":1,"250":1,"281":1},"1":{"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"282":1},"2":{"2":3,"14":2,"23":1,"30":1,"31":1,"37":1,"38":1,"64":1,"80":1,"138":3,"139":1,"146":1,"153":1,"154":1,"189":2,"191":2,"192":3,"208":1,"209":3,"222":1,"225":1,"238":1,"241":1,"244":1,"250":3,"275":1,"281":11,"283":2,"285":1,"286":2,"288":2,"291":2,"294":1,"317":1,"323":2,"326":1,"327":2,"328":2,"333":2}}],["credibly",{"2":{"14":1}}],["critical",{"2":{"9":1,"14":1,"34":1,"235":1,"332":1}}],["categorized",{"2":{"255":1}}],["category",{"2":{"75":1}}],["cache",{"2":{"174":4,"248":1}}],["cargo",{"2":{"164":5,"172":1,"174":2}}],["cast",{"2":{"156":2,"157":2,"269":1}}],["cases",{"2":{"14":1,"35":1,"136":1,"188":1}}],["case",{"2":{"11":1,"26":1,"35":1,"113":1,"136":2,"151":1,"177":1,"288":1,"294":1,"295":1,"301":1,"321":1}}],["capability=2",{"2":{"186":1}}],["capability",{"2":{"186":1}}],["capabilities",{"2":{"122":1,"321":1}}],["capital",{"2":{"7":1,"34":1}}],["calendar",{"2":{"17":1,"19":1}}],["called",{"2":{"27":1,"174":1,"192":3,"198":1,"206":1,"316":1,"325":1,"326":1}}],["call",{"0":{"16":1},"1":{"17":1,"18":1,"19":1,"20":1},"2":{"16":1,"17":1,"22":1,"27":1,"59":1,"74":1,"156":2,"157":2,"267":1}}],["calling",{"2":{"14":1}}],["calls",{"2":{"6":1,"15":1,"19":1,"208":2,"286":1}}],["candidate",{"2":{"250":2}}],["cannot",{"2":{"82":1}}],["canonical",{"2":{"78":1}}],["can",{"0":{"36":1,"40":1},"1":{"37":1,"38":1,"39":1},"2":{"5":2,"6":2,"9":1,"11":1,"16":1,"17":2,"18":1,"19":1,"20":1,"25":2,"26":1,"27":3,"30":1,"31":5,"34":2,"35":4,"38":2,"40":1,"51":2,"59":1,"64":1,"80":3,"85":1,"96":1,"115":2,"116":1,"117":2,"118":1,"120":1,"126":2,"127":1,"130":4,"136":2,"144":1,"151":1,"154":2,"155":1,"156":4,"157":5,"158":1,"159":2,"161":1,"162":1,"167":1,"169":3,"170":1,"173":1,"177":1,"179":1,"183":1,"185":1,"188":2,"191":1,"192":2,"195":2,"202":2,"203":2,"205":1,"218":1,"221":1,"222":1,"224":1,"225":1,"228":1,"231":1,"233":2,"235":3,"237":1,"241":2,"244":1,"246":2,"250":1,"251":1,"255":1,"258":1,"259":1,"264":1,"268":2,"270":3,"271":2,"282":2,"290":2,"291":2,"294":2,"297":1,"298":1,"308":2,"313":1,"315":2,"320":1,"322":1,"327":2,"328":3,"331":2,"332":5,"333":8}}],["choosing",{"2":{"158":1,"228":1}}],["choose",{"2":{"9":1,"40":1}}],["choice",{"2":{"127":3}}],["cheaper",{"2":{"25":1}}],["checking",{"2":{"333":1}}],["checked",{"2":{"328":1}}],["checkout",{"2":{"152":1,"166":1,"243":1,"247":1,"260":1,"265":1,"272":1}}],["checks",{"2":{"121":1,"136":1,"328":1}}],["checktx",{"2":{"120":1}}],["check",{"2":{"6":1,"15":1,"42":1,"63":1,"107":1,"129":1,"142":1,"144":1,"148":1,"149":1,"159":1,"211":1,"231":1,"252":1,"253":1,"256":1,"265":1,"270":1,"315":1,"327":4,"328":5,"332":1}}],["characters",{"2":{"327":1,"328":3,"332":1}}],["challenging",{"2":{"34":1}}],["challenges",{"2":{"7":1,"8":1,"16":2,"34":1,"35":1}}],["changing",{"2":{"296":1,"301":1}}],["changed",{"2":{"158":1,"246":1,"268":1}}],["change",{"0":{"158":1},"2":{"73":1,"116":1,"153":1,"157":1,"192":1,"231":2,"241":1,"244":1,"255":1,"268":2,"270":1,"272":1,"273":1,"278":1,"304":1,"307":1,"315":1,"326":1}}],["changes",{"2":{"2":4,"51":1,"192":1,"208":1,"319":1}}],["channel",{"0":{"250":1},"2":{"121":2,"250":17,"252":3,"253":1}}],["channels",{"2":{"121":1,"246":2}}],["chance",{"2":{"19":1}}],["chainprovider",{"2":{"192":2}}],["chainassets",{"2":{"192":2}}],["chainname",{"2":{"192":4}}],["chainrecord",{"2":{"192":3}}],["chainrecords",{"2":{"192":1}}],["chainoptions",{"2":{"192":1}}],["chain=regtest",{"2":{"145":1}}],["chain",{"0":{"7":1,"146":1,"192":1,"196":1,"204":1,"205":1,"241":1,"252":1,"253":1,"314":1,"316":1,"330":1,"332":1},"1":{"315":1,"316":1,"317":1,"331":1,"332":1,"333":1},"2":{"7":3,"8":2,"10":1,"14":1,"25":1,"29":2,"31":1,"34":2,"35":1,"38":2,"63":1,"136":3,"151":1,"152":3,"157":2,"158":1,"175":2,"177":2,"178":1,"179":6,"183":1,"189":1,"191":1,"192":16,"195":1,"209":1,"210":1,"231":7,"233":2,"235":1,"241":3,"244":1,"245":2,"248":2,"249":1,"250":20,"252":4,"253":1,"254":1,"256":1,"262":1,"264":1,"278":3,"283":1,"286":1,"288":1,"291":1,"292":1,"294":2,"295":1,"296":1,"298":1,"299":1,"301":2,"316":2,"317":1,"321":1,"332":6,"333":2}}],["chains=",{"2":{"192":1}}],["chains",{"2":{"5":1,"7":2,"8":2,"14":1,"34":2,"35":1,"59":1,"189":1,"192":4,"238":1,"244":1,"248":1,"250":1}}],["chami",{"2":{"5":1,"16":1}}],["click",{"2":{"127":1}}],["cli",{"0":{"222":1,"225":1,"278":1,"292":1},"2":{"115":1,"144":1,"146":1,"147":4,"148":1,"149":1,"150":2,"195":1,"202":1,"209":2,"211":3,"217":1,"219":1,"222":9,"225":9,"231":1,"241":1,"270":2,"278":1,"281":2,"288":2,"290":1,"310":1,"311":1,"315":3,"316":2,"317":1,"328":1,"331":2}}],["clients",{"2":{"35":1,"113":1,"127":1,"238":1,"246":1,"250":1}}],["client",{"2":{"5":1,"27":1,"31":1,"86":1,"115":1,"116":1,"186":3,"209":2,"211":2,"250":14,"281":2,"288":2}}],["clay",{"2":{"245":2,"249":2}}],["clashing",{"2":{"235":1}}],["classes",{"2":{"30":1,"31":1,"64":1}}],["class",{"2":{"14":1}}],["claimed",{"2":{"186":1}}],["clang",{"2":{"141":1}}],["clarity",{"2":{"2":1}}],["clock",{"2":{"218":1}}],["cloning",{"2":{"191":1}}],["clone",{"0":{"184":1,"260":1,"304":1,"307":1},"2":{"1":1,"2":2,"87":1,"152":2,"166":1,"172":1,"184":1,"243":1,"247":1,"260":2,"265":2,"304":2,"307":2}}],["close",{"2":{"25":1,"253":1}}],["cloud",{"2":{"8":1,"228":2}}],["clear",{"0":{"196":1,"204":1},"2":{"2":1,"25":1,"151":1,"233":1}}],["coins",{"2":{"327":1,"328":1,"329":1}}],["coin",{"2":{"248":2,"321":1}}],["coinbase=$",{"2":{"147":1}}],["copies",{"2":{"169":1,"203":1,"291":1,"332":1}}],["copy",{"2":{"169":1,"203":1,"291":1,"308":1,"332":1}}],["counts",{"2":{"328":1}}],["count+1",{"2":{"286":1}}],["count",{"2":{"154":7,"286":20,"325":3,"328":12,"332":1}}],["counterparty",{"2":{"250":4}}],["counterscript",{"2":{"155":1,"156":1,"157":1}}],["countertest",{"2":{"154":1}}],["counter",{"2":{"153":1,"154":16,"155":4,"156":1,"157":1}}],["could",{"2":{"7":1,"16":1,"25":1,"36":1,"38":1,"43":1,"52":1,"79":1,"82":1,"158":1,"167":1,"195":1,"202":1,"271":1,"290":1,"331":1}}],["correctly",{"2":{"313":1,"328":2}}],["correct",{"2":{"272":1,"313":2,"328":2,"332":1,"333":1}}],["corresponding",{"2":{"121":1,"252":1}}],["correlation",{"2":{"117":1}}],["core",{"2":{"18":1,"27":1,"138":1,"140":1,"144":3,"145":1,"146":1,"147":4,"148":1,"149":1,"150":2,"167":1,"188":2,"192":1,"195":2,"202":1,"228":1,"250":8,"271":1,"290":1,"326":2,"331":1}}],["collect",{"2":{"113":1}}],["collaboration",{"2":{"19":1}}],["collaborate",{"2":{"13":1,"16":1,"18":1,"19":1,"20":1}}],["covers",{"2":{"294":1,"295":1}}],["covered",{"2":{"255":1}}],["cover",{"2":{"113":1,"180":1,"217":1}}],["codebase",{"2":{"311":1,"313":1,"318":1,"333":2}}],["codec",{"2":{"281":1}}],["codecs",{"2":{"248":2}}],["codes",{"2":{"211":2,"288":3}}],["codespace",{"2":{"179":1,"235":1,"296":3,"332":1}}],["code",{"0":{"98":1,"282":1},"2":{"19":1,"96":1,"98":1,"154":2,"155":1,"174":4,"177":4,"179":6,"192":1,"250":1,"283":1,"286":1,"295":2,"296":3,"299":1,"316":1,"320":1,"327":2,"328":2,"329":1,"332":1}}],["coordination",{"2":{"7":1}}],["cosmology",{"2":{"189":3}}],["cosmos17lk3fgutf00pd5s8zwz5fmefjsdv4wvzyg7d74",{"2":{"332":1}}],["cosmostation",{"2":{"192":1}}],["cosmostationwallets",{"2":{"192":1}}],["cosmos",{"0":{"38":1,"93":1,"116":1},"2":{"5":1,"7":1,"10":1,"13":1,"14":1,"28":1,"30":2,"38":4,"40":1,"59":1,"64":2,"90":1,"93":1,"116":5,"159":2,"166":4,"189":2,"191":3,"192":7,"208":3,"217":3,"221":1,"222":1,"224":1,"225":1,"231":6,"232":3,"234":2,"235":1,"241":3,"247":2,"248":2,"250":4,"275":1,"278":1,"279":3,"286":4,"288":8,"295":1,"311":1,"312":3,"315":2,"316":2,"317":2,"319":3,"320":4,"321":1,"322":3,"326":3,"327":4,"328":4,"332":2}}],["cosmwasm",{"0":{"159":1,"160":1,"168":1,"169":1,"171":1,"176":1},"1":{"160":1,"161":2,"162":2,"163":2,"164":2,"165":2,"166":2,"167":2,"168":1,"169":2,"170":2,"171":1,"172":2,"173":2,"174":2,"175":2,"176":1,"177":2,"178":2,"179":2},"2":{"10":1,"13":1,"28":1,"61":1,"71":1,"159":5,"166":2,"167":1,"169":3,"170":1,"174":3,"179":2,"189":1,"255":1}}],["costs",{"2":{"35":1}}],["cost",{"2":{"7":2,"29":1}}],["convert",{"2":{"286":5,"328":1}}],["condition",{"2":{"250":2}}],["conduct",{"0":{"98":1},"2":{"98":1}}],["conflicts",{"2":{"244":1}}],["config=",{"2":{"152":1}}],["config",{"0":{"192":1,"248":1},"2":{"141":1,"145":1,"192":9,"222":1,"225":1,"248":4,"308":1,"317":1}}],["configures",{"2":{"188":2}}],["configure",{"0":{"188":1},"2":{"164":1,"255":1}}],["configured",{"2":{"123":1,"188":2}}],["configurable",{"2":{"121":1}}],["configuration",{"2":{"3":1,"248":1,"317":1}}],["confirming",{"2":{"332":4}}],["confirmation",{"2":{"235":1}}],["confirmations",{"2":{"127":1}}],["confirm",{"2":{"85":1,"175":1,"176":1,"217":1,"235":2,"291":1,"332":3}}],["confirmed",{"2":{"80":1}}],["congrats",{"2":{"301":1}}],["congratulations",{"0":{"263":1},"2":{"152":1,"187":1,"192":1,"199":1,"214":1,"237":1,"273":1,"292":1}}],["congestion",{"2":{"188":1}}],["connected",{"2":{"233":1}}],["connects",{"2":{"123":1}}],["connect",{"2":{"59":1,"96":1,"166":1,"191":1,"195":1,"202":1,"271":1}}],["connections",{"2":{"186":1,"246":1}}],["connection",{"0":{"238":1,"246":1},"1":{"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":2,"248":2,"249":2,"250":2,"251":2,"252":2,"253":2},"2":{"40":1,"238":1,"241":1,"244":1,"250":9,"255":1}}],["construct",{"2":{"235":1}}],["constructor",{"2":{"154":1}}],["const",{"2":{"192":6,"286":1}}],["console",{"2":{"146":1}}],["consist",{"2":{"327":1,"328":1}}],["consists",{"2":{"101":1,"108":1,"130":1}}],["consider",{"2":{"136":1,"313":1}}],["considered",{"2":{"80":1}}],["consume",{"2":{"51":1}}],["consensuses",{"2":{"82":1}}],["consensus",{"2":{"8":2,"26":2,"29":1,"34":1,"35":1,"111":1,"136":1,"217":1,"231":1,"257":1,"295":1,"305":1}}],["conclude",{"2":{"311":1}}],["conclusion",{"0":{"20":1,"29":1}}],["concepts",{"2":{"75":1}}],["concise",{"2":{"2":1}}],["context",{"2":{"211":5,"283":3,"286":3,"288":4,"327":3,"328":3,"329":1}}],["contents",{"0":{"22":1,"65":1,"76":1},"1":{"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1},"2":{"169":1,"203":1,"288":1,"291":1,"328":1,"332":1}}],["content",{"2":{"2":1,"21":1,"22":1,"248":1}}],["contained",{"2":{"322":1}}],["containing",{"2":{"288":1}}],["contains",{"2":{"121":1,"130":1,"210":1,"211":2,"231":1,"286":1,"317":1,"320":1,"326":1,"327":1,"328":1}}],["contain",{"2":{"117":1,"208":1}}],["continue",{"2":{"82":1,"164":1,"318":1,"328":1}}],["continuous",{"2":{"18":1}}],["continuously",{"2":{"7":1}}],["control",{"2":{"127":1,"167":1,"197":1,"290":1,"298":1,"301":1}}],["controls",{"2":{"121":1}}],["contributor",{"2":{"96":1}}],["contributors",{"2":{"18":1,"19":2,"96":1}}],["contribute",{"2":{"14":1,"18":2,"96":1}}],["contributing",{"0":{"96":1},"2":{"14":1,"18":1,"96":1}}],["contributions",{"2":{"2":1,"18":1,"96":1}}],["contribution",{"0":{"2":1},"2":{"2":2}}],["contract=$",{"2":{"179":1}}],["contracting",{"2":{"159":1}}],["contracttest",{"2":{"154":1}}],["contracts",{"2":{"152":1,"154":1,"159":2,"172":3,"173":2,"174":2,"175":2,"177":2,"179":2,"266":1,"268":2}}],["contract",{"0":{"154":1,"171":1,"172":1,"174":1,"175":1,"176":1,"177":1,"178":1,"179":1,"266":1,"267":1},"1":{"172":1,"173":1,"174":1,"175":1,"177":1,"178":1,"179":1},"2":{"7":1,"14":1,"31":1,"33":2,"35":2,"153":1,"154":4,"155":3,"156":5,"157":6,"159":3,"165":1,"172":2,"174":1,"175":2,"176":1,"177":3,"178":2,"179":11,"264":1,"265":1,"266":7,"267":1,"268":5,"269":1}}],["combination",{"2":{"91":1}}],["com",{"2":{"87":1,"152":1,"166":4,"169":1,"172":1,"184":1,"192":1,"197":1,"202":1,"203":1,"222":3,"225":3,"226":1,"231":1,"232":3,"233":1,"241":5,"243":1,"244":1,"247":1,"260":1,"265":1,"279":3,"286":2,"288":3,"290":1,"291":1,"304":1,"307":1,"315":1,"319":3,"327":3,"328":3,"331":1,"332":1}}],["coming",{"2":{"40":1,"316":1}}],["comes",{"2":{"231":1,"316":2}}],["come",{"2":{"20":1,"35":1,"120":1,"127":1,"245":2,"249":2}}],["cometbft",{"0":{"93":1},"2":{"5":1,"7":1,"8":1,"31":1,"90":1,"93":1,"115":1,"116":3,"120":1,"122":1,"166":2,"232":1,"279":1,"311":1,"327":2,"328":2,"332":1}}],["compiled",{"2":{"172":1,"174":1,"317":1}}],["compile",{"0":{"172":1},"2":{"172":1,"174":1,"329":1}}],["compiler",{"2":{"154":1,"266":1}}],["compiling",{"2":{"141":1,"154":2,"165":1,"266":2}}],["completing",{"2":{"251":1}}],["completions",{"2":{"142":1}}],["completion",{"2":{"130":1}}],["completed",{"2":{"190":1,"193":1,"201":1}}],["complete",{"2":{"167":2,"182":1,"190":1}}],["complex",{"2":{"7":1,"8":1,"34":1,"255":1}}],["compat=1",{"2":{"166":1}}],["compatibility",{"0":{"90":1},"2":{"115":1,"241":1}}],["compatible",{"2":{"5":2,"31":2,"37":1,"38":1,"86":1,"88":1,"91":2,"92":1,"93":2}}],["comparing",{"2":{"130":1}}],["component",{"2":{"164":2}}],["components",{"0":{"119":1},"1":{"120":1,"121":1,"122":1,"123":1},"2":{"14":1,"35":3,"113":1,"192":1,"312":1}}],["composability",{"2":{"127":1}}],["compensate",{"2":{"7":1}}],["computational",{"2":{"7":1,"33":1,"35":2}}],["comprehensive",{"2":{"0":1}}],["comma",{"2":{"209":1}}],["command",{"2":{"150":1,"151":1,"154":1,"158":1,"167":3,"169":1,"173":1,"174":1,"175":2,"191":1,"195":2,"202":2,"205":1,"209":1,"211":2,"213":1,"222":2,"225":2,"230":1,"231":2,"232":1,"233":1,"235":3,"248":1,"249":1,"250":2,"252":1,"253":1,"254":2,"269":1,"271":2,"278":1,"281":1,"290":3,"291":1,"294":2,"315":1,"316":3,"319":1,"321":1,"323":1,"331":3,"332":1}}],["commands",{"0":{"95":1},"2":{"142":1,"144":1,"153":1,"164":2,"169":1,"172":1,"175":1,"203":1,"226":2,"231":2,"250":1,"279":1,"291":1,"315":1,"316":1,"328":1,"332":1}}],["comment",{"2":{"166":1,"286":1}}],["common",{"2":{"148":1}}],["communication",{"2":{"123":1,"217":1,"238":1,"246":1}}],["communicates",{"2":{"168":1}}],["communicate",{"2":{"121":1,"132":1,"189":1,"217":1,"246":1}}],["communities",{"2":{"18":1,"29":1,"35":1}}],["community",{"0":{"16":1},"1":{"17":1,"18":1,"19":1,"20":1},"2":{"2":1,"4":1,"5":1,"13":2,"15":2,"16":3,"17":2,"18":5,"19":3,"20":1,"22":1,"34":1,"74":1,"96":1}}],["commit=436f6d6d697449447b5b3230302031373020313933203836203730203334203139302031353220383220313432203133342034382032333520343920363220313720323131203133312032343720313133203634203933203134372032332031353920323435203931203133342031342031333520323138203138355d3a317d",{"2":{"309":1}}],["commitment",{"2":{"85":1,"110":1}}],["commitments",{"2":{"80":2,"82":1}}],["commit",{"2":{"2":3,"247":1,"309":1}}],["smoked",{"2":{"291":1}}],["smoothly",{"2":{"246":1}}],["small",{"2":{"165":1,"174":1}}],["smallest",{"0":{"49":1,"58":1,"85":1}}],["smart",{"0":{"172":1,"174":1},"2":{"7":1,"14":1,"31":1,"33":2,"35":2,"152":1,"153":1,"155":1,"157":1,"159":5,"165":1,"172":1,"174":1,"175":2,"179":2,"264":1,"265":1,"266":2,"268":1}}],["svg",{"2":{"192":2}}],["src",{"2":{"153":1,"154":2,"155":1,"250":3,"268":1}}],["snap",{"2":{"144":1}}],["snapd",{"2":{"141":1}}],["ssf",{"2":{"164":1}}],["ssd",{"2":{"140":1,"228":1}}],["ss",{"2":{"82":2}}],["salad",{"2":{"291":1}}],["samplingstats",{"2":{"270":1}}],["same",{"2":{"39":1,"46":1,"47":1,"83":1,"123":1,"179":1,"181":1,"188":1,"209":1,"210":1,"295":1,"332":4}}],["say",{"0":{"208":1},"1":{"209":1,"210":1,"211":1,"212":1,"213":1},"2":{"208":1,"218":1}}],["saying",{"2":{"82":1}}],["save",{"2":{"192":1,"294":1,"301":1}}],["saved",{"2":{"191":1}}],["satisfy",{"2":{"27":1}}],["symbol",{"2":{"192":1}}],["sync",{"2":{"195":1,"202":1,"250":2,"271":1,"332":1}}],["syncs",{"2":{"181":2}}],["syncloop",{"2":{"121":3}}],["syncing",{"2":{"117":1}}],["synced",{"2":{"27":1,"167":1,"195":1,"202":1,"270":1,"271":1,"290":1,"309":1,"331":1}}],["system",{"2":{"45":1,"81":1,"130":1}}],["systems",{"2":{"35":1,"82":1,"164":1,"219":1}}],["skip",{"2":{"30":1,"40":1,"64":1,"170":1}}],["skill",{"2":{"18":1}}],["skills",{"2":{"18":1,"138":1}}],["sliced",{"2":{"291":1}}],["slip44",{"2":{"192":1}}],["slightly",{"2":{"25":1}}],["sleep",{"2":{"147":1}}],["slashing",{"2":{"136":1,"320":1}}],["slow",{"2":{"8":1,"158":1}}],["shda",{"2":{"185":1}}],["shellenv",{"2":{"226":2}}],["shell",{"2":{"147":1,"164":2}}],["sh",{"2":{"95":1,"147":2,"152":1,"157":3,"164":2,"169":4,"175":1,"183":1,"184":1,"186":1,"187":1,"197":3,"198":3,"203":3,"205":1,"206":3,"212":1,"226":1,"233":6,"235":1,"241":2,"244":3,"272":1,"291":4,"294":8,"309":1,"332":4}}],["shgit",{"2":{"87":1}}],["shows",{"2":{"313":1,"332":2}}],["shown",{"2":{"230":1,"332":1}}],["show",{"2":{"186":1,"192":1,"313":1}}],["showcase",{"2":{"15":1}}],["should",{"2":{"164":1,"167":1,"192":1,"222":1,"225":1,"234":1,"236":2,"247":1,"250":1,"252":1,"253":1,"290":1,"315":2,"331":1,"332":1}}],["short",{"2":{"25":1}}],["sha256",{"2":{"327":3,"328":4}}],["shape",{"2":{"20":1}}],["sharing",{"2":{"19":2,"35":1,"39":1}}],["share",{"2":{"7":1,"18":1,"20":1,"33":1,"35":1,"39":1}}],["shared",{"0":{"77":1},"1":{"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1},"2":{"7":1,"11":1,"33":2,"35":1,"78":4,"80":3,"82":4,"85":7,"127":1}}],["ship",{"2":{"13":1}}],["spacebar",{"2":{"192":1}}],["sparked",{"2":{"16":1}}],["spdx",{"2":{"154":2,"155":1}}],["spoiler",{"2":{"40":1}}],["spent",{"2":{"222":2,"225":2}}],["speed",{"0":{"158":1},"2":{"30":1,"64":1,"73":1,"158":2,"222":4,"225":4,"255":1}}],["spec",{"2":{"317":1}}],["specified",{"2":{"308":1}}],["specifically",{"2":{"130":1,"316":1}}],["specific",{"2":{"11":1,"27":1,"37":1,"104":1,"106":1,"123":1,"165":1,"217":1,"252":1,"275":1,"317":1,"320":1,"322":1,"333":2}}],["specify",{"2":{"250":1}}],["specifying",{"2":{"178":1}}],["special",{"2":{"39":1,"321":1}}],["specialized",{"2":{"35":1}}],["specs",{"2":{"27":1,"228":1}}],["spikes",{"2":{"188":1}}],["spinach",{"2":{"291":1}}],["spinning",{"2":{"14":1,"127":2}}],["spin",{"2":{"14":1}}],["spirit",{"2":{"9":1}}],["scavenger",{"2":{"312":1}}],["scaffolds",{"2":{"316":1}}],["scaffoldings",{"2":{"315":1}}],["scaffolding",{"0":{"277":1,"314":1,"316":1,"321":1,"323":1,"325":1},"1":{"278":1,"279":1,"315":1,"316":1,"317":1},"2":{"231":1,"316":1}}],["scaffolded",{"2":{"211":1,"278":1}}],["scaffold",{"0":{"278":1},"2":{"189":1,"191":2,"209":1,"231":4,"241":2,"278":2,"281":1,"288":3,"316":1,"321":2,"323":2,"325":2}}],["scalable",{"2":{"138":1}}],["scalability",{"0":{"33":1},"2":{"7":1,"33":1,"35":2}}],["scope",{"2":{"159":1,"317":1}}],["scripts",{"2":{"169":1,"184":1,"197":1,"203":1,"233":1,"241":1,"244":1,"291":1,"332":1}}],["scripting",{"2":{"155":1}}],["script",{"0":{"155":1,"169":1,"170":1,"184":1,"272":1},"2":{"147":4,"155":5,"156":2,"157":4,"159":1,"169":3,"170":1,"175":1,"183":1,"184":1,"185":1,"186":2,"187":1,"197":2,"198":2,"201":1,"203":2,"205":1,"206":2,"212":1,"233":3,"235":1,"241":1,"244":3,"266":5,"275":1,"291":2,"294":3,"311":1,"332":3}}],["scratch",{"2":{"10":1}}],["schema",{"2":{"192":2}}],["scheme",{"2":{"82":1,"136":1}}],["schemes",{"0":{"12":1},"2":{"12":1,"35":1,"127":1}}],["scheduled",{"2":{"17":1}}],["swap",{"2":{"10":1,"232":1,"279":1}}],["switch",{"2":{"9":1,"260":1}}],["soft",{"2":{"80":2,"82":1,"127":1}}],["software",{"0":{"240":1},"2":{"14":4,"115":1,"258":1}}],["sound",{"2":{"34":1}}],["source=registry",{"2":{"174":2}}],["source=",{"2":{"174":2}}],["source",{"0":{"87":1},"2":{"18":1,"19":1,"31":1,"35":1,"142":2,"164":1,"222":1,"225":1,"315":1,"333":1}}],["somewhere",{"2":{"218":1}}],["somewhat",{"2":{"34":1}}],["some",{"2":{"30":1,"34":1,"51":1,"64":1,"80":1,"152":1,"192":1,"222":1,"225":1,"253":1,"333":1}}],["something",{"2":{"18":1,"96":1,"189":1,"222":2,"225":2,"246":1,"250":1,"252":1,"253":1,"294":1}}],["soon",{"2":{"15":1,"80":1}}],["solc",{"2":{"154":3,"266":1}}],["sol",{"2":{"153":1,"154":5,"155":3,"156":1,"157":1,"266":2,"268":2}}],["solution",{"2":{"34":1,"123":1,"325":1}}],["solves",{"2":{"35":1}}],["solved",{"2":{"16":1}}],["solving",{"0":{"32":1},"1":{"33":1,"34":1}}],["solana",{"2":{"14":1}}],["solidity",{"2":{"10":1,"154":4,"155":3}}],["sovereignty",{"2":{"35":2}}],["sovereign",{"0":{"23":1,"38":1,"157":1,"203":1,"231":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"204":1,"205":1},"2":{"13":2,"14":2,"16":1,"18":1,"22":1,"23":3,"24":2,"25":1,"26":1,"28":1,"29":5,"31":3,"35":1,"36":1,"38":1,"39":1,"59":1,"63":1,"64":1,"74":1,"138":3,"139":3,"195":1,"202":1,"217":1,"255":1,"256":1,"290":1,"311":1,"317":1,"331":2}}],["so",{"2":{"8":1,"9":1,"19":1,"20":1,"27":1,"31":1,"33":2,"35":1,"45":1,"81":1,"155":1,"157":1,"173":1,"198":1,"206":1,"208":1,"218":1,"235":2,"236":1,"246":1,"255":1,"308":1,"312":1,"331":1,"332":1,"333":1}}],["social",{"2":{"7":1,"136":1}}],["sent",{"2":{"246":1,"275":1}}],["sendcoins",{"2":{"327":1,"328":1,"329":2}}],["send",{"2":{"156":2,"157":2,"235":3,"267":2,"269":1,"297":1,"328":1}}],["sending",{"2":{"156":1,"157":1,"235":1,"291":1,"329":1}}],["separate",{"2":{"213":1,"241":1,"244":1,"259":1,"320":1}}],["separated",{"2":{"209":1}}],["selection",{"2":{"332":1}}],["selecting",{"2":{"136":1,"195":1,"202":1,"271":1,"290":1,"331":1}}],["select",{"2":{"192":1}}],["selected",{"2":{"192":1}}],["serving",{"2":{"186":1}}],["service",{"2":{"178":1,"179":1,"186":2,"209":2,"282":1}}],["served",{"2":{"120":1}}],["serves",{"2":{"19":1,"75":1,"117":1}}],["server",{"2":{"8":1,"230":2,"281":1,"283":1,"327":1,"328":1}}],["serve",{"2":{"5":1,"14":1,"127":1,"231":2}}],["seal",{"2":{"263":1}}],["search",{"2":{"122":1,"273":1}}],["seamless",{"2":{"117":1}}],["secret",{"2":{"308":1}}],["secp256k1",{"2":{"192":1,"234":2}}],["seconds",{"2":{"158":1}}],["second",{"2":{"147":3,"158":2,"205":1,"308":1,"322":1,"325":1}}],["section",{"2":{"30":1,"40":2,"64":1,"170":1,"228":1,"255":2,"294":1,"295":1,"300":1}}],["security",{"0":{"34":1},"2":{"8":1,"23":1,"35":3,"51":2,"104":1,"125":1,"139":1}}],["secured",{"2":{"126":1}}],["secure",{"2":{"7":1,"34":4,"321":1}}],["seeking",{"2":{"255":1}}],["seed",{"2":{"186":1}}],["see",{"0":{"170":1},"2":{"27":1,"28":1,"29":1,"30":1,"64":1,"96":1,"97":1,"98":1,"164":1,"169":1,"179":3,"188":1,"192":2,"199":1,"203":1,"209":1,"214":1,"234":1,"235":1,"241":1,"252":1,"253":1,"281":1,"282":2,"283":1,"291":2,"315":1,"317":1,"327":2,"332":4}}],["seeing",{"2":{"20":1}}],["segwit",{"2":{"25":2}}],["session",{"2":{"20":1,"315":1}}],["several",{"2":{"14":1,"316":1,"317":1,"321":1}}],["sequence",{"2":{"106":1}}],["sequencer",{"0":{"77":1,"127":1,"180":1},"1":{"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1},"2":{"11":1,"35":2,"40":1,"63":1,"72":1,"78":4,"80":2,"82":3,"85":7,"113":1,"121":1,"127":7,"130":1,"136":6,"158":1,"180":1,"186":1,"187":1,"199":2,"214":2,"238":1,"255":1,"256":1}}],["sequencers",{"0":{"11":1},"2":{"11":2,"13":1,"35":1,"80":1,"82":1,"127":2,"130":1}}],["sequencing",{"0":{"112":1,"254":1},"2":{"11":1,"73":1,"112":1,"254":2,"255":1}}],["setguess",{"2":{"328":1}}],["setwordle",{"2":{"327":1}}],["setrecipecount",{"2":{"286":5}}],["setup",{"0":{"49":1,"58":1,"85":1,"141":1,"161":1,"180":1,"220":1,"223":1,"246":1,"248":1,"272":1},"1":{"142":1,"143":1,"144":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1,"221":1,"222":1,"224":1,"225":1,"226":1,"227":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1},"2":{"72":1,"154":1,"155":1,"158":1,"164":1,"168":1,"182":1,"199":1,"214":1,"219":2,"222":1,"227":1,"241":1,"255":1,"311":1,"316":1,"328":2}}],["setting",{"0":{"168":1,"191":1,"318":1},"1":{"169":1,"170":1,"319":1},"2":{"30":1,"64":1,"191":1,"199":1,"214":1,"217":1,"313":1}}],["settle",{"2":{"31":1}}],["settled",{"2":{"13":1,"14":1,"31":1}}],["settlement",{"0":{"39":1},"2":{"13":1,"26":1,"31":2,"36":1,"39":3,"88":1}}],["sets",{"2":{"18":1}}],["set",{"0":{"185":1},"2":{"7":2,"8":1,"11":2,"34":3,"35":1,"127":1,"138":1,"142":1,"143":1,"144":1,"145":1,"148":1,"149":1,"152":1,"156":3,"157":1,"164":1,"167":1,"180":1,"185":1,"186":1,"192":1,"195":1,"202":1,"226":1,"230":2,"235":2,"246":1,"252":1,"253":1,"257":1,"269":2,"270":1,"271":1,"272":1,"286":4,"290":1,"308":1,"318":1,"327":1,"331":1}}],["sdkerrors",{"2":{"327":7,"328":9}}],["sdk=github",{"2":{"166":1,"232":1,"241":1,"279":1,"319":1}}],["sdk",{"0":{"38":1,"93":1,"116":1},"2":{"7":1,"10":1,"13":1,"28":1,"30":2,"38":4,"40":1,"59":1,"64":2,"90":1,"93":1,"116":5,"159":1,"166":2,"189":1,"192":2,"208":3,"211":2,"217":2,"221":1,"222":1,"224":1,"225":1,"231":4,"232":1,"241":1,"247":1,"275":1,"279":1,"283":1,"286":6,"288":5,"295":1,"296":3,"311":1,"312":3,"315":2,"316":2,"317":2,"319":1,"320":4,"321":1,"322":3,"326":2,"327":8,"328":8,"329":4,"332":2}}],["s",{"0":{"16":2,"19":1,"170":1},"1":{"17":2,"18":2,"19":2,"20":2},"2":{"6":2,"7":2,"9":2,"14":1,"15":2,"16":4,"17":2,"18":5,"19":3,"20":3,"22":2,"23":1,"24":2,"25":1,"30":1,"34":2,"35":1,"40":2,"59":2,"64":1,"74":2,"96":1,"117":1,"118":1,"122":2,"123":2,"126":1,"127":2,"130":1,"132":1,"136":1,"139":1,"147":1,"154":3,"155":2,"156":1,"157":1,"159":2,"164":1,"166":1,"169":1,"175":2,"176":2,"177":2,"179":2,"189":1,"197":2,"199":1,"201":1,"211":1,"214":1,"217":2,"218":2,"231":1,"233":1,"237":1,"244":1,"246":1,"266":3,"270":1,"271":1,"272":1,"273":2,"275":1,"283":1,"286":1,"295":1,"308":1,"311":1,"313":3,"317":1,"319":1,"326":1,"327":4,"328":4,"332":5,"333":2}}],["size",{"2":{"248":1}}],["sign",{"2":{"235":1,"248":2}}],["signing",{"2":{"235":1,"248":2,"332":1}}],["significant",{"2":{"34":1}}],["signature",{"2":{"238":1}}],["signatures",{"2":{"235":1,"332":1}}],["signaled",{"2":{"121":1}}],["signal",{"2":{"121":1}}],["signer",{"2":{"235":1,"332":1}}],["signeroptions",{"2":{"192":1}}],["signeroptions=",{"2":{"192":1}}],["signclient",{"2":{"192":1}}],["simulation",{"2":{"281":2}}],["simplicity",{"2":{"313":1}}],["simpler",{"2":{"246":1}}],["simple",{"2":{"189":1,"311":1,"313":1}}],["simplest",{"2":{"42":1}}],["simply",{"2":{"27":1,"228":1}}],["similarly",{"2":{"38":1}}],["similar",{"2":{"8":2,"129":1,"148":1,"154":1,"164":2,"167":2,"179":2,"191":1,"195":1,"202":1,"222":1,"225":1,"226":1,"231":1,"263":1,"266":1,"271":1,"290":2,"294":1,"309":1,"331":2}}],["single",{"2":{"11":1,"13":1,"63":1,"130":1,"228":1,"238":1,"256":1,"332":1}}],["since",{"2":{"5":1,"14":1,"25":1,"125":1,"177":1}}],["site",{"0":{"0":1,"1":1},"1":{"1":1,"2":1,"3":1,"4":1},"2":{"1":1,"5":1,"14":1}}],["sudo",{"2":{"141":1,"142":2,"225":1,"233":1,"315":1}}],["sure",{"2":{"141":1,"150":1,"153":1,"167":1,"217":1,"226":1,"246":2,"290":1,"331":1}}],["sustainably",{"2":{"34":1}}],["sustainable",{"2":{"23":1,"29":1}}],["sustainability",{"2":{"34":1}}],["sufficiently",{"2":{"34":2}}],["sub",{"2":{"158":1}}],["submission",{"0":{"133":1},"2":{"188":2,"296":3}}],["submitguess",{"0":{"328":1},"2":{"322":1,"323":1,"328":1}}],["submitwordle",{"0":{"327":1},"2":{"322":1,"323":1,"327":3}}],["submitteraddress",{"2":{"327":2}}],["submitter",{"2":{"325":4,"327":1,"328":8,"332":1}}],["submittedsolutionhashstring",{"2":{"327":2,"328":3}}],["submittedsolutionhash",{"2":{"327":2,"328":2}}],["submitted",{"2":{"136":3,"263":1,"309":1,"313":1,"322":1,"325":3,"327":10,"328":1,"332":5,"333":1}}],["submitting",{"2":{"132":1,"175":1,"176":1,"263":1,"296":1,"309":1,"332":3,"333":1}}],["submit",{"2":{"136":2,"217":1,"275":1,"308":1,"322":1,"323":4,"327":1,"328":2,"332":9}}],["submits",{"2":{"51":1,"333":1}}],["submitblocks",{"2":{"117":1}}],["submitblock",{"2":{"27":2}}],["subsequent",{"2":{"327":1}}],["substitute",{"2":{"31":1}}],["subscribe",{"2":{"17":1,"19":1}}],["succeeds",{"2":{"188":1}}],["successfully",{"2":{"154":1,"214":1,"231":1,"250":2,"263":1,"266":1,"270":1,"292":1,"301":1,"309":1,"315":1}}],["successful",{"2":{"136":1,"154":2,"191":1,"222":1,"225":1,"226":1,"250":4,"266":2,"288":1}}],["success",{"2":{"20":1,"34":1,"191":1,"266":1}}],["such",{"2":{"3":1,"18":1,"29":1,"40":1,"113":1,"122":2,"136":2,"188":1}}],["suggest",{"2":{"16":1}}],["suggestions",{"0":{"4":1},"2":{"4":1}}],["sunday",{"2":{"16":1}}],["sum256",{"2":{"327":2,"328":3}}],["sum",{"2":{"14":1,"18":1}}],["supports",{"2":{"28":1,"63":1,"107":1,"129":2,"256":1}}],["supported",{"2":{"26":1,"88":1,"118":1,"122":1,"131":1,"152":1}}],["support",{"0":{"63":1,"256":1},"2":{"11":1,"12":1,"13":1,"23":1,"31":1,"63":1,"93":1,"120":1,"127":1,"256":1}}],["suitable",{"2":{"96":1}}],["suited",{"2":{"18":1}}],["suit",{"2":{"10":1,"11":1,"31":1,"245":2,"249":2,"255":1}}],["stick",{"2":{"333":1}}],["still",{"2":{"10":1,"25":1,"40":1,"63":1,"126":1,"130":1,"132":1,"159":1,"217":1,"256":1,"275":1,"295":1,"311":1}}],["stuck",{"2":{"295":1}}],["storing",{"2":{"325":1}}],["storage",{"2":{"228":1}}],["storekey",{"2":{"286":5,"288":1}}],["stores",{"2":{"211":1}}],["stored",{"2":{"176":1}}],["store",{"2":{"175":2,"283":1,"286":14,"288":9,"308":1,"325":1,"326":2,"327":2,"328":1}}],["stopping",{"0":{"298":1},"2":{"301":1}}],["stopbroadcast",{"2":{"155":1}}],["stop",{"2":{"117":1,"147":1,"167":1,"195":1,"197":1,"202":1,"206":1,"271":1,"290":1,"298":1,"305":1,"331":1}}],["std",{"2":{"154":1,"155":1,"164":2}}],["strconv",{"2":{"328":4}}],["straightforward",{"2":{"316":2}}],["struct",{"2":{"288":1}}],["structure",{"0":{"3":1,"114":1},"1":{"115":1,"116":1,"117":1,"118":1},"2":{"108":1,"231":1,"317":1}}],["string=ibc",{"2":{"253":1}}],["string",{"2":{"192":2,"195":1,"209":1,"210":1,"253":1,"267":1,"270":1,"282":3,"285":3,"286":1,"308":1,"327":3,"328":3,"329":2,"333":1}}],["strive",{"2":{"18":1}}],["strong",{"2":{"34":1}}],["stronger",{"2":{"11":1,"18":1}}],["staking",{"2":{"231":2,"236":1}}],["stake",{"2":{"192":4,"231":1,"235":1,"236":2,"252":1,"253":1}}],["stable",{"2":{"164":4}}],["static",{"2":{"275":1}}],["status",{"2":{"122":1,"127":1,"192":1,"211":2,"270":1,"288":3}}],["state",{"0":{"128":1},"1":{"129":1,"130":1,"131":1},"2":{"13":1,"37":2,"40":1,"42":1,"51":1,"80":2,"103":1,"109":1,"113":1,"116":1,"123":1,"126":1,"127":1,"130":11,"136":2,"179":1,"195":1,"208":2,"275":1,"283":1,"322":1,"326":1,"328":1}}],["standard",{"2":{"25":2,"154":1,"231":1}}],["stay",{"2":{"20":1,"22":1}}],["starter",{"0":{"302":1,"305":1,"309":1},"1":{"303":1,"304":1,"306":1,"307":1,"308":1,"309":1,"310":1},"2":{"307":4}}],["started",{"0":{"183":1,"190":1},"1":{"184":1,"185":1,"186":1},"2":{"1":1,"14":3,"59":2,"156":1,"164":1,"209":1,"231":1,"260":1,"264":1,"313":1,"315":1}}],["startbroadcast",{"2":{"155":1}}],["starts",{"2":{"121":1,"183":1,"186":1,"308":1}}],["start",{"0":{"147":1,"187":1,"197":1,"203":1,"205":1,"233":1,"246":1,"251":1,"262":1,"268":1,"271":1,"273":1,"291":1,"309":1},"1":{"148":1,"149":1,"150":1,"151":1,"198":1,"204":1,"205":1,"234":1,"235":1,"236":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1},"2":{"40":1,"117":1,"121":1,"147":3,"152":3,"156":1,"157":1,"158":4,"167":5,"177":1,"178":1,"186":2,"188":2,"191":2,"195":4,"202":4,"231":1,"233":2,"241":1,"244":2,"249":1,"251":2,"254":4,"259":2,"262":2,"263":1,"271":4,"272":1,"273":1,"290":5,"291":1,"294":6,"299":2,"301":2,"308":1,"322":1,"327":1,"331":5}}],["starting",{"2":{"16":1,"123":1,"151":1,"152":1,"186":2,"196":1,"204":1,"230":1,"250":1,"255":1,"272":1,"302":1}}],["stages",{"2":{"40":1}}],["stage",{"2":{"13":1,"63":1,"159":1,"217":1,"256":1,"275":1,"311":1}}],["stack",{"0":{"113":1,"139":1},"1":{"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1},"2":{"3":1,"5":1,"9":1,"14":1,"31":1,"35":1,"40":1,"62":1,"67":1,"72":1,"75":1,"76":1,"255":1}}],["steps",{"0":{"15":1,"199":1,"214":1,"237":1,"310":1},"2":{"176":1,"226":1,"238":1,"251":1,"270":1,"324":1}}],["step",{"2":{"3":2,"228":1,"238":1,"244":1,"250":1,"253":1,"257":2,"283":1}}],["gwei",{"2":{"266":1}}],["gnu",{"2":{"219":1}}],["ghcr",{"2":{"167":1,"195":1,"202":1,"230":1,"241":1,"259":1,"271":1,"290":1,"308":1,"331":1}}],["gz",{"2":{"142":3}}],["gb",{"2":{"140":1,"228":2}}],["g",{"2":{"93":1,"127":1,"142":1,"191":1}}],["gt",{"2":{"87":1,"142":2,"156":2,"157":1,"192":6,"226":5,"258":1,"269":1,"294":9,"297":1}}],["glossary",{"0":{"99":1},"1":{"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1},"2":{"68":1,"75":1,"76":1}}],["gms",{"2":{"267":1}}],["gmportalscript",{"2":{"266":2}}],["gmportal",{"2":{"266":2,"268":5}}],["gm1vvl79phavqruppr6f5zy4ypxy7znshrqam48qy",{"2":{"245":1,"250":2}}],["gm13nf52x452c527nycahthqq4y9phcmvat9nejl2",{"2":{"234":1,"235":1}}],["gm1sa3xvrkvwhktjppxzaayst7s7z4ar06rk37jq7",{"2":{"234":1,"235":1}}],["gmworld",{"2":{"195":1}}],["gmrollup",{"2":{"192":5}}],["gmd",{"2":{"158":3,"192":1,"196":1,"204":1,"205":1,"233":2,"254":2,"294":2}}],["gm",{"0":{"189":1,"192":1,"193":1,"200":1,"207":1,"208":1,"211":1,"215":1,"218":1,"241":1},"1":{"190":1,"191":1,"192":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":2,"209":3,"210":3,"211":3,"212":3,"213":3,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"237":1},"2":{"60":2,"70":2,"93":2,"158":1,"180":1,"182":1,"184":2,"187":1,"189":1,"190":1,"191":4,"192":10,"193":1,"196":1,"197":1,"198":1,"201":1,"203":3,"204":1,"206":1,"208":1,"209":22,"211":15,"213":3,"217":1,"218":6,"231":13,"232":1,"233":2,"234":2,"235":1,"238":1,"241":9,"244":1,"245":2,"248":3,"249":1,"250":22,"251":1,"252":5,"255":4,"264":1,"265":3,"266":1,"267":1,"268":6,"275":1,"276":1,"294":2,"295":1,"298":1,"307":3,"310":1,"312":1}}],["grey",{"2":{"313":1}}],["green",{"2":{"313":1}}],["greater",{"2":{"188":1}}],["great",{"2":{"38":2,"40":1,"96":1,"164":1}}],["grpc",{"2":{"118":1,"167":2,"195":2,"202":2,"209":1,"271":2,"288":2,"290":2,"294":1,"299":1,"301":1,"331":2}}],["granter",{"2":{"235":1,"332":1}}],["grantees",{"2":{"51":1}}],["gradually",{"2":{"188":1}}],["graph",{"0":{"97":1},"2":{"97":1}}],["growth",{"2":{"38":1}}],["growing",{"2":{"13":1}}],["gateway",{"2":{"167":1,"195":1,"202":1,"271":1,"290":1,"331":1}}],["gather",{"2":{"7":1,"15":1}}],["gas",{"0":{"188":1,"299":1,"301":1},"2":{"154":3,"175":6,"178":3,"179":8,"188":15,"192":1,"235":3,"248":8,"250":4,"253":1,"255":1,"266":1,"295":3,"296":1,"299":1,"301":1,"332":3}}],["game",{"2":{"61":1,"311":2}}],["gain",{"2":{"34":1}}],["gui",{"2":{"313":1}}],["guidance",{"2":{"164":1,"222":1,"225":1}}],["guide",{"2":{"6":1,"96":1,"161":1,"180":1,"181":1,"217":1,"254":1,"293":1,"302":1,"311":1,"313":1,"317":1}}],["guidelines",{"0":{"2":1},"2":{"2":1,"241":1}}],["guides",{"0":{"73":1},"2":{"0":1,"75":1,"255":2,"312":1}}],["guessing",{"2":{"328":1}}],["guessed",{"2":{"328":2}}],["guesseraddress",{"2":{"328":2}}],["guesser",{"2":{"328":2,"329":1}}],["guesses",{"2":{"313":2,"325":1,"327":2,"328":2}}],["guess",{"2":{"313":2,"322":2,"323":3,"325":3,"327":1,"328":19,"332":8,"333":1}}],["guarantees",{"2":{"23":1,"35":1,"47":1,"51":1,"83":1,"139":2}}],["giant",{"2":{"332":2}}],["gitpod",{"2":{"222":1,"225":1}}],["git",{"2":{"87":1,"141":1,"152":2,"166":2,"243":2,"247":2,"260":3,"265":3,"272":1,"304":1,"307":1}}],["githubusercontent",{"2":{"169":1,"184":1,"192":1,"197":1,"203":1,"226":1,"233":1,"241":1,"244":1,"291":1,"332":1}}],["github",{"2":{"14":1,"63":1,"87":1,"152":1,"159":1,"166":3,"172":1,"217":1,"232":2,"241":2,"243":1,"247":1,"256":1,"260":1,"265":1,"275":1,"279":2,"286":2,"288":3,"304":1,"307":1,"311":1,"319":2,"327":3,"328":3}}],["given",{"2":{"175":1,"312":1,"322":1,"332":5}}],["give",{"2":{"9":1,"156":1,"177":1}}],["gives",{"2":{"5":1,"31":1,"37":1}}],["generic",{"2":{"117":1}}],["generating",{"0":{"147":1},"1":{"148":1,"149":1,"150":1,"151":1},"2":{"147":2,"250":1}}],["generatetoaddress",{"2":{"147":2}}],["generatefraudproof",{"2":{"130":1}}],["generated",{"2":{"51":1,"156":1,"157":1,"198":1,"206":1,"294":1,"317":1}}],["generate",{"2":{"35":1,"95":1,"130":2,"136":1,"147":3,"209":1,"248":1,"271":1}}],["general",{"2":{"14":3}}],["gen",{"2":{"95":1}}],["getguess",{"2":{"328":1}}],["getwordle",{"2":{"327":1,"328":1}}],["getrecipecount",{"2":{"286":5}}],["gettotalgms",{"2":{"267":1}}],["getting",{"0":{"183":1,"190":1},"1":{"184":1,"185":1,"186":1},"2":{"122":2,"328":1}}],["geth",{"2":{"263":2}}],["gets",{"2":{"246":1,"286":1,"313":1}}],["getcoin",{"2":{"192":1}}],["getcount",{"2":{"154":4,"156":1,"157":1}}],["getchainassets",{"2":{"192":2}}],["getblockheader",{"2":{"150":2}}],["getblockhash",{"2":{"149":1}}],["getblockcount",{"2":{"148":1}}],["getnewaddress`",{"2":{"147":1}}],["getnewaddress",{"2":{"147":1}}],["getapphash",{"2":{"130":1}}],["get",{"2":{"1":1,"30":1,"59":2,"64":1,"150":1,"164":1,"166":1,"167":1,"175":1,"176":1,"177":1,"195":1,"202":1,"208":1,"209":2,"213":1,"222":3,"225":3,"231":1,"232":1,"233":2,"241":2,"260":1,"264":1,"267":1,"271":1,"279":1,"283":2,"286":7,"288":3,"290":1,"295":2,"297":1,"313":1,"315":2,"319":1,"327":1,"328":3,"331":1,"332":2}}],["gomessage",{"2":{"329":1}}],["gouda",{"2":{"291":1}}],["goconst",{"2":{"286":1}}],["goctx",{"2":{"211":4,"283":2,"327":2,"328":2}}],["gopackage",{"2":{"286":1,"288":1,"327":1,"328":1}}],["gosyntax",{"2":{"285":1}}],["gossips",{"2":{"136":1}}],["gossipping",{"2":{"132":1}}],["gossiped",{"2":{"130":1}}],["gossip",{"0":{"136":1},"2":{"123":1,"130":2,"136":1}}],["gotype",{"2":{"329":1}}],["got",{"2":{"255":1}}],["governance",{"2":{"231":1}}],["gov",{"2":{"231":1}}],["go1",{"2":{"222":1,"225":1,"247":1}}],["gofunc",{"2":{"211":2,"283":1,"286":3}}],["goif",{"2":{"166":1}}],["going",{"2":{"5":1,"40":1,"166":1,"208":1,"275":1,"317":1}}],["gone",{"2":{"158":1}}],["go$ver",{"2":{"142":3}}],["golang",{"0":{"142":1,"162":1,"221":1,"224":1},"1":{"225":1},"2":{"142":2,"162":2,"219":1,"221":3,"224":3,"231":1,"288":2}}],["golangci",{"2":{"94":1,"95":1}}],["goal",{"2":{"29":1,"31":1,"35":1,"139":1,"275":1}}],["go",{"2":{"27":1,"87":2,"116":1,"118":1,"121":2,"142":4,"166":5,"179":1,"181":1,"195":1,"196":1,"202":1,"204":1,"209":3,"211":4,"222":2,"225":2,"232":3,"233":3,"238":1,"240":1,"241":4,"247":1,"254":1,"258":1,"270":1,"279":3,"281":8,"283":1,"285":1,"286":3,"288":4,"290":1,"295":1,"311":3,"312":1,"313":1,"317":1,"319":3,"327":3,"328":1,"329":1,"331":2}}],["google",{"2":{"19":1,"209":2,"288":2}}],["goods",{"2":{"14":2}}],["good",{"2":{"5":1,"18":1,"96":1,"138":1,"218":1}}],["ot8z1k9yaccvhngeieisbdgo4uobuvi",{"2":{"308":2}}],["others",{"2":{"333":1}}],["other",{"2":{"3":1,"14":3,"16":2,"18":1,"31":1,"33":1,"35":2,"78":1,"96":1,"118":1,"127":1,"136":1,"192":1,"235":1,"236":1,"244":1,"246":3,"295":1,"298":1,"321":1,"326":1}}],["objects",{"2":{"322":1,"332":1}}],["obtained",{"2":{"308":1}}],["obtain",{"2":{"270":1}}],["observed",{"2":{"250":4}}],["ooga",{"0":{"266":1},"2":{"264":1,"265":1,"267":3,"269":2}}],["ooo",{"2":{"191":6}}],["o",{"2":{"191":6,"218":1}}],["occasional",{"2":{"188":1}}],["occurred",{"2":{"130":1}}],["ok",{"2":{"154":1}}],["old",{"2":{"151":1,"196":1,"204":1,"233":1}}],["osmo",{"2":{"248":2,"249":1,"250":12}}],["osmo1vvl79phavqruppr6f5zy4ypxy7znshrqm390ll",{"2":{"245":1,"250":2}}],["osmosis",{"0":{"242":1,"243":1,"244":1,"252":1,"253":1},"1":{"243":1,"244":1},"2":{"238":1,"243":3,"244":6,"245":2,"248":2,"250":6,"251":1,"252":3,"253":2}}],["os",{"2":{"141":1,"165":1,"222":1,"225":1,"228":1}}],["omnilayer",{"2":{"129":1}}],["override",{"2":{"295":1}}],["overridden",{"2":{"192":1}}],["overall",{"2":{"130":1}}],["overview",{"0":{"275":1},"2":{"21":1,"67":1,"69":1,"74":1,"75":1}}],["over",{"2":{"14":1,"122":3,"127":1,"130":2,"169":2,"181":2,"203":2,"254":1,"270":1,"291":2,"308":1,"311":3,"312":1,"313":2,"317":1,"327":2,"332":2}}],["overhead",{"2":{"8":1,"29":1,"34":1}}],["our",{"2":{"6":1,"18":3,"21":2,"29":1,"30":1,"31":1,"35":1,"63":1,"64":1,"86":1,"96":1,"97":2,"98":1,"138":1,"142":1,"155":1,"157":2,"159":1,"162":1,"169":4,"175":1,"176":1,"177":3,"179":1,"189":2,"192":1,"203":3,"205":1,"208":1,"211":1,"217":1,"226":1,"231":2,"235":2,"255":1,"256":1,"265":1,"268":2,"275":1,"283":1,"288":1,"291":4,"295":1,"301":1,"311":1,"313":1,"315":1,"316":2,"318":2,"321":1,"322":3,"329":1,"332":4}}],["outline",{"2":{"326":1}}],["outdated",{"2":{"192":1}}],["outside",{"2":{"159":1,"308":1,"317":1}}],["outputs",{"2":{"332":1}}],["outputted",{"2":{"172":1}}],["output",{"2":{"146":1,"148":1,"149":1,"154":1,"157":1,"164":1,"175":2,"177":3,"179":5,"183":1,"191":2,"226":1,"234":1,"248":2,"266":2,"315":1,"332":3}}],["out",{"0":{"295":1},"1":{"296":1,"297":1,"298":1,"299":1,"300":1,"301":1},"2":{"0":1,"6":1,"14":3,"15":2,"17":1,"156":1,"159":1,"166":1,"176":1,"228":1,"232":1,"255":1,"265":1,"268":2,"279":1,"295":2,"296":1,"301":1,"315":1,"329":1,"332":1,"333":1}}],["operators",{"2":{"254":1}}],["operating",{"2":{"219":1}}],["operations",{"2":{"121":1,"156":1,"157":1}}],["openapi",{"2":{"317":1}}],["openssl",{"2":{"152":1,"230":1}}],["opens",{"2":{"139":1}}],["open",{"2":{"18":1,"19":1,"31":1,"35":1,"64":1,"146":1,"154":2,"185":1,"209":1,"231":1,"246":1,"255":1,"291":1,"315":1,"327":1,"328":1,"333":1}}],["opening",{"2":{"5":1,"23":1,"31":1,"138":1}}],["opportunity",{"2":{"20":2,"38":1}}],["optimizer",{"2":{"174":3}}],["optimized",{"0":{"174":1},"2":{"174":1}}],["optimism",{"2":{"14":1}}],["optimistic",{"0":{"130":1},"2":{"12":1,"13":1,"35":1,"113":1,"125":1,"136":1}}],["optional",{"0":{"170":1,"206":1,"207":1},"1":{"208":1,"209":1,"210":1,"211":1,"212":1,"213":1},"2":{"130":1,"142":1,"209":2}}],["option",{"2":{"26":2,"209":3,"285":1,"308":1}}],["options",{"2":{"3":1,"9":1,"10":1,"136":1,"235":2,"248":2,"332":2}}],["opt",{"2":{"11":1,"226":2}}],["onstart",{"2":{"121":1}}],["once",{"2":{"120":1,"130":1,"156":2,"157":1,"186":1}}],["onto",{"2":{"113":1}}],["only",{"0":{"129":1},"2":{"23":1,"26":1,"27":1,"63":1,"78":1,"107":1,"121":1,"129":1,"186":1,"188":1,"192":2,"228":1,"238":1,"256":1,"268":1,"308":1,"322":1,"327":6,"328":3}}],["ones",{"2":{"136":1}}],["one",{"2":{"18":1,"82":1,"85":1,"101":2,"127":1,"130":1,"156":2,"158":1,"159":1,"167":1,"195":1,"217":1,"222":1,"225":1,"235":2,"250":3,"269":1,"271":2,"272":1,"295":1,"317":1,"322":2,"327":2,"328":1,"332":1}}],["ongoing",{"2":{"15":1}}],["on",{"0":{"23":1,"25":1,"28":1,"89":1,"168":1,"171":1,"176":1,"197":1,"221":1,"222":1,"224":1,"225":1,"226":1,"227":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"90":1,"91":1,"92":1,"93":1,"169":1,"170":1,"172":1,"173":1,"174":1,"175":1,"177":1,"178":1,"179":1,"198":1,"225":1},"2":{"5":3,"6":1,"7":1,"15":2,"16":4,"17":2,"18":1,"19":2,"20":1,"21":1,"22":1,"23":5,"24":1,"25":6,"27":2,"28":1,"29":2,"30":1,"33":1,"35":2,"40":1,"63":1,"64":1,"74":1,"80":1,"88":1,"89":1,"93":1,"96":1,"118":1,"120":2,"125":1,"126":1,"130":1,"138":3,"139":3,"153":1,"161":1,"164":1,"165":3,"167":1,"169":1,"175":3,"176":1,"177":1,"186":2,"190":1,"191":1,"192":1,"195":3,"197":1,"199":1,"202":2,"211":1,"217":1,"222":2,"225":2,"228":5,"229":1,"231":2,"233":2,"235":1,"238":1,"240":1,"245":2,"246":2,"254":1,"255":1,"256":1,"258":2,"264":1,"265":1,"266":1,"268":3,"269":2,"271":1,"272":1,"273":1,"286":2,"288":2,"290":1,"291":1,"292":1,"295":1,"303":1,"305":2,"306":1,"308":1,"313":1,"315":1,"318":1,"326":1,"328":1,"331":2,"332":2,"333":1}}],["owner",{"2":{"179":2}}],["own",{"2":{"3":1,"5":1,"7":3,"8":4,"10":1,"11":1,"14":2,"26":1,"35":1,"167":1,"195":2,"202":2,"228":1,"230":1,"264":1,"271":1,"273":1,"290":2,"315":1,"320":1,"331":3}}],["oranges",{"2":{"291":1}}],["originating",{"2":{"78":1}}],["originally",{"2":{"5":1,"14":1,"16":1,"23":1,"269":1}}],["original",{"2":{"5":1,"82":1,"253":1,"294":1}}],["ordinals",{"2":{"24":1,"25":2,"139":1}}],["ordered",{"2":{"78":1,"80":1,"113":1}}],["ordering",{"0":{"106":1},"2":{"44":1,"80":2,"85":1,"106":1,"120":1,"127":2}}],["order",{"2":{"7":1,"14":1,"30":1,"34":1,"42":1,"64":1,"78":1,"85":2,"129":1,"167":1,"174":1,"190":1,"198":1,"206":1,"208":1,"233":1,"250":1,"269":1,"270":1,"288":2,"294":1,"295":2,"299":1,"301":1,"312":1,"329":1}}],["org",{"2":{"14":1,"23":1,"142":1,"192":2,"288":2}}],["or",{"2":{"2":1,"4":1,"9":1,"10":1,"11":1,"12":1,"27":1,"28":1,"29":1,"31":1,"35":4,"37":1,"40":1,"59":1,"63":1,"85":1,"89":1,"96":1,"101":1,"109":1,"125":1,"126":1,"130":1,"136":2,"139":1,"155":1,"158":1,"159":1,"167":2,"169":1,"175":1,"195":2,"197":1,"202":2,"205":1,"208":1,"217":1,"218":1,"219":2,"222":1,"225":1,"228":2,"231":1,"233":1,"235":1,"246":1,"252":1,"253":1,"255":1,"256":1,"269":1,"271":2,"273":1,"275":1,"290":2,"296":1,"298":1,"311":1,"312":1,"315":1,"316":1,"327":1,"328":1,"331":2,"332":1}}],["offered",{"2":{"320":1}}],["offering",{"2":{"18":1}}],["offloading",{"2":{"26":1}}],["off",{"2":{"25":1,"35":1}}],["offs",{"2":{"7":1,"31":1,"34":1,"35":1}}],["official",{"2":{"0":1,"30":1,"64":1}}],["of",{"0":{"22":1,"65":1,"76":1,"98":1,"158":1,"295":1},"1":{"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"296":1,"297":1,"298":1,"299":1,"300":1,"301":1},"2":{"0":1,"2":1,"5":2,"7":2,"8":3,"9":2,"10":2,"11":1,"12":2,"13":3,"14":3,"16":5,"18":7,"19":2,"20":5,"21":2,"24":2,"25":8,"26":1,"27":3,"29":2,"30":1,"31":1,"34":6,"35":5,"37":1,"39":2,"40":1,"43":1,"52":1,"63":1,"64":1,"73":1,"75":1,"79":1,"80":3,"82":4,"85":4,"88":1,"96":1,"97":1,"98":1,"99":1,"101":3,"103":1,"104":1,"106":1,"108":1,"109":1,"112":1,"113":2,"116":3,"117":2,"118":2,"120":1,"121":2,"123":1,"127":1,"130":2,"136":3,"138":2,"139":4,"143":1,"147":1,"149":1,"151":1,"153":1,"154":1,"156":3,"157":1,"158":1,"159":2,"169":1,"175":1,"176":2,"177":1,"178":1,"179":1,"188":4,"191":1,"192":3,"193":2,"197":1,"201":2,"203":1,"208":1,"209":4,"211":3,"218":2,"228":3,"231":4,"233":1,"235":1,"238":3,"244":1,"246":1,"248":1,"251":1,"252":1,"253":1,"255":3,"256":1,"257":1,"264":1,"270":1,"272":1,"275":1,"278":1,"283":2,"286":7,"288":4,"291":1,"292":1,"294":1,"295":3,"296":1,"297":1,"301":1,"308":1,"311":1,"312":1,"313":5,"315":3,"316":3,"317":4,"321":1,"322":2,"325":2,"326":4,"327":7,"328":11,"332":3}}],["md",{"2":{"317":1}}],["m2",{"2":{"305":1}}],["m1",{"2":{"305":1}}],["mnemonics",{"2":{"249":1}}],["mnemonic",{"2":{"245":2,"249":1}}],["msgsubmitguessresponse",{"2":{"328":3,"329":2}}],["msgsubmitguess",{"2":{"328":1}}],["msgsubmitwordleresponse",{"2":{"327":2}}],["msgsubmitwordle",{"2":{"327":1,"332":1}}],["msgserver",{"2":{"283":1,"327":1,"328":1}}],["msgsend",{"2":{"235":1}}],["msgcreatereciperesponse",{"2":{"281":2,"282":1,"283":2}}],["msgcreaterecipe",{"2":{"281":1,"282":3,"283":1,"286":1}}],["msgchannelopenconfirm",{"2":{"250":1}}],["msgchannelopenack",{"2":{"250":1}}],["msgchannelopentry",{"2":{"250":1}}],["msgchannelopeninit",{"2":{"250":1}}],["msgupdateclient",{"2":{"250":4}}],["msg",{"2":{"250":4,"281":1,"282":2,"283":5,"327":7,"328":8}}],["msg=",{"2":{"186":2}}],["mv",{"2":{"222":2,"225":2,"315":1}}],["mvp",{"2":{"40":1}}],["mkdir",{"2":{"222":1,"225":1}}],["m",{"2":{"147":2,"222":1,"225":1}}],["mykey",{"2":{"157":2,"244":1}}],["my",{"2":{"147":1,"192":1}}],["mb",{"2":{"25":1}}],["middleman",{"2":{"246":1}}],["milk",{"2":{"245":2,"249":2}}],["milliseconds",{"2":{"158":1}}],["millions",{"2":{"34":1}}],["mit",{"2":{"154":2,"155":1}}],["missing",{"2":{"25":1}}],["mission",{"2":{"14":1,"30":1,"64":1}}],["minus",{"2":{"253":1}}],["minutes",{"2":{"35":1}}],["minting",{"2":{"231":1}}],["mint",{"2":{"231":1}}],["min",{"2":{"82":1,"192":1,"248":4}}],["minimum",{"2":{"110":1,"188":1}}],["minimizes",{"2":{"316":1}}],["minimized",{"0":{"49":1,"58":1,"85":1},"2":{"39":1,"113":1,"126":1,"238":1}}],["minimization",{"2":{"130":1}}],["minimizing",{"2":{"35":1}}],["minimal",{"2":{"30":1,"31":1,"64":1}}],["mining",{"2":{"25":1}}],["mind",{"2":{"29":1,"117":1}}],["mine",{"2":{"147":2}}],["miner",{"2":{"25":1}}],["mined",{"2":{"25":1}}],["might",{"2":{"11":1,"34":1,"123":1}}],["much",{"2":{"316":1}}],["multiplier=1",{"2":{"188":1}}],["multiplier",{"2":{"188":2}}],["multiple",{"2":{"11":2,"123":1,"127":1,"130":1}}],["multi",{"2":{"180":1,"191":1,"321":1}}],["multitude",{"2":{"12":1}}],["mustmarshal",{"2":{"286":1}}],["must",{"2":{"7":1,"34":2,"136":1,"313":1,"316":1,"321":2,"327":2,"328":2}}],["moment",{"2":{"327":1}}],["morning",{"2":{"218":1}}],["more",{"2":{"9":1,"13":1,"15":1,"19":1,"22":1,"23":1,"40":1,"75":1,"86":1,"96":1,"101":1,"136":1,"138":1,"158":1,"159":2,"167":1,"195":1,"202":1,"231":3,"238":1,"255":1,"271":1,"290":1,"297":1,"315":1,"316":1,"331":1}}],["mounted",{"2":{"211":1}}],["mount",{"2":{"174":4}}],["monitoring",{"2":{"141":1,"333":1}}],["months",{"2":{"35":1}}],["mock",{"2":{"118":1}}],["mocha",{"0":{"92":1},"2":{"6":1,"59":1,"89":1,"92":1,"159":1,"167":5,"270":2,"271":6,"272":1,"273":1,"295":2}}],["moving",{"2":{"15":1,"332":1}}],["movement",{"2":{"18":1}}],["move",{"2":{"14":1,"29":1}}],["modified",{"2":{"257":1,"275":1,"329":1}}],["modifying",{"2":{"208":1,"275":1}}],["modify",{"2":{"10":1,"31":1,"157":1,"192":1,"208":1,"209":1,"211":1,"244":1,"281":3,"288":1}}],["mod",{"2":{"166":3,"232":3,"241":3,"279":3,"319":3}}],["modulename",{"2":{"327":1,"328":1}}],["moduleacct",{"2":{"327":2,"328":2}}],["modules",{"2":{"231":1,"315":1,"317":2,"320":3,"321":1}}],["module=polaris",{"2":{"263":2}}],["module=p2p",{"2":{"186":3}}],["module=txindex",{"2":{"263":1,"309":1}}],["module=blockmanager",{"2":{"263":5,"296":4,"309":2}}],["module=da",{"2":{"186":1}}],["module=server",{"2":{"186":4,"263":2}}],["module=icahost",{"2":{"186":1}}],["module=x",{"2":{"186":1}}],["module",{"0":{"320":1,"321":1},"1":{"321":1},"2":{"26":1,"27":1,"29":1,"139":1,"208":1,"275":2,"281":1,"286":1,"288":1,"312":1,"316":3,"320":4,"321":6,"322":2,"326":3}}],["modularism",{"2":{"14":1,"29":1}}],["modularity",{"2":{"9":1,"13":1,"27":1}}],["modular",{"0":{"5":1},"1":{"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1},"2":{"5":4,"6":1,"14":3,"15":1,"18":1,"23":1,"26":1,"31":2,"35":1,"62":1,"64":1,"72":1,"86":1,"88":1,"139":1,"255":2}}],["mode",{"2":{"12":3,"13":2,"63":1,"152":1,"248":4,"256":1}}],["modes",{"0":{"128":1},"1":{"129":1,"130":1,"131":1},"2":{"11":1}}],["mostly",{"2":{"27":1}}],["most",{"2":{"0":1,"19":1,"25":1,"27":1,"88":1,"188":1,"231":1,"317":2,"326":1}}],["messaging",{"2":{"333":1}}],["messages",{"0":{"283":1,"322":1},"1":{"323":1},"2":{"208":1,"235":1,"246":1,"275":1,"315":1,"322":7,"324":1,"332":1}}],["message",{"0":{"280":1,"281":1,"282":1,"323":1},"1":{"281":1,"282":2,"283":1},"2":{"2":1,"178":1,"179":2,"208":1,"210":1,"246":1,"275":1,"281":6,"282":1,"285":2,"286":2,"296":3,"320":2,"323":5,"325":2,"326":2,"332":2}}],["mean",{"2":{"332":1}}],["meaning",{"2":{"315":1}}],["means",{"2":{"7":1,"14":1,"15":1,"19":1,"35":1,"218":1,"313":3,"327":2}}],["mechanism",{"2":{"231":1}}],["meter",{"2":{"332":1}}],["method",{"0":{"285":1},"2":{"270":1,"286":1,"329":1}}],["methods",{"0":{"286":1},"2":{"27":3,"116":1,"117":2,"130":1,"270":1}}],["metadata",{"2":{"110":1,"192":1}}],["mentioned",{"2":{"36":1}}],["memo",{"2":{"235":1,"248":1,"332":1}}],["memory",{"2":{"228":1}}],["mempool",{"0":{"120":1},"2":{"25":2,"120":3,"136":3,"188":1,"295":3}}],["members",{"2":{"15":1,"18":1,"19":1}}],["merge",{"0":{"18":1},"2":{"18":1}}],["meeting",{"2":{"17":1,"19":3}}],["media",{"2":{"3":1}}],["maximum",{"2":{"328":1}}],["maximalism",{"2":{"14":1,"29":1}}],["max",{"2":{"248":2,"328":1}}],["maple",{"2":{"245":2,"249":2}}],["map",{"2":{"192":1,"325":3}}],["macbook",{"2":{"222":1,"225":1}}],["macos",{"0":{"223":1,"224":1,"225":1,"226":1,"227":1},"1":{"224":1,"225":2,"226":1,"227":1},"2":{"219":2,"233":1,"305":1,"315":1}}],["mac",{"2":{"164":1,"226":1,"305":1}}],["machinesarm",{"2":{"174":1,"175":1}}],["machines",{"2":{"37":1,"174":1,"175":1,"222":1,"225":1,"315":1}}],["machine",{"2":{"2":1,"37":2,"140":1,"165":1,"190":1,"195":1,"202":1,"228":5,"229":1,"240":1,"257":1,"258":2,"290":1,"303":1,"306":1,"315":1,"331":2}}],["maliciously",{"2":{"136":1}}],["made",{"2":{"64":1,"85":1,"139":2}}],["maybe",{"2":{"127":2}}],["may",{"2":{"30":1,"64":1,"117":1,"123":1,"136":1,"142":1,"164":1,"188":2,"192":2,"222":1,"225":1,"233":1,"250":1,"269":1}}],["mandarin",{"2":{"291":1}}],["manpath",{"2":{"226":1}}],["manually",{"2":{"183":1,"188":2}}],["manner",{"2":{"120":1}}],["managing",{"2":{"34":1}}],["manager",{"0":{"121":1},"2":{"121":1}}],["manage",{"2":{"26":1,"35":1}}],["many",{"2":{"7":2,"13":1,"16":1,"33":1,"36":1,"40":1,"141":1,"320":1,"325":1,"333":1}}],["marshal",{"2":{"286":1}}],["markdownlint",{"2":{"94":1,"95":1}}],["market",{"0":{"34":1},"2":{"9":2,"23":1,"35":2}}],["march",{"2":{"16":1,"17":1,"23":1}}],["making",{"2":{"2":1,"14":1,"29":1,"139":1,"159":1}}],["makes",{"2":{"211":1,"246":2}}],["make",{"2":{"0":1,"2":1,"18":1,"27":1,"29":1,"31":1,"35":2,"95":4,"126":1,"139":1,"141":2,"152":1,"192":1,"208":1,"217":1,"231":1,"235":1,"243":1,"247":1,"250":1,"252":1,"253":1,"262":1,"265":1,"272":1,"273":1,"286":2,"294":1,"316":1,"322":1}}],["mainnet",{"0":{"194":1,"197":1},"1":{"195":1,"196":1,"197":1,"198":2},"2":{"195":1,"197":4,"198":3,"199":1,"214":1,"217":2,"255":1,"270":1}}],["mainstream",{"2":{"14":1}}],["maintaining",{"2":{"8":2}}],["maintain",{"2":{"7":1,"8":1}}],["main",{"2":{"2":1,"35":1,"113":1,"169":1,"184":1,"197":1,"203":1,"233":1,"241":1,"244":1,"291":1,"317":1,"326":1,"332":1}}],["materials",{"2":{"0":1,"3":1}}],["f159e11116ec9505fc2c0d97e605357fec0f3dae06b57bfb17ea6a548905043e",{"2":{"332":2}}],["fssl",{"2":{"226":1}}],["fcfs",{"2":{"120":1}}],["flag",{"2":{"158":2,"188":2,"195":1,"209":1,"231":1,"235":1,"244":1,"254":1,"270":1,"308":1,"316":1}}],["flags=",{"2":{"148":1}}],["flags",{"2":{"148":1,"158":2,"188":1,"235":1,"254":2}}],["flexible",{"2":{"123":1}}],["flexibility",{"2":{"7":1,"9":1,"30":1,"33":1,"37":1,"64":1}}],["flow",{"0":{"132":1},"1":{"133":1,"134":1,"135":1,"136":1},"2":{"67":1,"75":1,"76":1,"132":1,"136":1}}],["further",{"2":{"179":1,"282":1,"313":1}}],["furthermore",{"2":{"63":2,"256":2}}],["func",{"2":{"286":1,"288":2,"327":2,"328":1}}],["functioning",{"2":{"217":1}}],["function",{"0":{"211":1,"327":1,"328":1},"2":{"154":7,"155":2,"208":1,"211":4,"275":1,"281":1,"283":1,"286":2,"327":3,"328":1}}],["functionality",{"2":{"154":1,"326":1}}],["functional",{"2":{"115":1,"231":1}}],["functions",{"0":{"326":1},"1":{"327":1,"328":1,"329":1},"2":{"27":1,"154":1,"208":1,"317":2,"326":1,"329":1}}],["fungible",{"2":{"231":1}}],["funding",{"2":{"296":1}}],["funds",{"0":{"245":1,"264":1,"295":1},"1":{"296":1,"297":1,"298":1,"299":1,"300":1,"301":1},"2":{"245":2,"264":1,"295":1}}],["fund",{"0":{"297":1},"2":{"195":1,"202":1,"269":1,"271":1,"295":1}}],["funded",{"2":{"167":1,"197":1,"266":1,"269":1,"270":1,"290":1,"331":1}}],["fun",{"2":{"191":1,"316":1,"332":1}}],["future",{"0":{"333":1},"2":{"16":2,"19":1,"20":2,"29":1,"31":1,"34":1,"36":1,"97":1,"136":1,"159":1,"311":1,"328":1,"332":1}}],["fully",{"2":{"115":1,"122":1,"125":1,"195":1,"202":1,"231":1,"270":1,"271":1}}],["full",{"0":{"125":1,"129":1,"180":1,"187":1},"1":{"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1},"2":{"8":1,"34":1,"35":2,"45":1,"49":1,"51":1,"62":1,"63":1,"72":2,"81":1,"85":1,"107":1,"113":1,"117":1,"125":1,"129":1,"130":7,"136":6,"158":1,"180":1,"183":1,"184":2,"186":1,"187":3,"199":2,"214":2,"255":2,"256":1}}],["far",{"2":{"332":1}}],["false",{"2":{"222":1,"225":1,"327":1}}],["fallbackfee=0",{"2":{"145":1}}],["faucet",{"2":{"167":1,"270":1,"290":1,"331":1}}],["failed",{"2":{"154":1,"179":2,"222":1,"225":1,"288":1,"296":3}}],["fails",{"2":{"82":2}}],["failures",{"2":{"188":1}}],["failure",{"2":{"82":2}}],["fast",{"2":{"80":1}}],["faster",{"2":{"9":1,"35":1,"127":1,"158":1}}],["factor",{"2":{"188":2}}],["face",{"2":{"35":1,"328":1}}],["facilitate",{"2":{"27":1,"39":1}}],["familiar",{"2":{"30":1,"64":1,"193":1,"201":1}}],["familiarity",{"2":{"30":1,"64":1}}],["favorite",{"2":{"275":1}}],["favor",{"2":{"14":1}}],["few",{"2":{"313":1,"327":1,"329":1,"332":1}}],["fetching",{"2":{"191":1}}],["fetch",{"2":{"130":1}}],["feature",{"2":{"96":1,"181":1,"254":1}}],["features",{"2":{"9":1,"13":3,"18":1,"19":1,"31":1,"40":1,"192":1}}],["feb",{"2":{"25":1}}],["february",{"2":{"5":1}}],["feel",{"2":{"328":1}}],["feegrants",{"2":{"248":2}}],["fees",{"2":{"192":1,"235":1,"250":4,"252":1,"253":2}}],["fee",{"0":{"299":1,"301":1},"2":{"23":1,"192":1,"235":1,"250":4,"295":3,"296":1,"299":1,"301":1,"332":1}}],["feedback",{"0":{"4":1},"2":{"4":1,"15":1,"19":1,"20":2}}],["free",{"2":{"328":1}}],["freedom",{"0":{"8":1},"2":{"5":1,"31":1}}],["freshly",{"2":{"308":1}}],["fresh",{"2":{"191":1,"316":1}}],["fred",{"2":{"179":3}}],["frequency",{"2":{"121":1}}],["front",{"2":{"333":2}}],["frontend",{"0":{"189":1,"191":1,"265":1,"268":1,"269":1},"1":{"190":1,"191":1,"192":1,"266":1,"267":1,"268":1,"269":1},"2":{"60":1,"70":1,"189":2,"191":1,"192":3,"255":1,"265":1,"268":8,"269":1}}],["fromaddr",{"2":{"329":1}}],["from",{"0":{"87":1,"252":1,"253":1},"2":{"2":1,"4":1,"5":1,"7":2,"8":1,"9":1,"10":1,"13":1,"14":2,"15":2,"18":1,"35":3,"36":1,"82":1,"85":1,"113":1,"117":1,"130":1,"147":1,"150":1,"155":1,"157":1,"167":1,"169":1,"175":2,"178":1,"179":1,"183":2,"184":1,"185":1,"187":1,"192":6,"197":2,"203":1,"210":1,"226":1,"231":1,"232":1,"233":1,"235":5,"244":1,"246":1,"252":2,"253":2,"254":1,"266":1,"268":2,"269":1,"270":1,"272":1,"275":2,"286":1,"290":1,"291":4,"294":1,"308":1,"316":2,"320":1,"321":1,"322":1,"326":1,"327":2,"331":1,"332":7}}],["fragmentation",{"2":{"18":1}}],["fraudulent",{"2":{"35":1,"130":2}}],["fraud",{"0":{"130":1,"136":1},"2":{"12":1,"35":1,"40":1,"63":1,"90":2,"113":2,"116":1,"123":1,"125":2,"126":1,"130":7,"132":1,"136":1,"166":1,"232":1,"238":1,"241":1,"256":1,"279":1,"319":1}}],["frameworks",{"2":{"14":1,"16":1,"20":1}}],["framework",{"0":{"5":1},"1":{"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1},"2":{"5":1,"6":1,"18":2,"19":1,"20":1,"23":2,"25":1,"26":1,"31":3,"35":1,"40":1,"64":1,"86":1,"88":1,"217":1,"255":1}}],["five",{"2":{"313":2,"332":1}}],["fields",{"2":{"282":1}}],["field",{"2":{"209":1}}],["fill",{"2":{"329":1}}],["filter",{"2":{"192":1}}],["file",{"0":{"329":1},"2":{"154":1,"192":5,"208":1,"209":1,"210":1,"211":2,"227":1,"231":1,"248":2,"281":1,"285":1,"286":4,"288":2,"294":1,"317":4,"327":1,"328":1,"329":2}}],["files",{"2":{"3":1,"95":2,"141":1,"154":1,"208":1,"266":1,"317":2,"329":1}}],["finished",{"2":{"154":2,"266":1}}],["finish",{"2":{"143":1,"150":1}}],["finalizing",{"2":{"263":1}}],["finalized",{"2":{"113":1,"263":1}}],["final",{"2":{"80":2,"323":1}}],["finding",{"2":{"169":1,"197":1,"205":1}}],["find",{"2":{"0":1,"4":1,"21":1,"96":1,"130":1,"136":1,"165":1,"192":1,"195":1,"202":1,"210":1,"255":3,"271":1,"273":1,"290":1,"291":1,"331":1,"332":1}}],["fit",{"2":{"30":1,"64":1}}],["fixed",{"2":{"85":1,"188":1,"192":1}}],["fix",{"2":{"29":1,"166":1}}],["fixing",{"2":{"2":1}}],["firstly",{"2":{"248":1}}],["first",{"0":{"209":1},"2":{"14":1,"16":1,"17":1,"23":1,"96":1,"120":2,"127":2,"138":1,"141":1,"149":1,"153":1,"157":1,"164":1,"177":1,"182":1,"191":1,"192":2,"214":1,"217":1,"222":1,"225":1,"228":1,"230":1,"262":1,"265":1,"268":1,"272":1,"286":1,"291":1,"297":1,"304":1,"305":1,"307":1,"316":2,"322":1,"327":2,"329":1}}],["firepower",{"2":{"13":1}}],["focus",{"2":{"250":1}}],["focused",{"2":{"19":1}}],["footprint",{"2":{"165":1}}],["folders",{"2":{"196":1,"204":1}}],["folder",{"2":{"147":1,"151":1}}],["follows",{"2":{"78":1,"116":1}}],["follow",{"2":{"24":1,"161":1,"164":2,"191":1,"195":1,"202":1,"264":1,"271":1,"290":1,"300":1,"312":1,"331":1}}],["following",{"2":{"1":1,"19":1,"59":2,"121":1,"122":1,"144":1,"146":1,"147":1,"150":1,"151":1,"154":4,"155":1,"157":1,"162":1,"167":1,"169":2,"172":1,"173":1,"174":1,"175":1,"177":1,"178":1,"191":1,"192":2,"203":1,"205":1,"208":1,"211":1,"213":2,"222":2,"225":2,"228":1,"230":1,"231":2,"232":1,"234":1,"235":1,"245":2,"248":1,"254":1,"258":1,"264":1,"278":1,"279":1,"283":1,"290":1,"291":1,"297":1,"312":1,"313":1,"315":1,"316":1,"319":1,"320":1,"321":2,"323":1,"326":1,"327":3,"328":3,"329":1,"331":1,"332":5}}],["four",{"2":{"35":1}}],["foundation",{"2":{"316":1}}],["foundational",{"2":{"14":1}}],["foundryup",{"2":{"262":1}}],["foundry",{"0":{"143":1,"261":1},"2":{"143":3,"153":3,"154":1,"261":1,"266":1,"316":1}}],["found",{"2":{"5":1,"25":1,"116":1,"165":1,"169":1,"203":1,"233":1,"250":2,"286":1,"291":1,"332":1}}],["fond",{"2":{"10":1}}],["forum",{"2":{"78":1}}],["format",{"2":{"248":2,"327":1,"328":2}}],["form",{"2":{"29":1,"96":1}}],["forge",{"2":{"18":1,"154":3,"155":1,"266":1}}],["forget",{"2":{"15":1,"116":1,"308":1}}],["forefront",{"2":{"18":1}}],["forward",{"2":{"5":1,"20":1,"332":1}}],["forking",{"0":{"136":1}}],["forks",{"2":{"18":1}}],["fork",{"2":{"2":3,"117":1,"127":3,"136":1,"156":1}}],["for",{"0":{"9":1,"146":1,"168":1},"1":{"10":1,"11":1,"12":1,"13":1,"169":1,"170":1},"2":{"0":1,"2":1,"3":1,"4":1,"5":5,"7":1,"8":7,"11":1,"13":1,"14":4,"15":1,"16":2,"17":1,"18":2,"19":1,"20":1,"22":1,"23":4,"24":2,"25":2,"26":3,"27":5,"28":1,"29":1,"30":1,"31":2,"34":4,"35":4,"38":1,"39":3,"40":1,"64":2,"75":1,"86":2,"93":2,"96":3,"115":1,"116":1,"117":1,"118":2,"121":4,"122":1,"125":2,"126":1,"127":3,"132":1,"136":1,"138":1,"139":4,"142":1,"145":1,"148":1,"152":1,"153":1,"154":2,"158":1,"159":9,"161":1,"162":1,"164":4,"165":2,"166":1,"175":1,"176":1,"177":1,"178":1,"179":1,"183":1,"184":1,"186":2,"189":2,"192":4,"195":1,"197":3,"198":1,"201":2,"206":2,"208":3,"209":2,"217":1,"226":2,"228":2,"231":5,"232":1,"241":1,"246":1,"249":1,"250":3,"252":1,"254":1,"255":1,"257":1,"266":1,"270":1,"273":1,"275":3,"279":1,"283":1,"286":2,"294":4,"305":3,"311":4,"312":1,"313":5,"315":6,"316":1,"317":6,"320":3,"321":4,"322":2,"324":1,"325":1,"326":3,"327":6,"328":10,"329":2,"332":4,"333":1}}],["rly",{"2":{"247":2,"249":1,"250":2}}],["r",{"2":{"175":2,"177":1,"179":1,"196":1,"204":1,"272":2,"327":2,"332":1}}],["right",{"2":{"165":1,"246":1,"272":1,"313":1,"329":1}}],["risk",{"2":{"34":1}}],["rs",{"2":{"164":1}}],["rf",{"2":{"142":1,"151":1,"196":1,"204":1,"233":1}}],["rm",{"2":{"142":2,"174":2,"196":1,"204":1,"233":1,"294":1}}],["rpcuser",{"2":{"152":1}}],["rpcuser=rpcuser",{"2":{"145":1,"146":1,"147":4,"148":2}}],["rpcpass",{"2":{"152":1}}],["rpcpassword=rpcpass",{"2":{"145":1,"146":1,"147":4,"148":2}}],["rpcport=18332",{"2":{"145":1,"146":1,"147":4,"148":2}}],["rpc",{"0":{"122":1},"2":{"122":5,"156":6,"157":3,"167":1,"179":2,"192":2,"195":1,"208":2,"209":4,"235":1,"244":1,"248":2,"266":4,"267":2,"269":1,"270":2,"271":1,"272":1,"282":2,"294":1,"299":1,"301":1}}],["rc0",{"2":{"241":1}}],["rc3",{"2":{"90":1,"93":1}}],["rc1",{"2":{"90":2,"93":1}}],["rc",{"2":{"90":1,"93":1}}],["routing",{"2":{"320":1}}],["routines",{"2":{"121":2}}],["routed",{"2":{"275":1,"286":1}}],["rootcodespace",{"2":{"295":1}}],["roots",{"2":{"130":1}}],["root",{"2":{"127":1,"143":1,"147":2,"222":1,"225":1,"248":2}}],["roadmap",{"2":{"15":2,"20":1,"35":1}}],["roll",{"0":{"16":1,"19":1},"1":{"17":1,"18":1,"19":1,"20":1},"2":{"16":1,"17":2,"19":1,"20":3,"22":1,"74":1}}],["rollmint",{"2":{"5":1}}],["rollup",{"0":{"5":1,"13":1,"37":1,"38":1,"41":1,"48":1,"50":1,"57":1,"59":1,"68":1,"77":1,"84":1,"99":1,"102":1,"107":1,"108":1,"109":1,"110":1,"137":1,"152":1,"157":1,"159":1,"169":1,"180":1,"193":1,"197":1,"198":1,"200":1,"203":1,"206":1,"212":1,"213":1,"215":1,"216":1,"230":1,"231":1,"233":1,"241":1,"252":1,"253":1,"273":1,"274":1,"277":1,"278":1,"289":1,"291":1,"293":1,"294":1,"295":1,"298":1,"300":1,"302":1,"305":1,"309":1},"1":{"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"60":1,"61":1,"62":1,"63":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":2,"154":2,"155":2,"156":2,"157":2,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1,"176":1,"177":1,"178":1,"179":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1,"194":1,"195":1,"196":1,"197":1,"198":2,"199":1,"201":1,"202":1,"203":1,"204":2,"205":2,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1,"216":1,"217":2,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":2,"235":2,"236":2,"237":1,"275":1,"276":1,"277":1,"278":2,"279":2,"280":1,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1,"289":1,"290":2,"291":2,"292":2,"294":1,"295":1,"296":2,"297":2,"298":2,"299":2,"300":2,"301":2,"303":1,"304":1,"306":1,"307":1,"308":1,"309":1,"310":1},"2":{"5":1,"8":1,"12":1,"14":5,"16":1,"18":2,"20":2,"23":2,"24":1,"25":1,"28":1,"31":1,"35":4,"37":1,"38":2,"42":3,"45":1,"48":1,"49":1,"51":2,"60":1,"61":1,"70":3,"71":1,"72":1,"76":1,"78":1,"81":1,"82":2,"85":1,"99":1,"102":2,"104":1,"107":3,"108":3,"109":1,"113":3,"115":1,"116":1,"117":2,"118":1,"121":2,"122":5,"123":3,"125":1,"126":2,"127":3,"129":3,"132":2,"136":5,"138":1,"144":1,"152":1,"157":1,"158":2,"159":1,"169":4,"170":1,"180":1,"188":3,"189":2,"190":1,"191":1,"192":4,"193":2,"195":1,"196":1,"197":4,"198":1,"199":2,"201":2,"202":1,"203":2,"204":1,"205":2,"206":2,"212":1,"214":2,"217":6,"228":1,"231":1,"233":2,"237":1,"238":2,"241":2,"245":1,"254":2,"255":8,"257":2,"263":2,"265":1,"272":1,"273":1,"275":2,"290":1,"291":2,"292":1,"293":1,"294":4,"295":2,"298":1,"300":1,"301":1,"302":1,"304":3,"305":1,"309":1,"310":1,"311":2,"331":2,"332":2}}],["rollups",{"0":{"23":1,"111":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1},"2":{"3":1,"5":2,"6":1,"8":6,"13":6,"14":4,"16":2,"18":3,"22":1,"23":6,"24":1,"25":1,"26":2,"29":3,"30":2,"31":5,"35":8,"36":1,"39":4,"46":1,"47":2,"59":1,"63":1,"64":3,"74":1,"83":2,"86":1,"111":1,"125":1,"127":3,"129":2,"131":1,"138":2,"139":6,"255":1,"256":1,"295":1}}],["rollkitheight=1",{"2":{"309":1}}],["rollkitheight=11",{"2":{"263":1}}],["rollkit",{"0":{"0":1,"5":1,"9":1,"14":1,"16":1,"23":1,"26":1,"27":1,"30":1,"31":1,"32":1,"35":1,"36":1,"40":1,"64":1,"86":1,"88":1,"113":1,"124":1,"171":1,"230":1,"232":1,"257":1,"262":1,"279":1,"318":1,"319":1},"1":{"1":1,"2":1,"3":1,"4":1,"6":1,"7":1,"8":1,"9":1,"10":2,"11":2,"12":2,"13":2,"14":1,"15":1,"17":1,"18":1,"19":1,"20":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":2,"34":2,"35":1,"36":1,"37":2,"38":2,"39":2,"40":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"87":1,"88":1,"89":2,"90":2,"91":2,"92":2,"93":2,"94":2,"95":1,"96":1,"97":1,"98":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":2,"126":2,"127":2,"128":1,"129":1,"130":1,"131":1,"172":1,"173":1,"174":1,"175":1,"258":1,"259":1,"260":1,"261":1,"262":1,"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1,"319":1},"2":{"0":2,"3":3,"5":6,"6":3,"8":3,"9":3,"10":1,"11":1,"12":1,"13":4,"14":8,"15":6,"16":2,"17":2,"18":8,"19":3,"20":3,"22":3,"23":6,"24":2,"26":3,"27":3,"28":2,"29":4,"30":2,"31":4,"35":8,"36":1,"37":2,"38":2,"40":3,"59":1,"63":3,"64":4,"66":2,"67":2,"74":3,"75":3,"76":1,"86":1,"87":3,"88":1,"90":6,"91":1,"92":1,"93":2,"97":1,"113":1,"115":1,"116":6,"117":1,"118":4,"121":3,"122":1,"123":2,"124":1,"126":1,"127":1,"129":1,"130":6,"131":1,"138":6,"139":5,"152":5,"158":4,"159":2,"166":4,"167":1,"168":1,"169":1,"170":1,"175":2,"176":1,"184":1,"187":1,"188":5,"195":2,"197":1,"199":1,"202":2,"203":1,"217":3,"230":1,"232":3,"233":1,"241":5,"244":1,"254":3,"255":2,"256":3,"257":2,"258":1,"259":1,"260":2,"263":2,"266":1,"270":1,"271":2,"272":1,"275":2,"279":3,"290":1,"291":1,"293":1,"294":3,"295":1,"298":1,"299":3,"301":4,"302":1,"304":1,"305":2,"307":1,"308":2,"309":1,"311":3,"318":1,"319":3,"331":1,"332":4}}],["rules",{"2":{"313":2}}],["rule",{"2":{"127":3}}],["rustc",{"2":{"164":1}}],["rustup",{"0":{"164":1},"2":{"164":4}}],["rust",{"0":{"163":1},"1":{"164":1},"2":{"10":1,"159":1,"164":5,"174":3}}],["runs",{"2":{"230":1,"295":1,"296":1}}],["running",{"0":{"145":1,"152":1,"230":1,"270":1,"289":1,"295":1,"332":1},"1":{"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"153":1,"154":1,"155":1,"156":1,"157":1,"271":1,"272":1,"273":1,"290":1,"291":1,"292":1,"296":1,"297":1,"298":1,"299":1,"300":1,"301":1},"2":{"5":1,"24":1,"63":1,"92":1,"126":1,"144":2,"147":1,"152":1,"154":1,"156":1,"167":1,"183":1,"187":1,"188":1,"190":1,"191":1,"193":1,"195":2,"197":1,"199":1,"201":1,"202":2,"212":1,"222":1,"225":1,"228":2,"230":1,"231":1,"233":4,"240":1,"244":2,"256":1,"257":1,"258":1,"263":1,"268":1,"270":1,"271":1,"290":1,"294":1,"295":1,"297":1,"298":1,"301":1,"306":1,"331":2,"333":1}}],["run",{"0":{"195":1,"202":1,"241":1,"242":1,"244":1,"259":1,"290":1,"308":1,"330":1,"331":1},"1":{"243":1,"244":1,"331":1,"332":1,"333":1},"2":{"1":2,"12":1,"23":1,"28":1,"29":1,"31":1,"63":1,"95":2,"118":1,"121":3,"138":1,"142":1,"143":1,"146":1,"147":1,"150":1,"153":1,"154":1,"155":1,"157":1,"159":1,"164":1,"167":1,"172":1,"173":1,"174":3,"175":2,"187":1,"191":1,"195":4,"197":1,"198":1,"202":4,"206":1,"209":1,"213":1,"217":2,"221":1,"222":2,"224":1,"225":2,"226":2,"228":1,"230":3,"231":3,"232":1,"233":2,"241":3,"244":1,"256":1,"257":1,"258":1,"259":1,"266":1,"271":3,"275":1,"278":1,"279":1,"290":2,"294":1,"297":1,"308":2,"311":1,"315":2,"316":1,"319":1,"323":1,"331":2,"332":1}}],["ram",{"2":{"140":1,"228":1}}],["raw",{"2":{"122":1,"169":1,"179":1,"184":1,"192":1,"197":1,"203":1,"226":1,"233":1,"235":1,"241":1,"244":1,"291":1,"332":3}}],["rand",{"2":{"152":1,"167":1,"195":1,"202":1,"230":1,"271":1,"290":1,"331":1}}],["ran",{"2":{"121":1,"183":1,"198":1,"206":1,"266":1,"295":1,"316":1}}],["range",{"2":{"13":1,"21":1,"88":1,"255":1,"327":1}}],["rabbit",{"2":{"40":1}}],["rather",{"2":{"35":2}}],["ratio",{"2":{"25":1}}],["rapidly",{"2":{"9":2,"18":1}}],["rapid",{"2":{"5":1,"31":1}}],["raise",{"2":{"4":1}}],["revealed",{"2":{"333":1}}],["review",{"2":{"2":1}}],["reward",{"2":{"327":3,"328":4,"329":1}}],["reiterate",{"2":{"299":1}}],["rename",{"2":{"222":1,"225":1}}],["req",{"2":{"211":4,"288":3}}],["requisites",{"0":{"239":1,"312":1},"1":{"240":1}}],["requirements",{"0":{"240":1}}],["required",{"2":{"208":1,"255":1,"286":1,"308":1}}],["require",{"2":{"35":1,"130":1,"210":1,"308":1}}],["requires",{"2":{"11":1,"34":2,"87":1,"95":3,"127":2,"144":1,"174":1,"190":1}}],["requests",{"2":{"96":1}}],["request",{"0":{"210":1},"2":{"2":2,"179":1,"209":2,"211":4,"288":4}}],["register",{"2":{"179":3,"295":1}}],["registry",{"2":{"174":2,"192":3}}],["regtest",{"2":{"144":1,"145":1,"146":1,"147":4,"148":2,"151":1}}],["regular",{"2":{"15":1}}],["refactored",{"2":{"328":1}}],["refresh",{"2":{"315":1}}],["refused",{"2":{"136":1}}],["refers",{"2":{"127":1}}],["references",{"2":{"326":1}}],["reference",{"2":{"0":1,"3":1,"75":1,"175":1,"286":1}}],["retrieving",{"2":{"270":1}}],["retriever",{"2":{"227":1}}],["retrieve",{"2":{"121":1,"183":1,"270":1}}],["retrieveloop",{"2":{"121":3}}],["retrieveblocks",{"2":{"27":1,"117":1}}],["retrieveblock",{"2":{"27":1}}],["returned",{"2":{"210":1}}],["return",{"2":{"154":1,"188":1,"192":2,"222":1,"225":1,"247":1,"250":1,"252":1,"253":1,"275":1,"283":2,"286":5,"288":6,"327":7,"328":7}}],["returns",{"2":{"154":1,"208":1,"209":3,"211":2,"282":1,"286":1}}],["returning",{"2":{"120":1,"209":1,"288":1}}],["relayed",{"2":{"252":1,"253":1}}],["relayers",{"2":{"246":2}}],["relayer",{"0":{"246":1,"247":1,"248":1,"249":1},"1":{"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1},"2":{"238":1,"246":4,"247":2,"248":3}}],["relaying",{"0":{"246":1,"251":1},"1":{"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1},"2":{"249":1,"251":1}}],["relay",{"2":{"192":1,"244":1,"245":2,"253":1}}],["relayurl",{"2":{"192":1}}],["related",{"2":{"75":1}}],["reload",{"2":{"164":1}}],["rely",{"2":{"125":1}}],["released",{"2":{"16":1,"181":1}}],["release",{"2":{"15":1,"91":2,"92":1,"93":2,"116":1,"172":1,"222":1,"225":1}}],["relevantly",{"2":{"2":1}}],["recommend",{"2":{"165":1,"301":1,"312":1}}],["recommended",{"2":{"126":1,"228":1}}],["record",{"2":{"130":1,"179":2}}],["recipecountkey",{"2":{"286":9}}],["recipekey",{"2":{"286":2,"288":1}}],["recipesd",{"2":{"291":1}}],["recipestore",{"2":{"288":2}}],["recipes",{"0":{"278":1,"287":1,"288":1,"289":1,"291":1,"292":1},"1":{"288":1,"290":1,"291":1,"292":1},"2":{"275":3,"278":8,"281":13,"283":3,"285":7,"286":15,"288":19,"290":1,"291":7,"292":2}}],["recipe",{"0":{"274":1,"285":1},"1":{"275":1,"276":1,"277":1,"278":1,"279":1,"280":1,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1,"289":1,"290":1,"291":1,"292":1},"2":{"60":1,"70":1,"255":1,"281":5,"283":8,"285":3,"286":21,"288":11,"291":2,"292":1,"312":1}}],["receipts",{"2":{"266":2}}],["receiving",{"2":{"238":1}}],["receiver=",{"2":{"269":1}}],["receiver",{"2":{"252":2,"253":1,"269":1}}],["received",{"2":{"121":2,"222":2,"225":2,"236":1,"249":1}}],["receive",{"2":{"35":1,"85":1,"113":1,"121":2,"222":1,"225":1}}],["recent",{"2":{"15":1,"19":1}}],["reuse",{"2":{"35":1,"123":1,"320":1}}],["react",{"2":{"192":1}}],["reached",{"2":{"328":1}}],["reach",{"2":{"13":1,"17":1,"328":1}}],["real",{"2":{"127":2}}],["reality",{"2":{"18":1,"24":1,"25":1}}],["readme",{"2":{"317":2}}],["reading",{"2":{"27":1}}],["reader",{"2":{"27":2}}],["read",{"2":{"27":3,"85":1,"136":1,"138":1,"156":1,"157":1,"231":1,"275":2,"315":1,"317":1,"332":1}}],["ready",{"2":{"13":1,"29":1,"40":1,"152":1,"158":1,"191":1,"192":1,"195":1,"202":1,"228":1,"231":1,"286":1,"290":1,"331":2}}],["reasons",{"2":{"132":1}}],["reason",{"2":{"7":1}}],["remember",{"2":{"147":1,"327":1}}],["remainder",{"2":{"175":1,"264":1}}],["remaining",{"2":{"130":1,"141":1}}],["remains",{"2":{"14":1}}],["remain",{"2":{"13":1}}],["removeguess",{"2":{"328":1}}],["remove",{"2":{"8":1,"196":1,"204":1,"328":1}}],["rebuild",{"2":{"10":1}}],["reducing",{"2":{"8":1}}],["reduce",{"0":{"301":1},"2":{"8":1,"18":1,"35":1}}],["respective",{"2":{"294":1,"320":1}}],["response",{"0":{"210":1},"2":{"179":1,"209":5,"211":3,"213":1,"222":2,"225":2,"231":1,"236":1,"281":1,"288":4,"332":3}}],["responsible",{"2":{"121":1,"127":1,"208":1,"209":1,"317":1,"320":1,"321":1}}],["res=0",{"2":{"263":1}}],["result",{"2":{"136":1,"154":1,"272":2}}],["results",{"2":{"136":1}}],["resolving",{"2":{"191":1}}],["resolved",{"2":{"166":1}}],["resolve",{"2":{"39":1,"179":1,"222":2,"225":2,"283":1}}],["resource",{"2":{"126":1}}],["resources",{"2":{"7":1,"33":1,"34":1,"35":2,"255":1}}],["restore",{"2":{"249":2}}],["restarted",{"2":{"301":1}}],["restarting",{"0":{"151":1,"198":1,"206":1,"300":1},"2":{"233":1,"299":1,"301":1}}],["restart",{"0":{"212":1,"293":1,"294":1,"295":1,"301":1},"1":{"294":1,"295":1,"296":2,"297":2,"298":2,"299":2,"300":2,"301":2},"2":{"60":1,"70":1,"159":1,"164":1,"167":1,"198":4,"206":5,"212":1,"217":1,"255":1,"257":1,"275":1,"290":1,"293":1,"294":11,"295":2,"296":1,"300":1,"311":1,"331":1}}],["restrict",{"2":{"37":1}}],["restricted",{"2":{"7":1,"33":1}}],["rest",{"2":{"35":1,"192":2,"294":1}}],["resistance",{"0":{"46":1,"55":1,"82":1},"2":{"23":1,"46":1,"127":1}}],["research",{"2":{"16":1,"23":1,"24":1,"26":1,"29":1,"118":1}}],["repeated",{"2":{"288":1}}],["representing",{"2":{"108":1}}],["represents",{"2":{"7":1}}],["replay",{"2":{"42":1,"107":1,"129":1}}],["replace",{"2":{"9":1,"116":2,"150":1,"166":2,"232":1,"241":1,"248":1,"279":1,"288":1,"319":1,"327":1,"328":1}}],["replacement",{"2":{"5":1,"115":1,"166":1,"332":1}}],["replicate",{"2":{"16":1}}],["repositories",{"2":{"333":1}}],["repository",{"0":{"304":1},"2":{"0":1,"1":1,"2":2,"4":1,"116":2,"166":1,"260":1,"265":1,"304":1,"307":2,"333":1}}],["reports",{"2":{"96":1}}],["repo",{"0":{"260":1,"307":1},"2":{"15":1,"169":1,"189":1,"203":1,"291":1,"332":1}}],["re",{"0":{"297":1},"2":{"2":1,"5":1,"15":1,"16":3,"23":1,"27":1,"30":2,"33":1,"40":2,"63":1,"64":3,"96":1,"126":1,"152":1,"158":1,"191":1,"192":1,"195":1,"199":1,"202":1,"206":1,"208":1,"214":1,"228":1,"235":1,"244":1,"255":1,"256":1,"272":1,"286":1,"290":1,"295":2,"331":2}}],["t8112",{"2":{"222":1,"225":1}}],["ts",{"2":{"192":3}}],["tsxendpointoptions=",{"2":{"192":1}}],["tsxexport",{"2":{"192":2}}],["tsximport",{"2":{"192":1}}],["tsxchainrecords",{"2":{"192":1}}],["tsxconst",{"2":{"192":1}}],["tsx",{"2":{"192":4,"268":1}}],["tcp",{"2":{"186":2,"235":2,"236":2,"252":2,"253":3,"294":1,"299":1,"301":1}}],["txs",{"2":{"263":1}}],["txs=0",{"2":{"263":1}}],["txt",{"2":{"183":1}}],["txhash",{"2":{"175":2,"179":1,"235":1,"332":5}}],["tx",{"2":{"175":2,"176":2,"177":1,"178":1,"179":2,"235":3,"250":4,"252":2,"253":1,"281":4,"291":1,"295":2,"329":1,"332":7}}],["txindex=1",{"2":{"145":1}}],["two",{"2":{"132":1,"250":1,"325":1}}],["tweet",{"2":{"25":1}}],["tbd",{"2":{"53":1,"54":1,"55":1,"56":1,"57":1,"58":1}}],["title",{"2":{"328":2,"329":1}}],["tia",{"2":{"270":1,"295":1,"301":2}}],["tidy",{"2":{"166":1,"232":1,"241":1,"279":1,"319":1}}],["ticket",{"2":{"159":1,"217":1,"275":1,"311":1}}],["tip",{"2":{"30":1,"64":1,"153":1,"159":1,"164":1,"167":1,"195":1,"202":1,"217":1,"222":1,"225":1,"231":1,"233":2,"235":2,"241":1,"244":1,"250":1,"252":1,"257":1,"268":1,"270":1,"271":1,"275":1,"290":1,"311":1,"331":1}}],["timezone",{"2":{"333":1}}],["timeout",{"2":{"235":1,"248":5,"332":2}}],["timestamp",{"2":{"179":1,"235":1,"332":1}}],["times",{"2":{"158":2,"328":2}}],["timer",{"2":{"121":3}}],["time",{"0":{"34":1},"2":{"7":1,"9":1,"18":1,"25":1,"34":1,"35":2,"127":2,"158":5,"176":1,"195":1,"218":1,"222":6,"225":6,"317":1,"326":1,"327":2,"328":2,"329":1,"333":1}}],["talk",{"2":{"246":1}}],["talking",{"2":{"246":1}}],["tab",{"2":{"231":1}}],["table",{"0":{"22":1,"65":1,"76":1},"1":{"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1},"2":{"18":1}}],["targeted",{"2":{"312":1}}],["target=",{"2":{"174":4}}],["target",{"2":{"164":2,"172":1,"174":2}}],["tar",{"2":{"141":1,"142":4}}],["tasks",{"2":{"141":1}}],["tags",{"2":{"166":1}}],["tag",{"2":{"96":1}}],["taken",{"2":{"179":1}}],["take",{"2":{"177":1,"192":1,"315":1,"329":1}}],["takes",{"2":{"35":1,"323":1}}],["taking",{"2":{"38":1}}],["tailored",{"2":{"37":1}}],["taproot",{"0":{"25":1},"2":{"24":1,"25":5,"27":3,"139":1}}],["typical",{"2":{"132":1}}],["typically",{"2":{"127":1}}],["typed",{"2":{"295":1}}],["type=hash",{"2":{"177":1,"332":1}}],["type=volume",{"2":{"174":4}}],["type=light",{"2":{"167":1,"195":1,"202":1,"271":1,"290":1,"331":1}}],["type",{"0":{"285":1},"2":{"39":1,"192":1,"209":1,"211":1,"234":4,"235":2,"248":4,"250":4,"281":1,"283":1,"286":1,"297":1,"317":1,"325":3,"327":1,"328":3,"332":2}}],["types",{"0":{"13":1,"124":1,"210":1,"280":1,"281":1,"324":1,"325":1},"1":{"125":1,"126":1,"127":1,"281":1,"282":2,"283":1,"325":1},"2":{"18":1,"192":1,"208":1,"211":6,"250":4,"281":3,"283":4,"285":1,"286":9,"288":9,"315":1,"324":1,"327":8,"328":9,"329":1}}],["typos",{"2":{"2":1}}],["trigger",{"2":{"322":1}}],["tries",{"2":{"313":2,"328":2}}],["triple",{"2":{"250":1}}],["trust",{"0":{"49":1,"58":1,"85":1},"2":{"35":1,"39":1,"113":1,"126":1,"130":1,"238":2,"245":2,"249":2}}],["truly",{"2":{"18":1}}],["true",{"2":{"18":1,"34":1,"152":2,"192":4,"248":2,"327":1}}],["tracking",{"2":{"321":1}}],["track",{"2":{"286":1,"297":1}}],["transient",{"2":{"188":1}}],["transitions",{"2":{"322":1}}],["transition",{"2":{"130":2}}],["transferring",{"2":{"231":1}}],["transfer",{"0":{"252":1,"253":1},"2":{"178":2,"250":11,"251":1,"252":5,"253":4,"269":1}}],["transfers",{"2":{"39":1,"231":1,"321":2}}],["transact",{"2":{"136":1,"250":4}}],["transaction",{"0":{"132":1,"133":1,"134":1},"1":{"133":1,"134":1,"135":1,"136":1},"2":{"25":2,"51":1,"67":1,"75":1,"76":1,"85":1,"105":1,"109":1,"111":1,"122":1,"127":1,"132":1,"136":6,"175":2,"177":1,"188":2,"235":5,"250":5,"252":1,"253":1,"286":1,"291":2,"295":2,"320":1,"332":9}}],["transactions",{"0":{"235":1},"2":{"25":1,"27":1,"35":2,"42":1,"45":1,"63":1,"78":2,"80":2,"81":1,"101":3,"103":1,"106":1,"107":1,"109":1,"110":1,"113":1,"120":2,"122":2,"123":1,"127":2,"129":1,"130":2,"132":1,"136":2,"156":1,"157":1,"176":1,"254":1,"256":1,"275":1,"291":1,"321":1,"322":1,"332":3}}],["transparency",{"2":{"15":1}}],["traditional",{"2":{"8":1}}],["tradeoffs",{"2":{"30":1,"35":1,"64":1}}],["trade",{"2":{"7":1,"31":1,"34":1,"35":1}}],["treated",{"2":{"14":1}}],["treats",{"2":{"14":1}}],["trying",{"2":{"167":1,"290":1,"331":1,"332":1}}],["try",{"2":{"10":1,"96":1,"155":1,"179":1,"327":1,"328":2,"332":3}}],["t",{"2":{"8":1,"15":1,"116":1,"125":1,"154":2,"164":2,"230":1,"241":1,"259":1,"295":1,"297":1,"308":2,"313":1,"328":2,"332":1}}],["turn",{"2":{"254":1}}],["turned",{"2":{"7":1}}],["tutorial",{"0":{"137":1,"189":1,"238":1},"1":{"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"190":1,"191":1,"192":1,"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1},"2":{"138":2,"152":1,"153":1,"159":5,"161":1,"162":2,"164":1,"165":1,"167":2,"175":1,"182":1,"189":2,"190":2,"191":1,"193":3,"197":1,"199":1,"201":4,"209":2,"214":2,"217":2,"228":2,"231":2,"237":1,"238":1,"257":1,"264":1,"270":1,"273":1,"275":6,"276":1,"294":2,"302":1,"305":1,"308":1,"310":1,"311":5,"312":4,"315":1,"317":1,"333":1}}],["tutorials",{"0":{"69":1,"255":1},"1":{"70":1,"71":1,"72":1,"256":1},"2":{"0":1,"3":1,"13":1,"30":1,"40":1,"59":2,"63":1,"64":1,"159":1,"193":1,"201":1,"255":3,"256":1,"312":1}}],["tuned",{"2":{"22":1}}],["teminal",{"2":{"291":1}}],["template",{"2":{"191":2,"317":1}}],["temporary",{"2":{"166":1}}],["tendermint",{"2":{"250":8}}],["teach",{"2":{"228":1,"293":1}}],["teamwork",{"2":{"19":1}}],["team",{"2":{"13":1,"14":1,"15":2,"159":1,"174":1}}],["text",{"2":{"209":3,"210":2,"211":3,"248":1,"283":1}}],["tether",{"2":{"129":1}}],["testutil",{"2":{"317":1}}],["testapp",{"2":{"272":1}}],["tested",{"2":{"155":1,"157":1,"228":2,"305":1}}],["testdecrement",{"2":{"154":2}}],["testincrement",{"2":{"154":2}}],["testing",{"2":{"93":1,"228":1,"317":1}}],["testgetcount",{"2":{"154":2}}],["tests",{"0":{"154":1,"173":1},"2":{"95":1,"154":1,"173":1}}],["test",{"2":{"28":2,"95":1,"115":1,"142":1,"154":10,"155":1,"156":1,"157":2,"167":1,"173":1,"175":2,"178":1,"179":2,"192":1,"217":1,"228":1,"234":1,"235":2,"248":3,"252":1,"281":1,"290":1,"291":1,"297":1,"329":1,"331":2,"332":6}}],["testnets",{"2":{"192":1}}],["testnet",{"0":{"59":1,"92":1,"201":1,"242":1,"244":1},"1":{"60":1,"61":1,"62":1,"63":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"243":1,"244":1},"2":{"6":1,"59":1,"89":1,"92":1,"138":1,"156":1,"159":1,"167":1,"192":1,"193":1,"203":3,"205":1,"206":3,"212":1,"217":2,"228":3,"238":1,"244":3,"248":2,"250":6,"251":1,"252":2,"253":1,"255":1,"270":3,"271":1,"273":1,"295":2}}],["telegram",{"2":{"17":1,"63":1,"159":1,"217":1,"256":1,"275":1,"311":1}}],["termination",{"2":{"250":8}}],["terminal",{"2":{"146":1,"172":1,"183":1,"191":1,"192":1,"197":1,"209":2,"222":1,"225":1,"226":1,"231":1,"241":1,"244":1,"259":1,"262":1,"269":1,"273":1,"298":1,"308":1,"315":3,"333":1}}],["terminology",{"0":{"100":1},"1":{"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1},"2":{"99":1}}],["terms",{"2":{"99":1,"246":1}}],["term",{"2":{"9":1}}],["technical",{"2":{"3":1,"8":1}}],["tlsv1",{"2":{"164":1}}],["tls",{"2":{"152":1}}],["tl",{"0":{"6":1,"17":1,"24":1}}],["thu",{"2":{"222":1,"225":1}}],["thing",{"2":{"308":1}}],["things",{"2":{"228":1,"327":1,"328":1,"332":1}}],["think",{"2":{"39":1,"218":1,"316":1}}],["this",{"0":{"296":1},"2":{"1":1,"2":2,"4":1,"5":1,"7":3,"8":1,"13":2,"14":2,"16":2,"18":1,"19":1,"20":1,"21":1,"26":1,"27":1,"29":1,"34":1,"35":1,"38":1,"43":1,"45":1,"48":1,"52":1,"75":1,"78":2,"79":1,"81":1,"82":1,"85":1,"91":1,"93":1,"96":1,"113":1,"115":1,"117":1,"120":1,"123":1,"127":1,"130":2,"136":1,"138":2,"139":1,"143":1,"144":1,"147":2,"153":1,"154":1,"155":1,"159":5,"161":1,"162":1,"164":1,"165":1,"166":1,"167":2,"169":2,"170":1,"174":1,"175":1,"177":2,"179":1,"180":1,"181":2,"182":1,"188":2,"189":3,"190":2,"191":3,"192":4,"193":2,"195":3,"197":1,"201":3,"202":2,"203":2,"209":3,"211":1,"217":3,"222":3,"225":3,"228":3,"231":3,"233":2,"236":1,"238":3,"244":4,"246":1,"248":1,"249":1,"250":3,"252":3,"253":1,"254":4,"255":1,"257":3,"263":1,"264":1,"268":1,"269":1,"270":1,"271":2,"275":5,"288":1,"290":1,"291":2,"293":1,"294":2,"295":7,"296":1,"302":1,"305":3,"308":3,"309":1,"311":5,"312":3,"313":3,"315":3,"316":2,"317":1,"321":1,"323":1,"325":2,"327":5,"328":4,"329":2,"331":1,"332":7,"333":2}}],["though",{"2":{"332":1}}],["thousands",{"2":{"25":1}}],["those",{"2":{"34":1,"51":1,"59":1,"312":1,"313":1}}],["thanks",{"2":{"26":1,"115":1}}],["than",{"2":{"18":1,"25":2,"27":1,"35":2,"82":1,"127":1,"188":1,"252":1,"269":1,"332":1}}],["that",{"2":{"5":2,"6":1,"7":2,"8":3,"9":1,"13":2,"14":7,"15":1,"16":5,"18":4,"19":2,"23":2,"25":4,"27":3,"29":2,"31":4,"33":1,"35":2,"38":1,"39":1,"59":1,"85":3,"88":1,"102":1,"107":2,"110":1,"111":1,"116":1,"117":1,"121":2,"126":1,"129":2,"130":4,"136":1,"139":2,"141":1,"142":1,"151":1,"152":1,"155":1,"156":1,"157":1,"166":1,"168":1,"169":1,"178":1,"179":2,"181":3,"188":1,"189":2,"191":1,"192":4,"193":1,"197":2,"201":1,"205":1,"208":3,"209":4,"210":1,"211":4,"217":1,"222":1,"225":1,"231":2,"235":1,"236":1,"237":1,"246":1,"249":1,"255":1,"257":1,"269":2,"275":2,"282":2,"286":1,"288":2,"291":1,"294":1,"295":5,"305":1,"313":2,"316":2,"317":2,"319":1,"322":1,"323":1,"325":2,"326":1,"327":2,"328":6,"329":1,"332":3,"333":2}}],["three",{"2":{"226":1}}],["throw",{"2":{"288":2}}],["throws",{"2":{"211":1}}],["through",{"2":{"21":1,"25":2,"35":1,"78":1,"121":3,"136":1,"139":1,"158":1,"217":1,"246":1,"270":1,"302":1}}],["throughout",{"2":{"5":1,"31":1}}],["thrives",{"2":{"14":1}}],["then",{"2":{"25":1,"82":2,"130":2,"136":1,"138":1,"156":2,"157":1,"158":1,"167":1,"192":1,"198":1,"206":1,"217":1,"233":1,"235":1,"236":1,"250":1,"252":1,"253":1,"262":1,"286":1,"290":1,"327":2,"328":3,"332":1}}],["therefore",{"2":{"18":1,"63":1,"256":1}}],["there",{"2":{"16":1,"25":1,"45":2,"81":2,"89":1,"93":1,"117":1,"130":1,"136":1,"175":1,"218":1,"246":1,"295":1,"313":2,"327":1,"332":1,"333":1}}],["they",{"2":{"9":1,"16":1,"30":1,"35":1,"39":2,"64":1,"125":2,"126":1,"136":2,"183":1,"328":1}}],["these",{"2":{"7":1,"27":2,"35":2,"80":1,"121":1,"130":2,"141":1,"142":1,"192":1,"226":1,"246":1,"250":1,"251":1,"270":1,"286":1,"322":1}}],["their",{"2":{"3":1,"7":2,"8":3,"9":1,"17":1,"18":2,"26":1,"30":1,"31":1,"35":2,"37":1,"64":1,"103":1,"111":1,"130":1,"136":2,"228":1,"313":1}}],["themselves",{"2":{"130":1}}],["them",{"2":{"2":1,"29":1,"113":1,"136":1,"161":1,"221":1,"224":1,"250":1,"275":1,"286":1,"288":1,"322":1}}],["the",{"0":{"1":1,"139":1,"146":1,"151":1,"152":1,"154":1,"155":1,"157":1,"170":1,"172":1,"184":1,"186":1,"187":1,"191":1,"192":1,"197":1,"205":1,"260":1,"262":1,"266":1,"267":1,"268":1,"269":1,"273":1,"282":1,"289":1,"291":1,"292":1,"299":1,"304":1,"307":1,"309":1,"314":1,"316":1,"320":1,"330":1,"333":1},"1":{"153":1,"154":1,"155":1,"156":1,"157":1,"198":1,"290":1,"291":1,"292":1,"315":1,"316":1,"317":1,"321":1,"331":1,"332":1,"333":1},"2":{"0":2,"1":2,"2":3,"3":3,"4":2,"5":6,"6":1,"7":3,"8":8,"9":2,"10":3,"12":1,"13":3,"14":9,"15":5,"16":4,"17":2,"18":7,"19":6,"20":7,"23":6,"24":2,"25":10,"27":13,"28":3,"29":5,"30":2,"31":6,"33":2,"34":7,"35":18,"36":1,"37":2,"38":3,"39":1,"40":4,"42":5,"44":2,"46":2,"47":2,"51":10,"59":2,"63":4,"64":4,"75":2,"78":6,"80":10,"82":15,"83":2,"85":14,"88":1,"89":1,"91":2,"92":1,"93":1,"96":3,"101":1,"103":5,"104":2,"105":2,"106":2,"107":2,"108":1,"109":1,"110":2,"112":1,"113":4,"116":7,"117":5,"118":3,"120":4,"121":14,"122":6,"123":3,"124":1,"126":1,"127":2,"129":2,"130":6,"132":2,"136":31,"138":2,"139":3,"141":3,"142":1,"143":2,"144":2,"145":1,"146":1,"147":2,"148":2,"149":4,"150":7,"151":3,"152":5,"153":4,"154":11,"155":3,"156":8,"157":12,"158":7,"159":8,"161":1,"162":1,"164":4,"165":1,"166":2,"167":4,"168":1,"169":8,"170":2,"172":3,"173":2,"174":5,"175":13,"176":2,"177":6,"178":2,"179":8,"180":1,"181":1,"182":2,"183":1,"184":3,"185":1,"186":3,"187":2,"188":22,"189":3,"190":1,"191":5,"192":14,"193":2,"195":7,"196":2,"197":8,"198":2,"199":1,"201":3,"202":5,"203":5,"204":2,"205":2,"206":2,"208":6,"209":12,"210":2,"211":14,"212":1,"213":2,"214":2,"217":4,"218":1,"221":1,"222":6,"224":1,"225":6,"226":3,"228":8,"230":7,"231":15,"232":2,"233":9,"234":1,"235":11,"236":4,"237":1,"238":4,"241":6,"244":6,"245":2,"246":7,"248":3,"249":3,"250":2,"252":4,"253":6,"254":3,"255":4,"256":4,"257":3,"258":1,"260":2,"262":1,"263":1,"264":2,"265":2,"266":4,"267":1,"268":6,"269":5,"270":7,"271":5,"272":3,"273":3,"275":7,"278":3,"279":1,"281":3,"282":3,"283":11,"285":1,"286":37,"288":11,"290":5,"291":8,"292":1,"294":11,"295":12,"296":3,"297":2,"298":1,"299":2,"300":1,"301":4,"304":2,"305":1,"307":2,"308":10,"309":1,"310":2,"311":7,"312":3,"313":19,"315":3,"316":8,"317":10,"319":4,"320":4,"321":9,"322":7,"323":4,"324":2,"325":6,"326":12,"327":24,"328":35,"329":8,"331":5,"332":44,"333":8}}],["toaddr",{"2":{"329":1}}],["tomorrow",{"2":{"328":1}}],["total",{"2":{"177":1,"179":2,"222":4,"225":4,"236":2,"252":1,"253":1,"267":1}}],["took",{"2":{"27":1}}],["too",{"2":{"15":1,"270":1}}],["tool",{"2":{"174":1,"233":1,"315":1}}],["toolchain",{"2":{"164":1}}],["toolings",{"2":{"315":1}}],["tooling",{"2":{"14":1,"38":1}}],["tools",{"0":{"94":1},"2":{"7":1,"115":1,"161":1}}],["towards",{"2":{"15":1,"29":1,"130":1,"238":1}}],["together",{"2":{"14":1,"15":1,"16":1,"18":2,"19":1,"20":3,"317":1}}],["token=eyjhbgcioijiuzi1niisinr5cci6ikpxvcj9",{"2":{"308":1}}],["token=",{"2":{"308":1}}],["token=$auth",{"2":{"294":1}}],["token``",{"2":{"308":1}}],["tokens",{"2":{"34":1,"167":1,"192":1,"228":1,"249":1,"251":1,"295":1,"297":1,"313":1}}],["token",{"0":{"252":1,"253":1},"2":{"7":1,"39":1,"231":2,"252":1,"253":1,"270":1,"272":2,"294":2,"308":4,"327":1,"328":1}}],["top",{"2":{"5":1,"130":1,"286":1,"295":1}}],["topics",{"2":{"2":1,"21":1,"255":1}}],["today",{"2":{"5":1,"23":1,"40":1,"327":1,"328":3,"332":1}}],["to",{"0":{"8":1,"27":1,"34":1,"64":1,"157":1,"158":1,"188":1,"192":1,"194":1,"201":1,"252":1,"253":1,"254":1,"278":1,"293":1},"1":{"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"195":1,"196":1,"197":1,"198":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"294":1,"295":1,"296":1,"297":1,"298":1,"299":1,"300":1,"301":1},"2":{"0":2,"1":1,"2":4,"3":1,"5":2,"6":1,"7":5,"8":6,"9":6,"10":2,"11":1,"12":1,"13":6,"14":17,"15":3,"16":9,"17":2,"18":14,"19":3,"20":5,"21":2,"23":6,"24":1,"25":7,"26":2,"27":9,"28":2,"29":7,"30":8,"31":8,"33":2,"34":6,"35":13,"36":2,"37":4,"38":4,"39":3,"40":6,"42":5,"45":2,"51":2,"59":2,"63":3,"64":9,"66":1,"70":1,"73":2,"75":1,"78":2,"80":4,"81":2,"85":1,"87":1,"88":1,"89":1,"96":4,"97":1,"99":1,"102":1,"103":1,"107":1,"110":1,"111":1,"113":1,"115":2,"116":4,"117":3,"118":2,"121":3,"123":3,"127":4,"129":2,"130":7,"132":1,"136":10,"138":8,"139":7,"141":2,"142":2,"143":1,"146":1,"147":2,"148":1,"150":3,"151":1,"152":2,"154":4,"155":3,"156":2,"157":8,"158":6,"159":4,"164":10,"165":2,"166":3,"167":5,"168":1,"169":3,"170":1,"172":2,"173":1,"174":3,"175":2,"176":4,"179":6,"180":1,"181":1,"182":1,"183":1,"186":1,"188":5,"189":5,"190":2,"191":3,"192":12,"193":1,"195":8,"196":1,"197":3,"198":3,"202":8,"203":3,"204":1,"206":4,"208":6,"209":4,"211":2,"214":2,"217":10,"218":1,"219":1,"221":1,"222":5,"224":1,"225":3,"226":5,"227":1,"228":4,"230":1,"231":8,"232":1,"233":7,"235":12,"237":3,"238":2,"241":3,"244":5,"246":3,"249":1,"250":2,"252":3,"253":2,"254":5,"255":8,"256":3,"257":5,"258":1,"259":1,"260":2,"263":4,"264":3,"265":1,"266":3,"267":1,"268":3,"269":5,"270":8,"271":8,"272":3,"273":2,"275":9,"278":2,"279":1,"281":2,"282":1,"283":5,"286":11,"288":6,"290":7,"291":4,"292":1,"293":1,"294":7,"295":12,"296":1,"297":3,"299":3,"301":2,"305":1,"308":3,"309":4,"310":1,"311":4,"312":3,"313":6,"315":3,"316":5,"317":3,"318":1,"319":1,"320":2,"321":1,"322":5,"323":1,"324":1,"325":2,"326":3,"327":9,"328":11,"329":7,"331":10,"332":18,"333":4}}]],"serializationVersion":2}';export{e as default}; diff --git a/pr-333/assets/chunks/VPLocalSearchBox.61c02a9f.js b/pr-333/assets/chunks/VPLocalSearchBox.61c02a9f.js deleted file mode 100644 index 6274da48b..000000000 --- a/pr-333/assets/chunks/VPLocalSearchBox.61c02a9f.js +++ /dev/null @@ -1,7 +0,0 @@ -import{$ as mt,h as ie,z as Ve,d as Dt,D as de,g as _e,A as Ot,j as De,E as he,al as Rt,am as Mt,o as X,b as Pt,k as A,a3 as Lt,l as W,an as zt,ao as Bt,C as Vt,c as te,n as tt,e as we,M as rt,L as at,a as ve,t as pe,ap as $t,p as jt,m as Wt,aq as nt,ar as Kt,ab as Jt,ah as Ut,_ as Ht}from"./framework.8df7efef.js";import{u as Gt,a as qt,b as Qt,c as it,d as Yt,e as Zt,w as Xt,o as xe,f as er,g as tr,h as rr}from"./theme.c87e84a0.js";const ar={root:()=>mt(()=>import("./@localSearchIndexroot.02d5a180.js"),[])};/*! -* tabbable 6.2.0 -* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE -*/var gt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Se=gt.join(","),bt=typeof Element>"u",se=bt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ae=!bt&&Element.prototype.getRootNode?function(o){var e;return o==null||(e=o.getRootNode)===null||e===void 0?void 0:e.call(o)}:function(o){return o==null?void 0:o.ownerDocument},Ce=function o(e,t){var r;t===void 0&&(t=!0);var n=e==null||(r=e.getAttribute)===null||r===void 0?void 0:r.call(e,"inert"),a=n===""||n==="true",i=a||t&&e&&o(e.parentNode);return i},nr=function(e){var t,r=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return r===""||r==="true"},wt=function(e,t,r){if(Ce(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Se));return t&&se.call(e,Se)&&n.unshift(e),n=n.filter(r),n},xt=function o(e,t,r){for(var n=[],a=Array.from(e);a.length;){var i=a.shift();if(!Ce(i,!1))if(i.tagName==="SLOT"){var s=i.assignedElements(),l=s.length?s:i.children,u=o(l,!0,r);r.flatten?n.push.apply(n,u):n.push({scopeParent:i,candidates:u})}else{var d=se.call(i,Se);d&&r.filter(i)&&(t||!e.includes(i))&&n.push(i);var h=i.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(i),v=!Ce(h,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(i));if(h&&v){var p=o(h===!0?i.children:h.children,!0,r);r.flatten?n.push.apply(n,p):n.push({scopeParent:i,candidates:p})}else a.unshift.apply(a,i.children)}}return n},Ft=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},oe=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||nr(e))&&!Ft(e)?0:e.tabIndex},ir=function(e,t){var r=oe(e);return r<0&&t&&!Ft(e)?0:r},or=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},Et=function(e){return e.tagName==="INPUT"},sr=function(e){return Et(e)&&e.type==="hidden"},lr=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(r){return r.tagName==="SUMMARY"});return t},ur=function(e,t){for(var r=0;rsummary:first-of-type"),i=a?e.parentElement:e;if(se.call(i,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="legacy-full"){if(typeof n=="function"){for(var s=e;e;){var l=e.parentElement,u=Ae(e);if(l&&!l.shadowRoot&&n(l)===!0)return ot(e);e.assignedSlot?e=e.assignedSlot:!l&&u!==e.ownerDocument?e=u.host:e=l}e=s}if(hr(e))return!e.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return ot(e);return!1},pr=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var r=0;r=0)},mr=function o(e){var t=[],r=[];return e.forEach(function(n,a){var i=!!n.scopeParent,s=i?n.scopeParent:n,l=ir(s,i),u=i?o(n.candidates):s;l===0?i?t.push.apply(t,u):t.push(s):r.push({documentOrder:a,tabIndex:l,item:n,isScope:i,content:u})}),r.sort(or).reduce(function(n,a){return a.isScope?n.push.apply(n,a.content):n.push(a.content),n},[]).concat(t)},gr=function(e,t){t=t||{};var r;return t.getShadowRoot?r=xt([e],t.includeContainer,{filter:$e.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:yr}):r=wt(e,t.includeContainer,$e.bind(null,t)),mr(r)},br=function(e,t){t=t||{};var r;return t.getShadowRoot?r=xt([e],t.includeContainer,{filter:Ne.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):r=wt(e,t.includeContainer,Ne.bind(null,t)),r},le=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return se.call(e,Se)===!1?!1:$e(t,e)},wr=gt.concat("iframe").join(","),Oe=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return se.call(e,wr)===!1?!1:Ne(t,e)};/*! -* focus-trap 7.5.2 -* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE -*/function st(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(o);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(o,n).enumerable})),t.push.apply(t,r)}return t}function lt(o){for(var e=1;e0){var r=e[e.length-1];r!==t&&r.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var r=e.indexOf(t);r!==-1&&e.splice(r,1),e.length>0&&e[e.length-1].unpause()}},Sr=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Ar=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},ge=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Cr=function(e){return ge(e)&&!e.shiftKey},Nr=function(e){return ge(e)&&e.shiftKey},ct=function(e){return setTimeout(e,0)},ft=function(e,t){var r=-1;return e.every(function(n,a){return t(n)?(r=a,!1):!0}),r},ye=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1?y-1:0),I=1;I=0)f=r.activeElement;else{var c=i.tabbableGroups[0],y=c&&c.firstTabbableNode;f=y||d("fallbackFocus")}if(!f)throw new Error("Your focus-trap needs to have at least one focusable element");return f},v=function(){if(i.containerGroups=i.containers.map(function(f){var c=gr(f,a.tabbableOptions),y=br(f,a.tabbableOptions),x=c.length>0?c[0]:void 0,I=c.length>0?c[c.length-1]:void 0,O=y.find(function(m){return le(m)}),P=y.slice().reverse().find(function(m){return le(m)}),z=!!c.find(function(m){return oe(m)>0});return{container:f,tabbableNodes:c,focusableNodes:y,posTabIndexesFound:z,firstTabbableNode:x,lastTabbableNode:I,firstDomTabbableNode:O,lastDomTabbableNode:P,nextTabbableNode:function(N){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,J=c.indexOf(N);return J<0?$?y.slice(y.indexOf(N)+1).find(function(H){return le(H)}):y.slice(0,y.indexOf(N)).reverse().find(function(H){return le(H)}):c[J+($?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(f){return f.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!d("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(f){return f.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},p=function F(f){if(f!==!1&&f!==r.activeElement){if(!f||!f.focus){F(h());return}f.focus({preventScroll:!!a.preventScroll}),i.mostRecentlyFocusedNode=f,Sr(f)&&f.select()}},b=function(f){var c=d("setReturnFocus",f);return c||(c===!1?!1:f)},g=function(f){var c=f.target,y=f.event,x=f.isBackward,I=x===void 0?!1:x;c=c||Fe(y),v();var O=null;if(i.tabbableGroups.length>0){var P=u(c,y),z=P>=0?i.containerGroups[P]:void 0;if(P<0)I?O=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:O=i.tabbableGroups[0].firstTabbableNode;else if(I){var m=ft(i.tabbableGroups,function(B){var U=B.firstTabbableNode;return c===U});if(m<0&&(z.container===c||Oe(c,a.tabbableOptions)&&!le(c,a.tabbableOptions)&&!z.nextTabbableNode(c,!1))&&(m=P),m>=0){var N=m===0?i.tabbableGroups.length-1:m-1,$=i.tabbableGroups[N];O=oe(c)>=0?$.lastTabbableNode:$.lastDomTabbableNode}else ge(y)||(O=z.nextTabbableNode(c,!1))}else{var J=ft(i.tabbableGroups,function(B){var U=B.lastTabbableNode;return c===U});if(J<0&&(z.container===c||Oe(c,a.tabbableOptions)&&!le(c,a.tabbableOptions)&&!z.nextTabbableNode(c))&&(J=P),J>=0){var H=J===i.tabbableGroups.length-1?0:J+1,G=i.tabbableGroups[H];O=oe(c)>=0?G.firstTabbableNode:G.firstDomTabbableNode}else ge(y)||(O=z.nextTabbableNode(c))}}else O=d("fallbackFocus");return O},w=function(f){var c=Fe(f);if(!(u(c,f)>=0)){if(ye(a.clickOutsideDeactivates,f)){s.deactivate({returnFocus:a.returnFocusOnDeactivate});return}ye(a.allowOutsideClick,f)||f.preventDefault()}},C=function(f){var c=Fe(f),y=u(c,f)>=0;if(y||c instanceof Document)y&&(i.mostRecentlyFocusedNode=c);else{f.stopImmediatePropagation();var x,I=!0;if(i.mostRecentlyFocusedNode)if(oe(i.mostRecentlyFocusedNode)>0){var O=u(i.mostRecentlyFocusedNode),P=i.containerGroups[O].tabbableNodes;if(P.length>0){var z=P.findIndex(function(m){return m===i.mostRecentlyFocusedNode});z>=0&&(a.isKeyForward(i.recentNavEvent)?z+1=0&&(x=P[z-1],I=!1))}}else i.containerGroups.some(function(m){return m.tabbableNodes.some(function(N){return oe(N)>0})})||(I=!1);else I=!1;I&&(x=g({target:i.mostRecentlyFocusedNode,isBackward:a.isKeyBackward(i.recentNavEvent)})),p(x||i.mostRecentlyFocusedNode||h())}i.recentNavEvent=void 0},T=function(f){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=f;var y=g({event:f,isBackward:c});y&&(ge(f)&&f.preventDefault(),p(y))},E=function(f){if(Ar(f)&&ye(a.escapeDeactivates,f)!==!1){f.preventDefault(),s.deactivate();return}(a.isKeyForward(f)||a.isKeyBackward(f))&&T(f,a.isKeyBackward(f))},M=function(f){var c=Fe(f);u(c,f)>=0||ye(a.clickOutsideDeactivates,f)||ye(a.allowOutsideClick,f)||(f.preventDefault(),f.stopImmediatePropagation())},R=function(){if(i.active)return ut.activateTrap(n,s),i.delayInitialFocusTimer=a.delayInitialFocus?ct(function(){p(h())}):p(h()),r.addEventListener("focusin",C,!0),r.addEventListener("mousedown",w,{capture:!0,passive:!1}),r.addEventListener("touchstart",w,{capture:!0,passive:!1}),r.addEventListener("click",M,{capture:!0,passive:!1}),r.addEventListener("keydown",E,{capture:!0,passive:!1}),s},L=function(){if(i.active)return r.removeEventListener("focusin",C,!0),r.removeEventListener("mousedown",w,!0),r.removeEventListener("touchstart",w,!0),r.removeEventListener("click",M,!0),r.removeEventListener("keydown",E,!0),s},S=function(f){var c=f.some(function(y){var x=Array.from(y.removedNodes);return x.some(function(I){return I===i.mostRecentlyFocusedNode})});c&&p(h())},k=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(S):void 0,D=function(){k&&(k.disconnect(),i.active&&!i.paused&&i.containers.map(function(f){k.observe(f,{subtree:!0,childList:!0})}))};return s={get active(){return i.active},get paused(){return i.paused},activate:function(f){if(i.active)return this;var c=l(f,"onActivate"),y=l(f,"onPostActivate"),x=l(f,"checkCanFocusTrap");x||v(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=r.activeElement,c==null||c();var I=function(){x&&v(),R(),D(),y==null||y()};return x?(x(i.containers.concat()).then(I,I),this):(I(),this)},deactivate:function(f){if(!i.active)return this;var c=lt({onDeactivate:a.onDeactivate,onPostDeactivate:a.onPostDeactivate,checkCanReturnFocus:a.checkCanReturnFocus},f);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,L(),i.active=!1,i.paused=!1,D(),ut.deactivateTrap(n,s);var y=l(c,"onDeactivate"),x=l(c,"onPostDeactivate"),I=l(c,"checkCanReturnFocus"),O=l(c,"returnFocus","returnFocusOnDeactivate");y==null||y();var P=function(){ct(function(){O&&p(b(i.nodeFocusedBeforeActivation)),x==null||x()})};return O&&I?(I(b(i.nodeFocusedBeforeActivation)).then(P,P),this):(P(),this)},pause:function(f){if(i.paused||!i.active)return this;var c=l(f,"onPause"),y=l(f,"onPostPause");return i.paused=!0,c==null||c(),L(),D(),y==null||y(),this},unpause:function(f){if(!i.paused||!i.active)return this;var c=l(f,"onUnpause"),y=l(f,"onPostUnpause");return i.paused=!1,c==null||c(),v(),R(),D(),y==null||y(),this},updateContainerElements:function(f){var c=[].concat(f).filter(Boolean);return i.containers=c.map(function(y){return typeof y=="string"?r.querySelector(y):y}),i.active&&v(),D(),this}},s.updateContainerElements(e),s},Ir=Object.defineProperty,_r=Object.defineProperties,Dr=Object.getOwnPropertyDescriptors,Te=Object.getOwnPropertySymbols,St=Object.prototype.hasOwnProperty,At=Object.prototype.propertyIsEnumerable,dt=(o,e,t)=>e in o?Ir(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,Or=(o,e)=>{for(var t in e||(e={}))St.call(e,t)&&dt(o,t,e[t]);if(Te)for(var t of Te(e))At.call(e,t)&&dt(o,t,e[t]);return o},Rr=(o,e)=>_r(o,Dr(e)),Mr=(o,e)=>{var t={};for(var r in o)St.call(o,r)&&e.indexOf(r)<0&&(t[r]=o[r]);if(o!=null&&Te)for(var r of Te(o))e.indexOf(r)<0&&At.call(o,r)&&(t[r]=o[r]);return t};function Pr(o,e={}){let t;const r=e,{immediate:n}=r,a=Mr(r,["immediate"]),i=ie(!1),s=ie(!1),l=v=>t&&t.activate(v),u=v=>t&&t.deactivate(v),d=()=>{t&&(t.pause(),s.value=!0)},h=()=>{t&&(t.unpause(),s.value=!1)};return Ve(()=>Gt(o),v=>{v&&(t=kr(v,Rr(Or({},a),{onActivate(){i.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){i.value=!1,e.onDeactivate&&e.onDeactivate()}})),n&&l())},{flush:"post"}),qt(()=>u()),{hasFocus:i,isPaused:s,activate:l,deactivate:u,pause:d,unpause:h}}class ce{constructor(e,t=!0,r=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=r,this.iframesTimeout=n}static matches(e,t){const r=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let a=!1;return r.every(i=>n.call(e,i)?(a=!0,!1):!0),a}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(r=>{const n=t.filter(a=>a.contains(r)).length>0;t.indexOf(r)===-1&&!n&&t.push(r)}),t}getIframeContents(e,t,r=()=>{}){let n;try{const a=e.contentWindow;if(n=a.document,!a||!n)throw new Error("iframe inaccessible")}catch{r()}n&&t(n)}isIframeBlank(e){const t="about:blank",r=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&r!==t&&r}observeIframeLoad(e,t,r){let n=!1,a=null;const i=()=>{if(!n){n=!0,clearTimeout(a);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,r))}catch{r()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,r){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,r):this.getIframeContents(e,t,r):this.observeIframeLoad(e,t,r)}catch{r()}}waitForIframes(e,t){let r=0;this.forEachIframe(e,()=>!0,n=>{r++,this.waitForIframes(n.querySelector("html"),()=>{--r||t()})},n=>{n||t()})}forEachIframe(e,t,r,n=()=>{}){let a=e.querySelectorAll("iframe"),i=a.length,s=0;a=Array.prototype.slice.call(a);const l=()=>{--i<=0&&n(s)};i||l(),a.forEach(u=>{ce.matches(u,this.exclude)?l():this.onIframeReady(u,d=>{t(u)&&(s++,r(d)),l()},l)})}createIterator(e,t,r){return document.createNodeIterator(e,t,r,!1)}createInstanceOnIframe(e){return new ce(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,r){const n=e.compareDocumentPosition(r),a=Node.DOCUMENT_POSITION_PRECEDING;if(n&a)if(t!==null){const i=t.compareDocumentPosition(r),s=Node.DOCUMENT_POSITION_FOLLOWING;if(i&s)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let r;return t===null?r=e.nextNode():r=e.nextNode()&&e.nextNode(),{prevNode:t,node:r}}checkIframeFilter(e,t,r,n){let a=!1,i=!1;return n.forEach((s,l)=>{s.val===r&&(a=l,i=s.handled)}),this.compareNodeIframe(e,t,r)?(a===!1&&!i?n.push({val:r,handled:!0}):a!==!1&&!i&&(n[a].handled=!0),!0):(a===!1&&n.push({val:r,handled:!1}),!1)}handleOpenIframes(e,t,r,n){e.forEach(a=>{a.handled||this.getIframeContents(a.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,r,n)})})}iterateThroughNodes(e,t,r,n,a){const i=this.createIterator(t,e,n);let s=[],l=[],u,d,h=()=>({prevNode:d,node:u}=this.getIteratorNode(i),u);for(;h();)this.iframes&&this.forEachIframe(t,v=>this.checkIframeFilter(u,d,v,s),v=>{this.createInstanceOnIframe(v).forEachNode(e,p=>l.push(p),n)}),l.push(u);l.forEach(v=>{r(v)}),this.iframes&&this.handleOpenIframes(s,e,r,n),a()}forEachNode(e,t,r,n=()=>{}){const a=this.getContexts();let i=a.length;i||n(),a.forEach(s=>{const l=()=>{this.iterateThroughNodes(e,s,t,r,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(s,l):l()})}}let Lr=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new ce(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const r=this.opt.log;this.opt.debug&&typeof r=="object"&&typeof r[t]=="function"&&r[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,r=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let a in t)if(t.hasOwnProperty(a)){const i=t[a],s=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(a):this.escapeStr(a),l=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);s!==""&&l!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(s)}|${this.escapeStr(l)})`,`gm${r}`),n+`(${this.processSynomyms(s)}|${this.processSynomyms(l)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,r,n)=>{let a=n.charAt(r+1);return/[(|)\\]/.test(a)||a===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const r=this.opt.ignorePunctuation;return Array.isArray(r)&&r.length&&t.push(this.escapeStr(r.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",r=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(a=>{r.every(i=>{if(i.indexOf(a)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let r=this.opt.accuracy,n=typeof r=="string"?r:r.value,a=typeof r=="string"?[]:r.limiters,i="";switch(a.forEach(s=>{i+=`|${this.escapeStr(s)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(r=>{this.opt.separateWordSearch?r.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):r.trim()&&t.indexOf(r)===-1&&t.push(r)}),{keywords:t.sort((r,n)=>n.length-r.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let r=0;return e.sort((n,a)=>n.start-a.start).forEach(n=>{let{start:a,end:i,valid:s}=this.callNoMatchOnInvalidRanges(n,r);s&&(n.start=a,n.length=i-a,t.push(n),r=i)}),t}callNoMatchOnInvalidRanges(e,t){let r,n,a=!1;return e&&typeof e.start<"u"?(r=parseInt(e.start,10),n=r+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-r>0?a=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:r,end:n,valid:a}}checkWhitespaceRanges(e,t,r){let n,a=!0,i=r.length,s=t-i,l=parseInt(e.start,10)-s;return l=l>i?i:l,n=l+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),l<0||n-l<0||l>i||n>i?(a=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):r.substring(l,n).replace(/\s+/g,"")===""&&(a=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:l,end:n,valid:a}}getTextNodes(e){let t="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{r.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:r})})}matchesExclude(e){return ce.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,r){const n=this.opt.element?this.opt.element:"mark",a=e.splitText(t),i=a.splitText(r-t);let s=document.createElement(n);return s.setAttribute("data-markjs","true"),this.opt.className&&s.setAttribute("class",this.opt.className),s.textContent=a.textContent,a.parentNode.replaceChild(s,a),i}wrapRangeInMappedTextNode(e,t,r,n,a){e.nodes.every((i,s)=>{const l=e.nodes[s+1];if(typeof l>"u"||l.start>t){if(!n(i.node))return!1;const u=t-i.start,d=(r>i.end?i.end:r)-i.start,h=e.value.substr(0,i.start),v=e.value.substr(d+i.start);if(i.node=this.wrapRangeInTextNode(i.node,u,d),e.value=h+v,e.nodes.forEach((p,b)=>{b>=s&&(e.nodes[b].start>0&&b!==s&&(e.nodes[b].start-=d),e.nodes[b].end-=d)}),r-=d,a(i.node.previousSibling,i.start),r>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,r,n,a){const i=t===0?0:t+1;this.getTextNodes(s=>{s.nodes.forEach(l=>{l=l.node;let u;for(;(u=e.exec(l.textContent))!==null&&u[i]!=="";){if(!r(u[i],l))continue;let d=u.index;if(i!==0)for(let h=1;h{let l;for(;(l=e.exec(s.value))!==null&&l[i]!=="";){let u=l.index;if(i!==0)for(let h=1;hr(l[i],h),(h,v)=>{e.lastIndex=v,n(h)})}a()})}wrapRangeFromIndex(e,t,r,n){this.getTextNodes(a=>{const i=a.value.length;e.forEach((s,l)=>{let{start:u,end:d,valid:h}=this.checkWhitespaceRanges(s,i,a.value);h&&this.wrapRangeInMappedTextNode(a,u,d,v=>t(v,s,a.value.substring(u,d),l),v=>{r(v,s)})}),n()})}unwrapMatches(e){const t=e.parentNode;let r=document.createDocumentFragment();for(;e.firstChild;)r.appendChild(e.removeChild(e.firstChild));t.replaceChild(r,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let r=0,n="wrapMatches";const a=i=>{r++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,s)=>this.opt.filter(s,i,r),a,()=>{r===0&&this.opt.noMatch(e),this.opt.done(r)})}mark(e,t){this.opt=t;let r=0,n="wrapMatches";const{keywords:a,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),s=this.opt.caseSensitive?"":"i",l=u=>{let d=new RegExp(this.createRegExp(u),`gm${s}`),h=0;this.log(`Searching with expression "${d}"`),this[n](d,1,(v,p)=>this.opt.filter(p,u,r,h),v=>{h++,r++,this.opt.each(v)},()=>{h===0&&this.opt.noMatch(u),a[i-1]===u?this.opt.done(r):l(a[a.indexOf(u)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(r):l(a[0])}markRanges(e,t){this.opt=t;let r=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(a,i,s,l)=>this.opt.filter(a,i,s,l),(a,i)=>{r++,this.opt.each(a,i)},()=>{this.opt.done(r)})):this.opt.done(r)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,r=>{this.unwrapMatches(r)},r=>{const n=ce.matches(r,t),a=this.matchesExclude(r);return!n||a?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function zr(o){const e=new Lr(o);return this.mark=(t,r)=>(e.mark(t,r),this),this.markRegExp=(t,r)=>(e.markRegExp(t,r),this),this.markRanges=(t,r)=>(e.markRanges(t,r),this),this.unmark=t=>(e.unmark(t),this),this}var V=function(){return V=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0&&a[a.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!a||u[1]>a[0]&&u[1]=o.length&&(o=void 0),{value:o&&o[r++],done:!o}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function j(o,e){var t=typeof Symbol=="function"&&o[Symbol.iterator];if(!t)return o;var r=t.call(o),n,a=[],i;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)a.push(n.value)}catch(s){i={error:s}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(i)throw i.error}}return a}var $r="ENTRIES",Ct="KEYS",Nt="VALUES",K="",Re=function(){function o(e,t){var r=e._tree,n=Array.from(r.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:r,keys:n}]:[]}return o.prototype.next=function(){var e=this.dive();return this.backtrack(),e},o.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=ue(this._path),t=e.node,r=e.keys;if(ue(r)===K)return{done:!1,value:this.result()};var n=t.get(ue(r));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()},o.prototype.backtrack=function(){if(this._path.length!==0){var e=ue(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},o.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var t=e.keys;return ue(t)}).filter(function(e){return e!==K}).join("")},o.prototype.value=function(){return ue(this._path).node.get(K)},o.prototype.result=function(){switch(this._type){case Nt:return this.value();case Ct:return this.key();default:return[this.key(),this.value()]}},o.prototype[Symbol.iterator]=function(){return this},o}(),ue=function(o){return o[o.length-1]},jr=function(o,e,t){var r=new Map;if(e===void 0)return r;for(var n=e.length+1,a=n+t,i=new Uint8Array(a*n).fill(t+1),s=0;st)continue e}Tt(o.get(p),e,t,r,n,g,i,s+p)}}}catch(y){l={error:y}}finally{try{v&&!v.done&&(u=h.return)&&u.call(h)}finally{if(l)throw l.error}}},Me=function(){function o(e,t){e===void 0&&(e=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=e,this._prefix=t}return o.prototype.atPrefix=function(e){var t,r;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var n=j(ke(this._tree,e.slice(this._prefix.length)),2),a=n[0],i=n[1];if(a===void 0){var s=j(Je(i),2),l=s[0],u=s[1];try{for(var d=_(l.keys()),h=d.next();!h.done;h=d.next()){var v=h.value;if(v!==K&&v.startsWith(u)){var p=new Map;return p.set(v.slice(u.length),l.get(v)),new o(p,e)}}}catch(b){t={error:b}}finally{try{h&&!h.done&&(r=d.return)&&r.call(d)}finally{if(t)throw t.error}}}return new o(a,e)},o.prototype.clear=function(){this._size=void 0,this._tree.clear()},o.prototype.delete=function(e){return this._size=void 0,Wr(this._tree,e)},o.prototype.entries=function(){return new Re(this,$r)},o.prototype.forEach=function(e){var t,r;try{for(var n=_(this),a=n.next();!a.done;a=n.next()){var i=j(a.value,2),s=i[0],l=i[1];e(s,l,this)}}catch(u){t={error:u}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},o.prototype.fuzzyGet=function(e,t){return jr(this._tree,e,t)},o.prototype.get=function(e){var t=je(this._tree,e);return t!==void 0?t.get(K):void 0},o.prototype.has=function(e){var t=je(this._tree,e);return t!==void 0&&t.has(K)},o.prototype.keys=function(){return new Re(this,Ct)},o.prototype.set=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=Pe(this._tree,e);return r.set(K,t),this},Object.defineProperty(o.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),o.prototype.update=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=Pe(this._tree,e);return r.set(K,t(r.get(K))),this},o.prototype.fetch=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=Pe(this._tree,e),n=r.get(K);return n===void 0&&r.set(K,n=t()),n},o.prototype.values=function(){return new Re(this,Nt)},o.prototype[Symbol.iterator]=function(){return this.entries()},o.from=function(e){var t,r,n=new o;try{for(var a=_(e),i=a.next();!i.done;i=a.next()){var s=j(i.value,2),l=s[0],u=s[1];n.set(l,u)}}catch(d){t={error:d}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}return n},o.fromObject=function(e){return o.from(Object.entries(e))},o}(),ke=function(o,e,t){var r,n;if(t===void 0&&(t=[]),e.length===0||o==null)return[o,t];try{for(var a=_(o.keys()),i=a.next();!i.done;i=a.next()){var s=i.value;if(s!==K&&e.startsWith(s))return t.push([o,s]),ke(o.get(s),e.slice(s.length),t)}}catch(l){r={error:l}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return t.push([o,e]),ke(void 0,"",t)},je=function(o,e){var t,r;if(e.length===0||o==null)return o;try{for(var n=_(o.keys()),a=n.next();!a.done;a=n.next()){var i=a.value;if(i!==K&&e.startsWith(i))return je(o.get(i),e.slice(i.length))}}catch(s){t={error:s}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},Pe=function(o,e){var t,r,n=e.length;e:for(var a=0;o&&a0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Me,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},o.prototype.discard=function(e){var t=this,r=this._idToShortId.get(e);if(r==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(r),this._storedFields.delete(r),(this._fieldLength.get(r)||[]).forEach(function(n,a){t.removeFieldLength(r,a,t._documentCount,n)}),this._fieldLength.delete(r),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},o.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,t=e.minDirtFactor,r=e.minDirtCount,n=e.batchSize,a=e.batchWait;this.conditionalVacuum({batchSize:n,batchWait:a},{minDirtCount:r,minDirtFactor:t})}},o.prototype.discardAll=function(e){var t,r,n=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var a=_(e),i=a.next();!i.done;i=a.next()){var s=i.value;this.discard(s)}}catch(l){t={error:l}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=n}this.maybeAutoVacuum()},o.prototype.replace=function(e){var t=this._options,r=t.idField,n=t.extractField,a=n(e,r);this.discard(a),this.add(e)},o.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},o.prototype.conditionalVacuum=function(e,t){var r=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var n=r._enqueuedVacuumConditions;return r._enqueuedVacuumConditions=Ke,r.performVacuuming(e,n)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},o.prototype.performVacuuming=function(e,t){return Br(this,void 0,void 0,function(){var r,n,a,i,s,l,u,d,h,v,p,b,g,w,C,T,E,M,R,L,S,k,D,F,f;return Vr(this,function(c){switch(c.label){case 0:if(r=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];n=e.batchSize||We.batchSize,a=e.batchWait||We.batchWait,i=1,c.label=1;case 1:c.trys.push([1,7,8,9]),s=_(this._index),l=s.next(),c.label=2;case 2:if(l.done)return[3,6];u=j(l.value,2),d=u[0],h=u[1];try{for(v=(k=void 0,_(h)),p=v.next();!p.done;p=v.next()){b=j(p.value,2),g=b[0],w=b[1];try{for(C=(F=void 0,_(w)),T=C.next();!T.done;T=C.next())E=j(T.value,1),M=E[0],!this._documentIds.has(M)&&(w.size<=1?h.delete(g):w.delete(M))}catch(y){F={error:y}}finally{try{T&&!T.done&&(f=C.return)&&f.call(C)}finally{if(F)throw F.error}}}}catch(y){k={error:y}}finally{try{p&&!p.done&&(D=v.return)&&D.call(v)}finally{if(k)throw k.error}}return this._index.get(d).size===0&&this._index.delete(d),i%n!==0?[3,4]:[4,new Promise(function(y){return setTimeout(y,a)})];case 3:c.sent(),c.label=4;case 4:i+=1,c.label=5;case 5:return l=s.next(),[3,2];case 6:return[3,9];case 7:return R=c.sent(),L={error:R},[3,9];case 8:try{l&&!l.done&&(S=s.return)&&S.call(s)}finally{if(L)throw L.error}return[7];case 9:this._dirtCount-=r,c.label=10;case 10:return[4,null];case 11:return c.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},o.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var t=e.minDirtCount,r=e.minDirtFactor;return t=t||Be.minDirtCount,r=r||Be.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=r},Object.defineProperty(o.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),o.prototype.has=function(e){return this._idToShortId.has(e)},o.prototype.getStoredFields=function(e){var t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)},o.prototype.search=function(e,t){var r,n;t===void 0&&(t={});var a=this.executeQuery(e,t),i=[];try{for(var s=_(a),l=s.next();!l.done;l=s.next()){var u=j(l.value,2),d=u[0],h=u[1],v=h.score,p=h.terms,b=h.match,g=p.length,w={id:this._documentIds.get(d),score:v*g,terms:Object.keys(b),match:b};Object.assign(w,this._storedFields.get(d)),(t.filter==null||t.filter(w))&&i.push(w)}}catch(C){r={error:C}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return i.sort(pt),i},o.prototype.autoSuggest=function(e,t){var r,n,a,i;t===void 0&&(t={}),t=V(V({},this._options.autoSuggestOptions),t);var s=new Map;try{for(var l=_(this.search(e,t)),u=l.next();!u.done;u=l.next()){var d=u.value,h=d.score,v=d.terms,p=v.join(" "),b=s.get(p);b!=null?(b.score+=h,b.count+=1):s.set(p,{score:h,terms:v,count:1})}}catch(R){r={error:R}}finally{try{u&&!u.done&&(n=l.return)&&n.call(l)}finally{if(r)throw r.error}}var g=[];try{for(var w=_(s),C=w.next();!C.done;C=w.next()){var T=j(C.value,2),b=T[0],E=T[1],h=E.score,v=E.terms,M=E.count;g.push({suggestion:b,terms:v,score:h/M})}}catch(R){a={error:R}}finally{try{C&&!C.done&&(i=w.return)&&i.call(w)}finally{if(a)throw a.error}}return g.sort(pt),g},Object.defineProperty(o.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),o.loadJSON=function(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)},o.getDefault=function(e){if(ze.hasOwnProperty(e))return Le(ze,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},o.loadJS=function(e,t){var r,n,a,i,s,l,u=e.index,d=e.documentCount,h=e.nextId,v=e.documentIds,p=e.fieldIds,b=e.fieldLength,g=e.averageFieldLength,w=e.storedFields,C=e.dirtCount,T=e.serializationVersion;if(T!==1&&T!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var E=new o(t);E._documentCount=d,E._nextId=h,E._documentIds=Ee(v),E._idToShortId=new Map,E._fieldIds=p,E._fieldLength=Ee(b),E._avgFieldLength=g,E._storedFields=Ee(w),E._dirtCount=C||0,E._index=new Me;try{for(var M=_(E._documentIds),R=M.next();!R.done;R=M.next()){var L=j(R.value,2),S=L[0],k=L[1];E._idToShortId.set(k,S)}}catch(m){r={error:m}}finally{try{R&&!R.done&&(n=M.return)&&n.call(M)}finally{if(r)throw r.error}}try{for(var D=_(u),F=D.next();!F.done;F=D.next()){var f=j(F.value,2),c=f[0],y=f[1],x=new Map;try{for(var I=(s=void 0,_(Object.keys(y))),O=I.next();!O.done;O=I.next()){var P=O.value,z=y[P];T===1&&(z=z.ds),x.set(parseInt(P,10),Ee(z))}}catch(m){s={error:m}}finally{try{O&&!O.done&&(l=I.return)&&l.call(I)}finally{if(s)throw s.error}}E._index.set(c,x)}}catch(m){a={error:m}}finally{try{F&&!F.done&&(i=D.return)&&i.call(D)}finally{if(a)throw a.error}}return E},o.prototype.executeQuery=function(e,t){var r=this;if(t===void 0&&(t={}),typeof e!="string"){var n=V(V(V({},t),e),{queries:void 0}),a=e.queries.map(function(w){return r.executeQuery(w,n)});return this.combineResults(a,n.combineWith)}var i=this._options,s=i.tokenize,l=i.processTerm,u=i.searchOptions,d=V(V({tokenize:s,processTerm:l},u),t),h=d.tokenize,v=d.processTerm,p=h(e).flatMap(function(w){return v(w)}).filter(function(w){return!!w}),b=p.map(qr(d)),g=b.map(function(w){return r.executeQuerySpec(w,d)});return this.combineResults(g,d.combineWith)},o.prototype.executeQuerySpec=function(e,t){var r,n,a,i,s=V(V({},this._options.searchOptions),t),l=(s.fields||this._options.fields).reduce(function(P,z){var m;return V(V({},P),(m={},m[z]=Le(s.boost,z)||1,m))},{}),u=s.boostDocument,d=s.weights,h=s.maxFuzzy,v=s.bm25,p=V(V({},ht.weights),d),b=p.fuzzy,g=p.prefix,w=this._index.get(e.term),C=this.termResults(e.term,e.term,1,w,l,u,v),T,E;if(e.prefix&&(T=this._index.atPrefix(e.term)),e.fuzzy){var M=e.fuzzy===!0?.2:e.fuzzy,R=M<1?Math.min(h,Math.round(e.term.length*M)):M;R&&(E=this._index.fuzzyGet(e.term,R))}if(T)try{for(var L=_(T),S=L.next();!S.done;S=L.next()){var k=j(S.value,2),D=k[0],F=k[1],f=D.length-e.term.length;if(f){E==null||E.delete(D);var c=g*D.length/(D.length+.3*f);this.termResults(e.term,D,c,F,l,u,v,C)}}}catch(P){r={error:P}}finally{try{S&&!S.done&&(n=L.return)&&n.call(L)}finally{if(r)throw r.error}}if(E)try{for(var y=_(E.keys()),x=y.next();!x.done;x=y.next()){var D=x.value,I=j(E.get(D),2),O=I[0],f=I[1];if(f){var c=b*D.length/(D.length+f);this.termResults(e.term,D,c,O,l,u,v,C)}}}catch(P){a={error:P}}finally{try{x&&!x.done&&(i=y.return)&&i.call(y)}finally{if(a)throw a.error}}return C},o.prototype.combineResults=function(e,t){if(t===void 0&&(t=Ue),e.length===0)return new Map;var r=t.toLowerCase();return e.reduce(Ur[r])||new Map},o.prototype.toJSON=function(){var e,t,r,n,a=[];try{for(var i=_(this._index),s=i.next();!s.done;s=i.next()){var l=j(s.value,2),u=l[0],d=l[1],h={};try{for(var v=(r=void 0,_(d)),p=v.next();!p.done;p=v.next()){var b=j(p.value,2),g=b[0],w=b[1];h[g]=Object.fromEntries(w)}}catch(C){r={error:C}}finally{try{p&&!p.done&&(n=v.return)&&n.call(v)}finally{if(r)throw r.error}}a.push([u,h])}}catch(C){e={error:C}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:a,serializationVersion:2}},o.prototype.termResults=function(e,t,r,n,a,i,s,l){var u,d,h,v,p;if(l===void 0&&(l=new Map),n==null)return l;try{for(var b=_(Object.keys(a)),g=b.next();!g.done;g=b.next()){var w=g.value,C=a[w],T=this._fieldIds[w],E=n.get(T);if(E!=null){var M=E.size,R=this._avgFieldLength[T];try{for(var L=(h=void 0,_(E.keys())),S=L.next();!S.done;S=L.next()){var k=S.value;if(!this._documentIds.has(k)){this.removeTerm(T,k,t),M-=1;continue}var D=i?i(this._documentIds.get(k),t,this._storedFields.get(k)):1;if(D){var F=E.get(k),f=this._fieldLength.get(k)[T],c=Gr(F,M,this._documentCount,f,R,s),y=r*C*D*c,x=l.get(k);if(x){x.score+=y,Yr(x.terms,e);var I=Le(x.match,t);I?I.push(w):x.match[t]=[w]}else l.set(k,{score:y,terms:[e],match:(p={},p[t]=[w],p)})}}}catch(O){h={error:O}}finally{try{S&&!S.done&&(v=L.return)&&v.call(L)}finally{if(h)throw h.error}}}}}catch(O){u={error:O}}finally{try{g&&!g.done&&(d=b.return)&&d.call(b)}finally{if(u)throw u.error}}return l},o.prototype.addTerm=function(e,t,r){var n=this._index.fetch(r,yt),a=n.get(e);if(a==null)a=new Map,a.set(t,1),n.set(e,a);else{var i=a.get(t);a.set(t,(i||0)+1)}},o.prototype.removeTerm=function(e,t,r){if(!this._index.has(r)){this.warnDocumentChanged(t,e,r);return}var n=this._index.fetch(r,yt),a=n.get(e);a==null||a.get(t)==null?this.warnDocumentChanged(t,e,r):a.get(t)<=1?a.size<=1?n.delete(e):a.delete(t):a.set(t,a.get(t)-1),this._index.get(r).size===0&&this._index.delete(r)},o.prototype.warnDocumentChanged=function(e,t,r){var n,a;try{for(var i=_(Object.keys(this._fieldIds)),s=i.next();!s.done;s=i.next()){var l=s.value;if(this._fieldIds[l]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(r,'" was not present in field "').concat(l,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(u){n={error:u}}finally{try{s&&!s.done&&(a=i.return)&&a.call(i)}finally{if(n)throw n.error}}},o.prototype.addDocumentId=function(e){var t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t},o.prototype.addFields=function(e){for(var t=0;t(jt("data-v-58c4b8ff"),o=o(),Wt(),o),Xr=["aria-owns"],ea={class:"shell"},ta=["title"],ra=Q(()=>A("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"},[A("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[A("circle",{cx:"11",cy:"11",r:"8"}),A("path",{d:"m21 21l-4.35-4.35"})])],-1)),aa=[ra],na={class:"search-actions before"},ia=["title"],oa=Q(()=>A("svg",{width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"},[A("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 12H5m7 7l-7-7l7-7"})],-1)),sa=[oa],la=["placeholder"],ua={class:"search-actions"},ca=["title"],fa=Q(()=>A("svg",{width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"},[A("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 14h7v7H3zM3 3h7v7H3zm11 1h7m-7 5h7m-7 6h7m-7 5h7"})],-1)),da=[fa],ha=["disabled","title"],va=Q(()=>A("svg",{width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"},[A("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M20 5H9l-7 7l7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2Zm-2 4l-6 6m0-6l6 6"})],-1)),pa=[va],ya=["id","role","aria-labelledby"],ma=["aria-selected"],ga=["href","aria-label","onMouseenter","onFocusin"],ba={class:"titles"},wa=Q(()=>A("span",{class:"title-icon"},"#",-1)),xa=["innerHTML"],Fa=Q(()=>A("svg",{width:"18",height:"18",viewBox:"0 0 24 24"},[A("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m9 18l6-6l-6-6"})],-1)),Ea={class:"title main"},Sa=["innerHTML"],Aa={key:0,class:"excerpt-wrapper"},Ca={key:0,class:"excerpt",inert:""},Na=["innerHTML"],Ta=Q(()=>A("div",{class:"excerpt-gradient-bottom"},null,-1)),ka=Q(()=>A("div",{class:"excerpt-gradient-top"},null,-1)),Ia={key:0,class:"no-results"},_a={class:"search-keyboard-shortcuts"},Da=["aria-label"],Oa=Q(()=>A("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[A("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 19V5m-7 7l7-7l7 7"})],-1)),Ra=[Oa],Ma=["aria-label"],Pa=Q(()=>A("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[A("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 5v14m7-7l-7 7l-7-7"})],-1)),La=[Pa],za=["aria-label"],Ba=Q(()=>A("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[A("g",{fill:"none",stroke:"currentcolor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[A("path",{d:"m9 10l-5 5l5 5"}),A("path",{d:"M20 4v7a4 4 0 0 1-4 4H4"})])],-1)),Va=[Ba],$a=["aria-label"],ja=Dt({__name:"VPLocalSearchBox",props:{placeholder:{}},emits:["close"],setup(o,{emit:e}){var O,P,z;const t=de(),r=de(),n=de(),a=de(ar),i=Qt(),{activate:s}=Pr(t,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:l,theme:u}=i,d=it(async()=>{var m,N,$,J,H,G,B,U,Y;return nt(Jr.loadJSON(($=await((N=(m=a.value)[l.value])==null?void 0:N.call(m)))==null?void 0:$.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...((J=u.value.search)==null?void 0:J.provider)==="local"&&((G=(H=u.value.search.options)==null?void 0:H.miniSearch)==null?void 0:G.searchOptions)},...((B=u.value.search)==null?void 0:B.provider)==="local"&&((Y=(U=u.value.search.options)==null?void 0:U.miniSearch)==null?void 0:Y.options)}))}),v=_e(()=>{var m,N;return((m=u.value.search)==null?void 0:m.provider)==="local"&&((N=u.value.search.options)==null?void 0:N.disableQueryPersistence)===!0}).value?ie(""):Yt("vitepress:local-search-filter",""),p=Zt("vitepress:local-search-detailed-list",((O=u.value.search)==null?void 0:O.provider)==="local"&&((P=u.value.search.options)==null?void 0:P.detailedView)===!0),b=_e(()=>{var m,N,$;return((m=u.value.search)==null?void 0:m.provider)==="local"&&(((N=u.value.search.options)==null?void 0:N.disableDetailedView)===!0||(($=u.value.search.options)==null?void 0:$.detailedView)===!1)});Ot(()=>{b.value&&(p.value=!1)});const g=de([]),w=ie(!1);Ve(v,()=>{w.value=!1});const C=it(async()=>{if(r.value)return nt(new zr(r.value))},null);Xt(()=>[d.value,v.value,p.value],async([m,N,$],J,H)=>{var He,Ge,qe,Qe;let G=!1;if(H(()=>{G=!0}),!m)return;g.value=m.search(N).slice(0,16),w.value=!0;const B=$?await Promise.all(g.value.map(q=>T(q.id))):[];if(G)return;const U=new Map;for(const{id:q,mod:re}of B){const ae=q.slice(0,q.indexOf("#"));let ee=U.get(ae);if(ee)continue;ee=new Map,U.set(ae,ee);const Z=re.default??re;if(Z!=null&&Z.render||Z!=null&&Z.setup){const ne=Kt(Z);ne.config.warnHandler=()=>{},ne.provide(Jt,i),Object.defineProperties(ne.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const Ye=document.createElement("div");ne.mount(Ye),Ye.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(fe=>{var et;const be=(et=fe.querySelector("a"))==null?void 0:et.getAttribute("href"),Ze=(be==null?void 0:be.startsWith("#"))&&be.slice(1);if(!Ze)return;let Xe="";for(;(fe=fe.nextElementSibling)&&!/^h[1-6]$/i.test(fe.tagName);)Xe+=fe.outerHTML;ee.set(Ze,Xe)}),ne.unmount()}if(G)return}const Y=new Set;if(g.value=g.value.map(q=>{const[re,ae]=q.id.split("#"),ee=U.get(re),Z=(ee==null?void 0:ee.get(ae))??"";for(const ne in q.match)Y.add(ne);return{...q,text:Z}}),await he(),G)return;await new Promise(q=>{var re;(re=C.value)==null||re.unmark({done:()=>{var ae;(ae=C.value)==null||ae.markRegExp(I(Y),{done:q})}})});const Ie=((He=t.value)==null?void 0:He.querySelectorAll(".result .excerpt"))??[];for(const q of Ie)(Ge=q.querySelector('mark[data-markjs="true"]'))==null||Ge.scrollIntoView({block:"center"});(Qe=(qe=r.value)==null?void 0:qe.firstElementChild)==null||Qe.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function T(m){const N=Ut(m.slice(0,m.indexOf("#")));try{if(!N)throw new Error(`Cannot find file for id: ${m}`);return{id:m,mod:await mt(()=>import(N),[])}}catch($){return console.error($),{id:m,mod:{}}}}const E=ie(),M=_e(()=>{var m;return((m=v.value)==null?void 0:m.length)<=0});function R(m=!0){var N,$;(N=E.value)==null||N.focus(),m&&(($=E.value)==null||$.select())}De(()=>{R()});function L(m){m.pointerType==="mouse"&&R()}const S=ie(-1),k=ie(!1);Ve(g,m=>{S.value=m.length?0:-1,D()});function D(){he(()=>{const m=document.querySelector(".result.selected");m&&m.scrollIntoView({block:"nearest"})})}xe("ArrowUp",m=>{m.preventDefault(),S.value--,S.value<0&&(S.value=g.value.length-1),k.value=!0,D()}),xe("ArrowDown",m=>{m.preventDefault(),S.value++,S.value>=g.value.length&&(S.value=0),k.value=!0,D()});const F=Rt();xe("Enter",()=>{const m=g.value[S.value];m&&(F.go(m.id),e("close"))}),xe("Escape",()=>{e("close")});const f={modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}},c=er((z=u.value.search)==null?void 0:z.options,f);De(()=>{window.history.pushState(null,"",null)}),tr("popstate",m=>{m.preventDefault(),e("close")});const y=rr(n);De(()=>{n.value=document.body,he(()=>{y.value=!0,he().then(()=>s())})}),Mt(()=>{y.value=!1});function x(){v.value="",he().then(()=>R(!1))}function I(m){return new RegExp([...m].sort((N,$)=>$.length-N.length).map(N=>`(${N.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")})`).join("|"),"gi")}return(m,N)=>{var $,J,H,G;return X(),Pt($t,{to:"body"},[A("div",{ref_key:"el",ref:t,role:"button","aria-owns":($=g.value)!=null&&$.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[A("div",{class:"backdrop",onClick:N[0]||(N[0]=B=>m.$emit("close"))}),A("div",ea,[A("form",{class:"search-bar",onPointerup:N[4]||(N[4]=B=>L(B)),onSubmit:N[5]||(N[5]=Lt(()=>{},["prevent"]))},[A("label",{title:m.placeholder,id:"localsearch-label",for:"localsearch-input"},aa,8,ta),A("div",na,[A("button",{class:"back-button",title:W(c)("modal.backButtonTitle"),onClick:N[1]||(N[1]=B=>m.$emit("close"))},sa,8,ia)]),zt(A("input",{ref_key:"searchInput",ref:E,"onUpdate:modelValue":N[2]||(N[2]=B=>Vt(v)?v.value=B:null),placeholder:m.placeholder,id:"localsearch-input","aria-labelledby":"localsearch-label",class:"search-input"},null,8,la),[[Bt,W(v)]]),A("div",ua,[b.value?we("",!0):(X(),te("button",{key:0,class:tt(["toggle-layout-button",{"detailed-list":W(p)}]),title:W(c)("modal.displayDetails"),onClick:N[3]||(N[3]=B=>S.value>-1&&(p.value=!W(p)))},da,10,ca)),A("button",{class:"clear-button",type:"reset",disabled:M.value,title:W(c)("modal.resetButtonTitle"),onClick:x},pa,8,ha)])],32),A("ul",{ref_key:"resultsEl",ref:r,id:(J=g.value)!=null&&J.length?"localsearch-list":void 0,role:(H=g.value)!=null&&H.length?"listbox":void 0,"aria-labelledby":(G=g.value)!=null&&G.length?"localsearch-label":void 0,class:"results",onMousemove:N[7]||(N[7]=B=>k.value=!1)},[(X(!0),te(at,null,rt(g.value,(B,U)=>(X(),te("li",{key:B.id,role:"option","aria-selected":S.value===U?"true":"false"},[A("a",{href:B.id,class:tt(["result",{selected:S.value===U}]),"aria-label":[...B.titles,B.title].join(" > "),onMouseenter:Y=>!k.value&&(S.value=U),onFocusin:Y=>S.value=U,onClick:N[6]||(N[6]=Y=>m.$emit("close"))},[A("div",null,[A("div",ba,[wa,(X(!0),te(at,null,rt(B.titles,(Y,Ie)=>(X(),te("span",{key:Ie,class:"title"},[A("span",{class:"text",innerHTML:Y},null,8,xa),Fa]))),128)),A("span",Ea,[A("span",{class:"text",innerHTML:B.title},null,8,Sa)])]),W(p)?(X(),te("div",Aa,[B.text?(X(),te("div",Ca,[A("div",{class:"vp-doc",innerHTML:B.text},null,8,Na)])):we("",!0),Ta,ka])):we("",!0)])],42,ga)],8,ma))),128)),W(v)&&!g.value.length&&w.value?(X(),te("li",Ia,[ve(pe(W(c)("modal.noResultsText"))+' "',1),A("strong",null,pe(W(v)),1),ve('" ')])):we("",!0)],40,ya),A("div",_a,[A("span",null,[A("kbd",{"aria-label":W(c)("modal.footer.navigateUpKeyAriaLabel")},Ra,8,Da),A("kbd",{"aria-label":W(c)("modal.footer.navigateDownKeyAriaLabel")},La,8,Ma),ve(" "+pe(W(c)("modal.footer.navigateText")),1)]),A("span",null,[A("kbd",{"aria-label":W(c)("modal.footer.selectKeyAriaLabel")},Va,8,za),ve(" "+pe(W(c)("modal.footer.selectText")),1)]),A("span",null,[A("kbd",{"aria-label":W(c)("modal.footer.closeKeyAriaLabel")},"esc",8,$a),ve(" "+pe(W(c)("modal.footer.closeText")),1)])])])],8,Xr)])}}});const Ha=Ht(ja,[["__scopeId","data-v-58c4b8ff"]]);export{Ha as default}; diff --git a/pr-333/assets/chunks/arc.81630743.js b/pr-333/assets/chunks/arc.81630743.js deleted file mode 100644 index 622db7e6a..000000000 --- a/pr-333/assets/chunks/arc.81630743.js +++ /dev/null @@ -1 +0,0 @@ -import{w as ln,c as S}from"./path.53f90ab3.js";import{ar as an,as as H,at as q,au as rn,av as y,ap as tn,aw as L,ax as _,ay as un,az as o,aA as sn,aB as on,aC as fn}from"../app.1f62ceb3.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function xn(l,h,C,z,v,A,j,a){var D=C-l,i=z-h,n=j-v,m=a-A,r=m*D-n*i;if(!(r*ru*u+G*G&&(I=P,O=x),{cx:I,cy:O,x01:-n,y01:-m,x11:I*(v/T-1),y11:O*(v/T-1)}}function vn(){var l=cn,h=yn,C=S(0),z=null,v=gn,A=mn,j=pn,a=null,D=ln(i);function i(){var n,m,r=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-rn,c=A.apply(this,arguments)-rn,F=un(c-f),t=c>f;if(a||(a=n=D()),sy))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),r>y&&(a.moveTo(r*H(c),r*q(c)),a.arc(0,0,r,c,f,t));else{var p=f,g=c,R=f,T=c,w=F,E=F,I=j.apply(this,arguments)/2,O=I>y&&(z?+z.apply(this,arguments):L(r*r+s*s)),P=_(un(s-r)/2,+C.apply(this,arguments)),x=P,d=P,e,u;if(O>y){var G=sn(O/r*q(I)),M=sn(O/s*q(I));(w-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(w=0,R=T=(f+c)/2),(E-=M*2)>y?(M*=t?1:-1,p+=M,g-=M):(E=0,p=g=(f+c)/2)}var J=s*H(p),K=s*q(p),N=r*H(T),Q=r*q(T);if(P>y){var U=s*H(g),V=s*q(g),X=r*H(R),Y=r*q(R),B;if(Fy?d>y?(e=W(X,Y,J,K,s,d,t),u=W(U,V,N,Q,s,d,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),dy)||!(w>y)?a.lineTo(N,Q):x>y?(e=W(N,Q,U,V,r,-x,t),u=W(J,K,X,Y,r,-x,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),x"u"&&(D.yylloc={});var se=D.yylloc;h.push(se);var Ne=D.options&&D.options.ranges;typeof Mt.yy.parseError=="function"?this.parseError=Mt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Be(){var z;return z=g.pop()||D.lex()||ge,typeof z!="number"&&(z instanceof Array&&(g=z,z=g.pop()),z=x.symbols_[z]||z),z}for(var M,Lt,N,ae,Bt={},zt,X,be,Wt;;){if(Lt=m[m.length-1],this.defaultActions[Lt]?N=this.defaultActions[Lt]:((M===null||typeof M>"u")&&(M=Be()),N=Vt[Lt]&&Vt[Lt][M]),typeof N>"u"||!N.length||!N[0]){var re="";Wt=[];for(zt in Vt[Lt])this.terminals_[zt]&&zt>Me&&Wt.push("'"+this.terminals_[zt]+"'");D.showPosition?re="Parse error on line "+(Pt+1)+`: -`+D.showPosition()+` -Expecting `+Wt.join(", ")+", got '"+(this.terminals_[M]||M)+"'":re="Parse error on line "+(Pt+1)+": Unexpected "+(M==ge?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(re,{text:D.match,token:this.terminals_[M]||M,line:D.yylineno,loc:se,expected:Wt})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Lt+", token: "+M);switch(N[0]){case 1:m.push(M),O.push(D.yytext),h.push(D.yylloc),m.push(N[1]),M=null,ye=D.yyleng,f=D.yytext,Pt=D.yylineno,se=D.yylloc;break;case 2:if(X=this.productions_[N[1]][1],Bt.$=O[O.length-X],Bt._$={first_line:h[h.length-(X||1)].first_line,last_line:h[h.length-1].last_line,first_column:h[h.length-(X||1)].first_column,last_column:h[h.length-1].last_column},Ne&&(Bt._$.range=[h[h.length-(X||1)].range[0],h[h.length-1].range[1]]),ae=this.performAction.apply(Bt,[f,ye,Pt,Mt.yy,N[1],O,h].concat(Le)),typeof ae<"u")return ae;X&&(m=m.slice(0,-1*X*2),O=O.slice(0,-1*X),h=h.slice(0,-1*X)),m.push(this.productions_[N[1]][0]),O.push(Bt.$),h.push(Bt._$),be=Vt[m[m.length-2]][m[m.length-1]],m.push(be);break;case 3:return!0}}return!0}},Pe=function(){var Ot={EOF:1,parseError:function(x,m){if(this.yy.parser)this.yy.parser.parseError(x,m);else throw new Error(x)},setInput:function(_,x){return this.yy=x||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var x=_.match(/(?:\r\n?|\n).*/g);return x?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},unput:function(_){var x=_.length,m=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-x),this.offset-=x;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),m.length-1&&(this.yylineno-=m.length-1);var O=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:m?(m.length===g.length?this.yylloc.first_column:0)+g[g.length-m.length].length-m[0].length:this.yylloc.first_column-x},this.options.ranges&&(this.yylloc.range=[O[0],O[0]+this.yyleng-x]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(_){this.unput(this.match.slice(_))},pastInput:function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var _=this.pastInput(),x=new Array(_.length+1).join("-");return _+this.upcomingInput()+` -`+x+"^"},test_match:function(_,x){var m,g,O;if(this.options.backtrack_lexer&&(O={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(O.yylloc.range=this.yylloc.range.slice(0))),g=_[0].match(/(?:\r\n?|\n).*/g),g&&(this.yylineno+=g.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:g?g[g.length-1].length-g[g.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_[0].length},this.yytext+=_[0],this.match+=_[0],this.matches=_,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_[0].length),this.matched+=_[0],m=this.performAction.call(this,this.yy,this,x,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),m)return m;if(this._backtrack){for(var h in O)this[h]=O[h];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,x,m,g;this._more||(this.yytext="",this.match="");for(var O=this._currentRules(),h=0;hx[0].length)){if(x=m,g=h,this.options.backtrack_lexer){if(_=this.test_match(m,O[h]),_!==!1)return _;if(this._backtrack){x=!1;continue}else return!1}else if(!this.options.flex)break}return x?(_=this.test_match(x,O[g]),_!==!1?_:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var x=this.next();return x||this.lex()},begin:function(x){this.conditionStack.push(x)},popState:function(){var x=this.conditionStack.length-1;return x>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(x){return x=this.conditionStack.length-1-Math.abs(x||0),x>=0?this.conditionStack[x]:"INITIAL"},pushState:function(x){this.begin(x)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(x,m,g,O){switch(g){case 0:return this.begin("open_directive"),18;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 10;case 5:return this.begin("type_directive"),19;case 6:return this.popState(),this.begin("arg_directive"),16;case 7:return this.popState(),this.popState(),21;case 8:return 20;case 9:return 32;case 10:return 33;case 11:return this.begin("acc_title"),34;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),36;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:this.popState();break;case 17:return"acc_descr_multiline_value";case 18:break;case 19:c;break;case 20:return 15;case 21:break;case 22:return 22;case 23:return 25;case 24:return 26;case 25:return 27;case 26:return 28;case 27:return this.begin("person_ext"),55;case 28:return this.begin("person"),54;case 29:return this.begin("system_ext_queue"),61;case 30:return this.begin("system_ext_db"),60;case 31:return this.begin("system_ext"),59;case 32:return this.begin("system_queue"),58;case 33:return this.begin("system_db"),57;case 34:return this.begin("system"),56;case 35:return this.begin("boundary"),47;case 36:return this.begin("enterprise_boundary"),44;case 37:return this.begin("system_boundary"),46;case 38:return this.begin("container_ext_queue"),67;case 39:return this.begin("container_ext_db"),66;case 40:return this.begin("container_ext"),65;case 41:return this.begin("container_queue"),64;case 42:return this.begin("container_db"),63;case 43:return this.begin("container"),62;case 44:return this.begin("container_boundary"),48;case 45:return this.begin("component_ext_queue"),73;case 46:return this.begin("component_ext_db"),72;case 47:return this.begin("component_ext"),71;case 48:return this.begin("component_queue"),70;case 49:return this.begin("component_db"),69;case 50:return this.begin("component"),68;case 51:return this.begin("node"),49;case 52:return this.begin("node"),49;case 53:return this.begin("node_l"),50;case 54:return this.begin("node_r"),51;case 55:return this.begin("rel"),74;case 56:return this.begin("birel"),75;case 57:return this.begin("rel_u"),76;case 58:return this.begin("rel_u"),76;case 59:return this.begin("rel_d"),77;case 60:return this.begin("rel_d"),77;case 61:return this.begin("rel_l"),78;case 62:return this.begin("rel_l"),78;case 63:return this.begin("rel_r"),79;case 64:return this.begin("rel_r"),79;case 65:return this.begin("rel_b"),80;case 66:return this.begin("rel_index"),81;case 67:return this.begin("update_el_style"),82;case 68:return this.begin("update_rel_style"),83;case 69:return this.begin("update_layout_config"),84;case 70:return"EOF_IN_STRUCT";case 71:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 72:this.begin("attribute");break;case 73:this.popState(),this.popState();break;case 74:return 90;case 75:break;case 76:return 90;case 77:this.begin("string");break;case 78:this.popState();break;case 79:return"STR";case 80:this.begin("string_kv");break;case 81:return this.begin("string_kv_key"),"STR_KEY";case 82:this.popState(),this.begin("string_kv_value");break;case 83:return"STR_VALUE";case 84:this.popState(),this.popState();break;case 85:return"STR";case 86:return"LBRACE";case 87:return"RBRACE";case 88:return"SPACE";case 89:return"EOL";case 90:return 24}},rules:[/^(?:%%\{)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\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:[16,17],inclusive:!1},acc_descr:{rules:[14],inclusive:!1},acc_title:{rules:[12],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[7,8],inclusive:!1},type_directive:{rules:[6,7],inclusive:!1},open_directive:{rules:[5],inclusive:!1},string_kv_value:{rules:[83,84],inclusive:!1},string_kv_key:{rules:[82],inclusive:!1},string_kv:{rules:[81],inclusive:!1},string:{rules:[78,79],inclusive:!1},attribute:{rules:[73,74,75,76,77,80,85],inclusive:!1},update_layout_config:{rules:[70,71,72,73],inclusive:!1},update_rel_style:{rules:[70,71,72,73],inclusive:!1},update_el_style:{rules:[70,71,72,73],inclusive:!1},rel_b:{rules:[70,71,72,73],inclusive:!1},rel_r:{rules:[70,71,72,73],inclusive:!1},rel_l:{rules:[70,71,72,73],inclusive:!1},rel_d:{rules:[70,71,72,73],inclusive:!1},rel_u:{rules:[70,71,72,73],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[70,71,72,73],inclusive:!1},node_r:{rules:[70,71,72,73],inclusive:!1},node_l:{rules:[70,71,72,73],inclusive:!1},node:{rules:[70,71,72,73],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[70,71,72,73],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[70,71,72,73],inclusive:!1},component_ext:{rules:[70,71,72,73],inclusive:!1},component_queue:{rules:[70,71,72,73],inclusive:!1},component_db:{rules:[70,71,72,73],inclusive:!1},component:{rules:[70,71,72,73],inclusive:!1},container_boundary:{rules:[70,71,72,73],inclusive:!1},container_ext_queue:{rules:[70,71,72,73],inclusive:!1},container_ext_db:{rules:[70,71,72,73],inclusive:!1},container_ext:{rules:[70,71,72,73],inclusive:!1},container_queue:{rules:[70,71,72,73],inclusive:!1},container_db:{rules:[70,71,72,73],inclusive:!1},container:{rules:[70,71,72,73],inclusive:!1},birel:{rules:[70,71,72,73],inclusive:!1},system_boundary:{rules:[70,71,72,73],inclusive:!1},enterprise_boundary:{rules:[70,71,72,73],inclusive:!1},boundary:{rules:[70,71,72,73],inclusive:!1},system_ext_queue:{rules:[70,71,72,73],inclusive:!1},system_ext_db:{rules:[70,71,72,73],inclusive:!1},system_ext:{rules:[70,71,72,73],inclusive:!1},system_queue:{rules:[70,71,72,73],inclusive:!1},system_db:{rules:[70,71,72,73],inclusive:!1},system:{rules:[70,71,72,73],inclusive:!1},person_ext:{rules:[70,71,72,73],inclusive:!1},person:{rules:[70,71,72,73],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,13,15,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,65,66,67,68,69,86,87,88,89,90],inclusive:!0}}};return Ot}();ee.lexer=Pe;function ie(){this.yy={}}return ie.prototype=ee,ee.Parser=ie,new ie}();qt.parser=qt;const qe=qt;let j=[],Rt=[""],P="global",V="",F=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Ft=[],he="",ue=!1,Gt=4,Kt=2;var ke;const Ge=function(){return ke},Ke=function(e){ke=Ee(e,Ut())},Je=function(e,t,a){Ue.parseDirective(this,e,t,a)},Ze=function(e,t,a,o,l,i,s,r,n){if(e==null||t===void 0||t===null||a===void 0||a===null||o===void 0||o===null)return;let u={};const y=Ft.find(d=>d.from===t&&d.to===a);if(y?u=y:Ft.push(u),u.type=e,u.from=t,u.to=a,u.label={text:o},l==null)u.techn={text:""};else if(typeof l=="object"){let[d,p]=Object.entries(l)[0];u[d]={text:p}}else u.techn={text:l};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[d,p]=Object.entries(i)[0];u[d]={text:p}}else u.descr={text:i};if(typeof s=="object"){let[d,p]=Object.entries(s)[0];u[d]=p}else u.sprite=s;if(typeof r=="object"){let[d,p]=Object.entries(r)[0];u[d]=p}else u.tags=r;if(typeof n=="object"){let[d,p]=Object.entries(n)[0];u[d]=p}else u.link=n;u.wrap=Dt()},$e=function(e,t,a,o,l,i,s){if(t===null||a===null)return;let r={};const n=j.find(u=>u.alias===t);if(n&&t===n.alias?r=n:(r.alias=t,j.push(r)),a==null?r.label={text:""}:r.label={text:a},o==null)r.descr={text:""};else if(typeof o=="object"){let[u,y]=Object.entries(o)[0];r[u]={text:y}}else r.descr={text:o};if(typeof l=="object"){let[u,y]=Object.entries(l)[0];r[u]=y}else r.sprite=l;if(typeof i=="object"){let[u,y]=Object.entries(i)[0];r[u]=y}else r.tags=i;if(typeof s=="object"){let[u,y]=Object.entries(s)[0];r[u]=y}else r.link=s;r.typeC4Shape={text:e},r.parentBoundary=P,r.wrap=Dt()},t0=function(e,t,a,o,l,i,s,r){if(t===null||a===null)return;let n={};const u=j.find(y=>y.alias===t);if(u&&t===u.alias?n=u:(n.alias=t,j.push(n)),a==null?n.label={text:""}:n.label={text:a},o==null)n.techn={text:""};else if(typeof o=="object"){let[y,d]=Object.entries(o)[0];n[y]={text:d}}else n.techn={text:o};if(l==null)n.descr={text:""};else if(typeof l=="object"){let[y,d]=Object.entries(l)[0];n[y]={text:d}}else n.descr={text:l};if(typeof i=="object"){let[y,d]=Object.entries(i)[0];n[y]=d}else n.sprite=i;if(typeof s=="object"){let[y,d]=Object.entries(s)[0];n[y]=d}else n.tags=s;if(typeof r=="object"){let[y,d]=Object.entries(r)[0];n[y]=d}else n.link=r;n.wrap=Dt(),n.typeC4Shape={text:e},n.parentBoundary=P},e0=function(e,t,a,o,l,i,s,r){if(t===null||a===null)return;let n={};const u=j.find(y=>y.alias===t);if(u&&t===u.alias?n=u:(n.alias=t,j.push(n)),a==null?n.label={text:""}:n.label={text:a},o==null)n.techn={text:""};else if(typeof o=="object"){let[y,d]=Object.entries(o)[0];n[y]={text:d}}else n.techn={text:o};if(l==null)n.descr={text:""};else if(typeof l=="object"){let[y,d]=Object.entries(l)[0];n[y]={text:d}}else n.descr={text:l};if(typeof i=="object"){let[y,d]=Object.entries(i)[0];n[y]=d}else n.sprite=i;if(typeof s=="object"){let[y,d]=Object.entries(s)[0];n[y]=d}else n.tags=s;if(typeof r=="object"){let[y,d]=Object.entries(r)[0];n[y]=d}else n.link=r;n.wrap=Dt(),n.typeC4Shape={text:e},n.parentBoundary=P},i0=function(e,t,a,o,l){if(e===null||t===null)return;let i={};const s=F.find(r=>r.alias===e);if(s&&e===s.alias?i=s:(i.alias=e,F.push(i)),t==null?i.label={text:""}:i.label={text:t},a==null)i.type={text:"system"};else if(typeof a=="object"){let[r,n]=Object.entries(a)[0];i[r]={text:n}}else i.type={text:a};if(typeof o=="object"){let[r,n]=Object.entries(o)[0];i[r]=n}else i.tags=o;if(typeof l=="object"){let[r,n]=Object.entries(l)[0];i[r]=n}else i.link=l;i.parentBoundary=P,i.wrap=Dt(),V=P,P=e,Rt.push(V)},n0=function(e,t,a,o,l){if(e===null||t===null)return;let i={};const s=F.find(r=>r.alias===e);if(s&&e===s.alias?i=s:(i.alias=e,F.push(i)),t==null?i.label={text:""}:i.label={text:t},a==null)i.type={text:"container"};else if(typeof a=="object"){let[r,n]=Object.entries(a)[0];i[r]={text:n}}else i.type={text:a};if(typeof o=="object"){let[r,n]=Object.entries(o)[0];i[r]=n}else i.tags=o;if(typeof l=="object"){let[r,n]=Object.entries(l)[0];i[r]=n}else i.link=l;i.parentBoundary=P,i.wrap=Dt(),V=P,P=e,Rt.push(V)},s0=function(e,t,a,o,l,i,s,r){if(t===null||a===null)return;let n={};const u=F.find(y=>y.alias===t);if(u&&t===u.alias?n=u:(n.alias=t,F.push(n)),a==null?n.label={text:""}:n.label={text:a},o==null)n.type={text:"node"};else if(typeof o=="object"){let[y,d]=Object.entries(o)[0];n[y]={text:d}}else n.type={text:o};if(l==null)n.descr={text:""};else if(typeof l=="object"){let[y,d]=Object.entries(l)[0];n[y]={text:d}}else n.descr={text:l};if(typeof s=="object"){let[y,d]=Object.entries(s)[0];n[y]=d}else n.tags=s;if(typeof r=="object"){let[y,d]=Object.entries(r)[0];n[y]=d}else n.link=r;n.nodeType=e,n.parentBoundary=P,n.wrap=Dt(),V=P,P=t,Rt.push(V)},a0=function(){P=V,Rt.pop(),V=Rt.pop(),Rt.push(V)},r0=function(e,t,a,o,l,i,s,r,n,u,y){let d=j.find(p=>p.alias===t);if(!(d===void 0&&(d=F.find(p=>p.alias===t),d===void 0))){if(a!=null)if(typeof a=="object"){let[p,C]=Object.entries(a)[0];d[p]=C}else d.bgColor=a;if(o!=null)if(typeof o=="object"){let[p,C]=Object.entries(o)[0];d[p]=C}else d.fontColor=o;if(l!=null)if(typeof l=="object"){let[p,C]=Object.entries(l)[0];d[p]=C}else d.borderColor=l;if(i!=null)if(typeof i=="object"){let[p,C]=Object.entries(i)[0];d[p]=C}else d.shadowing=i;if(s!=null)if(typeof s=="object"){let[p,C]=Object.entries(s)[0];d[p]=C}else d.shape=s;if(r!=null)if(typeof r=="object"){let[p,C]=Object.entries(r)[0];d[p]=C}else d.sprite=r;if(n!=null)if(typeof n=="object"){let[p,C]=Object.entries(n)[0];d[p]=C}else d.techn=n;if(u!=null)if(typeof u=="object"){let[p,C]=Object.entries(u)[0];d[p]=C}else d.legendText=u;if(y!=null)if(typeof y=="object"){let[p,C]=Object.entries(y)[0];d[p]=C}else d.legendSprite=y}},l0=function(e,t,a,o,l,i,s){const r=Ft.find(n=>n.from===t&&n.to===a);if(r!==void 0){if(o!=null)if(typeof o=="object"){let[n,u]=Object.entries(o)[0];r[n]=u}else r.textColor=o;if(l!=null)if(typeof l=="object"){let[n,u]=Object.entries(l)[0];r[n]=u}else r.lineColor=l;if(i!=null)if(typeof i=="object"){let[n,u]=Object.entries(i)[0];r[n]=parseInt(u)}else r.offsetX=parseInt(i);if(s!=null)if(typeof s=="object"){let[n,u]=Object.entries(s)[0];r[n]=parseInt(u)}else r.offsetY=parseInt(s)}},o0=function(e,t,a){let o=Gt,l=Kt;if(typeof t=="object"){const i=Object.values(t)[0];o=parseInt(i)}else o=parseInt(t);if(typeof a=="object"){const i=Object.values(a)[0];l=parseInt(i)}else l=parseInt(a);o>=1&&(Gt=o),l>=1&&(Kt=l)},c0=function(){return Gt},h0=function(){return Kt},u0=function(){return P},d0=function(){return V},Ae=function(e){return e==null?j:j.filter(t=>t.parentBoundary===e)},f0=function(e){return j.find(t=>t.alias===e)},p0=function(e){return Object.keys(Ae(e))},y0=function(e){return e==null?F:F.filter(t=>t.parentBoundary===e)},g0=function(){return Ft},b0=function(){return he},_0=function(e){ue=e},Dt=function(){return ue},x0=function(){j=[],F=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],V="",P="global",Rt=[""],Ft=[],Rt=[""],he="",ue=!1,Gt=4,Kt=2},m0={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},v0={FILLED:0,OPEN:1},E0={LEFTOF:0,RIGHTOF:1,OVER:2},k0=function(e){he=Ee(e,Ut())},Ce={addPersonOrSystem:$e,addPersonOrSystemBoundary:i0,addContainer:t0,addContainerBoundary:n0,addComponent:e0,addDeploymentNode:s0,popBoundaryParseStack:a0,addRel:Ze,updateElStyle:r0,updateRelStyle:l0,updateLayoutConfig:o0,autoWrap:Dt,setWrap:_0,getC4ShapeArray:Ae,getC4Shape:f0,getC4ShapeKeys:p0,getBoundarys:y0,getCurrentBoundaryParse:u0,getParentBoundaryParse:d0,getRels:g0,getTitle:b0,getC4Type:Ge,getC4ShapeInRow:c0,getC4BoundaryInRow:h0,setAccTitle:Ye,getAccTitle:Ie,getAccDescription:Ve,setAccDescription:je,parseDirective:Je,getConfig:()=>Ut().c4,clear:x0,LINETYPE:m0,ARROWTYPE:v0,PLACEMENT:E0,setTitle:k0,setC4Type:Ke},de=function(e,t){return Qe(e,t)},we=function(e,t,a,o,l,i){const s=e.append("image");s.attr("width",t),s.attr("height",a),s.attr("x",o),s.attr("y",l);let r=i.startsWith("data:image/png;base64")?i:We(i);s.attr("xlink:href",r)},A0=(e,t,a)=>{const o=e.append("g");let l=0;for(let i of t){let s=i.textColor?i.textColor:"#444444",r=i.lineColor?i.lineColor:"#444444",n=i.offsetX?parseInt(i.offsetX):0,u=i.offsetY?parseInt(i.offsetY):0,y="";if(l===0){let p=o.append("line");p.attr("x1",i.startPoint.x),p.attr("y1",i.startPoint.y),p.attr("x2",i.endPoint.x),p.attr("y2",i.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",r),p.style("fill","none"),i.type!=="rel_b"&&p.attr("marker-end","url("+y+"#arrowhead)"),(i.type==="birel"||i.type==="rel_b")&&p.attr("marker-start","url("+y+"#arrowend)"),l=-1}else{let p=o.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",r).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",i.startPoint.x).replaceAll("starty",i.startPoint.y).replaceAll("controlx",i.startPoint.x+(i.endPoint.x-i.startPoint.x)/2-(i.endPoint.x-i.startPoint.x)/4).replaceAll("controly",i.startPoint.y+(i.endPoint.y-i.startPoint.y)/2).replaceAll("stopx",i.endPoint.x).replaceAll("stopy",i.endPoint.y)),i.type!=="rel_b"&&p.attr("marker-end","url("+y+"#arrowhead)"),(i.type==="birel"||i.type==="rel_b")&&p.attr("marker-start","url("+y+"#arrowend)")}let d=a.messageFont();W(a)(i.label.text,o,Math.min(i.startPoint.x,i.endPoint.x)+Math.abs(i.endPoint.x-i.startPoint.x)/2+n,Math.min(i.startPoint.y,i.endPoint.y)+Math.abs(i.endPoint.y-i.startPoint.y)/2+u,i.label.width,i.label.height,{fill:s},d),i.techn&&i.techn.text!==""&&(d=a.messageFont(),W(a)("["+i.techn.text+"]",o,Math.min(i.startPoint.x,i.endPoint.x)+Math.abs(i.endPoint.x-i.startPoint.x)/2+n,Math.min(i.startPoint.y,i.endPoint.y)+Math.abs(i.endPoint.y-i.startPoint.y)/2+a.messageFontSize+5+u,Math.max(i.label.width,i.techn.width),i.techn.height,{fill:s,"font-style":"italic"},d))}},C0=function(e,t,a){const o=e.append("g");let l=t.bgColor?t.bgColor:"none",i=t.borderColor?t.borderColor:"#444444",s=t.fontColor?t.fontColor:"black",r={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};t.nodeType&&(r={"stroke-width":1});let n={x:t.x,y:t.y,fill:l,stroke:i,width:t.width,height:t.height,rx:2.5,ry:2.5,attrs:r};de(o,n);let u=a.boundaryFont();u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=s,W(a)(t.label.text,o,t.x,t.y+t.label.Y,t.width,t.height,{fill:"#444444"},u),t.type&&t.type.text!==""&&(u=a.boundaryFont(),u.fontColor=s,W(a)(t.type.text,o,t.x,t.y+t.type.Y,t.width,t.height,{fill:"#444444"},u)),t.descr&&t.descr.text!==""&&(u=a.boundaryFont(),u.fontSize=u.fontSize-2,u.fontColor=s,W(a)(t.descr.text,o,t.x,t.y+t.descr.Y,t.width,t.height,{fill:"#444444"},u))},w0=function(e,t,a){var o;let l=t.bgColor?t.bgColor:a[t.typeC4Shape.text+"_bg_color"],i=t.borderColor?t.borderColor:a[t.typeC4Shape.text+"_border_color"],s=t.fontColor?t.fontColor:"#FFFFFF",r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(t.typeC4Shape.text){case"person":r="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":r="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 n=e.append("g");n.attr("class","person-man");const u=He();switch(t.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":u.x=t.x,u.y=t.y,u.fill=l,u.width=t.width,u.height=t.height,u.stroke=i,u.rx=2.5,u.ry=2.5,u.attrs={"stroke-width":.5},de(n,u);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":n.append("path").attr("fill",l).attr("stroke-width","0.5").attr("stroke",i).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",t.x).replaceAll("starty",t.y).replaceAll("half",t.width/2).replaceAll("height",t.height)),n.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",t.x).replaceAll("starty",t.y).replaceAll("half",t.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":n.append("path").attr("fill",l).attr("stroke-width","0.5").attr("stroke",i).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",t.x).replaceAll("starty",t.y).replaceAll("width",t.width).replaceAll("half",t.height/2)),n.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",t.x+t.width).replaceAll("starty",t.y).replaceAll("half",t.height/2));break}let y=N0(a,t.typeC4Shape.text);switch(n.append("text").attr("fill",s).attr("font-family",y.fontFamily).attr("font-size",y.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",t.typeC4Shape.width).attr("x",t.x+t.width/2-t.typeC4Shape.width/2).attr("y",t.y+t.typeC4Shape.Y).text("<<"+t.typeC4Shape.text+">>"),t.typeC4Shape.text){case"person":case"external_person":we(n,48,48,t.x+t.width/2-24,t.y+t.image.Y,r);break}let d=a[t.typeC4Shape.text+"Font"]();return d.fontWeight="bold",d.fontSize=d.fontSize+2,d.fontColor=s,W(a)(t.label.text,n,t.x,t.y+t.label.Y,t.width,t.height,{fill:s},d),d=a[t.typeC4Shape.text+"Font"](),d.fontColor=s,t.techn&&((o=t.techn)==null?void 0:o.text)!==""?W(a)(t.techn.text,n,t.x,t.y+t.techn.Y,t.width,t.height,{fill:s,"font-style":"italic"},d):t.type&&t.type.text!==""&&W(a)(t.type.text,n,t.x,t.y+t.type.Y,t.width,t.height,{fill:s,"font-style":"italic"},d),t.descr&&t.descr.text!==""&&(d=a.personFont(),d.fontColor=s,W(a)(t.descr.text,n,t.x,t.y+t.descr.Y,t.width,t.height,{fill:s},d)),t.height},T0=function(e){e.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")},O0=function(e){e.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")},R0=function(e){e.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")},D0=function(e){e.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")},S0=function(e){e.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")},P0=function(e){e.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")},M0=function(e){e.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)},L0=function(e){const a=e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);a.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"),a.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")},N0=(e,t)=>({fontFamily:e[t+"FontFamily"],fontSize:e[t+"FontSize"],fontWeight:e[t+"FontWeight"]}),W=function(){function e(l,i,s,r,n,u,y){const d=i.append("text").attr("x",s+n/2).attr("y",r+u/2+5).style("text-anchor","middle").text(l);o(d,y)}function t(l,i,s,r,n,u,y,d){const{fontSize:p,fontFamily:C,fontWeight:T}=d,R=l.split(le.lineBreakRegex);for(let S=0;S=this.data.widthLimit||o>=this.data.widthLimit||this.nextData.cnt>Te)&&(a=this.nextData.startx+t.margin+b.nextLinePaddingX,l=this.nextData.stopy+t.margin*2,this.nextData.stopx=o=a+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=i=l+t.height,this.nextData.cnt=1),t.x=a,t.y=l,this.updateVal(this.data,"startx",a,Math.min),this.updateVal(this.data,"starty",l,Math.min),this.updateVal(this.data,"stopx",o,Math.max),this.updateVal(this.data,"stopy",i,Math.max),this.updateVal(this.nextData,"startx",a,Math.min),this.updateVal(this.nextData,"starty",l,Math.min),this.updateVal(this.nextData,"stopx",o,Math.max),this.updateVal(this.nextData,"stopy",i,Math.max)}init(t){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},ce(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}}const ce=function(e){Fe(b,e),e.fontFamily&&(b.personFontFamily=b.systemFontFamily=b.messageFontFamily=e.fontFamily),e.fontSize&&(b.personFontSize=b.systemFontSize=b.messageFontSize=e.fontSize),e.fontWeight&&(b.personFontWeight=b.systemFontWeight=b.messageFontWeight=e.fontWeight)},jt=(e,t)=>({fontFamily:e[t+"FontFamily"],fontSize:e[t+"FontSize"],fontWeight:e[t+"FontWeight"]}),Ht=e=>({fontFamily:e.boundaryFontFamily,fontSize:e.boundaryFontSize,fontWeight:e.boundaryFontWeight}),B0=e=>({fontFamily:e.messageFontFamily,fontSize:e.messageFontSize,fontWeight:e.messageFontWeight});function I(e,t,a,o,l){if(!t[e].width)if(a)t[e].text=ze(t[e].text,l,o),t[e].textLines=t[e].text.split(le.lineBreakRegex).length,t[e].width=l,t[e].height=xe(t[e].text,o);else{let i=t[e].text.split(le.lineBreakRegex);t[e].textLines=i.length;let s=0;t[e].height=0,t[e].width=0;for(const r of i)t[e].width=Math.max(Yt(r,o),t[e].width),s=xe(r,o),t[e].height=t[e].height+s}}const Re=function(e,t,a){t.x=a.data.startx,t.y=a.data.starty,t.width=a.data.stopx-a.data.startx,t.height=a.data.stopy-a.data.starty,t.label.y=b.c4ShapeMargin-35;let o=t.wrap&&b.wrap,l=Ht(b);l.fontSize=l.fontSize+2,l.fontWeight="bold";let i=Yt(t.label.text,l);I("label",t,o,l,i),U.drawBoundary(e,t,b)},De=function(e,t,a,o){let l=0;for(const i of o){l=0;const s=a[i];let r=jt(b,s.typeC4Shape.text);switch(r.fontSize=r.fontSize-2,s.typeC4Shape.width=Yt("«"+s.typeC4Shape.text+"»",r),s.typeC4Shape.height=r.fontSize+2,s.typeC4Shape.Y=b.c4ShapePadding,l=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=l,l=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=l,l=s.image.Y+s.image.height);let n=s.wrap&&b.wrap,u=b.width-b.c4ShapePadding*2,y=jt(b,s.typeC4Shape.text);if(y.fontSize=y.fontSize+2,y.fontWeight="bold",I("label",s,n,y,u),s.label.Y=l+8,l=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let C=jt(b,s.typeC4Shape.text);I("type",s,n,C,u),s.type.Y=l+5,l=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let C=jt(b,s.techn.text);I("techn",s,n,C,u),s.techn.Y=l+5,l=s.techn.Y+s.techn.height}let d=l,p=s.label.width;if(s.descr&&s.descr.text!==""){let C=jt(b,s.typeC4Shape.text);I("descr",s,n,C,u),s.descr.Y=l+20,l=s.descr.Y+s.descr.height,p=Math.max(s.label.width,s.descr.width),d=l-s.descr.textLines*5}p=p+b.c4ShapePadding,s.width=Math.max(s.width||b.width,p,b.width),s.height=Math.max(s.height||b.height,d,b.height),s.margin=s.margin||b.c4ShapeMargin,e.insert(s),U.drawC4Shape(t,s,b)}e.bumpLastMargin(b.c4ShapeMargin)};class B{constructor(t,a){this.x=t,this.y=a}}let me=function(e,t){let a=e.x,o=e.y,l=t.x,i=t.y,s=a+e.width/2,r=o+e.height/2,n=Math.abs(a-l),u=Math.abs(o-i),y=u/n,d=e.height/e.width,p=null;return o==i&&al?p=new B(a,r):a==l&&oi&&(p=new B(s,o)),a>l&&o=y?p=new B(a,r+y*e.width/2):p=new B(s-n/u*e.height/2,o+e.height):a=y?p=new B(a+e.width,r+y*e.width/2):p=new B(s+n/u*e.height/2,o+e.height):ai?d>=y?p=new B(a+e.width,r-y*e.width/2):p=new B(s+e.height/2*n/u,o):a>l&&o>i&&(d>=y?p=new B(a,r-e.width/2*y):p=new B(s-e.height/2*n/u,o)),p},Y0=function(e,t){let a={x:0,y:0};a.x=t.x+t.width/2,a.y=t.y+t.height/2;let o=me(e,a);a.x=e.x+e.width/2,a.y=e.y+e.height/2;let l=me(t,a);return{startPoint:o,endPoint:l}};const I0=function(e,t,a,o){let l=0;for(let i of t){l=l+1;let s=i.wrap&&b.wrap,r=B0(b);o.db.getC4Type()==="C4Dynamic"&&(i.label.text=l+": "+i.label.text);let u=Yt(i.label.text,r);I("label",i,s,r,u),i.techn&&i.techn.text!==""&&(u=Yt(i.techn.text,r),I("techn",i,s,r,u)),i.descr&&i.descr.text!==""&&(u=Yt(i.descr.text,r),I("descr",i,s,r,u));let y=a(i.from),d=a(i.to),p=Y0(y,d);i.startPoint=p.startPoint,i.endPoint=p.endPoint}U.drawRels(e,t,b)};function Se(e,t,a,o,l){let i=new Oe(l);i.data.widthLimit=a.data.widthLimit/Math.min(oe,o.length);for(let[s,r]of o.entries()){let n=0;r.image={width:0,height:0,Y:0},r.sprite&&(r.image.width=48,r.image.height=48,r.image.Y=n,n=r.image.Y+r.image.height);let u=r.wrap&&b.wrap,y=Ht(b);if(y.fontSize=y.fontSize+2,y.fontWeight="bold",I("label",r,u,y,i.data.widthLimit),r.label.Y=n+8,n=r.label.Y+r.label.height,r.type&&r.type.text!==""){r.type.text="["+r.type.text+"]";let T=Ht(b);I("type",r,u,T,i.data.widthLimit),r.type.Y=n+5,n=r.type.Y+r.type.height}if(r.descr&&r.descr.text!==""){let T=Ht(b);T.fontSize=T.fontSize-2,I("descr",r,u,T,i.data.widthLimit),r.descr.Y=n+20,n=r.descr.Y+r.descr.height}if(s==0||s%oe===0){let T=a.data.startx+b.diagramMarginX,R=a.data.stopy+b.diagramMarginY+n;i.setData(T,T,R,R)}else{let T=i.data.stopx!==i.data.startx?i.data.stopx+b.diagramMarginX:i.data.startx,R=i.data.starty;i.setData(T,T,R,R)}i.name=r.alias;let d=l.db.getC4ShapeArray(r.alias),p=l.db.getC4ShapeKeys(r.alias);p.length>0&&De(i,e,d,p),t=r.alias;let C=l.db.getBoundarys(t);C.length>0&&Se(e,t,i,C,l),r.alias!=="global"&&Re(e,r,i),a.data.stopy=Math.max(i.data.stopy+b.c4ShapeMargin,a.data.stopy),a.data.stopx=Math.max(i.data.stopx+b.c4ShapeMargin,a.data.stopx),Jt=Math.max(Jt,a.data.stopx),Zt=Math.max(Zt,a.data.stopy)}}const V0=function(e,t,a,o){b=Ut().c4;const l=Ut().securityLevel;let i;l==="sandbox"&&(i=Qt("#i"+t));const s=l==="sandbox"?Qt(i.nodes()[0].contentDocument.body):Qt("body");let r=o.db;o.db.setWrap(b.wrap),Te=r.getC4ShapeInRow(),oe=r.getC4BoundaryInRow(),_e.debug(`C:${JSON.stringify(b,null,2)}`);const n=l==="sandbox"?s.select(`[id="${t}"]`):Qt(`[id="${t}"]`);U.insertComputerIcon(n),U.insertDatabaseIcon(n),U.insertClockIcon(n);let u=new Oe(o);u.setData(b.diagramMarginX,b.diagramMarginX,b.diagramMarginY,b.diagramMarginY),u.data.widthLimit=screen.availWidth,Jt=b.diagramMarginX,Zt=b.diagramMarginY;const y=o.db.getTitle();let d=o.db.getBoundarys("");Se(n,"",u,d,o),U.insertArrowHead(n),U.insertArrowEnd(n),U.insertArrowCrossHead(n),U.insertArrowFilledHead(n),I0(n,o.db.getRels(),o.db.getC4Shape,o),u.data.stopx=Jt,u.data.stopy=Zt;const p=u.data;let T=p.stopy-p.starty+2*b.diagramMarginY;const S=p.stopx-p.startx+2*b.diagramMarginX;y&&n.append("text").text(y).attr("x",(p.stopx-p.startx)/2-4*b.diagramMarginX).attr("y",p.starty+b.diagramMarginY),Xe(n,T,S,b.useMaxWidth);const L=y?60:0;n.attr("viewBox",p.startx-b.diagramMarginX+" -"+(b.diagramMarginY+L)+" "+S+" "+(T+L)),_e.debug("models:",p)},ve={drawPersonOrSystemArray:De,drawBoundary:Re,setConf:ce,draw:V0},j0=e=>`.person { - stroke: ${e.personBorder}; - fill: ${e.personBkg}; - } -`,U0=j0,Q0={parser:qe,db:Ce,renderer:ve,styles:U0,init:e=>{ve.setConf(e.c4)}};export{Q0 as diagram}; diff --git a/pr-333/assets/chunks/classDiagram-5e843ae7.b7fb3860.js b/pr-333/assets/chunks/classDiagram-5e843ae7.b7fb3860.js deleted file mode 100644 index e5c86d111..000000000 --- a/pr-333/assets/chunks/classDiagram-5e843ae7.b7fb3860.js +++ /dev/null @@ -1 +0,0 @@ -import{p as N,d as M,s as W}from"./styles-88ad4441.77dd9b47.js";import{c as S,l as d,h as u,i as H}from"../app.1f62ceb3.js";import{G as X,l as Y}from"./layout.c9cae6cc.js";import{s as l}from"./svgDraw-5d8a058e.0c833b4b.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";import"./line.e2bfcddf.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";let h={};const g=20,p=function(e){const s=Object.entries(h).find(k=>k[1].label===e);if(s)return s[0]},Z=function(e){e.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),e.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).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")},D=function(e,s,k,a){const c=S().class;h={},d.info("Rendering diagram "+e);const L=S().securityLevel;let y;L==="sandbox"&&(y=u("#i"+s));const x=L==="sandbox"?u(y.nodes()[0].contentDocument.body):u("body"),n=x.select(`[id='${s}']`);Z(n);const r=new X({multigraph:!0});r.setGraph({isMultiGraph:!0}),r.setDefaultEdgeLabel(function(){return{}});const m=a.db.getClasses(),$=Object.keys(m);for(const t of $){const o=m[t],i=l.drawClass(n,o,c,a);h[i.id]=i,r.setNode(i.id,i),d.info("Org height: "+i.height)}a.db.getRelations().forEach(function(t){d.info("tjoho"+p(t.id1)+p(t.id2)+JSON.stringify(t)),r.setEdge(p(t.id1),p(t.id2),{relation:t},t.title||"DEFAULT")}),a.db.getNotes().forEach(function(t){d.debug(`Adding note: ${JSON.stringify(t)}`);const o=l.drawNote(n,t,c,a);h[o.id]=o,r.setNode(o.id,o),t.class&&t.class in m&&r.setEdge(t.id,p(t.class),{relation:{id1:t.id,id2:t.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),Y(r),r.nodes().forEach(function(t){t!==void 0&&r.node(t)!==void 0&&(d.debug("Node "+t+": "+JSON.stringify(r.node(t))),x.select("#"+(a.db.lookUpDomId(t)||t)).attr("transform","translate("+(r.node(t).x-r.node(t).width/2)+","+(r.node(t).y-r.node(t).height/2)+" )"))}),r.edges().forEach(function(t){t!==void 0&&r.edge(t)!==void 0&&(d.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(r.edge(t))),l.drawEdge(n,r.edge(t),r.edge(t).relation,c,a))});const f=n.node().getBBox(),E=f.width+g*2,b=f.height+g*2;H(n,b,E,c.useMaxWidth);const w=`${f.x-g} ${f.y-g} ${E} ${b}`;d.debug(`viewBox ${w}`),n.attr("viewBox",w)},B={draw:D},z={parser:N,db:M,renderer:B,styles:W,init:e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute,M.clear()}};export{z as diagram}; diff --git a/pr-333/assets/chunks/classDiagram-v2-8c3b3e6a.65ac4ce1.js b/pr-333/assets/chunks/classDiagram-v2-8c3b3e6a.65ac4ce1.js deleted file mode 100644 index 8c2c3b435..000000000 --- a/pr-333/assets/chunks/classDiagram-v2-8c3b3e6a.65ac4ce1.js +++ /dev/null @@ -1,2 +0,0 @@ -import{p as I,d as N,s as M}from"./styles-88ad4441.77dd9b47.js";import{l as d,c,h as w,y as R,t as B,r as E,o as _,p as G,j as C}from"../app.1f62ceb3.js";import{G as z}from"./layout.c9cae6cc.js";import{r as P}from"./index-4c4adb72.f92dce56.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";import"./edges-b00f0ec2.6d3248f9.js";import"./createText-285e50b4.e45d4ac7.js";import"./svgDraw-5d8a058e.0c833b4b.js";import"./line.e2bfcddf.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const S=s=>C.sanitizeText(s,c());let k={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const q=function(s,t,y,n){const e=Object.keys(s);d.info("keys:",e),d.info(s),e.forEach(function(i){var o,r;const l=s[i],p={shape:"rect",id:l.id,domId:l.domId,labelText:S(l.id),labelStyle:"",style:"fill: none; stroke: black",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};t.setNode(l.id,p),A(l.classes,t,y,n,l.id),d.info("setNode",p)})},A=function(s,t,y,n,e){const i=Object.keys(s);d.info("keys:",i),d.info(s),i.filter(o=>s[o].parent==e).forEach(function(o){var r,l;const a=s[o],p=a.cssClasses.join(" "),f={labelStyle:"",style:""},h=a.label??a.id,b=0,m="class_box",u={labelStyle:f.labelStyle,shape:m,labelText:S(h),classData:a,rx:b,ry:b,class:p,style:f.style,id:a.id,domId:a.domId,tooltip:n.db.getTooltip(a.id,e)||"",haveCallback:a.haveCallback,link:a.link,width:a.type==="group"?500:void 0,type:a.type,padding:((r=c().flowchart)==null?void 0:r.padding)??((l=c().class)==null?void 0:l.padding)};t.setNode(a.id,u),e&&t.setParent(a.id,e),d.info("setNode",u)})},F=function(s,t,y,n){d.info(s),s.forEach(function(e,i){var o,r;const l=e,a="",p={labelStyle:"",style:""},f=l.text,h=0,b="note",m={labelStyle:p.labelStyle,shape:b,labelText:S(f),noteData:l,rx:h,ry:h,class:a,style:p.style,id:l.id,domId:l.id,tooltip:"",type:"note",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};if(t.setNode(l.id,m),d.info("setNode",m),!l.class||!(l.class in n))return;const u=y+i,g={id:`edgeNote${u}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:E(k.curve,_)};t.setEdge(l.id,l.class,g,u)})},H=function(s,t){const y=c().flowchart;let n=0;s.forEach(function(e){var i;n++;const o={classes:"relation",pattern:e.relation.lineType==1?"dashed":"solid",id:"id"+n,arrowhead:e.type==="arrow_open"?"none":"normal",startLabelRight:e.relationTitle1==="none"?"":e.relationTitle1,endLabelLeft:e.relationTitle2==="none"?"":e.relationTitle2,arrowTypeStart:D(e.relation.type1),arrowTypeEnd:D(e.relation.type2),style:"fill:none",labelStyle:"",curve:E(y==null?void 0:y.curve,_)};if(d.info(o,e),e.style!==void 0){const r=G(e.style);o.style=r.style,o.labelStyle=r.labelStyle}e.text=e.title,e.text===void 0?e.style!==void 0&&(o.arrowheadStyle="fill: #333"):(o.arrowheadStyle="fill: #333",o.labelpos="c",((i=c().flowchart)==null?void 0:i.htmlLabels)??c().htmlLabels?(o.labelType="html",o.label=''+e.text+""):(o.labelType="text",o.label=e.text.replace(C.lineBreakRegex,` -`),e.style===void 0&&(o.style=o.style||"stroke: #333; stroke-width: 1.5px;fill:none"),o.labelStyle=o.labelStyle.replace("color:","fill:"))),t.setEdge(e.id1,e.id2,o,n)})},V=function(s){k={...k,...s}},W=async function(s,t,y,n){d.info("Drawing class - ",t);const e=c().flowchart??c().class,i=c().securityLevel;d.info("config:",e);const o=(e==null?void 0:e.nodeSpacing)??50,r=(e==null?void 0:e.rankSpacing)??50,l=new z({multigraph:!0,compound:!0}).setGraph({rankdir:n.db.getDirection(),nodesep:o,ranksep:r,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),a=n.db.getNamespaces(),p=n.db.getClasses(),f=n.db.getRelations(),h=n.db.getNotes();d.info(f),q(a,l,t,n),A(p,l,t,n),H(f,l),F(h,l,f.length+1,p);let b;i==="sandbox"&&(b=w("#i"+t));const m=i==="sandbox"?w(b.nodes()[0].contentDocument.body):w("body"),u=m.select(`[id="${t}"]`),g=m.select("#"+t+" g");if(await P(g,l,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",t),R.insertTitle(u,"classTitleText",(e==null?void 0:e.titleTopMargin)??5,n.db.getDiagramTitle()),B(l,u,e==null?void 0:e.diagramPadding,e==null?void 0:e.useMaxWidth),!(e!=null&&e.htmlLabels)){const T=i==="sandbox"?b.nodes()[0].contentDocument:document,$=T.querySelectorAll('[id="'+t+'"] .edgeLabel .label');for(const x of $){const L=x.getBBox(),v=T.createElementNS("http://www.w3.org/2000/svg","rect");v.setAttribute("rx",0),v.setAttribute("ry",0),v.setAttribute("width",L.width),v.setAttribute("height",L.height),x.insertBefore(v,x.firstChild)}}};function D(s){let t;switch(s){case 0:t="aggregation";break;case 1:t="extension";break;case 2:t="composition";break;case 3:t="dependency";break;case 4:t="lollipop";break;default:t="none"}return t}const J={setConf:V,draw:W},se={parser:I,db:N,renderer:J,styles:M,init:s=>{s.class||(s.class={}),s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute,N.clear()}};export{se as diagram}; diff --git a/pr-333/assets/chunks/createText-285e50b4.e45d4ac7.js b/pr-333/assets/chunks/createText-285e50b4.e45d4ac7.js deleted file mode 100644 index 5f1fc5d07..000000000 --- a/pr-333/assets/chunks/createText-285e50b4.e45d4ac7.js +++ /dev/null @@ -1,7 +0,0 @@ -import{l as At,a4 as zt,a6 as It}from"../app.1f62ceb3.js";const Tt={};function Bt(n,r){const t=r||Tt,e=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,u=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return nt(n,e,u)}function nt(n,r,t){if(Lt(n)){if("value"in n)return n.type==="html"&&!t?"":n.value;if(r&&"alt"in n&&n.alt)return n.alt;if("children"in n)return Hn(n.children,r,t)}return Array.isArray(n)?Hn(n,r,t):""}function Hn(n,r,t){const e=[];let u=-1;for(;++uu?0:u+r:r=r>u?u:r,t=t>0?t:0,e.length<1e4)l=Array.from(e),l.unshift(r,t),n.splice(...l);else for(t&&n.splice(r,t);i0?(tn(n,n.length,0,r),n):r}const Nn={}.hasOwnProperty;function Ot(n){const r={};let t=-1;for(;++tl))return;const T=r.events.length;let H=T,N,V;for(;H--;)if(r.events[H][0]==="exit"&&r.events[H][1].type==="chunkFlow"){if(N){V=r.events[H][1].end;break}N=!0}for(b(e),k=T;kF;){const _=t[D];r.containerState=_[1],_[0].exit.call(r,n)}t.length=F}function j(){u.write([null]),i=void 0,u=void 0,r.containerState._closeFlow=void 0}}function Ut(n,r,t){return O(n,n.attempt(this.parser.constructs.document,r,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Wn(n){if(n===null||Z(n)||Ht(n))return 1;if(qt(n))return 2}function Ln(n,r,t){const e=[];let u=-1;for(;++u1&&n[t][1].end.offset-n[t][1].start.offset>1?2:1;const f=Object.assign({},n[e][1].end),x=Object.assign({},n[t][1].start);Qn(f,-m),Qn(x,m),l={type:m>1?"strongSequence":"emphasisSequence",start:f,end:Object.assign({},n[e][1].end)},a={type:m>1?"strongSequence":"emphasisSequence",start:Object.assign({},n[t][1].start),end:x},i={type:m>1?"strongText":"emphasisText",start:Object.assign({},n[e][1].end),end:Object.assign({},n[t][1].start)},u={type:m>1?"strong":"emphasis",start:Object.assign({},l.start),end:Object.assign({},a.end)},n[e][1].end=Object.assign({},l.start),n[t][1].start=Object.assign({},a.end),c=[],n[e][1].end.offset-n[e][1].start.offset&&(c=Y(c,[["enter",n[e][1],r],["exit",n[e][1],r]])),c=Y(c,[["enter",u,r],["enter",l,r],["exit",l,r],["enter",i,r]]),c=Y(c,Ln(r.parser.constructs.insideSpan.null,n.slice(e+1,t),r)),c=Y(c,[["exit",i,r],["enter",a,r],["exit",a,r],["exit",u,r]]),n[t][1].end.offset-n[t][1].start.offset?(p=2,c=Y(c,[["enter",n[t][1],r],["exit",n[t][1],r]])):p=0,tn(n,e-1,t-e+3,c),t=e+c.length-p-2;break}}for(t=-1;++t0&&z(k)?O(n,j,"linePrefix",i+1)(k):j(k)}function j(k){return k===null||C(k)?n.check($n,I,D)(k):(n.enter("codeFlowValue"),F(k))}function F(k){return k===null||C(k)?(n.exit("codeFlowValue"),j(k)):(n.consume(k),F)}function D(k){return n.exit("codeFenced"),r(k)}function _(k,T,H){let N=0;return V;function V(w){return k.enter("lineEnding"),k.consume(w),k.exit("lineEnding"),y}function y(w){return k.enter("codeFencedFence"),z(w)?O(k,S,"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(w):S(w)}function S(w){return w===a?(k.enter("codeFencedFenceSequence"),P(w)):H(w)}function P(w){return w===a?(N++,k.consume(w),P):N>=l?(k.exit("codeFencedFenceSequence"),z(w)?O(k,R,"whitespace")(w):R(w)):H(w)}function R(w){return w===null||C(w)?(k.exit("codeFencedFence"),T(w)):H(w)}}}function re(n,r,t){const e=this;return u;function u(l){return l===null?t(l):(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),i)}function i(l){return e.parser.lazy[e.now().line]?t(l):r(l)}}const Cn={name:"codeIndented",tokenize:ue},ie={tokenize:le,partial:!0};function ue(n,r,t){const e=this;return u;function u(c){return n.enter("codeIndented"),O(n,i,"linePrefix",4+1)(c)}function i(c){const p=e.events[e.events.length-1];return p&&p[1].type==="linePrefix"&&p[2].sliceSerialize(p[1],!0).length>=4?l(c):t(c)}function l(c){return c===null?m(c):C(c)?n.attempt(ie,l,m)(c):(n.enter("codeFlowValue"),a(c))}function a(c){return c===null||C(c)?(n.exit("codeFlowValue"),l(c)):(n.consume(c),a)}function m(c){return n.exit("codeIndented"),r(c)}}function le(n,r,t){const e=this;return u;function u(l){return e.parser.lazy[e.now().line]?t(l):C(l)?(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),u):O(n,i,"linePrefix",4+1)(l)}function i(l){const a=e.events[e.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?r(l):C(l)?u(l):t(l)}}const ae={name:"codeText",tokenize:ce,resolve:oe,previous:se};function oe(n){let r=n.length-4,t=3,e,u;if((n[t][1].type==="lineEnding"||n[t][1].type==="space")&&(n[r][1].type==="lineEnding"||n[r][1].type==="space")){for(e=t;++e=4?r(l):n.interrupt(e.parser.constructs.flow,t,r)(l)}}function ut(n,r,t,e,u,i,l,a,m){const c=m||Number.POSITIVE_INFINITY;let p=0;return f;function f(b){return b===60?(n.enter(e),n.enter(u),n.enter(i),n.consume(b),n.exit(i),x):b===null||b===32||b===41||An(b)?t(b):(n.enter(e),n.enter(l),n.enter(a),n.enter("chunkString",{contentType:"string"}),I(b))}function x(b){return b===62?(n.enter(i),n.consume(b),n.exit(i),n.exit(u),n.exit(e),r):(n.enter(a),n.enter("chunkString",{contentType:"string"}),h(b))}function h(b){return b===62?(n.exit("chunkString"),n.exit(a),x(b)):b===null||b===60||C(b)?t(b):(n.consume(b),b===92?A:h)}function A(b){return b===60||b===62||b===92?(n.consume(b),h):h(b)}function I(b){return!p&&(b===null||b===41||Z(b))?(n.exit("chunkString"),n.exit(a),n.exit(l),n.exit(e),r(b)):p999||h===null||h===91||h===93&&!m||h===94&&!a&&"_hiddenFootnoteSupport"in l.parser.constructs?t(h):h===93?(n.exit(i),n.enter(u),n.consume(h),n.exit(u),n.exit(e),r):C(h)?(n.enter("lineEnding"),n.consume(h),n.exit("lineEnding"),p):(n.enter("chunkString",{contentType:"string"}),f(h))}function f(h){return h===null||h===91||h===93||C(h)||a++>999?(n.exit("chunkString"),p(h)):(n.consume(h),m||(m=!z(h)),h===92?x:f)}function x(h){return h===91||h===92||h===93?(n.consume(h),a++,f):f(h)}}function at(n,r,t,e,u,i){let l;return a;function a(x){return x===34||x===39||x===40?(n.enter(e),n.enter(u),n.consume(x),n.exit(u),l=x===40?41:x,m):t(x)}function m(x){return x===l?(n.enter(u),n.consume(x),n.exit(u),n.exit(e),r):(n.enter(i),c(x))}function c(x){return x===l?(n.exit(i),m(l)):x===null?t(x):C(x)?(n.enter("lineEnding"),n.consume(x),n.exit("lineEnding"),O(n,c,"linePrefix")):(n.enter("chunkString",{contentType:"string"}),p(x))}function p(x){return x===l||x===null||C(x)?(n.exit("chunkString"),c(x)):(n.consume(x),x===92?f:p)}function f(x){return x===l||x===92?(n.consume(x),p):p(x)}}function dn(n,r){let t;return e;function e(u){return C(u)?(n.enter("lineEnding"),n.consume(u),n.exit("lineEnding"),t=!0,e):z(u)?O(n,e,t?"linePrefix":"lineSuffix")(u):r(u)}}function xn(n){return n.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const ke={name:"definition",tokenize:be},de={tokenize:ye,partial:!0};function be(n,r,t){const e=this;let u;return i;function i(h){return n.enter("definition"),l(h)}function l(h){return lt.call(e,n,a,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(h)}function a(h){return u=xn(e.sliceSerialize(e.events[e.events.length-1][1]).slice(1,-1)),h===58?(n.enter("definitionMarker"),n.consume(h),n.exit("definitionMarker"),m):t(h)}function m(h){return Z(h)?dn(n,c)(h):c(h)}function c(h){return ut(n,p,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(h)}function p(h){return n.attempt(de,f,f)(h)}function f(h){return z(h)?O(n,x,"whitespace")(h):x(h)}function x(h){return h===null||C(h)?(n.exit("definition"),e.parser.defined.push(u),r(h)):t(h)}}function ye(n,r,t){return e;function e(a){return Z(a)?dn(n,u)(a):t(a)}function u(a){return at(n,i,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function i(a){return z(a)?O(n,l,"whitespace")(a):l(a)}function l(a){return a===null||C(a)?r(a):t(a)}}const Se={name:"hardBreakEscape",tokenize:Fe};function Fe(n,r,t){return e;function e(i){return n.enter("hardBreakEscape"),n.consume(i),u}function u(i){return C(i)?(n.exit("hardBreakEscape"),r(i)):t(i)}}const Ee={name:"headingAtx",tokenize:we,resolve:Ce};function Ce(n,r){let t=n.length-2,e=3,u,i;return n[e][1].type==="whitespace"&&(e+=2),t-2>e&&n[t][1].type==="whitespace"&&(t-=2),n[t][1].type==="atxHeadingSequence"&&(e===t-1||t-4>e&&n[t-2][1].type==="whitespace")&&(t-=e+1===t?2:4),t>e&&(u={type:"atxHeadingText",start:n[e][1].start,end:n[t][1].end},i={type:"chunkText",start:n[e][1].start,end:n[t][1].end,contentType:"text"},tn(n,e,t-e+1,[["enter",u,r],["enter",i,r],["exit",i,r],["exit",u,r]])),n}function we(n,r,t){let e=0;return u;function u(p){return n.enter("atxHeading"),i(p)}function i(p){return n.enter("atxHeadingSequence"),l(p)}function l(p){return p===35&&e++<6?(n.consume(p),l):p===null||Z(p)?(n.exit("atxHeadingSequence"),a(p)):t(p)}function a(p){return p===35?(n.enter("atxHeadingSequence"),m(p)):p===null||C(p)?(n.exit("atxHeading"),r(p)):z(p)?O(n,a,"whitespace")(p):(n.enter("atxHeadingText"),c(p))}function m(p){return p===35?(n.consume(p),m):(n.exit("atxHeadingSequence"),a(p))}function c(p){return p===null||p===35||Z(p)?(n.exit("atxHeadingText"),a(p)):(n.consume(p),c)}}const Ae=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Yn=["pre","script","style","textarea"],ze={name:"htmlFlow",tokenize:Le,resolveTo:Be,concrete:!0},Ie={tokenize:De,partial:!0},Te={tokenize:Oe,partial:!0};function Be(n){let r=n.length;for(;r--&&!(n[r][0]==="enter"&&n[r][1].type==="htmlFlow"););return r>1&&n[r-2][1].type==="linePrefix"&&(n[r][1].start=n[r-2][1].start,n[r+1][1].start=n[r-2][1].start,n.splice(r-2,2)),n}function Le(n,r,t){const e=this;let u,i,l,a,m;return c;function c(s){return p(s)}function p(s){return n.enter("htmlFlow"),n.enter("htmlFlowData"),n.consume(s),f}function f(s){return s===33?(n.consume(s),x):s===47?(n.consume(s),i=!0,I):s===63?(n.consume(s),u=3,e.interrupt?r:o):nn(s)?(n.consume(s),l=String.fromCharCode(s),M):t(s)}function x(s){return s===45?(n.consume(s),u=2,h):s===91?(n.consume(s),u=5,a=0,A):nn(s)?(n.consume(s),u=4,e.interrupt?r:o):t(s)}function h(s){return s===45?(n.consume(s),e.interrupt?r:o):t(s)}function A(s){const K="CDATA[";return s===K.charCodeAt(a++)?(n.consume(s),a===K.length?e.interrupt?r:S:A):t(s)}function I(s){return nn(s)?(n.consume(s),l=String.fromCharCode(s),M):t(s)}function M(s){if(s===null||s===47||s===62||Z(s)){const K=s===47,hn=l.toLowerCase();return!K&&!i&&Yn.includes(hn)?(u=1,e.interrupt?r(s):S(s)):Ae.includes(l.toLowerCase())?(u=6,K?(n.consume(s),b):e.interrupt?r(s):S(s)):(u=7,e.interrupt&&!e.parser.lazy[e.now().line]?t(s):i?j(s):F(s))}return s===45||v(s)?(n.consume(s),l+=String.fromCharCode(s),M):t(s)}function b(s){return s===62?(n.consume(s),e.interrupt?r:S):t(s)}function j(s){return z(s)?(n.consume(s),j):V(s)}function F(s){return s===47?(n.consume(s),V):s===58||s===95||nn(s)?(n.consume(s),D):z(s)?(n.consume(s),F):V(s)}function D(s){return s===45||s===46||s===58||s===95||v(s)?(n.consume(s),D):_(s)}function _(s){return s===61?(n.consume(s),k):z(s)?(n.consume(s),_):F(s)}function k(s){return s===null||s===60||s===61||s===62||s===96?t(s):s===34||s===39?(n.consume(s),m=s,T):z(s)?(n.consume(s),k):H(s)}function T(s){return s===m?(n.consume(s),m=null,N):s===null||C(s)?t(s):(n.consume(s),T)}function H(s){return s===null||s===34||s===39||s===47||s===60||s===61||s===62||s===96||Z(s)?_(s):(n.consume(s),H)}function N(s){return s===47||s===62||z(s)?F(s):t(s)}function V(s){return s===62?(n.consume(s),y):t(s)}function y(s){return s===null||C(s)?S(s):z(s)?(n.consume(s),y):t(s)}function S(s){return s===45&&u===2?(n.consume(s),U):s===60&&u===1?(n.consume(s),W):s===62&&u===4?(n.consume(s),J):s===63&&u===3?(n.consume(s),o):s===93&&u===5?(n.consume(s),en):C(s)&&(u===6||u===7)?(n.exit("htmlFlowData"),n.check(Ie,rn,P)(s)):s===null||C(s)?(n.exit("htmlFlowData"),P(s)):(n.consume(s),S)}function P(s){return n.check(Te,R,rn)(s)}function R(s){return n.enter("lineEnding"),n.consume(s),n.exit("lineEnding"),w}function w(s){return s===null||C(s)?P(s):(n.enter("htmlFlowData"),S(s))}function U(s){return s===45?(n.consume(s),o):S(s)}function W(s){return s===47?(n.consume(s),l="",G):S(s)}function G(s){if(s===62){const K=l.toLowerCase();return Yn.includes(K)?(n.consume(s),J):S(s)}return nn(s)&&l.length<8?(n.consume(s),l+=String.fromCharCode(s),G):S(s)}function en(s){return s===93?(n.consume(s),o):S(s)}function o(s){return s===62?(n.consume(s),J):s===45&&u===2?(n.consume(s),o):S(s)}function J(s){return s===null||C(s)?(n.exit("htmlFlowData"),rn(s)):(n.consume(s),J)}function rn(s){return n.exit("htmlFlow"),r(s)}}function Oe(n,r,t){const e=this;return u;function u(l){return C(l)?(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),i):t(l)}function i(l){return e.parser.lazy[e.now().line]?t(l):r(l)}}function De(n,r,t){return e;function e(u){return n.enter("lineEnding"),n.consume(u),n.exit("lineEnding"),n.attempt(Sn,r,t)}}const Pe={name:"htmlText",tokenize:_e};function _e(n,r,t){const e=this;let u,i,l;return a;function a(o){return n.enter("htmlText"),n.enter("htmlTextData"),n.consume(o),m}function m(o){return o===33?(n.consume(o),c):o===47?(n.consume(o),_):o===63?(n.consume(o),F):nn(o)?(n.consume(o),H):t(o)}function c(o){return o===45?(n.consume(o),p):o===91?(n.consume(o),i=0,A):nn(o)?(n.consume(o),j):t(o)}function p(o){return o===45?(n.consume(o),h):t(o)}function f(o){return o===null?t(o):o===45?(n.consume(o),x):C(o)?(l=f,W(o)):(n.consume(o),f)}function x(o){return o===45?(n.consume(o),h):f(o)}function h(o){return o===62?U(o):o===45?x(o):f(o)}function A(o){const J="CDATA[";return o===J.charCodeAt(i++)?(n.consume(o),i===J.length?I:A):t(o)}function I(o){return o===null?t(o):o===93?(n.consume(o),M):C(o)?(l=I,W(o)):(n.consume(o),I)}function M(o){return o===93?(n.consume(o),b):I(o)}function b(o){return o===62?U(o):o===93?(n.consume(o),b):I(o)}function j(o){return o===null||o===62?U(o):C(o)?(l=j,W(o)):(n.consume(o),j)}function F(o){return o===null?t(o):o===63?(n.consume(o),D):C(o)?(l=F,W(o)):(n.consume(o),F)}function D(o){return o===62?U(o):F(o)}function _(o){return nn(o)?(n.consume(o),k):t(o)}function k(o){return o===45||v(o)?(n.consume(o),k):T(o)}function T(o){return C(o)?(l=T,W(o)):z(o)?(n.consume(o),T):U(o)}function H(o){return o===45||v(o)?(n.consume(o),H):o===47||o===62||Z(o)?N(o):t(o)}function N(o){return o===47?(n.consume(o),U):o===58||o===95||nn(o)?(n.consume(o),V):C(o)?(l=N,W(o)):z(o)?(n.consume(o),N):U(o)}function V(o){return o===45||o===46||o===58||o===95||v(o)?(n.consume(o),V):y(o)}function y(o){return o===61?(n.consume(o),S):C(o)?(l=y,W(o)):z(o)?(n.consume(o),y):N(o)}function S(o){return o===null||o===60||o===61||o===62||o===96?t(o):o===34||o===39?(n.consume(o),u=o,P):C(o)?(l=S,W(o)):z(o)?(n.consume(o),S):(n.consume(o),R)}function P(o){return o===u?(n.consume(o),u=void 0,w):o===null?t(o):C(o)?(l=P,W(o)):(n.consume(o),P)}function R(o){return o===null||o===34||o===39||o===60||o===61||o===96?t(o):o===47||o===62||Z(o)?N(o):(n.consume(o),R)}function w(o){return o===47||o===62||Z(o)?N(o):t(o)}function U(o){return o===62?(n.consume(o),n.exit("htmlTextData"),n.exit("htmlText"),r):t(o)}function W(o){return n.exit("htmlTextData"),n.enter("lineEnding"),n.consume(o),n.exit("lineEnding"),G}function G(o){return z(o)?O(n,en,"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):en(o)}function en(o){return n.enter("htmlTextData"),l(o)}}const Dn={name:"labelEnd",tokenize:Ne,resolveTo:He,resolveAll:qe},Me={tokenize:Ve},je={tokenize:We},Re={tokenize:Qe};function qe(n){let r=-1;for(;++r=3&&(c===null||C(c))?(n.exit("thematicBreak"),r(c)):t(c)}function m(c){return c===u?(n.consume(c),e++,m):(n.exit("thematicBreakSequence"),z(c)?O(n,a,"whitespace")(c):a(c))}}const $={name:"list",tokenize:ve,continuation:{tokenize:nr},exit:er},Ke={tokenize:rr,partial:!0},Xe={tokenize:tr,partial:!0};function ve(n,r,t){const e=this,u=e.events[e.events.length-1];let i=u&&u[1].type==="linePrefix"?u[2].sliceSerialize(u[1],!0).length:0,l=0;return a;function a(h){const A=e.containerState.type||(h===42||h===43||h===45?"listUnordered":"listOrdered");if(A==="listUnordered"?!e.containerState.marker||h===e.containerState.marker:zn(h)){if(e.containerState.type||(e.containerState.type=A,n.enter(A,{_container:!0})),A==="listUnordered")return n.enter("listItemPrefix"),h===42||h===45?n.check(bn,t,c)(h):c(h);if(!e.interrupt||h===49)return n.enter("listItemPrefix"),n.enter("listItemValue"),m(h)}return t(h)}function m(h){return zn(h)&&++l<10?(n.consume(h),m):(!e.interrupt||l<2)&&(e.containerState.marker?h===e.containerState.marker:h===41||h===46)?(n.exit("listItemValue"),c(h)):t(h)}function c(h){return n.enter("listItemMarker"),n.consume(h),n.exit("listItemMarker"),e.containerState.marker=e.containerState.marker||h,n.check(Sn,e.interrupt?t:p,n.attempt(Ke,x,f))}function p(h){return e.containerState.initialBlankLine=!0,i++,x(h)}function f(h){return z(h)?(n.enter("listItemPrefixWhitespace"),n.consume(h),n.exit("listItemPrefixWhitespace"),x):t(h)}function x(h){return e.containerState.size=i+e.sliceSerialize(n.exit("listItemPrefix"),!0).length,r(h)}}function nr(n,r,t){const e=this;return e.containerState._closeFlow=void 0,n.check(Sn,u,i);function u(a){return e.containerState.furtherBlankLines=e.containerState.furtherBlankLines||e.containerState.initialBlankLine,O(n,r,"listItemIndent",e.containerState.size+1)(a)}function i(a){return e.containerState.furtherBlankLines||!z(a)?(e.containerState.furtherBlankLines=void 0,e.containerState.initialBlankLine=void 0,l(a)):(e.containerState.furtherBlankLines=void 0,e.containerState.initialBlankLine=void 0,n.attempt(Xe,r,l)(a))}function l(a){return e.containerState._closeFlow=!0,e.interrupt=void 0,O(n,n.attempt($,r,t),"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function tr(n,r,t){const e=this;return O(n,u,"listItemIndent",e.containerState.size+1);function u(i){const l=e.events[e.events.length-1];return l&&l[1].type==="listItemIndent"&&l[2].sliceSerialize(l[1],!0).length===e.containerState.size?r(i):t(i)}}function er(n){n.exit(this.containerState.type)}function rr(n,r,t){const e=this;return O(n,u,"listItemPrefixWhitespace",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4+1);function u(i){const l=e.events[e.events.length-1];return!z(i)&&l&&l[1].type==="listItemPrefixWhitespace"?r(i):t(i)}}const Gn={name:"setextUnderline",tokenize:ur,resolveTo:ir};function ir(n,r){let t=n.length,e,u,i;for(;t--;)if(n[t][0]==="enter"){if(n[t][1].type==="content"){e=t;break}n[t][1].type==="paragraph"&&(u=t)}else n[t][1].type==="content"&&n.splice(t,1),!i&&n[t][1].type==="definition"&&(i=t);const l={type:"setextHeading",start:Object.assign({},n[u][1].start),end:Object.assign({},n[n.length-1][1].end)};return n[u][1].type="setextHeadingText",i?(n.splice(u,0,["enter",l,r]),n.splice(i+1,0,["exit",n[e][1],r]),n[e][1].end=Object.assign({},n[i][1].end)):n[e][1]=l,n.push(["exit",l,r]),n}function ur(n,r,t){const e=this;let u;return i;function i(c){let p=e.events.length,f;for(;p--;)if(e.events[p][1].type!=="lineEnding"&&e.events[p][1].type!=="linePrefix"&&e.events[p][1].type!=="content"){f=e.events[p][1].type==="paragraph";break}return!e.parser.lazy[e.now().line]&&(e.interrupt||f)?(n.enter("setextHeadingLine"),u=c,l(c)):t(c)}function l(c){return n.enter("setextHeadingLineSequence"),a(c)}function a(c){return c===u?(n.consume(c),a):(n.exit("setextHeadingLineSequence"),z(c)?O(n,m,"lineSuffix")(c):m(c))}function m(c){return c===null||C(c)?(n.exit("setextHeadingLine"),r(c)):t(c)}}const lr={tokenize:ar};function ar(n){const r=this,t=n.attempt(Sn,e,n.attempt(this.parser.constructs.flowInitial,u,O(n,n.attempt(this.parser.constructs.flow,u,n.attempt(pe,u)),"linePrefix")));return t;function e(i){if(i===null){n.consume(i);return}return n.enter("lineEndingBlank"),n.consume(i),n.exit("lineEndingBlank"),r.currentConstruct=void 0,t}function u(i){if(i===null){n.consume(i);return}return n.enter("lineEnding"),n.consume(i),n.exit("lineEnding"),r.currentConstruct=void 0,t}}const or={resolveAll:st()},sr=ot("string"),cr=ot("text");function ot(n){return{tokenize:r,resolveAll:st(n==="text"?hr:void 0)};function r(t){const e=this,u=this.parser.constructs[n],i=t.attempt(u,l,a);return l;function l(p){return c(p)?i(p):a(p)}function a(p){if(p===null){t.consume(p);return}return t.enter("data"),t.consume(p),m}function m(p){return c(p)?(t.exit("data"),i(p)):(t.consume(p),m)}function c(p){if(p===null)return!0;const f=u[p];let x=-1;if(f)for(;++x-1){const a=l[0];typeof a=="string"?l[0]=a.slice(e):l.shift()}i>0&&l.push(n[u].slice(0,i))}return l}function mr(n,r){let t=-1;const e=[];let u;for(;++t13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"�":String.fromCharCode(t)}const Ir=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Tr(n){return n.replace(Ir,Br)}function Br(n,r,t){if(r)return r;if(t.charCodeAt(0)===35){const u=t.charCodeAt(1),i=u===120||u===88;return ct(t.slice(i?2:1),i?16:10)}return On(t)||n}function yn(n){return!n||typeof n!="object"?"":"position"in n||"type"in n?Kn(n.position):"start"in n||"end"in n?Kn(n):"line"in n||"column"in n?Tn(n):""}function Tn(n){return Xn(n&&n.line)+":"+Xn(n&&n.column)}function Kn(n){return Tn(n&&n.start)+"-"+Tn(n&&n.end)}function Xn(n){return n&&typeof n=="number"?n:1}const ht={}.hasOwnProperty,pt=function(n,r,t){return typeof r!="string"&&(t=r,r=void 0),Lr(t)(zr(wr(t).document().write(Ar()(n,r,!0))))};function Lr(n){const r={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(Rn),autolinkProtocol:y,autolinkEmail:y,atxHeading:a(_n),blockQuote:a(Fn),characterEscape:y,characterReference:y,codeFenced:a(Pn),codeFencedFenceInfo:m,codeFencedFenceMeta:m,codeIndented:a(Pn,m),codeText:a(kt,m),codeTextData:y,data:y,codeFlowValue:y,definition:a(dt),definitionDestinationString:m,definitionLabelString:m,definitionTitleString:m,emphasis:a(bt),hardBreakEscape:a(Mn),hardBreakTrailing:a(Mn),htmlFlow:a(jn,m),htmlFlowData:y,htmlText:a(jn,m),htmlTextData:y,image:a(yt),label:m,link:a(Rn),listItem:a(St),listItemValue:A,listOrdered:a(qn,h),listUnordered:a(qn),paragraph:a(Ft),reference:hn,referenceString:m,resourceDestinationString:m,resourceTitleString:m,setextHeading:a(_n),strong:a(Et),thematicBreak:a(wt)},exit:{atxHeading:p(),atxHeadingSequence:T,autolink:p(),autolinkEmail:mn,autolinkProtocol:fn,blockQuote:p(),characterEscapeValue:S,characterReferenceMarkerHexadecimal:pn,characterReferenceMarkerNumeric:pn,characterReferenceValue:an,codeFenced:p(j),codeFencedFence:b,codeFencedFenceInfo:I,codeFencedFenceMeta:M,codeFlowValue:S,codeIndented:p(F),codeText:p(W),codeTextData:S,data:S,definition:p(),definitionDestinationString:k,definitionLabelString:D,definitionTitleString:_,emphasis:p(),hardBreakEscape:p(R),hardBreakTrailing:p(R),htmlFlow:p(w),htmlFlowData:S,htmlText:p(U),htmlTextData:S,image:p(en),label:J,labelText:o,lineEnding:P,link:p(G),listItem:p(),listOrdered:p(),listUnordered:p(),paragraph:p(),referenceString:Q,resourceDestinationString:rn,resourceTitleString:s,resource:K,setextHeading:p(V),setextHeadingLineSequence:N,setextHeadingText:H,strong:p(),thematicBreak:p()}};ft(r,(n||{}).mdastExtensions||[]);const t={};return e;function e(g){let d={type:"root",children:[]};const E={stack:[d],tokenStack:[],config:r,enter:c,exit:f,buffer:m,resume:x,setData:i,getData:l},B=[];let L=-1;for(;++L0){const X=E.tokenStack[E.tokenStack.length-1];(X[1]||vn).call(E,void 0,X[0])}for(d.position={start:sn(g.length>0?g[0][1].start:{line:1,column:1,offset:0}),end:sn(g.length>0?g[g.length-2][1].end:{line:1,column:1,offset:0})},L=-1;++L{p!==0&&(u++,e.push([])),c.split(" ").forEach(f=>{f&&e[u].push({content:f,type:a})})}):(l.type==="strong"||l.type==="emphasis")&&l.children.forEach(m=>{i(m,l.type)})}return t.forEach(l=>{l.type==="paragraph"&&l.children.forEach(a=>{i(a)})}),e}function _r(n){const{children:r}=pt(n);function t(e){return e.type==="text"?e.value.replace(/\n/g,"
"):e.type==="strong"?`${e.children.map(t).join("")}`:e.type==="emphasis"?`${e.children.map(t).join("")}`:e.type==="paragraph"?`

${e.children.map(t).join("")}

`:`Unsupported markdown: ${e.type}`}return r.map(t).join("")}function Mr(n){return Intl.Segmenter?[...new Intl.Segmenter().segment(n)].map(r=>r.segment):[...n]}function jr(n,r){const t=Mr(r.content);return mt(n,[],t,r.type)}function mt(n,r,t,e){if(t.length===0)return[{content:r.join(""),type:e},{content:"",type:e}];const[u,...i]=t,l=[...r,u];return n([{content:l.join(""),type:e}])?mt(n,l,i,e):(r.length===0&&u&&(r.push(u),t.shift()),[{content:r.join(""),type:e},{content:t.join(""),type:e}])}function Rr(n,r){if(n.some(({content:t})=>t.includes(` -`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return Bn(n,r)}function Bn(n,r,t=[],e=[]){if(n.length===0)return e.length>0&&t.push(e),t.length>0?t:[];let u="";n[0].content===" "&&(u=" ",n.shift());const i=n.shift()??{content:" ",type:"normal"},l=[...e];if(u!==""&&l.push({content:u,type:"normal"}),l.push(i),r(l))return Bn(n,r,t,l);if(e.length>0)t.push(e),n.unshift(i);else if(i.content){const[a,m]=jr(r,i);t.push([a]),m.content&&n.unshift(m)}return Bn(n,r,t)}function qr(n,r){r&&n.attr("style",r)}function Hr(n,r,t,e,u=!1){const i=n.append("foreignObject"),l=i.append("xhtml:div"),a=r.label,m=r.isNode?"nodeLabel":"edgeLabel";l.html(` - "+a+""),qr(l,r.labelStyle),l.style("display","table-cell"),l.style("white-space","nowrap"),l.style("max-width",t+"px"),l.attr("xmlns","http://www.w3.org/1999/xhtml"),u&&l.attr("class","labelBkg");let c=l.node().getBoundingClientRect();return c.width===t&&(l.style("display","table"),l.style("white-space","break-spaces"),l.style("width",t+"px"),c=l.node().getBoundingClientRect()),i.style("width",c.width),i.style("height",c.height),i.node()}function xt(n,r,t){return n.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",r*t-.1+"em").attr("dy",t+"em")}function Nr(n,r,t){const e=n.append("text"),u=xt(e,1,r);gt(u,t);const i=u.node().getComputedTextLength();return e.remove(),i}function Vr(n,r,t,e=!1){const i=r.append("g"),l=i.insert("rect").attr("class","background"),a=i.append("text").attr("y","-10.1");let m=0;for(const c of t){const p=x=>Nr(i,1.1,x)<=n,f=p(c)?[c]:Rr(c,p);for(const x of f){const h=xt(a,m,1.1);gt(h,x),m++}}if(e){const c=a.node().getBBox(),p=2;return l.attr("x",-p).attr("y",-p).attr("width",c.width+2*p).attr("height",c.height+2*p),i.node()}else return a.node()}function gt(n,r){n.text(""),r.forEach((t,e)=>{const u=n.append("tspan").attr("font-style",t.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",t.type==="strong"?"bold":"normal");e===0?u.text(t.content):u.text(" "+t.content)})}const Qr=(n,r="",{style:t="",isTitle:e=!1,classes:u="",useHtmlLabels:i=!0,isNode:l=!0,width:a=200,addSvgBackground:m=!1}={})=>{if(At.info("createText",r,t,e,u,i,l,m),i){const c=_r(r),p={isNode:l,label:zt(c).replace(/fa[blrs]?:fa-[\w-]+/g,x=>``),labelStyle:t.replace("fill:","color:")};return Hr(n,p,a,u,m)}else{const c=Pr(r);return Vr(a,n,c,m)}};export{Qr as c}; diff --git a/pr-333/assets/chunks/edges-b00f0ec2.6d3248f9.js b/pr-333/assets/chunks/edges-b00f0ec2.6d3248f9.js deleted file mode 100644 index bbe9801a8..000000000 --- a/pr-333/assets/chunks/edges-b00f0ec2.6d3248f9.js +++ /dev/null @@ -1,4 +0,0 @@ -import{q as H,c as w,d as Z,a4 as j,h as B,l as x,y as U,a5 as F}from"../app.1f62ceb3.js";import{c as P}from"./createText-285e50b4.e45d4ac7.js";import{p as Q}from"./svgDraw-5d8a058e.0c833b4b.js";import{l as et}from"./line.e2bfcddf.js";const st=(r,t,e,n)=>{t.forEach(a=>{yt[a](r,e,n)})},it=(r,t,e)=>{x.trace("Making markers for ",e),r.append("defs").append("marker").attr("id",t+"-extensionStart").attr("class","marker extension "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),r.append("defs").append("marker").attr("id",t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},nt=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-compositionStart").attr("class","marker composition "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},lt=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ct=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",19).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")},ht=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","white").attr("cx",6).attr("cy",7).attr("r",6)},ot=(r,t)=>{r.append("marker").attr("id",t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",10).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").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),r.append("marker").attr("id",t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},ft=(r,t)=>{r.append("marker").attr("id",t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),r.append("marker").attr("id",t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},dt=(r,t)=>{r.append("marker").attr("id",t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),r.append("marker").attr("id",t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},pt=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},yt={extension:it,composition:nt,aggregation:lt,dependency:ct,lollipop:ht,point:ot,circle:ft,cross:dt,barb:pt},Kt=st;function bt(r,t){t&&r.attr("style",t)}function xt(r){const t=B(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),e=t.append("xhtml:div"),n=r.label,a=r.isNode?"nodeLabel":"edgeLabel";return e.html('"+n+""),bt(e,r.labelStyle),e.style("display","inline-block"),e.style("white-space","nowrap"),e.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}const gt=(r,t,e,n)=>{let a=r||"";if(typeof a=="object"&&(a=a[0]),H(w().flowchart.htmlLabels)){a=a.replace(/\\n|\n/g,"
"),x.info("vertexText"+a);const s={isNode:n,label:j(a).replace(/fa[blrs]?:fa-[\w-]+/g,l=>``),labelStyle:t.replace("fill:","color:")};return xt(s)}else{const s=document.createElementNS("http://www.w3.org/2000/svg","text");s.setAttribute("style",t.replace("color:","fill:"));let i=[];typeof a=="string"?i=a.split(/\\n|\n|/gi):Array.isArray(a)?i=a:i=[];for(const l of i){const c=document.createElementNS("http://www.w3.org/2000/svg","tspan");c.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),c.setAttribute("dy","1em"),c.setAttribute("x","0"),e?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=l.trim(),s.appendChild(c)}return s}},R=gt,E=async(r,t,e,n)=>{let a;const s=t.useHtmlLabels||H(w().flowchart.htmlLabels);e?a=e:a="node default";const i=r.insert("g").attr("class",a).attr("id",t.domId||t.id),l=i.insert("g").attr("class","label").attr("style",t.labelStyle);let c;t.labelText===void 0?c="":c=typeof t.labelText=="string"?t.labelText:t.labelText[0];const o=l.node();let h;t.labelType==="markdown"?h=P(l,Z(j(c),w()),{useHtmlLabels:s,width:t.width||w().flowchart.wrappingWidth,classes:"markdown-node-label"}):h=o.appendChild(R(Z(j(c),w()),t.labelStyle,!1,n));let f=h.getBBox();const b=t.padding/2;if(H(w().flowchart.htmlLabels)){const d=h.children[0],p=B(h),y=d.getElementsByTagName("img");if(y){const g=c.replace(/]*>/g,"").trim()==="";await Promise.all([...y].map(u=>new Promise(I=>{function T(){if(u.style.display="flex",u.style.flexDirection="column",g){const M=w().fontSize?w().fontSize:window.getComputedStyle(document.body).fontSize,_=5;u.style.width=parseInt(M,10)*_+"px"}else u.style.width="100%";I(u)}setTimeout(()=>{u.complete&&T()}),u.addEventListener("error",T),u.addEventListener("load",T)})))}f=d.getBoundingClientRect(),p.attr("width",f.width),p.attr("height",f.height)}return s?l.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"):l.attr("transform","translate(0, "+-f.height/2+")"),t.centerLabel&&l.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:i,bbox:f,halfPadding:b,label:l}},k=(r,t)=>{const e=t.node().getBBox();r.width=e.width,r.height=e.height};function N(r,t,e,n){return r.insert("polygon",":first-child").attr("points",n.map(function(a){return a.x+","+a.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+e/2+")")}function ut(r,t){return r.intersect(t)}function tt(r,t,e,n){var a=r.x,s=r.y,i=a-n.x,l=s-n.y,c=Math.sqrt(t*t*l*l+e*e*i*i),o=Math.abs(t*e*i/c);n.x0}function kt(r,t,e){var n=r.x,a=r.y,s=[],i=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(p){i=Math.min(i,p.x),l=Math.min(l,p.y)}):(i=Math.min(i,t.x),l=Math.min(l,t.y));for(var c=n-r.width/2-i,o=a-r.height/2-l,h=0;h1&&s.sort(function(p,y){var g=p.x-e.x,u=p.y-e.y,I=Math.sqrt(g*g+u*u),T=y.x-e.x,M=y.y-e.y,_=Math.sqrt(T*T+M*M);return I<_?-1:I===_?0:1}),s[0]):r}const vt=(r,t)=>{var e=r.x,n=r.y,a=t.x-e,s=t.y-n,i=r.width/2,l=r.height/2,c,o;return Math.abs(s)*i>Math.abs(a)*l?(s<0&&(l=-l),c=s===0?0:l*a/s,o=l):(a<0&&(i=-i),c=i,o=a===0?0:i*s/a),{x:e+c,y:n+o}},Lt=vt,m={node:ut,circle:wt,ellipse:tt,polygon:kt,rect:Lt},St=async(r,t)=>{t.useHtmlLabels||w().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:n,bbox:a,halfPadding:s}=await E(r,t,"node "+t.classes,!0);x.info("Classes = ",t.classes);const i=n.insert("rect",":first-child");return i.attr("rx",t.rx).attr("ry",t.ry).attr("x",-a.width/2-s).attr("y",-a.height/2-s).attr("width",a.width+t.padding).attr("height",a.height+t.padding),k(t,i),t.intersect=function(l){return m.rect(t,l)},n},Bt=St,q=async(r,t)=>{const{shapeSvg:e,bbox:n}=await E(r,t,void 0,!0),a=n.width+t.padding,s=n.height+t.padding,i=a+s,l=[{x:i/2,y:0},{x:i,y:-i/2},{x:i/2,y:-i},{x:0,y:-i/2}];x.info("Question main (Circle)");const c=N(e,i,i,l);return c.attr("style",t.style),k(t,c),t.intersect=function(o){return x.warn("Intersect called"),m.polygon(t,l,o)},e},Et=(r,t)=>{const e=r.insert("g").attr("class","node default").attr("id",t.domId||t.id),n=28,a=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return e.insert("polygon",":first-child").attr("points",a.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(i){return m.circle(t,14,i)},e},Mt=async(r,t)=>{const{shapeSvg:e,bbox:n}=await E(r,t,void 0,!0),a=4,s=n.height+t.padding,i=s/a,l=n.width+2*i+t.padding,c=[{x:i,y:0},{x:l-i,y:0},{x:l,y:-s/2},{x:l-i,y:-s},{x:i,y:-s},{x:0,y:-s/2}],o=N(e,l,s,c);return o.attr("style",t.style),k(t,o),t.intersect=function(h){return m.polygon(t,c,h)},e},Ct=async(r,t)=>{const{shapeSvg:e,bbox:n}=await E(r,t,void 0,!0),a=n.width+t.padding,s=n.height+t.padding,i=[{x:-s/2,y:0},{x:a,y:0},{x:a,y:-s},{x:-s/2,y:-s},{x:0,y:-s/2}];return N(e,a,s,i).attr("style",t.style),t.width=a+s,t.height=s,t.intersect=function(c){return m.polygon(t,i,c)},e},Tt=async(r,t)=>{const{shapeSvg:e,bbox:n}=await E(r,t,void 0,!0),a=n.width+t.padding,s=n.height+t.padding,i=[{x:-2*s/6,y:0},{x:a-s/6,y:0},{x:a+2*s/6,y:-s},{x:s/6,y:-s}],l=N(e,a,s,i);return l.attr("style",t.style),k(t,l),t.intersect=function(c){return m.polygon(t,i,c)},e},Rt=async(r,t)=>{const{shapeSvg:e,bbox:n}=await E(r,t,void 0,!0),a=n.width+t.padding,s=n.height+t.padding,i=[{x:2*s/6,y:0},{x:a+s/6,y:0},{x:a-2*s/6,y:-s},{x:-s/6,y:-s}],l=N(e,a,s,i);return l.attr("style",t.style),k(t,l),t.intersect=function(c){return m.polygon(t,i,c)},e},It=async(r,t)=>{const{shapeSvg:e,bbox:n}=await E(r,t,void 0,!0),a=n.width+t.padding,s=n.height+t.padding,i=[{x:-2*s/6,y:0},{x:a+2*s/6,y:0},{x:a-s/6,y:-s},{x:s/6,y:-s}],l=N(e,a,s,i);return l.attr("style",t.style),k(t,l),t.intersect=function(c){return m.polygon(t,i,c)},e},Ht=async(r,t)=>{const{shapeSvg:e,bbox:n}=await E(r,t,void 0,!0),a=n.width+t.padding,s=n.height+t.padding,i=[{x:s/6,y:0},{x:a-s/6,y:0},{x:a+2*s/6,y:-s},{x:-2*s/6,y:-s}],l=N(e,a,s,i);return l.attr("style",t.style),k(t,l),t.intersect=function(c){return m.polygon(t,i,c)},e},$t=async(r,t)=>{const{shapeSvg:e,bbox:n}=await E(r,t,void 0,!0),a=n.width+t.padding,s=n.height+t.padding,i=[{x:0,y:0},{x:a+s/2,y:0},{x:a,y:-s/2},{x:a+s/2,y:-s},{x:0,y:-s}],l=N(e,a,s,i);return l.attr("style",t.style),k(t,l),t.intersect=function(c){return m.polygon(t,i,c)},e},Nt=async(r,t)=>{const{shapeSvg:e,bbox:n}=await E(r,t,void 0,!0),a=n.width+t.padding,s=a/2,i=s/(2.5+a/50),l=n.height+i+t.padding,c="M 0,"+i+" a "+s+","+i+" 0,0,0 "+a+" 0 a "+s+","+i+" 0,0,0 "+-a+" 0 l 0,"+l+" a "+s+","+i+" 0,0,0 "+a+" 0 l 0,"+-l,o=e.attr("label-offset-y",i).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-a/2+","+-(l/2+i)+")");return k(t,o),t.intersect=function(h){const f=m.rect(t,h),b=f.x-t.x;if(s!=0&&(Math.abs(b)t.height/2-i)){let d=i*i*(1-b*b/(s*s));d!=0&&(d=Math.sqrt(d)),d=i-d,h.y-t.y>0&&(d=-d),f.y+=d}return f},e},_t=async(r,t)=>{const{shapeSvg:e,bbox:n,halfPadding:a}=await E(r,t,"node "+t.classes,!0),s=e.insert("rect",":first-child"),i=n.width+t.padding,l=n.height+t.padding;if(s.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",-n.width/2-a).attr("y",-n.height/2-a).attr("width",i).attr("height",l),t.props){const c=new Set(Object.keys(t.props));t.props.borders&&(rt(s,t.props.borders,i,l),c.delete("borders")),c.forEach(o=>{x.warn(`Unknown node property ${o}`)})}return k(t,s),t.intersect=function(c){return m.rect(t,c)},e},Wt=async(r,t)=>{const{shapeSvg:e}=await E(r,t,"label",!0);x.trace("Classes = ",t.classes);const n=e.insert("rect",":first-child"),a=0,s=0;if(n.attr("width",a).attr("height",s),e.attr("class","label edgeLabel"),t.props){const i=new Set(Object.keys(t.props));t.props.borders&&(rt(n,t.props.borders,a,s),i.delete("borders")),i.forEach(l=>{x.warn(`Unknown node property ${l}`)})}return k(t,n),t.intersect=function(i){return m.rect(t,i)},e};function rt(r,t,e,n){const a=[],s=l=>{a.push(l,0)},i=l=>{a.push(0,l)};t.includes("t")?(x.debug("add top border"),s(e)):i(e),t.includes("r")?(x.debug("add right border"),s(n)):i(n),t.includes("b")?(x.debug("add bottom border"),s(e)):i(e),t.includes("l")?(x.debug("add left border"),s(n)):i(n),r.attr("stroke-dasharray",a.join(" "))}const Xt=(r,t)=>{let e;t.classes?e="node "+t.classes:e="node default";const n=r.insert("g").attr("class",e).attr("id",t.domId||t.id),a=n.insert("rect",":first-child"),s=n.insert("line"),i=n.insert("g").attr("class","label"),l=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof l=="object"?c=l[0]:c=l,x.info("Label text abc79",c,l,typeof l=="object");const o=i.node().appendChild(R(c,t.labelStyle,!0,!0));let h={width:0,height:0};if(H(w().flowchart.htmlLabels)){const y=o.children[0],g=B(o);h=y.getBoundingClientRect(),g.attr("width",h.width),g.attr("height",h.height)}x.info("Text 2",l);const f=l.slice(1,l.length);let b=o.getBBox();const d=i.node().appendChild(R(f.join?f.join("
"):f,t.labelStyle,!0,!0));if(H(w().flowchart.htmlLabels)){const y=d.children[0],g=B(d);h=y.getBoundingClientRect(),g.attr("width",h.width),g.attr("height",h.height)}const p=t.padding/2;return B(d).attr("transform","translate( "+(h.width>b.width?0:(b.width-h.width)/2)+", "+(b.height+p+5)+")"),B(o).attr("transform","translate( "+(h.width{const{shapeSvg:e,bbox:n}=await E(r,t,void 0,!0),a=n.height+t.padding,s=n.width+a/4+t.padding,i=e.insert("rect",":first-child").attr("style",t.style).attr("rx",a/2).attr("ry",a/2).attr("x",-s/2).attr("y",-a/2).attr("width",s).attr("height",a);return k(t,i),t.intersect=function(l){return m.rect(t,l)},e},Ut=async(r,t)=>{const{shapeSvg:e,bbox:n,halfPadding:a}=await E(r,t,void 0,!0),s=e.insert("circle",":first-child");return s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",n.width/2+a).attr("width",n.width+t.padding).attr("height",n.height+t.padding),x.info("Circle main"),k(t,s),t.intersect=function(i){return x.info("Circle intersect",t,n.width/2+a,i),m.circle(t,n.width/2+a,i)},e},At=async(r,t)=>{const{shapeSvg:e,bbox:n,halfPadding:a}=await E(r,t,void 0,!0),s=5,i=e.insert("g",":first-child"),l=i.insert("circle"),c=i.insert("circle");return i.attr("class",t.class),l.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",n.width/2+a+s).attr("width",n.width+t.padding+s*2).attr("height",n.height+t.padding+s*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",n.width/2+a).attr("width",n.width+t.padding).attr("height",n.height+t.padding),x.info("DoubleCircle main"),k(t,l),t.intersect=function(o){return x.info("DoubleCircle intersect",t,n.width/2+a+s,o),m.circle(t,n.width/2+a+s,o)},e},Dt=async(r,t)=>{const{shapeSvg:e,bbox:n}=await E(r,t,void 0,!0),a=n.width+t.padding,s=n.height+t.padding,i=[{x:0,y:0},{x:a,y:0},{x:a,y:-s},{x:0,y:-s},{x:0,y:0},{x:-8,y:0},{x:a+8,y:0},{x:a+8,y:-s},{x:-8,y:-s},{x:-8,y:0}],l=N(e,a,s,i);return l.attr("style",t.style),k(t,l),t.intersect=function(c){return m.polygon(t,i,c)},e},Ot=(r,t)=>{const e=r.insert("g").attr("class","node default").attr("id",t.domId||t.id),n=e.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),k(t,n),t.intersect=function(a){return m.circle(t,7,a)},e},J=(r,t,e)=>{const n=r.insert("g").attr("class","node default").attr("id",t.domId||t.id);let a=70,s=10;e==="LR"&&(a=10,s=70);const i=n.append("rect").attr("x",-1*a/2).attr("y",-1*s/2).attr("width",a).attr("height",s).attr("class","fork-join");return k(t,i),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(l){return m.rect(t,l)},n},jt=(r,t)=>{const e=r.insert("g").attr("class","node default").attr("id",t.domId||t.id),n=e.insert("circle",":first-child"),a=e.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),k(t,a),t.intersect=function(s){return m.circle(t,7,s)},e},zt=(r,t)=>{const e=t.padding/2,n=4,a=8;let s;t.classes?s="node "+t.classes:s="node default";const i=r.insert("g").attr("class",s).attr("id",t.domId||t.id),l=i.insert("rect",":first-child"),c=i.insert("line"),o=i.insert("line");let h=0,f=n;const b=i.insert("g").attr("class","label");let d=0;const p=t.classData.annotations&&t.classData.annotations[0],y=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",g=b.node().appendChild(R(y,t.labelStyle,!0,!0));let u=g.getBBox();if(H(w().flowchart.htmlLabels)){const v=g.children[0],L=B(g);u=v.getBoundingClientRect(),L.attr("width",u.width),L.attr("height",u.height)}t.classData.annotations[0]&&(f+=u.height+n,h+=u.width);let I=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(w().flowchart.htmlLabels?I+="<"+t.classData.type+">":I+="<"+t.classData.type+">");const T=b.node().appendChild(R(I,t.labelStyle,!0,!0));B(T).attr("class","classTitle");let M=T.getBBox();if(H(w().flowchart.htmlLabels)){const v=T.children[0],L=B(T);M=v.getBoundingClientRect(),L.attr("width",M.width),L.attr("height",M.height)}f+=M.height+n,M.width>h&&(h=M.width);const _=[];t.classData.members.forEach(v=>{const L=Q(v);let W=L.displayText;w().flowchart.htmlLabels&&(W=W.replace(//g,">"));const $=b.node().appendChild(R(W,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0));let C=$.getBBox();if(H(w().flowchart.htmlLabels)){const O=$.children[0],Y=B($);C=O.getBoundingClientRect(),Y.attr("width",C.width),Y.attr("height",C.height)}C.width>h&&(h=C.width),f+=C.height+n,_.push($)}),f+=a;const z=[];if(t.classData.methods.forEach(v=>{const L=Q(v);let W=L.displayText;w().flowchart.htmlLabels&&(W=W.replace(//g,">"));const $=b.node().appendChild(R(W,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0));let C=$.getBBox();if(H(w().flowchart.htmlLabels)){const O=$.children[0],Y=B($);C=O.getBoundingClientRect(),Y.attr("width",C.width),Y.attr("height",C.height)}C.width>h&&(h=C.width),f+=C.height+n,z.push($)}),f+=a,p){let v=(h-u.width)/2;B(g).attr("transform","translate( "+(-1*h/2+v)+", "+-1*f/2+")"),d=u.height+n}let at=(h-M.width)/2;return B(T).attr("transform","translate( "+(-1*h/2+at)+", "+(-1*f/2+d)+")"),d+=M.height+n,c.attr("class","divider").attr("x1",-h/2-e).attr("x2",h/2+e).attr("y1",-f/2-e+a+d).attr("y2",-f/2-e+a+d),d+=a,_.forEach(v=>{B(v).attr("transform","translate( "+-h/2+", "+(-1*f/2+d+a/2)+")");const L=v==null?void 0:v.getBBox();d+=((L==null?void 0:L.height)??0)+n}),d+=a,o.attr("class","divider").attr("x1",-h/2-e).attr("x2",h/2+e).attr("y1",-f/2-e+a+d).attr("y2",-f/2-e+a+d),d+=a,z.forEach(v=>{B(v).attr("transform","translate( "+-h/2+", "+(-1*f/2+d)+")");const L=v==null?void 0:v.getBBox();d+=((L==null?void 0:L.height)??0)+n}),l.attr("class","outer title-state").attr("x",-h/2-e).attr("y",-(f/2)-e).attr("width",h+t.padding).attr("height",f+t.padding),k(t,l),t.intersect=function(v){return m.rect(t,v)},i},K={rhombus:q,question:q,rect:_t,labelRect:Wt,rectWithTitle:Xt,choice:Et,circle:Ut,doublecircle:At,stadium:Yt,hexagon:Mt,rect_left_inv_arrow:Ct,lean_right:Tt,lean_left:Rt,trapezoid:It,inv_trapezoid:Ht,rect_right_inv_arrow:$t,cylinder:Nt,start:Ot,end:jt,note:Bt,subroutine:Dt,fork:J,join:J,class_box:zt};let X={};const Gt=async(r,t,e)=>{let n,a;if(t.link){let s;w().securityLevel==="sandbox"?s="_top":t.linkTarget&&(s=t.linkTarget||"_blank"),n=r.insert("svg:a").attr("xlink:href",t.link).attr("target",s),a=await K[t.shape](n,t,e)}else a=await K[t.shape](r,t,e),n=a;return t.tooltip&&a.attr("title",t.tooltip),t.class&&a.attr("class","node default "+t.class),X[t.id]=n,t.haveCallback&&X[t.id].attr("class",X[t.id].attr("class")+" clickable"),n},Pt=(r,t)=>{X[t.id]=r},tr=()=>{X={}},rr=r=>{const t=X[r.id];x.trace("Transforming node",r.diff,r,"translate("+(r.x-r.width/2-5)+", "+r.width/2+")");const e=8,n=r.diff||0;return r.clusterNode?t.attr("transform","translate("+(r.x+n-r.width/2)+", "+(r.y-r.height/2-e)+")"):t.attr("transform","translate("+r.x+", "+r.y+")"),n};let D={},S={};const ar=()=>{D={},S={}},er=(r,t)=>{const e=H(w().flowchart.htmlLabels),n=t.labelType==="markdown"?P(r,t.label,{style:t.labelStyle,useHtmlLabels:e,addSvgBackground:!0}):R(t.label,t.labelStyle);x.info("abc82",t,t.labelType);const a=r.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label");s.node().appendChild(n);let i=n.getBBox();if(e){const c=n.children[0],o=B(n);i=c.getBoundingClientRect(),o.attr("width",i.width),o.attr("height",i.height)}s.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),D[t.id]=a,t.width=i.width,t.height=i.height;let l;if(t.startLabelLeft){const c=R(t.startLabelLeft,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");l=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),S[t.id]||(S[t.id]={}),S[t.id].startLeft=o,A(l,t.startLabelLeft)}if(t.startLabelRight){const c=R(t.startLabelRight,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");l=o.node().appendChild(c),h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),S[t.id]||(S[t.id]={}),S[t.id].startRight=o,A(l,t.startLabelRight)}if(t.endLabelLeft){const c=R(t.endLabelLeft,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");l=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),o.node().appendChild(c),S[t.id]||(S[t.id]={}),S[t.id].endLeft=o,A(l,t.endLabelLeft)}if(t.endLabelRight){const c=R(t.endLabelRight,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");l=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),o.node().appendChild(c),S[t.id]||(S[t.id]={}),S[t.id].endRight=o,A(l,t.endLabelRight)}return n};function A(r,t){w().flowchart.htmlLabels&&r&&(r.style.width=t.length*9+"px",r.style.height="12px")}const sr=(r,t)=>{x.info("Moving label abc78 ",r.id,r.label,D[r.id]);let e=t.updatedPath?t.updatedPath:t.originalPath;if(r.label){const n=D[r.id];let a=r.x,s=r.y;if(e){const i=U.calcLabelPosition(e);x.info("Moving label "+r.label+" from (",a,",",s,") to (",i.x,",",i.y,") abc78"),t.updatedPath&&(a=i.x,s=i.y)}n.attr("transform","translate("+a+", "+s+")")}if(r.startLabelLeft){const n=S[r.id].startLeft;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeStart?10:0,"start_left",e);a=i.x,s=i.y}n.attr("transform","translate("+a+", "+s+")")}if(r.startLabelRight){const n=S[r.id].startRight;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeStart?10:0,"start_right",e);a=i.x,s=i.y}n.attr("transform","translate("+a+", "+s+")")}if(r.endLabelLeft){const n=S[r.id].endLeft;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeEnd?10:0,"end_left",e);a=i.x,s=i.y}n.attr("transform","translate("+a+", "+s+")")}if(r.endLabelRight){const n=S[r.id].endRight;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeEnd?10:0,"end_right",e);a=i.x,s=i.y}n.attr("transform","translate("+a+", "+s+")")}},Zt=(r,t)=>{const e=r.x,n=r.y,a=Math.abs(t.x-e),s=Math.abs(t.y-n),i=r.width/2,l=r.height/2;return a>=i||s>=l},Ft=(r,t,e)=>{x.warn(`intersection calc abc89: - outsidePoint: ${JSON.stringify(t)} - insidePoint : ${JSON.stringify(e)} - node : x:${r.x} y:${r.y} w:${r.width} h:${r.height}`);const n=r.x,a=r.y,s=Math.abs(n-e.x),i=r.width/2;let l=e.xMath.abs(n-t.x)*c){let f=e.y{x.warn("abc88 cutPathAtIntersect",r,t);let e=[],n=r[0],a=!1;return r.forEach(s=>{if(x.info("abc88 checking point",s,t),!Zt(t,s)&&!a){const i=Ft(t,n,s);x.warn("abc88 inside",s,n,i),x.warn("abc88 intersection",i);let l=!1;e.forEach(c=>{l=l||c.x===i.x&&c.y===i.y}),e.some(c=>c.x===i.x&&c.y===i.y)?x.warn("abc88 no intersect",i,e):e.push(i),a=!0}else x.warn("abc88 outside",s,n),n=s,a||e.push(s)}),x.warn("abc88 returning points",e),e},ir=function(r,t,e,n,a,s){let i=e.points,l=!1;const c=s.node(t.v);var o=s.node(t.w);x.info("abc88 InsertEdge: ",e),o.intersect&&c.intersect&&(i=i.slice(1,e.points.length-1),i.unshift(c.intersect(i[0])),x.info("Last point",i[i.length-1],o,o.intersect(i[i.length-1])),i.push(o.intersect(i[i.length-1]))),e.toCluster&&(x.info("to cluster abc88",n[e.toCluster]),i=G(e.points,n[e.toCluster].node),l=!0),e.fromCluster&&(x.info("from cluster abc88",n[e.fromCluster]),i=G(i.reverse(),n[e.fromCluster].node).reverse(),l=!0);const h=i.filter(u=>!Number.isNaN(u.y));let f;a==="graph"||a==="flowchart"?f=e.curve||F:f=F;const b=et().x(function(u){return u.x}).y(function(u){return u.y}).curve(f);let d;switch(e.thickness){case"normal":d="edge-thickness-normal";break;case"thick":d="edge-thickness-thick";break;case"invisible":d="edge-thickness-thick";break;default:d=""}switch(e.pattern){case"solid":d+=" edge-pattern-solid";break;case"dotted":d+=" edge-pattern-dotted";break;case"dashed":d+=" edge-pattern-dashed";break}const p=r.append("path").attr("d",b(h)).attr("id",e.id).attr("class"," "+d+(e.classes?" "+e.classes:"")).attr("style",e.style);let y="";switch((w().flowchart.arrowMarkerAbsolute||w().state.arrowMarkerAbsolute)&&(y=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,y=y.replace(/\(/g,"\\("),y=y.replace(/\)/g,"\\)")),x.info("arrowTypeStart",e.arrowTypeStart),x.info("arrowTypeEnd",e.arrowTypeEnd),e.arrowTypeStart){case"arrow_cross":p.attr("marker-start","url("+y+"#"+a+"-crossStart)");break;case"arrow_point":p.attr("marker-start","url("+y+"#"+a+"-pointStart)");break;case"arrow_barb":p.attr("marker-start","url("+y+"#"+a+"-barbStart)");break;case"arrow_circle":p.attr("marker-start","url("+y+"#"+a+"-circleStart)");break;case"aggregation":p.attr("marker-start","url("+y+"#"+a+"-aggregationStart)");break;case"extension":p.attr("marker-start","url("+y+"#"+a+"-extensionStart)");break;case"composition":p.attr("marker-start","url("+y+"#"+a+"-compositionStart)");break;case"dependency":p.attr("marker-start","url("+y+"#"+a+"-dependencyStart)");break;case"lollipop":p.attr("marker-start","url("+y+"#"+a+"-lollipopStart)");break}switch(e.arrowTypeEnd){case"arrow_cross":p.attr("marker-end","url("+y+"#"+a+"-crossEnd)");break;case"arrow_point":p.attr("marker-end","url("+y+"#"+a+"-pointEnd)");break;case"arrow_barb":p.attr("marker-end","url("+y+"#"+a+"-barbEnd)");break;case"arrow_circle":p.attr("marker-end","url("+y+"#"+a+"-circleEnd)");break;case"aggregation":p.attr("marker-end","url("+y+"#"+a+"-aggregationEnd)");break;case"extension":p.attr("marker-end","url("+y+"#"+a+"-extensionEnd)");break;case"composition":p.attr("marker-end","url("+y+"#"+a+"-compositionEnd)");break;case"dependency":p.attr("marker-end","url("+y+"#"+a+"-dependencyEnd)");break;case"lollipop":p.attr("marker-end","url("+y+"#"+a+"-lollipopEnd)");break}let g={};return l&&(g.updatedPath=i),g.originalPath=e.points,g};export{Gt as a,er as b,ir as c,sr as d,tr as e,ar as f,R as g,Lt as h,Kt as i,E as l,rr as p,Pt as s,k as u}; diff --git a/pr-333/assets/chunks/erDiagram-0ccc0425.2901bf77.js b/pr-333/assets/chunks/erDiagram-0ccc0425.2901bf77.js deleted file mode 100644 index 798e9d34d..000000000 --- a/pr-333/assets/chunks/erDiagram-0ccc0425.2901bf77.js +++ /dev/null @@ -1,51 +0,0 @@ -import{c as V,s as xt,g as Rt,b as Ot,a as bt,v as Nt,x as Tt,m as At,l as et,z as Mt,h as st,y as vt,i as Dt,a5 as wt,a7 as It}from"../app.1f62ceb3.js";import{G as St,l as Lt}from"./layout.c9cae6cc.js";import{l as Bt}from"./line.e2bfcddf.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const Ct=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Pt(t){return typeof t=="string"&&Ct.test(t)}const T=[];for(let t=0;t<256;++t)T.push((t+256).toString(16).slice(1));function Yt(t,r=0){return(T[t[r+0]]+T[t[r+1]]+T[t[r+2]]+T[t[r+3]]+"-"+T[t[r+4]]+T[t[r+5]]+"-"+T[t[r+6]]+T[t[r+7]]+"-"+T[t[r+8]]+T[t[r+9]]+"-"+T[t[r+10]]+T[t[r+11]]+T[t[r+12]]+T[t[r+13]]+T[t[r+14]]+T[t[r+15]]).toLowerCase()}function Zt(t){if(!Pt(t))throw TypeError("Invalid UUID");let r;const e=new Uint8Array(16);return e[0]=(r=parseInt(t.slice(0,8),16))>>>24,e[1]=r>>>16&255,e[2]=r>>>8&255,e[3]=r&255,e[4]=(r=parseInt(t.slice(9,13),16))>>>8,e[5]=r&255,e[6]=(r=parseInt(t.slice(14,18),16))>>>8,e[7]=r&255,e[8]=(r=parseInt(t.slice(19,23),16))>>>8,e[9]=r&255,e[10]=(r=parseInt(t.slice(24,36),16))/1099511627776&255,e[11]=r/4294967296&255,e[12]=r>>>24&255,e[13]=r>>>16&255,e[14]=r>>>8&255,e[15]=r&255,e}function Ft(t){t=unescape(encodeURIComponent(t));const r=[];for(let e=0;e>>32-r}function Ht(t){const r=[1518500249,1859775393,2400959708,3395469782],e=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){const f=unescape(encodeURIComponent(t));t=[];for(let o=0;o>>0;O=g,g=E,E=ot(_,30)>>>0,_=c,c=Y}e[0]=e[0]+c>>>0,e[1]=e[1]+_>>>0,e[2]=e[2]+E>>>0,e[3]=e[3]+g>>>0,e[4]=e[4]+O>>>0}return[e[0]>>24&255,e[0]>>16&255,e[0]>>8&255,e[0]&255,e[1]>>24&255,e[1]>>16&255,e[1]>>8&255,e[1]&255,e[2]>>24&255,e[2]>>16&255,e[2]>>8&255,e[2]&255,e[3]>>24&255,e[3]>>16&255,e[3]>>8&255,e[3]&255,e[4]>>24&255,e[4]>>16&255,e[4]>>8&255,e[4]&255]}const Gt=Ut("v5",80,Ht),Kt=Gt;var ct=function(){var t=function(M,a,l,d){for(l=l||{},d=M.length;d--;l[M[d]]=a);return l},r=[1,2],e=[1,5],n=[6,9,11,23,25,27,29,30,31,52],s=[1,17],p=[1,18],f=[1,19],o=[1,20],c=[1,21],_=[1,22],E=[1,25],g=[1,30],O=[1,31],y=[1,32],A=[1,33],Y=[1,34],U=[6,9,11,15,20,23,25,27,29,30,31,44,45,46,47,48,52],X=[1,46],I=[30,31,49,50],N=[4,6,9,11,23,25,27,29,30,31,52],v=[44,45,46,47,48],k=[22,37],x=[1,66],P=[1,65],Z=[22,37,39,41],w={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,entityName:17,relSpec:18,role:19,BLOCK_START:20,attributes:21,BLOCK_STOP:22,title:23,title_value:24,acc_title:25,acc_title_value:26,acc_descr:27,acc_descr_value:28,acc_descr_multiline_value:29,ALPHANUM:30,ENTITY_NAME:31,attribute:32,attributeType:33,attributeName:34,attributeKeyTypeList:35,attributeComment:36,ATTRIBUTE_WORD:37,attributeKeyType:38,COMMA:39,ATTRIBUTE_KEY:40,COMMENT:41,cardinality:42,relType:43,ZERO_OR_ONE:44,ZERO_OR_MORE:45,ONE_OR_MORE:46,ONLY_ONE:47,MD_PARENT:48,NON_IDENTIFYING:49,IDENTIFYING:50,WORD:51,open_directive:52,type_directive:53,arg_directive:54,close_directive:55,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",20:"BLOCK_START",22:"BLOCK_STOP",23:"title",24:"title_value",25:"acc_title",26:"acc_title_value",27:"acc_descr",28:"acc_descr_value",29:"acc_descr_multiline_value",30:"ALPHANUM",31:"ENTITY_NAME",37:"ATTRIBUTE_WORD",39:"COMMA",40:"ATTRIBUTE_KEY",41:"COMMENT",44:"ZERO_OR_ONE",45:"ZERO_OR_MORE",46:"ONE_OR_MORE",47:"ONLY_ONE",48:"MD_PARENT",49:"NON_IDENTIFYING",50:"IDENTIFYING",51:"WORD",52:"open_directive",53:"type_directive",54:"arg_directive",55:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[10,4],[10,3],[10,1],[10,2],[10,2],[10,2],[10,1],[17,1],[17,1],[21,1],[21,2],[32,2],[32,3],[32,3],[32,4],[33,1],[34,1],[35,1],[35,3],[38,1],[36,1],[18,3],[42,1],[42,1],[42,1],[42,1],[42,1],[43,1],[43,1],[19,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(a,l,d,u,m,i,Q){var h=i.length-1;switch(m){case 1:break;case 3:this.$=[];break;case 4:i[h-1].push(i[h]),this.$=i[h-1];break;case 5:case 6:this.$=i[h];break;case 7:case 8:this.$=[];break;case 12:u.addEntity(i[h-4]),u.addEntity(i[h-2]),u.addRelationship(i[h-4],i[h],i[h-2],i[h-3]);break;case 13:u.addEntity(i[h-3]),u.addAttributes(i[h-3],i[h-1]);break;case 14:u.addEntity(i[h-2]);break;case 15:u.addEntity(i[h]);break;case 16:case 17:this.$=i[h].trim(),u.setAccTitle(this.$);break;case 18:case 19:this.$=i[h].trim(),u.setAccDescription(this.$);break;case 20:case 44:this.$=i[h];break;case 21:case 42:case 43:this.$=i[h].replace(/"/g,"");break;case 22:case 30:this.$=[i[h]];break;case 23:i[h].push(i[h-1]),this.$=i[h];break;case 24:this.$={attributeType:i[h-1],attributeName:i[h]};break;case 25:this.$={attributeType:i[h-2],attributeName:i[h-1],attributeKeyTypeList:i[h]};break;case 26:this.$={attributeType:i[h-2],attributeName:i[h-1],attributeComment:i[h]};break;case 27:this.$={attributeType:i[h-3],attributeName:i[h-2],attributeKeyTypeList:i[h-1],attributeComment:i[h]};break;case 28:case 29:case 32:this.$=i[h];break;case 31:i[h-2].push(i[h]),this.$=i[h-2];break;case 33:this.$=i[h].replace(/"/g,"");break;case 34:this.$={cardA:i[h],relType:i[h-1],cardB:i[h-2]};break;case 35:this.$=u.Cardinality.ZERO_OR_ONE;break;case 36:this.$=u.Cardinality.ZERO_OR_MORE;break;case 37:this.$=u.Cardinality.ONE_OR_MORE;break;case 38:this.$=u.Cardinality.ONLY_ONE;break;case 39:this.$=u.Cardinality.MD_PARENT;break;case 40:this.$=u.Identification.NON_IDENTIFYING;break;case 41:this.$=u.Identification.IDENTIFYING;break;case 45:u.parseDirective("%%{","open_directive");break;case 46:u.parseDirective(i[h],"type_directive");break;case 47:i[h]=i[h].trim().replace(/'/g,'"'),u.parseDirective(i[h],"arg_directive");break;case 48:u.parseDirective("}%%","close_directive","er");break}},table:[{3:1,4:r,7:3,12:4,52:e},{1:[3]},t(n,[2,3],{5:6}),{3:7,4:r,7:3,12:4,52:e},{13:8,53:[1,9]},{53:[2,45]},{6:[1,10],7:15,8:11,9:[1,12],10:13,11:[1,14],12:4,17:16,23:s,25:p,27:f,29:o,30:c,31:_,52:e},{1:[2,2]},{14:23,15:[1,24],55:E},t([15,55],[2,46]),t(n,[2,8],{1:[2,1]}),t(n,[2,4]),{7:15,10:26,12:4,17:16,23:s,25:p,27:f,29:o,30:c,31:_,52:e},t(n,[2,6]),t(n,[2,7]),t(n,[2,11]),t(n,[2,15],{18:27,42:29,20:[1,28],44:g,45:O,46:y,47:A,48:Y}),{24:[1,35]},{26:[1,36]},{28:[1,37]},t(n,[2,19]),t(U,[2,20]),t(U,[2,21]),{11:[1,38]},{16:39,54:[1,40]},{11:[2,48]},t(n,[2,5]),{17:41,30:c,31:_},{21:42,22:[1,43],32:44,33:45,37:X},{43:47,49:[1,48],50:[1,49]},t(I,[2,35]),t(I,[2,36]),t(I,[2,37]),t(I,[2,38]),t(I,[2,39]),t(n,[2,16]),t(n,[2,17]),t(n,[2,18]),t(N,[2,9]),{14:50,55:E},{55:[2,47]},{15:[1,51]},{22:[1,52]},t(n,[2,14]),{21:53,22:[2,22],32:44,33:45,37:X},{34:54,37:[1,55]},{37:[2,28]},{42:56,44:g,45:O,46:y,47:A,48:Y},t(v,[2,40]),t(v,[2,41]),{11:[1,57]},{19:58,30:[1,61],31:[1,60],51:[1,59]},t(n,[2,13]),{22:[2,23]},t(k,[2,24],{35:62,36:63,38:64,40:x,41:P}),t([22,37,40,41],[2,29]),t([30,31],[2,34]),t(N,[2,10]),t(n,[2,12]),t(n,[2,42]),t(n,[2,43]),t(n,[2,44]),t(k,[2,25],{36:67,39:[1,68],41:P}),t(k,[2,26]),t(Z,[2,30]),t(k,[2,33]),t(Z,[2,32]),t(k,[2,27]),{38:69,40:x},t(Z,[2,31])],defaultActions:{5:[2,45],7:[2,2],25:[2,48],40:[2,47],46:[2,28],53:[2,23]},parseError:function(a,l){if(l.recoverable)this.trace(a);else{var d=new Error(a);throw d.hash=l,d}},parse:function(a){var l=this,d=[0],u=[],m=[null],i=[],Q=this.table,h="",q=0,ht=0,Et=2,dt=1,mt=i.slice.call(arguments,1),b=Object.create(this.lexer),H={yy:{}};for(var rt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,rt)&&(H.yy[rt]=this.yy[rt]);b.setInput(a,H.yy),H.yy.lexer=b,H.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var it=b.yylloc;i.push(it);var gt=b.options&&b.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function kt(){var W;return W=u.pop()||b.lex()||dt,typeof W!="number"&&(W instanceof Array&&(u=W,W=u.pop()),W=l.symbols_[W]||W),W}for(var D,G,L,at,K={},J,F,ut,tt;;){if(G=d[d.length-1],this.defaultActions[G]?L=this.defaultActions[G]:((D===null||typeof D>"u")&&(D=kt()),L=Q[G]&&Q[G][D]),typeof L>"u"||!L.length||!L[0]){var nt="";tt=[];for(J in Q[G])this.terminals_[J]&&J>Et&&tt.push("'"+this.terminals_[J]+"'");b.showPosition?nt="Parse error on line "+(q+1)+`: -`+b.showPosition()+` -Expecting `+tt.join(", ")+", got '"+(this.terminals_[D]||D)+"'":nt="Parse error on line "+(q+1)+": Unexpected "+(D==dt?"end of input":"'"+(this.terminals_[D]||D)+"'"),this.parseError(nt,{text:b.match,token:this.terminals_[D]||D,line:b.yylineno,loc:it,expected:tt})}if(L[0]instanceof Array&&L.length>1)throw new Error("Parse Error: multiple actions possible at state: "+G+", token: "+D);switch(L[0]){case 1:d.push(D),m.push(b.yytext),i.push(b.yylloc),d.push(L[1]),D=null,ht=b.yyleng,h=b.yytext,q=b.yylineno,it=b.yylloc;break;case 2:if(F=this.productions_[L[1]][1],K.$=m[m.length-F],K._$={first_line:i[i.length-(F||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(F||1)].first_column,last_column:i[i.length-1].last_column},gt&&(K._$.range=[i[i.length-(F||1)].range[0],i[i.length-1].range[1]]),at=this.performAction.apply(K,[h,ht,q,H.yy,L[1],m,i].concat(mt)),typeof at<"u")return at;F&&(d=d.slice(0,-1*F*2),m=m.slice(0,-1*F),i=i.slice(0,-1*F)),d.push(this.productions_[L[1]][0]),m.push(K.$),i.push(K._$),ut=Q[d[d.length-2]][d[d.length-1]],d.push(ut);break;case 3:return!0}}return!0}},z=function(){var M={EOF:1,parseError:function(l,d){if(this.yy.parser)this.yy.parser.parseError(l,d);else throw new Error(l)},setInput:function(a,l){return this.yy=l||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var l=a.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var l=a.length,d=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),d.length-1&&(this.yylineno-=d.length-1);var m=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:d?(d.length===u.length?this.yylloc.first_column:0)+u[u.length-d.length].length-d[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[m[0],m[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),l=new Array(a.length+1).join("-");return a+this.upcomingInput()+` -`+l+"^"},test_match:function(a,l){var d,u,m;if(this.options.backtrack_lexer&&(m={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(m.yylloc.range=this.yylloc.range.slice(0))),u=a[0].match(/(?:\r\n?|\n).*/g),u&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],d=this.performAction.call(this,this.yy,this,l,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),d)return d;if(this._backtrack){for(var i in m)this[i]=m[i];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,l,d,u;this._more||(this.yytext="",this.match="");for(var m=this._currentRules(),i=0;il[0].length)){if(l=d,u=i,this.options.backtrack_lexer){if(a=this.test_match(d,m[i]),a!==!1)return a;if(this._backtrack){l=!1;continue}else return!1}else if(!this.options.flex)break}return l?(a=this.test_match(l,m[u]),a!==!1?a:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var l=this.next();return l||this.lex()},begin:function(l){this.conditionStack.push(l)},popState:function(){var l=this.conditionStack.length-1;return l>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(l){return l=this.conditionStack.length-1-Math.abs(l||0),l>=0?this.conditionStack[l]:"INITIAL"},pushState:function(l){this.begin(l)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(l,d,u,m){switch(u){case 0:return this.begin("acc_title"),25;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),27;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.begin("open_directive"),52;case 8:return this.begin("type_directive"),53;case 9:return this.popState(),this.begin("arg_directive"),15;case 10:return this.popState(),this.popState(),55;case 11:return 54;case 12:return 11;case 13:break;case 14:return 9;case 15:return 31;case 16:return 51;case 17:return 4;case 18:return this.begin("block"),20;case 19:return 39;case 20:break;case 21:return 40;case 22:return 37;case 23:return 37;case 24:return 41;case 25:break;case 26:return this.popState(),22;case 27:return d.yytext[0];case 28:return 44;case 29:return 46;case 30:return 46;case 31:return 46;case 32:return 44;case 33:return 44;case 34:return 45;case 35:return 45;case 36:return 45;case 37:return 45;case 38:return 45;case 39:return 46;case 40:return 45;case 41:return 46;case 42:return 47;case 43:return 47;case 44:return 47;case 45:return 47;case 46:return 44;case 47:return 45;case 48:return 46;case 49:return 48;case 50:return 49;case 51:return 50;case 52:return 50;case 53:return 49;case 54:return 49;case 55:return 49;case 56:return 30;case 57:return d.yytext[0];case 58:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},open_directive:{rules:[8],inclusive:!1},type_directive:{rules:[9,10],inclusive:!1},arg_directive:{rules:[10,11],inclusive:!1},block:{rules:[19,20,21,22,23,24,25,26,27],inclusive:!1},INITIAL:{rules:[0,2,4,7,12,13,14,15,16,17,18,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],inclusive:!0}}};return M}();w.lexer=z;function S(){this.yy={}}return S.prototype=w,w.Parser=S,new S}();ct.parser=ct;const Xt=ct;let $={},lt=[];const Qt={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},$t={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},jt=function(t,r,e){At.parseDirective(this,t,r,e)},pt=function(t){return $[t]===void 0&&($[t]={attributes:[]},et.info("Added new entity :",t)),$[t]},qt=()=>$,Jt=function(t,r){let e=pt(t),n;for(n=r.length-1;n>=0;n--)e.attributes.push(r[n]),et.debug("Added attribute ",r[n].attributeName)},te=function(t,r,e,n){let s={entityA:t,roleA:r,entityB:e,relSpec:n};lt.push(s),et.debug("Added new relationship :",s)},ee=()=>lt,re=function(){$={},lt=[],Mt()},ie={Cardinality:Qt,Identification:$t,parseDirective:jt,getConfig:()=>V().er,addEntity:pt,addAttributes:Jt,getEntities:qt,addRelationship:te,getRelationships:ee,clear:re,setAccTitle:xt,getAccTitle:Rt,setAccDescription:Ot,getAccDescription:bt,setDiagramTitle:Nt,getDiagramTitle:Tt},B={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},ae=function(t,r){let e;t.append("defs").append("marker").attr("id",B.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",B.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",B.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",r.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",B.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",r.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),e=t.append("defs").append("marker").attr("id",B.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),e.append("circle").attr("stroke",r.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),e.append("path").attr("stroke",r.stroke).attr("fill","none").attr("d","M9,0 L9,18"),e=t.append("defs").append("marker").attr("id",B.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),e.append("circle").attr("stroke",r.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),e.append("path").attr("stroke",r.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",B.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",r.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",B.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",r.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),e=t.append("defs").append("marker").attr("id",B.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),e.append("circle").attr("stroke",r.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),e.append("path").attr("stroke",r.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),e=t.append("defs").append("marker").attr("id",B.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),e.append("circle").attr("stroke",r.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),e.append("path").attr("stroke",r.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},C={ERMarkers:B,insertMarkers:ae},ne=/[^\dA-Za-z](\W)*/g;let R={},j=new Map;const se=function(t){const r=Object.keys(t);for(const e of r)R[e]=t[e]},oe=(t,r,e)=>{const n=R.entityPadding/3,s=R.entityPadding/3,p=R.fontSize*.85,f=r.node().getBBox(),o=[];let c=!1,_=!1,E=0,g=0,O=0,y=0,A=f.height+n*2,Y=1;e.forEach(N=>{N.attributeKeyTypeList!==void 0&&N.attributeKeyTypeList.length>0&&(c=!0),N.attributeComment!==void 0&&(_=!0)}),e.forEach(N=>{const v=`${r.node().id}-attr-${Y}`;let k=0;const x=It(N.attributeType),P=t.append("text").classed("er entityLabel",!0).attr("id",`${v}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",V().fontFamily).style("font-size",p+"px").text(x),Z=t.append("text").classed("er entityLabel",!0).attr("id",`${v}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",V().fontFamily).style("font-size",p+"px").text(N.attributeName),w={};w.tn=P,w.nn=Z;const z=P.node().getBBox(),S=Z.node().getBBox();if(E=Math.max(E,z.width),g=Math.max(g,S.width),k=Math.max(z.height,S.height),c){const M=N.attributeKeyTypeList!==void 0?N.attributeKeyTypeList.join(","):"",a=t.append("text").classed("er entityLabel",!0).attr("id",`${v}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",V().fontFamily).style("font-size",p+"px").text(M);w.kn=a;const l=a.node().getBBox();O=Math.max(O,l.width),k=Math.max(k,l.height)}if(_){const M=t.append("text").classed("er entityLabel",!0).attr("id",`${v}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",V().fontFamily).style("font-size",p+"px").text(N.attributeComment||"");w.cn=M;const a=M.node().getBBox();y=Math.max(y,a.width),k=Math.max(k,a.height)}w.height=k,o.push(w),A+=k+n*2,Y+=1});let U=4;c&&(U+=2),_&&(U+=2);const X=E+g+O+y,I={width:Math.max(R.minEntityWidth,Math.max(f.width+R.entityPadding*2,X+s*U)),height:e.length>0?A:Math.max(R.minEntityHeight,f.height+R.entityPadding*2)};if(e.length>0){const N=Math.max(0,(I.width-X-s*U)/(U/2));r.attr("transform","translate("+I.width/2+","+(n+f.height/2)+")");let v=f.height+n*2,k="attributeBoxOdd";o.forEach(x=>{const P=v+n+x.height/2;x.tn.attr("transform","translate("+s+","+P+")");const Z=t.insert("rect","#"+x.tn.node().id).classed(`er ${k}`,!0).attr("x",0).attr("y",v).attr("width",E+s*2+N).attr("height",x.height+n*2),w=parseFloat(Z.attr("x"))+parseFloat(Z.attr("width"));x.nn.attr("transform","translate("+(w+s)+","+P+")");const z=t.insert("rect","#"+x.nn.node().id).classed(`er ${k}`,!0).attr("x",w).attr("y",v).attr("width",g+s*2+N).attr("height",x.height+n*2);let S=parseFloat(z.attr("x"))+parseFloat(z.attr("width"));if(c){x.kn.attr("transform","translate("+(S+s)+","+P+")");const M=t.insert("rect","#"+x.kn.node().id).classed(`er ${k}`,!0).attr("x",S).attr("y",v).attr("width",O+s*2+N).attr("height",x.height+n*2);S=parseFloat(M.attr("x"))+parseFloat(M.attr("width"))}_&&(x.cn.attr("transform","translate("+(S+s)+","+P+")"),t.insert("rect","#"+x.cn.node().id).classed(`er ${k}`,"true").attr("x",S).attr("y",v).attr("width",y+s*2+N).attr("height",x.height+n*2)),v+=x.height+n*2,k=k==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else I.height=Math.max(R.minEntityHeight,A),r.attr("transform","translate("+I.width/2+","+I.height/2+")");return I},ce=function(t,r,e){const n=Object.keys(r);let s;return n.forEach(function(p){const f=ye(p,"entity");j.set(p,f);const o=t.append("g").attr("id",f);s=s===void 0?f:s;const c="text-"+f,_=o.append("text").classed("er entityLabel",!0).attr("id",c).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",V().fontFamily).style("font-size",R.fontSize+"px").text(p),{width:E,height:g}=oe(o,_,r[p].attributes),y=o.insert("rect","#"+c).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",E).attr("height",g).node().getBBox();e.setNode(f,{width:y.width,height:y.height,shape:"rect",id:f})}),s},le=function(t,r){r.nodes().forEach(function(e){e!==void 0&&r.node(e)!==void 0&&t.select("#"+e).attr("transform","translate("+(r.node(e).x-r.node(e).width/2)+","+(r.node(e).y-r.node(e).height/2)+" )")})},_t=function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},he=function(t,r){return t.forEach(function(e){r.setEdge(j.get(e.entityA),j.get(e.entityB),{relationship:e},_t(e))}),t};let ft=0;const de=function(t,r,e,n,s){ft++;const p=e.edge(j.get(r.entityA),j.get(r.entityB),_t(r)),f=Bt().x(function(A){return A.x}).y(function(A){return A.y}).curve(wt),o=t.insert("path","#"+n).classed("er relationshipLine",!0).attr("d",f(p.points)).style("stroke",R.stroke).style("fill","none");r.relSpec.relType===s.db.Identification.NON_IDENTIFYING&&o.attr("stroke-dasharray","8,8");let c="";switch(R.arrowMarkerAbsolute&&(c=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,c=c.replace(/\(/g,"\\("),c=c.replace(/\)/g,"\\)")),r.relSpec.cardA){case s.db.Cardinality.ZERO_OR_ONE:o.attr("marker-end","url("+c+"#"+C.ERMarkers.ZERO_OR_ONE_END+")");break;case s.db.Cardinality.ZERO_OR_MORE:o.attr("marker-end","url("+c+"#"+C.ERMarkers.ZERO_OR_MORE_END+")");break;case s.db.Cardinality.ONE_OR_MORE:o.attr("marker-end","url("+c+"#"+C.ERMarkers.ONE_OR_MORE_END+")");break;case s.db.Cardinality.ONLY_ONE:o.attr("marker-end","url("+c+"#"+C.ERMarkers.ONLY_ONE_END+")");break;case s.db.Cardinality.MD_PARENT:o.attr("marker-end","url("+c+"#"+C.ERMarkers.MD_PARENT_END+")");break}switch(r.relSpec.cardB){case s.db.Cardinality.ZERO_OR_ONE:o.attr("marker-start","url("+c+"#"+C.ERMarkers.ZERO_OR_ONE_START+")");break;case s.db.Cardinality.ZERO_OR_MORE:o.attr("marker-start","url("+c+"#"+C.ERMarkers.ZERO_OR_MORE_START+")");break;case s.db.Cardinality.ONE_OR_MORE:o.attr("marker-start","url("+c+"#"+C.ERMarkers.ONE_OR_MORE_START+")");break;case s.db.Cardinality.ONLY_ONE:o.attr("marker-start","url("+c+"#"+C.ERMarkers.ONLY_ONE_START+")");break;case s.db.Cardinality.MD_PARENT:o.attr("marker-start","url("+c+"#"+C.ERMarkers.MD_PARENT_START+")");break}const _=o.node().getTotalLength(),E=o.node().getPointAtLength(_*.5),g="rel"+ft,y=t.append("text").classed("er relationshipLabel",!0).attr("id",g).attr("x",E.x).attr("y",E.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",V().fontFamily).style("font-size",R.fontSize+"px").text(r.roleA).node().getBBox();t.insert("rect","#"+g).classed("er relationshipLabelBox",!0).attr("x",E.x-y.width/2).attr("y",E.y-y.height/2).attr("width",y.width).attr("height",y.height)},ue=function(t,r,e,n){R=V().er,et.info("Drawing ER diagram");const s=V().securityLevel;let p;s==="sandbox"&&(p=st("#i"+r));const o=(s==="sandbox"?st(p.nodes()[0].contentDocument.body):st("body")).select(`[id='${r}']`);C.insertMarkers(o,R);let c;c=new St({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:R.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const _=ce(o,n.db.getEntities(),c),E=he(n.db.getRelationships(),c);Lt(c),le(o,c),E.forEach(function(Y){de(o,Y,c,_,n)});const g=R.diagramPadding;vt.insertTitle(o,"entityTitleText",R.titleTopMargin,n.db.getDiagramTitle());const O=o.node().getBBox(),y=O.width+g*2,A=O.height+g*2;Dt(o,A,y,R.useMaxWidth),o.attr("viewBox",`${O.x-g} ${O.y-g} ${y} ${A}`)},fe="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function ye(t="",r=""){const e=t.replace(ne,"");return`${yt(r)}${yt(e)}${Kt(t,fe)}`}function yt(t=""){return t.length>0?`${t}-`:""}const pe={setConf:se,draw:ue},_e=t=>` - .entityBox { - fill: ${t.mainBkg}; - stroke: ${t.nodeBorder}; - } - - .attributeBoxOdd { - fill: ${t.attributeBackgroundColorOdd}; - stroke: ${t.nodeBorder}; - } - - .attributeBoxEven { - fill: ${t.attributeBackgroundColorEven}; - stroke: ${t.nodeBorder}; - } - - .relationshipLabelBox { - fill: ${t.tertiaryColor}; - opacity: 0.7; - background-color: ${t.tertiaryColor}; - rect { - opacity: 0.5; - } - } - - .relationshipLine { - stroke: ${t.lineColor}; - } - - .entityTitleText { - text-anchor: middle; - font-size: 18px; - fill: ${t.textColor}; - } - #MD_PARENT_START { - fill: #f5f5f5 !important; - stroke: ${t.lineColor} !important; - stroke-width: 1; - } - #MD_PARENT_END { - fill: #f5f5f5 !important; - stroke: ${t.lineColor} !important; - stroke-width: 1; - } - -`,Ee=_e,Ne={parser:Xt,db:ie,renderer:pe,styles:Ee};export{Ne as diagram}; diff --git a/pr-333/assets/chunks/flowDb-8f9fc471.4d6324c9.js b/pr-333/assets/chunks/flowDb-8f9fc471.4d6324c9.js deleted file mode 100644 index 086ba9285..000000000 --- a/pr-333/assets/chunks/flowDb-8f9fc471.4d6324c9.js +++ /dev/null @@ -1,6 +0,0 @@ -import{c as U2,u as Ne,s as Oe,g as Pe,a as we,b as Ue,v as Me,x as Ge,m as Ke,l as M2,y as G2,z as je,j as We,h as n2}from"../app.1f62ceb3.js";var P2=function(){var e=function(H1,a,o,T){for(o=o||{},T=H1.length;T--;o[H1[T]]=a);return o},u=[1,9],r=[1,7],i=[1,6],c=[1,8],_=[1,20,21,22,23,38,44,46,48,52,67,68,88,89,90,91,92,93,97,107,108,111,113,114,120,121,122,123,124,125,126,127,128,129],B=[2,10],u1=[1,20],H=[1,21],s1=[1,22],f1=[1,23],Y1=[1,30],Q1=[1,32],X1=[1,33],s2=[1,34],q=[1,63],c1=[1,49],m1=[1,53],o2=[1,36],l2=[1,37],h2=[1,38],A2=[1,39],f2=[1,40],v1=[1,57],V1=[1,64],x1=[1,52],R1=[1,54],L1=[1,56],I1=[1,60],N1=[1,61],p2=[1,41],d2=[1,42],E2=[1,43],b2=[1,44],O1=[1,62],P1=[1,51],w1=[1,55],U1=[1,58],M1=[1,59],G1=[1,50],j2=[1,67],u2=[1,72],Q=[1,20,21,22,23,38,42,44,46,48,52,67,68,88,89,90,91,92,93,97,107,108,111,113,114,120,121,122,123,124,125,126,127,128,129],p1=[1,76],d1=[1,75],E1=[1,77],k2=[20,21,23,82,83],r1=[1,100],l=[1,105],h=[1,108],A=[1,109],i1=[1,102],f=[1,107],p=[1,110],n1=[1,103],d=[1,115],E=[1,114],b=[1,104],k=[1,106],D=[1,111],g=[1,112],F=[1,113],C=[1,116],D2=[20,21,22,23,82,83],t1=[20,21,22,23,54,82,83],Z=[20,21,22,23,40,52,54,56,58,60,62,64,66,67,68,70,72,74,75,77,82,83,93,97,107,108,111,113,114,124,125,126,127,128,129],Y=[20,21,23],W2=[20,21,23,52,67,68,82,83,93,97,107,108,111,113,114,124,125,126,127,128,129],v2=[1,12,20,21,22,23,24,38,42,44,46,48,52,67,68,88,89,90,91,92,93,97,107,108,111,113,114,120,121,122,123,124,125,126,127,128,129],r2=[52,67,68,93,97,107,108,111,113,114,124,125,126,127,128,129],S=[1,151],m=[1,159],v=[1,160],V=[1,161],x=[1,162],R=[1,146],L=[1,147],J=[1,142],$=[1,143],I=[1,154],N=[1,155],O=[1,156],P=[1,157],w=[1,158],U=[1,163],M=[1,164],G=[1,149],K=[1,152],j=[1,148],W=[1,145],V2=[20,21,22,23,38,42,44,46,48,52,67,68,88,89,90,91,92,93,97,107,108,111,113,114,120,121,122,123,124,125,126,127,128,129],Y2=[1,167],$1=[20,21,22,23,26,52,67,68,93,107,108,111,113,114,124,125,126,127,128,129],y=[20,21,22,23,24,26,38,40,41,42,52,57,59,61,63,65,67,68,69,71,73,74,76,78,82,83,88,89,90,91,92,93,94,97,107,108,111,113,114,115,116,124,125,126,127,128,129],z2=[12,21,22,24],H2=[22,108],b1=[1,252],k1=[1,247],D1=[1,248],g1=[1,256],F1=[1,253],C1=[1,250],_1=[1,249],B1=[1,251],T1=[1,254],y1=[1,255],S1=[1,257],z1=[1,275],Q2=[20,21,23,108],o1=[20,21,22,23,67,68,88,104,107,108,111,112,113,114,115],x2={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,openDirective:6,typeDirective:7,closeDirective:8,separator:9,":":10,argDirective:11,open_directive:12,type_directive:13,arg_directive:14,close_directive:15,graphConfig:16,document:17,line:18,statement:19,SEMI:20,NEWLINE:21,SPACE:22,EOF:23,GRAPH:24,NODIR:25,DIR:26,FirstStmtSeperator:27,ending:28,endToken:29,spaceList:30,spaceListNewline:31,verticeStatement:32,styleStatement:33,linkStyleStatement:34,classDefStatement:35,classStatement:36,clickStatement:37,subgraph:38,text:39,SQS:40,SQE:41,end:42,direction:43,acc_title:44,acc_title_value:45,acc_descr:46,acc_descr_value:47,acc_descr_multiline_value:48,link:49,node:50,styledVertex:51,AMP:52,vertex:53,STYLE_SEPARATOR:54,idString:55,DOUBLECIRCLESTART:56,DOUBLECIRCLEEND:57,PS:58,PE:59,"(-":60,"-)":61,STADIUMSTART:62,STADIUMEND:63,SUBROUTINESTART:64,SUBROUTINEEND:65,VERTEX_WITH_PROPS_START:66,ALPHA:67,COLON:68,PIPE:69,CYLINDERSTART:70,CYLINDEREND:71,DIAMOND_START:72,DIAMOND_STOP:73,TAGEND:74,TRAPSTART:75,TRAPEND:76,INVTRAPSTART:77,INVTRAPEND:78,linkStatement:79,arrowText:80,TESTSTR:81,START_LINK:82,LINK:83,textToken:84,STR:85,MD_STR:86,keywords:87,STYLE:88,LINKSTYLE:89,CLASSDEF:90,CLASS:91,CLICK:92,DOWN:93,UP:94,textNoTags:95,textNoTagsToken:96,DEFAULT:97,stylesOpt:98,alphaNum:99,CALLBACKNAME:100,CALLBACKARGS:101,HREF:102,LINK_TARGET:103,HEX:104,numList:105,INTERPOLATE:106,NUM:107,COMMA:108,style:109,styleComponent:110,MINUS:111,UNIT:112,BRKT:113,DOT:114,PCT:115,TAGSTART:116,alphaNumToken:117,idStringToken:118,alphaNumStatement:119,direction_tb:120,direction_bt:121,direction_rl:122,direction_lr:123,PUNCTUATION:124,UNICODE_TEXT:125,PLUS:126,EQUALS:127,MULT:128,UNDERSCORE:129,graphCodeTokens:130,ARROW_CROSS:131,ARROW_POINT:132,ARROW_CIRCLE:133,ARROW_OPEN:134,QUOTE:135,$accept:0,$end:1},terminals_:{2:"error",10:":",12:"open_directive",13:"type_directive",14:"arg_directive",15:"close_directive",20:"SEMI",21:"NEWLINE",22:"SPACE",23:"EOF",24:"GRAPH",25:"NODIR",26:"DIR",38:"subgraph",40:"SQS",41:"SQE",42:"end",44:"acc_title",45:"acc_title_value",46:"acc_descr",47:"acc_descr_value",48:"acc_descr_multiline_value",52:"AMP",54:"STYLE_SEPARATOR",56:"DOUBLECIRCLESTART",57:"DOUBLECIRCLEEND",58:"PS",59:"PE",60:"(-",61:"-)",62:"STADIUMSTART",63:"STADIUMEND",64:"SUBROUTINESTART",65:"SUBROUTINEEND",66:"VERTEX_WITH_PROPS_START",67:"ALPHA",68:"COLON",69:"PIPE",70:"CYLINDERSTART",71:"CYLINDEREND",72:"DIAMOND_START",73:"DIAMOND_STOP",74:"TAGEND",75:"TRAPSTART",76:"TRAPEND",77:"INVTRAPSTART",78:"INVTRAPEND",81:"TESTSTR",82:"START_LINK",83:"LINK",85:"STR",86:"MD_STR",88:"STYLE",89:"LINKSTYLE",90:"CLASSDEF",91:"CLASS",92:"CLICK",93:"DOWN",94:"UP",97:"DEFAULT",100:"CALLBACKNAME",101:"CALLBACKARGS",102:"HREF",103:"LINK_TARGET",104:"HEX",106:"INTERPOLATE",107:"NUM",108:"COMMA",111:"MINUS",112:"UNIT",113:"BRKT",114:"DOT",115:"PCT",116:"TAGSTART",120:"direction_tb",121:"direction_bt",122:"direction_rl",123:"direction_lr",124:"PUNCTUATION",125:"UNICODE_TEXT",126:"PLUS",127:"EQUALS",128:"MULT",129:"UNDERSCORE",131:"ARROW_CROSS",132:"ARROW_POINT",133:"ARROW_CIRCLE",134:"ARROW_OPEN",135:"QUOTE"},productions_:[0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[19,1],[19,2],[19,2],[19,1],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[50,1],[50,5],[51,1],[51,3],[53,4],[53,4],[53,6],[53,4],[53,4],[53,4],[53,8],[53,4],[53,4],[53,4],[53,6],[53,4],[53,4],[53,4],[53,4],[53,4],[53,1],[49,2],[49,3],[49,3],[49,1],[49,3],[79,1],[80,3],[39,1],[39,2],[39,1],[39,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[95,1],[95,2],[35,5],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,2],[37,4],[37,4],[37,6],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[105,1],[105,3],[98,1],[98,3],[109,1],[109,2],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[96,1],[96,1],[96,1],[96,1],[55,1],[55,2],[99,1],[99,2],[119,1],[119,1],[119,1],[119,1],[43,1],[43,1],[43,1],[43,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1]],performAction:function(a,o,T,n,X,t,i2){var s=t.length-1;switch(X){case 5:n.parseDirective("%%{","open_directive");break;case 6:n.parseDirective(t[s],"type_directive");break;case 7:t[s]=t[s].trim().replace(/'/g,'"'),n.parseDirective(t[s],"arg_directive");break;case 8:n.parseDirective("}%%","close_directive","flowchart");break;case 10:this.$=[];break;case 11:(!Array.isArray(t[s])||t[s].length>0)&&t[s-1].push(t[s]),this.$=t[s-1];break;case 12:case 98:case 154:case 156:case 157:this.$=t[s];break;case 19:n.setDirection("TB"),this.$="TB";break;case 20:n.setDirection(t[s-1]),this.$=t[s-1];break;case 35:this.$=t[s-1].nodes;break;case 36:case 37:case 38:case 39:case 40:this.$=[];break;case 41:this.$=n.addSubGraph(t[s-6],t[s-1],t[s-4]);break;case 42:this.$=n.addSubGraph(t[s-3],t[s-1],t[s-3]);break;case 43:this.$=n.addSubGraph(void 0,t[s-1],void 0);break;case 45:this.$=t[s].trim(),n.setAccTitle(this.$);break;case 46:case 47:this.$=t[s].trim(),n.setAccDescription(this.$);break;case 51:n.addLink(t[s-2].stmt,t[s],t[s-1]),this.$={stmt:t[s],nodes:t[s].concat(t[s-2].nodes)};break;case 52:n.addLink(t[s-3].stmt,t[s-1],t[s-2]),this.$={stmt:t[s-1],nodes:t[s-1].concat(t[s-3].nodes)};break;case 53:this.$={stmt:t[s-1],nodes:t[s-1]};break;case 54:this.$={stmt:t[s],nodes:t[s]};break;case 55:this.$=[t[s]];break;case 56:this.$=t[s-4].concat(t[s]);break;case 57:this.$=t[s];break;case 58:this.$=t[s-2],n.setClass(t[s-2],t[s]);break;case 59:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"square");break;case 60:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"doublecircle");break;case 61:this.$=t[s-5],n.addVertex(t[s-5],t[s-2],"circle");break;case 62:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"ellipse");break;case 63:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"stadium");break;case 64:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"subroutine");break;case 65:this.$=t[s-7],n.addVertex(t[s-7],t[s-1],"rect",void 0,void 0,void 0,Object.fromEntries([[t[s-5],t[s-3]]]));break;case 66:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"cylinder");break;case 67:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"round");break;case 68:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"diamond");break;case 69:this.$=t[s-5],n.addVertex(t[s-5],t[s-2],"hexagon");break;case 70:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"odd");break;case 71:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"trapezoid");break;case 72:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"inv_trapezoid");break;case 73:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"lean_right");break;case 74:this.$=t[s-3],n.addVertex(t[s-3],t[s-1],"lean_left");break;case 75:this.$=t[s],n.addVertex(t[s]);break;case 76:t[s-1].text=t[s],this.$=t[s-1];break;case 77:case 78:t[s-2].text=t[s-1],this.$=t[s-2];break;case 79:this.$=t[s];break;case 80:var l1=n.destructLink(t[s],t[s-2]);this.$={type:l1.type,stroke:l1.stroke,length:l1.length,text:t[s-1]};break;case 81:var l1=n.destructLink(t[s]);this.$={type:l1.type,stroke:l1.stroke,length:l1.length};break;case 82:this.$=t[s-1];break;case 83:this.$={text:t[s],type:"text"};break;case 84:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 85:this.$={text:t[s],type:"text"};break;case 86:this.$={text:t[s],type:"markdown"};break;case 99:case 155:this.$=t[s-1]+""+t[s];break;case 100:case 101:this.$=t[s-4],n.addClass(t[s-2],t[s]);break;case 102:this.$=t[s-4],n.setClass(t[s-2],t[s]);break;case 103:case 111:this.$=t[s-1],n.setClickEvent(t[s-1],t[s]);break;case 104:case 112:this.$=t[s-3],n.setClickEvent(t[s-3],t[s-2]),n.setTooltip(t[s-3],t[s]);break;case 105:this.$=t[s-2],n.setClickEvent(t[s-2],t[s-1],t[s]);break;case 106:this.$=t[s-4],n.setClickEvent(t[s-4],t[s-3],t[s-2]),n.setTooltip(t[s-4],t[s]);break;case 107:case 113:this.$=t[s-1],n.setLink(t[s-1],t[s]);break;case 108:case 114:this.$=t[s-3],n.setLink(t[s-3],t[s-2]),n.setTooltip(t[s-3],t[s]);break;case 109:case 115:this.$=t[s-3],n.setLink(t[s-3],t[s-2],t[s]);break;case 110:case 116:this.$=t[s-5],n.setLink(t[s-5],t[s-4],t[s]),n.setTooltip(t[s-5],t[s-2]);break;case 117:this.$=t[s-4],n.addVertex(t[s-2],void 0,void 0,t[s]);break;case 118:case 120:this.$=t[s-4],n.updateLink(t[s-2],t[s]);break;case 119:this.$=t[s-4],n.updateLink([t[s-2]],t[s]);break;case 121:this.$=t[s-8],n.updateLinkInterpolate([t[s-6]],t[s-2]),n.updateLink([t[s-6]],t[s]);break;case 122:this.$=t[s-8],n.updateLinkInterpolate(t[s-6],t[s-2]),n.updateLink(t[s-6],t[s]);break;case 123:this.$=t[s-6],n.updateLinkInterpolate([t[s-4]],t[s]);break;case 124:this.$=t[s-6],n.updateLinkInterpolate(t[s-4],t[s]);break;case 125:case 127:this.$=[t[s]];break;case 126:case 128:t[s-2].push(t[s]),this.$=t[s-2];break;case 130:this.$=t[s-1]+t[s];break;case 152:this.$=t[s];break;case 153:this.$=t[s-1]+""+t[s];break;case 158:this.$="v";break;case 159:this.$="-";break;case 160:this.$={stmt:"dir",value:"TB"};break;case 161:this.$={stmt:"dir",value:"BT"};break;case 162:this.$={stmt:"dir",value:"RL"};break;case 163:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,5:3,6:5,12:u,16:4,21:r,22:i,24:c},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:u,16:4,21:r,22:i,24:c},e(_,B,{17:11}),{7:12,13:[1,13]},{16:14,21:r,22:i,24:c},{16:15,21:r,22:i,24:c},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,53:46,55:47,67:c1,68:m1,88:o2,89:l2,90:h2,91:A2,92:f2,93:v1,97:V1,107:x1,108:R1,111:L1,113:I1,114:N1,118:48,120:p2,121:d2,122:E2,123:b2,124:O1,125:P1,126:w1,127:U1,128:M1,129:G1},{8:65,10:[1,66],15:j2},e([10,15],[2,6]),e(_,[2,17]),e(_,[2,18]),e(_,[2,19]),{20:[1,69],21:[1,70],22:u2,27:68,30:71},e(Q,[2,11]),e(Q,[2,12]),e(Q,[2,13]),e(Q,[2,14]),e(Q,[2,15]),e(Q,[2,16]),{9:73,20:p1,21:d1,23:E1,49:74,79:78,82:[1,79],83:[1,80]},{9:81,20:p1,21:d1,23:E1},{9:82,20:p1,21:d1,23:E1},{9:83,20:p1,21:d1,23:E1},{9:84,20:p1,21:d1,23:E1},{9:85,20:p1,21:d1,23:E1},{9:87,20:p1,21:d1,22:[1,86],23:E1},e(Q,[2,44]),{45:[1,88]},{47:[1,89]},e(Q,[2,47]),e(k2,[2,54],{30:90,22:u2}),{22:[1,91]},{22:[1,92]},{22:[1,93]},{22:[1,94]},{26:r1,52:l,67:h,68:A,85:[1,98],93:i1,99:97,100:[1,95],102:[1,96],107:f,108:p,111:n1,113:d,114:E,117:101,119:99,124:b,125:k,126:D,127:g,128:F,129:C},e(Q,[2,160]),e(Q,[2,161]),e(Q,[2,162]),e(Q,[2,163]),e(D2,[2,55]),e(D2,[2,57],{54:[1,117]}),e(t1,[2,75],{118:130,40:[1,118],52:q,56:[1,119],58:[1,120],60:[1,121],62:[1,122],64:[1,123],66:[1,124],67:c1,68:m1,70:[1,125],72:[1,126],74:[1,127],75:[1,128],77:[1,129],93:v1,97:V1,107:x1,108:R1,111:L1,113:I1,114:N1,124:O1,125:P1,126:w1,127:U1,128:M1,129:G1}),e(Z,[2,152]),e(Z,[2,177]),e(Z,[2,178]),e(Z,[2,179]),e(Z,[2,180]),e(Z,[2,181]),e(Z,[2,182]),e(Z,[2,183]),e(Z,[2,184]),e(Z,[2,185]),e(Z,[2,186]),e(Z,[2,187]),e(Z,[2,188]),e(Z,[2,189]),e(Z,[2,190]),e(Z,[2,191]),e(Z,[2,192]),{9:131,20:p1,21:d1,23:E1},{11:132,14:[1,133]},e(Y,[2,8]),e(_,[2,20]),e(_,[2,26]),e(_,[2,27]),{21:[1,134]},e(W2,[2,34],{30:135,22:u2}),e(Q,[2,35]),{50:136,51:45,52:q,53:46,55:47,67:c1,68:m1,93:v1,97:V1,107:x1,108:R1,111:L1,113:I1,114:N1,118:48,124:O1,125:P1,126:w1,127:U1,128:M1,129:G1},e(v2,[2,48]),e(v2,[2,49]),e(v2,[2,50]),e(r2,[2,79],{80:137,69:[1,139],81:[1,138]}),{22:S,24:m,26:v,38:V,39:140,42:x,52:l,67:h,68:A,74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},e([52,67,68,69,81,93,97,107,108,111,113,114,124,125,126,127,128,129],[2,81]),e(Q,[2,36]),e(Q,[2,37]),e(Q,[2,38]),e(Q,[2,39]),e(Q,[2,40]),{22:S,24:m,26:v,38:V,39:165,42:x,52:l,67:h,68:A,74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},e(V2,B,{17:166}),e(Q,[2,45]),e(Q,[2,46]),e(k2,[2,53],{52:Y2}),{26:r1,52:l,67:h,68:A,93:i1,99:168,104:[1,169],107:f,108:p,111:n1,113:d,114:E,117:101,119:99,124:b,125:k,126:D,127:g,128:F,129:C},{97:[1,170],105:171,107:[1,172]},{26:r1,52:l,67:h,68:A,93:i1,97:[1,173],99:174,107:f,108:p,111:n1,113:d,114:E,117:101,119:99,124:b,125:k,126:D,127:g,128:F,129:C},{26:r1,52:l,67:h,68:A,93:i1,99:175,107:f,108:p,111:n1,113:d,114:E,117:101,119:99,124:b,125:k,126:D,127:g,128:F,129:C},e(Y,[2,103],{22:[1,176],101:[1,177]}),e(Y,[2,107],{22:[1,178]}),e(Y,[2,111],{117:101,119:180,22:[1,179],26:r1,52:l,67:h,68:A,93:i1,107:f,108:p,111:n1,113:d,114:E,124:b,125:k,126:D,127:g,128:F,129:C}),e(Y,[2,113],{22:[1,181]}),e($1,[2,154]),e($1,[2,156]),e($1,[2,157]),e($1,[2,158]),e($1,[2,159]),e(y,[2,164]),e(y,[2,165]),e(y,[2,166]),e(y,[2,167]),e(y,[2,168]),e(y,[2,169]),e(y,[2,170]),e(y,[2,171]),e(y,[2,172]),e(y,[2,173]),e(y,[2,174]),e(y,[2,175]),e(y,[2,176]),{52:q,55:182,67:c1,68:m1,93:v1,97:V1,107:x1,108:R1,111:L1,113:I1,114:N1,118:48,124:O1,125:P1,126:w1,127:U1,128:M1,129:G1},{22:S,24:m,26:v,38:V,39:183,42:x,52:l,67:h,68:A,74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,39:184,42:x,52:l,67:h,68:A,74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,39:186,42:x,52:l,58:[1,185],67:h,68:A,74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,39:187,42:x,52:l,67:h,68:A,74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,39:188,42:x,52:l,67:h,68:A,74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,39:189,42:x,52:l,67:h,68:A,74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{67:[1,190]},{22:S,24:m,26:v,38:V,39:191,42:x,52:l,67:h,68:A,74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,39:192,42:x,52:l,67:h,68:A,72:[1,193],74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,39:194,42:x,52:l,67:h,68:A,74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,39:195,42:x,52:l,67:h,68:A,74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,39:196,42:x,52:l,67:h,68:A,74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},e(Z,[2,153]),e(z2,[2,3]),{8:197,15:j2},{15:[2,7]},e(_,[2,28]),e(W2,[2,33]),e(k2,[2,51],{30:198,22:u2}),e(r2,[2,76],{22:[1,199]}),{22:[1,200]},{22:S,24:m,26:v,38:V,39:201,42:x,52:l,67:h,68:A,74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,42:x,52:l,67:h,68:A,74:R,82:L,83:[1,202],84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},e(y,[2,83]),e(y,[2,85]),e(y,[2,86]),e(y,[2,142]),e(y,[2,143]),e(y,[2,144]),e(y,[2,145]),e(y,[2,146]),e(y,[2,147]),e(y,[2,148]),e(y,[2,149]),e(y,[2,150]),e(y,[2,151]),e(y,[2,87]),e(y,[2,88]),e(y,[2,89]),e(y,[2,90]),e(y,[2,91]),e(y,[2,92]),e(y,[2,93]),e(y,[2,94]),e(y,[2,95]),e(y,[2,96]),e(y,[2,97]),{9:205,20:p1,21:d1,22:S,23:E1,24:m,26:v,38:V,40:[1,204],42:x,52:l,67:h,68:A,74:R,82:L,84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,42:[1,206],43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,53:46,55:47,67:c1,68:m1,88:o2,89:l2,90:h2,91:A2,92:f2,93:v1,97:V1,107:x1,108:R1,111:L1,113:I1,114:N1,118:48,120:p2,121:d2,122:E2,123:b2,124:O1,125:P1,126:w1,127:U1,128:M1,129:G1},{22:u2,30:207},{22:[1,208],26:r1,52:l,67:h,68:A,93:i1,107:f,108:p,111:n1,113:d,114:E,117:101,119:180,124:b,125:k,126:D,127:g,128:F,129:C},{22:[1,209]},{22:[1,210]},{22:[1,211],108:[1,212]},e(H2,[2,125]),{22:[1,213]},{22:[1,214],26:r1,52:l,67:h,68:A,93:i1,107:f,108:p,111:n1,113:d,114:E,117:101,119:180,124:b,125:k,126:D,127:g,128:F,129:C},{22:[1,215],26:r1,52:l,67:h,68:A,93:i1,107:f,108:p,111:n1,113:d,114:E,117:101,119:180,124:b,125:k,126:D,127:g,128:F,129:C},{85:[1,216]},e(Y,[2,105],{22:[1,217]}),{85:[1,218],103:[1,219]},{85:[1,220]},e($1,[2,155]),{85:[1,221],103:[1,222]},e(D2,[2,58],{118:130,52:q,67:c1,68:m1,93:v1,97:V1,107:x1,108:R1,111:L1,113:I1,114:N1,124:O1,125:P1,126:w1,127:U1,128:M1,129:G1}),{22:S,24:m,26:v,38:V,41:[1,223],42:x,52:l,67:h,68:A,74:R,82:L,84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,42:x,52:l,57:[1,224],67:h,68:A,74:R,82:L,84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,39:225,42:x,52:l,67:h,68:A,74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,42:x,52:l,59:[1,226],67:h,68:A,74:R,82:L,84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,42:x,52:l,61:[1,227],67:h,68:A,74:R,82:L,84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,42:x,52:l,63:[1,228],67:h,68:A,74:R,82:L,84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,42:x,52:l,65:[1,229],67:h,68:A,74:R,82:L,84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{68:[1,230]},{22:S,24:m,26:v,38:V,42:x,52:l,67:h,68:A,71:[1,231],74:R,82:L,84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,42:x,52:l,67:h,68:A,73:[1,232],74:R,82:L,84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,39:233,42:x,52:l,67:h,68:A,74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,41:[1,234],42:x,52:l,67:h,68:A,74:R,82:L,84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,42:x,52:l,67:h,68:A,74:R,76:[1,235],78:[1,236],82:L,84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{22:S,24:m,26:v,38:V,42:x,52:l,67:h,68:A,74:R,76:[1,238],78:[1,237],82:L,84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{9:239,20:p1,21:d1,23:E1},e(k2,[2,52],{52:Y2}),e(r2,[2,78]),e(r2,[2,77]),{22:S,24:m,26:v,38:V,42:x,52:l,67:h,68:A,69:[1,240],74:R,82:L,84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},e(r2,[2,80]),e(y,[2,84]),{22:S,24:m,26:v,38:V,39:241,42:x,52:l,67:h,68:A,74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},e(V2,B,{17:242}),e(Q,[2,43]),{51:243,52:q,53:46,55:47,67:c1,68:m1,93:v1,97:V1,107:x1,108:R1,111:L1,113:I1,114:N1,118:48,124:O1,125:P1,126:w1,127:U1,128:M1,129:G1},{22:b1,67:k1,68:D1,88:g1,98:244,104:F1,107:C1,109:245,110:246,111:_1,112:B1,113:T1,114:y1,115:S1},{22:b1,67:k1,68:D1,88:g1,98:258,104:F1,107:C1,109:245,110:246,111:_1,112:B1,113:T1,114:y1,115:S1},{22:b1,67:k1,68:D1,88:g1,98:259,104:F1,106:[1,260],107:C1,109:245,110:246,111:_1,112:B1,113:T1,114:y1,115:S1},{22:b1,67:k1,68:D1,88:g1,98:261,104:F1,106:[1,262],107:C1,109:245,110:246,111:_1,112:B1,113:T1,114:y1,115:S1},{107:[1,263]},{22:b1,67:k1,68:D1,88:g1,98:264,104:F1,107:C1,109:245,110:246,111:_1,112:B1,113:T1,114:y1,115:S1},{22:b1,67:k1,68:D1,88:g1,98:265,104:F1,107:C1,109:245,110:246,111:_1,112:B1,113:T1,114:y1,115:S1},{26:r1,52:l,67:h,68:A,93:i1,99:266,107:f,108:p,111:n1,113:d,114:E,117:101,119:99,124:b,125:k,126:D,127:g,128:F,129:C},e(Y,[2,104]),{85:[1,267]},e(Y,[2,108],{22:[1,268]}),e(Y,[2,109]),e(Y,[2,112]),e(Y,[2,114],{22:[1,269]}),e(Y,[2,115]),e(t1,[2,59]),e(t1,[2,60]),{22:S,24:m,26:v,38:V,42:x,52:l,59:[1,270],67:h,68:A,74:R,82:L,84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},e(t1,[2,67]),e(t1,[2,62]),e(t1,[2,63]),e(t1,[2,64]),{67:[1,271]},e(t1,[2,66]),e(t1,[2,68]),{22:S,24:m,26:v,38:V,42:x,52:l,67:h,68:A,73:[1,272],74:R,82:L,84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},e(t1,[2,70]),e(t1,[2,71]),e(t1,[2,73]),e(t1,[2,72]),e(t1,[2,74]),e(z2,[2,4]),e([22,52,67,68,93,97,107,108,111,113,114,124,125,126,127,128,129],[2,82]),{22:S,24:m,26:v,38:V,41:[1,273],42:x,52:l,67:h,68:A,74:R,82:L,84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,42:[1,274],43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,53:46,55:47,67:c1,68:m1,88:o2,89:l2,90:h2,91:A2,92:f2,93:v1,97:V1,107:x1,108:R1,111:L1,113:I1,114:N1,118:48,120:p2,121:d2,122:E2,123:b2,124:O1,125:P1,126:w1,127:U1,128:M1,129:G1},e(D2,[2,56]),e(Y,[2,117],{108:z1}),e(Q2,[2,127],{110:276,22:b1,67:k1,68:D1,88:g1,104:F1,107:C1,111:_1,112:B1,113:T1,114:y1,115:S1}),e(o1,[2,129]),e(o1,[2,131]),e(o1,[2,132]),e(o1,[2,133]),e(o1,[2,134]),e(o1,[2,135]),e(o1,[2,136]),e(o1,[2,137]),e(o1,[2,138]),e(o1,[2,139]),e(o1,[2,140]),e(o1,[2,141]),e(Y,[2,118],{108:z1}),e(Y,[2,119],{108:z1}),{22:[1,277]},e(Y,[2,120],{108:z1}),{22:[1,278]},e(H2,[2,126]),e(Y,[2,100],{108:z1}),e(Y,[2,101],{108:z1}),e(Y,[2,102],{117:101,119:180,26:r1,52:l,67:h,68:A,93:i1,107:f,108:p,111:n1,113:d,114:E,124:b,125:k,126:D,127:g,128:F,129:C}),e(Y,[2,106]),{103:[1,279]},{103:[1,280]},{59:[1,281]},{69:[1,282]},{73:[1,283]},{9:284,20:p1,21:d1,23:E1},e(Q,[2,42]),{22:b1,67:k1,68:D1,88:g1,104:F1,107:C1,109:285,110:246,111:_1,112:B1,113:T1,114:y1,115:S1},e(o1,[2,130]),{26:r1,52:l,67:h,68:A,93:i1,99:286,107:f,108:p,111:n1,113:d,114:E,117:101,119:99,124:b,125:k,126:D,127:g,128:F,129:C},{26:r1,52:l,67:h,68:A,93:i1,99:287,107:f,108:p,111:n1,113:d,114:E,117:101,119:99,124:b,125:k,126:D,127:g,128:F,129:C},e(Y,[2,110]),e(Y,[2,116]),e(t1,[2,61]),{22:S,24:m,26:v,38:V,39:288,42:x,52:l,67:h,68:A,74:R,82:L,84:141,85:J,86:$,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},e(t1,[2,69]),e(V2,B,{17:289}),e(Q2,[2,128],{110:276,22:b1,67:k1,68:D1,88:g1,104:F1,107:C1,111:_1,112:B1,113:T1,114:y1,115:S1}),e(Y,[2,123],{117:101,119:180,22:[1,290],26:r1,52:l,67:h,68:A,93:i1,107:f,108:p,111:n1,113:d,114:E,124:b,125:k,126:D,127:g,128:F,129:C}),e(Y,[2,124],{117:101,119:180,22:[1,291],26:r1,52:l,67:h,68:A,93:i1,107:f,108:p,111:n1,113:d,114:E,124:b,125:k,126:D,127:g,128:F,129:C}),{22:S,24:m,26:v,38:V,41:[1,292],42:x,52:l,67:h,68:A,74:R,82:L,84:203,87:153,88:I,89:N,90:O,91:P,92:w,93:U,94:M,96:144,97:G,107:f,108:p,111:K,113:d,114:E,115:j,116:W,117:150,124:b,125:k,126:D,127:g,128:F,129:C},{18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,42:[1,293],43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,53:46,55:47,67:c1,68:m1,88:o2,89:l2,90:h2,91:A2,92:f2,93:v1,97:V1,107:x1,108:R1,111:L1,113:I1,114:N1,118:48,120:p2,121:d2,122:E2,123:b2,124:O1,125:P1,126:w1,127:U1,128:M1,129:G1},{22:b1,67:k1,68:D1,88:g1,98:294,104:F1,107:C1,109:245,110:246,111:_1,112:B1,113:T1,114:y1,115:S1},{22:b1,67:k1,68:D1,88:g1,98:295,104:F1,107:C1,109:245,110:246,111:_1,112:B1,113:T1,114:y1,115:S1},e(t1,[2,65]),e(Q,[2,41]),e(Y,[2,121],{108:z1}),e(Y,[2,122],{108:z1})],defaultActions:{2:[2,1],9:[2,5],10:[2,2],133:[2,7]},parseError:function(a,o){if(o.recoverable)this.trace(a);else{var T=new Error(a);throw T.hash=o,T}},parse:function(a){var o=this,T=[0],n=[],X=[null],t=[],i2=this.table,s="",l1=0,X2=0,xe=2,q2=1,Re=t.slice.call(arguments,1),e1=Object.create(this.lexer),q1={yy:{}};for(var L2 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,L2)&&(q1.yy[L2]=this.yy[L2]);e1.setInput(a,q1.yy),q1.yy.lexer=e1,q1.yy.parser=this,typeof e1.yylloc>"u"&&(e1.yylloc={});var I2=e1.yylloc;t.push(I2);var Le=e1.options&&e1.options.ranges;typeof q1.yy.parseError=="function"?this.parseError=q1.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ie(){var j1;return j1=n.pop()||e1.lex()||q2,typeof j1!="number"&&(j1 instanceof Array&&(n=j1,j1=n.pop()),j1=o.symbols_[j1]||j1),j1}for(var a1,Z1,h1,N2,e2={},g2,K1,Z2,F2;;){if(Z1=T[T.length-1],this.defaultActions[Z1]?h1=this.defaultActions[Z1]:((a1===null||typeof a1>"u")&&(a1=Ie()),h1=i2[Z1]&&i2[Z1][a1]),typeof h1>"u"||!h1.length||!h1[0]){var O2="";F2=[];for(g2 in i2[Z1])this.terminals_[g2]&&g2>xe&&F2.push("'"+this.terminals_[g2]+"'");e1.showPosition?O2="Parse error on line "+(l1+1)+`: -`+e1.showPosition()+` -Expecting `+F2.join(", ")+", got '"+(this.terminals_[a1]||a1)+"'":O2="Parse error on line "+(l1+1)+": Unexpected "+(a1==q2?"end of input":"'"+(this.terminals_[a1]||a1)+"'"),this.parseError(O2,{text:e1.match,token:this.terminals_[a1]||a1,line:e1.yylineno,loc:I2,expected:F2})}if(h1[0]instanceof Array&&h1.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z1+", token: "+a1);switch(h1[0]){case 1:T.push(a1),X.push(e1.yytext),t.push(e1.yylloc),T.push(h1[1]),a1=null,X2=e1.yyleng,s=e1.yytext,l1=e1.yylineno,I2=e1.yylloc;break;case 2:if(K1=this.productions_[h1[1]][1],e2.$=X[X.length-K1],e2._$={first_line:t[t.length-(K1||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(K1||1)].first_column,last_column:t[t.length-1].last_column},Le&&(e2._$.range=[t[t.length-(K1||1)].range[0],t[t.length-1].range[1]]),N2=this.performAction.apply(e2,[s,X2,l1,q1.yy,h1[1],X,t].concat(Re)),typeof N2<"u")return N2;K1&&(T=T.slice(0,-1*K1*2),X=X.slice(0,-1*K1),t=t.slice(0,-1*K1)),T.push(this.productions_[h1[1]][0]),X.push(e2.$),t.push(e2._$),Z2=i2[T[T.length-2]][T[T.length-1]],T.push(Z2);break;case 3:return!0}}return!0}},Ve=function(){var H1={EOF:1,parseError:function(o,T){if(this.yy.parser)this.yy.parser.parseError(o,T);else throw new Error(o)},setInput:function(a,o){return this.yy=o||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var o=a.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var o=a.length,T=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),T.length-1&&(this.yylineno-=T.length-1);var X=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:T?(T.length===n.length?this.yylloc.first_column:0)+n[n.length-T.length].length-T[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[X[0],X[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),o=new Array(a.length+1).join("-");return a+this.upcomingInput()+` -`+o+"^"},test_match:function(a,o){var T,n,X;if(this.options.backtrack_lexer&&(X={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(X.yylloc.range=this.yylloc.range.slice(0))),n=a[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],T=this.performAction.call(this,this.yy,this,o,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),T)return T;if(this._backtrack){for(var t in X)this[t]=X[t];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,o,T,n;this._more||(this.yytext="",this.match="");for(var X=this._currentRules(),t=0;to[0].length)){if(o=T,n=t,this.options.backtrack_lexer){if(a=this.test_match(T,X[t]),a!==!1)return a;if(this._backtrack){o=!1;continue}else return!1}else if(!this.options.flex)break}return o?(a=this.test_match(o,X[n]),a!==!1?a:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var o=this.next();return o||this.lex()},begin:function(o){this.conditionStack.push(o)},popState:function(){var o=this.conditionStack.length-1;return o>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(o){return o=this.conditionStack.length-1-Math.abs(o||0),o>=0?this.conditionStack[o]:"INITIAL"},pushState:function(o){this.begin(o)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(o,T,n,X){switch(n){case 0:return this.begin("open_directive"),12;case 1:return this.begin("type_directive"),13;case 2:return this.popState(),this.begin("arg_directive"),10;case 3:return this.popState(),this.popState(),15;case 4:return 14;case 5:return this.begin("acc_title"),44;case 6:return this.popState(),"acc_title_value";case 7:return this.begin("acc_descr"),46;case 8:return this.popState(),"acc_descr_value";case 9:this.begin("acc_descr_multiline");break;case 10:this.popState();break;case 11:return"acc_descr_multiline_value";case 12:this.begin("md_string");break;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("string");break;case 16:this.popState();break;case 17:return"STR";case 18:return 88;case 19:return 97;case 20:return 89;case 21:return 106;case 22:return 90;case 23:return 91;case 24:this.begin("href");break;case 25:this.popState();break;case 26:return 102;case 27:this.begin("callbackname");break;case 28:this.popState();break;case 29:this.popState(),this.begin("callbackargs");break;case 30:return 100;case 31:this.popState();break;case 32:return 101;case 33:this.begin("click");break;case 34:this.popState();break;case 35:return 92;case 36:return o.lex.firstGraph()&&this.begin("dir"),24;case 37:return o.lex.firstGraph()&&this.begin("dir"),24;case 38:return o.lex.firstGraph()&&this.begin("dir"),24;case 39:return 38;case 40:return 42;case 41:return 103;case 42:return 103;case 43:return 103;case 44:return 103;case 45:return this.popState(),25;case 46:return this.popState(),26;case 47:return this.popState(),26;case 48:return this.popState(),26;case 49:return this.popState(),26;case 50:return this.popState(),26;case 51:return this.popState(),26;case 52:return this.popState(),26;case 53:return this.popState(),26;case 54:return this.popState(),26;case 55:return this.popState(),26;case 56:return 120;case 57:return 121;case 58:return 122;case 59:return 123;case 60:return 107;case 61:return 113;case 62:return 54;case 63:return 68;case 64:return 52;case 65:return 20;case 66:return 108;case 67:return 128;case 68:return 83;case 69:return 83;case 70:return 83;case 71:return 83;case 72:return 82;case 73:return 82;case 74:return 82;case 75:return 60;case 76:return 61;case 77:return 62;case 78:return 63;case 79:return 64;case 80:return 65;case 81:return 66;case 82:return 70;case 83:return 71;case 84:return 56;case 85:return 57;case 86:return 111;case 87:return 114;case 88:return 129;case 89:return 126;case 90:return 115;case 91:return 127;case 92:return 127;case 93:return 116;case 94:return 74;case 95:return 94;case 96:return"SEP";case 97:return 93;case 98:return 67;case 99:return 76;case 100:return 75;case 101:return 78;case 102:return 77;case 103:return 124;case 104:return 125;case 105:return 69;case 106:return 58;case 107:return 59;case 108:return 40;case 109:return 41;case 110:return 72;case 111:return 73;case 112:return 135;case 113:return 21;case 114:return 22;case 115:return 23}},rules:[/^(?:%%\{)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\[)/,/^(?:\]\))/,/^(?:\[\[)/,/^(?:\]\])/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\])/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:-)/,/^(?:\.)/,/^(?:[\_])/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:[A-Za-z]+)/,/^(?:\\\])/,/^(?:\[\/)/,/^(?:\/\])/,/^(?:\[\\)/,/^(?:[!"#$%&'*+,-.`?\\_/])/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[31,32],inclusive:!1},callbackname:{rules:[28,29,30],inclusive:!1},href:{rules:[25,26],inclusive:!1},click:{rules:[34,35],inclusive:!1},vertex:{rules:[],inclusive:!1},dir:{rules:[45,46,47,48,49,50,51,52,53,54,55],inclusive:!1},acc_descr_multiline:{rules:[10,11],inclusive:!1},acc_descr:{rules:[8],inclusive:!1},acc_title:{rules:[6],inclusive:!1},md_string:{rules:[13,14],inclusive:!1},string:{rules:[16,17],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,15,18,19,20,21,22,23,24,27,33,36,37,38,39,40,41,42,43,44,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115],inclusive:!0}}};return H1}();x2.lexer=Ve;function R2(){this.yy={}}return R2.prototype=x2,x2.Parser=R2,new R2}();P2.parser=P2;const et=P2,Ye="flowchart-";let J2=0,K2=U2(),z={},J1=[],t2={},W1=[],_2={},B2={},C2=0,w2=!0,A1,T2,y2=[];const S2=e=>We.sanitizeText(e,K2),$2=function(e,u,r){Ke.parseDirective(this,e,u,r)},c2=function(e){const u=Object.keys(z);for(const r of u)if(z[r].id===e)return z[r].domId;return e},ee=function(e,u,r,i,c,_,B={}){let u1,H=e;H!==void 0&&H.trim().length!==0&&(z[H]===void 0&&(z[H]={id:H,labelType:"text",domId:Ye+H+"-"+J2,styles:[],classes:[]}),J2++,u!==void 0?(K2=U2(),u1=S2(u.text.trim()),z[H].labelType=u.type,u1[0]==='"'&&u1[u1.length-1]==='"'&&(u1=u1.substring(1,u1.length-1)),z[H].text=u1):z[H].text===void 0&&(z[H].text=e),r!==void 0&&(z[H].type=r),i!=null&&i.forEach(function(s1){z[H].styles.push(s1)}),c!=null&&c.forEach(function(s1){z[H].classes.push(s1)}),_!==void 0&&(z[H].dir=_),z[H].props===void 0?z[H].props=B:B!==void 0&&Object.assign(z[H].props,B))},te=function(e,u,r){const _={start:e,end:u,type:void 0,text:"",labelType:"text"};M2.info("abc78 Got edge...",_);const B=r.text;B!==void 0&&(_.text=S2(B.text.trim()),_.text[0]==='"'&&_.text[_.text.length-1]==='"'&&(_.text=_.text.substring(1,_.text.length-1)),_.labelType=B.type),r!==void 0&&(_.type=r.type,_.stroke=r.stroke,_.length=r.length),J1.push(_)},se=function(e,u,r){M2.info("addLink (abc78)",e,u,r);let i,c;for(i=0;i/)&&(A1="LR"),A1.match(/.*v/)&&(A1="TB"),A1==="TD"&&(A1="TB")},m2=function(e,u){e.split(",").forEach(function(r){let i=r;z[i]!==void 0&&z[i].classes.push(u),_2[i]!==void 0&&_2[i].classes.push(u)})},ze=function(e,u){e.split(",").forEach(function(r){u!==void 0&&(B2[T2==="gen-1"?c2(r):r]=S2(u))})},He=function(e,u,r){let i=c2(e);if(U2().securityLevel!=="loose"||u===void 0)return;let c=[];if(typeof r=="string"){c=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let _=0;_")),c.classed("hover",!0)}).on("mouseout",function(){u.transition().duration(500).style("opacity",0),n2(this).classed("hover",!1)})};y2.push(de);const Ee=function(e="gen-1"){z={},t2={},J1=[],y2=[de],W1=[],_2={},C2=0,B2={},w2=!0,T2=e,je()},be=e=>{T2=e||"gen-2"},ke=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},De=function(e,u,r){let i=e.text.trim(),c=r.text;e===r&&r.text.match(/\s/)&&(i=void 0);function _(f1){const Y1={boolean:{},number:{},string:{}},Q1=[];let X1;return{nodeList:f1.filter(function(q){const c1=typeof q;return q.stmt&&q.stmt==="dir"?(X1=q.value,!1):q.trim()===""?!1:c1 in Y1?Y1[c1].hasOwnProperty(q)?!1:Y1[c1][q]=!0:Q1.includes(q)?!1:Q1.push(q)}),dir:X1}}let B=[];const{nodeList:u1,dir:H}=_(B.concat.apply(B,u));if(B=u1,T2==="gen-1")for(let f1=0;f12e3)return;if(ge[a2]=u,W1[u].id===e)return{result:!0,count:0};let i=0,c=1;for(;i=0){const B=Fe(e,_);if(B.result)return{result:!0,count:c+B.count};c=c+B.count}i=i+1}return{result:!1,count:c}},Ce=function(e){return ge[e]},_e=function(){a2=-1,W1.length>0&&Fe("none",W1.length-1)},Be=function(){return W1},Te=()=>w2?(w2=!1,!0):!1,Xe=e=>{let u=e.trim(),r="arrow_open";switch(u[0]){case"<":r="arrow_point",u=u.slice(1);break;case"x":r="arrow_cross",u=u.slice(1);break;case"o":r="arrow_circle",u=u.slice(1);break}let i="normal";return u.includes("=")&&(i="thick"),u.includes(".")&&(i="dotted"),{type:r,stroke:i}},qe=(e,u)=>{const r=u.length;let i=0;for(let c=0;c{const u=e.trim();let r=u.slice(0,-1),i="arrow_open";switch(u.slice(-1)){case"x":i="arrow_cross",u[0]==="x"&&(i="double_"+i,r=r.slice(1));break;case">":i="arrow_point",u[0]==="<"&&(i="double_"+i,r=r.slice(1));break;case"o":i="arrow_circle",u[0]==="o"&&(i="double_"+i,r=r.slice(1));break}let c="normal",_=r.length-1;r[0]==="="&&(c="thick"),r[0]==="~"&&(c="invisible");let B=qe(".",r);return B&&(c="dotted",_=B),{type:i,stroke:c,length:_}},ye=(e,u)=>{const r=Ze(e);let i;if(u){if(i=Xe(u),i.stroke!==r.stroke)return{type:"INVALID",stroke:"INVALID"};if(i.type==="arrow_open")i.type=r.type;else{if(i.type!==r.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return i.type==="double_arrow"&&(i.type="double_arrow_point"),i.length=r.length,i}return r},Se=(e,u)=>{let r=!1;return e.forEach(i=>{i.nodes.indexOf(u)>=0&&(r=!0)}),r},me=(e,u)=>{const r=[];return e.nodes.forEach((i,c)=>{Se(u,i)||r.push(e.nodes[c])}),{nodes:r}},ve={firstGraph:Te},Je={parseDirective:$2,defaultConfig:()=>Ne.flowchart,setAccTitle:Oe,getAccTitle:Pe,getAccDescription:we,setAccDescription:Ue,addVertex:ee,lookUpDomId:c2,addLink:se,updateLinkInterpolate:ue,updateLink:re,addClass:ie,setDirection:ne,setClass:m2,setTooltip:ze,getTooltip:ce,setClickEvent:oe,setLink:ae,bindFunctions:le,getDirection:he,getVertices:Ae,getEdges:fe,getClasses:pe,clear:Ee,setGen:be,defaultStyle:ke,addSubGraph:De,getDepthFirstPos:Ce,indexNodes:_e,getSubGraphs:Be,destructLink:ye,lex:ve,exists:Se,makeUniq:me,setDiagramTitle:Me,getDiagramTitle:Ge},tt=Object.freeze(Object.defineProperty({__proto__:null,addClass:ie,addLink:se,addSingleLink:te,addSubGraph:De,addVertex:ee,bindFunctions:le,clear:Ee,default:Je,defaultStyle:ke,destructLink:ye,firstGraph:Te,getClasses:pe,getDepthFirstPos:Ce,getDirection:he,getEdges:fe,getSubGraphs:Be,getTooltip:ce,getVertices:Ae,indexNodes:_e,lex:ve,lookUpDomId:c2,parseDirective:$2,setClass:m2,setClickEvent:oe,setDirection:ne,setGen:be,setLink:ae,updateLink:re,updateLinkInterpolate:ue},Symbol.toStringTag,{value:"Module"}));export{tt as d,Je as f,et as p}; diff --git a/pr-333/assets/chunks/flowDiagram-698c8d5d.4725ce6f.js b/pr-333/assets/chunks/flowDiagram-698c8d5d.4725ce6f.js deleted file mode 100644 index f522f2e75..000000000 --- a/pr-333/assets/chunks/flowDiagram-698c8d5d.4725ce6f.js +++ /dev/null @@ -1,4 +0,0 @@ -import{p as St,f as W}from"./flowDb-8f9fc471.4d6324c9.js";import{h as S,u as Lt,r as Et,p as _t,l as Tt,d as D,f as tt,G as Nt}from"./layout.c9cae6cc.js";import{h as x,o as P,p as z,q as et,c as J,j as rt,l as M,r as V,t as At}from"../app.1f62ceb3.js";import{a as N,b as at,i as nt,c as _,e as st,d as it,f as Ct,g as It,s as Bt}from"./styles-ff678862.2647e455.js";import{l as Mt}from"./line.e2bfcddf.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";import"./index-4c4adb72.f92dce56.js";import"./edges-b00f0ec2.6d3248f9.js";import"./createText-285e50b4.e45d4ac7.js";import"./svgDraw-5d8a058e.0c833b4b.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";function Dt(r){if(!r.ok)throw new Error(r.status+" "+r.statusText);return r.text()}function Rt(r,e){return fetch(r,e).then(Dt)}function Gt(r){return(e,t)=>Rt(e,t).then(n=>new DOMParser().parseFromString(n,r))}var Pt=Gt("image/svg+xml"),Y={normal:$t,vee:Wt,undirected:Vt};function Ut(r){Y=r}function $t(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Wt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Vt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function zt(r,e){var t=r;return t.node().appendChild(e.label),N(t,e.labelStyle),t}function Yt(r,e){for(var t=r.append("text"),n=Ht(e.label).split(` -`),a=0;a0}function T(r,e,t){var n=r.x,a=r.y,s=[],i=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;e.forEach(function(p){i=Math.min(i,p.x),o=Math.min(o,p.y)});for(var c=n-r.width/2-i,d=a-r.height/2-o,l=0;l1&&s.sort(function(p,g){var f=p.x-t.x,y=p.y-t.y,k=Math.sqrt(f*f+y*y),I=g.x-t.x,E=g.y-t.y,U=Math.sqrt(I*I+E*E);return kMath.abs(a)*o?(s<0&&(o=-o),c=s===0?0:o*a/s,d=o):(a<0&&(i=-i),c=i,d=a===0?0:i*s/a),{x:t+c,y:n+d}}var Q={rect:ie,ellipse:oe,circle:le,diamond:ce};function se(r){Q=r}function ie(r,e,t){var n=r.insert("rect",":first-child").attr("rx",t.rx).attr("ry",t.ry).attr("x",-e.width/2).attr("y",-e.height/2).attr("width",e.width).attr("height",e.height);return t.intersect=function(a){return Z(t,a)},n}function oe(r,e,t){var n=e.width/2,a=e.height/2,s=r.insert("ellipse",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("rx",n).attr("ry",a);return t.intersect=function(i){return lt(t,n,a,i)},s}function le(r,e,t){var n=Math.max(e.width,e.height)/2,a=r.insert("circle",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("r",n);return t.intersect=function(s){return ae(t,n,s)},a}function ce(r,e,t){var n=e.width*Math.SQRT2/2,a=e.height*Math.SQRT2/2,s=[{x:0,y:-a},{x:-n,y:0},{x:0,y:a},{x:n,y:0}],i=r.insert("polygon",":first-child").attr("points",s.map(function(o){return o.x+","+o.y}).join(" "));return t.intersect=function(o){return T(t,s,o)},i}function de(){var r=function(e,t){fe(t);var n=R(e,"output"),a=R(n,"clusters"),s=R(n,"edgePaths"),i=X(R(n,"edgeLabels"),t),o=q(R(n,"nodes"),t,Q);Tt(t),re(o,t),ee(i,t),F(s,t,Y);var c=H(a,t);te(c,t),pe(t)};return r.createNodes=function(e){return arguments.length?(jt(e),r):q},r.createClusters=function(e){return arguments.length?(Xt(e),r):H},r.createEdgeLabels=function(e){return arguments.length?(Ft(e),r):X},r.createEdgePaths=function(e){return arguments.length?(qt(e),r):F},r.shapes=function(e){return arguments.length?(se(e),r):Q},r.arrows=function(e){return arguments.length?(Ut(e),r):Y},r}var he={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},ue={arrowhead:"normal",curve:P};function fe(r){r.nodes().forEach(function(e){var t=r.node(e);!S(t,"label")&&!r.children(e).length&&(t.label=e),S(t,"paddingX")&&D(t,{paddingLeft:t.paddingX,paddingRight:t.paddingX}),S(t,"paddingY")&&D(t,{paddingTop:t.paddingY,paddingBottom:t.paddingY}),S(t,"padding")&&D(t,{paddingLeft:t.padding,paddingRight:t.padding,paddingTop:t.padding,paddingBottom:t.padding}),D(t,he),tt(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(n){t[n]=Number(t[n])}),S(t,"width")&&(t._prevWidth=t.width),S(t,"height")&&(t._prevHeight=t.height)}),r.edges().forEach(function(e){var t=r.edge(e);S(t,"label")||(t.label=""),D(t,ue)})}function pe(r){tt(r.nodes(),function(e){var t=r.node(e);S(t,"_prevWidth")?t.width=t._prevWidth:delete t.width,S(t,"_prevHeight")?t.height=t._prevHeight:delete t.height,delete t._prevWidth,delete t._prevHeight})}function R(r,e){var t=r.select("g."+e);return t.empty()&&(t=r.append("g").attr("class",e)),t}function ct(r,e,t){const n=e.width,a=e.height,s=(n+a)*.9,i=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}],o=A(r,s,s,i);return t.intersect=function(c){return T(t,i,c)},o}function dt(r,e,t){const a=e.height,s=a/4,i=e.width+2*s,o=[{x:s,y:0},{x:i-s,y:0},{x:i,y:-a/2},{x:i-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],c=A(r,i,a,o);return t.intersect=function(d){return T(t,o,d)},c}function ht(r,e,t){const n=e.width,a=e.height,s=[{x:-a/2,y:0},{x:n,y:0},{x:n,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function ut(r,e,t){const n=e.width,a=e.height,s=[{x:-2*a/6,y:0},{x:n-a/6,y:0},{x:n+2*a/6,y:-a},{x:a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function ft(r,e,t){const n=e.width,a=e.height,s=[{x:2*a/6,y:0},{x:n+a/6,y:0},{x:n-2*a/6,y:-a},{x:-a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function pt(r,e,t){const n=e.width,a=e.height,s=[{x:-2*a/6,y:0},{x:n+2*a/6,y:0},{x:n-a/6,y:-a},{x:a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function vt(r,e,t){const n=e.width,a=e.height,s=[{x:a/6,y:0},{x:n-a/6,y:0},{x:n+2*a/6,y:-a},{x:-2*a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function yt(r,e,t){const n=e.width,a=e.height,s=[{x:0,y:0},{x:n+a/2,y:0},{x:n,y:-a/2},{x:n+a/2,y:-a},{x:0,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function gt(r,e,t){const n=e.height,a=e.width+n/4,s=r.insert("rect",":first-child").attr("rx",n/2).attr("ry",n/2).attr("x",-a/2).attr("y",-n/2).attr("width",a).attr("height",n);return t.intersect=function(i){return Z(t,i)},s}function mt(r,e,t){const n=e.width,a=e.height,s=[{x:0,y:0},{x:n,y:0},{x:n,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:n+8,y:0},{x:n+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function wt(r,e,t){const n=e.width,a=n/2,s=a/(2.5+n/50),i=e.height+s,o="M 0,"+s+" a "+a+","+s+" 0,0,0 "+n+" 0 a "+a+","+s+" 0,0,0 "+-n+" 0 l 0,"+i+" a "+a+","+s+" 0,0,0 "+n+" 0 l 0,"+-i,c=r.attr("label-offset-y",s).insert("path",":first-child").attr("d",o).attr("transform","translate("+-n/2+","+-(i/2+s)+")");return t.intersect=function(d){const l=Z(t,d),v=l.x-t.x;if(a!=0&&(Math.abs(v)t.height/2-s)){let h=s*s*(1-v*v/(a*a));h!=0&&(h=Math.sqrt(h)),h=s-h,d.y-t.y>0&&(h=-h),l.y+=h}return l},c}function ve(r){r.shapes().question=ct,r.shapes().hexagon=dt,r.shapes().stadium=gt,r.shapes().subroutine=mt,r.shapes().cylinder=wt,r.shapes().rect_left_inv_arrow=ht,r.shapes().lean_right=ut,r.shapes().lean_left=ft,r.shapes().trapezoid=pt,r.shapes().inv_trapezoid=vt,r.shapes().rect_right_inv_arrow=yt}function ye(r){r({question:ct}),r({hexagon:dt}),r({stadium:gt}),r({subroutine:mt}),r({cylinder:wt}),r({rect_left_inv_arrow:ht}),r({lean_right:ut}),r({lean_left:ft}),r({trapezoid:pt}),r({inv_trapezoid:vt}),r({rect_right_inv_arrow:yt})}function A(r,e,t,n){return r.insert("polygon",":first-child").attr("points",n.map(function(a){return a.x+","+a.y}).join(" ")).attr("transform","translate("+-e/2+","+t/2+")")}const ge={addToRender:ve,addToRenderV2:ye},xt={},me=function(r){const e=Object.keys(r);for(const t of e)xt[t]=r[t]},bt=function(r,e,t,n,a,s){const i=n?n.select(`[id="${t}"]`):x(`[id="${t}"]`),o=a||document;Object.keys(r).forEach(function(d){const l=r[d];let v="default";l.classes.length>0&&(v=l.classes.join(" "));const h=z(l.styles);let u=l.text!==void 0?l.text:l.id,p;if(et(J().flowchart.htmlLabels)){const y={label:u.replace(/fa[blrs]?:fa-[\w-]+/g,k=>``)};p=at(i,y).node(),p.parentNode.removeChild(p)}else{const y=o.createElementNS("http://www.w3.org/2000/svg","text");y.setAttribute("style",h.labelStyle.replace("color:","fill:"));const k=u.split(rt.lineBreakRegex);for(const I of k){const E=o.createElementNS("http://www.w3.org/2000/svg","tspan");E.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),E.setAttribute("dy","1em"),E.setAttribute("x","1"),E.textContent=I,y.appendChild(E)}p=y}let g=0,f="";switch(l.type){case"round":g=5,f="rect";break;case"square":f="rect";break;case"diamond":f="question";break;case"hexagon":f="hexagon";break;case"odd":f="rect_left_inv_arrow";break;case"lean_right":f="lean_right";break;case"lean_left":f="lean_left";break;case"trapezoid":f="trapezoid";break;case"inv_trapezoid":f="inv_trapezoid";break;case"odd_right":f="rect_left_inv_arrow";break;case"circle":f="circle";break;case"ellipse":f="ellipse";break;case"stadium":f="stadium";break;case"subroutine":f="subroutine";break;case"cylinder":f="cylinder";break;case"group":f="rect";break;default:f="rect"}M.warn("Adding node",l.id,l.domId),e.setNode(s.db.lookUpDomId(l.id),{labelType:"svg",labelStyle:h.labelStyle,shape:f,label:p,rx:g,ry:g,class:v,style:h.style,id:s.db.lookUpDomId(l.id)})})},kt=function(r,e,t){let n=0,a,s;if(r.defaultStyle!==void 0){const i=z(r.defaultStyle);a=i.style,s=i.labelStyle}r.forEach(function(i){n++;const o="L-"+i.start+"-"+i.end,c="LS-"+i.start,d="LE-"+i.end,l={};i.type==="arrow_open"?l.arrowhead="none":l.arrowhead="normal";let v="",h="";if(i.style!==void 0){const u=z(i.style);v=u.style,h=u.labelStyle}else switch(i.stroke){case"normal":v="fill:none",a!==void 0&&(v=a),s!==void 0&&(h=s);break;case"dotted":v="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":v=" stroke-width: 3.5px;fill:none";break}l.style=v,l.labelStyle=h,i.interpolate!==void 0?l.curve=V(i.interpolate,P):r.defaultInterpolate!==void 0?l.curve=V(r.defaultInterpolate,P):l.curve=V(xt.curve,P),i.text===void 0?i.style!==void 0&&(l.arrowheadStyle="fill: #333"):(l.arrowheadStyle="fill: #333",l.labelpos="c",et(J().flowchart.htmlLabels)?(l.labelType="html",l.label=`${i.text.replace(/fa[blrs]?:fa-[\w-]+/g,u=>``)}`):(l.labelType="text",l.label=i.text.replace(rt.lineBreakRegex,` -`),i.style===void 0&&(l.style=l.style||"stroke: #333; stroke-width: 1.5px;fill:none"),l.labelStyle=l.labelStyle.replace("color:","fill:"))),l.id=o,l.class=c+" "+d,l.minlen=i.length||1,e.setEdge(t.db.lookUpDomId(i.start),t.db.lookUpDomId(i.end),l,n)})},we=function(r,e){M.info("Extracting classes"),e.db.clear();try{return e.parse(r),e.db.getClasses()}catch(t){return M.error(t),{}}},xe=function(r,e,t,n){M.info("Drawing flowchart"),n.db.clear();const{securityLevel:a,flowchart:s}=J();let i;a==="sandbox"&&(i=x("#i"+e));const o=a==="sandbox"?x(i.nodes()[0].contentDocument.body):x("body"),c=a==="sandbox"?i.nodes()[0].contentDocument:document;let d=n.db.getDirection();d===void 0&&(d="TD");const l=s.nodeSpacing||50,v=s.rankSpacing||50,h=new Nt({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:l,ranksep:v,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let u;const p=n.db.getSubGraphs();for(let m=p.length-1;m>=0;m--)u=p[m],n.db.addVertex(u.id,u.title,"group",void 0,u.classes);const g=n.db.getVertices();M.warn("Get vertices",g);const f=n.db.getEdges();let y=0;for(y=p.length-1;y>=0;y--){u=p[y],Bt("cluster").append("text");for(let m=0;m{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,be.setConf(r.flowchart),W.clear(),W.setGen("gen-1")}};export{Re as diagram}; diff --git a/pr-333/assets/chunks/flowDiagram-v2-d6437390.b0c4797f.js b/pr-333/assets/chunks/flowDiagram-v2-d6437390.b0c4797f.js deleted file mode 100644 index c34d81de7..000000000 --- a/pr-333/assets/chunks/flowDiagram-v2-d6437390.b0c4797f.js +++ /dev/null @@ -1 +0,0 @@ -import{p as e,f as o}from"./flowDb-8f9fc471.4d6324c9.js";import{f as t,g as a}from"./styles-ff678862.2647e455.js";import{a8 as i}from"../app.1f62ceb3.js";import"./layout.c9cae6cc.js";import"./index-4c4adb72.f92dce56.js";import"./edges-b00f0ec2.6d3248f9.js";import"./createText-285e50b4.e45d4ac7.js";import"./svgDraw-5d8a058e.0c833b4b.js";import"./line.e2bfcddf.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";const M={parser:e,db:o,renderer:t,styles:a,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,i({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{M as diagram}; diff --git a/pr-333/assets/chunks/flowchart-elk-definition-6f4e6aa0.890be435.js b/pr-333/assets/chunks/flowchart-elk-definition-6f4e6aa0.890be435.js deleted file mode 100644 index b51dc607a..000000000 --- a/pr-333/assets/chunks/flowchart-elk-definition-6f4e6aa0.890be435.js +++ /dev/null @@ -1,139 +0,0 @@ -import{d as bMe,p as wMe}from"./flowDb-8f9fc471.4d6324c9.js";import{aI as Hee,aJ as gMe,l as K1,h as lI,c as OH,t as pMe,p as V1n,r as X1n,o as IH,j as vMe}from"../app.1f62ceb3.js";import{i as mMe,a as kMe,l as yMe,b as jMe}from"./edges-b00f0ec2.6d3248f9.js";import{l as EMe}from"./line.e2bfcddf.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";import"./createText-285e50b4.e45d4ac7.js";import"./svgDraw-5d8a058e.0c833b4b.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";function PH(Ee){throw new Error('Could not dynamically require "'+Ee+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Uee={exports:{}};(function(Ee,It){(function(ut){Ee.exports=ut()})(function(){return function(){function ut(dt,Bt,Ai){function j(Ot,qt){if(!Bt[Ot]){if(!dt[Ot]){var Ge=typeof PH=="function"&&PH;if(!qt&&Ge)return Ge(Ot,!0);if(Ht)return Ht(Ot,!0);var Ki=new Error("Cannot find module '"+Ot+"'");throw Ki.code="MODULE_NOT_FOUND",Ki}var Si=Bt[Ot]={exports:{}};dt[Ot][0].call(Si.exports,function(Mn){var Lc=dt[Ot][1][Mn];return j(Lc||Mn)},Si,Si.exports,ut,dt,Bt,Ai)}return Bt[Ot].exports}for(var Ht=typeof PH=="function"&&PH,ou=0;ou0&&arguments[0]!==void 0?arguments[0]:{},Ki=Ge.defaultLayoutOptions,Si=Ki===void 0?{}:Ki,Mn=Ge.algorithms,Lc=Mn===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:Mn,Nc=Ge.workerFactory,ps=Ge.workerUrl;if(j(this,Ot),this.defaultLayoutOptions=Si,this.initialized=!1,typeof ps>"u"&&typeof Nc>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var Rr=Nc;typeof ps<"u"&&typeof Nc>"u"&&(Rr=function(q1){return new Worker(q1)});var Ch=Rr(ps);if(typeof Ch.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new ou(Ch),this.worker.postMessage({cmd:"register",algorithms:Lc}).then(function(H1){return qt.initialized=!0}).catch(console.err)}return Ai(Ot,[{key:"layout",value:function(Ge){var Ki=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Si=Ki.layoutOptions,Mn=Si===void 0?this.defaultLayoutOptions:Si,Lc=Ki.logging,Nc=Lc===void 0?!1:Lc,ps=Ki.measureExecutionTime,Rr=ps===void 0?!1:ps;return Ge?this.worker.postMessage({cmd:"layout",graph:Ge,layoutOptions:Mn,options:{logging:Nc,measureExecutionTime:Rr}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),Ot}();Bt.default=Ht;var ou=function(){function Ot(qt){var Ge=this;if(j(this,Ot),qt===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=qt,this.worker.onmessage=function(Ki){setTimeout(function(){Ge.receive(Ge,Ki)},0)}}return Ai(Ot,[{key:"postMessage",value:function(Ge){var Ki=this.id||0;this.id=Ki+1,Ge.id=Ki;var Si=this;return new Promise(function(Mn,Lc){Si.resolvers[Ki]=function(Nc,ps){Nc?(Si.convertGwtStyleError(Nc),Lc(Nc)):Mn(ps)},Si.worker.postMessage(Ge)})}},{key:"receive",value:function(Ge,Ki){var Si=Ki.data,Mn=Ge.resolvers[Si.id];Mn&&(delete Ge.resolvers[Si.id],Si.error?Mn(Si.error):Mn(null,Si.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(Ge){if(Ge){var Ki=Ge.__java$exception;Ki&&(Ki.cause&&Ki.cause.backingJsObject&&(Ge.cause=Ki.cause.backingJsObject,this.convertGwtStyleError(Ge.cause)),delete Ge.__java$exception)}}}]),Ot}()},{}],2:[function(ut,dt,Bt){(function(Ai){(function(){var j;typeof window<"u"?j=window:typeof Ai<"u"?j=Ai:typeof self<"u"&&(j=self);var Ht;function ou(){}function Ot(){}function qt(){}function Ge(){}function Ki(){}function Si(){}function Mn(){}function Lc(){}function Nc(){}function ps(){}function Rr(){}function Ch(){}function H1(){}function q1(){}function ww(){}function Np(){}function G1(){}function Th(){}function Q1n(){}function J1n(){}function zy(){}function Y1n(){}function Z1n(){}function nln(){}function eln(){}function Xg(){}function N(){}function tln(){}function aI(){}function iln(){}function rln(){}function cln(){}function uln(){}function DH(){}function sln(){}function oln(){}function fln(){}function z1(){}function U1(){}function dI(){}function hln(){}function lln(){}function aln(){}function $H(){}function dln(){}function bln(){}function Vg(){}function Qg(){}function wln(){}function gln(){}function pln(){}function vln(){}function FH(){}function W1(){}function Jg(){}function Yg(){}function mln(){}function Vee(){}function bI(){}function kln(){}function yln(){}function jln(){}function Eln(){}function Cln(){}function Tln(){}function Mln(){}function Aln(){}function Sln(){}function Pln(){}function Iln(){}function Oln(){}function Dln(){}function $ln(){}function Fln(){}function xln(){}function Lln(){}function Nln(){}function Bln(){}function Rln(){}function _ln(){}function Kln(){}function Hln(){}function qln(){}function Gln(){}function zln(){}function Uln(){}function Wln(){}function Xln(){}function Vln(){}function Qln(){}function Jln(){}function Yln(){}function xH(){}function Zln(){}function nan(){}function ean(){}function tan(){}function wI(){}function gI(){}function Uy(){}function ian(){}function ran(){}function pI(){}function can(){}function uan(){}function san(){}function Wy(){}function oan(){}function fan(){}function han(){}function lan(){}function aan(){}function dan(){}function ban(){}function wan(){}function gan(){}function LH(){}function pan(){}function van(){}function man(){}function kan(){}function yan(){}function NH(){}function jan(){}function Ean(){}function Can(){}function Tan(){}function Man(){}function Aan(){}function San(){}function Pan(){}function Ian(){}function Oan(){}function Dan(){}function $an(){}function Fan(){}function xan(){}function vI(){}function Lan(){}function Nan(){}function Ban(){}function Ran(){}function _an(){}function BH(){}function Kan(){}function Han(){}function qan(){}function Gan(){}function zan(){}function Uan(){}function Wan(){}function Xan(){}function Van(){}function Qan(){}function Jan(){}function Yan(){}function Zan(){}function ndn(){}function edn(){}function tdn(){}function idn(){}function rdn(){}function cdn(){}function udn(){}function sdn(){}function odn(){}function fdn(){}function hdn(){}function ldn(){}function adn(){}function ddn(){}function bdn(){}function wdn(){}function gdn(){}function pdn(){}function vdn(){}function mdn(){}function kdn(){}function ydn(){}function jdn(){}function Edn(){}function Cdn(){}function Tdn(){}function Mdn(){}function Adn(){}function Sdn(){}function Pdn(){}function Idn(){}function Odn(){}function Ddn(){}function $dn(){}function Fdn(){}function xdn(){}function Ldn(){}function Ndn(){}function Bdn(){}function Rdn(){}function _dn(){}function Kdn(){}function Hdn(){}function qdn(){}function Gdn(){}function zdn(){}function Udn(){}function Wdn(){}function Xdn(){}function Vdn(){}function Qdn(){}function Jdn(){}function Ydn(){}function Zdn(){}function n0n(){}function e0n(){}function t0n(){}function i0n(){}function r0n(){}function c0n(){}function u0n(){}function s0n(){}function o0n(){}function f0n(){}function h0n(){}function l0n(){}function a0n(){}function d0n(){}function b0n(){}function w0n(){}function g0n(){}function p0n(){}function v0n(){}function m0n(){}function k0n(){}function y0n(){}function j0n(){}function E0n(){}function C0n(){}function T0n(){}function M0n(){}function A0n(){}function S0n(){}function P0n(){}function I0n(){}function O0n(){}function D0n(){}function RH(){}function $0n(){}function F0n(){}function x0n(){}function L0n(){}function N0n(){}function B0n(){}function R0n(){}function _0n(){}function K0n(){}function H0n(){}function q0n(){}function G0n(){}function z0n(){}function U0n(){}function W0n(){}function X0n(){}function V0n(){}function Q0n(){}function J0n(){}function Y0n(){}function Z0n(){}function nbn(){}function ebn(){}function tbn(){}function ibn(){}function rbn(){}function cbn(){}function ubn(){}function sbn(){}function obn(){}function fbn(){}function hbn(){}function lbn(){}function abn(){}function dbn(){}function bbn(){}function wbn(){}function gbn(){}function pbn(){}function vbn(){}function mbn(){}function kbn(){}function ybn(){}function jbn(){}function Ebn(){}function Cbn(){}function Tbn(){}function Mbn(){}function Abn(){}function Sbn(){}function Pbn(){}function Ibn(){}function Obn(){}function Dbn(){}function $bn(){}function Fbn(){}function xbn(){}function Lbn(){}function Nbn(){}function Bbn(){}function Rbn(){}function _bn(){}function Kbn(){}function Hbn(){}function qbn(){}function Gbn(){}function zbn(){}function _H(){}function Ubn(){}function Wbn(){}function Xbn(){}function Vbn(){}function Qbn(){}function Jbn(){}function Ybn(){}function Zbn(){}function nwn(){}function ewn(){}function twn(){}function iwn(){}function rwn(){}function cwn(){}function uwn(){}function swn(){}function own(){}function fwn(){}function hwn(){}function lwn(){}function KH(){}function awn(){}function dwn(){}function bwn(){}function wwn(){}function gwn(){}function pwn(){}function HH(){}function qH(){}function vwn(){}function GH(){}function zH(){}function mwn(){}function kwn(){}function ywn(){}function jwn(){}function Ewn(){}function Cwn(){}function Twn(){}function Mwn(){}function Awn(){}function UH(){}function Swn(){}function Pwn(){}function Iwn(){}function Own(){}function Dwn(){}function $wn(){}function Fwn(){}function xwn(){}function Lwn(){}function Nwn(){}function Bwn(){}function Rwn(){}function _wn(){}function Kwn(){}function Hwn(){}function qwn(){}function Gwn(){}function zwn(){}function Uwn(){}function Wwn(){}function Xwn(){}function Vwn(){}function Qwn(){}function Jwn(){}function Ywn(){}function Zwn(){}function ngn(){}function egn(){}function tgn(){}function ign(){}function rgn(){}function cgn(){}function ugn(){}function sgn(){}function ogn(){}function fgn(){}function hgn(){}function lgn(){}function agn(){}function dgn(){}function bgn(){}function wgn(){}function ggn(){}function pgn(){}function vgn(){}function mgn(){}function kgn(){}function ygn(){}function jgn(){}function Egn(){}function Cgn(){}function Tgn(){}function Mgn(){}function Agn(){}function Sgn(){}function Pgn(){}function Ign(){}function Ogn(){}function Dgn(){}function $gn(){}function Fgn(){}function xgn(){}function Lgn(){}function Ngn(){}function Bgn(){}function Rgn(){}function _gn(){}function Kgn(){}function mI(){}function kI(){}function yI(){}function Hgn(){}function qgn(){}function Ggn(){}function zgn(){}function Ugn(){}function WH(){}function Wgn(){}function Xgn(){}function Qee(){}function Vgn(){}function Qgn(){}function Jgn(){}function Ygn(){}function Zgn(){}function n2n(){}function e2n(){}function Zl(){}function t2n(){}function Zg(){}function XH(){}function i2n(){}function r2n(){}function c2n(){}function u2n(){}function s2n(){}function o2n(){}function f2n(){}function h2n(){}function l2n(){}function a2n(){}function d2n(){}function b2n(){}function w2n(){}function g2n(){}function p2n(){}function v2n(){}function m2n(){}function k2n(){}function y2n(){}function j2n(){}function E2n(){}function dn(){}function C2n(){}function T2n(){}function M2n(){}function A2n(){}function S2n(){}function P2n(){}function I2n(){}function O2n(){}function D2n(){}function $2n(){}function jI(){}function F2n(){}function x2n(){}function L2n(){}function N2n(){}function B2n(){}function VH(){}function Xy(){}function Vy(){}function R2n(){}function QH(){}function Qy(){}function _2n(){}function K2n(){}function H2n(){}function q2n(){}function G2n(){}function z2n(){}function Jy(){}function U2n(){}function W2n(){}function X2n(){}function Yy(){}function V2n(){}function JH(){}function Q2n(){}function EI(){}function YH(){}function J2n(){}function Y2n(){}function Z2n(){}function npn(){}function Jee(){}function epn(){}function tpn(){}function ipn(){}function rpn(){}function cpn(){}function upn(){}function spn(){}function opn(){}function fpn(){}function hpn(){}function Bp(){}function CI(){}function lpn(){}function apn(){}function dpn(){}function bpn(){}function wpn(){}function gpn(){}function ppn(){}function vpn(){}function mpn(){}function kpn(){}function ypn(){}function jpn(){}function Epn(){}function Cpn(){}function Tpn(){}function Mpn(){}function Apn(){}function Spn(){}function Ppn(){}function Ipn(){}function Opn(){}function Dpn(){}function $pn(){}function Fpn(){}function xpn(){}function Lpn(){}function Npn(){}function Bpn(){}function Rpn(){}function _pn(){}function Kpn(){}function Hpn(){}function qpn(){}function Gpn(){}function zpn(){}function Upn(){}function Wpn(){}function Xpn(){}function Vpn(){}function Qpn(){}function Jpn(){}function Ypn(){}function Zpn(){}function n3n(){}function e3n(){}function t3n(){}function i3n(){}function r3n(){}function c3n(){}function u3n(){}function s3n(){}function o3n(){}function f3n(){}function h3n(){}function l3n(){}function a3n(){}function d3n(){}function b3n(){}function w3n(){}function g3n(){}function p3n(){}function v3n(){}function m3n(){}function k3n(){}function y3n(){}function j3n(){}function E3n(){}function C3n(){}function T3n(){}function M3n(){}function A3n(){}function S3n(){}function P3n(){}function I3n(){}function O3n(){}function D3n(){}function $3n(){}function F3n(){}function x3n(){}function L3n(){}function N3n(){}function B3n(){}function R3n(){}function _3n(){}function K3n(){}function H3n(){}function q3n(){}function G3n(){}function z3n(){}function U3n(){}function W3n(){}function X3n(){}function V3n(){}function Q3n(){}function J3n(){}function Y3n(){}function Z3n(){}function n4n(){}function e4n(){}function t4n(){}function i4n(){}function ZH(){}function r4n(){}function c4n(){}function TI(){Rv()}function u4n(){pF()}function s4n(){a6()}function o4n(){WT()}function f4n(){YJ()}function h4n(){Go()}function l4n(){fJ()}function a4n(){C7()}function d4n(){q9()}function b4n(){H9()}function w4n(){w8()}function g4n(){v7n()}function p4n(){x2()}function v4n(){Sj()}function m4n(){PSn()}function k4n(){HIn()}function y4n(){sPn()}function j4n(){CMn()}function E4n(){V3()}function C4n(){yl()}function T4n(){qIn()}function M4n(){pAn()}function A4n(){zZ()}function S4n(){IFn()}function P4n(){TMn()}function I4n(){nn()}function O4n(){EMn()}function D4n(){GIn()}function $4n(){WOn()}function F4n(){AMn()}function x4n(){aPn()}function L4n(){m7n()}function N4n(){$Y()}function B4n(){gb()}function R4n(){pOn()}function _4n(){S7()}function K4n(){Ux()}function H4n(){ZF()}function q4n(){Zd()}function G4n(){PV()}function z4n(){MMn()}function U4n(){BBn()}function W4n(){IY()}function X4n(){Bx()}function V4n(){DC()}function Q4n(){nM()}function nq(){Xe()}function J4n(){wT()}function Y4n(){NQ()}function eq(){mM()}function Fo(){dEn()}function tq(){eF()}function Z4n(){pZ()}function iq(n){_n(n)}function nvn(n){this.a=n}function Zy(n){this.a=n}function evn(n){this.a=n}function tvn(n){this.a=n}function ivn(n){this.a=n}function rvn(n){this.a=n}function cvn(n){this.a=n}function uvn(n){this.a=n}function rq(n){this.a=n}function cq(n){this.a=n}function svn(n){this.a=n}function MI(n){this.a=n}function ovn(n){this.a=n}function AI(n){this.a=n}function fvn(n){this.a=n}function SI(n){this.a=n}function hvn(n){this.a=n}function PI(n){this.a=n}function lvn(n){this.a=n}function avn(n){this.a=n}function dvn(n){this.a=n}function uq(n){this.b=n}function bvn(n){this.c=n}function wvn(n){this.a=n}function gvn(n){this.a=n}function pvn(n){this.a=n}function vvn(n){this.a=n}function mvn(n){this.a=n}function kvn(n){this.a=n}function yvn(n){this.a=n}function jvn(n){this.a=n}function Evn(n){this.a=n}function Cvn(n){this.a=n}function Tvn(n){this.a=n}function Mvn(n){this.a=n}function Avn(n){this.a=n}function sq(n){this.a=n}function oq(n){this.a=n}function nj(n){this.a=n}function M9(n){this.a=n}function na(){this.a=[]}function Svn(n,e){n.a=e}function Yee(n,e){n.a=e}function Zee(n,e){n.b=e}function nte(n,e){n.b=e}function ete(n,e){n.b=e}function fq(n,e){n.j=e}function tte(n,e){n.g=e}function ite(n,e){n.i=e}function rte(n,e){n.c=e}function cte(n,e){n.d=e}function ute(n,e){n.d=e}function ste(n,e){n.c=e}function ea(n,e){n.k=e}function ote(n,e){n.c=e}function hq(n,e){n.c=e}function lq(n,e){n.a=e}function fte(n,e){n.a=e}function hte(n,e){n.f=e}function lte(n,e){n.a=e}function ate(n,e){n.b=e}function II(n,e){n.d=e}function ej(n,e){n.i=e}function aq(n,e){n.o=e}function dte(n,e){n.r=e}function bte(n,e){n.a=e}function wte(n,e){n.b=e}function Pvn(n,e){n.e=e}function gte(n,e){n.f=e}function dq(n,e){n.g=e}function pte(n,e){n.e=e}function vte(n,e){n.f=e}function mte(n,e){n.f=e}function kte(n,e){n.n=e}function yte(n,e){n.a=e}function jte(n,e){n.a=e}function Ete(n,e){n.c=e}function Cte(n,e){n.c=e}function Tte(n,e){n.d=e}function Mte(n,e){n.e=e}function Ate(n,e){n.g=e}function Ste(n,e){n.a=e}function Pte(n,e){n.c=e}function Ite(n,e){n.d=e}function Ote(n,e){n.e=e}function Dte(n,e){n.f=e}function $te(n,e){n.j=e}function Fte(n,e){n.a=e}function xte(n,e){n.b=e}function Lte(n,e){n.a=e}function Ivn(n){n.b=n.a}function Ovn(n){n.c=n.d.d}function $v(n){this.d=n}function ta(n){this.a=n}function Rp(n){this.a=n}function bq(n){this.a=n}function Mh(n){this.a=n}function A9(n){this.a=n}function Dvn(n){this.a=n}function wq(n){this.a=n}function S9(n){this.a=n}function gq(n){this.a=n}function pq(n){this.a=n}function vq(n){this.a=n}function L0(n){this.a=n}function P9(n){this.a=n}function I9(n){this.a=n}function mq(n){this.b=n}function _p(n){this.b=n}function Kp(n){this.b=n}function OI(n){this.a=n}function $vn(n){this.a=n}function kq(n){this.a=n}function DI(n){this.c=n}function E(n){this.c=n}function Fvn(n){this.c=n}function yq(n){this.a=n}function jq(n){this.a=n}function Eq(n){this.a=n}function Cq(n){this.a=n}function st(n){this.a=n}function xvn(n){this.a=n}function Tq(n){this.a=n}function Mq(n){this.a=n}function Lvn(n){this.a=n}function Nvn(n){this.a=n}function Fv(n){this.a=n}function Bvn(n){this.a=n}function Rvn(n){this.a=n}function _vn(n){this.a=n}function Kvn(n){this.a=n}function Hvn(n){this.a=n}function qvn(n){this.a=n}function Gvn(n){this.a=n}function zvn(n){this.a=n}function Uvn(n){this.a=n}function Wvn(n){this.a=n}function Xvn(n){this.a=n}function Vvn(n){this.a=n}function Qvn(n){this.a=n}function Jvn(n){this.a=n}function Yvn(n){this.a=n}function Zvn(n){this.a=n}function n5n(n){this.a=n}function O9(n){this.a=n}function e5n(n){this.a=n}function t5n(n){this.a=n}function tj(n){this.a=n}function i5n(n){this.a=n}function r5n(n){this.a=n}function Hp(n){this.a=n}function Aq(n){this.a=n}function c5n(n){this.a=n}function u5n(n){this.a=n}function s5n(n){this.a=n}function o5n(n){this.a=n}function f5n(n){this.a=n}function Sq(n){this.a=n}function Pq(n){this.a=n}function Iq(n){this.a=n}function ij(n){this.a=n}function rj(n){this.e=n}function qp(n){this.a=n}function h5n(n){this.a=n}function n2(n){this.a=n}function Oq(n){this.a=n}function l5n(n){this.a=n}function a5n(n){this.a=n}function d5n(n){this.a=n}function b5n(n){this.a=n}function w5n(n){this.a=n}function g5n(n){this.a=n}function p5n(n){this.a=n}function v5n(n){this.a=n}function m5n(n){this.a=n}function k5n(n){this.a=n}function y5n(n){this.a=n}function Dq(n){this.a=n}function j5n(n){this.a=n}function E5n(n){this.a=n}function C5n(n){this.a=n}function T5n(n){this.a=n}function M5n(n){this.a=n}function A5n(n){this.a=n}function S5n(n){this.a=n}function P5n(n){this.a=n}function I5n(n){this.a=n}function O5n(n){this.a=n}function D5n(n){this.a=n}function $5n(n){this.a=n}function F5n(n){this.a=n}function x5n(n){this.a=n}function L5n(n){this.a=n}function N5n(n){this.a=n}function B5n(n){this.a=n}function R5n(n){this.a=n}function _5n(n){this.a=n}function K5n(n){this.a=n}function H5n(n){this.a=n}function q5n(n){this.a=n}function G5n(n){this.a=n}function z5n(n){this.a=n}function U5n(n){this.a=n}function W5n(n){this.a=n}function X5n(n){this.a=n}function V5n(n){this.a=n}function Q5n(n){this.a=n}function J5n(n){this.a=n}function Y5n(n){this.a=n}function Z5n(n){this.a=n}function n6n(n){this.a=n}function e6n(n){this.a=n}function t6n(n){this.a=n}function i6n(n){this.a=n}function r6n(n){this.a=n}function c6n(n){this.c=n}function u6n(n){this.b=n}function s6n(n){this.a=n}function o6n(n){this.a=n}function f6n(n){this.a=n}function h6n(n){this.a=n}function l6n(n){this.a=n}function a6n(n){this.a=n}function d6n(n){this.a=n}function b6n(n){this.a=n}function w6n(n){this.a=n}function g6n(n){this.a=n}function p6n(n){this.a=n}function v6n(n){this.a=n}function m6n(n){this.a=n}function k6n(n){this.a=n}function y6n(n){this.a=n}function j6n(n){this.a=n}function E6n(n){this.a=n}function C6n(n){this.a=n}function T6n(n){this.a=n}function M6n(n){this.a=n}function A6n(n){this.a=n}function S6n(n){this.a=n}function P6n(n){this.a=n}function I6n(n){this.a=n}function X1(n){this.a=n}function e2(n){this.a=n}function O6n(n){this.a=n}function D6n(n){this.a=n}function $6n(n){this.a=n}function F6n(n){this.a=n}function x6n(n){this.a=n}function L6n(n){this.a=n}function N6n(n){this.a=n}function B6n(n){this.a=n}function R6n(n){this.a=n}function _6n(n){this.a=n}function K6n(n){this.a=n}function H6n(n){this.a=n}function q6n(n){this.a=n}function G6n(n){this.a=n}function z6n(n){this.a=n}function U6n(n){this.a=n}function cj(n){this.a=n}function W6n(n){this.a=n}function X6n(n){this.a=n}function V6n(n){this.a=n}function Q6n(n){this.a=n}function J6n(n){this.a=n}function Y6n(n){this.a=n}function Z6n(n){this.a=n}function nmn(n){this.a=n}function emn(n){this.a=n}function tmn(n){this.a=n}function imn(n){this.a=n}function rmn(n){this.a=n}function cmn(n){this.a=n}function umn(n){this.a=n}function smn(n){this.a=n}function omn(n){this.a=n}function fmn(n){this.a=n}function hmn(n){this.a=n}function lmn(n){this.a=n}function amn(n){this.a=n}function dmn(n){this.a=n}function bmn(n){this.a=n}function wmn(n){this.a=n}function gmn(n){this.a=n}function pmn(n){this.a=n}function vmn(n){this.a=n}function mmn(n){this.a=n}function kmn(n){this.a=n}function $q(n){this.a=n}function kt(n){this.b=n}function ymn(n){this.f=n}function Fq(n){this.a=n}function jmn(n){this.a=n}function Emn(n){this.a=n}function Cmn(n){this.a=n}function Tmn(n){this.a=n}function Mmn(n){this.a=n}function Amn(n){this.a=n}function Smn(n){this.a=n}function Pmn(n){this.a=n}function D9(n){this.a=n}function Imn(n){this.a=n}function Omn(n){this.b=n}function xq(n){this.c=n}function uj(n){this.e=n}function Dmn(n){this.a=n}function sj(n){this.a=n}function oj(n){this.a=n}function $I(n){this.a=n}function $mn(n){this.a=n}function Fmn(n){this.d=n}function Lq(n){this.a=n}function Nq(n){this.a=n}function cd(n){this.e=n}function Nte(){this.a=0}function gw(){dyn(this)}function X(){RO(this)}function we(){Eu(this)}function FI(){pTn(this)}function xmn(){}function ud(){this.c=p1n}function Bte(n,e){e.Wb(n)}function Lmn(n,e){n.b+=e}function Nmn(n){n.b=new JI}function T(n){return n.e}function Rte(n){return n.a}function _te(n){return n.a}function Kte(n){return n.a}function Hte(n){return n.a}function qte(n){return n.a}function Gte(){return null}function zte(){return null}function Ute(){EG(),iTe()}function Wte(n){n.b.tf(n.e)}function xv(n,e){n.b=e-n.b}function Lv(n,e){n.a=e-n.a}function Bmn(n,e){e.ad(n.a)}function Xte(n,e){ui(e,n)}function Vte(n,e,t){n.Od(t,e)}function $9(n,e){n.e=e,e.b=n}function Bq(n){Df(),this.a=n}function Rmn(n){Df(),this.a=n}function _mn(n){Df(),this.a=n}function Rq(n){nb(),this.a=n}function Kmn(n){k3(),aR.be(n)}function ia(){Qyn.call(this)}function _q(){Qyn.call(this)}function Kq(){ia.call(this)}function xI(){ia.call(this)}function Hmn(){ia.call(this)}function F9(){ia.call(this)}function fu(){ia.call(this)}function Nv(){ia.call(this)}function ye(){ia.call(this)}function vs(){ia.call(this)}function qmn(){ia.call(this)}function ic(){ia.call(this)}function Gmn(){ia.call(this)}function zmn(){this.a=this}function fj(){this.Bb|=256}function Umn(){this.b=new Xkn}function Hq(){Hq=N,new we}function qq(){Kq.call(this)}function Wmn(n,e){n.length=e}function hj(n,e){W(n.a,e)}function Qte(n,e){nY(n.c,e)}function Jte(n,e){ri(n.b,e)}function Yte(n,e){KT(n.a,e)}function Zte(n,e){MF(n.a,e)}function Gp(n,e){et(n.e,e)}function t2(n){iM(n.c,n.b)}function nie(n,e){n.kc().Nb(e)}function Gq(n){this.a=Yge(n)}function fi(){this.a=new we}function Xmn(){this.a=new we}function lj(){this.a=new X}function LI(){this.a=new X}function zq(){this.a=new X}function Ns(){this.a=new Oln}function ra(){this.a=new TSn}function Uq(){this.a=new LH}function Wq(){this.a=new h7n}function Vmn(){this.a=new YMn}function Xq(){this.a=new bMn}function Vq(){this.a=new Bjn}function Qmn(){this.a=new X}function Qq(){this.a=new X}function Jmn(){this.a=new X}function Ymn(){this.a=new X}function Zmn(){this.d=new X}function n9n(){this.a=new fi}function e9n(){this.a=new we}function t9n(){this.b=new we}function i9n(){this.b=new X}function Jq(){this.e=new X}function r9n(){this.d=new X}function c9n(){this.a=new C4n}function u9n(){X.call(this)}function Yq(){lj.call(this)}function s9n(){kE.call(this)}function o9n(){Qq.call(this)}function NI(){Bv.call(this)}function Bv(){xmn.call(this)}function i2(){xmn.call(this)}function Zq(){i2.call(this)}function f9n(){zTn.call(this)}function h9n(){zTn.call(this)}function l9n(){uG.call(this)}function a9n(){uG.call(this)}function d9n(){uG.call(this)}function b9n(){sG.call(this)}function hu(){Ct.call(this)}function nG(){B2n.call(this)}function eG(){B2n.call(this)}function w9n(){O9n.call(this)}function g9n(){O9n.call(this)}function p9n(){we.call(this)}function v9n(){we.call(this)}function m9n(){we.call(this)}function k9n(){fi.call(this)}function BI(){RIn.call(this)}function y9n(){fj.call(this)}function RI(){Oz.call(this)}function _I(){Oz.call(this)}function tG(){we.call(this)}function KI(){we.call(this)}function j9n(){we.call(this)}function iG(){Yy.call(this)}function E9n(){Yy.call(this)}function C9n(){iG.call(this)}function T9n(){ZH.call(this)}function M9n(n){hIn.call(this,n)}function A9n(n){hIn.call(this,n)}function rG(n){rq.call(this,n)}function cG(n){n7n.call(this,n)}function eie(n){cG.call(this,n)}function tie(n){n7n.call(this,n)}function zp(){this.a=new Ct}function uG(){this.a=new fi}function sG(){this.a=new we}function S9n(){this.a=new X}function P9n(){this.j=new X}function oG(){this.a=new Rgn}function I9n(){this.a=new T8n}function O9n(){this.a=new X2n}function HI(){HI=N,uR=new V9n}function qI(){qI=N,cR=new X9n}function Rv(){Rv=N,rR=new Ot}function aj(){aj=N,fR=new Xyn}function iie(n){cG.call(this,n)}function rie(n){cG.call(this,n)}function D9n(n){m$.call(this,n)}function $9n(n){m$.call(this,n)}function F9n(n){uEn.call(this,n)}function GI(n){C5e.call(this,n)}function sd(n){_0.call(this,n)}function _v(n){Cj.call(this,n)}function fG(n){Cj.call(this,n)}function x9n(n){Cj.call(this,n)}function _r(n){kCn.call(this,n)}function L9n(n){_r.call(this,n)}function r2(){M9.call(this,{})}function dj(n){c3(),this.a=n}function Kv(n){n.b=null,n.c=0}function cie(n,e){n.e=e,NNn(n,e)}function uie(n,e){n.a=e,h6e(n)}function zI(n,e,t){n.a[e.g]=t}function sie(n,e,t){M4e(t,n,e)}function oie(n,e){$ue(e.i,n.n)}function N9n(n,e){Fwe(n).td(e)}function fie(n,e){return n*n/e}function B9n(n,e){return n.g-e.g}function hie(n){return new nj(n)}function lie(n){return new Z0(n)}function bj(n){_r.call(this,n)}function vr(n){_r.call(this,n)}function R9n(n){_r.call(this,n)}function UI(n){kCn.call(this,n)}function WI(n){AV(),this.a=n}function _9n(n){aEn(),this.a=n}function N0(n){ED(),this.f=n}function XI(n){ED(),this.f=n}function Up(n){_r.call(this,n)}function Hn(n){_r.call(this,n)}function Dr(n){_r.call(this,n)}function K9n(n){_r.call(this,n)}function c2(n){_r.call(this,n)}function on(n){return _n(n),n}function K(n){return _n(n),n}function x9(n){return _n(n),n}function hG(n){return _n(n),n}function aie(n){return _n(n),n}function Hv(n){return n.b==n.c}function B0(n){return!!n&&n.b}function die(n){return!!n&&n.k}function bie(n){return!!n&&n.j}function Ku(n){_n(n),this.a=n}function lG(n){return ja(n),n}function qv(n){EW(n,n.length)}function t1(n){_r.call(this,n)}function Af(n){_r.call(this,n)}function VI(n){_r.call(this,n)}function pw(n){_r.call(this,n)}function Gv(n){_r.call(this,n)}function Ce(n){_r.call(this,n)}function QI(n){Vz.call(this,n,0)}function JI(){iX.call(this,12,3)}function aG(){aG=N,din=new Q1n}function H9n(){H9n=N,ain=new ou}function wj(){wj=N,dm=new H1}function q9n(){q9n=N,vzn=new ww}function G9n(){throw T(new ye)}function dG(){throw T(new ye)}function z9n(){throw T(new ye)}function wie(){throw T(new ye)}function gie(){throw T(new ye)}function pie(){throw T(new ye)}function YI(){this.a=Te(pe(Ji))}function u2(n){Df(),this.a=pe(n)}function U9n(n,e){n.Td(e),e.Sd(n)}function vie(n,e){n.a.ec().Mc(e)}function mie(n,e,t){n.c.lf(e,t)}function bG(n){vr.call(this,n)}function Sf(n){Hn.call(this,n)}function i1(){A9.call(this,"")}function zv(){A9.call(this,"")}function V1(){A9.call(this,"")}function R0(){A9.call(this,"")}function wG(n){vr.call(this,n)}function Wp(n){_p.call(this,n)}function ZI(n){lE.call(this,n)}function W9n(n){Wp.call(this,n)}function X9n(){AI.call(this,null)}function V9n(){AI.call(this,null)}function gj(){gj=N,k3()}function Q9n(){Q9n=N,Szn=Z4e()}function J9n(n){return n.a?n.b:0}function kie(n){return n.a?n.b:0}function yie(n,e){return n.a-e.a}function jie(n,e){return n.a-e.a}function Eie(n,e){return n.a-e.a}function pj(n,e){return WX(n,e)}function M(n,e){return pMn(n,e)}function Cie(n,e){return e in n.a}function Y9n(n,e){return n.f=e,n}function Tie(n,e){return n.b=e,n}function Z9n(n,e){return n.c=e,n}function Mie(n,e){return n.g=e,n}function gG(n,e){return n.a=e,n}function pG(n,e){return n.f=e,n}function Aie(n,e){return n.k=e,n}function vG(n,e){return n.a=e,n}function Sie(n,e){return n.e=e,n}function mG(n,e){return n.e=e,n}function Pie(n,e){return n.f=e,n}function Iie(n,e){n.b=!0,n.d=e}function Oie(n,e){n.b=new mr(e)}function Die(n,e,t){e.td(n.a[t])}function $ie(n,e,t){e.we(n.a[t])}function Fie(n,e){return n.b-e.b}function xie(n,e){return n.g-e.g}function Lie(n,e){return n.s-e.s}function Nie(n,e){return n?0:e-1}function n8n(n,e){return n?0:e-1}function Bie(n,e){return n?e-1:0}function Rie(n,e){return e.Yf(n)}function od(n,e){return n.b=e,n}function vj(n,e){return n.a=e,n}function fd(n,e){return n.c=e,n}function hd(n,e){return n.d=e,n}function ld(n,e){return n.e=e,n}function kG(n,e){return n.f=e,n}function Uv(n,e){return n.a=e,n}function Xp(n,e){return n.b=e,n}function Vp(n,e){return n.c=e,n}function gn(n,e){return n.c=e,n}function Dn(n,e){return n.b=e,n}function pn(n,e){return n.d=e,n}function vn(n,e){return n.e=e,n}function _ie(n,e){return n.f=e,n}function mn(n,e){return n.g=e,n}function kn(n,e){return n.a=e,n}function yn(n,e){return n.i=e,n}function jn(n,e){return n.j=e,n}function e8n(n,e){return n.k=e,n}function Kie(n,e){return n.j=e,n}function Hie(n,e){yl(),Hr(e,n)}function qie(n,e,t){Nfe(n.a,e,t)}function t8n(n){mTn.call(this,n)}function yG(n){mTn.call(this,n)}function mj(n){uD.call(this,n)}function i8n(n){u2e.call(this,n)}function Q1(n){Ld.call(this,n)}function r8n(n){XD.call(this,n)}function c8n(n){XD.call(this,n)}function u8n(){Mz.call(this,"")}function Li(){this.a=0,this.b=0}function s8n(){this.b=0,this.a=0}function o8n(n,e){n.b=0,hb(n,e)}function Gie(n,e){n.c=e,n.b=!0}function f8n(n,e){return n.c._b(e)}function xo(n){return n.e&&n.e()}function nO(n){return n?n.d:null}function h8n(n,e){return LDn(n.b,e)}function zie(n){return n?n.g:null}function Uie(n){return n?n.i:null}function J1(n){return Ph(n),n.o}function ad(){ad=N,Mne=h4e()}function l8n(){l8n=N,vi=jve()}function Qp(){Qp=N,g1n=a4e()}function a8n(){a8n=N,hee=l4e()}function jG(){jG=N,oc=s6e()}function EG(){EG=N,Wl=N3()}function d8n(){throw T(new ye)}function b8n(){throw T(new ye)}function w8n(){throw T(new ye)}function g8n(){throw T(new ye)}function p8n(){throw T(new ye)}function v8n(){throw T(new ye)}function kj(n){this.a=new s2(n)}function CG(n){d_n(),gTe(this,n)}function Y1(n){this.a=new AD(n)}function vw(n,e){for(;n.ye(e););}function TG(n,e){for(;n.sd(e););}function mw(n,e){return n.a+=e,n}function eO(n,e){return n.a+=e,n}function r1(n,e){return n.a+=e,n}function dd(n,e){return n.a+=e,n}function Wv(n){return fl(n),n.a}function yj(n){return n.b!=n.d.c}function m8n(n){return n.l|n.m<<22}function MG(n,e){return n.d[e.p]}function k8n(n,e){return Q8e(n,e)}function AG(n,e,t){n.splice(e,t)}function y8n(n){n.c?rBn(n):cBn(n)}function jj(n){this.a=0,this.b=n}function j8n(){this.a=new B7(Pon)}function E8n(){this.b=new B7(won)}function C8n(){this.b=new B7(OK)}function T8n(){this.b=new B7(OK)}function M8n(){throw T(new ye)}function A8n(){throw T(new ye)}function S8n(){throw T(new ye)}function P8n(){throw T(new ye)}function I8n(){throw T(new ye)}function O8n(){throw T(new ye)}function D8n(){throw T(new ye)}function $8n(){throw T(new ye)}function F8n(){throw T(new ye)}function x8n(){throw T(new ye)}function Wie(){throw T(new ic)}function Xie(){throw T(new ic)}function L9(n){this.a=new L8n(n)}function L8n(n){cbe(this,n,cve())}function N9(n){return!n||iTn(n)}function B9(n){return Tf[n]!=-1}function Vie(){_A!=0&&(_A=0),KA=-1}function N8n(){iR==null&&(iR=[])}function Qie(n,e){$x(R(n.a),e)}function Jie(n,e){$x(R(n.a),e)}function R9(n,e){Sw.call(this,n,e)}function Jp(n,e){R9.call(this,n,e)}function SG(n,e){this.b=n,this.c=e}function B8n(n,e){this.b=n,this.a=e}function R8n(n,e){this.a=n,this.b=e}function _8n(n,e){this.a=n,this.b=e}function K8n(n,e){this.a=n,this.b=e}function H8n(n,e){this.a=n,this.b=e}function q8n(n,e){this.a=n,this.b=e}function G8n(n,e){this.a=n,this.b=e}function z8n(n,e){this.a=n,this.b=e}function U8n(n,e){this.a=n,this.b=e}function W8n(n,e){this.b=n,this.a=e}function X8n(n,e){this.b=n,this.a=e}function V8n(n,e){this.b=n,this.a=e}function Q8n(n,e){this.b=n,this.a=e}function Oe(n,e){this.f=n,this.g=e}function Yp(n,e){this.e=n,this.d=e}function bd(n,e){this.g=n,this.i=e}function tO(n,e){this.a=n,this.b=e}function J8n(n,e){this.a=n,this.f=e}function Y8n(n,e){this.b=n,this.c=e}function Yie(n,e){this.a=n,this.b=e}function Z8n(n,e){this.a=n,this.b=e}function iO(n,e){this.a=n,this.b=e}function n7n(n){Bz(n.dc()),this.c=n}function Ej(n){this.b=u(pe(n),83)}function e7n(n){this.a=u(pe(n),83)}function _0(n){this.a=u(pe(n),15)}function t7n(n){this.a=u(pe(n),15)}function Cj(n){this.b=u(pe(n),47)}function Tj(){this.q=new j.Date}function Zf(){Zf=N,Sin=new tln}function Zp(){Zp=N,X4=new nln}function Xv(n){return n.f.c+n.g.c}function _9(n,e){return n.b.Hc(e)}function i7n(n,e){return n.b.Ic(e)}function r7n(n,e){return n.b.Qc(e)}function c7n(n,e){return n.b.Hc(e)}function u7n(n,e){return n.c.uc(e)}function Ah(n,e){return n.a._b(e)}function s7n(n,e){return tt(n.c,e)}function o7n(n,e){return zu(n.b,e)}function f7n(n,e){return n>e&&e0}function cO(n,e){return fc(n,e)<0}function n5(n,e){return n.a.get(e)}function lre(n,e){return e.split(n)}function S7n(n,e){return zu(n.e,e)}function LG(n){return _n(n),!1}function xj(n){xn.call(this,n,21)}function are(n,e){cMn.call(this,n,e)}function Lj(n,e){Oe.call(this,n,e)}function uO(n,e){Oe.call(this,n,e)}function NG(n){_D(),uEn.call(this,n)}function BG(n,e){fCn(n,n.length,e)}function z9(n,e){BCn(n,n.length,e)}function dre(n,e,t){e.ud(n.a.Ge(t))}function bre(n,e,t){e.we(n.a.Fe(t))}function wre(n,e,t){e.td(n.a.Kb(t))}function gre(n,e,t){n.Mb(t)&&e.td(t)}function e5(n,e,t){n.splice(e,0,t)}function pre(n,e){return au(n.e,e)}function Nj(n,e){this.d=n,this.e=e}function P7n(n,e){this.b=n,this.a=e}function I7n(n,e){this.b=n,this.a=e}function RG(n,e){this.b=n,this.a=e}function O7n(n,e){this.a=n,this.b=e}function D7n(n,e){this.a=n,this.b=e}function $7n(n,e){this.a=n,this.b=e}function F7n(n,e){this.a=n,this.b=e}function f2(n,e){this.a=n,this.b=e}function _G(n,e){this.b=n,this.a=e}function KG(n,e){this.b=n,this.a=e}function Bj(n,e){Oe.call(this,n,e)}function Rj(n,e){Oe.call(this,n,e)}function HG(n,e){Oe.call(this,n,e)}function qG(n,e){Oe.call(this,n,e)}function kw(n,e){Oe.call(this,n,e)}function sO(n,e){Oe.call(this,n,e)}function oO(n,e){Oe.call(this,n,e)}function fO(n,e){Oe.call(this,n,e)}function _j(n,e){Oe.call(this,n,e)}function GG(n,e){Oe.call(this,n,e)}function hO(n,e){Oe.call(this,n,e)}function U9(n,e){Oe.call(this,n,e)}function Kj(n,e){Oe.call(this,n,e)}function lO(n,e){Oe.call(this,n,e)}function t5(n,e){Oe.call(this,n,e)}function zG(n,e){Oe.call(this,n,e)}function zt(n,e){Oe.call(this,n,e)}function Hj(n,e){Oe.call(this,n,e)}function x7n(n,e){this.a=n,this.b=e}function L7n(n,e){this.a=n,this.b=e}function N7n(n,e){this.a=n,this.b=e}function B7n(n,e){this.a=n,this.b=e}function R7n(n,e){this.a=n,this.b=e}function _7n(n,e){this.a=n,this.b=e}function K7n(n,e){this.a=n,this.b=e}function H7n(n,e){this.a=n,this.b=e}function q7n(n,e){this.a=n,this.b=e}function UG(n,e){this.b=n,this.a=e}function G7n(n,e){this.b=n,this.a=e}function z7n(n,e){this.b=n,this.a=e}function U7n(n,e){this.b=n,this.a=e}function t3(n,e){this.c=n,this.d=e}function W7n(n,e){this.e=n,this.d=e}function X7n(n,e){this.a=n,this.b=e}function V7n(n,e){this.b=e,this.c=n}function qj(n,e){Oe.call(this,n,e)}function W9(n,e){Oe.call(this,n,e)}function aO(n,e){Oe.call(this,n,e)}function i5(n,e){Oe.call(this,n,e)}function WG(n,e){Oe.call(this,n,e)}function dO(n,e){Oe.call(this,n,e)}function bO(n,e){Oe.call(this,n,e)}function X9(n,e){Oe.call(this,n,e)}function XG(n,e){Oe.call(this,n,e)}function wO(n,e){Oe.call(this,n,e)}function r5(n,e){Oe.call(this,n,e)}function VG(n,e){Oe.call(this,n,e)}function c5(n,e){Oe.call(this,n,e)}function u5(n,e){Oe.call(this,n,e)}function H0(n,e){Oe.call(this,n,e)}function gO(n,e){Oe.call(this,n,e)}function pO(n,e){Oe.call(this,n,e)}function QG(n,e){Oe.call(this,n,e)}function s5(n,e){Oe.call(this,n,e)}function vO(n,e){Oe.call(this,n,e)}function Gj(n,e){Oe.call(this,n,e)}function V9(n,e){Oe.call(this,n,e)}function Q9(n,e){Oe.call(this,n,e)}function h2(n,e){Oe.call(this,n,e)}function mO(n,e){Oe.call(this,n,e)}function JG(n,e){Oe.call(this,n,e)}function kO(n,e){Oe.call(this,n,e)}function yO(n,e){Oe.call(this,n,e)}function YG(n,e){Oe.call(this,n,e)}function jO(n,e){Oe.call(this,n,e)}function EO(n,e){Oe.call(this,n,e)}function CO(n,e){Oe.call(this,n,e)}function TO(n,e){Oe.call(this,n,e)}function ZG(n,e){Oe.call(this,n,e)}function Q7n(n,e){this.b=n,this.a=e}function J7n(n,e){this.a=n,this.b=e}function Y7n(n,e){this.a=n,this.b=e}function Z7n(n,e){this.a=n,this.b=e}function nkn(n,e){this.a=n,this.b=e}function nz(n,e){Oe.call(this,n,e)}function ez(n,e){Oe.call(this,n,e)}function ekn(n,e){this.b=n,this.d=e}function tz(n,e){Oe.call(this,n,e)}function iz(n,e){Oe.call(this,n,e)}function tkn(n,e){this.a=n,this.b=e}function ikn(n,e){this.a=n,this.b=e}function zj(n,e){Oe.call(this,n,e)}function o5(n,e){Oe.call(this,n,e)}function rz(n,e){Oe.call(this,n,e)}function cz(n,e){Oe.call(this,n,e)}function uz(n,e){Oe.call(this,n,e)}function MO(n,e){Oe.call(this,n,e)}function sz(n,e){Oe.call(this,n,e)}function AO(n,e){Oe.call(this,n,e)}function Uj(n,e){Oe.call(this,n,e)}function SO(n,e){Oe.call(this,n,e)}function PO(n,e){Oe.call(this,n,e)}function J9(n,e){Oe.call(this,n,e)}function IO(n,e){Oe.call(this,n,e)}function oz(n,e){Oe.call(this,n,e)}function Y9(n,e){Oe.call(this,n,e)}function fz(n,e){Oe.call(this,n,e)}function vre(n,e){return au(n.c,e)}function mre(n,e){return au(e.b,n)}function kre(n,e){return-n.b.Je(e)}function hz(n,e){return au(n.g,e)}function Z9(n,e){Oe.call(this,n,e)}function l2(n,e){Oe.call(this,n,e)}function rkn(n,e){this.a=n,this.b=e}function ckn(n,e){this.a=n,this.b=e}function fn(n,e){this.a=n,this.b=e}function f5(n,e){Oe.call(this,n,e)}function h5(n,e){Oe.call(this,n,e)}function n8(n,e){Oe.call(this,n,e)}function OO(n,e){Oe.call(this,n,e)}function Wj(n,e){Oe.call(this,n,e)}function l5(n,e){Oe.call(this,n,e)}function DO(n,e){Oe.call(this,n,e)}function Xj(n,e){Oe.call(this,n,e)}function yw(n,e){Oe.call(this,n,e)}function e8(n,e){Oe.call(this,n,e)}function a5(n,e){Oe.call(this,n,e)}function d5(n,e){Oe.call(this,n,e)}function t8(n,e){Oe.call(this,n,e)}function Vj(n,e){Oe.call(this,n,e)}function jw(n,e){Oe.call(this,n,e)}function Qj(n,e){Oe.call(this,n,e)}function ukn(n,e){this.a=n,this.b=e}function skn(n,e){this.a=n,this.b=e}function okn(n,e){this.a=n,this.b=e}function fkn(n,e){this.a=n,this.b=e}function hkn(n,e){this.a=n,this.b=e}function lkn(n,e){this.a=n,this.b=e}function Pi(n,e){this.a=n,this.b=e}function Jj(n,e){Oe.call(this,n,e)}function akn(n,e){this.a=n,this.b=e}function dkn(n,e){this.a=n,this.b=e}function bkn(n,e){this.a=n,this.b=e}function wkn(n,e){this.a=n,this.b=e}function gkn(n,e){this.a=n,this.b=e}function pkn(n,e){this.a=n,this.b=e}function vkn(n,e){this.b=n,this.a=e}function mkn(n,e){this.b=n,this.a=e}function kkn(n,e){this.b=n,this.a=e}function ykn(n,e){this.b=n,this.a=e}function jkn(n,e){this.a=n,this.b=e}function Ekn(n,e){this.a=n,this.b=e}function yre(n,e){J9e(n.a,u(e,56))}function Ckn(n,e){f0e(n.a,u(e,11))}function jre(n,e){return h3(),e!=n}function Tkn(){return Q9n(),new Szn}function Mkn(){c$(),this.b=new fi}function Akn(){hM(),this.a=new fi}function Skn(){tX(),lW.call(this)}function a2(n,e){Oe.call(this,n,e)}function Pkn(n,e){this.a=n,this.b=e}function Ikn(n,e){this.a=n,this.b=e}function Yj(n,e){this.a=n,this.b=e}function Okn(n,e){this.a=n,this.b=e}function Dkn(n,e){this.a=n,this.b=e}function $kn(n,e){this.a=n,this.b=e}function Fkn(n,e){this.d=n,this.b=e}function lz(n,e){this.d=n,this.e=e}function xkn(n,e){this.f=n,this.c=e}function i8(n,e){this.b=n,this.c=e}function az(n,e){this.i=n,this.g=e}function Lkn(n,e){this.e=n,this.a=e}function Nkn(n,e){this.a=n,this.b=e}function dz(n,e){n.i=null,nT(n,e)}function Ere(n,e){n&&it($y,n,e)}function Bkn(n,e){return NF(n.a,e)}function Zj(n){return g7(n.c,n.b)}function Vr(n){return n?n.dd():null}function B(n){return n??null}function q0(n){return typeof n===X2}function G0(n){return typeof n===UZ}function mi(n){return typeof n===EL}function el(n,e){return n.Hd().Xb(e)}function nE(n,e){return Rbe(n.Kc(),e)}function gd(n,e){return fc(n,e)==0}function Cre(n,e){return fc(n,e)>=0}function b5(n,e){return fc(n,e)!=0}function Tre(n){return""+(_n(n),n)}function r8(n,e){return n.substr(e)}function Rkn(n){return $u(n),n.d.gc()}function $O(n){return yme(n,n.c),n}function eE(n){return A5(n==null),n}function w5(n,e){return n.a+=""+e,n}function dr(n,e){return n.a+=""+e,n}function g5(n,e){return n.a+=""+e,n}function rc(n,e){return n.a+=""+e,n}function De(n,e){return n.a+=""+e,n}function bz(n,e){return n.a+=""+e,n}function _kn(n,e){Kt(n,e,n.a,n.a.a)}function ua(n,e){Kt(n,e,n.c.b,n.c)}function Mre(n,e,t){VFn(e,Mx(n,t))}function Are(n,e,t){VFn(e,Mx(n,t))}function Sre(n,e){k0e(new ie(n),e)}function Kkn(n,e){n.q.setTime($d(e))}function Hkn(n,e){kW.call(this,n,e)}function qkn(n,e){kW.call(this,n,e)}function FO(n,e){kW.call(this,n,e)}function Gkn(n){Eu(this),Z5(this,n)}function wz(n){return Ln(n,0),null}function Lo(n){return n.a=0,n.b=0,n}function zkn(n,e){return n.a=e.g+1,n}function Pre(n,e){return n.j[e.p]==2}function gz(n){return lhe(u(n,79))}function Ukn(){Ukn=N,jUn=Fe(qF())}function Wkn(){Wkn=N,RWn=Fe(PNn())}function Xkn(){this.b=new s2(sb(12))}function Vkn(){this.b=0,this.a=!1}function Qkn(){this.b=0,this.a=!1}function p5(n){this.a=n,TI.call(this)}function Jkn(n){this.a=n,TI.call(this)}function In(n,e){ii.call(this,n,e)}function xO(n,e){V0.call(this,n,e)}function Ew(n,e){az.call(this,n,e)}function LO(n,e){H3.call(this,n,e)}function Ykn(n,e){c8.call(this,n,e)}function He(n,e){$j(),it(eI,n,e)}function NO(n,e){return Yu(n.a,0,e)}function Zkn(n,e){return n.a.a.a.cc(e)}function nyn(n,e){return B(n)===B(e)}function Ire(n,e){return Zt(n.a,e.a)}function Ore(n,e){return Uc(n.a,e.a)}function Dre(n,e){return xCn(n.a,e.a)}function Pf(n,e){return n.indexOf(e)}function pd(n,e){return n==e?0:n?1:-1}function tE(n){return n<10?"0"+n:""+n}function $re(n){return pe(n),new p5(n)}function eyn(n){return Bc(n.l,n.m,n.h)}function i3(n){return Gt((_n(n),n))}function Fre(n){return Gt((_n(n),n))}function tyn(n,e){return Uc(n.g,e.g)}function $r(n){return typeof n===UZ}function xre(n){return n==b0||n==Hb}function Lre(n){return n==b0||n==Kb}function pz(n){return Fr(n.b.b,n,0)}function iyn(n){this.a=Tkn(),this.b=n}function ryn(n){this.a=Tkn(),this.b=n}function Nre(n,e){return W(n.a,e),e}function Bre(n,e){return W(n.c,e),n}function cyn(n,e){return rs(n.a,e),n}function Rre(n,e){return wo(),e.a+=n}function _re(n,e){return wo(),e.a+=n}function Kre(n,e){return wo(),e.c+=n}function vz(n,e){S3(n,0,n.length,e)}function Sh(){Tq.call(this,new ba)}function uyn(){xE.call(this,0,0,0,0)}function d2(){ys.call(this,0,0,0,0)}function mr(n){this.a=n.a,this.b=n.b}function tl(n){return n==Zs||n==Ao}function r3(n){return n==Yh||n==Jh}function syn(n){return n==xg||n==Fg}function Cw(n){return n!=jf&&n!=ql}function Hu(n){return n.Lg()&&n.Mg()}function oyn(n){return JE(u(n,118))}function iE(n){return rs(new hi,n)}function fyn(n,e){return new H3(e,n)}function Hre(n,e){return new H3(e,n)}function mz(n,e,t){UC(n,e),WC(n,t)}function rE(n,e,t){Rd(n,e),Bd(n,t)}function Jo(n,e,t){Zc(n,e),nu(n,t)}function cE(n,e,t){D3(n,e),F3(n,t)}function uE(n,e,t){$3(n,e),x3(n,t)}function BO(n,e){X3(n,e),L3(n,n.D)}function kz(n){xkn.call(this,n,!0)}function hyn(n,e,t){fU.call(this,n,e,t)}function il(n){jl(),qbe.call(this,n)}function lyn(){Lj.call(this,"Head",1)}function ayn(){Lj.call(this,"Tail",3)}function RO(n){n.c=F(Zn,rn,1,0,5,1)}function dyn(n){n.a=F(Zn,rn,1,8,5,1)}function byn(n){Yc(n.xf(),new t5n(n))}function Tw(n){return n!=null?mt(n):0}function qre(n,e){return ob(e,nf(n))}function Gre(n,e){return ob(e,nf(n))}function zre(n,e){return n[n.length]=e}function Ure(n,e){return n[n.length]=e}function yz(n){return zoe(n.b.Kc(),n.a)}function Wre(n,e){return ZC(BD(n.d),e)}function Xre(n,e){return ZC(BD(n.g),e)}function Vre(n,e){return ZC(BD(n.j),e)}function tr(n,e){ii.call(this,n.b,e)}function vd(n){xE.call(this,n,n,n,n)}function jz(n){return n.b&&uL(n),n.a}function Ez(n){return n.b&&uL(n),n.c}function Qre(n,e){pf||(n.b=e)}function _O(n,e,t){return Mt(n,e,t),t}function wyn(n,e,t){Mt(n.c[e.g],e.g,t)}function Jre(n,e,t){u(n.c,69).Xh(e,t)}function Yre(n,e,t){Jo(t,t.i+n,t.j+e)}function Zre(n,e){me(bc(n.a),PMn(e))}function nce(n,e){me(Ou(n.a),IMn(e))}function v5(n){Je(),cd.call(this,n)}function ece(n){return n==null?0:mt(n)}function gyn(){gyn=N,hK=new f6(cH)}function je(){je=N,new pyn,new X}function pyn(){new we,new we,new we}function Cz(){Cz=N,Hq(),bin=new we}function Yo(){Yo=N,j.Math.log(2)}function ms(){ms=N,Eh=(E7n(),Dne)}function tce(){throw T(new t1(izn))}function ice(){throw T(new t1(izn))}function rce(){throw T(new t1(rzn))}function cce(){throw T(new t1(rzn))}function vyn(n){this.a=n,HU.call(this,n)}function KO(n){this.a=n,Ej.call(this,n)}function HO(n){this.a=n,Ej.call(this,n)}function bi(n,e){mD(n.c,n.c.length,e)}function Kr(n){return n.ae?1:0}function kyn(n,e){return fc(n,e)>0?n:e}function Bc(n,e,t){return{l:n,m:e,h:t}}function uce(n,e){n.a!=null&&Ckn(e,n.a)}function yyn(n){n.a=new aI,n.c=new aI}function sE(n){this.b=n,this.a=new X}function jyn(n){this.b=new san,this.a=n}function Mz(n){vU.call(this),this.a=n}function Eyn(){Lj.call(this,"Range",2)}function Cyn(){kJ(),this.a=new B7(Hrn)}function sce(n,e){pe(e),Iw(n).Jc(new ps)}function oce(n,e){return Zu(),e.n.b+=n}function fce(n,e,t){return it(n.g,t,e)}function hce(n,e,t){return it(n.k,t,e)}function lce(n,e){return it(n.a,e.a,e)}function Mw(n,e,t){return _Q(e,t,n.c)}function Az(n){return new fn(n.c,n.d)}function ace(n){return new fn(n.c,n.d)}function Qr(n){return new fn(n.a,n.b)}function Tyn(n,e){return xEe(n.a,e,null)}function dce(n){Hi(n,null),Ei(n,null)}function Myn(n){s$(n,null),o$(n,null)}function Ayn(){c8.call(this,null,null)}function Syn(){wE.call(this,null,null)}function Sz(n){this.a=n,we.call(this)}function bce(n){this.b=(Pn(),new DI(n))}function oE(n){n.j=F(Ain,q,310,0,0,1)}function wce(n,e,t){n.c.Vc(e,u(t,133))}function gce(n,e,t){n.c.ji(e,u(t,133))}function Pyn(n,e){de(n),n.Gc(u(e,15))}function m5(n,e){return Jje(n.c,n.b,e)}function pce(n,e){return new Jyn(n.Kc(),e)}function qO(n,e){return gwe(n.Kc(),e)!=-1}function Pz(n,e){return n.a.Bc(e)!=null}function fE(n){return n.Ob()?n.Pb():null}function Iyn(n){return Hs(n,0,n.length)}function I(n,e){return n!=null&&WF(n,e)}function vce(n,e){n.q.setHours(e),S6(n,e)}function Oyn(n,e){n.c&&(ZU(e),iMn(e))}function mce(n,e,t){u(n.Kb(t),164).Nb(e)}function kce(n,e,t){return SEe(n,e,t),t}function Dyn(n,e,t){n.a=e^1502,n.b=t^tN}function GO(n,e,t){return n.a[e.g][t.g]}function Zo(n,e){return n.a[e.c.p][e.p]}function yce(n,e){return n.e[e.c.p][e.p]}function jce(n,e){return n.c[e.c.p][e.p]}function Ece(n,e){return n.j[e.p]=D9e(e)}function Cce(n,e){return DX(n.f,e.tg())}function Tce(n,e){return DX(n.b,e.tg())}function Mce(n,e){return n.a0?e*e/n:e*e*100}function Jce(n,e){return n>0?e/(n*n):e*100}function Yce(n,e,t){return W(e,e$n(n,t))}function Zce(n,e,t){DC(),n.Xe(e)&&t.td(n)}function s3(n,e,t){var i;i=n.Zc(e),i.Rb(t)}function U0(n,e,t){return n.a+=e,n.b+=t,n}function nue(n,e,t){return n.a*=e,n.b*=t,n}function o8(n,e,t){return n.a-=e,n.b-=t,n}function Zz(n,e){return n.a=e.a,n.b=e.b,n}function vE(n){return n.a=-n.a,n.b=-n.b,n}function fjn(n){this.c=n,this.a=1,this.b=1}function hjn(n){this.c=n,Zc(n,0),nu(n,0)}function ljn(n){Ct.call(this),V5(this,n)}function ajn(n){yL(),Nmn(this),this.mf(n)}function djn(n,e){Zv(),c8.call(this,n,e)}function nU(n,e){c1(),wE.call(this,n,e)}function bjn(n,e){c1(),wE.call(this,n,e)}function wjn(n,e){c1(),nU.call(this,n,e)}function qu(n,e,t){Wu.call(this,n,e,t,2)}function JO(n,e){ms(),FE.call(this,n,e)}function gjn(n,e){ms(),JO.call(this,n,e)}function eU(n,e){ms(),JO.call(this,n,e)}function pjn(n,e){ms(),eU.call(this,n,e)}function tU(n,e){ms(),FE.call(this,n,e)}function vjn(n,e){ms(),tU.call(this,n,e)}function mjn(n,e){ms(),FE.call(this,n,e)}function eue(n,e){return n.c.Fc(u(e,133))}function iU(n,e,t){return jM(G8(n,e),t)}function tue(n,e,t){return e.Qk(n.e,n.c,t)}function iue(n,e,t){return e.Rk(n.e,n.c,t)}function YO(n,e){return pl(n.e,u(e,49))}function rue(n,e,t){s6(Ou(n.a),e,IMn(t))}function cue(n,e,t){s6(bc(n.a),e,PMn(t))}function rU(n,e){e.$modCount=n.$modCount}function C5(){C5=N,Xm=new kt("root")}function o3(){o3=N,xy=new w9n,new g9n}function kjn(){this.a=new Od,this.b=new Od}function cU(){RIn.call(this),this.Bb|=Yi}function yjn(){Oe.call(this,"GROW_TREE",0)}function uue(n){return n==null?null:CCe(n)}function sue(n){return n==null?null:D5e(n)}function oue(n){return n==null?null:Lr(n)}function fue(n){return n==null?null:Lr(n)}function Ph(n){n.o==null&&u9e(n)}function sn(n){return A5(n==null||q0(n)),n}function Y(n){return A5(n==null||G0(n)),n}function Te(n){return A5(n==null||mi(n)),n}function uU(n){this.q=new j.Date($d(n))}function f8(n,e){this.c=n,Yp.call(this,n,e)}function mE(n,e){this.a=n,f8.call(this,n,e)}function hue(n,e){this.d=n,Ovn(this),this.b=e}function sU(n,e){P$.call(this,n),this.a=e}function oU(n,e){P$.call(this,n),this.a=e}function lue(n){xQ.call(this,0,0),this.f=n}function fU(n,e,t){IC.call(this,n,e,t,null)}function jjn(n,e,t){IC.call(this,n,e,t,null)}function aue(n,e,t){return n.ue(e,t)<=0?t:e}function due(n,e,t){return n.ue(e,t)<=0?e:t}function bue(n,e){return u(xd(n.b,e),149)}function wue(n,e){return u(xd(n.c,e),229)}function ZO(n){return u(un(n.a,n.b),287)}function Ejn(n){return new fn(n.c,n.d+n.a)}function Cjn(n){return Zu(),syn(u(n,197))}function W0(){W0=N,prn=Cn((Vu(),id))}function gue(n,e){e.a?e7e(n,e):zO(n.a,e.b)}function Tjn(n,e){pf||W(n.a,e)}function pue(n,e){return H9(),K3(e.d.i,n)}function vue(n,e){return x2(),new ABn(e,n)}function Of(n,e){return T8(e,ann),n.f=e,n}function hU(n,e,t){return t=ss(n,e,3,t),t}function lU(n,e,t){return t=ss(n,e,6,t),t}function aU(n,e,t){return t=ss(n,e,9,t),t}function h8(n,e,t){++n.j,n.Ki(),A$(n,e,t)}function Mjn(n,e,t){++n.j,n.Hi(e,n.oi(e,t))}function Ajn(n,e,t){var i;i=n.Zc(e),i.Rb(t)}function Sjn(n,e,t){return MZ(n.c,n.b,e,t)}function dU(n,e){return(e&nt)%n.d.length}function ii(n,e){kt.call(this,n),this.a=e}function bU(n,e){xq.call(this,n),this.a=e}function nD(n,e){xq.call(this,n),this.a=e}function Pjn(n,e){this.c=n,Ld.call(this,e)}function Ijn(n,e){this.a=n,Omn.call(this,e)}function l8(n,e){this.a=n,Omn.call(this,e)}function Ojn(n){this.a=(is(n,Pb),new Pc(n))}function Djn(n){this.a=(is(n,Pb),new Pc(n))}function a8(n){return!n.a&&(n.a=new Rr),n.a}function $jn(n){return n>8?0:n+1}function mue(n,e){return qn(),n==e?0:n?1:-1}function wU(n,e,t){return m2(n,u(e,22),t)}function kue(n,e,t){return n.apply(e,t)}function Fjn(n,e,t){return n.a+=Hs(e,0,t),n}function gU(n,e){var t;return t=n.e,n.e=e,t}function yue(n,e){var t;t=n[eN],t.call(n,e)}function jue(n,e){var t;t=n[eN],t.call(n,e)}function X0(n,e){n.a.Vc(n.b,e),++n.b,n.c=-1}function xjn(n){Eu(n.e),n.d.b=n.d,n.d.a=n.d}function d8(n){n.b?d8(n.b):n.f.c.zc(n.e,n.d)}function Eue(n,e,t){ca(),Svn(n,e.Ce(n.a,t))}function Cue(n,e){return nO(p$n(n.a,e,!0))}function Tue(n,e){return nO(v$n(n.a,e,!0))}function bo(n,e){return pj(new Array(e),n)}function eD(n){return String.fromCharCode(n)}function Mue(n){return n==null?null:n.message}function Ljn(){this.a=new X,this.b=new X}function Njn(){this.a=new LH,this.b=new Umn}function Bjn(){this.b=new Li,this.c=new X}function pU(){this.d=new Li,this.e=new Li}function vU(){this.n=new Li,this.o=new Li}function kE(){this.n=new i2,this.i=new d2}function Rjn(){this.a=new v4n,this.b=new cwn}function _jn(){this.a=new X,this.d=new X}function Kjn(){this.b=new fi,this.a=new fi}function Hjn(){this.b=new we,this.a=new we}function qjn(){this.b=new E8n,this.a=new sgn}function Gjn(){kE.call(this),this.a=new Li}function T5(n){Jbe.call(this,n,(FC(),vR))}function mU(n,e,t,i){xE.call(this,n,e,t,i)}function Aue(n,e,t){t!=null&&JC(e,rx(n,t))}function Sue(n,e,t){t!=null&&YC(e,rx(n,t))}function kU(n,e,t){return t=ss(n,e,11,t),t}function ot(n,e){return n.a+=e.a,n.b+=e.b,n}function ki(n,e){return n.a-=e.a,n.b-=e.b,n}function Pue(n,e){return n.n.a=(_n(e),e+10)}function Iue(n,e){return n.n.a=(_n(e),e+10)}function Oue(n,e){return e==n||o4(sM(e),n)}function zjn(n,e){return it(n.a,e,"")==null}function Due(n,e){return H9(),!K3(e.d.i,n)}function $ue(n,e){tl(n.f)?Qme(n,e):Fve(n,e)}function Fue(n,e){var t;return t=e.Hh(n.a),t}function V0(n,e){vr.call(this,rm+n+Ra+e)}function g2(n,e,t,i){V.call(this,n,e,t,i)}function yU(n,e,t,i){V.call(this,n,e,t,i)}function Ujn(n,e,t,i){yU.call(this,n,e,t,i)}function Wjn(n,e,t,i){zE.call(this,n,e,t,i)}function tD(n,e,t,i){zE.call(this,n,e,t,i)}function jU(n,e,t,i){zE.call(this,n,e,t,i)}function Xjn(n,e,t,i){tD.call(this,n,e,t,i)}function EU(n,e,t,i){tD.call(this,n,e,t,i)}function Fn(n,e,t,i){jU.call(this,n,e,t,i)}function Vjn(n,e,t,i){EU.call(this,n,e,t,i)}function Qjn(n,e,t,i){yW.call(this,n,e,t,i)}function Jjn(n,e,t){this.a=n,Vz.call(this,e,t)}function Yjn(n,e,t){this.c=e,this.b=t,this.a=n}function xue(n,e,t){return n.d=u(e.Kb(t),164)}function CU(n,e){return n.Aj().Nh().Kh(n,e)}function TU(n,e){return n.Aj().Nh().Ih(n,e)}function Zjn(n,e){return _n(n),B(n)===B(e)}function An(n,e){return _n(n),B(n)===B(e)}function iD(n,e){return nO(p$n(n.a,e,!1))}function rD(n,e){return nO(v$n(n.a,e,!1))}function Lue(n,e){return n.b.sd(new D7n(n,e))}function Nue(n,e){return n.b.sd(new $7n(n,e))}function nEn(n,e){return n.b.sd(new F7n(n,e))}function MU(n,e,t){return n.lastIndexOf(e,t)}function Bue(n,e,t){return Zt(n[e.b],n[t.b])}function Rue(n,e){return H(e,(nn(),Jk),n)}function _ue(n,e){return Uc(e.a.d.p,n.a.d.p)}function Kue(n,e){return Uc(n.a.d.p,e.a.d.p)}function Hue(n,e){return Zt(n.c-n.s,e.c-e.s)}function eEn(n){return n.c?Fr(n.c.a,n,0):-1}function que(n){return n<100?null:new Q1(n)}function p2(n){return n==td||n==jh||n==Ac}function tEn(n,e){return I(e,15)&&oBn(n.c,e)}function Gue(n,e){pf||e&&(n.d=e)}function cD(n,e){var t;return t=e,!!VV(n,t)}function AU(n,e){this.c=n,DD.call(this,n,e)}function iEn(n){this.c=n,FO.call(this,IM,0)}function rEn(n,e){Voe.call(this,n,n.length,e)}function zue(n,e,t){return u(n.c,69).lk(e,t)}function yE(n,e,t){return u(n.c,69).mk(e,t)}function Uue(n,e,t){return tue(n,u(e,332),t)}function SU(n,e,t){return iue(n,u(e,332),t)}function Wue(n,e,t){return txn(n,u(e,332),t)}function cEn(n,e,t){return zve(n,u(e,332),t)}function M5(n,e){return e==null?null:ab(n.b,e)}function PU(n){return G0(n)?(_n(n),n):n.ke()}function jE(n){return!isNaN(n)&&!isFinite(n)}function uEn(n){Df(),this.a=(Pn(),new Wp(n))}function b8(n){h3(),this.d=n,this.a=new gw}function ks(n,e,t){this.a=n,this.b=e,this.c=t}function sEn(n,e,t){this.a=n,this.b=e,this.c=t}function oEn(n,e,t){this.d=n,this.b=t,this.a=e}function uD(n){yyn(this),_s(this),Vi(this,n)}function du(n){RO(this),GU(this.c,0,n.Pc())}function fEn(n){Uu(n.a),uPn(n.c,n.b),n.b=null}function hEn(n){this.a=n,Zf(),eu(Date.now())}function lEn(){lEn=N,Xin=new ou,XA=new ou}function sD(){sD=N,Rin=new iln,Pzn=new rln}function aEn(){aEn=N,Nne=F(Zn,rn,1,0,5,1)}function dEn(){dEn=N,eee=F(Zn,rn,1,0,5,1)}function IU(){IU=N,tee=F(Zn,rn,1,0,5,1)}function Df(){Df=N,new Bq((Pn(),Pn(),cr))}function Xue(n){return FC(),$e((pPn(),Dzn),n)}function Vue(n){return hf(),$e((LSn(),Bzn),n)}function Que(n){return $T(),$e((qAn(),Gzn),n)}function Jue(n){return RC(),$e((GAn(),zzn),n)}function Yue(n){return dM(),$e((IOn(),Uzn),n)}function Zue(n){return _o(),$e(($Sn(),Vzn),n)}function nse(n){return Cu(),$e((FSn(),Jzn),n)}function ese(n){return Jc(),$e((xSn(),Zzn),n)}function tse(n){return SM(),$e((Ukn(),jUn),n)}function ise(n){return Hd(),$e((mPn(),CUn),n)}function rse(n){return K2(),$e((kPn(),MUn),n)}function cse(n){return d6(),$e((yPn(),PUn),n)}function use(n){return Aj(),$e((yAn(),IUn),n)}function sse(n){return _C(),$e((zAn(),WUn),n)}function ose(n){return W5(),$e((NSn(),bWn),n)}function fse(n){return Qi(),$e((JPn(),vWn),n)}function hse(n){return G3(),$e((vPn(),EWn),n)}function lse(n){return qd(),$e((BSn(),PWn),n)}function OU(n,e){if(!n)throw T(new Hn(e))}function ase(n){return Qn(),$e((vIn(),$Wn),n)}function DU(n){xE.call(this,n.d,n.c,n.a,n.b)}function oD(n){xE.call(this,n.d,n.c,n.a,n.b)}function $U(n,e,t){this.b=n,this.c=e,this.a=t}function EE(n,e,t){this.b=n,this.a=e,this.c=t}function bEn(n,e,t){this.a=n,this.b=e,this.c=t}function FU(n,e,t){this.a=n,this.b=e,this.c=t}function wEn(n,e,t){this.a=n,this.b=e,this.c=t}function xU(n,e,t){this.a=n,this.b=e,this.c=t}function gEn(n,e,t){this.b=n,this.a=e,this.c=t}function CE(n,e,t){this.e=e,this.b=n,this.d=t}function dse(n,e,t){return ca(),n.a.Od(e,t),e}function fD(n){var e;return e=new Dln,e.e=n,e}function LU(n){var e;return e=new Zmn,e.b=n,e}function w8(){w8=N,sS=new Fdn,oS=new xdn}function wo(){wo=N,WWn=new pbn,XWn=new vbn}function bse(n){return aT(),$e((EPn(),HWn),n)}function wse(n){return ff(),$e((TPn(),JWn),n)}function gse(n){return lM(),$e((mOn(),cXn),n)}function pse(n){return q2(),$e((yIn(),uXn),n)}function vse(n){return OC(),$e((JAn(),sXn),n)}function mse(n){return F2(),$e((RSn(),oXn),n)}function kse(n){return Vw(),$e((UPn(),ZWn),n)}function yse(n){return Kd(),$e((HSn(),rXn),n)}function jse(n){return VC(),$e((_Sn(),fXn),n)}function Ese(n){return Pa(),$e((GPn(),hXn),n)}function Cse(n){return V8(),$e((WAn(),lXn),n)}function Tse(n){return ya(),$e((KSn(),dXn),n)}function Mse(n){return eM(),$e((TIn(),bXn),n)}function Ase(n){return K8(),$e((XAn(),wXn),n)}function Sse(n){return A7(),$e((EIn(),gXn),n)}function Pse(n){return h4(),$e((jIn(),pXn),n)}function Ise(n){return or(),$e((zOn(),vXn),n)}function Ose(n){return q3(),$e((GSn(),mXn),n)}function Dse(n){return Nh(),$e((qSn(),yXn),n)}function $se(n){return kC(),$e((YAn(),jXn),n)}function Fse(n){return Ss(),$e((WPn(),EXn),n)}function xse(n){return JT(),$e((CIn(),BQn),n)}function Lse(n){return i6(),$e((zSn(),RQn),n)}function Nse(n){return wb(),$e((MPn(),_Qn),n)}function Bse(n){return ur(),$e((XSn(),UQn),n)}function Rse(n){return Zw(),$e((vOn(),HQn),n)}function _se(n){return Rh(),$e((WSn(),qQn),n)}function Kse(n){return z8(),$e((QAn(),GQn),n)}function Hse(n){return oT(),$e((USn(),WQn),n)}function qse(n){return b6(),$e((zPn(),KQn),n)}function Gse(n){return x8(),$e((VAn(),XQn),n)}function zse(n){return Q3(),$e((QSn(),VQn),n)}function Use(n){return uT(),$e((JSn(),QQn),n)}function Wse(n){return dT(),$e((VSn(),JQn),n)}function Xse(n){return _d(),$e((YSn(),hJn),n)}function Vse(n){return z5(),$e((nSn(),wJn),n)}function Qse(n){return Ff(),$e((eSn(),jJn),n)}function Jse(n){return ef(),$e((tSn(),CJn),n)}function Yse(n){return No(),$e((ZAn(),RJn),n)}function Zse(n){return Id(),$e((iSn(),UJn),n)}function noe(n){return c4(),$e((jPn(),WJn),n)}function eoe(n){return k6(),$e((MIn(),VJn),n)}function toe(n){return aC(),$e((uSn(),fYn),n)}function ioe(n){return iT(),$e((cSn(),wYn),n)}function roe(n){return gC(),$e((rSn(),hYn),n)}function coe(n){return CT(),$e((ZSn(),pYn),n)}function uoe(n){return $C(),$e((sSn(),vYn),n)}function soe(n){return f7(),$e((nPn(),mYn),n)}function ooe(n){return qT(),$e((CPn(),FYn),n)}function foe(n){return sT(),$e((tPn(),xYn),n)}function hoe(n){return ET(),$e((ePn(),LYn),n)}function loe(n){return g4(),$e((QPn(),tZn),n)}function aoe(n){return w7(),$e((iPn(),iZn),n)}function doe(n){return Pj(),$e((mAn(),rZn),n)}function boe(n){return Ij(),$e((vAn(),uZn),n)}function woe(n){return L8(),$e((fSn(),sZn),n)}function goe(n){return P7(),$e((XPn(),oZn),n)}function poe(n){return Jv(),$e((kAn(),CZn),n)}function voe(n){return c7(),$e((oSn(),TZn),n)}function moe(n){return Ho(),$e((VPn(),OZn),n)}function koe(n){return y1(),$e((kOn(),$Zn),n)}function yoe(n){return oh(),$e((kIn(),FZn),n)}function joe(n){return vb(),$e((mIn(),_Zn),n)}function Eoe(n){return rr(),$e((Wkn(),RWn),n)}function Coe(n){return B3(),$e((UAn(),BWn),n)}function Toe(n){return sr(),$e((YPn(),ene),n)}function Moe(n){return sf(),$e((cPn(),tne),n)}function Aoe(n){return Hh(),$e((PPn(),ine),n)}function Soe(n){return ZT(),$e((SIn(),rne),n)}function Poe(n){return _h(),$e((rPn(),une),n)}function Ioe(n){return cs(),$e((SPn(),one),n)}function Ooe(n){return jb(),$e((POn(),fne),n)}function Doe(n){return qw(),$e((ZPn(),hne),n)}function $oe(n){return Ti(),$e((bIn(),lne),n)}function Foe(n){return Tu(),$e((AIn(),ane),n)}function xoe(n){return Vu(),$e((OPn(),vne),n)}function Loe(n){return xu(),$e((UOn(),mne),n)}function Noe(n){return J(),$e((nIn(),dne),n)}function Boe(n){return AT(),$e((IPn(),kne),n)}function Roe(n){return Xu(),$e((APn(),Ene),n)}function _oe(n){return d4(),$e((yOn(),Lne),n)}function Koe(n,e){return _n(n),n+(_n(e),e)}function Hoe(n,e){return Zf(),me(R(n.a),e)}function qoe(n,e){return Zf(),me(R(n.a),e)}function hD(n,e){this.c=n,this.a=e,this.b=e-n}function pEn(n,e,t){this.a=n,this.b=e,this.c=t}function NU(n,e,t){this.a=n,this.b=e,this.c=t}function BU(n,e,t){this.a=n,this.b=e,this.c=t}function vEn(n,e,t){this.a=n,this.b=e,this.c=t}function mEn(n,e,t){this.a=n,this.b=e,this.c=t}function s1(n,e,t){this.e=n,this.a=e,this.c=t}function kEn(n,e,t){ms(),QW.call(this,n,e,t)}function lD(n,e,t){ms(),FW.call(this,n,e,t)}function RU(n,e,t){ms(),FW.call(this,n,e,t)}function _U(n,e,t){ms(),FW.call(this,n,e,t)}function yEn(n,e,t){ms(),lD.call(this,n,e,t)}function KU(n,e,t){ms(),lD.call(this,n,e,t)}function jEn(n,e,t){ms(),KU.call(this,n,e,t)}function EEn(n,e,t){ms(),RU.call(this,n,e,t)}function CEn(n,e,t){ms(),_U.call(this,n,e,t)}function g8(n,e){return pe(n),pe(e),new z8n(n,e)}function v2(n,e){return pe(n),pe(e),new NEn(n,e)}function Goe(n,e){return pe(n),pe(e),new BEn(n,e)}function zoe(n,e){return pe(n),pe(e),new W8n(n,e)}function u(n,e){return A5(n==null||WF(n,e)),n}function f3(n){var e;return e=new X,_$(e,n),e}function Uoe(n){var e;return e=new fi,_$(e,n),e}function TEn(n){var e;return e=new Wq,nF(e,n),e}function p8(n){var e;return e=new Ct,nF(e,n),e}function Woe(n){return!n.e&&(n.e=new X),n.e}function Xoe(n){return!n.c&&(n.c=new Bp),n.c}function W(n,e){return n.c[n.c.length]=e,!0}function MEn(n,e){this.c=n,this.b=e,this.a=!1}function HU(n){this.d=n,Ovn(this),this.b=_fe(n.d)}function AEn(){this.a=";,;",this.b="",this.c=""}function Voe(n,e,t){SCn.call(this,e,t),this.a=n}function SEn(n,e,t){this.b=n,Hkn.call(this,e,t)}function qU(n,e,t){this.c=n,Nj.call(this,e,t)}function GU(n,e,t){aY(t,0,n,e,t.length,!1)}function eh(n,e,t,i,r){n.b=e,n.c=t,n.d=i,n.a=r}function Qoe(n,e){e&&(n.b=e,n.a=(fl(e),e.a))}function zU(n,e,t,i,r){n.d=e,n.c=t,n.a=i,n.b=r}function UU(n){var e,t;e=n.b,t=n.c,n.b=t,n.c=e}function WU(n){var e,t;t=n.d,e=n.a,n.d=e,n.a=t}function XU(n){return bl(the($r(n)?Ks(n):n))}function Joe(n,e){return Uc(GEn(n.d),GEn(e.d))}function Yoe(n,e){return e==(J(),Gn)?n.c:n.d}function h3(){h3=N,don=(J(),Gn),dP=Vn}function PEn(){this.b=K(Y(cn((Go(),xR))))}function IEn(n){return ca(),F(Zn,rn,1,n,5,1)}function Zoe(n){return new fn(n.c+n.b,n.d+n.a)}function nfe(n,e){return Sj(),Uc(n.d.p,e.d.p)}function aD(n){return ne(n.b!=0),Ts(n,n.a.a)}function efe(n){return ne(n.b!=0),Ts(n,n.c.b)}function VU(n,e){if(!n)throw T(new R9n(e))}function TE(n,e){if(!n)throw T(new Hn(e))}function QU(n,e,t){t3.call(this,n,e),this.b=t}function v8(n,e,t){lz.call(this,n,e),this.c=t}function OEn(n,e,t){oIn.call(this,e,t),this.d=n}function JU(n){IU(),Yy.call(this),this.th(n)}function DEn(n,e,t){this.a=n,Ew.call(this,e,t)}function $En(n,e,t){this.a=n,Ew.call(this,e,t)}function ME(n,e,t){lz.call(this,n,e),this.c=t}function FEn(){T3(),khe.call(this,(Z1(),uo))}function xEn(n){return n!=null&&!$F(n,a9,d9)}function tfe(n,e){return(GDn(n)<<4|GDn(e))&Ut}function ife(n,e){return QE(),ex(n,e),new oTn(n,e)}function sa(n,e){var t;n.n&&(t=e,W(n.f,t))}function l3(n,e,t){var i;i=new Z0(t),Ro(n,e,i)}function rfe(n,e){var t;return t=n.c,wV(n,e),t}function YU(n,e){return e<0?n.g=-1:n.g=e,n}function AE(n,e){return H0e(n),n.a*=e,n.b*=e,n}function LEn(n,e,t,i,r){n.c=e,n.d=t,n.b=i,n.a=r}function Ke(n,e){return Kt(n,e,n.c.b,n.c),!0}function ZU(n){n.a.b=n.b,n.b.a=n.a,n.a=n.b=null}function dD(n){this.b=n,this.a=Ed(this.b.a).Ed()}function NEn(n,e){this.b=n,this.a=e,TI.call(this)}function BEn(n,e){this.a=n,this.b=e,TI.call(this)}function REn(n,e){SCn.call(this,e,1040),this.a=n}function m8(n){return n==0||isNaN(n)?n:n<0?-1:1}function cfe(n){return C2(),fh(n)==At(ml(n))}function ufe(n){return C2(),ml(n)==At(fh(n))}function jd(n,e){return v6(n,new t3(e.a,e.b))}function sfe(n){return!Xi(n)&&n.c.i.c==n.d.i.c}function SE(n){var e;return e=n.n,n.a.b+e.d+e.a}function _En(n){var e;return e=n.n,n.e.b+e.d+e.a}function nW(n){var e;return e=n.n,n.e.a+e.b+e.c}function KEn(n){return Je(),new th(0,n)}function ofe(n){return n.a?n.a:WD(n)}function A5(n){if(!n)throw T(new Up(null))}function HEn(){HEn=N,mH=(Pn(),new OI(XB))}function PE(){PE=N,new JQ((HI(),uR),(qI(),cR))}function qEn(){qEn=N,jin=F(Wi,q,19,256,0,1)}function bD(n,e,t,i){MQ.call(this,n,e,t,i,0,0)}function ffe(n,e,t){return it(n.b,u(t.b,17),e)}function hfe(n,e,t){return it(n.b,u(t.b,17),e)}function lfe(n,e){return W(n,new fn(e.a,e.b))}function afe(n,e){return n.c=e)throw T(new qq)}function Xfe(n,e,t){return Mt(e,0,rW(e[0],t[0])),e}function Vfe(n,e,t){e.Ye(t,K(Y(te(n.b,t)))*n.a)}function ACn(n,e,t){return eg(),R3(n,e)&&R3(n,t)}function D5(n){return Tu(),!n.Hc(n1)&&!n.Hc(Gl)}function qE(n){return new fn(n.c+n.b/2,n.d+n.a/2)}function MD(n,e){return e.kh()?pl(n.b,u(e,49)):e}function kW(n,e){this.e=n,this.d=e&64?e|Nf:e}function SCn(n,e){this.c=0,this.d=n,this.b=e|64|Nf}function GE(n){this.b=new Pc(11),this.a=(Ow(),n)}function AD(n){this.b=null,this.a=(Ow(),n||Lin)}function PCn(n){this.a=Y$n(n.a),this.b=new du(n.b)}function ICn(n){this.b=n,b2.call(this,n),$yn(this)}function OCn(n){this.b=n,u8.call(this,n),Fyn(this)}function Y0(n,e,t){this.a=n,g2.call(this,e,t,5,6)}function yW(n,e,t,i){this.b=n,Jt.call(this,e,t,i)}function wi(n,e,t,i,r){D$.call(this,n,e,t,i,r,-1)}function $5(n,e,t,i,r){R8.call(this,n,e,t,i,r,-1)}function V(n,e,t,i){Jt.call(this,n,e,t),this.b=i}function zE(n,e,t,i){v8.call(this,n,e,t),this.b=i}function DCn(n){xkn.call(this,n,!1),this.a=!1}function $Cn(n,e){this.b=n,bvn.call(this,n.b),this.a=e}function FCn(n,e){nb(),Yie.call(this,n,mT(new Ku(e)))}function UE(n,e){return Je(),new xW(n,e,0)}function SD(n,e){return Je(),new xW(6,n,e)}function Qfe(n,e){return An(n.substr(0,e.length),e)}function zu(n,e){return mi(e)?QD(n,e):!!Ar(n.f,e)}function Oi(n,e){for(_n(e);n.Ob();)e.td(n.Pb())}function Pw(n,e,t){jl(),this.e=n,this.d=e,this.a=t}function o1(n,e,t,i){var r;r=n.i,r.i=e,r.a=t,r.b=i}function jW(n){var e;for(e=n;e.f;)e=e.f;return e}function y2(n){var e;return e=t6(n),ne(e!=null),e}function Jfe(n){var e;return e=Lge(n),ne(e!=null),e}function d3(n,e){var t;return t=n.a.gc(),$X(e,t),t-e}function EW(n,e){var t;for(t=0;t0?j.Math.log(n/e):-100}function xCn(n,e){return fc(n,e)<0?-1:fc(n,e)>0?1:0}function SW(n,e,t){return MRn(n,u(e,46),u(t,167))}function LCn(n,e){return u(vW(Ed(n.a)).Xb(e),42).cd()}function uhe(n,e){return P0e(e,n.length),new REn(n,e)}function DD(n,e){this.d=n,ie.call(this,n),this.e=e}function Cd(n){this.d=(_n(n),n),this.a=0,this.c=IM}function PW(n,e){cd.call(this,1),this.a=n,this.b=e}function NCn(n,e){return n.c?NCn(n.c,e):W(n.b,e),n}function she(n,e,t){var i;return i=ub(n,e),g$(n,e,t),i}function IW(n,e){var t;return t=n.slice(0,e),WX(t,n)}function BCn(n,e,t){var i;for(i=0;i=n.g}function KD(n,e,t){var i;return i=Y$(n,e,t),rZ(n,i)}function j2(n,e){var t;t=n.a.length,ub(n,t),g$(n,t,e)}function ZCn(n,e){var t;t=console[n],t.call(console,e)}function nTn(n,e){var t;++n.j,t=n.Vi(),n.Ii(n.oi(t,e))}function mhe(n,e,t){u(e.b,65),Yc(e.a,new NU(n,t,e))}function FW(n,e,t){uj.call(this,e),this.a=n,this.b=t}function xW(n,e,t){cd.call(this,n),this.a=e,this.b=t}function LW(n,e,t){this.a=n,xq.call(this,e),this.b=t}function eTn(n,e,t){this.a=n,aX.call(this,8,e,null,t)}function khe(n){this.a=(_n(xe),xe),this.b=n,new tG}function tTn(n){this.c=n,this.b=this.c.a,this.a=this.c.e}function NW(n){this.c=n,this.b=n.a.d.a,rU(n.a.e,this)}function Uu(n){z0(n.c!=-1),n.d.$c(n.c),n.b=n.c,n.c=-1}function L5(n){return j.Math.sqrt(n.a*n.a+n.b*n.b)}function Md(n,e){return a3(e,n.a.c.length),un(n.a,e)}function $f(n,e){return B(n)===B(e)||n!=null&&tt(n,e)}function yhe(n){return 0>=n?new PG:sbe(n-1)}function jhe(n){return aw?QD(aw,n):!1}function iTn(n){return n?n.dc():!n.Kc().Ob()}function Gi(n){return!n.a&&n.c?n.c.b:n.a}function Ehe(n){return!n.a&&(n.a=new Jt(zl,n,4)),n.a}function Ad(n){return!n.d&&(n.d=new Jt(ar,n,1)),n.d}function _n(n){if(n==null)throw T(new Nv);return n}function N5(n){n.c?n.c.He():(n.d=!0,S8e(n))}function fl(n){n.c?fl(n.c):(Ta(n),n.d=!0)}function rTn(n){KW(n.a),n.b=F(Zn,rn,1,n.b.length,5,1)}function Che(n,e){return Uc(e.j.c.length,n.j.c.length)}function The(n,e){n.c<0||n.b.b=0?n.Bh(t):bY(n,e)}function cTn(n){var e,t;return e=n.c.i.c,t=n.d.i.c,e==t}function Ahe(n){if(n.p!=4)throw T(new fu);return n.e}function She(n){if(n.p!=3)throw T(new fu);return n.e}function Phe(n){if(n.p!=6)throw T(new fu);return n.f}function Ihe(n){if(n.p!=6)throw T(new fu);return n.k}function Ohe(n){if(n.p!=3)throw T(new fu);return n.j}function Dhe(n){if(n.p!=4)throw T(new fu);return n.j}function BW(n){return!n.b&&(n.b=new sj(new KI)),n.b}function Sd(n){return n.c==-2&&Pte(n,Qve(n.g,n.b)),n.c}function g3(n,e){var t;return t=LD("",n),t.n=e,t.i=1,t}function $he(n,e){yD(u(e.b,65),n),Yc(e.a,new Aq(n))}function Fhe(n,e){me((!n.a&&(n.a=new l8(n,n)),n.a),e)}function uTn(n,e){this.b=n,DD.call(this,n,e),$yn(this)}function sTn(n,e){this.b=n,AU.call(this,n,e),Fyn(this)}function RW(n,e,t,i){bd.call(this,n,e),this.d=t,this.a=i}function VE(n,e,t,i){bd.call(this,n,t),this.a=e,this.f=i}function oTn(n,e){bce.call(this,obe(pe(n),pe(e))),this.a=e}function fTn(){UJ.call(this,Ka,(a8n(),hee)),tEe(this)}function hTn(){UJ.call(this,Vs,(Qp(),g1n)),lje(this)}function lTn(){Oe.call(this,"DELAUNAY_TRIANGULATION",0)}function xhe(n){return String.fromCharCode.apply(null,n)}function it(n,e,t){return mi(e)?kr(n,e,t):_c(n.f,e,t)}function _W(n){return Pn(),n?n.ve():(Ow(),Ow(),Bin)}function Lhe(n,e,t){return L2(),t.pg(n,u(e.cd(),146))}function aTn(n,e){return PE(),new JQ(new Wyn(n),new Uyn(e))}function Nhe(n){return is(n,AL),KC(qi(qi(5,n),n/10|0))}function QE(){QE=N,fzn=new GI(A(M(Ha,1),OM,42,0,[]))}function dTn(n){return!n.d&&(n.d=new _p(n.c.Cc())),n.d}function p3(n){return!n.a&&(n.a=new W9n(n.c.vc())),n.a}function bTn(n){return!n.b&&(n.b=new Wp(n.c.ec())),n.b}function rh(n,e){for(;e-- >0;)n=n<<1|(n<0?1:0);return n}function pc(n,e){return B(n)===B(e)||n!=null&&tt(n,e)}function Bhe(n,e){return qn(),u(e.b,19).ai&&++i,i}function Oh(n){var e,t;return t=(e=new ud,e),O3(t,n),t}function UD(n){var e,t;return t=(e=new ud,e),VJ(t,n),t}function Zhe(n,e){var t;return t=te(n.f,e),MV(e,t),null}function WD(n){var e;return e=hbe(n),e||null}function CTn(n){return!n.b&&(n.b=new V(di,n,12,3)),n.b}function n1e(n){return n!=null&&_9(tI,n.toLowerCase())}function e1e(n,e){return Zt(bu(n)*Gu(n),bu(e)*Gu(e))}function t1e(n,e){return Zt(bu(n)*Gu(n),bu(e)*Gu(e))}function i1e(n,e){return Zt(n.d.c+n.d.b/2,e.d.c+e.d.b/2)}function r1e(n,e){return Zt(n.g.c+n.g.b/2,e.g.c+e.g.b/2)}function TTn(n,e,t){t.a?nu(n,e.b-n.f/2):Zc(n,e.a-n.g/2)}function MTn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function ATn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function ha(n,e,t,i){this.e=n,this.a=e,this.c=t,this.d=i}function STn(n,e,t,i){this.a=n,this.c=e,this.d=t,this.b=i}function PTn(n,e,t,i){ms(),ySn.call(this,e,t,i),this.a=n}function ITn(n,e,t,i){ms(),ySn.call(this,e,t,i),this.a=n}function OTn(n,e){this.a=n,hue.call(this,n,u(n.d,15).Zc(e))}function XD(n){this.f=n,this.c=this.f.e,n.f>0&&qFn(this)}function DTn(n,e,t,i){this.b=n,this.c=i,FO.call(this,e,t)}function $Tn(n){return ne(n.b=0&&An(n.substr(t,e.length),e)}function hl(n,e,t,i,r,c,o){return new v$(n.e,e,t,i,r,c,o)}function QTn(n,e,t,i,r,c){this.a=n,z$.call(this,e,t,i,r,c)}function JTn(n,e,t,i,r,c){this.a=n,z$.call(this,e,t,i,r,c)}function YTn(n,e){this.g=n,this.d=A(M(vh,1),E1,10,0,[e])}function f1(n,e){this.e=n,this.a=Zn,this.b=yBn(e),this.c=e}function ZTn(n,e){kE.call(this),eV(this),this.a=n,this.c=e}function M8(n,e,t,i){Mt(n.c[e.g],t.g,i),Mt(n.c[t.g],e.g,i)}function ZD(n,e,t,i){Mt(n.c[e.g],e.g,t),Mt(n.b[e.g],e.g,i)}function M1e(){return x8(),A(M(ron,1),z,376,0,[uK,iy])}function A1e(){return K8(),A(M(Qcn,1),z,479,0,[Vcn,xS])}function S1e(){return V8(),A(M(Wcn,1),z,419,0,[$S,Ucn])}function P1e(){return OC(),A(M(Rcn,1),z,422,0,[Bcn,s_])}function I1e(){return kC(),A(M(fun,1),z,420,0,[j_,oun])}function O1e(){return z8(),A(M(non,1),z,421,0,[iK,rK])}function D1e(){return z5(),A(M(bJn,1),z,523,0,[Hm,Km])}function $1e(){return No(),A(M(BJn,1),z,520,0,[tw,Bl])}function F1e(){return Ff(),A(M(yJn,1),z,516,0,[M0,I1])}function x1e(){return ef(),A(M(EJn,1),z,515,0,[Ja,kf])}function L1e(){return Id(),A(M(zJn,1),z,455,0,[Rl,Lg])}function N1e(){return gC(),A(M(Son,1),z,425,0,[yK,Aon])}function B1e(){return aC(),A(M(Mon,1),z,480,0,[kK,Ton])}function R1e(){return iT(),A(M(Pon,1),z,495,0,[EP,mv])}function _1e(){return $C(),A(M(Oon,1),z,426,0,[Ion,TK])}function K1e(){return c7(),A(M(Ffn,1),z,429,0,[DP,$fn])}function H1e(){return L8(),A(M(afn,1),z,430,0,[FK,IP])}function q1e(){return $T(),A(M(Jin,1),z,428,0,[yR,Qin])}function G1e(){return RC(),A(M(Zin,1),z,427,0,[Yin,jR])}function z1e(){return _C(),A(M(Arn,1),z,424,0,[$R,tS])}function U1e(){return B3(),A(M(NWn,1),z,511,0,[_k,UR])}function sC(n,e,t,i){return t>=0?n.jh(e,t,i):n.Sg(null,t,i)}function n$(n){return n.b.b==0?n.a.$e():aD(n.b)}function W1e(n){if(n.p!=5)throw T(new fu);return ge(n.f)}function X1e(n){if(n.p!=5)throw T(new fu);return ge(n.k)}function VW(n){return B(n.a)===B((eF(),gH))&&Vje(n),n.a}function nMn(n){this.a=u(pe(n),271),this.b=(Pn(),new Hz(n))}function eMn(n,e){bte(this,new fn(n.a,n.b)),wte(this,p8(e))}function Id(){Id=N,Rl=new iz(Y2,0),Lg=new iz(Z2,1)}function Ff(){Ff=N,M0=new ez(Z2,0),I1=new ez(Y2,1)}function Od(){rie.call(this,new s2(sb(12))),Bz(!0),this.a=2}function e$(n,e,t){Je(),cd.call(this,n),this.b=e,this.a=t}function QW(n,e,t){ms(),uj.call(this,e),this.a=n,this.b=t}function tMn(n){kE.call(this),eV(this),this.a=n,this.c=!0}function iMn(n){var e;e=n.c.d.b,n.b=e,n.a=n.c.d,e.a=n.c.d.b=n}function oC(n){var e;ebe(n.a),byn(n.a),e=new tj(n.a),TQ(e)}function V1e(n,e){aBn(n,!0),Yc(n.e.wf(),new $U(n,!0,e))}function fC(n,e){return LAn(e),Y0e(n,F(be,Le,25,e,15,1),e)}function Q1e(n,e){return C2(),n==At(fh(e))||n==At(ml(e))}function vc(n,e){return e==null?Vr(Ar(n.f,null)):n5(n.g,e)}function J1e(n){return n.b==0?null:(ne(n.b!=0),Ts(n,n.a.a))}function Gt(n){return Math.max(Math.min(n,nt),-2147483648)|0}function Y1e(n,e){var t=lR[n.charCodeAt(0)];return t??n}function hC(n,e){return tC(n,"set1"),tC(e,"set2"),new Z8n(n,e)}function Z1e(n,e){var t;return t=W0e(n.f,e),ot(vE(t),n.f.d)}function R5(n,e){var t,i;return t=e,i=new dI,n_n(n,t,i),i.d}function t$(n,e,t,i){var r;r=new Gjn,e.a[t.g]=r,m2(n.b,i,r)}function JW(n,e,t){var i;i=n.Yg(e),i>=0?n.sh(i,t):_Y(n,e,t)}function Dw(n,e,t){dC(),n&&it(dH,n,e),n&&it($y,n,t)}function rMn(n,e,t){this.i=new X,this.b=n,this.g=e,this.a=t}function lC(n,e,t){this.c=new X,this.e=n,this.f=e,this.b=t}function YW(n,e,t){this.a=new X,this.e=n,this.f=e,this.c=t}function cMn(n,e){oE(this),this.f=e,this.g=n,eC(this),this._d()}function A8(n,e){var t;t=n.q.getHours(),n.q.setDate(e),S6(n,t)}function uMn(n,e){var t;for(pe(e),t=n.a;t;t=t.c)e.Od(t.g,t.i)}function sMn(n){var e;return e=new kj(sb(n.length)),qV(e,n),e}function nle(n){function e(){}return e.prototype=n||{},new e}function ele(n,e){return LOn(n,e)?(FIn(n),!0):!1}function Dh(n,e){if(e==null)throw T(new Nv);return Y2e(n,e)}function tle(n){if(n.qe())return null;var e=n.n;return RA[e]}function S8(n){return n.Db>>16!=3?null:u(n.Cb,33)}function nf(n){return n.Db>>16!=9?null:u(n.Cb,33)}function oMn(n){return n.Db>>16!=6?null:u(n.Cb,79)}function fMn(n){return n.Db>>16!=7?null:u(n.Cb,235)}function hMn(n){return n.Db>>16!=7?null:u(n.Cb,160)}function At(n){return n.Db>>16!=11?null:u(n.Cb,33)}function lMn(n,e){var t;return t=n.Yg(e),t>=0?n.lh(t):Ox(n,e)}function aMn(n,e){var t;return t=new iW(e),dxn(t,n),new du(t)}function ZW(n){var e;return e=n.d,e=n.si(n.f),me(n,e),e.Ob()}function dMn(n,e){return n.b+=e.b,n.c+=e.c,n.d+=e.d,n.a+=e.a,n}function i$(n,e){return j.Math.abs(n)0}function bMn(){this.a=new Sh,this.e=new fi,this.g=0,this.i=0}function wMn(n){this.a=n,this.b=F(lJn,q,1944,n.e.length,0,2)}function r$(n,e,t){var i;i=tDn(n,e,t),n.b=new tT(i.c.length)}function ef(){ef=N,Ja=new nz(hN,0),kf=new nz("UP",1)}function aC(){aC=N,kK=new rz(PHn,0),Ton=new rz("FAN",1)}function dC(){dC=N,dH=new we,$y=new we,Ere(Azn,new z2n)}function rle(n){if(n.p!=0)throw T(new fu);return b5(n.f,0)}function cle(n){if(n.p!=0)throw T(new fu);return b5(n.k,0)}function gMn(n){return n.Db>>16!=3?null:u(n.Cb,147)}function y3(n){return n.Db>>16!=6?null:u(n.Cb,235)}function eb(n){return n.Db>>16!=17?null:u(n.Cb,26)}function pMn(n,e){var t=n.a=n.a||[];return t[e]||(t[e]=n.le(e))}function ule(n,e){var t;return t=n.a.get(e),t??new Array}function sle(n,e){var t;t=n.q.getHours(),n.q.setMonth(e),S6(n,t)}function kr(n,e,t){return e==null?_c(n.f,null,t):Gd(n.g,e,t)}function _5(n,e,t,i,r,c){return new Lh(n.e,e,n.aj(),t,i,r,c)}function P8(n,e,t){return n.a=Yu(n.a,0,e)+(""+t)+r8(n.a,e),n}function ole(n,e,t){return W(n.a,(QE(),ex(e,t),new bd(e,t))),n}function nX(n){return _z(n.c),n.e=n.a=n.c,n.c=n.c.c,++n.d,n.a.f}function vMn(n){return _z(n.e),n.c=n.a=n.e,n.e=n.e.e,--n.d,n.a.f}function Ei(n,e){n.d&&Qc(n.d.e,n),n.d=e,n.d&&W(n.d.e,n)}function Hi(n,e){n.c&&Qc(n.c.g,n),n.c=e,n.c&&W(n.c.g,n)}function yr(n,e){n.c&&Qc(n.c.a,n),n.c=e,n.c&&W(n.c.a,n)}function Hr(n,e){n.i&&Qc(n.i.j,n),n.i=e,n.i&&W(n.i.j,n)}function mMn(n,e,t){this.a=e,this.c=n,this.b=(pe(t),new du(t))}function kMn(n,e,t){this.a=e,this.c=n,this.b=(pe(t),new du(t))}function yMn(n,e){this.a=n,this.c=Qr(this.a),this.b=new uC(e)}function fle(n){var e;return Ta(n),e=new fi,gt(n,new Vvn(e))}function tb(n,e){if(n<0||n>e)throw T(new vr(cnn+n+unn+e))}function eX(n,e){return lCn(n.a,e)?TW(n,u(e,22).g,null):null}function hle(n){return yF(),qn(),u(n.a,81).d.e!=0}function jMn(){jMn=N,azn=Fe((aj(),A(M(lzn,1),z,538,0,[fR])))}function EMn(){EMn=N,YQn=ju(new hi,(Qi(),Ir),(rr(),Kk))}function tX(){tX=N,ZQn=ju(new hi,(Qi(),Ir),(rr(),Kk))}function CMn(){CMn=N,eJn=ju(new hi,(Qi(),Ir),(rr(),Kk))}function TMn(){TMn=N,gJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function Zu(){Zu=N,mJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function MMn(){MMn=N,kJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function c$(){c$=N,TJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function AMn(){AMn=N,lYn=ju(new hi,(c4(),Gm),(k6(),lK))}function aa(n,e,t,i){this.c=n,this.d=i,s$(this,e),o$(this,t)}function M2(n){this.c=new Ct,this.b=n.b,this.d=n.c,this.a=n.a}function u$(n){this.a=j.Math.cos(n),this.b=j.Math.sin(n)}function s$(n,e){n.a&&Qc(n.a.k,n),n.a=e,n.a&&W(n.a.k,n)}function o$(n,e){n.b&&Qc(n.b.f,n),n.b=e,n.b&&W(n.b.f,n)}function SMn(n,e){mhe(n,n.b,n.c),u(n.b.b,65),e&&u(e.b,65).b}function lle(n,e){vQ(n,e),I(n.Cb,88)&&yb(Iu(u(n.Cb,88)),2)}function f$(n,e){I(n.Cb,88)&&yb(Iu(u(n.Cb,88)),4),Ic(n,e)}function bC(n,e){I(n.Cb,179)&&(u(n.Cb,179).tb=null),Ic(n,e)}function mc(n,e){return er(),R$(e)?new IE(e,n):new i8(e,n)}function ale(n,e){var t,i;t=e.c,i=t!=null,i&&j2(n,new Z0(e.c))}function PMn(n){var e,t;return t=(Qp(),e=new ud,e),O3(t,n),t}function IMn(n){var e,t;return t=(Qp(),e=new ud,e),O3(t,n),t}function OMn(n,e){var t;return t=new Rs(n),e.c[e.c.length]=t,t}function DMn(n,e){var t;return t=u(ab(T2(n.a),e),14),t?t.gc():0}function $Mn(n){var e;return Ta(n),e=(Ow(),Ow(),Nin),qC(n,e)}function FMn(n){for(var e;;)if(e=n.Pb(),!n.Ob())return e}function iX(n,e){tie.call(this,new s2(sb(n))),is(e,W_n),this.a=e}function ch(n,e,t){KDn(e,t,n.gc()),this.c=n,this.a=e,this.b=t-e}function xMn(n,e,t){var i;KDn(e,t,n.c.length),i=t-e,AG(n.c,e,i)}function dle(n,e){Dyn(n,ge(ci(cl(e,24),FM)),ge(ci(e,FM)))}function Ln(n,e){if(n<0||n>=e)throw T(new vr(cnn+n+unn+e))}function Me(n,e){if(n<0||n>=e)throw T(new wG(cnn+n+unn+e))}function xn(n,e){this.b=(_n(n),n),this.a=e&Ib?e:e|64|Nf}function LMn(n){dyn(this),Wmn(this.a,KV(j.Math.max(8,n))<<1)}function tf(n){return Gr(A(M(ai,1),q,8,0,[n.i.n,n.n,n.a]))}function ble(){return hf(),A(M(Nu,1),z,132,0,[Win,hs,Rb])}function wle(){return _o(),A(M(_b,1),z,232,0,[Zr,Fc,nc])}function gle(){return Cu(),A(M(Qzn,1),z,461,0,[Xf,Ol,Co])}function ple(){return Jc(),A(M(Yzn,1),z,462,0,[Wo,Dl,To])}function vle(){return qd(),A(M(zrn,1),z,423,0,[yg,Grn,qR])}function mle(){return W5(),A(M(Krn,1),z,379,0,[NR,LR,BR])}function kle(){return i6(),A(M(Gsn,1),z,378,0,[J_,qsn,oP])}function yle(){return F2(),A(M(Kcn,1),z,314,0,[ap,qk,_cn])}function jle(){return VC(),A(M(qcn,1),z,337,0,[Hcn,DS,o_])}function Ele(){return ya(),A(M(aXn,1),z,450,0,[l_,cv,Tg])}function Cle(){return Kd(),A(M(YR,1),z,361,0,[g0,Fl,w0])}function Tle(){return Nh(),A(M(kXn,1),z,303,0,[zk,Ag,dp])}function Mle(){return q3(),A(M(y_,1),z,292,0,[m_,k_,Gk])}function Ale(){return ur(),A(M(zQn,1),z,452,0,[Bm,Au,xc])}function Sle(){return Rh(),A(M(Zsn,1),z,339,0,[Nl,Ysn,tK])}function Ple(){return oT(),A(M(ion,1),z,375,0,[eon,cK,ton])}function Ile(){return dT(),A(M(hon,1),z,377,0,[fK,pv,ew])}function Ole(){return Q3(),A(M(uon,1),z,336,0,[sK,con,Rm])}function Dle(){return uT(),A(M(fon,1),z,338,0,[oon,oK,son])}function $le(){return _d(),A(M(fJn,1),z,454,0,[ry,_m,aP])}function Fle(){return CT(),A(M(gYn,1),z,442,0,[CK,jK,EK])}function xle(){return f7(),A(M(Fon,1),z,380,0,[CP,Don,$on])}function Lle(){return ET(),A(M(Yon,1),z,381,0,[Jon,IK,Qon])}function Nle(){return sT(),A(M(Xon,1),z,293,0,[PK,Won,Uon])}function Ble(){return w7(),A(M(OK,1),z,437,0,[AP,SP,PP])}function Rle(){return _h(),A(M(Khn,1),z,334,0,[HP,F1,i9])}function _le(){return sf(),A(M(Phn,1),z,272,0,[jv,cw,Ev])}function Kle(n,e){return o9e(n,e,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function Hle(n,e,t){var i;return i=O6(n,e,!1),i.b<=e&&i.a<=t}function NMn(n,e,t){var i;i=new Jwn,i.b=e,i.a=t,++e.b,W(n.d,i)}function qle(n,e){var t;return t=(_n(n),n).g,Yz(!!t),_n(e),t(e)}function rX(n,e){var t,i;return i=d3(n,e),t=n.a.Zc(i),new Y8n(n,t)}function Gle(n){return n.Db>>16!=6?null:u(Fx(n),235)}function zle(n){if(n.p!=2)throw T(new fu);return ge(n.f)&Ut}function Ule(n){if(n.p!=2)throw T(new fu);return ge(n.k)&Ut}function Wle(n){return n.a==(T3(),uI)&&Ste(n,C9e(n.g,n.b)),n.a}function A2(n){return n.d==(T3(),uI)&&Ite(n,pke(n.g,n.b)),n.d}function y(n){return ne(n.ai?1:0}function BMn(n,e){var t,i;return t=F$(e),i=t,u(te(n.c,i),19).a}function RMn(n,e){var t;for(t=n+"";t.length0&&n.a[--n.d]==0;);n.a[n.d++]==0&&(n.e=0)}function rAn(n){return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function rae(n){return!!n.a&&Ou(n.a.a).i!=0&&!(n.b&&YF(n.b))}function cae(n){return!!n.u&&bc(n.u.a).i!=0&&!(n.n&&JF(n.n))}function cAn(n){return gD(n.e.Hd().gc()*n.c.Hd().gc(),16,new tvn(n))}function uae(n,e){return xCn(eu(n.q.getTime()),eu(e.q.getTime()))}function xf(n){return u(lf(n,F(GR,MN,17,n.c.length,0,1)),474)}function I8(n){return u(lf(n,F(vh,E1,10,n.c.length,0,1)),193)}function sae(n){return Zu(),!Xi(n)&&!(!Xi(n)&&n.c.i.c==n.d.i.c)}function uAn(n,e,t){var i;i=(pe(n),new du(n)),N3e(new mMn(i,e,t))}function O8(n,e,t){var i;i=(pe(n),new du(n)),B3e(new kMn(i,e,t))}function sAn(n,e){var t;return t=1-e,n.a[t]=eT(n.a[t],t),eT(n,e)}function oAn(n,e){var t;n.e=new oG,t=Cb(e),bi(t,n.c),eBn(n,t,0)}function Ci(n,e,t,i){var r;r=new XH,r.a=e,r.b=t,r.c=i,Ke(n.a,r)}function Z(n,e,t,i){var r;r=new XH,r.a=e,r.b=t,r.c=i,Ke(n.b,r)}function po(n){var e,t,i;return e=new HCn,t=Zx(e,n),UEe(e),i=t,i}function hX(){var n,e,t;return e=(t=(n=new ud,n),t),W(M1n,e),e}function pC(n){return n.j.c=F(Zn,rn,1,0,5,1),KW(n.c),Khe(n.a),n}function $w(n){return Qv(),I(n.g,10)?u(n.g,10):null}function oae(n){return Iw(n).dc()?!1:(sce(n,new Np),!0)}function fae(n){if(!("stack"in n))try{throw n}catch{}return n}function D8(n,e){if(n<0||n>=e)throw T(new vr(j6e(n,e)));return n}function fAn(n,e,t){if(n<0||et)throw T(new vr(W5e(n,e,t)))}function d$(n,e){if(ri(n.a,e),e.d)throw T(new _r(wKn));e.d=n}function b$(n,e){if(e.$modCount!=n.$modCount)throw T(new vs)}function hAn(n,e){return I(e,42)?ix(n.a,u(e,42)):!1}function lAn(n,e){return I(e,42)?ix(n.a,u(e,42)):!1}function aAn(n,e){return I(e,42)?ix(n.a,u(e,42)):!1}function hae(n,e){return n.a<=n.b?(e.ud(n.a++),!0):!1}function $d(n){var e;return $r(n)?(e=n,e==-0?0:e):m0e(n)}function vC(n){var e;return fl(n),e=new fln,vw(n.a,new Wvn(e)),e}function dAn(n){var e;return fl(n),e=new oln,vw(n.a,new Uvn(e)),e}function Ii(n,e){this.a=n,$v.call(this,n),tb(e,n.gc()),this.b=e}function lX(n){this.e=n,this.b=this.e.a.entries(),this.a=new Array}function lae(n){return gD(n.e.Hd().gc()*n.c.Hd().gc(),273,new evn(n))}function mC(n){return new Pc((is(n,AL),KC(qi(qi(5,n),n/10|0))))}function bAn(n){return u(lf(n,F(FWn,UKn,11,n.c.length,0,1)),1943)}function aae(n,e,t){return t.f.c.length>0?SW(n.a,e,t):SW(n.b,e,t)}function dae(n,e,t){n.d&&Qc(n.d.e,n),n.d=e,n.d&&Q0(n.d.e,t,n)}function w$(n,e){uTe(e,n),WU(n.d),WU(u(k(n,(nn(),eP)),207))}function H5(n,e){cTe(e,n),UU(n.d),UU(u(k(n,(nn(),eP)),207))}function Fd(n,e){var t,i;return t=Dh(n,e),i=null,t&&(i=t.fe()),i}function j3(n,e){var t,i;return t=ub(n,e),i=null,t&&(i=t.ie()),i}function q5(n,e){var t,i;return t=Dh(n,e),i=null,t&&(i=t.ie()),i}function $h(n,e){var t,i;return t=Dh(n,e),i=null,t&&(i=tY(t)),i}function bae(n,e,t){var i;return i=i4(t),gM(n.g,i,e),gM(n.i,e,t),e}function wae(n,e,t){var i;i=q2e();try{return kue(n,e,t)}finally{Mae(i)}}function wAn(n){var e;e=n.Wg(),this.a=I(e,69)?u(e,69).Zh():e.Kc()}function hi(){P9n.call(this),this.j.c=F(Zn,rn,1,0,5,1),this.a=-1}function aX(n,e,t,i){this.d=n,this.n=e,this.g=t,this.o=i,this.p=-1}function gAn(n,e,t,i){this.e=i,this.d=null,this.c=n,this.a=e,this.b=t}function dX(n,e,t){this.d=new r6n(this),this.e=n,this.i=e,this.f=t}function kC(){kC=N,j_=new QG(I4,0),oun=new QG("TOP_LEFT",1)}function pAn(){pAn=N,aon=aTn(Q(1),Q(4)),lon=aTn(Q(1),Q(2))}function vAn(){vAn=N,uZn=Fe((Ij(),A(M(cZn,1),z,551,0,[$K])))}function mAn(){mAn=N,rZn=Fe((Pj(),A(M(lfn,1),z,482,0,[DK])))}function kAn(){kAn=N,CZn=Fe((Jv(),A(M(Dfn,1),z,530,0,[hy])))}function yAn(){yAn=N,IUn=Fe((Aj(),A(M(krn,1),z,481,0,[SR])))}function gae(){return Hd(),A(M(EUn,1),z,406,0,[Ok,Ik,MR,AR])}function pae(){return FC(),A(M(WA,1),z,297,0,[vR,qin,Gin,zin])}function vae(){return d6(),A(M(SUn,1),z,394,0,[Lk,YA,ZA,Nk])}function mae(){return K2(),A(M(TUn,1),z,323,0,[$k,Dk,Fk,xk])}function kae(){return G3(),A(M(jWn,1),z,405,0,[b0,Hb,Kb,kg])}function yae(){return aT(),A(M(KWn,1),z,360,0,[QR,TS,MS,Hk])}function jAn(n,e,t,i){return I(t,54)?new ojn(n,e,t,i):new pW(n,e,t,i)}function jae(){return ff(),A(M(QWn,1),z,411,0,[lp,nv,ev,JR])}function Eae(n){var e;return n.j==(J(),ae)&&(e=GLn(n),au(e,Vn))}function Cae(n,e){var t;t=e.a,Hi(t,e.c.d),Ei(t,e.d.d),fb(t.a,n.n)}function EAn(n,e){return u(yd(KE(u(ct(n.k,e),15).Oc(),jg)),113)}function CAn(n,e){return u(yd(HE(u(ct(n.k,e),15).Oc(),jg)),113)}function Tae(n){return new xn(jbe(u(n.a.dd(),14).gc(),n.a.cd()),16)}function E3(n){return I(n,14)?u(n,14).dc():!n.Kc().Ob()}function S2(n){return Qv(),I(n.g,145)?u(n.g,145):null}function TAn(n){if(n.e.g!=n.b)throw T(new vs);return!!n.c&&n.d>0}function Re(n){return ne(n.b!=n.d.c),n.c=n.b,n.b=n.b.a,++n.a,n.c.c}function bX(n,e){_n(e),Mt(n.a,n.c,e),n.c=n.c+1&n.a.length-1,MFn(n)}function ll(n,e){_n(e),n.b=n.b-1&n.a.length-1,Mt(n.a,n.b,e),MFn(n)}function MAn(n,e){var t;for(t=n.j.c.length;t0&&gc(n.g,0,e,0,n.i),e}function IAn(n,e){$j();var t;return t=u(te(eI,n),55),!t||t.wj(e)}function Bae(n){if(n.p!=1)throw T(new fu);return ge(n.f)<<24>>24}function Rae(n){if(n.p!=1)throw T(new fu);return ge(n.k)<<24>>24}function _ae(n){if(n.p!=7)throw T(new fu);return ge(n.k)<<16>>16}function Kae(n){if(n.p!=7)throw T(new fu);return ge(n.f)<<16>>16}function Fh(n){var e;for(e=0;n.Ob();)n.Pb(),e=qi(e,1);return KC(e)}function OAn(n,e){var t;return t=new R0,n.xd(t),t.a+="..",e.yd(t),t.a}function Hae(n,e,t){var i;i=u(te(n.g,t),57),W(n.a.c,new Pi(e,i))}function qae(n,e,t){return TD(Y(Vr(Ar(n.f,e))),Y(Vr(Ar(n.f,t))))}function yC(n,e,t){return vM(n,e,t,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function Gae(n,e,t){return m4(n,e,t,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function zae(n,e,t){return b9e(n,e,t,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function pX(n,e){return n==(Qn(),ti)&&e==ti?4:n==ti||e==ti?8:32}function DAn(n,e){return B(e)===B(n)?"(this Map)":e==null?iu:Lr(e)}function Uae(n,e){return u(e==null?Vr(Ar(n.f,null)):n5(n.g,e),281)}function $An(n,e,t){var i;return i=i4(t),it(n.b,i,e),it(n.c,e,t),e}function FAn(n,e){var t;for(t=e;t;)U0(n,t.i,t.j),t=At(t);return n}function vX(n,e){var t;return t=C8(f3(new x$(n,e))),DE(new x$(n,e)),t}function uh(n,e){er();var t;return t=u(n,66).Mj(),M5e(t,e),t.Ok(e)}function Wae(n,e,t,i,r){var c;c=m9e(r,t,i),W(e,p6e(r,c)),o5e(n,r,e)}function xAn(n,e,t){n.i=0,n.e=0,e!=t&&(uDn(n,e,t),cDn(n,e,t))}function mX(n,e){var t;t=n.q.getHours(),n.q.setFullYear(e+Tl),S6(n,t)}function Xae(n,e,t){if(t){var i=t.ee();n.a[e]=i(t)}else delete n.a[e]}function g$(n,e,t){if(t){var i=t.ee();t=i(t)}else t=void 0;n.a[e]=t}function LAn(n){if(n<0)throw T(new K9n("Negative array size: "+n))}function bc(n){return n.n||(Iu(n),n.n=new wCn(n,ar,n),Mr(n)),n.n}function G5(n){return ne(n.a=0&&n.a[t]===e[t];t--);return t<0}function KAn(n,e){V3();var t;return t=n.j.g-e.j.g,t!=0?t:0}function HAn(n,e){return _n(e),n.a!=null?$fe(e.Kb(n.a)):UA}function jC(n){var e;return n?new iW(n):(e=new Sh,nF(e,n),e)}function es(n,e){var t;return e.b.Kb(FPn(n,e.c.Ee(),(t=new Jvn(e),t)))}function EC(n){_J(),Dyn(this,ge(ci(cl(n,24),FM)),ge(ci(n,FM)))}function qAn(){qAn=N,Gzn=Fe(($T(),A(M(Jin,1),z,428,0,[yR,Qin])))}function GAn(){GAn=N,zzn=Fe((RC(),A(M(Zin,1),z,427,0,[Yin,jR])))}function zAn(){zAn=N,WUn=Fe((_C(),A(M(Arn,1),z,424,0,[$R,tS])))}function UAn(){UAn=N,BWn=Fe((B3(),A(M(NWn,1),z,511,0,[_k,UR])))}function WAn(){WAn=N,lXn=Fe((V8(),A(M(Wcn,1),z,419,0,[$S,Ucn])))}function XAn(){XAn=N,wXn=Fe((K8(),A(M(Qcn,1),z,479,0,[Vcn,xS])))}function VAn(){VAn=N,XQn=Fe((x8(),A(M(ron,1),z,376,0,[uK,iy])))}function QAn(){QAn=N,GQn=Fe((z8(),A(M(non,1),z,421,0,[iK,rK])))}function JAn(){JAn=N,sXn=Fe((OC(),A(M(Rcn,1),z,422,0,[Bcn,s_])))}function YAn(){YAn=N,jXn=Fe((kC(),A(M(fun,1),z,420,0,[j_,oun])))}function ZAn(){ZAn=N,RJn=Fe((No(),A(M(BJn,1),z,520,0,[tw,Bl])))}function nSn(){nSn=N,wJn=Fe((z5(),A(M(bJn,1),z,523,0,[Hm,Km])))}function eSn(){eSn=N,jJn=Fe((Ff(),A(M(yJn,1),z,516,0,[M0,I1])))}function tSn(){tSn=N,CJn=Fe((ef(),A(M(EJn,1),z,515,0,[Ja,kf])))}function iSn(){iSn=N,UJn=Fe((Id(),A(M(zJn,1),z,455,0,[Rl,Lg])))}function rSn(){rSn=N,hYn=Fe((gC(),A(M(Son,1),z,425,0,[yK,Aon])))}function cSn(){cSn=N,wYn=Fe((iT(),A(M(Pon,1),z,495,0,[EP,mv])))}function uSn(){uSn=N,fYn=Fe((aC(),A(M(Mon,1),z,480,0,[kK,Ton])))}function sSn(){sSn=N,vYn=Fe(($C(),A(M(Oon,1),z,426,0,[Ion,TK])))}function oSn(){oSn=N,TZn=Fe((c7(),A(M(Ffn,1),z,429,0,[DP,$fn])))}function fSn(){fSn=N,sZn=Fe((L8(),A(M(afn,1),z,430,0,[FK,IP])))}function z5(){z5=N,Hm=new ZG("UPPER",0),Km=new ZG("LOWER",1)}function Yae(n,e){var t;t=new r2,la(t,"x",e.a),la(t,"y",e.b),j2(n,t)}function Zae(n,e){var t;t=new r2,la(t,"x",e.a),la(t,"y",e.b),j2(n,t)}function nde(n,e){var t,i;i=!1;do t=JOn(n,e),i=i|t;while(t);return i}function jX(n,e){var t,i;for(t=e,i=0;t>0;)i+=n.a[t],t-=t&-t;return i}function hSn(n,e){var t;for(t=e;t;)U0(n,-t.i,-t.j),t=At(t);return n}function $i(n,e){var t,i;for(_n(e),i=n.Kc();i.Ob();)t=i.Pb(),e.td(t)}function lSn(n,e){var t;return t=e.cd(),new bd(t,n.e.pc(t,u(e.dd(),14)))}function Kt(n,e,t,i){var r;r=new aI,r.c=e,r.b=t,r.a=i,i.b=t.a=r,++n.b}function Es(n,e,t){var i;return i=(Ln(e,n.c.length),n.c[e]),n.c[e]=t,i}function ede(n,e,t){return u(e==null?_c(n.f,null,t):Gd(n.g,e,t),281)}function k$(n){return n.c&&n.d?cX(n.c)+"->"+cX(n.d):"e_"+md(n)}function C3(n,e){return(Ta(n),Wv(new $n(n,new UX(e,n.a)))).sd(V4)}function tde(){return Qi(),A(M(Hrn,1),z,356,0,[Vf,$l,Hc,Cc,Ir])}function ide(){return J(),A(M(Zi,1),hc,61,0,[Xr,Kn,Vn,ae,Gn])}function rde(n){return gj(),function(){return wae(n,this,arguments)}}function cde(){return Date.now?Date.now():new Date().getTime()}function Xi(n){return!n.c||!n.d?!1:!!n.c.i&&n.c.i==n.d.i}function aSn(n){if(!n.c.Sb())throw T(new ic);return n.a=!0,n.c.Ub()}function $8(n){n.i=0,z9(n.b,null),z9(n.c,null),n.a=null,n.e=null,++n.g}function EX(n){are.call(this,n==null?iu:Lr(n),I(n,78)?u(n,78):null)}function dSn(n){B_n(),Nmn(this),this.a=new Ct,QV(this,n),Ke(this.a,n)}function bSn(){RO(this),this.b=new fn(Ft,Ft),this.a=new fn(Vt,Vt)}function wSn(n,e){this.c=0,this.b=e,qkn.call(this,n,17493),this.a=this.c}function y$(n){CC(),!pf&&(this.c=n,this.e=!0,this.a=new X)}function CC(){CC=N,pf=!0,Fzn=!1,xzn=!1,Nzn=!1,Lzn=!1}function CX(n,e){return I(e,149)?An(n.c,u(e,149).c):!1}function TX(n,e){var t;return t=0,n&&(t+=n.f.a/2),e&&(t+=e.f.a/2),t}function j$(n,e){var t;return t=u(xd(n.d,e),23),t||u(xd(n.e,e),23)}function gSn(n){this.b=n,ie.call(this,n),this.a=u(Rn(this.b.a,4),126)}function pSn(n){this.b=n,w2.call(this,n),this.a=u(Rn(this.b.a,4),126)}function Iu(n){return n.t||(n.t=new Amn(n),s6(new _9n(n),0,n.t)),n.t}function ude(){return sr(),A(M(e9,1),z,103,0,[mh,Ao,Zs,Jh,Yh])}function sde(){return qw(),A(M(c9,1),z,249,0,[Hl,Cy,Hhn,r9,qhn])}function ode(){return Ho(),A(M($1,1),z,175,0,[Xn,pi,Yf,Ya,D1])}function fde(){return P7(),A(M(gfn,1),z,316,0,[dfn,xK,wfn,LK,bfn])}function hde(){return b6(),A(M(Usn,1),z,315,0,[zsn,nK,eK,Lm,Nm])}function lde(){return Pa(),A(M(zcn,1),z,335,0,[f_,Gcn,h_,Em,jm])}function ade(){return g4(),A(M(eZn,1),z,355,0,[Ng,Ep,Qm,Vm,Jm])}function dde(){return Vw(),A(M(YWn,1),z,363,0,[SS,IS,OS,PS,AS])}function bde(){return Ss(),A(M(jun,1),z,163,0,[Qk,Sm,xl,Pm,Ub])}function T3(){T3=N;var n,e;cI=(Qp(),e=new fj,e),uI=(n=new BI,n)}function vSn(n){var e;return n.c||(e=n.r,I(e,88)&&(n.c=u(e,26))),n.c}function wde(n){return n.e=3,n.d=n.Yb(),n.e!=2?(n.e=0,!0):!1}function E$(n){var e,t,i;return e=n&Lu,t=n>>22&Lu,i=n<0?Wh:0,Bc(e,t,i)}function gde(n){var e,t,i,r;for(t=n,i=0,r=t.length;i0?g$n(n,e):BNn(n,-e)}function MX(n,e){return e==0||n.e==0?n:e>0?BNn(n,e):g$n(n,-e)}function ve(n){if(Se(n))return n.c=n.a,n.a.Pb();throw T(new ic)}function kSn(n){var e,t;return e=n.c.i,t=n.d.i,e.k==(Qn(),Xt)&&t.k==Xt}function C$(n){var e;return e=new Pd,Sr(e,n),H(e,(nn(),Tr),null),e}function T$(n,e,t){var i;return i=n.Yg(e),i>=0?n._g(i,t,!0):Yd(n,e,t)}function AX(n,e,t,i){var r;for(r=0;re)throw T(new vr(fY(n,e,"index")));return n}function M$(n,e,t,i){var r;return r=F(be,Le,25,e,15,1),Pve(r,n,e,t,i),r}function vde(n,e){var t;t=n.q.getHours()+(e/60|0),n.q.setMinutes(e),S6(n,t)}function mde(n,e){return j.Math.min(al(e.a,n.d.d.c),al(e.b,n.d.d.c))}function O2(n,e){return mi(e)?e==null?MY(n.f,null):$On(n.g,e):MY(n.f,e)}function uf(n){this.c=n,this.a=new E(this.c.a),this.b=new E(this.c.b)}function TC(){this.e=new X,this.c=new X,this.d=new X,this.b=new X}function TSn(){this.g=new zq,this.b=new zq,this.a=new X,this.k=new X}function MSn(n,e,t){this.a=n,this.c=e,this.d=t,W(e.e,this),W(t.b,this)}function ASn(n,e){Hkn.call(this,e.rd(),e.qd()&-6),_n(n),this.a=n,this.b=e}function SSn(n,e){qkn.call(this,e.rd(),e.qd()&-6),_n(n),this.a=n,this.b=e}function FX(n,e){FO.call(this,e.rd(),e.qd()&-6),_n(n),this.a=n,this.b=e}function MC(n,e,t){this.a=n,this.b=e,this.c=t,W(n.t,this),W(e.i,this)}function AC(){this.b=new Ct,this.a=new Ct,this.b=new Ct,this.a=new Ct}function SC(){SC=N,Ym=new kt("org.eclipse.elk.labels.labelManager")}function PSn(){PSn=N,$cn=new ii("separateLayerConnections",(aT(),QR))}function No(){No=N,tw=new tz("REGULAR",0),Bl=new tz("CRITICAL",1)}function x8(){x8=N,uK=new YG("STACKED",0),iy=new YG("SEQUENCED",1)}function L8(){L8=N,FK=new oz("FIXED",0),IP=new oz("CENTER_NODE",1)}function kde(n,e){var t;return t=CEe(n,e),n.b=new tT(t.c.length),Lje(n,t)}function yde(n,e,t){var i;return++n.e,--n.f,i=u(n.d[e].$c(t),133),i.dd()}function ISn(n){var e;return n.a||(e=n.r,I(e,148)&&(n.a=u(e,148))),n.a}function xX(n){if(n.a){if(n.e)return xX(n.e)}else return n;return null}function jde(n,e){return n.pe.p?-1:0}function PC(n,e){return _n(e),n.c=0,"Initial capacity must not be negative")}function $Sn(){$Sn=N,Vzn=Fe((_o(),A(M(_b,1),z,232,0,[Zr,Fc,nc])))}function FSn(){FSn=N,Jzn=Fe((Cu(),A(M(Qzn,1),z,461,0,[Xf,Ol,Co])))}function xSn(){xSn=N,Zzn=Fe((Jc(),A(M(Yzn,1),z,462,0,[Wo,Dl,To])))}function LSn(){LSn=N,Bzn=Fe((hf(),A(M(Nu,1),z,132,0,[Win,hs,Rb])))}function NSn(){NSn=N,bWn=Fe((W5(),A(M(Krn,1),z,379,0,[NR,LR,BR])))}function BSn(){BSn=N,PWn=Fe((qd(),A(M(zrn,1),z,423,0,[yg,Grn,qR])))}function RSn(){RSn=N,oXn=Fe((F2(),A(M(Kcn,1),z,314,0,[ap,qk,_cn])))}function _Sn(){_Sn=N,fXn=Fe((VC(),A(M(qcn,1),z,337,0,[Hcn,DS,o_])))}function KSn(){KSn=N,dXn=Fe((ya(),A(M(aXn,1),z,450,0,[l_,cv,Tg])))}function HSn(){HSn=N,rXn=Fe((Kd(),A(M(YR,1),z,361,0,[g0,Fl,w0])))}function qSn(){qSn=N,yXn=Fe((Nh(),A(M(kXn,1),z,303,0,[zk,Ag,dp])))}function GSn(){GSn=N,mXn=Fe((q3(),A(M(y_,1),z,292,0,[m_,k_,Gk])))}function zSn(){zSn=N,RQn=Fe((i6(),A(M(Gsn,1),z,378,0,[J_,qsn,oP])))}function USn(){USn=N,WQn=Fe((oT(),A(M(ion,1),z,375,0,[eon,cK,ton])))}function WSn(){WSn=N,qQn=Fe((Rh(),A(M(Zsn,1),z,339,0,[Nl,Ysn,tK])))}function XSn(){XSn=N,UQn=Fe((ur(),A(M(zQn,1),z,452,0,[Bm,Au,xc])))}function VSn(){VSn=N,JQn=Fe((dT(),A(M(hon,1),z,377,0,[fK,pv,ew])))}function QSn(){QSn=N,VQn=Fe((Q3(),A(M(uon,1),z,336,0,[sK,con,Rm])))}function JSn(){JSn=N,QQn=Fe((uT(),A(M(fon,1),z,338,0,[oon,oK,son])))}function YSn(){YSn=N,hJn=Fe((_d(),A(M(fJn,1),z,454,0,[ry,_m,aP])))}function ZSn(){ZSn=N,pYn=Fe((CT(),A(M(gYn,1),z,442,0,[CK,jK,EK])))}function nPn(){nPn=N,mYn=Fe((f7(),A(M(Fon,1),z,380,0,[CP,Don,$on])))}function ePn(){ePn=N,LYn=Fe((ET(),A(M(Yon,1),z,381,0,[Jon,IK,Qon])))}function tPn(){tPn=N,xYn=Fe((sT(),A(M(Xon,1),z,293,0,[PK,Won,Uon])))}function iPn(){iPn=N,iZn=Fe((w7(),A(M(OK,1),z,437,0,[AP,SP,PP])))}function rPn(){rPn=N,une=Fe((_h(),A(M(Khn,1),z,334,0,[HP,F1,i9])))}function cPn(){cPn=N,tne=Fe((sf(),A(M(Phn,1),z,272,0,[jv,cw,Ev])))}function Pde(){return Ti(),A(M(Ghn,1),z,98,0,[ql,jf,Tv,td,jh,Ac])}function wa(n,e){return!n.o&&(n.o=new Wu((Dc(),Ul),S0,n,0)),NF(n.o,e)}function Ide(n){return!n.g&&(n.g=new Qy),!n.g.d&&(n.g.d=new Cmn(n)),n.g.d}function Ode(n){return!n.g&&(n.g=new Qy),!n.g.a&&(n.g.a=new Tmn(n)),n.g.a}function Dde(n){return!n.g&&(n.g=new Qy),!n.g.b&&(n.g.b=new Emn(n)),n.g.b}function N8(n){return!n.g&&(n.g=new Qy),!n.g.c&&(n.g.c=new Mmn(n)),n.g.c}function $de(n,e,t){var i,r;for(r=new H3(e,n),i=0;it||e=0?n._g(t,!0,!0):Yd(n,e,!0)}function Qde(n,e){return Zt(K(Y(k(n,(G(),k0)))),K(Y(k(e,k0))))}function aPn(){aPn=N,aYn=Xd(Xd(Dj(new hi,(c4(),qm)),(k6(),pP)),aK)}function Jde(n,e,t){var i;return i=tDn(n,e,t),n.b=new tT(i.c.length),JY(n,i)}function Yde(n){if(n.b<=0)throw T(new ic);return--n.b,n.a-=n.c.c,Q(n.a)}function Zde(n){var e;if(!n.a)throw T(new gTn);return e=n.a,n.a=At(n.a),e}function n0e(n){for(;!n.a;)if(!nEn(n.c,new Xvn(n)))return!1;return!0}function $2(n){var e;return pe(n),I(n,198)?(e=u(n,198),e):new dvn(n)}function e0e(n){DC(),u(n.We((Xe(),rw)),174).Fc((Tu(),Ty)),n.Ye(eH,null)}function DC(){DC=N,SZn=new n2n,IZn=new e2n,PZn=Rwe((Xe(),eH),SZn,_l,IZn)}function $C(){$C=N,Ion=new sz("LEAF_NUMBER",0),TK=new sz("NODE_SIZE",1)}function t0e(n,e,t){n.a=e,n.c=t,n.b.a.$b(),_s(n.d),n.e.a.c=F(Zn,rn,1,0,5,1)}function $$(n){n.a=F(be,Le,25,n.b+1,15,1),n.c=F(be,Le,25,n.b,15,1),n.d=0}function i0e(n,e){n.a.ue(e.d,n.b)>0&&(W(n.c,new QU(e.c,e.d,n.d)),n.b=e.d)}function zX(n,e){if(n.g==null||e>=n.i)throw T(new xO(e,n.i));return n.g[e]}function dPn(n,e,t){if(W3(n,t),t!=null&&!n.wj(t))throw T(new xI);return t}function bPn(n){var e;if(n.Ek())for(e=n.i-1;e>=0;--e)D(n,e);return gX(n)}function r0e(n){var e,t;if(!n.b)return null;for(t=n.b;e=t.a[0];)t=e;return t}function c0e(n,e){var t,i;return LAn(e),t=(i=n.slice(0,e),WX(i,n)),t.length=e,t}function S3(n,e,t,i){var r;i=(Ow(),i||Lin),r=n.slice(e,t),hY(r,n,e,t,-e,i)}function Cs(n,e,t,i,r){return e<0?Yd(n,t,i):u(t,66).Nj().Pj(n,n.yh(),e,i,r)}function u0e(n){return I(n,172)?""+u(n,172).a:n==null?null:Lr(n)}function s0e(n){return I(n,172)?""+u(n,172).a:n==null?null:Lr(n)}function wPn(n,e){if(e.a)throw T(new _r(wKn));ri(n.a,e),e.a=n,!n.j&&(n.j=e)}function UX(n,e){FO.call(this,e.rd(),e.qd()&-16449),_n(n),this.a=n,this.c=e}function gPn(n,e){var t,i;return i=e/n.c.Hd().gc()|0,t=e%n.c.Hd().gc(),D2(n,i,t)}function Cu(){Cu=N,Xf=new oO(Y2,0),Ol=new oO(I4,1),Co=new oO(Z2,2)}function FC(){FC=N,vR=new Lj("All",0),qin=new lyn,Gin=new Eyn,zin=new ayn}function pPn(){pPn=N,Dzn=Fe((FC(),A(M(WA,1),z,297,0,[vR,qin,Gin,zin])))}function vPn(){vPn=N,EWn=Fe((G3(),A(M(jWn,1),z,405,0,[b0,Hb,Kb,kg])))}function mPn(){mPn=N,CUn=Fe((Hd(),A(M(EUn,1),z,406,0,[Ok,Ik,MR,AR])))}function kPn(){kPn=N,MUn=Fe((K2(),A(M(TUn,1),z,323,0,[$k,Dk,Fk,xk])))}function yPn(){yPn=N,PUn=Fe((d6(),A(M(SUn,1),z,394,0,[Lk,YA,ZA,Nk])))}function jPn(){jPn=N,WJn=Fe((c4(),A(M(won,1),z,393,0,[gP,qm,uy,Gm])))}function EPn(){EPn=N,HWn=Fe((aT(),A(M(KWn,1),z,360,0,[QR,TS,MS,Hk])))}function CPn(){CPn=N,FYn=Fe((qT(),A(M(zon,1),z,340,0,[SK,qon,Gon,Hon])))}function TPn(){TPn=N,JWn=Fe((ff(),A(M(QWn,1),z,411,0,[lp,nv,ev,JR])))}function MPn(){MPn=N,_Qn=Fe((wb(),A(M(Z_,1),z,197,0,[fP,Y_,xg,Fg])))}function APn(){APn=N,Ene=Fe((Xu(),A(M(jne,1),z,396,0,[ws,Yhn,Jhn,Zhn])))}function SPn(){SPn=N,one=Fe((cs(),A(M(sne,1),z,285,0,[Ey,kh,Kl,jy])))}function PPn(){PPn=N,ine=Fe((Hh(),A(M(cH,1),z,218,0,[rH,yy,Cv,Sp])))}function IPn(){IPn=N,kne=Fe((AT(),A(M(Qhn,1),z,311,0,[oH,Whn,Vhn,Xhn])))}function OPn(){OPn=N,vne=Fe((Vu(),A(M(o9,1),z,374,0,[Ay,id,My,uw])))}function DPn(){DPn=N,mM(),F1n=Ft,Tee=Vt,x1n=new S9(Ft),Mee=new S9(Vt)}function K8(){K8=N,Vcn=new VG(Xh,0),xS=new VG("IMPROVE_STRAIGHTNESS",1)}function o0e(n,e){return h3(),W(n,new Pi(e,Q(e.e.c.length+e.g.c.length)))}function f0e(n,e){return h3(),W(n,new Pi(e,Q(e.e.c.length+e.g.c.length)))}function WX(n,e){return U8(e)!=10&&A(Du(e),e.hm,e.__elementTypeId$,U8(e),n),n}function Qc(n,e){var t;return t=Fr(n,e,0),t==-1?!1:(h1(n,t),!0)}function $Pn(n,e){var t;return t=u(O2(n.e,e),387),t?(ZU(t),t.e):null}function P3(n){var e;return $r(n)&&(e=0-n,!isNaN(e))?e:bl(z3(n))}function Fr(n,e,t){for(;t=0?BT(n,t,!0,!0):Yd(n,e,!0)}function YX(n,e){Qv();var t,i;return t=S2(n),i=S2(e),!!t&&!!i&&!V$n(t.k,i.k)}function a0e(n,e){Zc(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function d0e(n,e){nu(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function b0e(n,e){Rd(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function w0e(n,e){Bd(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function BPn(n){(this.q?this.q:(Pn(),Pn(),ph)).Ac(n.q?n.q:(Pn(),Pn(),ph))}function g0e(n,e){return I(e,99)&&u(e,18).Bb&Yi?new LO(e,n):new H3(e,n)}function p0e(n,e){return I(e,99)&&u(e,18).Bb&Yi?new LO(e,n):new H3(e,n)}function RPn(n,e){vrn=new Wy,AUn=e,gm=n,u(gm.b,65),BX(gm,vrn,null),DRn(gm)}function B$(n,e,t){var i;return i=n.g[e],k5(n,e,n.oi(e,t)),n.gi(e,t,i),n.ci(),i}function BC(n,e){var t;return t=n.Xc(e),t>=0?(n.$c(t),!0):!1}function R$(n){var e;return n.d!=n.r&&(e=qs(n),n.e=!!e&&e.Cj()==kGn,n.d=e),n.e}function _$(n,e){var t;for(pe(n),pe(e),t=!1;e.Ob();)t=t|n.Fc(e.Pb());return t}function xd(n,e){var t;return t=u(te(n.e,e),387),t?(Oyn(n,t),t.e):null}function _Pn(n){var e,t;return e=n/60|0,t=n%60,t==0?""+e:""+e+":"+(""+t)}function qr(n,e){var t,i;return Ta(n),i=new FX(e,n.a),t=new iEn(i),new $n(n,t)}function ub(n,e){var t=n.a[e],i=(cF(),dR)[typeof t];return i?i(t):tQ(typeof t)}function v0e(n){switch(n.g){case 0:return nt;case 1:return-1;default:return 0}}function m0e(n){return mJ(n,(I3(),pin))<0?-xce(z3(n)):n.l+n.m*J2+n.h*$a}function U8(n){return n.__elementTypeCategory$==null?10:n.__elementTypeCategory$}function K$(n){var e;return e=n.b.c.length==0?null:un(n.b,0),e!=null&&J$(n,0),e}function KPn(n,e){for(;e[0]=0;)++e[0]}function W8(n,e){this.e=e,this.a=FOn(n),this.a<54?this.f=$d(n):this.c=m7(n)}function HPn(n,e,t,i){Je(),cd.call(this,26),this.c=n,this.a=e,this.d=t,this.b=i}function sh(n,e,t){var i,r;for(i=10,r=0;rn.a[i]&&(i=t);return i}function T0e(n,e){var t;return t=zd(n.e.c,e.e.c),t==0?Zt(n.e.d,e.e.d):t}function Fw(n,e){return e.e==0||n.e==0?W4:(a4(),Hx(n,e))}function M0e(n,e){if(!n)throw T(new Hn(P8e("Enum constant undefined: %s",e)))}function X5(){X5=N,MWn=new San,AWn=new Man,CWn=new $an,TWn=new Fan,SWn=new xan}function RC(){RC=N,Yin=new qG("BY_SIZE",0),jR=new qG("BY_SIZE_AND_SHAPE",1)}function _C(){_C=N,$R=new GG("EADES",0),tS=new GG("FRUCHTERMAN_REINGOLD",1)}function V8(){V8=N,$S=new XG("READING_DIRECTION",0),Ucn=new XG("ROTATION",1)}function GPn(){GPn=N,hXn=Fe((Pa(),A(M(zcn,1),z,335,0,[f_,Gcn,h_,Em,jm])))}function zPn(){zPn=N,KQn=Fe((b6(),A(M(Usn,1),z,315,0,[zsn,nK,eK,Lm,Nm])))}function UPn(){UPn=N,ZWn=Fe((Vw(),A(M(YWn,1),z,363,0,[SS,IS,OS,PS,AS])))}function WPn(){WPn=N,EXn=Fe((Ss(),A(M(jun,1),z,163,0,[Qk,Sm,xl,Pm,Ub])))}function XPn(){XPn=N,oZn=Fe((P7(),A(M(gfn,1),z,316,0,[dfn,xK,wfn,LK,bfn])))}function VPn(){VPn=N,OZn=Fe((Ho(),A(M($1,1),z,175,0,[Xn,pi,Yf,Ya,D1])))}function QPn(){QPn=N,tZn=Fe((g4(),A(M(eZn,1),z,355,0,[Ng,Ep,Qm,Vm,Jm])))}function JPn(){JPn=N,vWn=Fe((Qi(),A(M(Hrn,1),z,356,0,[Vf,$l,Hc,Cc,Ir])))}function YPn(){YPn=N,ene=Fe((sr(),A(M(e9,1),z,103,0,[mh,Ao,Zs,Jh,Yh])))}function ZPn(){ZPn=N,hne=Fe((qw(),A(M(c9,1),z,249,0,[Hl,Cy,Hhn,r9,qhn])))}function nIn(){nIn=N,dne=Fe((J(),A(M(Zi,1),hc,61,0,[Xr,Kn,Vn,ae,Gn])))}function H$(n,e){var t;return t=u(te(n.a,e),134),t||(t=new pI,it(n.a,e,t)),t}function eIn(n){var e;return e=u(k(n,(G(),p0)),305),e?e.a==n:!1}function tIn(n){var e;return e=u(k(n,(G(),p0)),305),e?e.i==n:!1}function iIn(n,e){return _n(e),mW(n),n.d.Ob()?(e.td(n.d.Pb()),!0):!1}function KC(n){return fc(n,nt)>0?nt:fc(n,Bi)<0?Bi:ge(n)}function sb(n){return n<3?(is(n,J_n),n+1):n=0&&e=-.01&&n.a<=bf&&(n.a=0),n.b>=-.01&&n.b<=bf&&(n.b=0),n}function cIn(n,e){return e==(sD(),sD(),Pzn)?n.toLocaleLowerCase():n.toLowerCase()}function nV(n){return(n.i&2?"interface ":n.i&1?"":"class ")+(Ph(n),n.o)}function Er(n){var e,t;t=(e=new RI,e),me((!n.q&&(n.q=new V(co,n,11,10)),n.q),t)}function A0e(n,e){var t;return t=e>0?e-1:e,e8n(Kie(IIn(YU(new zp,t),n.n),n.j),n.k)}function S0e(n,e,t,i){var r;n.j=-1,EY(n,iY(n,e,t),(er(),r=u(e,66).Mj(),r.Ok(i)))}function uIn(n){this.g=n,this.f=new X,this.a=j.Math.min(this.g.c.c,this.g.d.c)}function sIn(n){this.b=new X,this.a=new X,this.c=new X,this.d=new X,this.e=n}function oIn(n,e){this.a=new we,this.e=new we,this.b=(i6(),oP),this.c=n,this.b=e}function fIn(n,e,t){kE.call(this),eV(this),this.a=n,this.c=t,this.b=e.d,this.f=e.e}function hIn(n){this.d=n,this.c=n.c.vc().Kc(),this.b=null,this.a=null,this.e=(aj(),fR)}function Ld(n){if(n<0)throw T(new Hn("Illegal Capacity: "+n));this.g=this.ri(n)}function P0e(n,e){if(0>n||n>e)throw T(new bG("fromIndex: 0, toIndex: "+n+tnn+e))}function I0e(n){var e;if(n.a==n.b.a)throw T(new ic);return e=n.a,n.c=e,n.a=n.a.e,e}function HC(n){var e;z0(!!n.c),e=n.c.a,Ts(n.d,n.c),n.b==n.c?n.b=e:--n.a,n.c=null}function qC(n,e){var t;return Ta(n),t=new DTn(n,n.a.rd(),n.a.qd()|4,e),new $n(n,t)}function O0e(n,e){var t,i;return t=u(ab(n.d,e),14),t?(i=e,n.e.pc(i,t)):null}function GC(n,e){var t,i;for(i=n.Kc();i.Ob();)t=u(i.Pb(),70),H(t,(G(),pp),e)}function D0e(n){var e;return e=K(Y(k(n,(nn(),S1)))),e<0&&(e=0,H(n,S1,e)),e}function $0e(n,e,t){var i;i=j.Math.max(0,n.b/2-.5),g6(t,i,1),W(e,new L7n(t,i))}function F0e(n,e,t){var i;return i=n.a.e[u(e.a,10).p]-n.a.e[u(t.a,10).p],Gt(m8(i))}function lIn(n,e,t,i,r,c){var o;o=C$(i),Hi(o,r),Ei(o,c),Tn(n.a,i,new EE(o,e,t.f))}function aIn(n,e){var t;if(t=R7(n.Tg(),e),!t)throw T(new Hn(Pl+e+MB));return t}function ob(n,e){var t;for(t=n;At(t);)if(t=At(t),t==e)return!0;return!1}function x0e(n,e){var t,i,r;for(i=e.a.cd(),t=u(e.a.dd(),14).gc(),r=0;r0&&(n.a/=e,n.b/=e),n}function ts(n){var e;return n.w?n.w:(e=Gle(n),e&&!e.kh()&&(n.w=e),e)}function q0e(n){var e;return n==null?null:(e=u(n,190),Gve(e,e.length))}function D(n,e){if(n.g==null||e>=n.i)throw T(new xO(e,n.i));return n.li(e,n.g[e])}function G0e(n){var e,t;for(e=n.a.d.j,t=n.c.d.j;e!=t;)ko(n.b,e),e=yT(e);ko(n.b,e)}function z0e(n){var e;for(e=0;e=14&&e<=16))),n}function gIn(n,e,t){var i=function(){return n.apply(i,arguments)};return e.apply(i,t),i}function pIn(n,e,t){var i,r;i=e;do r=K(n.p[i.p])+t,n.p[i.p]=r,i=n.a[i.p];while(i!=e)}function O3(n,e){var t,i;i=n.a,t=Tge(n,e,null),i!=e&&!n.e&&(t=j4(n,e,t)),t&&t.Fi()}function tV(n,e){return Yo(),mo(Cl),j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)}function iV(n,e){return Yo(),mo(Cl),j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)}function X0e(n,e){return yl(),Uc(n.b.c.length-n.e.c.length,e.b.c.length-e.e.c.length)}function xw(n,e){return Uie(J5(n,e,ge(Ni(ah,rh(ge(Ni(e==null?0:mt(e),dh)),15)))))}function vIn(){vIn=N,$Wn=Fe((Qn(),A(M(zR,1),z,267,0,[ti,gi,Xt,Tc,Qu,vf])))}function mIn(){mIn=N,_Zn=Fe((vb(),A(M(UK,1),z,291,0,[zK,gy,wy,GK,dy,by])))}function kIn(){kIn=N,FZn=Fe((oh(),A(M(Rfn,1),z,248,0,[HK,ly,ay,xP,$P,FP])))}function yIn(){yIn=N,uXn=Fe((q2(),A(M(rv,1),z,227,0,[iv,ym,tv,qb,Cg,Eg])))}function jIn(){jIn=N,pXn=Fe((h4(),A(M(sun,1),z,275,0,[Cm,iun,uun,cun,run,tun])))}function EIn(){EIn=N,gXn=Fe((A7(),A(M(eun,1),z,274,0,[LS,Ycn,nun,Jcn,Zcn,p_])))}function CIn(){CIn=N,BQn=Fe((JT(),A(M(Hsn,1),z,313,0,[Q_,_sn,V_,Rsn,Ksn,sP])))}function TIn(){TIn=N,bXn=Fe((eM(),A(M(Xcn,1),z,276,0,[d_,a_,w_,b_,g_,FS])))}function MIn(){MIn=N,VJn=Fe((k6(),A(M(XJn,1),z,327,0,[pP,aK,bK,dK,wK,lK])))}function AIn(){AIn=N,ane=Fe((Tu(),A(M(qP,1),z,273,0,[Gl,n1,Ty,s9,u9,Pp])))}function SIn(){SIn=N,rne=Fe((ZT(),A(M(xhn,1),z,312,0,[uH,Dhn,Fhn,Ihn,$hn,Ohn])))}function V0e(){return jb(),A(M(lr,1),z,93,0,[So,Zh,Po,Oo,yh,eo,as,Io,no])}function UC(n,e){var t;t=n.a,n.a=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,0,t,n.a))}function WC(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,1,t,n.b))}function D3(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,3,t,n.b))}function Bd(n,e){var t;t=n.f,n.f=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,3,t,n.f))}function Rd(n,e){var t;t=n.g,n.g=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,4,t,n.g))}function Zc(n,e){var t;t=n.i,n.i=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,5,t,n.i))}function nu(n,e){var t;t=n.j,n.j=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,6,t,n.j))}function $3(n,e){var t;t=n.j,n.j=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,1,t,n.j))}function F3(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,4,t,n.c))}function x3(n,e){var t;t=n.k,n.k=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,2,t,n.k))}function G$(n,e){var t;t=n.d,n.d=e,n.Db&4&&!(n.Db&1)&&et(n,new p$(n,2,t,n.d))}function d1(n,e){var t;t=n.s,n.s=e,n.Db&4&&!(n.Db&1)&&et(n,new p$(n,4,t,n.s))}function hb(n,e){var t;t=n.t,n.t=e,n.Db&4&&!(n.Db&1)&&et(n,new p$(n,5,t,n.t))}function L3(n,e){var t;t=n.F,n.F=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,5,t,e))}function Q8(n,e){var t;return t=u(te(($j(),eI),n),55),t?t.xj(e):F(Zn,rn,1,e,5,1)}function Bh(n,e){var t,i;return t=e in n.a,t&&(i=Dh(n,e).he(),i)?i.a:null}function Q0e(n,e){var t,i,r;return t=(i=(ad(),r=new QH,r),e&&zY(i,e),i),aV(t,n),t}function PIn(n,e,t){if(W3(n,t),!n.Bk()&&t!=null&&!n.wj(t))throw T(new xI);return t}function IIn(n,e){return n.n=e,n.n?(n.f=new X,n.e=new X):(n.f=null,n.e=null),n}function Ae(n,e,t,i,r,c){var o;return o=LD(n,e),DIn(t,o),o.i=r?8:0,o.f=i,o.e=r,o.g=c,o}function rV(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=1,this.c=n,this.a=t}function cV(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=2,this.c=n,this.a=t}function uV(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=6,this.c=n,this.a=t}function sV(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=7,this.c=n,this.a=t}function oV(n,e,t,i,r){this.d=e,this.j=i,this.e=r,this.o=-1,this.p=4,this.c=n,this.a=t}function OIn(n,e){var t,i,r,c;for(i=e,r=0,c=i.length;r=0),Q2e(n.d,n.c)<0&&(n.a=n.a-1&n.d.a.length-1,n.b=n.d.c),n.c=-1}function fV(n){return n.a<54?n.f<0?-1:n.f>0?1:0:(!n.c&&(n.c=h7(n.f)),n.c).e}function mo(n){if(!(n>=0))throw T(new Hn("tolerance ("+n+") must be >= 0"));return n}function N3(){return _K||(_K=new kBn,_w(_K,A(M(mg,1),rn,130,0,[new nq]))),_K}function ur(){ur=N,Bm=new kO(K6,0),Au=new kO("INPUT",1),xc=new kO("OUTPUT",2)}function VC(){VC=N,Hcn=new bO("ARD",0),DS=new bO("MSD",1),o_=new bO("MANUAL",2)}function _d(){_d=N,ry=new TO("BARYCENTER",0),_m=new TO(rHn,1),aP=new TO(cHn,2)}function J8(n,e){var t;if(t=n.gc(),e<0||e>t)throw T(new V0(e,t));return new AU(n,e)}function xIn(n,e){var t;return I(e,42)?n.c.Mc(e):(t=NF(n,e),IT(n,e),t)}function wr(n,e,t){return Ca(n,e),Ic(n,t),d1(n,0),hb(n,1),p1(n,!0),g1(n,!0),n}function is(n,e){if(n<0)throw T(new Hn(e+" cannot be negative but was: "+n));return n}function LIn(n,e){var t,i;for(t=0,i=n.gc();t0?u(un(t.a,i-1),10):null}function Q5(n,e){var t;t=n.k,n.k=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,2,t,n.k))}function JC(n,e){var t;t=n.f,n.f=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,8,t,n.f))}function YC(n,e){var t;t=n.i,n.i=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,7,t,n.i))}function aV(n,e){var t;t=n.a,n.a=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,8,t,n.a))}function dV(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,0,t,n.b))}function bV(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,0,t,n.b))}function wV(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,1,t,n.c))}function gV(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,1,t,n.c))}function U$(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,4,t,n.c))}function pV(n,e){var t;t=n.d,n.d=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,1,t,n.d))}function W$(n,e){var t;t=n.D,n.D=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,2,t,n.D))}function X$(n,e){n.r>0&&n.c0&&n.g!=0&&X$(n.i,e/n.r*n.i.d))}function cbe(n,e,t){var i;n.b=e,n.a=t,i=(n.a&512)==512?new T9n:new ZH,n.c=y7e(i,n.b,n.a)}function zIn(n,e){return zh(n.e,e)?(er(),R$(e)?new IE(e,n):new i8(e,n)):new Nkn(e,n)}function ZC(n,e){return zie(Y5(n.a,e,ge(Ni(ah,rh(ge(Ni(e==null?0:mt(e),dh)),15)))))}function ube(n,e,t){return cb(n,new Hvn(e),new mln,new qvn(t),A(M(Nu,1),z,132,0,[]))}function sbe(n){var e,t;return 0>n?new PG:(e=n+1,t=new wSn(e,n),new oU(null,t))}function obe(n,e){Pn();var t;return t=new s2(1),mi(n)?kr(t,n,e):_c(t.f,n,e),new DI(t)}function fbe(n,e){var t,i;return t=n.o+n.p,i=e.o+e.p,te?(e<<=1,e>0?e:L6):e}function V$(n){switch(Rz(n.e!=3),n.e){case 2:return!1;case 0:return!0}return wde(n)}function WIn(n,e){var t;return I(e,8)?(t=u(e,8),n.a==t.a&&n.b==t.b):!1}function Q$(n,e,t){var i,r,c;return c=e>>5,r=e&31,i=ci(J0(n.n[t][c],ge(Ih(r,1))),3),i}function lbe(n,e){var t,i;for(i=e.vc().Kc();i.Ob();)t=u(i.Pb(),42),XT(n,t.cd(),t.dd())}function abe(n,e){var t;t=new Wy,u(e.b,65),u(e.b,65),u(e.b,65),Yc(e.a,new BU(n,t,e))}function vV(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,21,t,n.b))}function mV(n,e){var t;t=n.d,n.d=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,11,t,n.d))}function nT(n,e){var t;t=n.j,n.j=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,13,t,n.j))}function XIn(n,e,t){var i,r,c;for(c=n.a.length-1,r=n.b,i=0;i>>31;i!=0&&(n[t]=i)}function jbe(n,e){Pn();var t,i;for(i=new X,t=0;t0&&(this.g=this.ri(this.i+(this.i/8|0)+1),n.Qc(this.g))}function $t(n,e){ME.call(this,ree,n,e),this.b=this,this.a=Kc(n.Tg(),On(this.e.Tg(),this.c))}function Z5(n,e){var t,i;for(_n(e),i=e.vc().Kc();i.Ob();)t=u(i.Pb(),42),n.zc(t.cd(),t.dd())}function Dbe(n,e,t){var i;for(i=t.Kc();i.Ob();)if(!yC(n,e,i.Pb()))return!1;return!0}function $be(n,e,t,i,r){var c;return t&&(c=yt(e.Tg(),n.c),r=t.gh(e,-1-(c==-1?i:c),null,r)),r}function Fbe(n,e,t,i,r){var c;return t&&(c=yt(e.Tg(),n.c),r=t.ih(e,-1-(c==-1?i:c),null,r)),r}function dOn(n){var e;if(n.b==-2){if(n.e==0)e=-1;else for(e=0;n.a[e]==0;e++);n.b=e}return n.b}function bOn(n){switch(n.g){case 2:return J(),Gn;case 4:return J(),Vn;default:return n}}function wOn(n){switch(n.g){case 1:return J(),ae;case 3:return J(),Kn;default:return n}}function xbe(n){var e,t,i;return n.j==(J(),Kn)&&(e=GLn(n),t=au(e,Vn),i=au(e,Gn),i||i&&t)}function Lbe(n){var e,t;return e=u(n.e&&n.e(),9),t=u(IW(e,e.length),9),new ks(e,t,e.length)}function Nbe(n,e){le(e,iHn,1),TQ(ire(new tj((Vv(),new GD(n,!1,!1,new BH))))),ce(e)}function Y8(n,e){return qn(),mi(n)?DX(n,Te(e)):G0(n)?TD(n,Y(e)):q0(n)?Kfe(n,sn(e)):n.wd(e)}function TV(n,e){e.q=n,n.d=j.Math.max(n.d,e.r),n.b+=e.d+(n.a.c.length==0?0:n.c),W(n.a,e)}function R3(n,e){var t,i,r,c;return r=n.c,t=n.c+n.b,c=n.d,i=n.d+n.a,e.a>r&&e.ac&&e.b1||n.Ob())return++n.a,n.g=0,e=n.i,n.Ob(),e;throw T(new ic)}function Vbe(n){gyn();var e;return M7n(hK,n)||(e=new Zwn,e.a=n,wU(hK,n,e)),u(br(hK,n),635)}function Ks(n){var e,t,i,r;return r=n,i=0,r<0&&(r+=$a,i=Wh),t=Gt(r/J2),e=Gt(r-t*J2),Bc(e,t,i)}function Z8(n){var e,t,i;for(i=0,t=new o2(n.a);t.a>22),r=n.h+e.h+(i>>22),Bc(t&Lu,i&Lu,r&Wh)}function xOn(n,e){var t,i,r;return t=n.l-e.l,i=n.m-e.m+(t>>22),r=n.h-e.h+(i>>22),Bc(t&Lu,i&Lu,r&Wh)}function i7(n){var e;return n<128?(e=(QEn(),yin)[n],!e&&(e=yin[n]=new wq(n)),e):new wq(n)}function jt(n){var e;return I(n,78)?n:(e=n&&n.__java$exception,e||(e=new CDn(n),Kmn(e)),e)}function r7(n){if(I(n,186))return u(n,118);if(n)return null;throw T(new c2(Iqn))}function LOn(n,e){if(e==null)return!1;for(;n.a!=n.b;)if(tt(e,vT(n)))return!0;return!1}function OV(n){return n.a.Ob()?!0:n.a!=n.d?!1:(n.a=new lX(n.e.f),n.a.Ob())}function Yt(n,e){var t,i;return t=e.Pc(),i=t.length,i==0?!1:(GU(n.c,n.c.length,t),!0)}function hwe(n,e,t){var i,r;for(r=e.vc().Kc();r.Ob();)i=u(r.Pb(),42),n.yc(i.cd(),i.dd(),t);return n}function NOn(n,e){var t,i;for(i=new E(n.b);i.a=0,"Negative initial capacity"),TE(e>=0,"Non-positive load factor"),Eu(this)}function uF(n,e,t){return n>=128?!1:n<64?b5(ci(Ih(1,n),t),0):b5(ci(Ih(1,n-64),e),0)}function mwe(n,e){return!n||!e||n==e?!1:zd(n.b.c,e.b.c+e.b.b)<0&&zd(e.b.c,n.b.c+n.b.b)<0}function VOn(n){var e,t,i;return t=n.n,i=n.o,e=n.d,new ys(t.a-e.b,t.b-e.d,i.a+(e.b+e.c),i.b+(e.d+e.a))}function kwe(n){var e,t,i,r;for(t=n.a,i=0,r=t.length;ii)throw T(new V0(e,i));return n.hi()&&(t=aMn(n,t)),n.Vh(e,t)}function s7(n,e,t){return t==null?(!n.q&&(n.q=new we),O2(n.q,e)):(!n.q&&(n.q=new we),it(n.q,e,t)),n}function H(n,e,t){return t==null?(!n.q&&(n.q=new we),O2(n.q,e)):(!n.q&&(n.q=new we),it(n.q,e,t)),n}function QOn(n){var e,t;return t=new TC,Sr(t,n),H(t,(dl(),hp),n),e=new we,Cye(n,t,e),QEe(n,t,e),t}function Ewe(n){eg();var e,t,i;for(t=F(ai,q,8,2,0,1),i=0,e=0;e<2;e++)i+=.5,t[e]=r3e(i,n);return t}function JOn(n,e){var t,i,r,c;for(t=!1,i=n.a[e].length,c=0;c>=1);return e}function ZOn(n){var e,t;return t=x7(n.h),t==32?(e=x7(n.m),e==32?x7(n.l)+32:e+20-10):t-12}function t6(n){var e;return e=n.a[n.b],e==null?null:(Mt(n.a,n.b,null),n.b=n.b+1&n.a.length-1,e)}function nDn(n){var e,t;return e=n.t-n.k[n.o.p]*n.d+n.j[n.o.p]>n.f,t=n.u+n.e[n.o.p]*n.d>n.f*n.s*n.d,e||t}function bT(n,e,t){var i,r;return i=new I$(e,t),r=new dI,n.b=zNn(n,n.b,i,r),r.b||++n.c,n.b.b=!1,r.d}function eDn(n,e,t){var i,r,c,o;for(o=c6(e,t),c=0,r=o.Kc();r.Ob();)i=u(r.Pb(),11),it(n.c,i,Q(c++))}function wl(n){var e,t;for(t=new E(n.a.b);t.at&&(t=n[e]);return t}function tDn(n,e,t){var i;return i=new X,XY(n,e,i,(J(),Vn),!0,!1),XY(n,t,i,Gn,!1,!1),i}function oF(n,e,t){var i,r,c,o;return c=null,o=e,r=Fd(o,"labels"),i=new jkn(n,t),c=(Hme(i.a,i.b,r),r),c}function Twe(n,e,t,i){var r;return r=xY(n,e,t,i),!r&&(r=Mge(n,t,i),r&&!rg(n,e,r))?null:r}function Mwe(n,e,t,i){var r;return r=LY(n,e,t,i),!r&&(r=TF(n,t,i),r&&!rg(n,e,r))?null:r}function iDn(n,e){var t;for(t=0;t1||e>=0&&n.b<3)}function o7(n){var e,t,i;for(e=new hu,i=_e(n,0);i.b!=i.d.c;)t=u(Re(i),8),s3(e,0,new mr(t));return e}function ja(n){var e,t;for(t=new E(n.a.b);t.ai?1:0}function QV(n,e){return ANn(n,e)?(Tn(n.b,u(k(e,(G(),Gb)),21),e),Ke(n.a,e),!0):!1}function Bwe(n){var e,t;e=u(k(n,(G(),Mu)),10),e&&(t=e.c,Qc(t.a,e),t.a.c.length==0&&Qc(Gi(e).b,t))}function fDn(n){return pf?F($zn,lKn,572,0,0,1):u(lf(n.a,F($zn,lKn,572,n.a.c.length,0,1)),842)}function Rwe(n,e,t,i){return QE(),new GI(A(M(Ha,1),OM,42,0,[(ex(n,e),new bd(n,e)),(ex(t,i),new bd(t,i))]))}function Rw(n,e,t){var i,r;return r=(i=new RI,i),wr(r,e,t),me((!n.q&&(n.q=new V(co,n,11,10)),n.q),r),r}function aF(n){var e,t,i,r;for(r=lre($ne,n),t=r.length,i=F(tn,q,2,t,6,1),e=0;e=n.b.c.length||(JV(n,2*e+1),t=2*e+2,t=0&&n[i]===e[i];i--);return i<0?0:cO(ci(n[i],fr),ci(e[i],fr))?-1:1}function _we(n,e){var t,i;for(i=_e(n,0);i.b!=i.d.c;)t=u(Re(i),214),t.e.length>0&&(e.td(t),t.i&&Fge(t))}function bF(n,e){var t,i;return i=u(Rn(n.a,4),126),t=F(bH,qB,415,e,0,1),i!=null&&gc(i,0,t,0,i.length),t}function lDn(n,e){var t;return t=new zx((n.f&256)!=0,n.i,n.a,n.d,(n.f&16)!=0,n.j,n.g,e),n.e!=null||(t.c=n),t}function Kwe(n,e){var t,i;for(i=n.Zb().Cc().Kc();i.Ob();)if(t=u(i.Pb(),14),t.Hc(e))return!0;return!1}function wF(n,e,t,i,r){var c,o;for(o=t;o<=r;o++)for(c=e;c<=i;c++)if(zw(n,c,o))return!0;return!1}function aDn(n,e,t){var i,r,c,o;for(_n(t),o=!1,c=n.Zc(e),r=t.Kc();r.Ob();)i=r.Pb(),c.Rb(i),o=!0;return o}function Hwe(n,e){var t;return n===e?!0:I(e,83)?(t=u(e,83),ZJ(Ed(n),t.vc())):!1}function dDn(n,e,t){var i,r;for(r=t.Kc();r.Ob();)if(i=u(r.Pb(),42),n.re(e,i.dd()))return!0;return!1}function bDn(n,e,t){return n.d[e.p][t.p]||(Bpe(n,e,t),n.d[e.p][t.p]=!0,n.d[t.p][e.p]=!0),n.a[e.p][t.p]}function W3(n,e){if(!n.ai()&&e==null)throw T(new Hn("The 'no null' constraint is violated"));return e}function X3(n,e){n.D==null&&n.B!=null&&(n.D=n.B,n.B=null),W$(n,e==null?null:(_n(e),e)),n.C&&n.yk(null)}function qwe(n,e){var t;return!n||n==e||!li(e,(G(),m0))?!1:(t=u(k(e,(G(),m0)),10),t!=n)}function gF(n){switch(n.i){case 2:return!0;case 1:return!1;case-1:++n.c;default:return n.pl()}}function wDn(n){switch(n.i){case-2:return!0;case-1:return!1;case 1:--n.c;default:return n.ql()}}function gDn(n){cMn.call(this,"The given string does not match the expected format for individual spacings.",n)}function Xu(){Xu=N,ws=new Jj("ELK",0),Yhn=new Jj("JSON",1),Jhn=new Jj("DOT",2),Zhn=new Jj("SVG",3)}function f7(){f7=N,CP=new AO(Xh,0),Don=new AO("RADIAL_COMPACTION",1),$on=new AO("WEDGE_COMPACTION",2)}function hf(){hf=N,Win=new uO("CONCURRENT",0),hs=new uO("IDENTITY_FINISH",1),Rb=new uO("UNORDERED",2)}function pF(){pF=N,jrn=(Aj(),SR),yrn=new In(pnn,jrn),OUn=new kt(vnn),DUn=new kt(mnn),$Un=new kt(knn)}function V3(){V3=N,xcn=new j0n,Lcn=new E0n,zWn=new C0n,GWn=new T0n,qWn=new M0n,Fcn=(_n(qWn),new uln)}function Q3(){Q3=N,sK=new jO("CONSERVATIVE",0),con=new jO("CONSERVATIVE_SOFT",1),Rm=new jO("SLOPPY",2)}function wT(){wT=N,_hn=new vd(15),cne=new tr((Xe(),nd),_hn),t9=Mp,Lhn=HZn,Nhn=Za,Rhn=Kg,Bhn=BP}function vF(n,e,t){var i,r,c;for(i=new Ct,c=_e(t,0);c.b!=c.d.c;)r=u(Re(c),8),Ke(i,new mr(r));aDn(n,e,i)}function Gwe(n){var e,t,i;for(e=0,i=F(ai,q,8,n.b,0,1),t=_e(n,0);t.b!=t.d.c;)i[e++]=u(Re(t),8);return i}function ZV(n){var e;return e=(!n.a&&(n.a=new V(e1,n,9,5)),n.a),e.i!=0?ore(u(D(e,0),678)):null}function zwe(n,e){var t;return t=qi(n,e),cO(h$(n,e),0)|Cre(h$(n,t),0)?t:qi(IM,h$(J0(t,63),1))}function Uwe(n,e){var t;t=cn((xF(),uP))!=null&&e.wg()!=null?K(Y(e.wg()))/K(Y(cn(uP))):1,it(n.b,e,t)}function Wwe(n,e){var t,i;return t=u(n.d.Bc(e),14),t?(i=n.e.hc(),i.Gc(t),n.e.d-=t.gc(),t.$b(),i):null}function nQ(n,e){var t,i;if(i=n.c[e],i!=0)for(n.c[e]=0,n.d-=i,t=e+1;t0)return a3(e-1,n.a.c.length),h1(n.a,e-1);throw T(new qmn)}function Xwe(n,e,t){if(e<0)throw T(new vr(_Hn+e));ee)throw T(new Hn(xM+n+aKn+e));if(n<0||e>t)throw T(new bG(xM+n+rnn+e+tnn+t))}function mDn(n){if(!n.a||!(n.a.i&8))throw T(new Dr("Enumeration class expected for layout option "+n.f))}function lb(n){var e;++n.j,n.i==0?n.g=null:n.ihA?n-t>hA:t-n>hA}function kF(n,e){return!n||e&&!n.j||I(n,124)&&u(n,124).a.b==0?0:n.Re()}function pT(n,e){return!n||e&&!n.k||I(n,124)&&u(n,124).a.a==0?0:n.Se()}function h7(n){return jl(),n<0?n!=-1?new VQ(-1,-n):gR:n<=10?xin[Gt(n)]:new VQ(1,n)}function tQ(n){throw cF(),T(new L9n("Unexpected typeof result '"+n+"'; please report this bug to the GWT team"))}function CDn(n){H9n(),oE(this),eC(this),this.e=n,NNn(this,n),this.g=n==null?iu:Lr(n),this.a="",this.b=n,this.a=""}function iQ(){this.a=new qgn,this.f=new O6n(this),this.b=new D6n(this),this.i=new $6n(this),this.e=new F6n(this)}function TDn(){iie.call(this,new _X(sb(16))),is(2,W_n),this.b=2,this.a=new RW(null,null,0,null),$9(this.a,this.a)}function i6(){i6=N,J_=new vO("DUMMY_NODE_OVER",0),qsn=new vO("DUMMY_NODE_UNDER",1),oP=new vO("EQUAL",2)}function yF(){yF=N,_R=sMn(A(M(e9,1),z,103,0,[(sr(),Zs),Ao])),KR=sMn(A(M(e9,1),z,103,0,[Yh,Jh]))}function jF(n){return(J(),cu).Hc(n.j)?K(Y(k(n,(G(),hv)))):Gr(A(M(ai,1),q,8,0,[n.i.n,n.n,n.a])).b}function Zwe(n){var e,t,i,r;for(i=n.b.a,t=i.a.ec().Kc();t.Ob();)e=u(t.Pb(),561),r=new pNn(e,n.e,n.f),W(n.g,r)}function Ca(n,e){var t,i,r;i=n.nk(e,null),r=null,e&&(r=(Qp(),t=new ud,t),O3(r,n.r)),i=af(n,r,i),i&&i.Fi()}function nge(n,e){var t,i;for(i=Fu(n.d,1)!=0,t=!0;t;)t=!1,t=e.c.Tf(e.e,i),t=t|_7(n,e,i,!1),i=!i;yV(n)}function rQ(n,e){var t,i,r;return i=!1,t=e.q.d,e.dr&&(JFn(e.q,r),i=t!=e.q.d)),i}function MDn(n,e){var t,i,r,c,o,f,h,l;return h=e.i,l=e.j,i=n.f,r=i.i,c=i.j,o=h-r,f=l-c,t=j.Math.sqrt(o*o+f*f),t}function cQ(n,e){var t,i;return i=OT(n),i||(t=(bL(),Yxn(e)),i=new Fmn(t),me(i.Vk(),n)),i}function l7(n,e){var t,i;return t=u(n.c.Bc(e),14),t?(i=n.hc(),i.Gc(t),n.d-=t.gc(),t.$b(),n.mc(i)):n.jc()}function ADn(n,e){var t;for(t=0;t=n.c.b:n.a<=n.c.b))throw T(new ic);return e=n.a,n.a+=n.c.c,++n.b,Q(e)}function ige(n){var e;return e=new uIn(n),O8(n.a,SWn,new Ku(A(M(Rk,1),rn,369,0,[e]))),e.d&&W(e.f,e.d),e.f}function EF(n){var e;return e=new Mz(n.a),Sr(e,n),H(e,(G(),rt),n),e.o.a=n.g,e.o.b=n.f,e.n.a=n.i,e.n.b=n.j,e}function rge(n,e,t,i){var r,c;for(c=n.Kc();c.Ob();)r=u(c.Pb(),70),r.n.a=e.a+(i.a-r.o.a)/2,r.n.b=e.b,e.b+=r.o.b+t}function cge(n,e,t){var i,r;for(r=e.a.a.ec().Kc();r.Ob();)if(i=u(r.Pb(),57),_Tn(n,i,t))return!0;return!1}function uge(n){var e,t;for(t=new E(n.r);t.a=0?e:-e;i>0;)i%2==0?(t*=t,i=i/2|0):(r*=t,i-=1);return e<0?1/r:r}function hge(n,e){var t,i,r;for(r=1,t=n,i=e>=0?e:-e;i>0;)i%2==0?(t*=t,i=i/2|0):(r*=t,i-=1);return e<0?1/r:r}function FDn(n){var e,t;if(n!=null)for(t=0;t0&&(t=u(un(n.a,n.a.c.length-1),570),QV(t,e))||W(n.a,new dSn(e))}function wge(n){wo();var e,t;e=n.d.c-n.e.c,t=u(n.g,145),Yc(t.b,new _5n(e)),Yc(t.c,new K5n(e)),$i(t.i,new H5n(e))}function BDn(n){var e;return e=new V1,e.a+="VerticalSegment ",rc(e,n.e),e.a+=" ",De(e,Lz(new YI,new E(n.k))),e.a}function gge(n){var e;return e=u(xd(n.c.c,""),229),e||(e=new M2(Vp(Xp(new Zg,""),"Other")),Aa(n.c.c,"",e)),e}function r6(n){var e;return n.Db&64?yo(n):(e=new Bs(yo(n)),e.a+=" (name: ",dr(e,n.zb),e.a+=")",e.a)}function hQ(n,e,t){var i,r;return r=n.sb,n.sb=e,n.Db&4&&!(n.Db&1)&&(i=new wi(n,1,4,r,e),t?t.Ei(i):t=i),t}function CF(n,e){var t,i,r;for(t=0,r=zr(n,e).Kc();r.Ob();)i=u(r.Pb(),11),t+=k(i,(G(),Mu))!=null?1:0;return t}function Kw(n,e,t){var i,r,c;for(i=0,c=_e(n,0);c.b!=c.d.c&&(r=K(Y(Re(c))),!(r>t));)r>=e&&++i;return i}function pge(n,e,t){var i,r;return i=new Lh(n.e,3,13,null,(r=e.c,r||(Sn(),Cf)),v1(n,e),!1),t?t.Ei(i):t=i,t}function vge(n,e,t){var i,r;return i=new Lh(n.e,4,13,(r=e.c,r||(Sn(),Cf)),null,v1(n,e),!1),t?t.Ei(i):t=i,t}function lQ(n,e,t){var i,r;return r=n.r,n.r=e,n.Db&4&&!(n.Db&1)&&(i=new wi(n,1,8,r,n.r),t?t.Ei(i):t=i),t}function w1(n,e){var t,i;return t=u(e,676),i=t.vk(),!i&&t.wk(i=I(e,88)?new Fkn(n,u(e,26)):new eAn(n,u(e,148))),i}function a7(n,e,t){var i;n.qi(n.i+1),i=n.oi(e,t),e!=n.i&&gc(n.g,e,n.g,e+1,n.i-e),Mt(n.g,e,i),++n.i,n.bi(e,t),n.ci()}function mge(n,e){var t;return e.a&&(t=e.a.a.length,n.a?De(n.a,n.b):n.a=new Ju(n.d),iAn(n.a,e.a,e.d.length,t)),n}function kge(n,e){var t,i,r,c;if(e.vi(n.a),c=u(Rn(n.a,8),1936),c!=null)for(t=c,i=0,r=t.length;it)throw T(new vr(xM+n+rnn+e+", size: "+t));if(n>e)throw T(new Hn(xM+n+aKn+e))}function As(n,e,t){if(e<0)bY(n,t);else{if(!t.Ij())throw T(new Hn(Pl+t.ne()+em));u(t,66).Nj().Vj(n,n.yh(),e)}}function Ege(n,e,t,i,r,c,o,f){var h;for(h=t;c=i||e=65&&n<=70?n-65+10:n>=97&&n<=102?n-97+10:n>=48&&n<=57?n-48:0}function zDn(n){var e;return n.Db&64?yo(n):(e=new Bs(yo(n)),e.a+=" (source: ",dr(e,n.d),e.a+=")",e.a)}function Tge(n,e,t){var i,r;return r=n.a,n.a=e,n.Db&4&&!(n.Db&1)&&(i=new wi(n,1,5,r,n.a),t?FJ(t,i):t=i),t}function g1(n,e){var t;t=(n.Bb&256)!=0,e?n.Bb|=256:n.Bb&=-257,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,2,t,e))}function dQ(n,e){var t;t=(n.Bb&256)!=0,e?n.Bb|=256:n.Bb&=-257,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,8,t,e))}function kT(n,e){var t;t=(n.Bb&256)!=0,e?n.Bb|=256:n.Bb&=-257,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,8,t,e))}function p1(n,e){var t;t=(n.Bb&512)!=0,e?n.Bb|=512:n.Bb&=-513,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,3,t,e))}function bQ(n,e){var t;t=(n.Bb&512)!=0,e?n.Bb|=512:n.Bb&=-513,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,9,t,e))}function u6(n,e){var t;return n.b==-1&&n.a&&(t=n.a.Gj(),n.b=t?n.c.Xg(n.a.aj(),t):yt(n.c.Tg(),n.a)),n.c.Og(n.b,e)}function Q(n){var e,t;return n>-129&&n<128?(e=n+128,t=(qEn(),jin)[e],!t&&(t=jin[e]=new gq(n)),t):new gq(n)}function J3(n){var e,t;return n>-129&&n<128?(e=n+128,t=(VEn(),Min)[e],!t&&(t=Min[e]=new vq(n)),t):new vq(n)}function wQ(n){var e,t;return e=n.k,e==(Qn(),Xt)?(t=u(k(n,(G(),ec)),61),t==(J(),Kn)||t==ae):!1}function Mge(n,e,t){var i,r,c;return c=(r=b4(n.b,e),r),c&&(i=u(jM(G8(n,c),""),26),i)?xY(n,i,e,t):null}function TF(n,e,t){var i,r,c;return c=(r=b4(n.b,e),r),c&&(i=u(jM(G8(n,c),""),26),i)?LY(n,i,e,t):null}function UDn(n,e){var t,i;for(i=new ie(n);i.e!=i.i.gc();)if(t=u(oe(i),138),B(e)===B(t))return!0;return!1}function s6(n,e,t){var i;if(i=n.gc(),e>i)throw T(new V0(e,i));if(n.hi()&&n.Hc(t))throw T(new Hn(yk));n.Xh(e,t)}function Age(n,e){var t;if(t=xw(n.i,e),t==null)throw T(new Af("Node did not exist in input."));return MV(e,t),null}function Sge(n,e){var t;if(t=R7(n,e),I(t,322))return u(t,34);throw T(new Hn(Pl+e+"' is not a valid attribute"))}function Pge(n,e,t){var i,r;for(r=I(e,99)&&u(e,18).Bb&Yi?new LO(e,n):new H3(e,n),i=0;ie?1:n==e?n==0?Zt(1/n,1/e):0:isNaN(n)?isNaN(e)?0:1:-1}function Bge(n,e){le(e,"Sort end labels",1),Rt(gt(qr(new $n(null,new xn(n.b,16)),new bdn),new wdn),new gdn),ce(e)}function o6(n,e,t){var i,r;return n.ej()?(r=n.fj(),i=Dx(n,e,t),n.$i(n.Zi(7,Q(t),i,e,r)),i):Dx(n,e,t)}function MF(n,e){var t,i,r;n.d==null?(++n.e,--n.f):(r=e.cd(),t=e.Sh(),i=(t&nt)%n.d.length,yde(n,i,hNn(n,i,t,r)))}function Y3(n,e){var t;t=(n.Bb&Eo)!=0,e?n.Bb|=Eo:n.Bb&=-1025,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,10,t,e))}function Z3(n,e){var t;t=(n.Bb&Ib)!=0,e?n.Bb|=Ib:n.Bb&=-4097,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,12,t,e))}function n4(n,e){var t;t=(n.Bb&mu)!=0,e?n.Bb|=mu:n.Bb&=-8193,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,15,t,e))}function e4(n,e){var t;t=(n.Bb&Bb)!=0,e?n.Bb|=Bb:n.Bb&=-2049,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,11,t,e))}function Rge(n,e){var t;return t=Zt(n.b.c,e.b.c),t!=0||(t=Zt(n.a.a,e.a.a),t!=0)?t:Zt(n.a.b,e.a.b)}function _ge(n,e){var t;if(t=te(n.k,e),t==null)throw T(new Af("Port did not exist in input."));return MV(e,t),null}function Kge(n){var e,t;for(t=wNn(ts(n)).Kc();t.Ob();)if(e=Te(t.Pb()),A6(n,e))return Vae((C7n(),zne),e);return null}function Hge(n,e){var t,i,r,c,o;for(o=Kc(n.e.Tg(),e),c=0,t=u(n.g,119),r=0;r>10)+rk&Ut,e[1]=(n&1023)+56320&Ut,Hs(e,0,e.length)}function jT(n){var e,t;return t=u(k(n,(nn(),ls)),103),t==(sr(),mh)?(e=K(Y(k(n,zS))),e>=1?Ao:Jh):t}function zge(n){switch(u(k(n,(nn(),Qh)),218).g){case 1:return new ewn;case 3:return new uwn;default:return new nwn}}function Ta(n){if(n.c)Ta(n.c);else if(n.d)throw T(new Dr("Stream already terminated, can't be modified or used"))}function PF(n){var e;return n.Db&64?yo(n):(e=new Bs(yo(n)),e.a+=" (identifier: ",dr(e,n.k),e.a+=")",e.a)}function QDn(n,e,t){var i,r;return i=(ad(),r=new Xy,r),UC(i,e),WC(i,t),n&&me((!n.a&&(n.a=new Jt(io,n,5)),n.a),i),i}function IF(n,e,t,i){var r,c;return _n(i),_n(t),r=n.xc(e),c=r==null?t:l7n(u(r,15),u(t,14)),c==null?n.Bc(e):n.zc(e,c),c}function Cn(n){var e,t,i,r;return t=(e=u(xo((i=n.gm,r=i.f,r==Ie?i:r)),9),new ks(e,u(bo(e,e.length),9),0)),ko(t,n),t}function Uge(n,e,t){var i,r;for(r=n.a.ec().Kc();r.Ob();)if(i=u(r.Pb(),10),t7(t,u(un(e,i.p),14)))return i;return null}function Wge(n,e,t){var i;try{Awe(n,e,t)}catch(r){throw r=jt(r),I(r,597)?(i=r,T(new EX(i))):T(r)}return e}function vl(n,e){var t;return $r(n)&&$r(e)&&(t=n-e,ik>1,n.k=t-1>>1}function OF(){_J();var n,e,t;t=qTe+++Date.now(),n=Gt(j.Math.floor(t*uk))&FM,e=Gt(t-n*enn),this.a=n^1502,this.b=e^tN}function Kh(n){var e,t,i;for(e=new X,i=new E(n.j);i.a34028234663852886e22?Ft:e<-34028234663852886e22?Vt:e}function JDn(n){return n-=n>>1&1431655765,n=(n>>2&858993459)+(n&858993459),n=(n>>4)+n&252645135,n+=n>>8,n+=n>>16,n&63}function YDn(n){var e,t,i,r;for(e=new Djn(n.Hd().gc()),r=0,i=$2(n.Hd().Kc());i.Ob();)t=i.Pb(),ole(e,t,Q(r++));return $5e(e.a)}function Zge(n,e){var t,i,r;for(r=new we,i=e.vc().Kc();i.Ob();)t=u(i.Pb(),42),it(r,t.cd(),Gbe(n,u(t.dd(),15)));return r}function yQ(n,e){n.n.c.length==0&&W(n.n,new lC(n.s,n.t,n.i)),W(n.b,e),iJ(u(un(n.n,n.n.c.length-1),211),e),oRn(n,e)}function Hw(n){return(n.c!=n.b.b||n.i!=n.g.b)&&(n.a.c=F(Zn,rn,1,0,5,1),Yt(n.a,n.b),Yt(n.a,n.g),n.c=n.b.b,n.i=n.g.b),n.a}function DF(n,e){var t,i,r;for(r=0,i=u(e.Kb(n),20).Kc();i.Ob();)t=u(i.Pb(),17),on(sn(k(t,(G(),mf))))||++r;return r}function n2e(n,e){var t,i,r;i=$w(e),r=K(Y(bb(i,(nn(),Mo)))),t=j.Math.max(0,r/2-.5),g6(e,t,1),W(n,new G7n(e,t))}function Ss(){Ss=N,Qk=new Q9(Xh,0),Sm=new Q9("FIRST",1),xl=new Q9(uHn,2),Pm=new Q9("LAST",3),Ub=new Q9(sHn,4)}function Hh(){Hh=N,rH=new Wj(K6,0),yy=new Wj("POLYLINE",1),Cv=new Wj("ORTHOGONAL",2),Sp=new Wj("SPLINES",3)}function ET(){ET=N,Jon=new PO("ASPECT_RATIO_DRIVEN",0),IK=new PO("MAX_SCALE_DRIVEN",1),Qon=new PO("AREA_DRIVEN",2)}function w7(){w7=N,AP=new IO("P1_STRUCTURE",0),SP=new IO("P2_PROCESSING_ORDER",1),PP=new IO("P3_EXECUTION",2)}function CT(){CT=N,CK=new MO("OVERLAP_REMOVAL",0),jK=new MO("COMPACTION",1),EK=new MO("GRAPH_SIZE_CALCULATION",2)}function zd(n,e){return Yo(),mo(Cl),j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)?0:ne?1:pd(isNaN(n),isNaN(e))}function ZDn(n,e){var t,i;for(t=_e(n,0);t.b!=t.d.c;){if(i=x9(Y(Re(t))),i==e)return;if(i>e){a$(t);break}}y8(t,e)}function En(n,e){var t,i,r,c,o;if(t=e.f,Aa(n.c.d,t,e),e.g!=null)for(r=e.g,c=0,o=r.length;ce&&i.ue(n[c-1],n[c])>0;--c)o=n[c],Mt(n,c,n[c-1]),Mt(n,c-1,o)}function Ps(n,e,t,i){if(e<0)_Y(n,t,i);else{if(!t.Ij())throw T(new Hn(Pl+t.ne()+em));u(t,66).Nj().Tj(n,n.yh(),e,i)}}function TT(n,e){if(e==n.d)return n.e;if(e==n.e)return n.d;throw T(new Hn("Node "+e+" not part of edge "+n))}function t2e(n,e){switch(e.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function n$n(n,e){switch(e.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function jQ(n,e,t,i){switch(e){case 3:return n.f;case 4:return n.g;case 5:return n.i;case 6:return n.j}return aQ(n,e,t,i)}function i2e(n){return n.k!=(Qn(),ti)?!1:C3(new $n(null,new Cd(new re(ue(ni(n).a.Kc(),new Mn)))),new Hbn)}function r2e(n){return n.e==null?n:(!n.c&&(n.c=new zx((n.f&256)!=0,n.i,n.a,n.d,(n.f&16)!=0,n.j,n.g,null)),n.c)}function c2e(n,e){return n.h==tk&&n.m==0&&n.l==0?(e&&(Il=Bc(0,0,0)),eyn((I3(),gin))):(e&&(Il=Bc(n.l,n.m,n.h)),Bc(0,0,0))}function Lr(n){var e;return Array.isArray(n)&&n.im===Xg?J1(Du(n))+"@"+(e=mt(n)>>>0,e.toString(16)):n.toString()}function f6(n){var e;this.a=(e=u(n.e&&n.e(),9),new ks(e,u(bo(e,e.length),9),0)),this.b=F(Zn,rn,1,this.a.a.length,5,1)}function u2e(n){var e,t,i;for(this.a=new Sh,i=new E(n);i.a0&&(Me(e-1,n.length),n.charCodeAt(e-1)==58)&&!$F(n,a9,d9))}function $F(n,e,t){var i,r;for(i=0,r=n.length;i=r)return e.c+t;return e.c+e.b.gc()}function l2e(n,e){o3();var t,i,r,c;for(i=bPn(n),r=e,S3(i,0,i.length,r),t=0;t0&&(i+=r,++t);return t>1&&(i+=n.d*(t-1)),i}function CQ(n){var e,t,i;for(i=new i1,i.a+="[",e=0,t=n.gc();e0&&this.b>0&&cW(this.c,this.b,this.a)}function AQ(n){xF(),this.c=cf(A(M(sMe,1),rn,831,0,[LQn])),this.b=new we,this.a=n,it(this.b,uP,1),Yc(NQn,new q6n(this))}function e$n(n,e){var t;return n.d?zu(n.b,e)?u(te(n.b,e),51):(t=e.Kf(),it(n.b,e,t),t):e.Kf()}function SQ(n,e){var t;return B(n)===B(e)?!0:I(e,91)?(t=u(e,91),n.e==t.e&&n.d==t.d&&Jae(n,t.a)):!1}function B2(n){switch(J(),n.g){case 4:return Kn;case 1:return Vn;case 3:return ae;case 2:return Gn;default:return Xr}}function PQ(n,e){switch(e){case 3:return n.f!=0;case 4:return n.g!=0;case 5:return n.i!=0;case 6:return n.j!=0}return SV(n,e)}function p2e(n){switch(n.g){case 0:return new Lgn;case 1:return new Ngn;default:throw T(new Hn(lB+(n.f!=null?n.f:""+n.g)))}}function t$n(n){switch(n.g){case 0:return new xgn;case 1:return new Bgn;default:throw T(new Hn(AN+(n.f!=null?n.f:""+n.g)))}}function i$n(n){switch(n.g){case 0:return new sG;case 1:return new b9n;default:throw T(new Hn(bA+(n.f!=null?n.f:""+n.g)))}}function v2e(n){switch(n.g){case 1:return new Pgn;case 2:return new kjn;default:throw T(new Hn(lB+(n.f!=null?n.f:""+n.g)))}}function m2e(n){var e,t;if(n.b)return n.b;for(t=pf?null:n.d;t;){if(e=pf?null:t.b,e)return e;t=pf?null:t.d}return e3(),Uin}function k2e(n){var e,t,i;return n.e==0?0:(e=n.d<<5,t=n.a[n.d-1],n.e<0&&(i=dOn(n),i==n.d-1&&(--t,t=t|0)),e-=x7(t),e)}function y2e(n){var e,t,i;return n>5,e=n&31,i=F(be,Le,25,t+1,15,1),i[t]=1<3;)r*=10,--c;n=(n+(r>>1))/r|0}return i.i=n,!0}function E2e(n){return yF(),qn(),!!(n$n(u(n.a,81).j,u(n.b,103))||u(n.a,81).d.e!=0&&n$n(u(n.a,81).j,u(n.b,103)))}function C2e(n){DC(),u(n.We((Xe(),_l)),174).Hc((xu(),UP))&&(u(n.We(rw),174).Fc((Tu(),Pp)),u(n.We(_l),174).Mc(UP))}function c$n(n,e){var t,i;if(e){for(t=0;t=0;--i)for(e=t[i],r=0;r>1,this.k=e-1>>1}function I2e(n,e){le(e,"End label post-processing",1),Rt(gt(qr(new $n(null,new xn(n.b,16)),new udn),new sdn),new odn),ce(e)}function O2e(n,e,t){var i,r;return i=K(n.p[e.i.p])+K(n.d[e.i.p])+e.n.b+e.a.b,r=K(n.p[t.i.p])+K(n.d[t.i.p])+t.n.b+t.a.b,r-i}function D2e(n,e,t){var i,r;for(i=ci(t,fr),r=0;fc(i,0)!=0&&r0&&(Me(0,e.length),e.charCodeAt(0)==43)?e.substr(1):e))}function F2e(n){var e;return n==null?null:new il((e=jc(n,!0),e.length>0&&(Me(0,e.length),e.charCodeAt(0)==43)?e.substr(1):e))}function LQ(n,e){var t;return n.i>0&&(e.lengthn.i&&Mt(e,n.i,null),e}function Oc(n,e,t){var i,r,c;return n.ej()?(i=n.i,c=n.fj(),a7(n,i,e),r=n.Zi(3,null,e,i,c),t?t.Ei(r):t=r):a7(n,n.i,e),t}function x2e(n,e,t){var i,r;return i=new Lh(n.e,4,10,(r=e.c,I(r,88)?u(r,26):(Sn(),so)),null,v1(n,e),!1),t?t.Ei(i):t=i,t}function L2e(n,e,t){var i,r;return i=new Lh(n.e,3,10,null,(r=e.c,I(r,88)?u(r,26):(Sn(),so)),v1(n,e),!1),t?t.Ei(i):t=i,t}function o$n(n){W0();var e;return e=new mr(u(n.e.We((Xe(),Kg)),8)),n.B.Hc((xu(),Mv))&&(e.a<=0&&(e.a=20),e.b<=0&&(e.b=20)),e}function f$n(n){wb();var e;return(n.q?n.q:(Pn(),Pn(),ph))._b((nn(),j0))?e=u(k(n,j0),197):e=u(k(Gi(n),$m),197),e}function bb(n,e){var t,i;return i=null,li(n,(nn(),rP))&&(t=u(k(n,rP),94),t.Xe(e)&&(i=t.We(e))),i==null&&(i=k(Gi(n),e)),i}function h$n(n,e){var t,i,r;return I(e,42)?(t=u(e,42),i=t.cd(),r=ab(n.Rc(),i),$f(r,t.dd())&&(r!=null||n.Rc()._b(i))):!1}function NF(n,e){var t,i,r;return n.f>0?(n.qj(),i=e==null?0:mt(e),r=(i&nt)%n.d.length,t=hNn(n,r,i,e),t!=-1):!1}function Ko(n,e){var t,i,r;return n.f>0&&(n.qj(),i=e==null?0:mt(e),r=(i&nt)%n.d.length,t=kY(n,r,i,e),t)?t.dd():null}function g7(n,e){var t,i,r,c;for(c=Kc(n.e.Tg(),e),t=u(n.g,119),r=0;r1?rf(Ih(e.a[1],32),ci(e.a[0],fr)):ci(e.a[0],fr),$d(Ni(e.e,t))))}function p7(n,e){var t;return $r(n)&&$r(e)&&(t=n%e,ik>5,e&=31,r=n.d+t+(e==0?0:1),i=F(be,Le,25,r,15,1),Nve(i,n.a,t,e),c=new Pw(n.e,r,i),K5(c),c}function BQ(n,e,t){var i,r;i=u(vc(Pv,e),117),r=u(vc(m9,e),117),t?(kr(Pv,n,i),kr(m9,n,r)):(kr(m9,n,i),kr(Pv,n,r))}function p$n(n,e,t){var i,r,c;for(r=null,c=n.b;c;){if(i=n.a.ue(e,c.d),t&&i==0)return c;i>=0?c=c.a[1]:(r=c,c=c.a[0])}return r}function v$n(n,e,t){var i,r,c;for(r=null,c=n.b;c;){if(i=n.a.ue(e,c.d),t&&i==0)return c;i<=0?c=c.a[0]:(r=c,c=c.a[1])}return r}function K2e(n,e,t,i){var r,c,o;return r=!1,jEe(n.f,t,i)&&(ape(n.f,n.a[e][t],n.a[e][i]),c=n.a[e],o=c[i],c[i]=c[t],c[t]=o,r=!0),r}function RQ(n,e,t,i,r){var c,o,f;for(o=r;e.b!=e.c;)c=u(y2(e),10),f=u(zr(c,i).Xb(0),11),n.d[f.p]=o++,t.c[t.c.length]=f;return o}function _Q(n,e,t){var i,r,c,o,f;return o=n.k,f=e.k,i=t[o.g][f.g],r=Y(bb(n,i)),c=Y(bb(e,i)),j.Math.max((_n(r),r),(_n(c),c))}function H2e(n,e,t){var i,r,c,o;for(i=t/n.c.length,r=0,o=new E(n);o.a2e3&&(wzn=n,KA=j.setTimeout(Vie,10))),_A++==0?(E0e((aG(),din)),!0):!1}function G2e(n,e){var t,i,r;for(i=new re(ue(ni(n).a.Kc(),new Mn));Se(i);)if(t=u(ve(i),17),r=t.d.i,r.c==e)return!1;return!0}function KQ(n,e){var t,i;if(I(e,245)){i=u(e,245);try{return t=n.vd(i),t==0}catch(r){if(r=jt(r),!I(r,205))throw T(r)}}return!1}function z2e(){return Error.stackTraceLimit>0?(j.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function U2e(n,e){return Yo(),Yo(),mo(Cl),(j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)?0:ne?1:pd(isNaN(n),isNaN(e)))>0}function HQ(n,e){return Yo(),Yo(),mo(Cl),(j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)?0:ne?1:pd(isNaN(n),isNaN(e)))<0}function y$n(n,e){return Yo(),Yo(),mo(Cl),(j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)?0:ne?1:pd(isNaN(n),isNaN(e)))<=0}function RF(n,e){for(var t=0;!e[t]||e[t]=="";)t++;for(var i=e[t++];tJL)return t.fh();if(i=t.Zg(),i||t==n)break}return i}function qQ(n){return dC(),I(n,156)?u(te($y,Azn),288).vg(n):zu($y,Du(n))?u(te($y,Du(n)),288).vg(n):null}function X2e(n){if(DT(B4,n))return qn(),z4;if(DT(EB,n))return qn(),qa;throw T(new Hn("Expecting true or false"))}function V2e(n,e){if(e.c==n)return e.d;if(e.d==n)return e.c;throw T(new Hn("Input edge is not connected to the input port."))}function A$n(n,e){return n.e>e.e?1:n.ee.d?n.e:n.d=48&&n<48+j.Math.min(10,10)?n-48:n>=97&&n<97?n-97+10:n>=65&&n<65?n-65+10:-1}function P$n(n,e){var t;return B(e)===B(n)?!0:!I(e,21)||(t=u(e,21),t.gc()!=n.gc())?!1:n.Ic(t)}function Q2e(n,e){var t,i,r,c;return i=n.a.length-1,t=e-n.b&i,c=n.c-e&i,r=n.c-n.b&i,cjn(t=c?(Vwe(n,e),-1):(Qwe(n,e),1)}function J2e(n,e){var t,i;for(t=(Me(e,n.length),n.charCodeAt(e)),i=e+1;ie.e?1:n.fe.f?1:mt(n)-mt(e)}function DT(n,e){return _n(n),e==null?!1:An(n,e)?!0:n.length==e.length&&An(n.toLowerCase(),e.toLowerCase())}function upe(n,e){var t,i,r,c;for(i=0,r=e.gc();i0&&fc(n,128)<0?(e=ge(n)+128,t=(XEn(),Ein)[e],!t&&(t=Ein[e]=new pq(n)),t):new pq(n)}function O$n(n,e){var t,i;return t=e.Hh(n.a),t&&(i=Te(Ko((!t.b&&(t.b=new qu((Sn(),nr),tc,t)),t.b),We)),i!=null)?i:e.ne()}function spe(n,e){var t,i;return t=e.Hh(n.a),t&&(i=Te(Ko((!t.b&&(t.b=new qu((Sn(),nr),tc,t)),t.b),We)),i!=null)?i:e.ne()}function ope(n,e){c$();var t,i;for(i=new re(ue(Kh(n).a.Kc(),new Mn));Se(i);)if(t=u(ve(i),17),t.d.i==e||t.c.i==e)return t;return null}function UQ(n,e,t){this.c=n,this.f=new X,this.e=new Li,this.j=new eW,this.n=new eW,this.b=e,this.g=new ys(e.c,e.d,e.b,e.a),this.a=t}function _F(n){var e,t,i,r;for(this.a=new Sh,this.d=new fi,this.e=0,t=n,i=0,r=t.length;i0):!1}function F$n(n){var e;B(hn(n,(Xe(),Bg)))===B((_h(),HP))&&(At(n)?(e=u(hn(At(n),Bg),334),gr(n,Bg,e)):gr(n,Bg,i9))}function ape(n,e,t){var i,r;yx(n.e,e,t,(J(),Gn)),yx(n.i,e,t,Vn),n.a&&(r=u(k(e,(G(),rt)),11),i=u(k(t,rt),11),l$(n.g,r,i))}function x$n(n,e,t){var i,r,c;i=e.c.p,c=e.p,n.b[i][c]=new YTn(n,e),t&&(n.a[i][c]=new c6n(e),r=u(k(e,(G(),m0)),10),r&&Tn(n.d,r,e))}function L$n(n,e){var t,i,r;if(W(eS,n),e.Fc(n),t=u(te(DR,n),21),t)for(r=t.Kc();r.Ob();)i=u(r.Pb(),33),Fr(eS,i,0)!=-1||L$n(i,e)}function dpe(n,e,t){var i;(Fzn?(m2e(n),!0):xzn||Nzn?(e3(),!0):Lzn&&(e3(),!1))&&(i=new hEn(e),i.b=t,g5e(n,i))}function KF(n,e){var t;t=!n.A.Hc((Vu(),id))||n.q==(Ti(),Ac),n.u.Hc((Tu(),n1))?t?xCe(n,e):a_n(n,e):n.u.Hc(Gl)&&(t?nCe(n,e):M_n(n,e))}function r4(n,e){var t,i;if(++n.j,e!=null&&(t=(i=n.a.Cb,I(i,97)?u(i,97).Jg():null),ome(e,t))){R2(n.a,4,t);return}R2(n.a,4,u(e,126))}function N$n(n,e,t){return new ys(j.Math.min(n.a,e.a)-t/2,j.Math.min(n.b,e.b)-t/2,j.Math.abs(n.a-e.a)+t,j.Math.abs(n.b-e.b)+t)}function bpe(n,e){var t,i;return t=Uc(n.a.c.p,e.a.c.p),t!=0?t:(i=Uc(n.a.d.i.p,e.a.d.i.p),i!=0?i:Uc(e.a.d.p,n.a.d.p))}function wpe(n,e,t){var i,r,c,o;return c=e.j,o=t.j,c!=o?c.g-o.g:(i=n.f[e.p],r=n.f[t.p],i==0&&r==0?0:i==0?-1:r==0?1:Zt(i,r))}function B$n(n,e,t){var i,r,c;if(!t[e.d])for(t[e.d]=!0,r=new E(Hw(e));r.a=r)return r;for(e=e>0?e:0;ei&&Mt(e,i,null),e}function _$n(n,e){var t,i;for(i=n.a.length,e.lengthi&&Mt(e,i,null),e}function Aa(n,e,t){var i,r,c;return r=u(te(n.e,e),387),r?(c=gU(r,t),Oyn(n,r),c):(i=new qU(n,e,t),it(n.e,e,i),iMn(i),null)}function vpe(n){var e;if(n==null)return null;if(e=a9e(jc(n,!0)),e==null)throw T(new VI("Invalid hexBinary value: '"+n+"'"));return e}function m7(n){return jl(),fc(n,0)<0?fc(n,-1)!=0?new OJ(-1,P3(n)):gR:fc(n,10)<=0?xin[ge(n)]:new OJ(1,n)}function qF(){return SM(),A(M(yUn,1),z,159,0,[mUn,vUn,kUn,hUn,fUn,lUn,bUn,dUn,aUn,pUn,gUn,wUn,sUn,uUn,oUn,rUn,iUn,cUn,eUn,nUn,tUn,TR])}function K$n(n){var e;this.d=new X,this.j=new Li,this.g=new Li,e=n.g.b,this.f=u(k(Gi(e),(nn(),ls)),103),this.e=K(Y(xT(e,nw)))}function H$n(n){this.b=new X,this.e=new X,this.d=n,this.a=!Wv(gt(new $n(null,new Cd(new uf(n.b))),new Fv(new qbn))).sd((ca(),V4))}function Ho(){Ho=N,Xn=new Z9("PARENTS",0),pi=new Z9("NODES",1),Yf=new Z9("EDGES",2),Ya=new Z9("PORTS",3),D1=new Z9("LABELS",4)}function qw(){qw=N,Hl=new e8("DISTRIBUTED",0),Cy=new e8("JUSTIFIED",1),Hhn=new e8("BEGIN",2),r9=new e8(I4,3),qhn=new e8("END",4)}function mpe(n){var e;switch(e=n.yi(null),e){case 10:return 0;case 15:return 1;case 14:return 2;case 11:return 3;case 21:return 4}return-1}function GF(n){switch(n.g){case 1:return sr(),Yh;case 4:return sr(),Zs;case 2:return sr(),Ao;case 3:return sr(),Jh}return sr(),mh}function kpe(n,e,t){var i;switch(i=t.q.getFullYear()-Tl+Tl,i<0&&(i=-i),e){case 1:n.a+=i;break;case 2:sh(n,i%100,2);break;default:sh(n,i,e)}}function _e(n,e){var t,i;if(tb(e,n.b),e>=n.b>>1)for(i=n.c,t=n.b;t>e;--t)i=i.b;else for(i=n.a.a,t=0;t=64&&e<128&&(r=rf(r,Ih(1,e-64)));return r}function xT(n,e){var t,i;return i=null,li(n,(Xe(),Ap))&&(t=u(k(n,Ap),94),t.Xe(e)&&(i=t.We(e))),i==null&&Gi(n)&&(i=k(Gi(n),e)),i}function z$n(n,e){var t,i,r;r=e.d.i,i=r.k,!(i==(Qn(),ti)||i==vf)&&(t=new re(ue(ni(r).a.Kc(),new Mn)),Se(t)&&it(n.k,e,u(ve(t),17)))}function zF(n,e){var t,i,r;return i=On(n.Tg(),e),t=e-n.Ah(),t<0?(r=n.Yg(i),r>=0?n.lh(r):Ox(n,i)):t<0?Ox(n,i):u(i,66).Nj().Sj(n,n.yh(),t)}function cn(n){var e;if(I(n.a,4)){if(e=qQ(n.a),e==null)throw T(new Dr(HHn+n.b+"'. "+KHn+(Ph(Fy),Fy.k)+Etn));return e}else return n.a}function Epe(n){var e;if(n==null)return null;if(e=qCe(jc(n,!0)),e==null)throw T(new VI("Invalid base64Binary value: '"+n+"'"));return e}function oe(n){var e;try{return e=n.i.Xb(n.e),n.mj(),n.g=n.e++,e}catch(t){throw t=jt(t),I(t,73)?(n.mj(),T(new ic)):T(t)}}function UF(n){var e;try{return e=n.c.ki(n.e),n.mj(),n.g=n.e++,e}catch(t){throw t=jt(t),I(t,73)?(n.mj(),T(new ic)):T(t)}}function a6(){a6=N,Trn=(Xe(),yhn),IR=Zfn,FUn=Tp,Crn=nd,BUn=(WT(),irn),NUn=ern,RUn=crn,LUn=nrn,xUn=(pF(),yrn),PR=OUn,Ern=DUn,nS=$Un}function LT(n){switch(DG(),this.c=new X,this.d=n,n.g){case 0:case 2:this.a=_W(qrn),this.b=Ft;break;case 3:case 1:this.a=qrn,this.b=Vt}}function U$n(n,e,t){var i,r;if(n.c)Zc(n.c,n.c.i+e),nu(n.c,n.c.j+t);else for(r=new E(n.b);r.a0&&(W(n.b,new MEn(e.a,t)),i=e.a.length,0i&&(e.a+=Iyn(F(Ls,Bf,25,-i,15,1))))}function W$n(n,e){var t,i,r;for(t=n.o,r=u(u(ct(n.r,e),21),84).Kc();r.Ob();)i=u(r.Pb(),111),i.e.a=M3e(i,t.a),i.e.b=t.b*K(Y(i.b.We(JA)))}function Tpe(n,e){var t,i,r,c;return r=n.k,t=K(Y(k(n,(G(),k0)))),c=e.k,i=K(Y(k(e,k0))),c!=(Qn(),Xt)?-1:r!=Xt?1:t==i?0:t=0?n.hh(e,t,i):(n.eh()&&(i=(r=n.Vg(),r>=0?n.Qg(i):n.eh().ih(n,-1-r,null,i))),n.Sg(e,t,i))}function XQ(n,e){switch(e){case 7:!n.e&&(n.e=new Fn(di,n,7,4)),de(n.e);return;case 8:!n.d&&(n.d=new Fn(di,n,8,5)),de(n.d);return}FQ(n,e)}function qo(n,e){var t;t=n.Zc(e);try{return t.Pb()}catch(i){throw i=jt(i),I(i,109)?T(new vr("Can't get element "+e)):T(i)}}function VQ(n,e){this.e=n,e=0&&(t.d=n.t);break;case 3:n.t>=0&&(t.a=n.t)}n.C&&(t.b=n.C.b,t.c=n.C.c)}function K2(){K2=N,$k=new Rj(NM,0),Dk=new Rj(lN,1),Fk=new Rj(aN,2),xk=new Rj(dN,3),$k.a=!1,Dk.a=!0,Fk.a=!1,xk.a=!0}function d6(){d6=N,Lk=new Bj(NM,0),YA=new Bj(lN,1),ZA=new Bj(aN,2),Nk=new Bj(dN,3),Lk.a=!1,YA.a=!0,ZA.a=!1,Nk.a=!0}function Ipe(n){var e;e=n.a;do e=u(ve(new re(ue(xr(e).a.Kc(),new Mn))),17).c.i,e.k==(Qn(),gi)&&n.b.Fc(e);while(e.k==(Qn(),gi));n.b=va(n.b)}function Ope(n){var e,t,i;for(i=n.c.a,n.p=(pe(i),new du(i)),t=new E(i);t.at.b)return!0}return!1}function WF(n,e){return mi(n)?!!ozn[e]:n.hm?!!n.hm[e]:G0(n)?!!szn[e]:q0(n)?!!uzn[e]:!1}function gr(n,e,t){return t==null?(!n.o&&(n.o=new Wu((Dc(),Ul),S0,n,0)),IT(n.o,e)):(!n.o&&(n.o=new Wu((Dc(),Ul),S0,n,0)),XT(n.o,e,t)),n}function xpe(n,e,t,i){var r,c;c=e.Xe((Xe(),_g))?u(e.We(_g),21):n.j,r=Cge(c),r!=(SM(),TR)&&(t&&!GQ(r)||nY(d9e(n,r,i),e))}function BT(n,e,t,i){var r,c,o;return c=On(n.Tg(),e),r=e-n.Ah(),r<0?(o=n.Yg(c),o>=0?n._g(o,t,!0):Yd(n,c,t)):u(c,66).Nj().Pj(n,n.yh(),r,t,i)}function Lpe(n,e,t,i){var r,c,o;t.mh(e)&&(er(),R$(e)?(r=u(t.ah(e),153),upe(n,r)):(c=(o=e,o?u(i,49).xh(o):null),c&&Bte(t.ah(e),c)))}function Npe(n){switch(n.g){case 1:return Hd(),Ok;case 3:return Hd(),Ik;case 2:return Hd(),AR;case 4:return Hd(),MR;default:return null}}function QQ(n){switch(typeof n){case EL:return m1(n);case UZ:return Gt(n);case X2:return qn(),n?1231:1237;default:return n==null?0:md(n)}}function Bpe(n,e,t){if(n.e)switch(n.b){case 1:d1e(n.c,e,t);break;case 0:b1e(n.c,e,t)}else xAn(n.c,e,t);n.a[e.p][t.p]=n.c.i,n.a[t.p][e.p]=n.c.e}function Y$n(n){var e,t;if(n==null)return null;for(t=F(vh,q,193,n.length,0,2),e=0;e=0)return r;if(n.Fk()){for(i=0;i=r)throw T(new V0(e,r));if(n.hi()&&(i=n.Xc(t),i>=0&&i!=e))throw T(new Hn(yk));return n.mi(e,t)}function JQ(n,e){if(this.a=u(pe(n),245),this.b=u(pe(e),245),n.vd(e)>0||n==(qI(),cR)||e==(HI(),uR))throw T(new Hn("Invalid range: "+OAn(n,e)))}function Z$n(n){var e,t;for(this.b=new X,this.c=n,this.a=!1,t=new E(n.a);t.a0),(e&-e)==e)return Gt(e*Fu(n,31)*4656612873077393e-25);do t=Fu(n,31),i=t%e;while(t-i+(e-1)<0);return Gt(i)}function m1(n){lEn();var e,t,i;return t=":"+n,i=XA[t],i!=null?Gt((_n(i),i)):(i=Xin[t],e=i==null?I8e(n):Gt((_n(i),i)),c1e(),XA[t]=e,e)}function eFn(n,e,t){le(t,"Compound graph preprocessor",1),n.a=new Od,s_n(n,e,null),pje(n,e),Z9e(n),H(e,(G(),dun),n.a),n.a=null,Eu(n.b),ce(t)}function Kpe(n,e,t){switch(t.g){case 1:n.a=e.a/2,n.b=0;break;case 2:n.a=e.a,n.b=e.b/2;break;case 3:n.a=e.a/2,n.b=e.b;break;case 4:n.a=0,n.b=e.b/2}}function Hpe(n){var e,t,i;for(i=u(ct(n.a,(Vw(),IS)),15).Kc();i.Ob();)t=u(i.Pb(),101),e=hJ(t),b3(n,t,e[0],(Kd(),w0),0),b3(n,t,e[1],g0,1)}function qpe(n){var e,t,i;for(i=u(ct(n.a,(Vw(),OS)),15).Kc();i.Ob();)t=u(i.Pb(),101),e=hJ(t),b3(n,t,e[0],(Kd(),w0),0),b3(n,t,e[1],g0,1)}function XF(n){switch(n.g){case 0:return null;case 1:return new eOn;case 2:return new oG;default:throw T(new Hn(lB+(n.f!=null?n.f:""+n.g)))}}function k7(n,e,t){var i,r;for(lwe(n,e-n.s,t-n.t),r=new E(n.n);r.a1&&(c=_pe(n,e)),c}function VF(n){var e;return n.f&&n.f.kh()&&(e=u(n.f,49),n.f=u(pl(n,e),82),n.f!=e&&n.Db&4&&!(n.Db&1)&&et(n,new wi(n,9,8,e,n.f))),n.f}function QF(n){var e;return n.i&&n.i.kh()&&(e=u(n.i,49),n.i=u(pl(n,e),82),n.i!=e&&n.Db&4&&!(n.Db&1)&&et(n,new wi(n,9,7,e,n.i))),n.i}function ir(n){var e;return n.b&&n.b.Db&64&&(e=n.b,n.b=u(pl(n,e),18),n.b!=e&&n.Db&4&&!(n.Db&1)&&et(n,new wi(n,9,21,e,n.b))),n.b}function KT(n,e){var t,i,r;n.d==null?(++n.e,++n.f):(i=e.Sh(),u8e(n,n.f+1),r=(i&nt)%n.d.length,t=n.d[r],!t&&(t=n.d[r]=n.uj()),t.Fc(e),++n.f)}function nJ(n,e,t){var i;return e.Kj()?!1:e.Zj()!=-2?(i=e.zj(),i==null?t==null:tt(i,t)):e.Hj()==n.e.Tg()&&t==null}function HT(){var n;is(16,J_n),n=UIn(16),this.b=F(oR,nk,317,n,0,1),this.c=F(oR,nk,317,n,0,1),this.a=null,this.e=null,this.i=0,this.f=n-1,this.g=0}function qh(n){vU.call(this),this.k=(Qn(),ti),this.j=(is(6,Pb),new Pc(6)),this.b=(is(2,Pb),new Pc(2)),this.d=new NI,this.f=new Zq,this.a=n}function zpe(n){var e,t;n.c.length<=1||(e=ZNn(n,(J(),ae)),Kxn(n,u(e.a,19).a,u(e.b,19).a),t=ZNn(n,Gn),Kxn(n,u(t.a,19).a,u(t.b,19).a))}function b6(){b6=N,zsn=new V9("SIMPLE",0),nK=new V9(PN,1),eK=new V9("LINEAR_SEGMENTS",2),Lm=new V9("BRANDES_KOEPF",3),Nm=new V9(EHn,4)}function eJ(n,e,t){p2(u(k(e,(nn(),Lt)),98))||(VX(n,e,k1(e,t)),VX(n,e,k1(e,(J(),ae))),VX(n,e,k1(e,Kn)),Pn(),bi(e.j,new i6n(n)))}function tFn(n,e,t,i){var r,c,o;for(r=u(ct(i?n.a:n.b,e),21),o=r.Kc();o.Ob();)if(c=u(o.Pb(),33),aM(n,t,c))return!0;return!1}function JF(n){var e,t;for(t=new ie(n);t.e!=t.i.gc();)if(e=u(oe(t),87),e.e||(!e.d&&(e.d=new Jt(ar,e,1)),e.d).i!=0)return!0;return!1}function YF(n){var e,t;for(t=new ie(n);t.e!=t.i.gc();)if(e=u(oe(t),87),e.e||(!e.d&&(e.d=new Jt(ar,e,1)),e.d).i!=0)return!0;return!1}function Upe(n){var e,t,i;for(e=0,i=new E(n.c.a);i.a102?-1:n<=57?n-48:n<65?-1:n<=70?n-65+10:n<97?-1:n-97+10}function ex(n,e){if(n==null)throw T(new c2("null key in entry: null="+e));if(e==null)throw T(new c2("null value in entry: "+n+"=null"))}function Wpe(n,e){for(var t,i;n.Ob();)if(!e.Ob()||(t=n.Pb(),i=e.Pb(),!(B(t)===B(i)||t!=null&&tt(t,i))))return!1;return!e.Ob()}function rFn(n,e){var t;return t=A(M(ji,1),pr,25,15,[kF(n.a[0],e),kF(n.a[1],e),kF(n.a[2],e)]),n.d&&(t[0]=j.Math.max(t[0],t[2]),t[2]=t[0]),t}function cFn(n,e){var t;return t=A(M(ji,1),pr,25,15,[pT(n.a[0],e),pT(n.a[1],e),pT(n.a[2],e)]),n.d&&(t[0]=j.Math.max(t[0],t[2]),t[2]=t[0]),t}function Pa(){Pa=N,f_=new X9("GREEDY",0),Gcn=new X9(fHn,1),h_=new X9(PN,2),Em=new X9("MODEL_ORDER",3),jm=new X9("GREEDY_MODEL_ORDER",4)}function uFn(n,e){var t,i,r;for(n.b[e.g]=1,i=_e(e.d,0);i.b!=i.d.c;)t=u(Re(i),188),r=t.c,n.b[r.g]==1?Ke(n.a,t):n.b[r.g]==2?n.b[r.g]=1:uFn(n,r)}function Xpe(n,e){var t,i,r;for(r=new Pc(e.gc()),i=e.Kc();i.Ob();)t=u(i.Pb(),286),t.c==t.f?l4(n,t,t.c):U5e(n,t)||(r.c[r.c.length]=t);return r}function Vpe(n,e,t){var i,r,c,o,f;for(f=n.r+e,n.r+=e,n.d+=t,i=t/n.n.c.length,r=0,o=new E(n.n);o.ac&&Mt(e,c,null),e}function f3e(n,e){var t,i;if(i=n.gc(),e==null){for(t=0;t0&&(h+=r),l[a]=o,o+=f*(h+i)}function bFn(n){var e,t,i;for(i=n.f,n.n=F(ji,pr,25,i,15,1),n.d=F(ji,pr,25,i,15,1),e=0;e0?n.c:0),++r;n.b=i,n.d=c}function g3e(n,e){var t,i,r,c,o;for(i=0,r=0,t=0,o=new E(e);o.a0?n.g:0),++t;n.c=r,n.d=i}function mFn(n,e){var t;return t=A(M(ji,1),pr,25,15,[ZQ(n,(_o(),Zr),e),ZQ(n,Fc,e),ZQ(n,nc,e)]),n.f&&(t[0]=j.Math.max(t[0],t[2]),t[2]=t[0]),t}function p3e(n,e,t){var i;try{wM(n,e+n.j,t+n.k,!1,!0)}catch(r){throw r=jt(r),I(r,73)?(i=r,T(new vr(i.g+RM+e+Ji+t+")."))):T(r)}}function v3e(n,e,t){var i;try{wM(n,e+n.j,t+n.k,!0,!1)}catch(r){throw r=jt(r),I(r,73)?(i=r,T(new vr(i.g+RM+e+Ji+t+")."))):T(r)}}function kFn(n){var e;li(n,(nn(),y0))&&(e=u(k(n,y0),21),e.Hc((jb(),So))?(e.Mc(So),e.Fc(Po)):e.Hc(Po)&&(e.Mc(Po),e.Fc(So)))}function yFn(n){var e;li(n,(nn(),y0))&&(e=u(k(n,y0),21),e.Hc((jb(),Oo))?(e.Mc(Oo),e.Fc(eo)):e.Hc(eo)&&(e.Mc(eo),e.Fc(Oo)))}function m3e(n,e,t){le(t,"Self-Loop ordering",1),Rt(Xc(gt(gt(qr(new $n(null,new xn(e.b,16)),new P0n),new I0n),new O0n),new D0n),new O5n(n)),ce(t)}function j7(n,e,t,i){var r,c;for(r=e;r0&&(r.b+=e),r}function zT(n,e){var t,i,r;for(r=new Li,i=n.Kc();i.Ob();)t=u(i.Pb(),37),M6(t,0,r.b),r.b+=t.f.b+e,r.a=j.Math.max(r.a,t.f.a);return r.a>0&&(r.a+=e),r}function EFn(n){var e,t,i;for(i=nt,t=new E(n.a);t.a>16==6?n.Cb.ih(n,5,Vo,e):(i=ir(u(On((t=u(Rn(n,16),26),t||n.zh()),n.Db>>16),18)),n.Cb.ih(n,i.n,i.f,e))}function C3e(n){k3();var e=n.e;if(e&&e.stack){var t=e.stack,i=e+` -`;return t.substring(0,i.length)==i&&(t=t.substring(i.length)),t.split(` -`)}return[]}function T3e(n){var e;return e=(_In(),kzn),e[n>>>28]|e[n>>24&15]<<4|e[n>>20&15]<<8|e[n>>16&15]<<12|e[n>>12&15]<<16|e[n>>8&15]<<20|e[n>>4&15]<<24|e[n&15]<<28}function MFn(n){var e,t,i;n.b==n.c&&(i=n.a.length,t=KV(j.Math.max(8,i))<<1,n.b!=0?(e=bo(n.a,t),XIn(n,e,i),n.a=e,n.b=0):Wmn(n.a,t),n.c=i)}function M3e(n,e){var t;return t=n.b,t.Xe((Xe(),Bu))?t.Hf()==(J(),Gn)?-t.rf().a-K(Y(t.We(Bu))):e+K(Y(t.We(Bu))):t.Hf()==(J(),Gn)?-t.rf().a:e}function E7(n){var e;return n.b.c.length!=0&&u(un(n.b,0),70).a?u(un(n.b,0),70).a:(e=WD(n),e??""+(n.c?Fr(n.c.a,n,0):-1))}function UT(n){var e;return n.f.c.length!=0&&u(un(n.f,0),70).a?u(un(n.f,0),70).a:(e=WD(n),e??""+(n.i?Fr(n.i.j,n,0):-1))}function A3e(n,e){var t,i;if(e<0||e>=n.gc())return null;for(t=e;t0?n.c:0),r=j.Math.max(r,e.d),++i;n.e=c,n.b=r}function P3e(n){var e,t;if(!n.b)for(n.b=mC(u(n.f,118).Ag().i),t=new ie(u(n.f,118).Ag());t.e!=t.i.gc();)e=u(oe(t),137),W(n.b,new XI(e));return n.b}function I3e(n,e){var t,i,r;if(e.dc())return o3(),o3(),xy;for(t=new Pjn(n,e.gc()),r=new ie(n);r.e!=r.i.gc();)i=oe(r),e.Hc(i)&&me(t,i);return t}function oJ(n,e,t,i){return e==0?i?(!n.o&&(n.o=new Wu((Dc(),Ul),S0,n,0)),n.o):(!n.o&&(n.o=new Wu((Dc(),Ul),S0,n,0)),N8(n.o)):BT(n,e,t,i)}function fx(n){var e,t;if(n.rb)for(e=0,t=n.rb.i;e>22),r+=i>>22,r<0)?!1:(n.l=t&Lu,n.m=i&Lu,n.h=r&Wh,!0)}function F3e(n,e,t,i,r,c,o){var f,h;return!(e.Ae()&&(h=n.a.ue(t,i),h<0||!r&&h==0)||e.Be()&&(f=n.a.ue(t,c),f>0||!o&&f==0))}function x3e(n,e){V3();var t;if(t=n.j.g-e.j.g,t!=0)return 0;switch(n.j.g){case 2:return DF(e,Lcn)-DF(n,Lcn);case 4:return DF(n,xcn)-DF(e,xcn)}return 0}function L3e(n){switch(n.g){case 0:return a_;case 1:return d_;case 2:return b_;case 3:return w_;case 4:return FS;case 5:return g_;default:return null}}function Cr(n,e,t){var i,r;return i=(r=new _I,Ca(r,e),Ic(r,t),me((!n.c&&(n.c=new V(P0,n,12,10)),n.c),r),r),d1(i,0),hb(i,1),p1(i,!0),g1(i,!0),i}function H2(n,e){var t,i;if(e>=n.i)throw T(new xO(e,n.i));return++n.j,t=n.g[e],i=n.i-e-1,i>0&&gc(n.g,e+1,n.g,e,i),Mt(n.g,--n.i,null),n.fi(e,t),n.ci(),t}function AFn(n,e){var t,i;return n.Db>>16==17?n.Cb.ih(n,21,ro,e):(i=ir(u(On((t=u(Rn(n,16),26),t||n.zh()),n.Db>>16),18)),n.Cb.ih(n,i.n,i.f,e))}function N3e(n){var e,t,i,r;for(Pn(),bi(n.c,n.a),r=new E(n.c);r.at.a.c.length))throw T(new Hn("index must be >= 0 and <= layer node count"));n.c&&Qc(n.c.a,n),n.c=t,t&&Q0(t.a,e,n)}function DFn(n,e){var t,i,r;for(i=new re(ue(Kh(n).a.Kc(),new Mn));Se(i);)return t=u(ve(i),17),r=u(e.Kb(t),10),new Zy(pe(r.n.b+r.o.b/2));return Rv(),Rv(),rR}function $Fn(n,e){this.c=new we,this.a=n,this.b=e,this.d=u(k(n,(G(),Ig)),304),B(k(n,(nn(),ysn)))===B((K8(),xS))?this.e=new h9n:this.e=new f9n}function q3e(n,e){var t,i,r,c;for(c=0,i=new E(n);i.a>16==6?n.Cb.ih(n,6,di,e):(i=ir(u(On((t=u(Rn(n,16),26),t||(Dc(),XP)),n.Db>>16),18)),n.Cb.ih(n,i.n,i.f,e))}function bJ(n,e){var t,i;return n.Db>>16==7?n.Cb.ih(n,1,Iy,e):(i=ir(u(On((t=u(Rn(n,16),26),t||(Dc(),e1n)),n.Db>>16),18)),n.Cb.ih(n,i.n,i.f,e))}function wJ(n,e){var t,i;return n.Db>>16==9?n.Cb.ih(n,9,Pt,e):(i=ir(u(On((t=u(Rn(n,16),26),t||(Dc(),i1n)),n.Db>>16),18)),n.Cb.ih(n,i.n,i.f,e))}function xFn(n,e){var t,i;return n.Db>>16==5?n.Cb.ih(n,9,iI,e):(i=ir(u(On((t=u(Rn(n,16),26),t||(Sn(),L1)),n.Db>>16),18)),n.Cb.ih(n,i.n,i.f,e))}function gJ(n,e){var t,i;return n.Db>>16==3?n.Cb.ih(n,0,Dy,e):(i=ir(u(On((t=u(Rn(n,16),26),t||(Sn(),x1)),n.Db>>16),18)),n.Cb.ih(n,i.n,i.f,e))}function LFn(n,e){var t,i;return n.Db>>16==7?n.Cb.ih(n,6,Vo,e):(i=ir(u(On((t=u(Rn(n,16),26),t||(Sn(),B1)),n.Db>>16),18)),n.Cb.ih(n,i.n,i.f,e))}function NFn(){this.a=new q2n,this.g=new HT,this.j=new HT,this.b=new we,this.d=new HT,this.i=new HT,this.k=new we,this.c=new we,this.e=new we,this.f=new we}function W3e(n,e,t){var i,r,c;for(t<0&&(t=0),c=n.i,r=t;rJL)return u4(n,i);if(i==n)return!0}}return!1}function V3e(n){switch(dE(),n.q.g){case 5:yLn(n,(J(),Kn)),yLn(n,ae);break;case 4:gNn(n,(J(),Kn)),gNn(n,ae);break;default:g_n(n,(J(),Kn)),g_n(n,ae)}}function Q3e(n){switch(dE(),n.q.g){case 5:LLn(n,(J(),Vn)),LLn(n,Gn);break;case 4:W$n(n,(J(),Vn)),W$n(n,Gn);break;default:p_n(n,(J(),Vn)),p_n(n,Gn)}}function J3e(n){var e,t;e=u(k(n,(Go(),eWn)),19),e?(t=e.a,t==0?H(n,(dl(),cS),new OF):H(n,(dl(),cS),new EC(t))):H(n,(dl(),cS),new EC(1))}function Y3e(n,e){var t;switch(t=n.i,e.g){case 1:return-(n.n.b+n.o.b);case 2:return n.n.a-t.o.a;case 3:return n.n.b-t.o.b;case 4:return-(n.n.a+n.o.a)}return 0}function Z3e(n,e){switch(n.g){case 0:return e==(Ss(),xl)?TS:MS;case 1:return e==(Ss(),xl)?TS:Hk;case 2:return e==(Ss(),xl)?Hk:MS;default:return Hk}}function T7(n,e){var t,i,r;for(Qc(n.a,e),n.e-=e.r+(n.a.c.length==0?0:n.c),r=ttn,i=new E(n.a);i.a>16==3?n.Cb.ih(n,12,Pt,e):(i=ir(u(On((t=u(Rn(n,16),26),t||(Dc(),n1n)),n.Db>>16),18)),n.Cb.ih(n,i.n,i.f,e))}function vJ(n,e){var t,i;return n.Db>>16==11?n.Cb.ih(n,10,Pt,e):(i=ir(u(On((t=u(Rn(n,16),26),t||(Dc(),t1n)),n.Db>>16),18)),n.Cb.ih(n,i.n,i.f,e))}function BFn(n,e){var t,i;return n.Db>>16==10?n.Cb.ih(n,11,ro,e):(i=ir(u(On((t=u(Rn(n,16),26),t||(Sn(),N1)),n.Db>>16),18)),n.Cb.ih(n,i.n,i.f,e))}function RFn(n,e){var t,i;return n.Db>>16==10?n.Cb.ih(n,12,co,e):(i=ir(u(On((t=u(Rn(n,16),26),t||(Sn(),lw)),n.Db>>16),18)),n.Cb.ih(n,i.n,i.f,e))}function qs(n){var e;return!(n.Bb&1)&&n.r&&n.r.kh()&&(e=u(n.r,49),n.r=u(pl(n,e),138),n.r!=e&&n.Db&4&&!(n.Db&1)&&et(n,new wi(n,9,8,e,n.r))),n.r}function lx(n,e,t){var i;return i=A(M(ji,1),pr,25,15,[qJ(n,(_o(),Zr),e,t),qJ(n,Fc,e,t),qJ(n,nc,e,t)]),n.f&&(i[0]=j.Math.max(i[0],i[2]),i[2]=i[0]),i}function n4e(n,e){var t,i,r;if(r=Xpe(n,e),r.c.length!=0)for(bi(r,new e0n),t=r.c.length,i=0;i>19,l=e.h>>19,h!=l?l-h:(r=n.h,f=e.h,r!=f?r-f:(i=n.m,o=e.m,i!=o?i-o:(t=n.l,c=e.l,t-c)))}function WT(){WT=N,urn=(dM(),ER),crn=new In(snn,urn),rrn=(RC(),jR),irn=new In(onn,rrn),trn=($T(),yR),ern=new In(fnn,trn),nrn=new In(hnn,(qn(),!0))}function g6(n,e,t){var i,r;i=e*t,I(n.g,145)?(r=S2(n),r.f.d?r.f.a||(n.d.a+=i+bf):(n.d.d-=i+bf,n.d.a+=i+bf)):I(n.g,10)&&(n.d.d-=i,n.d.a+=2*i)}function _Fn(n,e,t){var i,r,c,o,f;for(r=n[t.g],f=new E(e.d);f.a0?n.g:0),++t;e.b=i,e.e=r}function KFn(n){var e,t,i;if(i=n.b,f7n(n.i,i.length)){for(t=i.length*2,n.b=F(oR,nk,317,t,0,1),n.c=F(oR,nk,317,t,0,1),n.f=t-1,n.i=0,e=n.a;e;e=e.c)D7(n,e,e);++n.g}}function o4e(n,e,t,i){var r,c,o,f;for(r=0;ro&&(f=o/i),r>c&&(h=c/r),If(n,j.Math.min(f,h)),n}function h4e(){mM();var n,e;try{if(e=u(PJ((Z1(),uo),_4),2014),e)return e}catch(t){if(t=jt(t),I(t,102))n=t,gW((je(),n));else throw T(t)}return new R2n}function l4e(){DPn();var n,e;try{if(e=u(PJ((Z1(),uo),Ka),2024),e)return e}catch(t){if(t=jt(t),I(t,102))n=t,gW((je(),n));else throw T(t)}return new r3n}function a4e(){mM();var n,e;try{if(e=u(PJ((Z1(),uo),Vs),1941),e)return e}catch(t){if(t=jt(t),I(t,102))n=t,gW((je(),n));else throw T(t)}return new lpn}function d4e(n,e,t){var i,r;return r=n.e,n.e=e,n.Db&4&&!(n.Db&1)&&(i=new wi(n,1,4,r,e),t?t.Ei(i):t=i),r!=e&&(e?t=j4(n,uM(n,e),t):t=j4(n,n.a,t)),t}function HFn(){Tj.call(this),this.e=-1,this.a=!1,this.p=Bi,this.k=-1,this.c=-1,this.b=-1,this.g=!1,this.f=-1,this.j=-1,this.n=-1,this.i=-1,this.d=-1,this.o=Bi}function b4e(n,e){var t,i,r;if(i=n.b.d.d,n.a||(i+=n.b.d.a),r=e.b.d.d,e.a||(r+=e.b.d.a),t=Zt(i,r),t==0){if(!n.a&&e.a)return-1;if(!e.a&&n.a)return 1}return t}function w4e(n,e){var t,i,r;if(i=n.b.b.d,n.a||(i+=n.b.b.a),r=e.b.b.d,e.a||(r+=e.b.b.a),t=Zt(i,r),t==0){if(!n.a&&e.a)return-1;if(!e.a&&n.a)return 1}return t}function g4e(n,e){var t,i,r;if(i=n.b.g.d,n.a||(i+=n.b.g.a),r=e.b.g.d,e.a||(r+=e.b.g.a),t=Zt(i,r),t==0){if(!n.a&&e.a)return-1;if(!e.a&&n.a)return 1}return t}function kJ(){kJ=N,wWn=ju(Ze(Ze(Ze(new hi,(Qi(),Cc),(rr(),ycn)),Cc,jcn),Ir,Ecn),Ir,hcn),pWn=Ze(Ze(new hi,Cc,icn),Cc,lcn),gWn=ju(new hi,Ir,dcn)}function p4e(n){var e,t,i,r,c;for(e=u(k(n,(G(),Am)),83),c=n.n,i=e.Cc().Kc();i.Ob();)t=u(i.Pb(),306),r=t.i,r.c+=c.a,r.d+=c.b,t.c?rBn(t):cBn(t);H(n,Am,null)}function v4e(n,e,t){var i,r;switch(r=n.b,i=r.d,e.g){case 1:return-i.d-t;case 2:return r.o.a+i.c+t;case 3:return r.o.b+i.a+t;case 4:return-i.b-t;default:return-1}}function m4e(n){var e,t,i,r,c;if(i=0,r=D4,n.b)for(e=0;e<360;e++)t=e*.017453292519943295,hZ(n,n.d,0,0,ag,t),c=n.b.ig(n.d),c0&&(o=(c&nt)%n.d.length,r=kY(n,o,c,e),r)?(f=r.ed(t),f):(i=n.tj(c,e,t),n.c.Fc(i),null)}function EJ(n,e){var t,i,r,c;switch(w1(n,e)._k()){case 3:case 2:{for(t=ig(e),r=0,c=t.i;r=0;i--)if(An(n[i].d,e)||An(n[i].d,t)){n.length>=i+1&&n.splice(0,i+1);break}return n}function M7(n,e){var t;return $r(n)&&$r(e)&&(t=n/e,ik0&&(n.b+=2,n.a+=i):(n.b+=1,n.a+=j.Math.min(i,r))}function VFn(n,e){var t,i;if(i=!1,mi(e)&&(i=!0,j2(n,new Z0(Te(e)))),i||I(e,236)&&(i=!0,j2(n,(t=PU(u(e,236)),new nj(t)))),!i)throw T(new UI(Btn))}function N4e(n,e,t,i){var r,c,o;return r=new Lh(n.e,1,10,(o=e.c,I(o,88)?u(o,26):(Sn(),so)),(c=t.c,I(c,88)?u(c,26):(Sn(),so)),v1(n,e),!1),i?i.Ei(r):i=r,i}function MJ(n){var e,t;switch(u(k(Gi(n),(nn(),dsn)),420).g){case 0:return e=n.n,t=n.o,new fn(e.a+t.a/2,e.b+t.b/2);case 1:return new mr(n.n);default:return null}}function A7(){A7=N,LS=new c5(Xh,0),Ycn=new c5("LEFTUP",1),nun=new c5("RIGHTUP",2),Jcn=new c5("LEFTDOWN",3),Zcn=new c5("RIGHTDOWN",4),p_=new c5("BALANCED",5)}function B4e(n,e,t){var i,r,c;if(i=Zt(n.a[e.p],n.a[t.p]),i==0){if(r=u(k(e,(G(),gp)),15),c=u(k(t,gp),15),r.Hc(t))return-1;if(c.Hc(e))return 1}return i}function R4e(n){switch(n.g){case 1:return new Ogn;case 2:return new Dgn;case 3:return new Ign;case 0:return null;default:throw T(new Hn(lB+(n.f!=null?n.f:""+n.g)))}}function AJ(n,e,t){switch(e){case 1:!n.n&&(n.n=new V(Br,n,1,7)),de(n.n),!n.n&&(n.n=new V(Br,n,1,7)),Dt(n.n,u(t,14));return;case 2:Q5(n,Te(t));return}WV(n,e,t)}function SJ(n,e,t){switch(e){case 3:Bd(n,K(Y(t)));return;case 4:Rd(n,K(Y(t)));return;case 5:Zc(n,K(Y(t)));return;case 6:nu(n,K(Y(t)));return}AJ(n,e,t)}function VT(n,e,t){var i,r,c;c=(i=new _I,i),r=af(c,e,null),r&&r.Fi(),Ic(c,t),me((!n.c&&(n.c=new V(P0,n,12,10)),n.c),c),d1(c,0),hb(c,1),p1(c,!0),g1(c,!0)}function PJ(n,e){var t,i,r;return t=n5(n.g,e),I(t,235)?(r=u(t,235),r.Qh()==null,r.Nh()):I(t,498)?(i=u(t,1938),r=i.b,r):null}function _4e(n,e,t,i){var r,c;return pe(e),pe(t),c=u(M5(n.d,e),19),NPn(!!c,"Row %s not in %s",e,n.e),r=u(M5(n.b,t),19),NPn(!!r,"Column %s not in %s",t,n.c),HOn(n,c.a,r.a,i)}function QFn(n,e,t,i,r,c,o){var f,h,l,a,d;if(a=r[c],l=c==o-1,f=l?i:0,d=pFn(f,a),i!=10&&A(M(n,o-c),e[c],t[c],f,d),!l)for(++c,h=0;h1||f==-1?(c=u(h,15),r.Wb(W2e(n,c))):r.Wb(Zx(n,u(h,56)))))}function W4e(n,e,t,i){N8n();var r=iR;function c(){for(var o=0;ooB)return t;r>-1e-6&&++t}return t}function DJ(n,e){var t;e!=n.b?(t=null,n.b&&(t=sC(n.b,n,-4,t)),e&&(t=_2(e,n,-4,t)),t=DDn(n,e,t),t&&t.Fi()):n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,3,e,e))}function ZFn(n,e){var t;e!=n.f?(t=null,n.f&&(t=sC(n.f,n,-1,t)),e&&(t=_2(e,n,-1,t)),t=$Dn(n,e,t),t&&t.Fi()):n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,0,e,e))}function nxn(n){var e,t,i;if(n==null)return null;if(t=u(n,15),t.dc())return"";for(i=new i1,e=t.Kc();e.Ob();)dr(i,(ht(),Te(e.Pb()))),i.a+=" ";return NO(i,i.a.length-1)}function exn(n){var e,t,i;if(n==null)return null;if(t=u(n,15),t.dc())return"";for(i=new i1,e=t.Kc();e.Ob();)dr(i,(ht(),Te(e.Pb()))),i.a+=" ";return NO(i,i.a.length-1)}function eve(n,e,t){var i,r;return i=n.c[e.c.p][e.p],r=n.c[t.c.p][t.p],i.a!=null&&r.a!=null?TD(i.a,r.a):i.a!=null?-1:r.a!=null?1:0}function tve(n,e){var t,i,r,c,o,f;if(e)for(c=e.a.length,t=new fa(c),f=(t.b-t.a)*t.c<0?(nl(),Jl):new rl(t);f.Ob();)o=u(f.Pb(),19),r=j3(e,o.a),i=new tmn(n),zhe(i.a,r)}function ive(n,e){var t,i,r,c,o,f;if(e)for(c=e.a.length,t=new fa(c),f=(t.b-t.a)*t.c<0?(nl(),Jl):new rl(t);f.Ob();)o=u(f.Pb(),19),r=j3(e,o.a),i=new W6n(n),Ghe(i.a,r)}function rve(n){var e;if(n!=null&&n.length>0&&Di(n,n.length-1)==33)try{return e=Yxn(Yu(n,0,n.length-1)),e.e==null}catch(t){if(t=jt(t),!I(t,32))throw T(t)}return!1}function txn(n,e,t){var i,r,c;return i=e.ak(),c=e.dd(),r=i.$j()?hl(n,3,i,null,c,m4(n,i,c,I(i,99)&&(u(i,18).Bb&Yi)!=0),!0):hl(n,1,i,i.zj(),c,-1,!0),t?t.Ei(r):t=r,t}function cve(){var n,e,t;for(e=0,n=0;n<1;n++){if(t=CY((Me(n,1),"X".charCodeAt(n))),t==0)throw T(new Ce("Unknown Option: "+"X".substr(n)));e|=t}return e}function uve(n,e,t){var i,r,c;switch(i=Gi(e),r=jT(i),c=new wc,Hr(c,e),t.g){case 1:ui(c,b7(B2(r)));break;case 2:ui(c,B2(r))}return H(c,(nn(),Jb),Y(k(n,Jb))),c}function $J(n){var e,t;return e=u(ve(new re(ue(xr(n.a).a.Kc(),new Mn))),17),t=u(ve(new re(ue(ni(n.a).a.Kc(),new Mn))),17),on(sn(k(e,(G(),mf))))||on(sn(k(t,mf)))}function Vw(){Vw=N,SS=new W9("ONE_SIDE",0),IS=new W9("TWO_SIDES_CORNER",1),OS=new W9("TWO_SIDES_OPPOSING",2),PS=new W9("THREE_SIDES",3),AS=new W9("FOUR_SIDES",4)}function wx(n,e,t,i,r){var c,o;c=u(es(gt(e.Oc(),new Jbn),ga(new U1,new z1,new W1,A(M(Nu,1),z,132,0,[(hf(),hs)]))),15),o=u(ma(n.b,t,i),15),r==0?o.Wc(0,c):o.Gc(c)}function sve(n,e){var t,i,r,c,o;for(c=new E(e.a);c.a0&&SFn(this,this.c-1,(J(),Vn)),this.c0&&n[0].length>0&&(this.c=on(sn(k(Gi(n[0][0]),(G(),wun))))),this.a=F(cJn,q,2018,n.length,0,2),this.b=F(uJn,q,2019,n.length,0,2),this.d=new TDn}function ave(n){return n.c.length==0?!1:(Ln(0,n.c.length),u(n.c[0],17)).c.i.k==(Qn(),gi)?!0:C3(Xc(new $n(null,new xn(n,16)),new Iwn),new Own)}function dve(n,e,t){return le(t,"Tree layout",1),pC(n.b),ih(n.b,(c4(),gP),gP),ih(n.b,qm,qm),ih(n.b,uy,uy),ih(n.b,Gm,Gm),n.a=EM(n.b,e),H8e(n,e,kc(t,1)),ce(t),e}function rxn(n,e){var t,i,r,c,o,f,h;for(f=Cb(e),c=e.f,h=e.g,o=j.Math.sqrt(c*c+h*h),r=0,i=new E(f);i.a=0?(t=M7(n,$M),i=p7(n,$M)):(e=J0(n,1),t=M7(e,5e8),i=p7(e,5e8),i=qi(Ih(i,1),ci(n,1))),rf(Ih(i,32),ci(t,fr))}function sxn(n,e,t){var i,r;switch(i=(ne(e.b!=0),u(Ts(e,e.a.a),8)),t.g){case 0:i.b=0;break;case 2:i.b=n.f;break;case 3:i.a=0;break;default:i.a=n.g}return r=_e(e,0),y8(r,i),e}function oxn(n,e,t,i){var r,c,o,f,h;switch(h=n.b,c=e.d,o=c.j,f=WQ(o,h.d[o.g],t),r=ot(Qr(c.n),c.a),c.j.g){case 1:case 3:f.a+=r.a;break;case 2:case 4:f.b+=r.b}Kt(i,f,i.c.b,i.c)}function Tve(n,e,t){var i,r,c,o;for(o=Fr(n.e,e,0),c=new Jq,c.b=t,i=new Ii(n.e,o);i.b1;e>>=1)e&1&&(i=Fw(i,t)),t.d==1?t=Fw(t,t):t=new D$n(KBn(t.a,t.d,F(be,Le,25,t.d<<1,15,1)));return i=Fw(i,t),i}function _J(){_J=N;var n,e,t,i;for(Kin=F(ji,pr,25,25,15,1),Hin=F(ji,pr,25,33,15,1),i=152587890625e-16,e=32;e>=0;e--)Hin[e]=i,i*=.5;for(t=1,n=24;n>=0;n--)Kin[n]=t,t*=.5}function Ove(n){var e,t;if(on(sn(hn(n,(nn(),Qb))))){for(t=new re(ue(Gh(n).a.Kc(),new Mn));Se(t);)if(e=u(ve(t),79),Jd(e)&&on(sn(hn(e,Wa))))return!0}return!1}function fxn(n,e){var t,i,r;ri(n.f,e)&&(e.b=n,i=e.c,Fr(n.j,i,0)!=-1||W(n.j,i),r=e.d,Fr(n.j,r,0)!=-1||W(n.j,r),t=e.a.b,t.c.length!=0&&(!n.i&&(n.i=new K$n(n)),Wbe(n.i,t)))}function Dve(n){var e,t,i,r,c;return t=n.c.d,i=t.j,r=n.d.d,c=r.j,i==c?t.p=0&&An(n.substr(e,3),"GMT")||e>=0&&An(n.substr(e,3),"UTC"))&&(t[0]=e+3),dZ(n,t,i)}function Fve(n,e){var t,i,r,c,o;for(c=n.g.a,o=n.g.b,i=new E(n.d);i.at;c--)n[c]|=e[c-t-1]>>>o,n[c-1]=e[c-t-1]<=n.f)break;c.c[c.c.length]=t}return c}function HJ(n){var e,t,i,r;for(e=null,r=new E(n.wf());r.a0&&gc(n.g,e,n.g,e+i,f),o=t.Kc(),n.i+=i,r=0;rc&&Qfe(l,cIn(t[f],Rin))&&(r=f,c=h);return r>=0&&(i[0]=e+c),r}function Kve(n,e){var t;if(t=tyn(n.b.Hf(),e.b.Hf()),t!=0)return t;switch(n.b.Hf().g){case 1:case 2:return Uc(n.b.sf(),e.b.sf());case 3:case 4:return Uc(e.b.sf(),n.b.sf())}return 0}function Hve(n){var e,t,i;for(i=n.e.c.length,n.a=oa(be,[q,Le],[48,25],15,[i,i],2),t=new E(n.c);t.a>4&15,c=n[i]&15,o[r++]=r1n[t],o[r++]=r1n[c];return Hs(o,0,o.length)}function zve(n,e,t){var i,r,c;return i=e.ak(),c=e.dd(),r=i.$j()?hl(n,4,i,c,null,m4(n,i,c,I(i,99)&&(u(i,18).Bb&Yi)!=0),!0):hl(n,i.Kj()?2:1,i,c,i.zj(),-1,!0),t?t.Ei(r):t=r,t}function tu(n){var e,t;return n>=Yi?(e=rk+(n-Yi>>10&1023)&Ut,t=56320+(n-Yi&1023)&Ut,String.fromCharCode(e)+(""+String.fromCharCode(t))):String.fromCharCode(n&Ut)}function Uve(n,e){W0();var t,i,r,c;return r=u(u(ct(n.r,e),21),84),r.gc()>=2?(i=u(r.Kc().Pb(),111),t=n.u.Hc((Tu(),s9)),c=n.u.Hc(Pp),!i.a&&!t&&(r.gc()==2||c)):!1}function axn(n,e,t,i,r){var c,o,f;for(c=VNn(n,e,t,i,r),f=!1;!c;)rM(n,r,!0),f=!0,c=VNn(n,e,t,i,r);f&&rM(n,r,!1),o=rF(r),o.c.length!=0&&(n.d&&n.d.lg(o),axn(n,r,t,i,o))}function ZT(){ZT=N,uH=new l5(Xh,0),Dhn=new l5("DIRECTED",1),Fhn=new l5("UNDIRECTED",2),Ihn=new l5("ASSOCIATION",3),$hn=new l5("GENERALIZATION",4),Ohn=new l5("DEPENDENCY",5)}function Wve(n,e){var t;if(!nf(n))throw T(new Dr(sqn));switch(t=nf(n),e.g){case 1:return-(n.j+n.f);case 2:return n.i-t.g;case 3:return n.j-t.f;case 4:return-(n.i+n.g)}return 0}function f4(n,e){var t,i;for(_n(e),i=n.b.c.length,W(n.b,e);i>0;){if(t=i,i=(i-1)/2|0,n.a.ue(un(n.b,i),e)<=0)return Es(n.b,t,e),!0;Es(n.b,t,un(n.b,i))}return Es(n.b,i,e),!0}function qJ(n,e,t,i){var r,c;if(r=0,t)r=pT(n.a[t.g][e.g],i);else for(c=0;c=f)}function GJ(n,e,t,i){var r;if(r=!1,mi(i)&&(r=!0,l3(e,t,Te(i))),r||q0(i)&&(r=!0,GJ(n,e,t,i)),r||I(i,236)&&(r=!0,la(e,t,u(i,236))),!r)throw T(new UI(Btn))}function Vve(n,e){var t,i,r;if(t=e.Hh(n.a),t&&(r=Ko((!t.b&&(t.b=new qu((Sn(),nr),tc,t)),t.b),Xs),r!=null)){for(i=1;i<(gu(),S1n).length;++i)if(An(S1n[i],r))return i}return 0}function Qve(n,e){var t,i,r;if(t=e.Hh(n.a),t&&(r=Ko((!t.b&&(t.b=new qu((Sn(),nr),tc,t)),t.b),Xs),r!=null)){for(i=1;i<(gu(),P1n).length;++i)if(An(P1n[i],r))return i}return 0}function dxn(n,e){var t,i,r,c;if(_n(e),c=n.a.gc(),c0?1:0;c.a[r]!=t;)c=c.a[r],r=n.a.ue(t.d,c.d)>0?1:0;c.a[r]=i,i.b=t.b,i.a[0]=t.a[0],i.a[1]=t.a[1],t.a[0]=null,t.a[1]=null}function Zve(n){Tu();var e,t;return e=pt(n1,A(M(qP,1),z,273,0,[Gl])),!(Z8(hC(e,n))>1||(t=pt(s9,A(M(qP,1),z,273,0,[u9,Pp])),Z8(hC(t,n))>1))}function UJ(n,e){var t;t=vc((Z1(),uo),n),I(t,498)?kr(uo,n,new Dkn(this,e)):kr(uo,n,this),jx(this,e),e==(Qp(),g1n)?(this.wb=u(this,1939),u(e,1941)):this.wb=(ol(),Nn)}function n5e(n){var e,t,i;if(n==null)return null;for(e=null,t=0;t=j1?"error":i>=900?"warn":i>=800?"info":"log"),ZCn(t,n.a),n.b&&UY(e,t,n.b,"Exception: ",!0))}function k(n,e){var t,i;return i=(!n.q&&(n.q=new we),te(n.q,e)),i??(t=e.wg(),I(t,4)&&(t==null?(!n.q&&(n.q=new we),O2(n.q,e)):(!n.q&&(n.q=new we),it(n.q,e,t))),t)}function Qi(){Qi=N,Vf=new U9("P1_CYCLE_BREAKING",0),$l=new U9("P2_LAYERING",1),Hc=new U9("P3_NODE_ORDERING",2),Cc=new U9("P4_NODE_PLACEMENT",3),Ir=new U9("P5_EDGE_ROUTING",4)}function pxn(n,e){var t,i,r,c,o;for(r=e==1?KR:_R,i=r.a.ec().Kc();i.Ob();)for(t=u(i.Pb(),103),o=u(ct(n.f.c,t),21).Kc();o.Ob();)c=u(o.Pb(),46),Qc(n.b.b,c.b),Qc(n.b.a,u(c.b,81).d)}function e5e(n,e){X5();var t;if(n.c==e.c){if(n.b==e.b||Mbe(n.b,e.b)){if(t=xre(n.b)?1:-1,n.a&&!e.a)return t;if(!n.a&&e.a)return-t}return Uc(n.b.g,e.b.g)}else return Zt(n.c,e.c)}function t5e(n,e){var t;le(e,"Hierarchical port position processing",1),t=n.b,t.c.length>0&&LBn((Ln(0,t.c.length),u(t.c[0],29)),n),t.c.length>1&&LBn(u(un(t,t.c.length-1),29),n),ce(e)}function vxn(n,e){var t,i,r;if(XJ(n,e))return!0;for(i=new E(e);i.a=r||e<0)throw T(new vr(NB+e+Ra+r));if(t>=r||t<0)throw T(new vr(BB+t+Ra+r));return e!=t?i=(c=n.Ti(t),n.Hi(e,c),c):i=n.Oi(t),i}function yxn(n){var e,t,i;if(i=n,n)for(e=0,t=n.Ug();t;t=t.Ug()){if(++e>JL)return yxn(t);if(i=t,t==n)throw T(new Dr("There is a cycle in the containment hierarchy of "+n))}return i}function kl(n){var e,t,i;for(i=new ka(Ji,"[","]"),t=n.Kc();t.Ob();)e=t.Pb(),xh(i,B(e)===B(n)?"(this Collection)":e==null?iu:Lr(e));return i.a?i.e.length==0?i.a.a:i.a.a+(""+i.e):i.c}function XJ(n,e){var t,i;if(i=!1,e.gc()<2)return!1;for(t=0;ti&&(Me(e-1,n.length),n.charCodeAt(e-1)<=32);)--e;return i>0||e1&&(n.j.b+=n.e)):(n.j.a+=t.a,n.j.b=j.Math.max(n.j.b,t.b),n.d.c.length>1&&(n.j.a+=n.e))}function yl(){yl=N,eXn=A(M(Zi,1),hc,61,0,[(J(),Kn),Vn,ae]),nXn=A(M(Zi,1),hc,61,0,[Vn,ae,Gn]),tXn=A(M(Zi,1),hc,61,0,[ae,Gn,Kn]),iXn=A(M(Zi,1),hc,61,0,[Gn,Kn,Vn])}function r5e(n,e,t,i){var r,c,o,f,h,l,a;if(o=n.c.d,f=n.d.d,o.j!=f.j)for(a=n.b,r=o.j,h=null;r!=f.j;)h=e==0?yT(r):pQ(r),c=WQ(r,a.d[r.g],t),l=WQ(h,a.d[h.g],t),Ke(i,ot(c,l)),r=h}function c5e(n,e,t,i){var r,c,o,f,h;return o=PFn(n.a,e,t),f=u(o.a,19).a,c=u(o.b,19).a,i&&(h=u(k(e,(G(),Mu)),10),r=u(k(t,Mu),10),h&&r&&(xAn(n.b,h,r),f+=n.b.i,c+=n.b.e)),f>c}function Exn(n){var e,t,i,r,c,o,f,h,l;for(this.a=Y$n(n),this.b=new X,t=n,i=0,r=t.length;iZO(n.d).c?(n.i+=n.g.c,BF(n.d)):ZO(n.d).c>ZO(n.g).c?(n.e+=n.d.c,BF(n.g)):(n.i+=nCn(n.g),n.e+=nCn(n.d),BF(n.g),BF(n.d))}function o5e(n,e,t){var i,r,c,o;for(c=e.q,o=e.r,new aa((No(),Bl),e,c,1),new aa(Bl,c,o,1),r=new E(t);r.af&&(h=f/i),r>c&&(l=c/r),o=j.Math.min(h,l),n.a+=o*(e.a-n.a),n.b+=o*(e.b-n.b)}function a5e(n,e,t,i,r){var c,o;for(o=!1,c=u(un(t.b,0),33);Aye(n,e,c,i,r)&&(o=!0,z4e(t,c),t.b.c.length!=0);)c=u(un(t.b,0),33);return t.b.c.length==0&&T7(t.j,t),o&>(e.q),o}function d5e(n,e){eg();var t,i,r,c;if(e.b<2)return!1;for(c=_e(e,0),t=u(Re(c),8),i=t;c.b!=c.d.c;){if(r=u(Re(c),8),Kx(n,i,r))return!0;i=r}return!!Kx(n,i,t)}function QJ(n,e,t,i){var r,c;return t==0?(!n.o&&(n.o=new Wu((Dc(),Ul),S0,n,0)),yE(n.o,e,i)):(c=u(On((r=u(Rn(n,16),26),r||n.zh()),t),66),c.Nj().Rj(n,Rc(n),t-ee(n.zh()),e,i))}function jx(n,e){var t;e!=n.sb?(t=null,n.sb&&(t=u(n.sb,49).ih(n,1,h9,t)),e&&(t=u(e,49).gh(n,1,h9,t)),t=hQ(n,e,t),t&&t.Fi()):n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,4,e,e))}function b5e(n,e){var t,i,r,c;if(e)r=Bh(e,"x"),t=new Z6n(n),D3(t.a,(_n(r),r)),c=Bh(e,"y"),i=new nmn(n),F3(i.a,(_n(c),c));else throw T(new Af("All edge sections need an end point."))}function w5e(n,e){var t,i,r,c;if(e)r=Bh(e,"x"),t=new Q6n(n),$3(t.a,(_n(r),r)),c=Bh(e,"y"),i=new J6n(n),x3(i.a,(_n(c),c));else throw T(new Af("All edge sections need a start point."))}function g5e(n,e){var t,i,r,c,o,f,h;for(i=fDn(n),c=0,f=i.length;c>22-e,r=n.h<>22-e):e<44?(t=0,i=n.l<>44-e):(t=0,i=0,r=n.l<n)throw T(new Hn("k must be smaller than n"));return e==0||e==n?1:n==0?0:CJ(n)/(CJ(e)*CJ(n-e))}function JJ(n,e){var t,i,r,c;for(t=new kz(n);t.g==null&&!t.c?ZW(t):t.g==null||t.i!=0&&u(t.g[t.i-1],47).Ob();)if(c=u(cM(t),56),I(c,160))for(i=u(c,160),r=0;r>4],e[t*2+1]=oI[c&15];return Hs(e,0,e.length)}function $5e(n){QE();var e,t,i;switch(i=n.c.length,i){case 0:return fzn;case 1:return e=u(dLn(new E(n)),42),ife(e.cd(),e.dd());default:return t=u(lf(n,F(Ha,OM,42,n.c.length,0,1)),165),new GI(t)}}function F5e(n){var e,t,i,r,c,o;for(e=new gw,t=new gw,ll(e,n),ll(t,n);t.b!=t.c;)for(r=u(y2(t),37),o=new E(r.a);o.a0&&H7(n,t,e),r):gme(n,e,t)}function Oxn(n,e,t){var i,r,c,o;if(e.b!=0){for(i=new Ct,o=_e(e,0);o.b!=o.d.c;)c=u(Re(o),86),Vi(i,$V(c)),r=c.e,r.a=u(k(c,(cc(),mK)),19).a,r.b=u(k(c,pon),19).a;Oxn(n,i,kc(t,i.b/n.a|0))}}function Dxn(n,e){var t,i,r,c,o;if(n.e<=e||Hle(n,n.g,e))return n.g;for(c=n.r,i=n.g,o=n.r,r=(c-i)/2+i;i+11&&(n.e.b+=n.a)):(n.e.a+=t.a,n.e.b=j.Math.max(n.e.b,t.b),n.d.c.length>1&&(n.e.a+=n.a))}function R5e(n){var e,t,i,r;switch(r=n.i,e=r.b,i=r.j,t=r.g,r.a.g){case 0:t.a=(n.g.b.o.a-i.a)/2;break;case 1:t.a=e.d.n.a+e.d.a.a;break;case 2:t.a=e.d.n.a+e.d.a.a-i.a;break;case 3:t.b=e.d.n.b+e.d.a.b}}function $xn(n,e,t,i,r){if(ii&&(n.a=i),n.br&&(n.b=r),n}function _5e(n){if(I(n,149))return w8e(u(n,149));if(I(n,229))return a2e(u(n,229));if(I(n,23))return m5e(u(n,23));throw T(new Hn(Rtn+kl(new Ku(A(M(Zn,1),rn,1,5,[n])))))}function K5e(n,e,t,i,r){var c,o,f;for(c=!0,o=0;o>>r|t[o+i+1]<>>r,++o}return c}function eY(n,e,t,i){var r,c,o;if(e.k==(Qn(),gi)){for(c=new re(ue(xr(e).a.Kc(),new Mn));Se(c);)if(r=u(ve(c),17),o=r.c.i.k,o==gi&&n.c.a[r.c.i.c.p]==i&&n.c.a[e.c.p]==t)return!0}return!1}function H5e(n,e){var t,i,r,c;return e&=63,t=n.h&Wh,e<22?(c=t>>>e,r=n.m>>e|t<<22-e,i=n.l>>e|n.m<<22-e):e<44?(c=0,r=t>>>e-22,i=n.m>>e-22|n.h<<44-e):(c=0,r=0,i=t>>>e-44),Bc(i&Lu,r&Lu,c&Wh)}function Fxn(n,e,t,i){var r;this.b=i,this.e=n==(_d(),_m),r=e[t],this.d=oa(_u,[q,wh],[177,25],16,[r.length,r.length],2),this.a=oa(be,[q,Le],[48,25],15,[r.length,r.length],2),this.c=new NJ(e,t)}function q5e(n){var e,t,i;for(n.k=new iX((J(),A(M(Zi,1),hc,61,0,[Xr,Kn,Vn,ae,Gn])).length,n.j.c.length),i=new E(n.j);i.a=t)return l4(n,e,i.p),!0;return!1}function Lxn(n){var e;return n.Db&64?Ex(n):(e=new Ju(Stn),!n.a||De(De((e.a+=' "',e),n.a),'"'),De(dd(De(dd(De(dd(De(dd((e.a+=" (",e),n.i),","),n.j)," | "),n.g),","),n.f),")"),e.a)}function Nxn(n,e,t){var i,r,c,o,f;for(f=Kc(n.e.Tg(),e),r=u(n.g,119),i=0,o=0;ot?fY(n,t,"start index"):e<0||e>t?fY(e,t,"end index"):T6("end index (%s) must not be less than start index (%s)",A(M(Zn,1),rn,1,5,[Q(e),Q(n)]))}function Rxn(n,e){var t,i,r,c;for(i=0,r=n.length;i0&&_xn(n,c,t));e.p=0}function bn(n){var e;this.c=new Ct,this.f=n.e,this.e=n.d,this.i=n.g,this.d=n.c,this.b=n.b,this.k=n.j,this.a=n.a,n.i?this.j=n.i:this.j=(e=u(xo($1),9),new ks(e,u(bo(e,e.length),9),0)),this.g=n.f}function V5e(n){var e,t,i,r;for(e=sl(De(new Ju("Predicates."),"and"),40),t=!0,r=new $v(n);r.b0?f[o-1]:F(vh,E1,10,0,0,1),r=f[o],l=o=0?n.Bh(r):bY(n,i);else throw T(new Hn(Pl+i.ne()+em));else throw T(new Hn(vqn+e+mqn));else As(n,t,i)}function tY(n){var e,t;if(t=null,e=!1,I(n,204)&&(e=!0,t=u(n,204).a),e||I(n,258)&&(e=!0,t=""+u(n,258).a),e||I(n,483)&&(e=!0,t=""+u(n,483).a),!e)throw T(new UI(Btn));return t}function Gxn(n,e){var t,i;if(n.f){for(;e.Ob();)if(t=u(e.Pb(),72),i=t.ak(),I(i,99)&&u(i,18).Bb&uc&&(!n.e||i.Gj()!=Av||i.aj()!=0)&&t.dd()!=null)return e.Ub(),!0;return!1}else return e.Ob()}function zxn(n,e){var t,i;if(n.f){for(;e.Sb();)if(t=u(e.Ub(),72),i=t.ak(),I(i,99)&&u(i,18).Bb&uc&&(!n.e||i.Gj()!=Av||i.aj()!=0)&&t.dd()!=null)return e.Pb(),!0;return!1}else return e.Sb()}function iY(n,e,t){var i,r,c,o,f,h;for(h=Kc(n.e.Tg(),e),i=0,f=n.i,r=u(n.g,119),o=0;o1&&(e.c[e.c.length]=c))}function Z5e(n){var e,t,i,r;for(t=new Ct,Vi(t,n.o),i=new Yq;t.b!=0;)e=u(t.b==0?null:(ne(t.b!=0),Ts(t,t.a.a)),508),r=C_n(n,e,!0),r&&W(i.a,e);for(;i.a.c.length!=0;)e=u(pDn(i),508),C_n(n,e,!1)}function y1(){y1=N,Lfn=new l2(K6,0),_i=new l2("BOOLEAN",1),sc=new l2("INT",2),kv=new l2("STRING",3),Or=new l2("DOUBLE",4),Nt=new l2("ENUM",5),Cp=new l2("ENUMSET",6),yf=new l2("OBJECT",7)}function m6(n,e){var t,i,r,c,o;i=j.Math.min(n.c,e.c),c=j.Math.min(n.d,e.d),r=j.Math.max(n.c+n.b,e.c+e.b),o=j.Math.max(n.d+n.a,e.d+e.a),r=(r/2|0))for(this.e=i?i.c:null,this.d=r;t++0;)nX(this);this.b=e,this.a=null}function t6e(n,e){var t,i;e.a?T8e(n,e):(t=u(rD(n.b,e.b),57),t&&t==n.a[e.b.f]&&t.a&&t.a!=e.b.a&&t.c.Fc(e.b),i=u(iD(n.b,e.b),57),i&&n.a[i.f]==e.b&&i.a&&i.a!=e.b.a&&e.b.c.Fc(i),zO(n.b,e.b))}function Wxn(n,e){var t,i;if(t=u(br(n.b,e),124),u(u(ct(n.r,e),21),84).dc()){t.n.b=0,t.n.c=0;return}t.n.b=n.C.b,t.n.c=n.C.c,n.A.Hc((Vu(),id))&&pBn(n,e),i=Dpe(n,e),qx(n,e)==(qw(),Hl)&&(i+=2*n.w),t.a.a=i}function Xxn(n,e){var t,i;if(t=u(br(n.b,e),124),u(u(ct(n.r,e),21),84).dc()){t.n.d=0,t.n.a=0;return}t.n.d=n.C.d,t.n.a=n.C.a,n.A.Hc((Vu(),id))&&vBn(n,e),i=$pe(n,e),qx(n,e)==(qw(),Hl)&&(i+=2*n.w),t.a.b=i}function i6e(n,e){var t,i,r,c;for(c=new X,i=new E(e);i.at.a&&(i.Hc((vb(),dy))?r=(e.a-t.a)/2:i.Hc(by)&&(r=e.a-t.a)),e.b>t.b&&(i.Hc((vb(),gy))?c=(e.b-t.b)/2:i.Hc(wy)&&(c=e.b-t.b)),zJ(n,r,c)}function tLn(n,e,t,i,r,c,o,f,h,l,a,d,g){I(n.Cb,88)&&yb(Iu(u(n.Cb,88)),4),Ic(n,t),n.f=o,Z3(n,f),e4(n,h),Y3(n,l),n4(n,a),p1(n,d),t4(n,g),g1(n,!0),d1(n,r),n.ok(c),Ca(n,e),i!=null&&(n.i=null,nT(n,i))}function iLn(n){var e,t;if(n.f){for(;n.n>0;){if(e=u(n.k.Xb(n.n-1),72),t=e.ak(),I(t,99)&&u(t,18).Bb&uc&&(!n.e||t.Gj()!=Av||t.aj()!=0)&&e.dd()!=null)return!0;--n.n}return!1}else return n.n>0}function fY(n,e,t){if(n<0)return T6(K_n,A(M(Zn,1),rn,1,5,[t,Q(n)]));if(e<0)throw T(new Hn(H_n+e));return T6("%s (%s) must not be greater than size (%s)",A(M(Zn,1),rn,1,5,[t,Q(n),Q(e)]))}function hY(n,e,t,i,r,c){var o,f,h,l;if(o=i-t,o<7){e2e(e,t,i,c);return}if(h=t+r,f=i+r,l=h+(f-h>>1),hY(e,n,h,l,-r,c),hY(e,n,l,f,-r,c),c.ue(n[l-1],n[l])<=0){for(;t=0?n.sh(c,t):_Y(n,r,t);else throw T(new Hn(Pl+r.ne()+em));else throw T(new Hn(vqn+e+mqn));else Ps(n,i,r,t)}function rLn(n){var e,t,i,r;if(t=u(n,49).qh(),t)try{if(i=null,e=b4((Z1(),uo),_Bn(r2e(t))),e&&(r=e.rh(),r&&(i=r.Wk(aie(t.e)))),i&&i!=n)return rLn(i)}catch(c){if(c=jt(c),!I(c,60))throw T(c)}return n}function _c(n,e,t){var i,r,c,o;if(o=e==null?0:n.b.se(e),r=(i=n.a.get(o),i??new Array),r.length==0)n.a.set(o,r);else if(c=kDn(n,e,r),c)return c.ed(t);return Mt(r,r.length,new Nj(e,t)),++n.c,cC(n.b),null}function cLn(n,e){var t,i;return pC(n.a),ih(n.a,(iT(),EP),EP),ih(n.a,mv,mv),i=new hi,Ze(i,mv,(CT(),CK)),B(hn(e,(gb(),AK)))!==B((f7(),CP))&&Ze(i,mv,jK),Ze(i,mv,EK),cyn(n.a,i),t=EM(n.a,e),t}function uLn(n){if(!n)return q9n(),vzn;var e=n.valueOf?n.valueOf():n;if(e!==n){var t=dR[typeof e];return t?t(e):tQ(typeof e)}else return n instanceof Array||n instanceof j.Array?new sq(n):new M9(n)}function sLn(n,e,t){var i,r,c;switch(c=n.o,i=u(br(n.p,t),244),r=i.i,r.b=F7(i),r.a=$7(i),r.b=j.Math.max(r.b,c.a),r.b>c.a&&!e&&(r.b=c.a),r.c=-(r.b-c.a)/2,t.g){case 1:r.d=-r.a;break;case 3:r.d=c.b}tL(i),iL(i)}function oLn(n,e,t){var i,r,c;switch(c=n.o,i=u(br(n.p,t),244),r=i.i,r.b=F7(i),r.a=$7(i),r.a=j.Math.max(r.a,c.b),r.a>c.b&&!e&&(r.a=c.b),r.d=-(r.a-c.b)/2,t.g){case 4:r.c=-r.b;break;case 2:r.c=c.a}tL(i),iL(i)}function v6e(n,e){var t,i,r,c,o;if(!e.dc()){if(r=u(e.Xb(0),128),e.gc()==1){xNn(n,r,r,1,0,e);return}for(t=1;t0)try{r=us(e,Bi,nt)}catch(c){throw c=jt(c),I(c,127)?(i=c,T(new xC(i))):T(c)}return t=(!n.a&&(n.a=new $I(n)),n.a),r=0?u(D(t,r),56):null}function j6e(n,e){if(n<0)return T6(K_n,A(M(Zn,1),rn,1,5,["index",Q(n)]));if(e<0)throw T(new Hn(H_n+e));return T6("%s (%s) must be less than size (%s)",A(M(Zn,1),rn,1,5,["index",Q(n),Q(e)]))}function E6e(n){var e,t,i,r,c;if(n==null)return iu;for(c=new ka(Ji,"[","]"),t=n,i=0,r=t.length;i0)for(o=n.c.d,f=n.d.d,r=If(ki(new fn(f.a,f.b),o),1/(i+1)),c=new fn(o.a,o.b),t=new E(n.a);t.a=0?n._g(t,!0,!0):Yd(n,r,!0),153)),u(i,215).ol(e);else throw T(new Hn(Pl+e.ne()+em))}function wY(n){var e,t;return n>-0x800000000000&&n<0x800000000000?n==0?0:(e=n<0,e&&(n=-n),t=Gt(j.Math.floor(j.Math.log(n)/.6931471805599453)),(!e||n!=j.Math.pow(2,t))&&++t,t):FOn(eu(n))}function L6e(n){var e,t,i,r,c,o,f;for(c=new Sh,t=new E(n);t.a2&&f.e.b+f.j.b<=2&&(r=f,i=o),c.a.zc(r,c),r.q=i);return c}function gLn(n,e){var t,i,r;return i=new qh(n),Sr(i,e),H(i,(G(),qS),e),H(i,(nn(),Lt),(Ti(),Ac)),H(i,Qf,(oh(),FP)),ea(i,(Qn(),Xt)),t=new wc,Hr(t,i),ui(t,(J(),Gn)),r=new wc,Hr(r,i),ui(r,Vn),i}function pLn(n){switch(n.g){case 0:return new WI((_d(),ry));case 1:return new D4n;case 2:return new R4n;default:throw T(new Hn("No implementation is available for the crossing minimizer "+(n.f!=null?n.f:""+n.g)))}}function vLn(n,e){var t,i,r,c,o;for(n.c[e.p]=!0,W(n.a,e),o=new E(e.j);o.a=c)o.$b();else for(r=o.Kc(),i=0;i0?dG():o<0&&jLn(n,e,-o),!0):!1}function $7(n){var e,t,i,r,c,o,f;if(f=0,n.b==0){for(o=rFn(n,!0),e=0,i=o,r=0,c=i.length;r0&&(f+=t,++e);e>1&&(f+=n.c*(e-1))}else f=J9n(oOn(YE(gt(ID(n.a),new xln),new Lln)));return f>0?f+n.n.d+n.n.a:0}function F7(n){var e,t,i,r,c,o,f;if(f=0,n.b==0)f=J9n(oOn(YE(gt(ID(n.a),new $ln),new Fln)));else{for(o=cFn(n,!0),e=0,i=o,r=0,c=i.length;r0&&(f+=t,++e);e>1&&(f+=n.c*(e-1))}return f>0?f+n.n.b+n.n.c:0}function G6e(n,e){var t,i,r,c;for(c=u(br(n.b,e),124),t=c.a,r=u(u(ct(n.r,e),21),84).Kc();r.Ob();)i=u(r.Pb(),111),i.c&&(t.a=j.Math.max(t.a,nW(i.c)));if(t.a>0)switch(e.g){case 2:c.n.c=n.s;break;case 4:c.n.b=n.s}}function z6e(n,e){var t,i,r;return t=u(k(e,(Go(),Q4)),19).a-u(k(n,Q4),19).a,t==0?(i=ki(Qr(u(k(n,(dl(),Bk)),8)),u(k(n,vm),8)),r=ki(Qr(u(k(e,Bk),8)),u(k(e,vm),8)),Zt(i.a*i.b,r.a*r.b)):t}function U6e(n,e){var t,i,r;return t=u(k(e,(Zd(),jP)),19).a-u(k(n,jP),19).a,t==0?(i=ki(Qr(u(k(n,(cc(),sy)),8)),u(k(n,zm),8)),r=ki(Qr(u(k(e,sy),8)),u(k(e,zm),8)),Zt(i.a*i.b,r.a*r.b)):t}function ELn(n){var e,t;return t=new V1,t.a+="e_",e=ewe(n),e!=null&&(t.a+=""+e),n.c&&n.d&&(De((t.a+=" ",t),UT(n.c)),De(rc((t.a+="[",t),n.c.i),"]"),De((t.a+=TN,t),UT(n.d)),De(rc((t.a+="[",t),n.d.i),"]")),t.a}function CLn(n){switch(n.g){case 0:return new F4n;case 1:return new x4n;case 2:return new $4n;case 3:return new L4n;default:throw T(new Hn("No implementation is available for the layout phase "+(n.f!=null?n.f:""+n.g)))}}function pY(n,e,t,i,r){var c;switch(c=0,r.g){case 1:c=j.Math.max(0,e.b+n.b-(t.b+i));break;case 3:c=j.Math.max(0,-n.b-i);break;case 2:c=j.Math.max(0,-n.a-i);break;case 4:c=j.Math.max(0,e.a+n.a-(t.a+i))}return c}function W6e(n,e,t){var i,r,c,o,f;if(t)for(r=t.a.length,i=new fa(r),f=(i.b-i.a)*i.c<0?(nl(),Jl):new rl(i);f.Ob();)o=u(f.Pb(),19),c=j3(t,o.a),Dtn in c.a||xB in c.a?rke(n,c,e):hTe(n,c,e),Oce(u(te(n.b,i4(c)),79))}function vY(n){var e,t;switch(n.b){case-1:return!0;case 0:return t=n.t,t>1||t==-1?(n.b=-1,!0):(e=qs(n),e&&(er(),e.Cj()==kGn)?(n.b=-1,!0):(n.b=1,!1));default:case 1:return!1}}function X6e(n,e){var t,i,r,c,o;for(i=(!e.s&&(e.s=new V(su,e,21,17)),e.s),c=null,r=0,o=i.i;r=0&&i=0?n._g(t,!0,!0):Yd(n,r,!0),153)),u(i,215).ll(e);throw T(new Hn(Pl+e.ne()+MB))}function Z6e(){FG();var n;return cee?u(b4((Z1(),uo),Vs),1939):(He(Ha,new Qpn),FEe(),n=u(I(vc((Z1(),uo),Vs),547)?vc(uo,Vs):new hTn,547),cee=!0,ITe(n),xTe(n),it(($G(),w1n),n,new apn),kr(uo,Vs,n),n)}function nme(n,e){var t,i,r,c;n.j=-1,Hu(n.e)?(t=n.i,c=n.i!=0,F8(n,e),i=new Lh(n.e,3,n.c,null,e,t,c),r=e.Qk(n.e,n.c,null),r=txn(n,e,r),r?(r.Ei(i),r.Fi()):et(n.e,i)):(F8(n,e),r=e.Qk(n.e,n.c,null),r&&r.Fi())}function tM(n,e){var t,i,r;if(r=0,i=e[0],i>=n.length)return-1;for(t=(Me(i,n.length),n.charCodeAt(i));t>=48&&t<=57&&(r=r*10+(t-48),++i,!(i>=n.length));)t=(Me(i,n.length),n.charCodeAt(i));return i>e[0]?e[0]=i:r=-1,r}function eme(n){var e,t,i,r,c;return r=u(n.a,19).a,c=u(n.b,19).a,t=r,i=c,e=j.Math.max(j.Math.abs(r),j.Math.abs(c)),r<=0&&r==c?(t=0,i=c-1):r==-e&&c!=e?(t=c,i=r,c>=0&&++t):(t=-c,i=r),new Pi(Q(t),Q(i))}function tme(n,e,t,i){var r,c,o,f,h,l;for(r=0;r=0&&l>=0&&h=n.i)throw T(new vr(NB+e+Ra+n.i));if(t>=n.i)throw T(new vr(BB+t+Ra+n.i));return i=n.g[t],e!=t&&(e>16),e=i>>16&16,t=16-e,n=n>>e,i=n-256,e=i>>16&8,t+=e,n<<=e,i=n-Ib,e=i>>16&4,t+=e,n<<=e,i=n-Nf,e=i>>16&2,t+=e,n<<=e,i=n>>14,e=i&~(i>>1),t+2-e)}function rme(n){C2();var e,t,i,r;for(eS=new X,DR=new we,OR=new X,e=(!n.a&&(n.a=new V(Pt,n,10,11)),n.a),LCe(e),r=new ie(e);r.e!=r.i.gc();)i=u(oe(r),33),Fr(eS,i,0)==-1&&(t=new X,W(OR,t),L$n(i,t));return OR}function cme(n,e,t){var i,r,c,o;n.a=t.b.d,I(e,352)?(r=ng(u(e,79),!1,!1),c=I7(r),i=new s5n(n),$i(c,i),z7(c,r),e.We((Xe(),Rg))!=null&&$i(u(e.We(Rg),74),i)):(o=u(e,470),o.Hg(o.Dg()+n.a.a),o.Ig(o.Eg()+n.a.b))}function MLn(n,e){var t,i,r,c,o,f,h,l;for(l=K(Y(k(e,(nn(),Fm)))),h=n[0].n.a+n[0].o.a+n[0].d.c+l,f=1;f=0?t:(f=L5(ki(new fn(o.c+o.b/2,o.d+o.a/2),new fn(c.c+c.b/2,c.d+c.a/2))),-(XBn(c,o)-1)*f)}function sme(n,e,t){var i;Rt(new $n(null,(!t.a&&(t.a=new V(Tt,t,6,6)),new xn(t.a,16))),new hkn(n,e)),Rt(new $n(null,(!t.n&&(t.n=new V(Br,t,1,7)),new xn(t.n,16))),new lkn(n,e)),i=u(hn(t,(Xe(),Rg)),74),i&&EV(i,n,e)}function Yd(n,e,t){var i,r,c;if(c=rg((gu(),xi),n.Tg(),e),c)return er(),u(c,66).Oj()||(c=A2(jr(xi,c))),r=(i=n.Yg(c),u(i>=0?n._g(i,!0,!0):Yd(n,c,!0),153)),u(r,215).hl(e,t);throw T(new Hn(Pl+e.ne()+MB))}function kY(n,e,t,i){var r,c,o,f,h;if(r=n.d[e],r){if(c=r.g,h=r.i,i!=null){for(f=0;f=t&&(i=e,l=(h.c+h.a)/2,o=l-t,h.c<=l-t&&(r=new hD(h.c,o),Q0(n,i++,r)),f=l+t,f<=h.a&&(c=new hD(f,h.a),tb(i,n.c.length),e5(n.c,i,c)))}function yY(n){var e;if(!n.c&&n.g==null)n.d=n.si(n.f),me(n,n.d),e=n.d;else{if(n.g==null)return!0;if(n.i==0)return!1;e=u(n.g[n.i-1],47)}return e==n.b&&null.km>=null.jm()?(cM(n),yY(n)):e.Ob()}function lme(n,e,t){var i,r,c,o,f;if(f=t,!f&&(f=YU(new zp,0)),le(f,qKn,1),XRn(n.c,e),o=TEe(n.a,e),o.gc()==1)IRn(u(o.Xb(0),37),f);else for(c=1/o.gc(),r=o.Kc();r.Ob();)i=u(r.Pb(),37),IRn(i,kc(f,c));mie(n.a,o,e),T7e(e),ce(f)}function PLn(n){if(this.a=n,n.c.i.k==(Qn(),Xt))this.c=n.c,this.d=u(k(n.c.i,(G(),ec)),61);else if(n.d.i.k==Xt)this.c=n.d,this.d=u(k(n.d.i,(G(),ec)),61);else throw T(new Hn("Edge "+n+" is not an external edge."))}function ILn(n,e){var t,i,r;r=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,3,r,n.b)),e?e!=n&&(Ic(n,e.zb),G$(n,e.d),t=(i=e.c,i??e.zb),U$(n,t==null||An(t,e.zb)?null:t)):(Ic(n,null),G$(n,0),U$(n,null))}function OLn(n){var e,t;if(n.f){for(;n.n=o)throw T(new V0(e,o));return r=t[e],o==1?i=null:(i=F(bH,qB,415,o-1,0,1),gc(t,0,i,0,e),c=o-e-1,c>0&&gc(t,e+1,i,e,c)),r4(n,i),nLn(n,e,r),r}function z2(){z2=N,Dp=u(D(R((jG(),oc).qb),6),34),Op=u(D(R(oc.qb),3),34),kH=u(D(R(oc.qb),4),34),yH=u(D(R(oc.qb),5),18),QT(Dp),QT(Op),QT(kH),QT(yH),fee=new Ku(A(M(su,1),gg,170,0,[Dp,Op]))}function xLn(n,e){var t;this.d=new Bv,this.b=e,this.e=new mr(e.qf()),t=n.u.Hc((Tu(),Ty)),n.u.Hc(n1)?n.D?this.a=t&&!e.If():this.a=!0:n.u.Hc(Gl)?t?this.a=!(e.zf().Kc().Ob()||e.Bf().Kc().Ob()):this.a=!1:this.a=!1}function LLn(n,e){var t,i,r,c;for(t=n.o.a,c=u(u(ct(n.r,e),21),84).Kc();c.Ob();)r=u(c.Pb(),111),r.e.a=(i=r.b,i.Xe((Xe(),Bu))?i.Hf()==(J(),Gn)?-i.rf().a-K(Y(i.We(Bu))):t+K(Y(i.We(Bu))):i.Hf()==(J(),Gn)?-i.rf().a:t)}function NLn(n,e){var t,i,r,c;t=u(k(n,(nn(),ls)),103),c=u(hn(e,dv),61),r=u(k(n,Lt),98),r!=(Ti(),jf)&&r!=ql?c==(J(),Xr)&&(c=mZ(e,t),c==Xr&&(c=B2(t))):(i=PRn(e),i>0?c=B2(t):c=b7(B2(t))),gr(e,dv,c)}function wme(n,e){var t,i,r,c,o;for(o=n.j,e.a!=e.b&&bi(o,new zbn),r=o.c.length/2|0,i=0;i0&&H7(n,t,e),c):i.a!=null?(H7(n,e,t),-1):r.a!=null?(H7(n,t,e),1):0}function BLn(n,e){var t,i,r,c;n.ej()?(t=n.Vi(),c=n.fj(),++n.j,n.Hi(t,n.oi(t,e)),i=n.Zi(3,null,e,t,c),n.bj()?(r=n.cj(e,null),r?(r.Ei(i),r.Fi()):n.$i(i)):n.$i(i)):(nTn(n,e),n.bj()&&(r=n.cj(e,null),r&&r.Fi()))}function iM(n,e){var t,i,r,c,o;for(o=Kc(n.e.Tg(),e),r=new Jy,t=u(n.g,119),c=n.i;--c>=0;)i=t[c],o.rl(i.ak())&&me(r,i);!A_n(n,r)&&Hu(n.e)&&Gp(n,e.$j()?hl(n,6,e,(Pn(),cr),null,-1,!1):hl(n,e.Kj()?2:1,e,null,null,-1,!1))}function a4(){a4=N;var n,e;for(fp=F(vg,q,91,32,0,1),wm=F(vg,q,91,32,0,1),n=1,e=0;e<=18;e++)fp[e]=m7(n),wm[e]=m7(Ih(n,e)),n=Ni(n,5);for(;eo)||e.q&&(i=e.C,o=i.c.c.a-i.o.a/2,r=i.n.a-t,r>o)))}function vme(n,e){var t;le(e,"Partition preprocessing",1),t=u(es(gt(qr(gt(new $n(null,new xn(n.a,16)),new v0n),new m0n),new k0n),ga(new U1,new z1,new W1,A(M(Nu,1),z,132,0,[(hf(),hs)]))),15),Rt(t.Oc(),new y0n),ce(e)}function RLn(n){c$();var e,t,i,r,c,o,f;for(t=new ba,r=new E(n.e.b);r.a1?n.e*=K(n.a):n.f/=K(n.a),Zwe(n),rpe(n),_7e(n),H(n.b,(a6(),nS),n.g)}function qLn(n,e,t){var i,r,c,o,f,h;for(i=0,h=t,e||(i=t*(n.c.length-1),h*=-1),c=new E(n);c.a=0?(e||(e=new zv,i>0&&dr(e,n.substr(0,i))),e.a+="\\",w3(e,t&Ut)):e&&w3(e,t&Ut);return e?e.a:n}function Ame(n){var e;if(!n.a)throw T(new Dr("IDataType class expected for layout option "+n.f));if(e=xae(n.a),e==null)throw T(new Dr("Couldn't create new instance of property '"+n.f+"'. "+KHn+(Ph(Fy),Fy.k)+Etn));return u(e,414)}function Fx(n){var e,t,i,r,c;return c=n.eh(),c&&c.kh()&&(r=pl(n,c),r!=c)?(t=n.Vg(),i=(e=n.Vg(),e>=0?n.Qg(null):n.eh().ih(n,-1-e,null,null)),n.Rg(u(r,49),t),i&&i.Fi(),n.Lg()&&n.Mg()&&t>-1&&et(n,new wi(n,9,t,c,r)),r):c}function XLn(n){var e,t,i,r,c,o,f,h;for(o=0,c=n.f.e,i=0;i>5,r>=n.d)return n.e<0;if(t=n.a[r],e=1<<(e&31),n.e<0){if(i=dOn(n),r>16)),15).Xc(c),f0&&(!(tl(n.a.c)&&e.n.d)&&!(r3(n.a.c)&&e.n.b)&&(e.g.d+=j.Math.max(0,i/2-.5)),!(tl(n.a.c)&&e.n.a)&&!(r3(n.a.c)&&e.n.c)&&(e.g.a-=i-1))}function JLn(n){var e,t,i,r,c;if(r=new X,c=GBn(n,r),e=u(k(n,(G(),Mu)),10),e)for(i=new E(e.j);i.a>e,c=n.m>>e|t<<22-e,r=n.l>>e|n.m<<22-e):e<44?(o=i?Wh:0,c=t>>e-22,r=n.m>>e-22|t<<44-e):(o=i?Wh:0,c=i?Lu:0,r=t>>e-44),Bc(r&Lu,c&Lu,o&Wh)}function xx(n){var e,t,i,r,c,o;for(this.c=new X,this.d=n,i=Ft,r=Ft,e=Vt,t=Vt,o=_e(n,0);o.b!=o.d.c;)c=u(Re(o),8),i=j.Math.min(i,c.a),r=j.Math.min(r,c.b),e=j.Math.max(e,c.a),t=j.Math.max(t,c.b);this.a=new ys(i,r,e-i,t-r)}function nNn(n,e){var t,i,r,c,o,f;for(c=new E(n.b);c.a0&&I(e,42)&&(n.a.qj(),l=u(e,42),h=l.cd(),c=h==null?0:mt(h),o=dU(n.a,c),t=n.a.d[o],t)){for(i=u(t.g,367),a=t.i,f=0;f=2)for(t=r.Kc(),e=Y(t.Pb());t.Ob();)c=e,e=Y(t.Pb()),i=j.Math.min(i,(_n(e),e-(_n(c),c)));return i}function Bme(n,e){var t,i,r,c,o;i=new Ct,Kt(i,e,i.c.b,i.c);do for(t=(ne(i.b!=0),u(Ts(i,i.a.a),86)),n.b[t.g]=1,c=_e(t.d,0);c.b!=c.d.c;)r=u(Re(c),188),o=r.c,n.b[o.g]==1?Ke(n.a,r):n.b[o.g]==2?n.b[o.g]=1:Kt(i,o,i.c.b,i.c);while(i.b!=0)}function Rme(n,e){var t,i,r;if(B(e)===B(pe(n)))return!0;if(!I(e,15)||(i=u(e,15),r=n.gc(),r!=i.gc()))return!1;if(I(i,54)){for(t=0;t0&&(r=t),o=new E(n.f.e);o.a0?(e-=1,t-=1):i>=0&&r<0?(e+=1,t+=1):i>0&&r>=0?(e-=1,t+=1):(e+=1,t-=1),new Pi(Q(e),Q(t))}function i9e(n,e){return n.ce.c?1:n.be.b?1:n.a!=e.a?mt(n.a)-mt(e.a):n.d==(z5(),Hm)&&e.d==Km?-1:n.d==Km&&e.d==Hm?1:0}function sNn(n,e){var t,i,r,c,o;return c=e.a,c.c.i==e.b?o=c.d:o=c.c,c.c.i==e.b?i=c.c:i=c.d,r=O2e(n.a,o,i),r>0&&r0):r<0&&-r0):!1}function r9e(n,e,t,i){var r,c,o,f,h,l,a,d;for(r=(e-n.d)/n.c.c.length,c=0,n.a+=t,n.d=e,d=new E(n.c);d.a>24;return o}function u9e(n){if(n.pe()){var e=n.c;e.qe()?n.o="["+e.n:e.pe()?n.o="["+e.ne():n.o="[L"+e.ne()+";",n.b=e.me()+"[]",n.k=e.oe()+"[]";return}var t=n.j,i=n.d;i=i.split("/"),n.o=RF(".",[t,RF("$",i)]),n.b=RF(".",[t,RF(".",i)]),n.k=i[i.length-1]}function s9e(n,e){var t,i,r,c,o;for(o=null,c=new E(n.e.a);c.a=0;e-=2)for(t=0;t<=e;t+=2)(n.b[t]>n.b[t+2]||n.b[t]===n.b[t+2]&&n.b[t+1]>n.b[t+3])&&(i=n.b[t+2],n.b[t+2]=n.b[t],n.b[t]=i,i=n.b[t+3],n.b[t+3]=n.b[t+1],n.b[t+1]=i);n.c=!0}}function oNn(n,e){var t,i,r,c,o,f,h,l;for(o=e==1?KR:_R,c=o.a.ec().Kc();c.Ob();)for(r=u(c.Pb(),103),h=u(ct(n.f.c,r),21).Kc();h.Ob();)switch(f=u(h.Pb(),46),i=u(f.b,81),l=u(f.a,189),t=l.c,r.g){case 2:case 1:i.g.d+=t;break;case 4:case 3:i.g.c+=t}}function h9e(n,e){var t,i,r,c,o,f,h,l,a;for(l=-1,a=0,o=n,f=0,h=o.length;f0&&++a;++l}return a}function yo(n){var e,t;return t=new Ju(J1(n.gm)),t.a+="@",De(t,(e=mt(n)>>>0,e.toString(16))),n.kh()?(t.a+=" (eProxyURI: ",rc(t,n.qh()),n.$g()&&(t.a+=" eClass: ",rc(t,n.$g())),t.a+=")"):n.$g()&&(t.a+=" (eClass: ",rc(t,n.$g()),t.a+=")"),t.a}function E6(n){var e,t,i,r;if(n.e)throw T(new Dr((Ph(kR),uN+kR.k+sN)));for(n.d==(sr(),mh)&&TM(n,Zs),t=new E(n.a.a);t.a>24}return t}function d9e(n,e,t){var i,r,c;if(r=u(br(n.i,e),306),!r)if(r=new fIn(n.d,e,t),m2(n.i,e,r),GQ(e))Pce(n.a,e.c,e.b,r);else switch(c=n6e(e),i=u(br(n.p,c),244),c.g){case 1:case 3:r.j=!0,zI(i,e.b,r);break;case 4:case 2:r.k=!0,zI(i,e.c,r)}return r}function b9e(n,e,t,i){var r,c,o,f,h,l;if(f=new Jy,h=Kc(n.e.Tg(),e),r=u(n.g,119),er(),u(e,66).Oj())for(o=0;o=0)return r;for(c=1,f=new E(e.j);f.a0&&e.ue((Ln(r-1,n.c.length),u(n.c[r-1],10)),c)>0;)Es(n,r,(Ln(r-1,n.c.length),u(n.c[r-1],10))),--r;Ln(r,n.c.length),n.c[r]=c}t.a=new we,t.b=new we}function w9e(n,e,t){var i,r,c,o,f,h,l,a;for(a=(i=u(e.e&&e.e(),9),new ks(i,u(bo(i,i.length),9),0)),h=Tb(t,"[\\[\\]\\s,]+"),c=h,o=0,f=c.length;o0&&(!(tl(n.a.c)&&e.n.d)&&!(r3(n.a.c)&&e.n.b)&&(e.g.d-=j.Math.max(0,i/2-.5)),!(tl(n.a.c)&&e.n.a)&&!(r3(n.a.c)&&e.n.c)&&(e.g.a+=j.Math.max(0,i-1)))}function dNn(n,e,t){var i,r;if((n.c-n.b&n.a.length-1)==2)e==(J(),Kn)||e==Vn?(GC(u(t6(n),15),(cs(),kh)),GC(u(t6(n),15),Kl)):(GC(u(t6(n),15),(cs(),Kl)),GC(u(t6(n),15),kh));else for(r=new B5(n);r.a!=r.b;)i=u(vT(r),15),GC(i,t)}function p9e(n,e){var t,i,r,c,o,f,h;for(r=f3(new Fq(n)),f=new Ii(r,r.c.length),c=f3(new Fq(e)),h=new Ii(c,c.c.length),o=null;f.b>0&&h.b>0&&(t=(ne(f.b>0),u(f.a.Xb(f.c=--f.b),33)),i=(ne(h.b>0),u(h.a.Xb(h.c=--h.b),33)),t==i);)o=t;return o}function Fu(n,e){var t,i,r,c,o,f;return c=n.a*tN+n.b*1502,f=n.b*tN+11,t=j.Math.floor(f*uk),c+=t,f-=t*enn,c%=enn,n.a=c,n.b=f,e<=24?j.Math.floor(n.a*Kin[e]):(r=n.a*(1<=2147483648&&(i-=YL),i)}function bNn(n,e,t){var i,r,c,o;BMn(n,e)>BMn(n,t)?(i=zr(t,(J(),Vn)),n.d=i.dc()?0:wD(u(i.Xb(0),11)),o=zr(e,Gn),n.b=o.dc()?0:wD(u(o.Xb(0),11))):(r=zr(t,(J(),Gn)),n.d=r.dc()?0:wD(u(r.Xb(0),11)),c=zr(e,Vn),n.b=c.dc()?0:wD(u(c.Xb(0),11)))}function wNn(n){var e,t,i,r,c,o,f;if(n&&(e=n.Hh(Vs),e&&(o=Te(Ko((!e.b&&(e.b=new qu((Sn(),nr),tc,e)),e.b),"conversionDelegates")),o!=null))){for(f=new X,i=Tb(o,"\\w+"),r=0,c=i.length;rn.c));o++)r.a>=n.s&&(c<0&&(c=o),f=o);return h=(n.s+n.c)/2,c>=0&&(i=nke(n,e,c,f),h=fre((Ln(i,e.c.length),u(e.c[i],329))),hme(e,i,t)),h}function Bx(){Bx=N,zYn=new tr((Xe(),Tp),1.3),efn=ehn,ofn=new vd(15),YYn=new tr(nd,ofn),nZn=new tr(ed,15),UYn=LP,VYn=Za,QYn=Kg,JYn=_l,XYn=_g,cfn=ky,ZYn=rw,sfn=(IY(),HYn),rfn=_Yn,ufn=KYn,ffn=qYn,tfn=RYn,ifn=NP,WYn=ihn,fy=BYn,nfn=NYn,hfn=GYn}function ke(n,e,t){var i,r,c,o,f,h,l;for(o=(c=new JH,c),pV(o,(_n(e),e)),l=(!o.b&&(o.b=new qu((Sn(),nr),tc,o)),o.b),h=1;h0&&Wje(this,r)}function NY(n,e,t,i,r,c){var o,f,h;if(!r[e.b]){for(r[e.b]=!0,o=i,!o&&(o=new TC),W(o.e,e),h=c[e.b].Kc();h.Ob();)f=u(h.Pb(),282),!(f.d==t||f.c==t)&&(f.c!=e&&NY(n,f.c,e,o,r,c),f.d!=e&&NY(n,f.d,e,o,r,c),W(o.c,f),Yt(o.d,f.b));return o}return null}function k9e(n){var e,t,i,r,c,o,f;for(e=0,r=new E(n.e);r.a=2}function y9e(n,e){var t,i,r,c;for(le(e,"Self-Loop pre-processing",1),i=new E(n.a);i.a1||(e=pt(So,A(M(lr,1),z,93,0,[Zh,Po])),Z8(hC(e,n))>1)||(i=pt(Oo,A(M(lr,1),z,93,0,[yh,eo])),Z8(hC(i,n))>1))}function C9e(n,e){var t,i,r;return t=e.Hh(n.a),t&&(r=Te(Ko((!t.b&&(t.b=new qu((Sn(),nr),tc,t)),t.b),"affiliation")),r!=null)?(i=aE(r,tu(35)),i==-1?TF(n,I5(n,ts(e.Hj())),r):i==0?TF(n,null,r.substr(1)):TF(n,r.substr(0,i),r.substr(i+1))):null}function T9e(n){var e,t,i;try{return n==null?iu:Lr(n)}catch(r){if(r=jt(r),I(r,102))return e=r,i=J1(Du(n))+"@"+(t=(Zf(),QQ(n)>>>0),t.toString(16)),dpe(awe(),(e3(),"Exception during lenientFormat for "+i),e),"<"+i+" threw "+J1(e.gm)+">";throw T(r)}}function vNn(n){switch(n.g){case 0:return new T4n;case 1:return new k4n;case 2:return new k7n;case 3:return new jwn;case 4:return new Kjn;case 5:return new M4n;default:throw T(new Hn("No implementation is available for the layerer "+(n.f!=null?n.f:""+n.g)))}}function BY(n,e,t){var i,r,c;for(c=new E(n.t);c.a0&&(i.b.n-=i.c,i.b.n<=0&&i.b.u>0&&Ke(e,i.b));for(r=new E(n.i);r.a0&&(i.a.u-=i.c,i.a.u<=0&&i.a.n>0&&Ke(t,i.a))}function cM(n){var e,t,i,r,c;if(n.g==null&&(n.d=n.si(n.f),me(n,n.d),n.c))return c=n.f,c;if(e=u(n.g[n.i-1],47),r=e.Pb(),n.e=e,t=n.si(r),t.Ob())n.d=t,me(n,t);else for(n.d=null;!e.Ob()&&(Mt(n.g,--n.i,null),n.i!=0);)i=u(n.g[n.i-1],47),e=i;return r}function M9e(n,e){var t,i,r,c,o,f;if(i=e,r=i.ak(),zh(n.e,r)){if(r.hi()&&yC(n,r,i.dd()))return!1}else for(f=Kc(n.e.Tg(),r),t=u(n.g,119),c=0;c1||t>1)return 2;return e+t==1?2:0}function kNn(n,e,t){var i,r,c,o,f;for(le(t,"ELK Force",1),on(sn(hn(e,(Go(),Irn))))||oC((i=new O9((K0(),new N0(e))),i)),f=QOn(e),J3e(f),Iwe(n,u(k(f,Prn),424)),o=fRn(n.a,f),c=o.Kc();c.Ob();)r=u(c.Pb(),231),ake(n.b,r,kc(t,1/o.gc()));f=j_n(o),m_n(f),ce(t)}function $9e(n,e){var t,i,r,c,o;if(le(e,"Breaking Point Processor",1),ZEe(n),on(sn(k(n,(nn(),Nsn))))){for(r=new E(n.b);r.a=0?n._g(i,!0,!0):Yd(n,c,!0),153)),u(r,215).ml(e,t)}else throw T(new Hn(Pl+e.ne()+em))}function N9e(n,e){var t,i,r,c,o;for(t=new X,r=qr(new $n(null,new xn(n,16)),new wgn),c=qr(new $n(null,new xn(n,16)),new ggn),o=h0e(Tde(YE(g8e(A(M(UTe,1),rn,833,0,[r,c])),new pgn))),i=1;i=2*e&&W(t,new hD(o[i-1]+e,o[i]-e));return t}function B9e(n,e,t){le(t,"Eades radial",1),t.n&&e&&go(t,po(e),(Xu(),ws)),n.d=u(hn(e,(C5(),Xm)),33),n.c=K(Y(hn(e,(gb(),MP)))),n.e=XF(u(hn(e,oy),293)),n.a=p2e(u(hn(e,Kon),426)),n.b=R4e(u(hn(e,_on),340)),m4e(n),t.n&&e&&go(t,po(e),(Xu(),ws))}function R9e(n,e,t){var i,r,c,o,f,h,l,a;if(t)for(c=t.a.length,i=new fa(c),f=(i.b-i.a)*i.c<0?(nl(),Jl):new rl(i);f.Ob();)o=u(f.Pb(),19),r=j3(t,o.a),r&&(h=Nae(n,(l=(ad(),a=new eG,a),e&&KY(l,e),l),r),Q5(h,$h(r,Uf)),YT(r,h),lY(r,h),oF(n,r,h))}function sM(n){var e,t,i,r,c,o;if(!n.j){if(o=new npn,e=b9,c=e.a.zc(n,e),c==null){for(i=new ie(Mr(n));i.e!=i.i.gc();)t=u(oe(i),26),r=sM(t),Dt(o,r),me(o,t);e.a.Bc(n)!=null}lb(o),n.j=new Ew((u(D(R((ol(),Nn).o),11),18),o.i),o.g),Iu(n).b&=-33}return n.j}function _9e(n){var e,t,i,r;if(n==null)return null;if(i=jc(n,!0),r=Ak.length,An(i.substr(i.length-r,r),Ak)){if(t=i.length,t==4){if(e=(Me(0,i.length),i.charCodeAt(0)),e==43)return x1n;if(e==45)return Mee}else if(t==3)return x1n}return new Gq(i)}function K9e(n){var e,t,i;return t=n.l,t&t-1||(i=n.m,i&i-1)||(e=n.h,e&e-1)||e==0&&i==0&&t==0?-1:e==0&&i==0&&t!=0?hV(t):e==0&&i!=0&&t==0?hV(i)+22:e!=0&&i==0&&t==0?hV(e)+44:-1}function H9e(n,e){var t,i,r,c,o;for(le(e,"Edge joining",1),t=on(sn(k(n,(nn(),U_)))),r=new E(n.b);r.a1)for(r=new E(n.a);r.a0),c.a.Xb(c.c=--c.b),X0(c,r),ne(c.b3&&sh(n,0,e-3))}function U9e(n){var e,t,i,r;return B(k(n,(nn(),Vb)))===B((_h(),F1))?!n.e&&B(k(n,Jk))!==B((q3(),Gk)):(i=u(k(n,F_),292),r=on(sn(k(n,x_)))||B(k(n,Om))===B((F2(),qk)),e=u(k(n,nsn),19).a,t=n.a.c.length,!r&&i!=(q3(),Gk)&&(e==0||e>t))}function W9e(n){var e,t;for(t=0;t0);t++);if(t>0&&t0);e++);return e>0&&t>16!=6&&e){if(u4(n,e))throw T(new Hn(tm+_Ln(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?dJ(n,i):n.Cb.ih(n,-1-t,null,i))),e&&(i=_2(e,n,6,i)),i=lU(n,e,i),i&&i.Fi()}else n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,6,e,e))}function KY(n,e){var t,i;if(e!=n.Cb||n.Db>>16!=9&&e){if(u4(n,e))throw T(new Hn(tm+jBn(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?wJ(n,i):n.Cb.ih(n,-1-t,null,i))),e&&(i=_2(e,n,9,i)),i=aU(n,e,i),i&&i.Fi()}else n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,9,e,e))}function _x(n,e){var t,i;if(e!=n.Cb||n.Db>>16!=3&&e){if(u4(n,e))throw T(new Hn(tm+yRn(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?pJ(n,i):n.Cb.ih(n,-1-t,null,i))),e&&(i=_2(e,n,12,i)),i=hU(n,e,i),i&&i.Fi()}else n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,3,e,e))}function w4(n){var e,t,i,r,c;if(i=qs(n),c=n.j,c==null&&i)return n.$j()?null:i.zj();if(I(i,148)){if(t=i.Aj(),t&&(r=t.Nh(),r!=n.i)){if(e=u(i,148),e.Ej())try{n.g=r.Kh(e,c)}catch(o){if(o=jt(o),I(o,78))n.g=null;else throw T(o)}n.i=r}return n.g}return null}function ENn(n){var e;return e=new X,W(e,new f2(new fn(n.c,n.d),new fn(n.c+n.b,n.d))),W(e,new f2(new fn(n.c,n.d),new fn(n.c,n.d+n.a))),W(e,new f2(new fn(n.c+n.b,n.d+n.a),new fn(n.c+n.b,n.d))),W(e,new f2(new fn(n.c+n.b,n.d+n.a),new fn(n.c,n.d+n.a))),e}function CNn(n,e,t,i){var r,c,o;if(o=TJ(e,t),i.c[i.c.length]=e,n.j[o.p]==-1||n.j[o.p]==2||n.a[e.p])return i;for(n.j[o.p]=-1,c=new re(ue(Kh(o).a.Kc(),new Mn));Se(c);)if(r=u(ve(c),17),!(!(!Xi(r)&&!(!Xi(r)&&r.c.i.c==r.d.i.c))||r==e))return CNn(n,r,o,i);return i}function X9e(n,e,t){var i,r,c;for(c=e.a.ec().Kc();c.Ob();)r=u(c.Pb(),79),i=u(te(n.b,r),266),!i&&(At(fh(r))==At(ml(r))?f7e(n,r,t):fh(r)==At(ml(r))?te(n.c,r)==null&&te(n.b,ml(r))!=null&&i_n(n,r,t,!1):te(n.d,r)==null&&te(n.b,fh(r))!=null&&i_n(n,r,t,!0))}function V9e(n,e){var t,i,r,c,o,f,h;for(r=n.Kc();r.Ob();)for(i=u(r.Pb(),10),f=new wc,Hr(f,i),ui(f,(J(),Vn)),H(f,(G(),GS),(qn(),!0)),o=e.Kc();o.Ob();)c=u(o.Pb(),10),h=new wc,Hr(h,c),ui(h,Gn),H(h,GS,!0),t=new Pd,H(t,GS,!0),Hi(t,f),Ei(t,h)}function Q9e(n,e,t,i){var r,c,o,f;r=m$n(n,e,t),c=m$n(n,t,e),o=u(te(n.c,e),112),f=u(te(n.c,t),112),ri.b.g&&(c.c[c.c.length]=i);return c}function g4(){g4=N,Ng=new J9("CANDIDATE_POSITION_LAST_PLACED_RIGHT",0),Ep=new J9("CANDIDATE_POSITION_LAST_PLACED_BELOW",1),Qm=new J9("CANDIDATE_POSITION_WHOLE_DRAWING_RIGHT",2),Vm=new J9("CANDIDATE_POSITION_WHOLE_DRAWING_BELOW",3),Jm=new J9("WHOLE_DRAWING",4)}function J9e(n,e){if(I(e,239))return Age(n,u(e,33));if(I(e,186))return _ge(n,u(e,118));if(I(e,354))return Zhe(n,u(e,137));if(I(e,352))return Eye(n,u(e,79));if(e)return null;throw T(new Hn(Rtn+kl(new Ku(A(M(Zn,1),rn,1,5,[e])))))}function Y9e(n){var e,t,i,r,c,o,f;for(c=new Ct,r=new E(n.d.a);r.a1)for(e=kd((t=new ra,++n.b,t),n.d),f=_e(c,0);f.b!=f.d.c;)o=u(Re(f),121),jo(lo(ho(ao(fo(new Ns,1),0),e),o))}function HY(n,e){var t,i;if(e!=n.Cb||n.Db>>16!=11&&e){if(u4(n,e))throw T(new Hn(tm+uZ(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?vJ(n,i):n.Cb.ih(n,-1-t,null,i))),e&&(i=_2(e,n,10,i)),i=kU(n,e,i),i&&i.Fi()}else n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,11,e,e))}function Z9e(n){var e,t,i,r;for(i=new Ea(new ta(n.b).a);i.b;)t=Nd(i),r=u(t.cd(),11),e=u(t.dd(),10),H(e,(G(),rt),r),H(r,Mu,e),H(r,Wk,(qn(),!0)),ui(r,u(k(e,ec),61)),k(e,ec),H(r.i,(nn(),Lt),(Ti(),Tv)),u(k(Gi(r.i),Mc),21).Fc((or(),ov))}function n8e(n,e,t){var i,r,c,o,f,h;if(c=0,o=0,n.c)for(h=new E(n.d.i.j);h.ac.a?-1:r.ah){for(a=n.d,n.d=F(u1n,Xtn,63,2*h+4,0,1),c=0;c=9223372036854776e3?(I3(),win):(r=!1,n<0&&(r=!0,n=-n),i=0,n>=$a&&(i=Gt(n/$a),n-=i*$a),t=0,n>=J2&&(t=Gt(n/J2),n-=t*J2),e=Gt(n),c=Bc(e,t,i),r&&sF(c),c)}function h8e(n,e){var t,i,r,c;for(t=!e||!n.u.Hc((Tu(),n1)),c=0,r=new E(n.e.Cf());r.a=-e&&i==e?new Pi(Q(t-1),Q(i)):new Pi(Q(t),Q(i-1))}function PNn(){return rr(),A(M(nMe,1),z,77,0,[fcn,ucn,mm,WR,Scn,dS,ES,Z4,Mcn,pcn,Ccn,Y4,Acn,bcn,Pcn,ncn,pS,XR,lS,kS,Ocn,mS,ecn,Tcn,Dcn,yS,Icn,aS,lcn,jcn,ycn,CS,rcn,hS,wS,icn,J4,mcn,wcn,Ecn,km,scn,ccn,kcn,gcn,gS,jS,tcn,vS,vcn,bS,acn,hcn,Kk,fS,dcn,ocn])}function b8e(n,e,t){n.d=0,n.b=0,e.k==(Qn(),Tc)&&t.k==Tc&&u(k(e,(G(),rt)),10)==u(k(t,rt),10)&&(F$(e).j==(J(),Kn)?bNn(n,e,t):bNn(n,t,e)),e.k==Tc&&t.k==gi?F$(e).j==(J(),Kn)?n.d=1:n.b=1:t.k==Tc&&e.k==gi&&(F$(t).j==(J(),Kn)?n.b=1:n.d=1),e3e(n,e,t)}function w8e(n){var e,t,i,r,c,o,f,h,l,a,d;return d=KJ(n),e=n.a,h=e!=null,h&&l3(d,"category",n.a),r=N9(new Rp(n.d)),o=!r,o&&(l=new na,Ro(d,"knownOptions",l),t=new pmn(l),$i(new Rp(n.d),t)),c=N9(n.g),f=!c,f&&(a=new na,Ro(d,"supportedFeatures",a),i=new vmn(a),$i(n.g,i)),d}function g8e(n){var e,t,i,r,c,o,f,h,l;for(i=!1,e=336,t=0,c=new Ojn(n.length),f=n,h=0,l=f.length;h>16!=7&&e){if(u4(n,e))throw T(new Hn(tm+Lxn(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?bJ(n,i):n.Cb.ih(n,-1-t,null,i))),e&&(i=u(e,49).gh(n,1,Iy,i)),i=aW(n,e,i),i&&i.Fi()}else n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,7,e,e))}function INn(n,e){var t,i;if(e!=n.Cb||n.Db>>16!=3&&e){if(u4(n,e))throw T(new Hn(tm+zDn(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?gJ(n,i):n.Cb.ih(n,-1-t,null,i))),e&&(i=u(e,49).gh(n,0,Dy,i)),i=dW(n,e,i),i&&i.Fi()}else n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,3,e,e))}function Hx(n,e){a4();var t,i,r,c,o,f,h,l,a;return e.d>n.d&&(f=n,n=e,e=f),e.d<63?u7e(n,e):(o=(n.d&-2)<<4,l=MX(n,o),a=MX(e,o),i=rL(n,P2(l,o)),r=rL(e,P2(a,o)),h=Hx(l,a),t=Hx(i,r),c=Hx(rL(l,i),rL(r,a)),c=aL(aL(c,h),t),c=P2(c,o),h=P2(h,o<<1),aL(aL(h,c),t))}function v8e(n,e,t){var i,r,c,o,f;for(o=c6(n,t),f=F(vh,E1,10,e.length,0,1),i=0,c=o.Kc();c.Ob();)r=u(c.Pb(),11),on(sn(k(r,(G(),Wk))))&&(f[i++]=u(k(r,Mu),10));if(i=0;c+=t?1:-1)o=o|e.c.Sf(h,c,t,i&&!on(sn(k(e.j,(G(),v0))))&&!on(sn(k(e.j,(G(),Pg))))),o=o|e.q._f(h,c,t),o=o|wBn(n,h[c],t,i);return ri(n.c,e),o}function fM(n,e,t){var i,r,c,o,f,h,l,a,d,g;for(a=bAn(n.j),d=0,g=a.length;d1&&(n.a=!0),Ffe(u(t.b,65),ot(Qr(u(e.b,65).c),If(ki(Qr(u(t.b,65).a),u(e.b,65).a),r))),SMn(n,e),ONn(n,t)}function DNn(n){var e,t,i,r,c,o,f;for(c=new E(n.a.a);c.a0&&c>0?o.p=e++:i>0?o.p=t++:c>0?o.p=r++:o.p=t++}Pn(),bi(n.j,new d0n)}function E8e(n){var e,t;t=null,e=u(un(n.g,0),17);do{if(t=e.d.i,li(t,(G(),Ys)))return u(k(t,Ys),11).i;if(t.k!=(Qn(),ti)&&Se(new re(ue(ni(t).a.Kc(),new Mn))))e=u(ve(new re(ue(ni(t).a.Kc(),new Mn))),17);else if(t.k!=ti)return null}while(t&&t.k!=(Qn(),ti));return t}function C8e(n,e){var t,i,r,c,o,f,h,l,a;for(f=e.j,o=e.g,h=u(un(f,f.c.length-1),113),a=(Ln(0,f.c.length),u(f.c[0],113)),l=sx(n,o,h,a),c=1;cl&&(h=t,a=r,l=i);e.a=a,e.c=h}function T8e(n,e){var t,i;if(i=k8(n.b,e.b),!i)throw T(new Dr("Invalid hitboxes for scanline constraint calculation."));(ROn(e.b,u(Tue(n.b,e.b),57))||ROn(e.b,u(Cue(n.b,e.b),57)))&&(Zf(),e.b+""),n.a[e.b.f]=u(rD(n.b,e.b),57),t=u(iD(n.b,e.b),57),t&&(n.a[t.f]=e.b)}function jo(n){if(!n.a.d||!n.a.e)throw T(new Dr((Ph(Wzn),Wzn.k+" must have a source and target "+(Ph(grn),grn.k)+" specified.")));if(n.a.d==n.a.e)throw T(new Dr("Network simplex does not support self-loops: "+n.a+" "+n.a.d+" "+n.a.e));return bE(n.a.d.g,n.a),bE(n.a.e.b,n.a),n.a}function M8e(n,e,t){var i,r,c,o,f,h,l;for(l=new Y1(new g6n(n)),o=A(M(FWn,1),UKn,11,0,[e,t]),f=0,h=o.length;fh-n.b&&fh-n.a&&f0&&++p;++g}return p}function L8e(n,e){var t,i,r,c,o;for(o=u(k(e,(Zd(),Eon)),425),c=_e(e.b,0);c.b!=c.d.c;)if(r=u(Re(c),86),n.b[r.g]==0){switch(o.g){case 0:uFn(n,r);break;case 1:Bme(n,r)}n.b[r.g]=2}for(i=_e(n.a,0);i.b!=i.d.c;)t=u(Re(i),188),db(t.b.d,t,!0),db(t.c.b,t,!0);H(e,(cc(),gon),n.a)}function Kc(n,e){er();var t,i,r,c;return e?e==(ht(),Cee)||(e==aee||e==rd||e==lee)&&n!=$1n?new BZ(n,e):(i=u(e,677),t=i.pk(),t||(v3(jr((gu(),xi),e)),t=i.pk()),c=(!t.i&&(t.i=new we),t.i),r=u(Vr(Ar(c.f,n)),1942),!r&&it(c,n,r=new BZ(n,e)),r):oee}function N8e(n,e){var t,i,r,c,o,f,h,l,a;for(h=u(k(n,(G(),rt)),11),l=Gr(A(M(ai,1),q,8,0,[h.i.n,h.n,h.a])).a,a=n.i.n.b,t=xf(n.e),r=t,c=0,o=r.length;c0?c.a?(f=c.b.rf().a,t>f&&(r=(t-f)/2,c.d.b=r,c.d.c=r)):c.d.c=n.s+t:D5(n.u)&&(i=HJ(c.b),i.c<0&&(c.d.b=-i.c),i.c+i.b>c.b.rf().a&&(c.d.c=i.c+i.b-c.b.rf().a))}function K8e(n,e){var t,i,r,c;for(le(e,"Semi-Interactive Crossing Minimization Processor",1),t=!1,r=new E(n.b);r.a=0){if(e==t)return new Pi(Q(-e-1),Q(-e-1));if(e==-t)return new Pi(Q(-e),Q(t+1))}return j.Math.abs(e)>j.Math.abs(t)?e<0?new Pi(Q(-e),Q(t)):new Pi(Q(-e),Q(t+1)):new Pi(Q(e+1),Q(t))}function G8e(n){var e,t;t=u(k(n,(nn(),qc)),163),e=u(k(n,(G(),za)),303),t==(Ss(),xl)?(H(n,qc,Qk),H(n,za,(Nh(),Ag))):t==Ub?(H(n,qc,Qk),H(n,za,(Nh(),dp))):e==(Nh(),Ag)?(H(n,qc,xl),H(n,za,zk)):e==dp&&(H(n,qc,Ub),H(n,za,zk))}function hM(){hM=N,cy=new ngn,$Jn=Ze(new hi,(Qi(),Hc),(rr(),lS)),LJn=ju(Ze(new hi,Hc,mS),Ir,vS),NJn=Xd(Xd(Dj(ju(Ze(new hi,Vf,ES),Ir,jS),Cc),yS),CS),FJn=ju(Ze(Ze(Ze(new hi,$l,dS),Cc,wS),Cc,J4),Ir,bS),xJn=ju(Ze(Ze(new hi,Cc,J4),Cc,hS),Ir,fS)}function C6(){C6=N,_Jn=Ze(ju(new hi,(Qi(),Ir),(rr(),acn)),Hc,lS),GJn=Xd(Xd(Dj(ju(Ze(new hi,Vf,ES),Ir,jS),Cc),yS),CS),KJn=ju(Ze(Ze(Ze(new hi,$l,dS),Cc,wS),Cc,J4),Ir,bS),qJn=Ze(Ze(new hi,Hc,mS),Ir,vS),HJn=ju(Ze(Ze(new hi,Cc,J4),Cc,hS),Ir,fS)}function z8e(n,e,t,i,r){var c,o;(!Xi(e)&&e.c.i.c==e.d.i.c||!WIn(Gr(A(M(ai,1),q,8,0,[r.i.n,r.n,r.a])),t))&&!Xi(e)&&(e.c==r?s3(e.a,0,new mr(t)):Ke(e.a,new mr(t)),i&&!Ah(n.a,t)&&(o=u(k(e,(nn(),Tr)),74),o||(o=new hu,H(e,Tr,o)),c=new mr(t),Kt(o,c,o.c.b,o.c),ri(n.a,c)))}function U8e(n){var e,t;for(t=new re(ue(xr(n).a.Kc(),new Mn));Se(t);)if(e=u(ve(t),17),e.c.i.k!=(Qn(),Qu))throw T(new pw(SN+E7(n)+"' has its layer constraint set to FIRST, but has at least one incoming edge that does not come from a FIRST_SEPARATE node. That must not happen."))}function W8e(n,e,t){var i,r,c,o,f,h,l;if(r=JDn(n.Db&254),r==0)n.Eb=t;else{if(r==1)f=F(Zn,rn,1,2,5,1),c=ux(n,e),c==0?(f[0]=t,f[1]=n.Eb):(f[0]=n.Eb,f[1]=t);else for(f=F(Zn,rn,1,r+1,5,1),o=pa(n.Eb),i=2,h=0,l=0;i<=128;i<<=1)i==e?f[l++]=t:n.Db&i&&(f[l++]=o[h++]);n.Eb=f}n.Db|=e}function FNn(n,e,t){var i,r,c,o;for(this.b=new X,r=0,i=0,o=new E(n);o.a0&&(c=u(un(this.b,0),167),r+=c.o,i+=c.p),r*=2,i*=2,e>1?r=Gt(j.Math.ceil(r*e)):i=Gt(j.Math.ceil(i/e)),this.a=new xQ(r,i)}function xNn(n,e,t,i,r,c){var o,f,h,l,a,d,g,p,v,m,C,S;for(a=i,e.j&&e.o?(p=u(te(n.f,e.A),57),m=p.d.c+p.d.b,--a):m=e.a.c+e.a.b,d=r,t.q&&t.o?(p=u(te(n.f,t.C),57),l=p.d.c,++d):l=t.a.c,C=l-m,h=j.Math.max(2,d-a),f=C/h,v=m+f,g=a;g=0;o+=r?1:-1){for(f=e[o],h=i==(J(),Vn)?r?zr(f,i):va(zr(f,i)):r?va(zr(f,i)):zr(f,i),c&&(n.c[f.p]=h.gc()),d=h.Kc();d.Ob();)a=u(d.Pb(),11),n.d[a.p]=l++;Yt(t,h)}}function LNn(n,e,t){var i,r,c,o,f,h,l,a;for(c=K(Y(n.b.Kc().Pb())),l=K(Y(twe(e.b))),i=If(Qr(n.a),l-t),r=If(Qr(e.a),t-c),a=ot(i,r),If(a,1/(l-c)),this.a=a,this.b=new X,f=!0,o=n.b.Kc(),o.Pb();o.Ob();)h=K(Y(o.Pb())),f&&h-t>oB&&(this.b.Fc(t),f=!1),this.b.Fc(h);f&&this.b.Fc(t)}function X8e(n){var e,t,i,r;if(cke(n,n.n),n.d.c.length>0){for(qv(n.c);AY(n,u(y(new E(n.e.a)),121))>5,e&=31,i>=n.d)return n.e<0?(jl(),gR):(jl(),W4);if(c=n.d-i,r=F(be,Le,25,c+1,15,1),K5e(r,c,n.a,i,e),n.e<0){for(t=0;t0&&n.a[t]<<32-e){for(t=0;t=0?!1:(t=rg((gu(),xi),r,e),t?(i=t.Zj(),(i>1||i==-1)&&Sd(jr(xi,t))!=3):!0)):!1}function Y8e(n,e,t,i){var r,c,o,f,h;return f=Pr(u(D((!e.b&&(e.b=new Fn(he,e,4,7)),e.b),0),82)),h=Pr(u(D((!e.c&&(e.c=new Fn(he,e,5,8)),e.c),0),82)),At(f)==At(h)||ob(h,f)?null:(o=S8(e),o==t?i:(c=u(te(n.a,o),10),c&&(r=c.e,r)?r:null))}function Z8e(n,e){var t;switch(t=u(k(n,(nn(),JS)),276),le(e,"Label side selection ("+t+")",1),t.g){case 0:nNn(n,(cs(),kh));break;case 1:nNn(n,(cs(),Kl));break;case 2:wRn(n,(cs(),kh));break;case 3:wRn(n,(cs(),Kl));break;case 4:QNn(n,(cs(),kh));break;case 5:QNn(n,(cs(),Kl))}ce(e)}function VY(n,e,t){var i,r,c,o,f,h;if(i=Bie(t,n.length),o=n[i],o[0].k==(Qn(),Xt))for(c=n8n(t,o.length),h=e.j,r=0;r0&&(t[0]+=n.d,o-=t[0]),t[2]>0&&(t[2]+=n.d,o-=t[2]),c=j.Math.max(0,o),t[1]=j.Math.max(t[1],o),SX(n,Fc,r.c+i.b+t[0]-(t[1]-o)/2,t),e==Fc&&(n.c.b=c,n.c.c=r.c+i.b+(c-o)/2)}function WNn(){this.c=F(ji,pr,25,(J(),A(M(Zi,1),hc,61,0,[Xr,Kn,Vn,ae,Gn])).length,15,1),this.b=F(ji,pr,25,A(M(Zi,1),hc,61,0,[Xr,Kn,Vn,ae,Gn]).length,15,1),this.a=F(ji,pr,25,A(M(Zi,1),hc,61,0,[Xr,Kn,Vn,ae,Gn]).length,15,1),BG(this.c,Ft),BG(this.b,Vt),BG(this.a,Vt)}function yc(n,e,t){var i,r,c,o;if(e<=t?(r=e,c=t):(r=t,c=e),i=0,n.b==null)n.b=F(be,Le,25,2,15,1),n.b[0]=r,n.b[1]=c,n.c=!0;else{if(i=n.b.length,n.b[i-1]+1==r){n.b[i-1]=c;return}o=F(be,Le,25,i+2,15,1),gc(n.b,0,o,0,i),n.b=o,n.b[i-1]>=r&&(n.c=!1,n.a=!1),n.b[i++]=r,n.b[i]=c,n.c||Jw(n)}}function s7e(n,e,t){var i,r,c,o,f,h,l;for(l=e.d,n.a=new Pc(l.c.length),n.c=new we,f=new E(l);f.a=0?n._g(l,!1,!0):Yd(n,t,!1),58));n:for(c=d.Kc();c.Ob();){for(r=u(c.Pb(),56),a=0;a1;)Eb(r,r.i-1);return i}function a7e(n,e){var t,i,r,c,o,f,h;for(le(e,"Comment post-processing",1),c=new E(n.b);c.an.d[o.p]&&(t+=jX(n.b,c),ll(n.a,Q(c)));for(;!Hv(n.a);)ZX(n.b,u(y2(n.a),19).a)}return t}function JNn(n,e,t){var i,r,c,o;for(c=(!e.a&&(e.a=new V(Pt,e,10,11)),e.a).i,r=new ie((!e.a&&(e.a=new V(Pt,e,10,11)),e.a));r.e!=r.i.gc();)i=u(oe(r),33),(!i.a&&(i.a=new V(Pt,i,10,11)),i.a).i==0||(c+=JNn(n,i,!1));if(t)for(o=At(e);o;)c+=(!o.a&&(o.a=new V(Pt,o,10,11)),o.a).i,o=At(o);return c}function Eb(n,e){var t,i,r,c;return n.ej()?(i=null,r=n.fj(),n.ij()&&(i=n.kj(n.pi(e),null)),t=n.Zi(4,c=H2(n,e),null,e,r),n.bj()&&c!=null&&(i=n.dj(c,i)),i?(i.Ei(t),i.Fi()):n.$i(t),c):(c=H2(n,e),n.bj()&&c!=null&&(i=n.dj(c,null),i&&i.Fi()),c)}function b7e(n){var e,t,i,r,c,o,f,h,l,a;for(l=n.a,e=new fi,h=0,i=new E(n.d);i.af.d&&(a=f.d+f.a+l));t.c.d=a,e.a.zc(t,e),h=j.Math.max(h,t.c.d+t.c.a)}return h}function or(){or=N,NS=new H0("COMMENTS",0),$s=new H0("EXTERNAL_PORTS",1),Tm=new H0("HYPEREDGES",2),BS=new H0("HYPERNODES",3),ov=new H0("NON_FREE_PORTS",4),Mg=new H0("NORTH_SOUTH_PORTS",5),Mm=new H0(lHn,6),uv=new H0("CENTER_LABELS",7),sv=new H0("END_LABELS",8),RS=new H0("PARTITIONS",9)}function Cb(n){var e,t,i,r,c;for(r=new X,e=new S5((!n.a&&(n.a=new V(Pt,n,10,11)),n.a)),i=new re(ue(Gh(n).a.Kc(),new Mn));Se(i);)t=u(ve(i),79),I(D((!t.b&&(t.b=new Fn(he,t,4,7)),t.b),0),186)||(c=Pr(u(D((!t.c&&(t.c=new Fn(he,t,5,8)),t.c),0),82)),e.a._b(c)||(r.c[r.c.length]=c));return r}function w7e(n){var e,t,i,r,c,o;for(c=new fi,e=new S5((!n.a&&(n.a=new V(Pt,n,10,11)),n.a)),r=new re(ue(Gh(n).a.Kc(),new Mn));Se(r);)i=u(ve(r),79),I(D((!i.b&&(i.b=new Fn(he,i,4,7)),i.b),0),186)||(o=Pr(u(D((!i.c&&(i.c=new Fn(he,i,5,8)),i.c),0),82)),e.a._b(o)||(t=c.a.zc(o,c),t==null));return c}function g7e(n,e,t,i,r){return i<0?(i=Qw(n,r,A(M(tn,1),q,2,6,[IL,OL,DL,$L,V2,FL,xL,LL,NL,BL,RL,_L]),e),i<0&&(i=Qw(n,r,A(M(tn,1),q,2,6,["Jan","Feb","Mar","Apr",V2,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),i<0?!1:(t.k=i,!0)):i>0?(t.k=i-1,!0):!1}function p7e(n,e,t,i,r){return i<0?(i=Qw(n,r,A(M(tn,1),q,2,6,[IL,OL,DL,$L,V2,FL,xL,LL,NL,BL,RL,_L]),e),i<0&&(i=Qw(n,r,A(M(tn,1),q,2,6,["Jan","Feb","Mar","Apr",V2,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),i<0?!1:(t.k=i,!0)):i>0?(t.k=i-1,!0):!1}function v7e(n,e,t,i,r,c){var o,f,h,l;if(f=32,i<0){if(e[0]>=n.length||(f=Di(n,e[0]),f!=43&&f!=45)||(++e[0],i=tM(n,e),i<0))return!1;f==45&&(i=-i)}return f==32&&e[0]-t==2&&r.b==2&&(h=new Tj,l=h.q.getFullYear()-Tl+Tl-80,o=l%100,c.a=i==o,i+=(l/100|0)*100+(i=l&&(h=i);h&&(a=j.Math.max(a,h.a.o.a)),a>g&&(d=l,g=a)}return d}function y7e(n,e,t){var i,r,c;if(n.e=t,n.d=0,n.b=0,n.f=1,n.i=e,(n.e&16)==16&&(n.i=ske(n.i)),n.j=n.i.length,Qe(n),c=Wd(n),n.d!=n.j)throw T(new Ce(Pe((je(),$qn))));if(n.g){for(i=0;iFHn?bi(h,n.b):i<=FHn&&i>xHn?bi(h,n.d):i<=xHn&&i>LHn?bi(h,n.c):i<=LHn&&bi(h,n.a),c=eBn(n,h,c);return r}function jl(){jl=N;var n;for(qA=new l1(1,1),pR=new l1(1,10),W4=new l1(0,0),gR=new l1(-1,1),xin=A(M(vg,1),q,91,0,[W4,qA,new l1(1,2),new l1(1,3),new l1(1,4),new l1(1,5),new l1(1,6),new l1(1,7),new l1(1,8),new l1(1,9),pR]),GA=F(vg,q,91,32,0,1),n=0;n1,f&&(i=new fn(r,t.b),Ke(e.a,i)),V5(e.a,A(M(ai,1),q,8,0,[g,d]))}function uBn(n){wd(n,new Ia(ld(od(hd(fd(new Zl,gA),"ELK Randomizer"),'Distributes the nodes randomly on the plane, leading to very obfuscating layouts. Can be useful to demonstrate the power of "real" layout algorithms.'),new $2n))),Z(n,gA,u0,zhn),Z(n,gA,Db,15),Z(n,gA,HM,Q(0)),Z(n,gA,ep,$4)}function YY(){YY=N;var n,e,t,i,r,c;for(v9=F(yu,wg,25,255,15,1),oI=F(Ls,Bf,25,16,15,1),e=0;e<255;e++)v9[e]=-1;for(t=57;t>=48;t--)v9[t]=t-48<<24>>24;for(i=70;i>=65;i--)v9[i]=i-65+10<<24>>24;for(r=102;r>=97;r--)v9[r]=r-97+10<<24>>24;for(c=0;c<10;c++)oI[c]=48+c&Ut;for(n=10;n<=15;n++)oI[n]=65+n-10&Ut}function aM(n,e,t){var i,r,c,o,f,h,l,a;return f=e.i-n.g/2,h=t.i-n.g/2,l=e.j-n.g/2,a=t.j-n.g/2,c=e.g+n.g/2,o=t.g+n.g/2,i=e.f+n.g/2,r=t.f+n.g/2,f>19)return"-"+sBn(z3(n));for(t=n,i="";!(t.l==0&&t.m==0&&t.h==0);){if(r=E$($M),t=IZ(t,r,!0),e=""+m8n(Il),!(t.l==0&&t.m==0&&t.h==0))for(c=9-e.length;c>0;c--)e="0"+e;i=e+i}return i}function A7e(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var n="__proto__",e=Object.create(null);if(e[n]!==void 0)return!1;var t=Object.getOwnPropertyNames(e);return!(t.length!=0||(e[n]=42,e[n]!==42)||Object.getOwnPropertyNames(e).length==0)}function S7e(n){var e,t,i,r,c,o,f;for(e=!1,t=0,r=new E(n.d.b);r.a=n.a||!RJ(e,t))return-1;if(E3(u(i.Kb(e),20)))return 1;for(r=0,o=u(i.Kb(e),20).Kc();o.Ob();)if(c=u(o.Pb(),17),h=c.c.i==e?c.d.i:c.c.i,f=nZ(n,h,t,i),f==-1||(r=j.Math.max(r,f),r>n.c-1))return-1;return r+1}function oBn(n,e){var t,i,r,c,o,f;if(B(e)===B(n))return!0;if(!I(e,15)||(i=u(e,15),f=n.gc(),i.gc()!=f))return!1;if(o=i.Kc(),n.ni()){for(t=0;t0){if(n.qj(),e!=null){for(c=0;c>24;case 97:case 98:case 99:case 100:case 101:case 102:return n-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return n-65+10<<24>>24;default:throw T(new Sf("Invalid hexadecimal"))}}function D7e(n,e,t){var i,r,c,o;for(le(t,"Processor order nodes",2),n.a=K(Y(k(e,(Zd(),Con)))),r=new Ct,o=_e(e.b,0);o.b!=o.d.c;)c=u(Re(o),86),on(sn(k(c,(cc(),iw))))&&Kt(r,c,r.c.b,r.c);i=(ne(r.b!=0),u(r.a.a.c,86)),SRn(n,i),!t.b&&X$(t,1),cZ(n,i,0-K(Y(k(i,(cc(),kP))))/2,0),!t.b&&X$(t,1),ce(t)}function dM(){dM=N,brn=new kw("SPIRAL",0),hrn=new kw("LINE_BY_LINE",1),lrn=new kw("MANHATTAN",2),frn=new kw("JITTER",3),ER=new kw("QUADRANTS_LINE_BY_LINE",4),drn=new kw("QUADRANTS_MANHATTAN",5),arn=new kw("QUADRANTS_JITTER",6),orn=new kw("COMBINE_LINE_BY_LINE_MANHATTAN",7),srn=new kw("COMBINE_JITTER_MANHATTAN",8)}function hBn(n,e,t,i){var r,c,o,f,h,l;for(h=ax(n,t),l=ax(e,t),r=!1;h&&l&&(i||S3e(h,l,t));)o=ax(h,t),f=ax(l,t),H8(e),H8(n),c=h.c,gL(h,!1),gL(l,!1),t?(pb(e,l.p,c),e.p=l.p,pb(n,h.p+1,c),n.p=h.p):(pb(n,h.p,c),n.p=h.p,pb(e,l.p+1,c),e.p=l.p),yr(h,null),yr(l,null),h=o,l=f,r=!0;return r}function $7e(n,e,t,i){var r,c,o,f,h;for(r=!1,c=!1,f=new E(i.j);f.a=e.length)throw T(new vr("Greedy SwitchDecider: Free layer not in graph."));this.c=e[n],this.e=new b8(i),Y$(this.e,this.c,(J(),Gn)),this.i=new b8(i),Y$(this.i,this.c,Vn),this.f=new oCn(this.c),this.a=!c&&r.i&&!r.s&&this.c[0].k==(Qn(),Xt),this.a&&Q5e(this,n,e.length)}function aBn(n,e){var t,i,r,c,o,f;c=!n.B.Hc((xu(),Sy)),o=n.B.Hc(sH),n.a=new s$n(o,c,n.c),n.n&&GW(n.a.n,n.n),zI(n.g,(_o(),Fc),n.a),e||(i=new l6(1,c,n.c),i.n.a=n.k,m2(n.p,(J(),Kn),i),r=new l6(1,c,n.c),r.n.d=n.k,m2(n.p,ae,r),f=new l6(0,c,n.c),f.n.c=n.k,m2(n.p,Gn,f),t=new l6(0,c,n.c),t.n.b=n.k,m2(n.p,Vn,t))}function x7e(n){var e,t,i;switch(e=u(k(n.d,(nn(),Qh)),218),e.g){case 2:t=lTe(n);break;case 3:t=(i=new X,Rt(gt(Xc(qr(qr(new $n(null,new xn(n.d.b,16)),new Pbn),new Ibn),new Obn),new gbn),new U5n(i)),i);break;default:throw T(new Dr("Compaction not supported for "+e+" edges."))}$je(n,t),$i(new Rp(n.g),new G5n(n))}function L7e(n,e){var t;return t=new pI,e&&Sr(t,u(te(n.a,Iy),94)),I(e,470)&&Sr(t,u(te(n.a,Oy),94)),I(e,354)?(Sr(t,u(te(n.a,Br),94)),t):(I(e,82)&&Sr(t,u(te(n.a,he),94)),I(e,239)?(Sr(t,u(te(n.a,Pt),94)),t):I(e,186)?(Sr(t,u(te(n.a,Ru),94)),t):(I(e,352)&&Sr(t,u(te(n.a,di),94)),t))}function Go(){Go=N,Q4=new tr((Xe(),_P),Q(1)),rS=new tr(ed,80),iWn=new tr(jhn,5),XUn=new tr(Tp,$4),eWn=new tr(tH,Q(1)),tWn=new tr(iH,(qn(),!0)),Orn=new vd(50),ZUn=new tr(nd,Orn),Srn=NP,Drn=n9,VUn=new tr(WK,!1),Irn=ky,YUn=_l,JUn=Za,QUn=_g,nWn=rw,Prn=(YJ(),KUn),xR=zUn,iS=_Un,FR=HUn,$rn=GUn}function N7e(n){var e,t,i,r,c,o,f,h;for(h=new bSn,f=new E(n.a);f.a0&&e=0)return!1;if(e.p=t.b,W(t.e,e),r==(Qn(),gi)||r==Tc){for(o=new E(e.j);o.a1||o==-1)&&(c|=16),r.Bb&uc&&(c|=64)),t.Bb&Yi&&(c|=Bb),c|=Eo):I(e,457)?c|=512:(i=e.Bj(),i&&i.i&1&&(c|=256)),n.Bb&512&&(c|=128),c}function T6(n,e){var t,i,r,c,o;for(n=n==null?iu:(_n(n),n),r=0;rn.d[f.p]&&(t+=jX(n.b,c),ll(n.a,Q(c)))):++o;for(t+=n.b.d*o;!Hv(n.a);)ZX(n.b,u(y2(n.a),19).a)}return t}function U7e(n,e){var t;return n.f==mH?(t=Sd(jr((gu(),xi),e)),n.e?t==4&&e!=(z2(),Dp)&&e!=(z2(),Op)&&e!=(z2(),kH)&&e!=(z2(),yH):t==2):n.d&&(n.d.Hc(e)||n.d.Hc(A2(jr((gu(),xi),e)))||n.d.Hc(rg((gu(),xi),n.b,e)))?!0:n.f&&qY((gu(),n.f),E8(jr(xi,e)))?(t=Sd(jr(xi,e)),n.e?t==4:t==2):!1}function W7e(n,e,t,i){var r,c,o,f,h,l,a,d;return o=u(hn(t,(Xe(),Mp)),8),h=o.a,a=o.b+n,r=j.Math.atan2(a,h),r<0&&(r+=ag),r+=e,r>ag&&(r-=ag),f=u(hn(i,Mp),8),l=f.a,d=f.b+n,c=j.Math.atan2(d,l),c<0&&(c+=ag),c+=e,c>ag&&(c-=ag),Yo(),mo(1e-10),j.Math.abs(r-c)<=1e-10||r==c||isNaN(r)&&isNaN(c)?0:rc?1:pd(isNaN(r),isNaN(c))}function Wx(n){var e,t,i,r,c,o,f;for(f=new we,i=new E(n.a.b);i.a=n.o)throw T(new qq);f=e>>5,o=e&31,c=Ih(1,ge(Ih(o,1))),r?n.n[t][f]=rf(n.n[t][f],c):n.n[t][f]=ci(n.n[t][f],XU(c)),c=Ih(c,1),i?n.n[t][f]=rf(n.n[t][f],c):n.n[t][f]=ci(n.n[t][f],XU(c))}catch(h){throw h=jt(h),I(h,320)?T(new vr(bN+n.o+"*"+n.p+wN+e+Ji+t+gN)):T(h)}}function cZ(n,e,t,i){var r,c,o;e&&(c=K(Y(k(e,(cc(),O1))))+i,o=t+K(Y(k(e,kP)))/2,H(e,mK,Q(ge(eu(j.Math.round(c))))),H(e,pon,Q(ge(eu(j.Math.round(o))))),e.d.b==0||cZ(n,u(fE((r=_e(new X1(e).a.d,0),new e2(r))),86),t+K(Y(k(e,kP)))+n.a,i+K(Y(k(e,vv)))),k(e,vK)!=null&&cZ(n,u(k(e,vK),86),t,i))}function V7e(n,e){var t,i,r,c,o,f,h,l,a,d,g;for(h=Gi(e.a),r=K(Y(k(h,(nn(),Qa))))*2,a=K(Y(k(h,$g))),l=j.Math.max(r,a),c=F(ji,pr,25,e.f-e.c+1,15,1),i=-l,t=0,f=e.b.Kc();f.Ob();)o=u(f.Pb(),10),i+=n.a[o.c.p]+l,c[t++]=i;for(i+=n.a[e.a.c.p]+l,c[t++]=i,g=new E(e.e);g.a0&&(i=(!n.n&&(n.n=new V(Br,n,1,7)),u(D(n.n,0),137)).a,!i||De(De((e.a+=' "',e),i),'"'))),De(dd(De(dd(De(dd(De(dd((e.a+=" (",e),n.i),","),n.j)," | "),n.g),","),n.f),")"),e.a)}function jBn(n){var e,t,i;return n.Db&64?Ex(n):(e=new Ju(Itn),t=n.k,t?De(De((e.a+=' "',e),t),'"'):(!n.n&&(n.n=new V(Br,n,1,7)),n.n.i>0&&(i=(!n.n&&(n.n=new V(Br,n,1,7)),u(D(n.n,0),137)).a,!i||De(De((e.a+=' "',e),i),'"'))),De(dd(De(dd(De(dd(De(dd((e.a+=" (",e),n.i),","),n.j)," | "),n.g),","),n.f),")"),e.a)}function Vx(n,e){var t,i,r,c,o,f,h;if(e==null||e.length==0)return null;if(r=u(vc(n.a,e),149),!r){for(i=(f=new Mh(n.b).a.vc().Kc(),new L0(f));i.a.Ob();)if(t=(c=u(i.a.Pb(),42),u(c.dd(),149)),o=t.c,h=e.length,An(o.substr(o.length-h,h),e)&&(e.length==o.length||Di(o,o.length-e.length-1)==46)){if(r)return null;r=t}r&&kr(n.a,e,r)}return r}function Y7e(n,e){var t,i,r,c;return t=new zln,i=u(es(Xc(new $n(null,new xn(n.f,16)),t),cb(new Vg,new Qg,new Jg,new Yg,A(M(Nu,1),z,132,0,[(hf(),Rb),hs]))),21),r=i.gc(),i=u(es(Xc(new $n(null,new xn(e.f,16)),t),cb(new Vg,new Qg,new Jg,new Yg,A(M(Nu,1),z,132,0,[Rb,hs]))),21),c=i.gc(),rr.p?(ui(c,ae),c.d&&(f=c.o.b,e=c.a.b,c.a.b=f-e)):c.j==ae&&r.p>n.p&&(ui(c,Kn),c.d&&(f=c.o.b,e=c.a.b,c.a.b=-(f-e)));break}return r}function nke(n,e,t,i){var r,c,o,f,h,l,a,d,g,p,v;if(c=t,t1,f&&(i=new fn(r,t.b),Ke(e.a,i)),V5(e.a,A(M(ai,1),q,8,0,[g,d]))}function Qx(n,e,t){var i,r,c,o,f,h;if(e)if(t<=-1){if(i=On(e.Tg(),-1-t),I(i,99))return u(i,18);for(o=u(e.ah(i),153),f=0,h=o.gc();f0){for(r=h.length;r>0&&h[r-1]=="";)--r;r=40,o&&lye(n),wje(n),X8e(n),t=WDn(n),i=0;t&&i0&&Ke(n.f,c)):(n.c[o]-=l+1,n.c[o]<=0&&n.a[o]>0&&Ke(n.e,c))))}function Mke(n){var e,t,i,r,c,o,f,h,l;for(f=new Y1(u(pe(new Wln),62)),l=Vt,t=new E(n.d);t.a=0&&ht?e:t;l<=d;++l)l==t?f=i++:(c=r[l],a=v.rl(c.ak()),l==e&&(h=l==d&&!a?i-1:i),a&&++i);return g=u(o6(n,e,t),72),f!=h&&Gp(n,new R8(n.e,7,o,Q(f),p.dd(),h)),g}}else return u(Dx(n,e,t),72);return u(o6(n,e,t),72)}function Ike(n,e){var t,i,r,c,o,f,h;for(le(e,"Port order processing",1),h=u(k(n,(nn(),Ssn)),421),i=new E(n.b);i.a=0&&(f=$3e(n,o),!(f&&(l<22?h.l|=1<>>1,o.m=a>>>1|(d&1)<<21,o.l=g>>>1|(a&1)<<21,--l;return t&&sF(h),c&&(i?(Il=z3(n),r&&(Il=xOn(Il,(I3(),gin)))):Il=Bc(n.l,n.m,n.h)),h}function $ke(n,e){var t,i,r,c,o,f,h,l,a,d;for(l=n.e[e.c.p][e.p]+1,h=e.c.a.c.length+1,f=new E(n.a);f.a0&&(Me(0,n.length),n.charCodeAt(0)==45||(Me(0,n.length),n.charCodeAt(0)==43))?1:0,i=o;it)throw T(new Sf(c0+n+'"'));return f}function Fke(n){var e,t,i,r,c,o,f;for(o=new Ct,c=new E(n.a);c.a1)&&e==1&&u(n.a[n.b],10).k==(Qn(),Qu)?W2(u(n.a[n.b],10),(cs(),kh)):i&&(!t||(n.c-n.b&n.a.length-1)>1)&&e==1&&u(n.a[n.c-1&n.a.length-1],10).k==(Qn(),Qu)?W2(u(n.a[n.c-1&n.a.length-1],10),(cs(),Kl)):(n.c-n.b&n.a.length-1)==2?(W2(u(t6(n),10),(cs(),kh)),W2(u(t6(n),10),Kl)):S9e(n,r),kX(n)}function Nke(n,e,t){var i,r,c,o,f;for(c=0,r=new ie((!n.a&&(n.a=new V(Pt,n,10,11)),n.a));r.e!=r.i.gc();)i=u(oe(r),33),o="",(!i.n&&(i.n=new V(Br,i,1,7)),i.n).i==0||(o=u(D((!i.n&&(i.n=new V(Br,i,1,7)),i.n),0),137).a),f=new hF(c++,e,o),Sr(f,i),H(f,(cc(),Wm),i),f.e.b=i.j+i.f/2,f.f.a=j.Math.max(i.g,1),f.e.a=i.i+i.g/2,f.f.b=j.Math.max(i.f,1),Ke(e.b,f),_c(t.f,i,f)}function Bke(n){var e,t,i,r,c;i=u(k(n,(G(),rt)),33),c=u(hn(i,(nn(),Xa)),174).Hc((Vu(),id)),n.e||(r=u(k(n,Mc),21),e=new fn(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a),r.Hc((or(),$s))?(gr(i,Lt,(Ti(),Ac)),t0(i,e.a,e.b,!1,!0)):on(sn(hn(i,H_)))||t0(i,e.a,e.b,!0,!0)),c?gr(i,Xa,Cn(id)):gr(i,Xa,(t=u(xo(o9),9),new ks(t,u(bo(t,t.length),9),0)))}function dZ(n,e,t){var i,r,c,o;if(e[0]>=n.length)return t.o=0,!0;switch(Di(n,e[0])){case 43:r=1;break;case 45:r=-1;break;default:return t.o=0,!0}if(++e[0],c=e[0],o=tM(n,e),o==0&&e[0]==c)return!1;if(e[0]=0&&f!=t&&(c=new wi(n,1,f,o,null),i?i.Ei(c):i=c),t>=0&&(c=new wi(n,1,t,f==t?o:null,e),i?i.Ei(c):i=c)),i}function _Bn(n){var e,t,i;if(n.b==null){if(i=new i1,n.i!=null&&(dr(i,n.i),i.a+=":"),n.f&256){for(n.f&256&&n.a!=null&&(n1e(n.i)||(i.a+="//"),dr(i,n.a)),n.d!=null&&(i.a+="/",dr(i,n.d)),n.f&16&&(i.a+="/"),e=0,t=n.j.length;eg?!1:(d=(h=O6(i,g,!1),h.a),a+f+d<=e.b&&(B8(t,c-t.s),t.c=!0,B8(i,c-t.s),k7(i,t.s,t.t+t.d+f),i.k=!0,TV(t.q,i),p=!0,r&&(XC(e,i),i.j=e,n.c.length>o&&(T7((Ln(o,n.c.length),u(n.c[o],200)),i),(Ln(o,n.c.length),u(n.c[o],200)).a.c.length==0&&h1(n,o)))),p)}function Uke(n,e){var t,i,r,c,o,f;if(le(e,"Partition midprocessing",1),r=new Od,Rt(gt(new $n(null,new xn(n.a,16)),new w0n),new I5n(r)),r.d!=0){for(f=u(es($Mn((c=r.i,new $n(null,(c||(r.i=new Sw(r,r.c))).Nc()))),ga(new U1,new z1,new W1,A(M(Nu,1),z,132,0,[(hf(),hs)]))),15),i=f.Kc(),t=u(i.Pb(),19);i.Ob();)o=u(i.Pb(),19),V9e(u(ct(r,t),21),u(ct(r,o),21)),t=o;ce(e)}}function qBn(n,e,t){var i,r,c,o,f,h,l,a;if(e.p==0){for(e.p=1,o=t,o||(r=new X,c=(i=u(xo(Zi),9),new ks(i,u(bo(i,i.length),9),0)),o=new Pi(r,c)),u(o.a,15).Fc(e),e.k==(Qn(),Xt)&&u(o.b,21).Fc(u(k(e,(G(),ec)),61)),h=new E(e.j);h.a0){if(r=u(n.Ab.g,1934),e==null){for(c=0;c1)for(i=new E(r);i.at.s&&ff&&(f=r,a.c=F(Zn,rn,1,0,5,1)),r==f&&W(a,new Pi(t.c.i,t)));Pn(),bi(a,n.c),Q0(n.b,h.p,a)}}function Yke(n,e){var t,i,r,c,o,f,h,l,a;for(o=new E(e.b);o.af&&(f=r,a.c=F(Zn,rn,1,0,5,1)),r==f&&W(a,new Pi(t.d.i,t)));Pn(),bi(a,n.c),Q0(n.f,h.p,a)}}function zBn(n){wd(n,new Ia(ld(od(hd(fd(new Zl,f0),"ELK Box"),"Algorithm for packing of unconnected boxes, i.e. graphs without edges."),new m2n))),Z(n,f0,u0,Gfn),Z(n,f0,Db,15),Z(n,f0,hk,Q(0)),Z(n,f0,dA,cn(Kfn)),Z(n,f0,hg,cn(LZn)),Z(n,f0,tp,cn(NZn)),Z(n,f0,ep,qHn),Z(n,f0,lk,cn(Hfn)),Z(n,f0,ip,cn(qfn)),Z(n,f0,Ctn,cn(qK)),Z(n,f0,sA,cn(xZn))}function UBn(n,e){var t,i,r,c,o,f,h,l,a;if(r=n.i,o=r.o.a,c=r.o.b,o<=0&&c<=0)return J(),Xr;switch(l=n.n.a,a=n.n.b,f=n.o.a,t=n.o.b,e.g){case 2:case 1:if(l<0)return J(),Gn;if(l+f>o)return J(),Vn;break;case 4:case 3:if(a<0)return J(),Kn;if(a+t>c)return J(),ae}return h=(l+f/2)/o,i=(a+t/2)/c,h+i<=1&&h-i<=0?(J(),Gn):h+i>=1&&h-i>=0?(J(),Vn):i<.5?(J(),Kn):(J(),ae)}function Zke(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m;for(t=!1,a=K(Y(k(e,(nn(),T0)))),v=Cl*a,r=new E(e.b);r.ah+v&&(m=d.g+g.g,g.a=(g.g*g.a+d.g*d.a)/m,g.g=m,d.f=g,t=!0)),c=f,d=g;return t}function WBn(n,e,t,i,r,c,o){var f,h,l,a,d,g;for(g=new d2,l=e.Kc();l.Ob();)for(f=u(l.Pb(),839),d=new E(f.wf());d.a0?f.a?(l=f.b.rf().b,r>l&&(n.v||f.c.d.c.length==1?(o=(r-l)/2,f.d.d=o,f.d.a=o):(t=u(un(f.c.d,0),181).rf().b,i=(t-l)/2,f.d.d=j.Math.max(0,i),f.d.a=r-i-l))):f.d.a=n.t+r:D5(n.u)&&(c=HJ(f.b),c.d<0&&(f.d.d=-c.d),c.d+c.a>f.b.rf().b&&(f.d.a=c.d+c.a-f.b.rf().b))}function tye(n,e){var t;switch(U8(n)){case 6:return mi(e);case 7:return G0(e);case 8:return q0(e);case 3:return Array.isArray(e)&&(t=U8(e),!(t>=14&&t<=16));case 11:return e!=null&&typeof e===CL;case 12:return e!=null&&(typeof e===Q7||typeof e==CL);case 0:return WF(e,n.__elementTypeId$);case 2:return OD(e)&&e.im!==Xg;case 1:return OD(e)&&e.im!==Xg||WF(e,n.__elementTypeId$);default:return!0}}function XBn(n,e){var t,i,r,c;return i=j.Math.min(j.Math.abs(n.c-(e.c+e.b)),j.Math.abs(n.c+n.b-e.c)),c=j.Math.min(j.Math.abs(n.d-(e.d+e.a)),j.Math.abs(n.d+n.a-e.d)),t=j.Math.abs(n.c+n.b/2-(e.c+e.b/2)),t>n.b/2+e.b/2||(r=j.Math.abs(n.d+n.a/2-(e.d+e.a/2)),r>n.a/2+e.a/2)?1:t==0&&r==0?0:t==0?c/r+1:r==0?i/t+1:j.Math.min(i/t,c/r)+1}function VBn(n,e){var t,i,r,c,o,f;return r=fV(n),f=fV(e),r==f?n.e==e.e&&n.a<54&&e.a<54?n.fe.f?1:0:(i=n.e-e.e,t=(n.d>0?n.d:j.Math.floor((n.a-1)*uKn)+1)-(e.d>0?e.d:j.Math.floor((e.a-1)*uKn)+1),t>i+1?r:t0&&(o=Fw(o,pRn(i))),A$n(c,o))):r0&&n.d!=(W5(),BR)&&(f+=o*(i.d.a+n.a[e.b][i.b]*(e.d.a-i.d.a)/t)),t>0&&n.d!=(W5(),LR)&&(h+=o*(i.d.b+n.a[e.b][i.b]*(e.d.b-i.d.b)/t)));switch(n.d.g){case 1:return new fn(f/c,e.d.b);case 2:return new fn(e.d.a,h/c);default:return new fn(f/c,h/c)}}function QBn(n,e){V3();var t,i,r,c,o;if(o=u(k(n.i,(nn(),Lt)),98),c=n.j.g-e.j.g,c!=0||!(o==(Ti(),td)||o==jh||o==Ac))return 0;if(o==(Ti(),td)&&(t=u(k(n,P1),19),i=u(k(e,P1),19),t&&i&&(r=t.a-i.a,r!=0)))return r;switch(n.j.g){case 1:return Zt(n.n.a,e.n.a);case 2:return Zt(n.n.b,e.n.b);case 3:return Zt(e.n.a,n.n.a);case 4:return Zt(e.n.b,n.n.b);default:throw T(new Dr($nn))}}function JBn(n){var e,t,i,r,c,o;for(t=(!n.a&&(n.a=new Jt(io,n,5)),n.a).i+2,o=new Pc(t),W(o,new fn(n.j,n.k)),Rt(new $n(null,(!n.a&&(n.a=new Jt(io,n,5)),new xn(n.a,16))),new z6n(o)),W(o,new fn(n.b,n.c)),e=1;e0&&(u7(h,!1,(sr(),Zs)),u7(h,!0,Ao)),Yc(e.g,new H7n(n,t)),it(n.g,e,t)}function ZBn(){ZBn=N;var n;for(Cin=A(M(be,1),Le,25,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]),bR=F(be,Le,25,37,15,1),yzn=A(M(be,1),Le,25,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]),Tin=F(Yl,QL,25,37,14,1),n=2;n<=36;n++)bR[n]=Gt(j.Math.pow(n,Cin[n])),Tin[n]=M7(IM,bR[n])}function rye(n){var e;if((!n.a&&(n.a=new V(Tt,n,6,6)),n.a).i!=1)throw T(new Hn(oqn+(!n.a&&(n.a=new V(Tt,n,6,6)),n.a).i));return e=new hu,r7(u(D((!n.b&&(n.b=new Fn(he,n,4,7)),n.b),0),82))&&Vi(e,x_n(n,r7(u(D((!n.b&&(n.b=new Fn(he,n,4,7)),n.b),0),82)),!1)),r7(u(D((!n.c&&(n.c=new Fn(he,n,5,8)),n.c),0),82))&&Vi(e,x_n(n,r7(u(D((!n.c&&(n.c=new Fn(he,n,5,8)),n.c),0),82)),!0)),e}function nRn(n,e){var t,i,r,c,o;for(e.d?r=n.a.c==(Ff(),M0)?xr(e.b):ni(e.b):r=n.a.c==(Ff(),I1)?xr(e.b):ni(e.b),c=!1,i=new re(ue(r.a.Kc(),new Mn));Se(i);)if(t=u(ve(i),17),o=on(n.a.f[n.a.g[e.b.p].p]),!(!o&&!Xi(t)&&t.c.i.c==t.d.i.c)&&!(on(n.a.n[n.a.g[e.b.p].p])||on(n.a.n[n.a.g[e.b.p].p]))&&(c=!0,Ah(n.b,n.a.g[b3e(t,e.b).p])))return e.c=!0,e.a=t,e;return e.c=c,e.a=null,e}function cye(n,e,t,i,r){var c,o,f,h,l,a,d;for(Pn(),bi(n,new I2n),f=new Ii(n,0),d=new X,c=0;f.bc*2?(a=new zC(d),l=bu(o)/Gu(o),h=kL(a,e,new i2,t,i,r,l),ot(Lo(a.e),h),d.c=F(Zn,rn,1,0,5,1),c=0,d.c[d.c.length]=a,d.c[d.c.length]=o,c=bu(a)*Gu(a)+bu(o)*Gu(o)):(d.c[d.c.length]=o,c+=bu(o)*Gu(o));return d}function wZ(n,e,t){var i,r,c,o,f,h,l;if(i=t.gc(),i==0)return!1;if(n.ej())if(h=n.fj(),IQ(n,e,t),o=i==1?n.Zi(3,null,t.Kc().Pb(),e,h):n.Zi(5,null,t,e,h),n.bj()){for(f=i<100?null:new Q1(i),c=e+i,r=e;r0){for(o=0;o>16==-15&&n.Cb.nh()&&L$(new D$(n.Cb,9,13,t,n.c,v1(Ou(u(n.Cb,59)),n))):I(n.Cb,88)&&n.Db>>16==-23&&n.Cb.nh()&&(e=n.c,I(e,88)||(e=(Sn(),so)),I(t,88)||(t=(Sn(),so)),L$(new D$(n.Cb,9,10,t,e,v1(bc(u(n.Cb,26)),n)))))),n.c}function uye(n,e){var t,i,r,c,o,f,h,l,a,d;for(le(e,"Hypernodes processing",1),r=new E(n.b);r.at);return r}function tRn(n,e){var t,i,r;i=Fu(n.d,1)!=0,!on(sn(k(e.j,(G(),v0))))&&!on(sn(k(e.j,Pg)))||B(k(e.j,(nn(),Ll)))===B((Rh(),Nl))?e.c.Tf(e.e,i):i=on(sn(k(e.j,v0))),_7(n,e,i,!0),on(sn(k(e.j,Pg)))&&H(e.j,Pg,(qn(),!1)),on(sn(k(e.j,v0)))&&(H(e.j,v0,(qn(),!1)),H(e.j,Pg,!0)),t=Sx(n,e);do{if(yV(n),t==0)return 0;i=!i,r=t,_7(n,e,i,!1),t=Sx(n,e)}while(r>t);return r}function iRn(n,e,t){var i,r,c,o,f,h,l,a,d,g,p,v;if(e==t)return!0;if(e=TY(n,e),t=TY(n,t),i=nx(e),i){if(a=nx(t),a!=i)return a?(h=i.Dj(),v=a.Dj(),h==v&&h!=null):!1;if(o=(!e.d&&(e.d=new Jt(ar,e,1)),e.d),c=o.i,g=(!t.d&&(t.d=new Jt(ar,t,1)),t.d),c==g.i){for(l=0;l0,f=TT(e,c),Uz(t?f.b:f.g,e),Hw(f).c.length==1&&Kt(i,f,i.c.b,i.c),r=new Pi(c,e),ll(n.o,r),Qc(n.e.a,c))}function sRn(n,e){var t,i,r,c,o,f,h;return i=j.Math.abs(qE(n.b).a-qE(e.b).a),f=j.Math.abs(qE(n.b).b-qE(e.b).b),r=0,h=0,t=1,o=1,i>n.b.b/2+e.b.b/2&&(r=j.Math.min(j.Math.abs(n.b.c-(e.b.c+e.b.b)),j.Math.abs(n.b.c+n.b.b-e.b.c)),t=1-r/i),f>n.b.a/2+e.b.a/2&&(h=j.Math.min(j.Math.abs(n.b.d-(e.b.d+e.b.a)),j.Math.abs(n.b.d+n.b.a-e.b.d)),o=1-h/f),c=j.Math.min(t,o),(1-c)*j.Math.sqrt(i*i+f*f)}function aye(n){var e,t,i,r;for(mL(n,n.e,n.f,(Id(),Rl),!0,n.c,n.i),mL(n,n.e,n.f,Rl,!1,n.c,n.i),mL(n,n.e,n.f,Lg,!0,n.c,n.i),mL(n,n.e,n.f,Lg,!1,n.c,n.i),bye(n,n.c,n.e,n.f,n.i),i=new Ii(n.i,0);i.b=65;t--)Tf[t]=t-65<<24>>24;for(i=122;i>=97;i--)Tf[i]=i-97+26<<24>>24;for(r=57;r>=48;r--)Tf[r]=r-48+52<<24>>24;for(Tf[43]=62,Tf[47]=63,c=0;c<=25;c++)R1[c]=65+c&Ut;for(o=26,h=0;o<=51;++o,h++)R1[o]=97+h&Ut;for(n=52,f=0;n<=61;++n,f++)R1[n]=48+f&Ut;R1[62]=43,R1[63]=47}function dye(n,e){var t,i,r,c,o,f,h,l,a,d,g,p;if(n.dc())return new Li;for(l=0,d=0,r=n.Kc();r.Ob();)i=u(r.Pb(),37),c=i.f,l=j.Math.max(l,c.a),d+=c.a*c.b;for(l=j.Math.max(l,j.Math.sqrt(d)*K(Y(k(u(n.Kc().Pb(),37),(nn(),zS))))),g=0,p=0,h=0,t=e,f=n.Kc();f.Ob();)o=u(f.Pb(),37),a=o.f,g+a.a>l&&(g=0,p+=h+e,h=0),M6(o,g,p),t=j.Math.max(t,g+a.a),h=j.Math.max(h,a.b),g+=a.a+e;return new fn(t+e,p+h+e)}function bye(n,e,t,i,r){var c,o,f,h,l,a,d;for(o=new E(e);o.ac)return J(),Vn;break;case 4:case 3:if(h<0)return J(),Kn;if(h+n.f>r)return J(),ae}return o=(f+n.g/2)/c,t=(h+n.f/2)/r,o+t<=1&&o-t<=0?(J(),Gn):o+t>=1&&o-t>=0?(J(),Vn):t<.5?(J(),Kn):(J(),ae)}function wye(n,e,t,i,r){var c,o;if(c=qi(ci(e[0],fr),ci(i[0],fr)),n[0]=ge(c),c=cl(c,32),t>=r){for(o=1;o0&&(r.b[o++]=0,r.b[o++]=c.b[0]-1),e=1;e0&&(II(h,h.d-r.d),r.c==(No(),Bl)&<e(h,h.a-r.d),h.d<=0&&h.i>0&&Kt(e,h,e.c.b,e.c)));for(c=new E(n.f);c.a0&&(ej(f,f.i-r.d),r.c==(No(),Bl)&&ate(f,f.b-r.d),f.i<=0&&f.d>0&&Kt(t,f,t.c.b,t.c)))}function gye(n,e,t){var i,r,c,o,f,h,l,a;for(le(t,"Processor compute fanout",1),Eu(n.b),Eu(n.a),f=null,c=_e(e.b,0);!f&&c.b!=c.d.c;)l=u(Re(c),86),on(sn(k(l,(cc(),iw))))&&(f=l);for(h=new Ct,Kt(h,f,h.c.b,h.c),v_n(n,h),a=_e(e.b,0);a.b!=a.d.c;)l=u(Re(a),86),o=Te(k(l,(cc(),Um))),r=vc(n.b,o)!=null?u(vc(n.b,o),19).a:0,H(l,vP,Q(r)),i=1+(vc(n.a,o)!=null?u(vc(n.a,o),19).a:0),H(l,QJn,Q(i));ce(t)}function pye(n,e,t,i,r){var c,o,f,h,l,a,d,g,p,v;for(g=nve(n,t),h=0;h0),i.a.Xb(i.c=--i.b),d>g+h&&Uu(i);for(o=new E(p);o.a0),i.a.Xb(i.c=--i.b)}}function vye(){Je();var n,e,t,i,r,c;if(EH)return EH;for(n=new ns(4),Ab(n,El(eR,!0)),F6(n,El("M",!0)),F6(n,El("C",!0)),c=new ns(4),i=0;i<11;i++)yc(c,i,i);return e=new ns(4),Ab(e,El("M",!0)),yc(e,4448,4607),yc(e,65438,65439),r=new v5(2),Oa(r,n),Oa(r,k9),t=new v5(2),t.$l(LE(c,El("L",!0))),t.$l(e),t=new ib(3,t),t=new PW(r,t),EH=t,EH}function mye(n){var e,t;if(e=Te(hn(n,(Xe(),Zm))),!EOn(e,n)&&!wa(n,yv)&&((!n.a&&(n.a=new V(Pt,n,10,11)),n.a).i!=0||on(sn(hn(n,vy)))))if(e==null||mb(e).length==0){if(!EOn(Jn,n))throw t=De(De(new Ju("Unable to load default layout algorithm "),Jn)," for unconfigured node "),CM(n,t),T(new pw(t.a))}else throw t=De(De(new Ju("Layout algorithm '"),e),"' not found for "),CM(n,t),T(new pw(t.a))}function tL(n){var e,t,i,r,c,o,f,h,l,a,d,g,p;if(t=n.i,e=n.n,n.b==0)for(p=t.c+e.b,g=t.b-e.b-e.c,o=n.a,h=0,a=o.length;h0&&(d-=i[0]+n.c,i[0]+=n.c),i[2]>0&&(d-=i[2]+n.c),i[1]=j.Math.max(i[1],d),BE(n.a[1],t.c+e.b+i[0]-(i[1]-d)/2,i[1]);for(c=n.a,f=0,l=c.length;f0?(n.n.c.length-1)*n.i:0,i=new E(n.n);i.a1)for(i=_e(r,0);i.b!=i.d.c;)for(t=u(Re(i),231),c=0,h=new E(t.e);h.a0&&(e[0]+=n.c,d-=e[0]),e[2]>0&&(d-=e[2]+n.c),e[1]=j.Math.max(e[1],d),RE(n.a[1],i.d+t.d+e[0]-(e[1]-d)/2,e[1]);else for(v=i.d+t.d,p=i.a-t.d-t.a,o=n.a,h=0,a=o.length;h=0&&c!=t))throw T(new Hn(yk));for(r=0,h=0;h0||zd(r.b.d,n.b.d+n.b.a)==0&&i.b<0||zd(r.b.d+r.b.a,n.b.d)==0&&i.b>0){f=0;break}}else f=j.Math.min(f,lLn(n,r,i));f=j.Math.min(f,lRn(n,c,f,i))}return f}function z7(n,e){var t,i,r,c,o,f,h;if(n.b<2)throw T(new Hn("The vector chain must contain at least a source and a target point."));for(r=(ne(n.b!=0),u(n.a.a.c,8)),uE(e,r.a,r.b),h=new b2((!e.a&&(e.a=new Jt(io,e,5)),e.a)),o=_e(n,1);o.aK(Zo(o.g,o.d[0]).a)?(ne(h.b>0),h.a.Xb(h.c=--h.b),X0(h,o),r=!0):f.e&&f.e.gc()>0&&(c=(!f.e&&(f.e=new X),f.e).Mc(e),l=(!f.e&&(f.e=new X),f.e).Mc(t),(c||l)&&((!f.e&&(f.e=new X),f.e).Fc(o),++o.c));r||(i.c[i.c.length]=o)}function bRn(n){var e,t,i;if(Cw(u(k(n,(nn(),Lt)),98)))for(t=new E(n.j);t.a>>0,"0"+e.toString(16)),i="\\x"+Yu(t,t.length-2,t.length)):n>=Yi?(t=(e=n>>>0,"0"+e.toString(16)),i="\\v"+Yu(t,t.length-6,t.length)):i=""+String.fromCharCode(n&Ut)}return i}function rL(n,e){var t,i,r,c,o,f,h,l,a,d;if(o=n.e,h=e.e,h==0)return n;if(o==0)return e.e==0?e:new Pw(-e.e,e.d,e.a);if(c=n.d,f=e.d,c+f==2)return t=ci(n.a[0],fr),i=ci(e.a[0],fr),o<0&&(t=P3(t)),h<0&&(i=P3(i)),m7(vl(t,i));if(r=c!=f?c>f?1:-1:YV(n.a,e.a,c),r==-1)d=-h,a=o==h?M$(e.a,f,n.a,c):S$(e.a,f,n.a,c);else if(d=o,o==h){if(r==0)return jl(),W4;a=M$(n.a,c,e.a,f)}else a=S$(n.a,c,e.a,f);return l=new Pw(d,a.length,a),K5(l),l}function jZ(n){var e,t,i,r,c,o;for(this.e=new X,this.a=new X,t=n.b-1;t<3;t++)s3(n,0,u(qo(n,0),8));if(n.b<4)throw T(new Hn("At (least dimension + 1) control points are necessary!"));for(this.b=3,this.d=!0,this.c=!1,l9e(this,n.b+this.b-1),o=new X,c=new E(this.e),e=0;e=e.o&&t.f<=e.f||e.a*.5<=t.f&&e.a*1.5>=t.f){if(o=u(un(e.n,e.n.c.length-1),211),o.e+o.d+t.g+r<=i&&(c=u(un(e.n,e.n.c.length-1),211),c.f-n.f+t.f<=n.b||n.a.c.length==1))return yQ(e,t),!0;if(e.s+t.g<=i&&(e.t+e.d+t.f+r<=n.b||n.a.c.length==1))return W(e.b,t),f=u(un(e.n,e.n.c.length-1),211),W(e.n,new lC(e.s,f.f+f.a+e.i,e.i)),iJ(u(un(e.n,e.n.c.length-1),211),t),oRn(e,t),!0}return!1}function gRn(n,e,t){var i,r,c,o;return n.ej()?(r=null,c=n.fj(),i=n.Zi(1,o=B$(n,e,t),t,e,c),n.bj()&&!(n.ni()&&o!=null?tt(o,t):B(o)===B(t))?(o!=null&&(r=n.dj(o,r)),r=n.cj(t,r),n.ij()&&(r=n.lj(o,t,r)),r?(r.Ei(i),r.Fi()):n.$i(i)):(n.ij()&&(r=n.lj(o,t,r)),r?(r.Ei(i),r.Fi()):n.$i(i)),o):(o=B$(n,e,t),n.bj()&&!(n.ni()&&o!=null?tt(o,t):B(o)===B(t))&&(r=null,o!=null&&(r=n.dj(o,null)),r=n.cj(t,r),r&&r.Fi()),o)}function S6(n,e){var t,i,r,c,o,f,h,l;e%=24,n.q.getHours()!=e&&(i=new j.Date(n.q.getTime()),i.setDate(i.getDate()+1),f=n.q.getTimezoneOffset()-i.getTimezoneOffset(),f>0&&(h=f/60|0,l=f%60,r=n.q.getDate(),t=n.q.getHours(),t+h>=24&&++r,c=new j.Date(n.q.getFullYear(),n.q.getMonth(),r,e+h,n.q.getMinutes()+l,n.q.getSeconds(),n.q.getMilliseconds()),n.q.setTime(c.getTime()))),o=n.q.getTime(),n.q.setTime(o+36e5),n.q.getHours()!=e&&n.q.setTime(o)}function Sye(n,e){var t,i,r,c,o;if(le(e,"Path-Like Graph Wrapping",1),n.b.c.length==0){ce(e);return}if(r=new PY(n),o=(r.i==null&&(r.i=jV(r,new HH)),K(r.i)*r.f),t=o/(r.i==null&&(r.i=jV(r,new HH)),K(r.i)),r.b>t){ce(e);return}switch(u(k(n,(nn(),W_)),337).g){case 2:c=new GH;break;case 0:c=new KH;break;default:c=new zH}if(i=c.Vf(n,r),!c.Wf())switch(u(k(n,cP),338).g){case 2:i=aLn(r,i);break;case 1:i=lxn(r,i)}Tje(n,r,i),ce(e)}function Pye(n,e){var t,i,r,c;if(dle(n.d,n.e),n.c.a.$b(),K(Y(k(e.j,(nn(),XS))))!=0||K(Y(k(e.j,XS)))!=0)for(t=D4,B(k(e.j,Ll))!==B((Rh(),Nl))&&H(e.j,(G(),v0),(qn(),!0)),c=u(k(e.j,xm),19).a,r=0;rr&&++l,W(o,(Ln(f+l,e.c.length),u(e.c[f+l],19))),h+=(Ln(f+l,e.c.length),u(e.c[f+l],19)).a-i,++t;t1&&(h>bu(f)*Gu(f)/2||o.b==0)&&(d=new zC(g),a=bu(f)/Gu(f),l=kL(d,e,new i2,t,i,r,a),ot(Lo(d.e),l),f=d,p.c[p.c.length]=d,h=0,g.c=F(Zn,rn,1,0,5,1)));return Yt(p,g),p}function Dye(n,e,t,i){var r,c,o,f,h,l,a,d,g,p,v,m;if(t.mh(e)&&(a=(p=e,p?u(i,49).xh(p):null),a))if(m=t.bh(e,n.a),v=e.t,v>1||v==-1)if(d=u(m,69),g=u(a,69),d.dc())g.$b();else for(o=!!ir(e),c=0,f=n.a?d.Kc():d.Zh();f.Ob();)l=u(f.Pb(),56),r=u(xd(n,l),56),r?(o?(h=g.Xc(r),h==-1?g.Xh(c,r):c!=h&&g.ji(c,r)):g.Xh(c,r),++c):n.b&&!o&&(g.Xh(c,l),++c);else m==null?a.Wb(null):(r=xd(n,m),r==null?n.b&&!ir(e)&&a.Wb(m):a.Wb(r))}function $ye(n,e){var t,i,r,c,o,f,h,l;for(t=new $dn,r=new re(ue(xr(e).a.Kc(),new Mn));Se(r);)if(i=u(ve(r),17),!Xi(i)&&(f=i.c.i,RJ(f,oS))){if(l=nZ(n,f,oS,sS),l==-1)continue;t.b=j.Math.max(t.b,l),!t.a&&(t.a=new X),W(t.a,f)}for(o=new re(ue(ni(e).a.Kc(),new Mn));Se(o);)if(c=u(ve(o),17),!Xi(c)&&(h=c.d.i,RJ(h,sS))){if(l=nZ(n,h,sS,oS),l==-1)continue;t.d=j.Math.max(t.d,l),!t.c&&(t.c=new X),W(t.c,h)}return t}function pRn(n){a4();var e,t,i,r;if(e=Gt(n),n1e6)throw T(new bj("power of ten too big"));if(n<=nt)return P2(L7(fp[1],e),e);for(i=L7(fp[1],nt),r=i,t=eu(n-nt),e=Gt(n%nt);fc(t,nt)>0;)r=Fw(r,i),t=vl(t,nt);for(r=Fw(r,L7(fp[1],e)),r=P2(r,nt),t=eu(n-nt);fc(t,nt)>0;)r=P2(r,nt),t=vl(t,nt);return r=P2(r,e),r}function Fye(n,e){var t,i,r,c,o,f,h,l,a;for(le(e,"Hierarchical port dummy size processing",1),h=new X,a=new X,i=K(Y(k(n,(nn(),Dg)))),t=i*2,c=new E(n.b);c.al&&i>l)a=f,l=K(e.p[f.p])+K(e.d[f.p])+f.o.b+f.d.a;else{r=!1,t.n&&sa(t,"bk node placement breaks on "+f+" which should have been after "+a);break}if(!r)break}return t.n&&sa(t,e+" is feasible: "+r),r}function Rye(n,e,t,i){var r,c,o,f,h,l,a;for(f=-1,a=new E(n);a.a=C&&n.e[h.p]>v*n.b||O>=t*C)&&(g.c[g.c.length]=f,f=new X,Vi(o,c),c.a.$b(),l-=a,p=j.Math.max(p,l*n.b+m),l+=O,$=O,O=0,a=0,m=0);return new Pi(p,g)}function qye(n){var e,t,i,r,c,o,f,h,l,a,d,g,p;for(t=(l=new Mh(n.c.b).a.vc().Kc(),new L0(l));t.a.Ob();)e=(f=u(t.a.Pb(),42),u(f.dd(),149)),r=e.a,r==null&&(r=""),i=wue(n.c,r),!i&&r.length==0&&(i=gge(n)),i&&!db(i.c,e,!1)&&Ke(i.c,e);for(o=_e(n.a,0);o.b!=o.d.c;)c=u(Re(o),478),a=j$(n.c,c.a),p=j$(n.c,c.b),a&&p&&Ke(a.c,new Pi(p,c.c));for(_s(n.a),g=_e(n.b,0);g.b!=g.d.c;)d=u(Re(g),478),e=bue(n.c,d.a),h=j$(n.c,d.b),e&&h&&rre(e,h,d.c);_s(n.b)}function Gye(n,e,t){var i,r,c,o,f,h,l,a,d,g,p;c=new M9(n),o=new NFn,r=($8(o.g),$8(o.j),Eu(o.b),$8(o.d),$8(o.i),Eu(o.k),Eu(o.c),Eu(o.e),p=kLn(o,c,null),fNn(o,c),p),e&&(l=new M9(e),f=nje(l),JJ(r,A(M(xfn,1),rn,527,0,[f]))),g=!1,d=!1,t&&(l=new M9(t),kA in l.a&&(g=Dh(l,kA).ge().a),Dqn in l.a&&(d=Dh(l,Dqn).ge().a)),a=e8n(IIn(new zp,g),d),N5e(new Qgn,r,a),kA in c.a&&Ro(c,kA,null),(g||d)&&(h=new r2,dRn(a,h,g,d),Ro(c,kA,h)),i=new omn(o),Owe(new kz(r),i)}function zye(n,e,t){var i,r,c,o,f,h,l,a,d;for(o=new HFn,l=A(M(be,1),Le,25,15,[0]),r=-1,c=0,i=0,h=0;h0){if(r<0&&a.a&&(r=h,c=l[0],i=0),r>=0){if(f=a.b,h==r&&(f-=i++,f==0))return 0;if(!k_n(e,l,a,f,o)){h=r-1,l[0]=c;continue}}else if(r=-1,!k_n(e,l,a,0,o))return 0}else{if(r=-1,Di(a.c,0)==32){if(d=l[0],KPn(e,l),l[0]>d)continue}else if(T1e(e,a.c,l[0])){l[0]+=a.c.length;continue}return 0}return TCe(o,t)?l[0]:0}function I6(n){var e,t,i,r,c,o,f,h;if(!n.f){if(h=new YH,f=new YH,e=b9,o=e.a.zc(n,e),o==null){for(c=new ie(Mr(n));c.e!=c.i.gc();)r=u(oe(c),26),Dt(h,I6(r));e.a.Bc(n)!=null,e.a.gc()==0}for(i=(!n.s&&(n.s=new V(su,n,21,17)),new ie(n.s));i.e!=i.i.gc();)t=u(oe(i),170),I(t,99)&&me(f,u(t,18));lb(f),n.r=new $En(n,(u(D(R((ol(),Nn).o),6),18),f.i),f.g),Dt(h,n.r),lb(h),n.f=new Ew((u(D(R(Nn.o),5),18),h.i),h.g),Iu(n).b&=-3}return n.f}function Uye(n){var e,t,i,r,c,o,f,h,l,a,d,g,p,v;for(o=n.o,i=F(be,Le,25,o,15,1),r=F(be,Le,25,o,15,1),t=n.p,e=F(be,Le,25,t,15,1),c=F(be,Le,25,t,15,1),l=0;l=0&&!zw(n,a,d);)--d;r[a]=d}for(p=0;p=0&&!zw(n,f,v);)--f;c[v]=f}for(h=0;he[g]&&gi[h]&&wM(n,h,g,!1,!0)}function EZ(n){var e,t,i,r,c,o,f,h;t=on(sn(k(n,(Go(),VUn)))),c=n.a.c.d,f=n.a.d.d,t?(o=If(ki(new fn(f.a,f.b),c),.5),h=If(Qr(n.e),.5),e=ki(ot(new fn(c.a,c.b),o),h),Zz(n.d,e)):(r=K(Y(k(n.a,iWn))),i=n.d,c.a>=f.a?c.b>=f.b?(i.a=f.a+(c.a-f.a)/2+r,i.b=f.b+(c.b-f.b)/2-r-n.e.b):(i.a=f.a+(c.a-f.a)/2+r,i.b=c.b+(f.b-c.b)/2+r):c.b>=f.b?(i.a=c.a+(f.a-c.a)/2+r,i.b=f.b+(c.b-f.b)/2+r):(i.a=c.a+(f.a-c.a)/2+r,i.b=c.b+(f.b-c.b)/2-r-n.e.b))}function jc(n,e){var t,i,r,c,o,f,h;if(n==null)return null;if(c=n.length,c==0)return"";for(h=F(Ls,Bf,25,c,15,1),RX(0,c,n.length),RX(0,c,h.length),RCn(n,0,c,h,0),t=null,f=e,r=0,o=0;r0?Yu(t.a,0,c-1):""):n.substr(0,c-1):t?t.a:n}function kRn(n){wd(n,new Ia(ld(od(hd(fd(new Zl,La),"ELK DisCo"),"Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out."),new han))),Z(n,La,vN,cn(Trn)),Z(n,La,mN,cn(IR)),Z(n,La,ep,cn(FUn)),Z(n,La,u0,cn(Crn)),Z(n,La,onn,cn(BUn)),Z(n,La,fnn,cn(NUn)),Z(n,La,snn,cn(RUn)),Z(n,La,hnn,cn(LUn)),Z(n,La,pnn,cn(xUn)),Z(n,La,vnn,cn(PR)),Z(n,La,mnn,cn(Ern)),Z(n,La,knn,cn(nS))}function CZ(n,e,t,i){var r,c,o,f,h,l,a,d,g;if(c=new qh(n),ea(c,(Qn(),Tc)),H(c,(nn(),Lt),(Ti(),Ac)),r=0,e){for(o=new wc,H(o,(G(),rt),e),H(c,rt,e.i),ui(o,(J(),Gn)),Hr(o,c),g=xf(e.e),l=g,a=0,d=l.length;a0)if(t-=i.length-e,t>=0){for(r.a+="0.";t>Ga.length;t-=Ga.length)YEn(r,Ga);Fjn(r,Ga,Gt(t)),De(r,i.substr(e))}else t=e-t,De(r,Yu(i,e,Gt(t))),r.a+=".",De(r,r8(i,Gt(t)));else{for(De(r,i.substr(e));t<-Ga.length;t+=Ga.length)YEn(r,Ga);Fjn(r,Ga,Gt(-t))}return r.a}function TZ(n,e,t,i){var r,c,o,f,h,l,a,d,g;return h=ki(new fn(t.a,t.b),n),l=h.a*e.b-h.b*e.a,a=e.a*i.b-e.b*i.a,d=(h.a*i.b-h.b*i.a)/a,g=l/a,a==0?l==0?(r=ot(new fn(t.a,t.b),If(new fn(i.a,i.b),.5)),c=al(n,r),o=al(ot(new fn(n.a,n.b),e),r),f=j.Math.sqrt(i.a*i.a+i.b*i.b)*.5,c=0&&d<=1&&g>=0&&g<=1?ot(new fn(n.a,n.b),If(new fn(e.a,e.b),d)):null}function Xye(n,e,t){var i,r,c,o,f;if(i=u(k(n,(nn(),$_)),21),t.a>e.a&&(i.Hc((vb(),dy))?n.c.a+=(t.a-e.a)/2:i.Hc(by)&&(n.c.a+=t.a-e.a)),t.b>e.b&&(i.Hc((vb(),gy))?n.c.b+=(t.b-e.b)/2:i.Hc(wy)&&(n.c.b+=t.b-e.b)),u(k(n,(G(),Mc)),21).Hc((or(),$s))&&(t.a>e.a||t.b>e.b))for(f=new E(n.a);f.ae.a&&(i.Hc((vb(),dy))?n.c.a+=(t.a-e.a)/2:i.Hc(by)&&(n.c.a+=t.a-e.a)),t.b>e.b&&(i.Hc((vb(),gy))?n.c.b+=(t.b-e.b)/2:i.Hc(wy)&&(n.c.b+=t.b-e.b)),u(k(n,(G(),Mc)),21).Hc((or(),$s))&&(t.a>e.a||t.b>e.b))for(o=new E(n.a);o.ae&&(r=0,c+=a.b+t,d.c[d.c.length]=a,a=new oX(c,t),i=new lF(0,a.f,a,t),XC(a,i),r=0),i.b.c.length==0||h.f>=i.o&&h.f<=i.f||i.a*.5<=h.f&&i.a*1.5>=h.f?yQ(i,h):(o=new lF(i.s+i.r+t,a.f,a,t),XC(a,o),yQ(o,h)),r=h.i+h.g;return d.c[d.c.length]=a,d}function ig(n){var e,t,i,r,c,o,f,h;if(!n.a){if(n.o=null,h=new Smn(n),e=new J2n,t=b9,f=t.a.zc(n,t),f==null){for(o=new ie(Mr(n));o.e!=o.i.gc();)c=u(oe(o),26),Dt(h,ig(c));t.a.Bc(n)!=null,t.a.gc()==0}for(r=(!n.s&&(n.s=new V(su,n,21,17)),new ie(n.s));r.e!=r.i.gc();)i=u(oe(r),170),I(i,322)&&me(e,u(i,34));lb(e),n.k=new DEn(n,(u(D(R((ol(),Nn).o),7),18),e.i),e.g),Dt(h,n.k),lb(h),n.a=new Ew((u(D(R(Nn.o),4),18),h.i),h.g),Iu(n).b&=-2}return n.a}function Yye(n,e,t,i,r,c,o){var f,h,l,a,d,g;return d=!1,h=SNn(t.q,e.f+e.b-t.q.f),g=r-(t.q.e+h-o),g=(Ln(c,n.c.length),u(n.c[c],200)).e,a=(f=O6(i,g,!1),f.a),a>e.b&&!l)?!1:((l||a<=e.b)&&(l&&a>e.b?(t.d=a,B8(t,Dxn(t,a))):(JFn(t.q,h),t.c=!0),B8(i,r-(t.s+t.r)),k7(i,t.q.e+t.q.d,e.f),XC(e,i),n.c.length>c&&(T7((Ln(c,n.c.length),u(n.c[c],200)),i),(Ln(c,n.c.length),u(n.c[c],200)).a.c.length==0&&h1(n,c)),d=!0),d)}function MZ(n,e,t,i){var r,c,o,f,h,l,a;if(a=Kc(n.e.Tg(),e),r=0,c=u(n.g,119),h=null,er(),u(e,66).Oj()){for(f=0;fn.o.a&&(a=(h-n.o.a)/2,f.b=j.Math.max(f.b,a),f.c=j.Math.max(f.c,a))}}function nje(n){var e,t,i,r,c,o,f,h;for(c=new ZMn,Bre(c,(L2(),MZn)),i=(r=Z$(n,F(tn,q,2,0,6,1)),new $v(new Ku(new iO(n,r).b)));i.b0?n.i:0)>e&&h>0&&(c=0,o+=h+n.i,r=j.Math.max(r,g),i+=h+n.i,h=0,g=0,t&&(++d,W(n.n,new lC(n.s,o,n.i))),f=0),g+=l.g+(f>0?n.i:0),h=j.Math.max(h,l.f),t&&iJ(u(un(n.n,d),211),l),c+=l.g+(f>0?n.i:0),++f;return r=j.Math.max(r,g),i+=h,t&&(n.r=r,n.d=i,sJ(n.j)),new ys(n.s,n.t,r,i)}function gc(n,e,t,i,r){Zf();var c,o,f,h,l,a,d,g,p;if(MW(n,"src"),MW(t,"dest"),g=Du(n),h=Du(t),VU((g.i&4)!=0,"srcType is not an array"),VU((h.i&4)!=0,"destType is not an array"),d=g.c,o=h.c,VU(d.i&1?d==o:(o.i&1)==0,"Array types don't match"),p=n.length,l=t.length,e<0||i<0||r<0||e+r>p||i+r>l)throw T(new Kq);if(!(d.i&1)&&g!=h)if(a=pa(n),c=pa(t),B(n)===B(t)&&ei;)Mt(c,f,a[--e]);else for(f=i+r;i0&&aY(n,e,t,i,r,!0)}function oL(){oL=N,Ezn=A(M(be,1),Le,25,15,[Bi,1162261467,L6,1220703125,362797056,1977326743,L6,387420489,$M,214358881,429981696,815730721,1475789056,170859375,268435456,410338673,612220032,893871739,128e7,1801088541,113379904,148035889,191102976,244140625,308915776,387420489,481890304,594823321,729e6,887503681,L6,1291467969,1544804416,1838265625,60466176]),Czn=A(M(be,1),Le,25,15,[-1,-1,31,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5])}function eje(n){var e,t,i,r,c,o,f,h;for(r=new E(n.b);r.a=n.b.length?(c[r++]=o.b[i++],c[r++]=o.b[i++]):i>=o.b.length?(c[r++]=n.b[t++],c[r++]=n.b[t++]):o.b[i]0?n.i:0)),++e;for(d2e(n.n,h),n.d=t,n.r=i,n.g=0,n.f=0,n.e=0,n.o=Ft,n.p=Ft,c=new E(n.b);c.a0&&(r=(!n.n&&(n.n=new V(Br,n,1,7)),u(D(n.n,0),137)).a,!r||De(De((e.a+=' "',e),r),'"'))),t=(!n.b&&(n.b=new Fn(he,n,4,7)),!(n.b.i<=1&&(!n.c&&(n.c=new Fn(he,n,5,8)),n.c.i<=1))),t?e.a+=" [":e.a+=" ",De(e,Lz(new YI,new ie(n.b))),t&&(e.a+="]"),e.a+=TN,t&&(e.a+="["),De(e,Lz(new YI,new ie(n.c))),t&&(e.a+="]"),e.a)}function fL(n,e){var t,i,r,c,o,f,h;if(n.a){if(f=n.a.ne(),h=null,f!=null?e.a+=""+f:(o=n.a.Dj(),o!=null&&(c=Pf(o,tu(91)),c!=-1?(h=o.substr(c),e.a+=""+Yu(o==null?iu:(_n(o),o),0,c)):e.a+=""+o)),n.d&&n.d.i!=0){for(r=!0,e.a+="<",i=new ie(n.d);i.e!=i.i.gc();)t=u(oe(i),87),r?r=!1:e.a+=Ji,fL(t,e);e.a+=">"}h!=null&&(e.a+=""+h)}else n.e?(f=n.e.zb,f!=null&&(e.a+=""+f)):(e.a+="?",n.b?(e.a+=" super ",fL(n.b,e)):n.f&&(e.a+=" extends ",fL(n.f,e)))}function rje(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en,ln,wn,zn;for(_=n.c,U=e.c,t=Fr(_.a,n,0),i=Fr(U.a,e,0),O=u(Ud(n,(ur(),Au)).Kc().Pb(),11),wn=u(Ud(n,xc).Kc().Pb(),11),x=u(Ud(e,Au).Kc().Pb(),11),zn=u(Ud(e,xc).Kc().Pb(),11),S=xf(O.e),en=xf(wn.g),$=xf(x.e),ln=xf(zn.g),pb(n,i,U),o=$,a=0,v=o.length;aa?new aa((No(),tw),t,e,l-a):l>0&&a>0&&(new aa((No(),tw),e,t,0),new aa(tw,t,e,0))),o)}function ERn(n,e){var t,i,r,c,o,f;for(o=new Ea(new ta(n.f.b).a);o.b;){if(c=Nd(o),r=u(c.cd(),594),e==1){if(r.gf()!=(sr(),Yh)&&r.gf()!=Jh)continue}else if(r.gf()!=(sr(),Zs)&&r.gf()!=Ao)continue;switch(i=u(u(c.dd(),46).b,81),f=u(u(c.dd(),46).a,189),t=f.c,r.gf().g){case 2:i.g.c=n.e.a,i.g.b=j.Math.max(1,i.g.b+t);break;case 1:i.g.c=i.g.c+t,i.g.b=j.Math.max(1,i.g.b-t);break;case 4:i.g.d=n.e.b,i.g.a=j.Math.max(1,i.g.a+t);break;case 3:i.g.d=i.g.d+t,i.g.a=j.Math.max(1,i.g.a-t)}}}function cje(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m;for(f=F(be,Le,25,e.b.c.length,15,1),l=F(zR,z,267,e.b.c.length,0,1),h=F(vh,E1,10,e.b.c.length,0,1),d=n.a,g=0,p=d.length;g0&&h[i]&&(v=Mw(n.b,h[i],r)),m=j.Math.max(m,r.c.c.b+v);for(c=new E(a.e);c.a1)throw T(new Hn(Mk));h||(c=uh(e,i.Kc().Pb()),o.Fc(c))}return NV(n,iY(n,e,t),o)}function oje(n,e){var t,i,r,c;for(z0e(e.b.j),Rt(Xc(new $n(null,new xn(e.d,16)),new iwn),new rwn),c=new E(e.d);c.an.o.b||(t=zr(n,Vn),f=e.d+e.a+(t.gc()-1)*o,f>n.o.b)))}function aL(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v;if(o=n.e,h=e.e,o==0)return e;if(h==0)return n;if(c=n.d,f=e.d,c+f==2)return t=ci(n.a[0],fr),i=ci(e.a[0],fr),o==h?(a=qi(t,i),v=ge(a),p=ge(J0(a,32)),p==0?new l1(o,v):new Pw(o,2,A(M(be,1),Le,25,15,[v,p]))):m7(o<0?vl(i,t):vl(t,i));if(o==h)g=o,d=c>=f?S$(n.a,c,e.a,f):S$(e.a,f,n.a,c);else{if(r=c!=f?c>f?1:-1:YV(n.a,e.a,c),r==0)return jl(),W4;r==1?(g=o,d=M$(n.a,c,e.a,f)):(g=h,d=M$(e.a,f,n.a,c))}return l=new Pw(g,d.length,d),K5(l),l}function dL(n,e,t,i,r,c,o){var f,h,l,a,d,g,p;return d=on(sn(k(e,(nn(),ksn)))),g=null,c==(ur(),Au)&&i.c.i==t?g=i.c:c==xc&&i.d.i==t&&(g=i.d),l=o,!l||!d||g?(a=(J(),Xr),g?a=g.j:Cw(u(k(t,Lt),98))&&(a=c==Au?Gn:Vn),h=aje(n,e,t,c,a,i),f=C$((Gi(t),i)),c==Au?(Hi(f,u(un(h.j,0),11)),Ei(f,r)):(Hi(f,r),Ei(f,u(un(h.j,0),11))),l=new HDn(i,f,h,u(k(h,(G(),rt)),11),c,!g)):(W(l.e,i),p=j.Math.max(K(Y(k(l.d,S1))),K(Y(k(i,S1)))),H(l.d,S1,p)),Tn(n.a,i,new EE(l.d,e,c)),l}function jM(n,e){var t,i,r,c,o,f,h,l,a,d;if(a=null,n.d&&(a=u(vc(n.d,e),138)),!a){if(c=n.a.Mh(),d=c.i,!n.d||Xv(n.d)!=d){for(h=new we,n.d&&Z5(h,n.d),l=h.f.c+h.g.c,f=l;f0?(p=(v-1)*t,f&&(p+=i),a&&(p+=i),p=n.b[r+1])r+=2;else if(t0)for(i=new du(u(ct(n.a,c),21)),Pn(),bi(i,new Iq(e)),r=new Ii(c.b,0);r.b_)?(h=2,o=nt):h==0?(h=1,o=en):(h=0,o=en)):(p=en>=o||o-en0?1:pd(isNaN(i),isNaN(0)))>=0^(mo(Gf),(j.Math.abs(f)<=Gf||f==0||isNaN(f)&&isNaN(0)?0:f<0?-1:f>0?1:pd(isNaN(f),isNaN(0)))>=0)?j.Math.max(f,i):(mo(Gf),(j.Math.abs(i)<=Gf||i==0||isNaN(i)&&isNaN(0)?0:i<0?-1:i>0?1:pd(isNaN(i),isNaN(0)))>0?j.Math.sqrt(f*f+i*i):-j.Math.sqrt(f*f+i*i))}function Oa(n,e){var t,i,r,c,o,f;if(e){if(!n.a&&(n.a=new lj),n.e==2){hj(n.a,e);return}if(e.e==1){for(r=0;r=Yi?dr(t,kQ(i)):w3(t,i&Ut),o=new e$(10,null,0),Zfe(n.a,o,f-1)):(t=(o.bm().length+c,new zv),dr(t,o.bm())),e.e==0?(i=e._l(),i>=Yi?dr(t,kQ(i)):w3(t,i&Ut)):dr(t,e.bm()),u(o,521).b=t.a}}function ORn(n){var e,t,i,r,c;return n.g!=null?n.g:n.a<32?(n.g=NCe(eu(n.f),Gt(n.e)),n.g):(r=jL((!n.c&&(n.c=h7(n.f)),n.c),0),n.e==0?r:(e=(!n.c&&(n.c=h7(n.f)),n.c).e<0?2:1,t=r.length,i=-n.e+t-e,c=new V1,c.a+=""+r,n.e>0&&i>=-6?i>=0?P8(c,t-Gt(n.e),String.fromCharCode(46)):(c.a=Yu(c.a,0,e-1)+"0."+r8(c.a,e-1),P8(c,e+1,Hs(Ga,0,-Gt(i)-1))):(t-e>=1&&(P8(c,e,String.fromCharCode(46)),++t),P8(c,t,String.fromCharCode(69)),i>0&&P8(c,++t,String.fromCharCode(43)),P8(c,++t,""+O5(eu(i)))),n.g=c.a,n.g))}function Tje(n,e,t){var i,r,c,o,f,h,l,a,d,g,p,v,m,C;if(!t.dc()){for(f=0,g=0,i=t.Kc(),v=u(i.Pb(),19).a;f1&&(h=l.mg(h,n.a,f));return h.c.length==1?u(un(h,h.c.length-1),220):h.c.length==2?bje((Ln(0,h.c.length),u(h.c[0],220)),(Ln(1,h.c.length),u(h.c[1],220)),o,c):null}function DRn(n){var e,t,i,r,c,o;for(Yc(n.a,new can),t=new E(n.a);t.a=j.Math.abs(i.b)?(i.b=0,c.d+c.a>o.d&&c.do.c&&c.c0){if(e=new az(n.i,n.g),t=n.i,c=t<100?null:new Q1(t),n.ij())for(i=0;i0){for(f=n.g,l=n.i,U5(n),c=l<100?null:new Q1(l),i=0;i>13|(n.m&15)<<9,r=n.m>>4&8191,c=n.m>>17|(n.h&255)<<5,o=(n.h&1048320)>>8,f=e.l&8191,h=e.l>>13|(e.m&15)<<9,l=e.m>>4&8191,a=e.m>>17|(e.h&255)<<5,d=(e.h&1048320)>>8,ln=t*f,wn=i*f,zn=r*f,Wn=c*f,se=o*f,h!=0&&(wn+=t*h,zn+=i*h,Wn+=r*h,se+=c*h),l!=0&&(zn+=t*l,Wn+=i*l,se+=r*l),a!=0&&(Wn+=t*a,se+=i*a),d!=0&&(se+=t*d),p=ln&Lu,v=(wn&511)<<13,g=p+v,C=ln>>22,S=wn>>9,$=(zn&262143)<<4,O=(Wn&31)<<17,m=C+S+$+O,_=zn>>18,U=Wn>>5,en=(se&4095)<<8,x=_+U+en,m+=g>>22,g&=Lu,x+=m>>22,m&=Lu,x&=Wh,Bc(g,m,x)}function $Rn(n){var e,t,i,r,c,o,f;if(f=u(un(n.j,0),11),f.g.c.length!=0&&f.e.c.length!=0)throw T(new Dr("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges."));if(f.g.c.length!=0){for(c=Ft,t=new E(f.g);t.a4)if(n.wj(e)){if(n.rk()){if(r=u(e,49),i=r.Ug(),h=i==n.e&&(n.Dk()?r.Og(r.Vg(),n.zk())==n.Ak():-1-r.Vg()==n.aj()),n.Ek()&&!h&&!i&&r.Zg()){for(c=0;c0&&(l=n.n.a/c);break;case 2:case 4:r=n.i.o.b,r>0&&(l=n.n.b/r)}H(n,(G(),k0),l)}if(h=n.o,o=n.a,i)o.a=i.a,o.b=i.b,n.d=!0;else if(e!=jf&&e!=ql&&f!=Xr)switch(f.g){case 1:o.a=h.a/2;break;case 2:o.a=h.a,o.b=h.b/2;break;case 3:o.a=h.a/2,o.b=h.b;break;case 4:o.b=h.b/2}else o.a=h.a/2,o.b=h.b/2}function $6(n){var e,t,i,r,c,o,f,h,l,a;if(n.ej())if(a=n.Vi(),h=n.fj(),a>0)if(e=new CV(n.Gi()),t=a,c=t<100?null:new Q1(t),h8(n,t,e.g),r=t==1?n.Zi(4,D(e,0),null,0,h):n.Zi(6,e,null,-1,h),n.bj()){for(i=new ie(e);i.e!=i.i.gc();)c=n.dj(oe(i),c);c?(c.Ei(r),c.Fi()):n.$i(r)}else c?(c.Ei(r),c.Fi()):n.$i(r);else h8(n,n.Vi(),n.Wi()),n.$i(n.Zi(6,(Pn(),cr),null,-1,h));else if(n.bj())if(a=n.Vi(),a>0){for(f=n.Wi(),l=a,h8(n,a,f),c=l<100?null:new Q1(l),i=0;in.d[o.p]&&(t+=jX(n.b,c)*u(h.b,19).a,ll(n.a,Q(c)));for(;!Hv(n.a);)ZX(n.b,u(y2(n.a),19).a)}return t}function Nje(n,e,t,i){var r,c,o,f,h,l,a,d,g,p,v,m,C;for(d=new mr(u(hn(n,(nM(),qfn)),8)),d.a=j.Math.max(d.a-t.b-t.c,0),d.b=j.Math.max(d.b-t.d-t.a,0),r=Y(hn(n,_fn)),(r==null||(_n(r),r<=0))&&(r=1.3),f=new X,v=new ie((!n.a&&(n.a=new V(Pt,n,10,11)),n.a));v.e!=v.i.gc();)p=u(oe(v),33),o=new hjn(p),f.c[f.c.length]=o;switch(g=u(hn(n,qK),311),g.g){case 3:C=cye(f,e,d.a,d.b,(l=i,_n(r),l));break;case 1:C=Oye(f,e,d.a,d.b,(a=i,_n(r),a));break;default:C=_je(f,e,d.a,d.b,(h=i,_n(r),h))}c=new zC(C),m=kL(c,e,t,d.a,d.b,i,(_n(r),r)),t0(n,m.a,m.b,!1,!0)}function Bje(n,e){var t,i,r,c;t=e.b,c=new du(t.j),r=0,i=t.j,i.c=F(Zn,rn,1,0,5,1),Td(u(ma(n.b,(J(),Kn),(Kd(),g0)),15),t),r=j7(c,r,new Fbn,i),Td(u(ma(n.b,Kn,Fl),15),t),r=j7(c,r,new $bn,i),Td(u(ma(n.b,Kn,w0),15),t),Td(u(ma(n.b,Vn,g0),15),t),Td(u(ma(n.b,Vn,Fl),15),t),r=j7(c,r,new xbn,i),Td(u(ma(n.b,Vn,w0),15),t),Td(u(ma(n.b,ae,g0),15),t),r=j7(c,r,new Lbn,i),Td(u(ma(n.b,ae,Fl),15),t),r=j7(c,r,new Nbn,i),Td(u(ma(n.b,ae,w0),15),t),Td(u(ma(n.b,Gn,g0),15),t),r=j7(c,r,new Xbn,i),Td(u(ma(n.b,Gn,Fl),15),t),Td(u(ma(n.b,Gn,w0),15),t)}function Rje(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m;for(le(e,"Layer size calculation",1),a=Ft,l=Vt,r=!1,f=new E(n.b);f.a.5?S-=o*2*(v-.5):v<.5&&(S+=c*2*(.5-v)),r=f.d.b,SC.a-m-a&&(S=C.a-m-a),f.n.a=e+S}}function _je(n,e,t,i,r){var c,o,f,h,l,a,d,g,p,v,m,C;for(f=F(ji,pr,25,n.c.length,15,1),g=new GE(new P2n),lJ(g,n),l=0,m=new X;g.b.c.length!=0;)if(o=u(g.b.c.length==0?null:un(g.b,0),157),l>1&&bu(o)*Gu(o)/2>f[0]){for(c=0;cf[c];)++c;v=new ch(m,0,c+1),d=new zC(v),a=bu(o)/Gu(o),h=kL(d,e,new i2,t,i,r,a),ot(Lo(d.e),h),M3(f4(g,d)),p=new ch(m,c+1,m.c.length),lJ(g,p),m.c=F(Zn,rn,1,0,5,1),l=0,fCn(f,f.length,0)}else C=g.b.c.length==0?null:un(g.b,0),C!=null&&J$(g,0),l>0&&(f[l]=f[l-1]),f[l]+=bu(o)*Gu(o),++l,m.c[m.c.length]=o;return m}function Kje(n){var e,t,i,r,c;if(i=u(k(n,(nn(),qc)),163),i==(Ss(),xl)){for(t=new re(ue(xr(n).a.Kc(),new Mn));Se(t);)if(e=u(ve(t),17),!kSn(e))throw T(new pw(SN+E7(n)+"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges."))}else if(i==Ub){for(c=new re(ue(ni(n).a.Kc(),new Mn));Se(c);)if(r=u(ve(c),17),!kSn(r))throw T(new pw(SN+E7(n)+"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges."))}}function Hje(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v;for(le(e,"Label dummy removal",1),i=K(Y(k(n,(nn(),jp)))),r=K(Y(k(n,nw))),l=u(k(n,ls),103),h=new E(n.b);h.a0&&_xn(n,f,d);for(r=new E(d);r.a>19&&(e=z3(e),h=!h),o=K9e(e),c=!1,r=!1,i=!1,n.h==tk&&n.m==0&&n.l==0)if(r=!0,c=!0,o==-1)n=eyn((I3(),win)),i=!0,h=!h;else return f=SY(n,o),h&&sF(f),t&&(Il=Bc(0,0,0)),f;else n.h>>19&&(c=!0,n=z3(n),i=!0,h=!h);return o!=-1?Swe(n,o,h,c,t):mJ(n,e)<0?(t&&(c?Il=z3(n):Il=Bc(n.l,n.m,n.h)),Bc(0,0,0)):Dke(i?n:Bc(n.l,n.m,n.h),e,h,c,r,t)}function EM(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v;if(n.e&&n.c.ce.f||e.g>n.f)){for(t=0,i=0,o=n.w.a.ec().Kc();o.Ob();)r=u(o.Pb(),11),mF(Gr(A(M(ai,1),q,8,0,[r.i.n,r.n,r.a])).b,e.g,e.f)&&++t;for(f=n.r.a.ec().Kc();f.Ob();)r=u(f.Pb(),11),mF(Gr(A(M(ai,1),q,8,0,[r.i.n,r.n,r.a])).b,e.g,e.f)&&--t;for(h=e.w.a.ec().Kc();h.Ob();)r=u(h.Pb(),11),mF(Gr(A(M(ai,1),q,8,0,[r.i.n,r.n,r.a])).b,n.g,n.f)&&++i;for(c=e.r.a.ec().Kc();c.Ob();)r=u(c.Pb(),11),mF(Gr(A(M(ai,1),q,8,0,[r.i.n,r.n,r.a])).b,n.g,n.f)&&--i;t=0)return r=Jge(n,e.substr(1,o-1)),a=e.substr(o+1,h-(o+1)),UCe(n,a,r)}else{if(t=-1,kin==null&&(kin=new RegExp("\\d")),kin.test(String.fromCharCode(f))&&(t=MU(e,tu(46),h-1),t>=0)){i=u(T$(n,aIn(n,e.substr(1,t-1)),!1),58),l=0;try{l=us(e.substr(t+1),Bi,nt)}catch(g){throw g=jt(g),I(g,127)?(c=g,T(new xC(c))):T(g)}if(l=0)return t;switch(Sd(jr(n,t))){case 2:{if(An("",w1(n,t.Hj()).ne())){if(h=E8(jr(n,t)),f=v3(jr(n,t)),a=xY(n,e,h,f),a)return a;for(r=oZ(n,e),o=0,d=r.gc();o1)throw T(new Hn(Mk));for(a=Kc(n.e.Tg(),e),i=u(n.g,119),o=0;o1,l=new uf(g.b);Kr(l.a)||Kr(l.b);)h=u(Kr(l.a)?y(l.a):y(l.b),17),d=h.c==g?h.d:h.c,j.Math.abs(Gr(A(M(ai,1),q,8,0,[d.i.n,d.n,d.a])).b-o.b)>1&&z8e(n,h,o,c,g)}}function nEe(n){var e,t,i,r,c,o;if(r=new Ii(n.e,0),i=new Ii(n.a,0),n.d)for(t=0;toB;){for(c=e,o=0;j.Math.abs(e-c)0),r.a.Xb(r.c=--r.b),pye(n,n.b-o,c,i,r),ne(r.b0),i.a.Xb(i.c=--i.b)}if(!n.d)for(t=0;t0?(n.f[a.p]=p/(a.e.c.length+a.g.c.length),n.c=j.Math.min(n.c,n.f[a.p]),n.b=j.Math.max(n.b,n.f[a.p])):f&&(n.f[a.p]=p)}}function tEe(n){n.b=null,n.bb=null,n.fb=null,n.qb=null,n.a=null,n.c=null,n.d=null,n.e=null,n.f=null,n.n=null,n.M=null,n.L=null,n.Q=null,n.R=null,n.K=null,n.db=null,n.eb=null,n.g=null,n.i=null,n.j=null,n.k=null,n.gb=null,n.o=null,n.p=null,n.q=null,n.r=null,n.$=null,n.ib=null,n.S=null,n.T=null,n.t=null,n.s=null,n.u=null,n.v=null,n.w=null,n.B=null,n.A=null,n.C=null,n.D=null,n.F=null,n.G=null,n.H=null,n.I=null,n.J=null,n.P=null,n.Z=null,n.U=null,n.V=null,n.W=null,n.X=null,n.Y=null,n._=null,n.ab=null,n.cb=null,n.hb=null,n.nb=null,n.lb=null,n.mb=null,n.ob=null,n.pb=null,n.jb=null,n.kb=null,n.N=!1,n.O=!1}function iEe(n,e,t){var i,r,c,o;for(le(t,"Graph transformation ("+n.a+")",1),o=Dd(e.a),c=new E(e.b);c.a0&&(n.a=h+(p-1)*c,e.c.b+=n.a,e.f.b+=n.a)),v.a.gc()!=0&&(g=new FD(1,c),p=FZ(g,e,v,m,e.f.b+h-e.c.b),p>0&&(e.f.b+=h+(p-1)*c))}function y4(n,e){var t,i,r,c;c=n.F,e==null?(n.F=null,X3(n,null)):(n.F=(_n(e),e),i=Pf(e,tu(60)),i!=-1?(r=e.substr(0,i),Pf(e,tu(46))==-1&&!An(r,X2)&&!An(r,cm)&&!An(r,EA)&&!An(r,um)&&!An(r,sm)&&!An(r,om)&&!An(r,fm)&&!An(r,hm)&&(r=yGn),t=aE(e,tu(62)),t!=-1&&(r+=""+e.substr(t+1)),X3(n,r)):(r=e,Pf(e,tu(46))==-1&&(i=Pf(e,tu(91)),i!=-1&&(r=e.substr(0,i)),!An(r,X2)&&!An(r,cm)&&!An(r,EA)&&!An(r,um)&&!An(r,sm)&&!An(r,om)&&!An(r,fm)&&!An(r,hm)?(r=yGn,i!=-1&&(r+=""+e.substr(i))):r=e),X3(n,r),r==e&&(n.F=n.D))),n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,5,c,e))}function cEe(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O;if(m=e.b.c.length,!(m<3)){for(p=F(be,Le,25,m,15,1),d=0,a=new E(e.b);a.ao)&&ri(n.b,u(C.b,17));++f}c=o}}}function OZ(n,e){var t;if(e==null||An(e,iu)||e.length==0&&n.k!=(y1(),Cp))return null;switch(n.k.g){case 1:return DT(e,B4)?(qn(),z4):DT(e,EB)?(qn(),qa):null;case 2:try{return Q(us(e,Bi,nt))}catch(i){if(i=jt(i),I(i,127))return null;throw T(i)}case 4:try{return kb(e)}catch(i){if(i=jt(i),I(i,127))return null;throw T(i)}case 3:return e;case 5:return mDn(n),TLn(n,e);case 6:return mDn(n),w9e(n,n.a,e);case 7:try{return t=Ame(n),t.Jf(e),t}catch(i){if(i=jt(i),I(i,32))return null;throw T(i)}default:throw T(new Dr("Invalid type set for this layout option."))}}function uEe(n){X5();var e,t,i,r,c,o,f;for(f=new Qmn,t=new E(n);t.a=f.b.c)&&(f.b=e),(!f.c||e.c<=f.c.c)&&(f.d=f.c,f.c=e),(!f.e||e.d>=f.e.d)&&(f.e=e),(!f.f||e.d<=f.f.d)&&(f.f=e);return i=new LT((G3(),b0)),O8(n,AWn,new Ku(A(M(Rk,1),rn,369,0,[i]))),o=new LT(Hb),O8(n,MWn,new Ku(A(M(Rk,1),rn,369,0,[o]))),r=new LT(Kb),O8(n,TWn,new Ku(A(M(Rk,1),rn,369,0,[r]))),c=new LT(kg),O8(n,CWn,new Ku(A(M(Rk,1),rn,369,0,[c]))),Rx(i.c,b0),Rx(r.c,Kb),Rx(c.c,kg),Rx(o.c,Hb),f.a.c=F(Zn,rn,1,0,5,1),Yt(f.a,i.c),Yt(f.a,va(r.c)),Yt(f.a,c.c),Yt(f.a,va(o.c)),f}function DZ(n){var e;switch(n.d){case 1:{if(n.hj())return n.o!=-2;break}case 2:{if(n.hj())return n.o==-2;break}case 3:case 5:case 4:case 6:case 7:return n.o>-2;default:return!1}switch(e=n.gj(),n.p){case 0:return e!=null&&on(sn(e))!=b5(n.k,0);case 1:return e!=null&&u(e,217).a!=ge(n.k)<<24>>24;case 2:return e!=null&&u(e,172).a!=(ge(n.k)&Ut);case 6:return e!=null&&b5(u(e,162).a,n.k);case 5:return e!=null&&u(e,19).a!=ge(n.k);case 7:return e!=null&&u(e,184).a!=ge(n.k)<<16>>16;case 3:return e!=null&&K(Y(e))!=n.j;case 4:return e!=null&&u(e,155).a!=n.j;default:return e==null?n.n!=null:!tt(e,n.n)}}function X7(n,e,t){var i,r,c,o;return n.Fk()&&n.Ek()&&(o=MD(n,u(t,56)),B(o)!==B(t))?(n.Oi(e),n.Ui(e,dPn(n,e,o)),n.rk()&&(c=(r=u(t,49),n.Dk()?n.Bk()?r.ih(n.b,ir(u(On(Vc(n.b),n.aj()),18)).n,u(On(Vc(n.b),n.aj()).Yj(),26).Bj(),null):r.ih(n.b,yt(r.Tg(),ir(u(On(Vc(n.b),n.aj()),18))),null,null):r.ih(n.b,-1-n.aj(),null,null)),!u(o,49).eh()&&(c=(i=u(o,49),n.Dk()?n.Bk()?i.gh(n.b,ir(u(On(Vc(n.b),n.aj()),18)).n,u(On(Vc(n.b),n.aj()).Yj(),26).Bj(),c):i.gh(n.b,yt(i.Tg(),ir(u(On(Vc(n.b),n.aj()),18))),null,c):i.gh(n.b,-1-n.aj(),null,c))),c&&c.Fi()),Hu(n.b)&&n.$i(n.Zi(9,t,o,e,!1)),o):t}function NRn(n,e,t){var i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x;for(a=K(Y(k(n,(nn(),C0)))),i=K(Y(k(n,Osn))),g=new jI,H(g,C0,a+i),l=e,S=l.d,m=l.c.i,$=l.d.i,C=pz(m.c),O=pz($.c),r=new X,d=C;d<=O;d++)f=new qh(n),ea(f,(Qn(),gi)),H(f,(G(),rt),l),H(f,Lt,(Ti(),Ac)),H(f,rP,g),p=u(un(n.b,d),29),d==C?pb(f,p.a.c.length-t,p):yr(f,p),x=K(Y(k(l,S1))),x<0&&(x=0,H(l,S1,x)),f.o.b=x,v=j.Math.floor(x/2),o=new wc,ui(o,(J(),Gn)),Hr(o,f),o.n.b=v,h=new wc,ui(h,Vn),Hr(h,f),h.n.b=v,Ei(l,o),c=new Pd,Sr(c,l),H(c,Tr,null),Hi(c,h),Ei(c,S),f4e(f,l,c),r.c[r.c.length]=c,l=c;return r}function gL(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O;for(h=u(k1(n,(J(),Gn)).Kc().Pb(),11).e,p=u(k1(n,Vn).Kc().Pb(),11).g,f=h.c.length,O=tf(u(un(n.j,0),11));f-- >0;){for(m=(Ln(0,h.c.length),u(h.c[0],17)),r=(Ln(0,p.c.length),u(p.c[0],17)),$=r.d.e,c=Fr($,r,0),dae(m,r.d,c),Hi(r,null),Ei(r,null),v=m.a,e&&Ke(v,new mr(O)),i=_e(r.a,0);i.b!=i.d.c;)t=u(Re(i),8),Ke(v,new mr(t));for(S=m.b,g=new E(r.b);g.a0&&(o=j.Math.max(o,lOn(n.C.b+i.d.b,r))),a=i,d=r,g=c;n.C&&n.C.c>0&&(p=g+n.C.c,l&&(p+=a.d.c),o=j.Math.max(o,(Yo(),mo(bf),j.Math.abs(d-1)<=bf||d==1||isNaN(d)&&isNaN(1)?0:p/(1-d)))),t.n.b=0,t.a.a=o}function RRn(n,e){var t,i,r,c,o,f,h,l,a,d,g,p;if(t=u(br(n.b,e),124),h=u(u(ct(n.r,e),21),84),h.dc()){t.n.d=0,t.n.a=0;return}for(l=n.u.Hc((Tu(),n1)),o=0,n.A.Hc((Vu(),id))&&vBn(n,e),f=h.Kc(),a=null,g=0,d=0;f.Ob();)i=u(f.Pb(),111),c=K(Y(i.b.We((dE(),JA)))),r=i.b.rf().b,a?(p=d+a.d.a+n.w+i.d.d,o=j.Math.max(o,(Yo(),mo(bf),j.Math.abs(g-c)<=bf||g==c||isNaN(g)&&isNaN(c)?0:p/(c-g)))):n.C&&n.C.d>0&&(o=j.Math.max(o,lOn(n.C.d+i.d.d,c))),a=i,g=c,d=r;n.C&&n.C.a>0&&(p=d+n.C.a,l&&(p+=a.d.a),o=j.Math.max(o,(Yo(),mo(bf),j.Math.abs(g-1)<=bf||g==1||isNaN(g)&&isNaN(1)?0:p/(1-g)))),t.n.d=0,t.a.b=o}function _Rn(n,e,t){var i,r,c,o,f,h;for(this.g=n,f=e.d.length,h=t.d.length,this.d=F(vh,E1,10,f+h,0,1),o=0;o0?q$(this,this.f/this.a):Zo(e.g,e.d[0]).a!=null&&Zo(t.g,t.d[0]).a!=null?q$(this,(K(Zo(e.g,e.d[0]).a)+K(Zo(t.g,t.d[0]).a))/2):Zo(e.g,e.d[0]).a!=null?q$(this,Zo(e.g,e.d[0]).a):Zo(t.g,t.d[0]).a!=null&&q$(this,Zo(t.g,t.d[0]).a)}function sEe(n,e){var t,i,r,c,o,f,h,l,a,d;for(n.a=new XCn(Lbe(e9)),i=new E(e.a);i.a=1&&(C-o>0&&d>=0?(h.n.a+=m,h.n.b+=c*o):C-o<0&&a>=0&&(h.n.a+=m*C,h.n.b+=c));n.o.a=e.a,n.o.b=e.b,H(n,(nn(),Xa),(Vu(),i=u(xo(o9),9),new ks(i,u(bo(i,i.length),9),0)))}function lEe(n,e,t,i,r,c){var o;if(!(e==null||!$F(e,a1n,d1n)))throw T(new Hn("invalid scheme: "+e));if(!n&&!(t!=null&&Pf(t,tu(35))==-1&&t.length>0&&(Me(0,t.length),t.charCodeAt(0)!=47)))throw T(new Hn("invalid opaquePart: "+t));if(n&&!(e!=null&&_9(tI,e.toLowerCase()))&&!(t==null||!$F(t,a9,d9)))throw T(new Hn(oGn+t));if(n&&e!=null&&_9(tI,e.toLowerCase())&&!rve(t))throw T(new Hn(oGn+t));if(!o2e(i))throw T(new Hn("invalid device: "+i));if(!ege(r))throw o=r==null?"invalid segments: null":"invalid segment: "+Jwe(r),T(new Hn(o));if(!(c==null||Pf(c,tu(35))==-1))throw T(new Hn("invalid query: "+c))}function aEe(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S;for(le(e,"Calculate Graph Size",1),e.n&&n&&go(e,po(n),(Xu(),ws)),f=D4,h=D4,c=ttn,o=ttn,d=new ie((!n.a&&(n.a=new V(Pt,n,10,11)),n.a));d.e!=d.i.gc();)l=u(oe(d),33),v=l.i,m=l.j,S=l.g,i=l.f,r=u(hn(l,(Xe(),my)),142),f=j.Math.min(f,v-r.b),h=j.Math.min(h,m-r.d),c=j.Math.max(c,v+S+r.c),o=j.Math.max(o,m+i+r.a);for(p=u(hn(n,(Xe(),nd)),116),g=new fn(f-p.b,h-p.d),a=new ie((!n.a&&(n.a=new V(Pt,n,10,11)),n.a));a.e!=a.i.gc();)l=u(oe(a),33),Zc(l,l.i-g.a),nu(l,l.j-g.b);C=c-f+(p.b+p.c),t=o-h+(p.d+p.a),Rd(n,C),Bd(n,t),e.n&&n&&go(e,po(n),(Xu(),ws))}function qRn(n){var e,t,i,r,c,o,f,h,l,a;for(i=new X,o=new E(n.e.a);o.a0){NT(n,t,0),t.a+=String.fromCharCode(i),r=J2e(e,c),NT(n,t,r),c+=r-1;continue}i==39?c+11)for(m=F(be,Le,25,n.b.b.c.length,15,1),d=0,l=new E(n.b.b);l.a=f&&r<=h)f<=r&&c<=h?(t[a++]=r,t[a++]=c,i+=2):f<=r?(t[a++]=r,t[a++]=h,n.b[i]=h+1,o+=2):c<=h?(t[a++]=f,t[a++]=c,i+=2):(t[a++]=f,t[a++]=h,n.b[i]=h+1);else if(hCl)&&f<10);mG(n.c,new Tan),GRn(n),ehe(n.c),fEe(n.f)}function gEe(n,e,t){var i,r,c,o,f,h,l,a,d,g,p,v,m,C;if(on(sn(k(t,(nn(),Qb)))))for(f=new E(t.j);f.a=2){for(h=_e(t,0),o=u(Re(h),8),f=u(Re(h),8);f.a0&&u7(l,!0,(sr(),Ao)),f.k==(Qn(),Xt)&&pTn(l),it(n.f,f,e)}}function kEe(n,e,t){var i,r,c,o,f,h,l,a,d,g;switch(le(t,"Node promotion heuristic",1),n.g=e,MCe(n),n.q=u(k(e,(nn(),__)),260),a=u(k(n.g,psn),19).a,c=new h0n,n.q.g){case 2:case 1:k4(n,c);break;case 3:for(n.q=(Zw(),lP),k4(n,c),h=0,f=new E(n.a);f.an.j&&(n.q=ey,k4(n,c));break;case 4:for(n.q=(Zw(),lP),k4(n,c),l=0,r=new E(n.b);r.an.k&&(n.q=ty,k4(n,c));break;case 6:g=Gt(j.Math.ceil(n.f.length*a/100)),k4(n,new M5n(g));break;case 5:d=Gt(j.Math.ceil(n.d*a/100)),k4(n,new A5n(d));break;default:k4(n,c)}d7e(n,e),ce(t)}function URn(n,e,t){var i,r,c,o;this.j=n,this.e=LJ(n),this.o=this.j.e,this.i=!!this.o,this.p=this.i?u(un(t,Gi(this.o).p),214):null,r=u(k(n,(G(),Mc)),21),this.g=r.Hc((or(),$s)),this.b=new X,this.d=new b$n(this.e),o=u(k(this.j,vp),230),this.q=Ybe(e,o,this.e),this.k=new wMn(this),c=cf(A(M(VWn,1),rn,225,0,[this,this.d,this.k,this.q])),e==(_d(),ry)&&!on(sn(k(n,(nn(),Wb))))?(i=new BJ(this.e),c.c[c.c.length]=i,this.c=new dX(i,o,u(this.q,402))):e==ry&&on(sn(k(n,(nn(),Wb))))?(i=new BJ(this.e),c.c[c.c.length]=i,this.c=new JIn(i,o,u(this.q,402))):this.c=new V7n(e,this),W(c,this.c),ARn(c,this.e),this.s=tTe(this.k)}function yEe(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x;for(d=u(fE((o=_e(new X1(e).a.d,0),new e2(o))),86),v=d?u(k(d,(cc(),pK)),86):null,r=1;d&&v;){for(h=0,x=0,t=d,i=v,f=0;f=n.i?(++n.i,W(n.a,Q(1)),W(n.b,a)):(i=n.c[e.p][1],Es(n.a,l,Q(u(un(n.a,l),19).a+1-i)),Es(n.b,l,K(Y(un(n.b,l)))+a-i*n.e)),(n.q==(Zw(),ey)&&(u(un(n.a,l),19).a>n.j||u(un(n.a,l-1),19).a>n.j)||n.q==ty&&(K(Y(un(n.b,l)))>n.k||K(Y(un(n.b,l-1)))>n.k))&&(h=!1),o=new re(ue(xr(e).a.Kc(),new Mn));Se(o);)c=u(ve(o),17),f=c.c.i,n.f[f.p]==l&&(d=WRn(n,f),r=r+u(d.a,19).a,h=h&&on(sn(d.b)));return n.f[e.p]=l,r=r+n.c[e.p][0],new Pi(Q(r),(qn(),!!h))}function FZ(n,e,t,i,r){var c,o,f,h,l,a,d,g,p,v,m,C,S;for(d=new we,o=new X,wLn(n,t,n.d.fg(),o,d),wLn(n,i,n.d.gg(),o,d),n.b=.2*(m=rNn(qr(new $n(null,new xn(o,16)),new vgn)),C=rNn(qr(new $n(null,new xn(o,16)),new mgn)),j.Math.min(m,C)),c=0,f=0;f=2&&(S=MNn(o,!0,g),!n.e&&(n.e=new I6n(n)),Z2e(n.e,S,o,n.b)),uxn(o,g),NEe(o),p=-1,a=new E(o);a.af)}function EEe(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m;for(t=u(k(n,(nn(),Lt)),98),o=n.f,c=n.d,f=o.a+c.b+c.c,h=0-c.d-n.c.b,a=o.b+c.d+c.a-n.c.b,l=new X,d=new X,r=new E(e);r.a0),u(a.a.Xb(a.c=--a.b),17));c!=i&&a.b>0;)n.a[c.p]=!0,n.a[i.p]=!0,c=(ne(a.b>0),u(a.a.Xb(a.c=--a.b),17));a.b>0&&Uu(a)}}function JRn(n,e,t){var i,r,c,o,f,h,l,a,d;if(n.a!=e.Aj())throw T(new Hn(R4+e.ne()+h0));if(i=w1((gu(),xi),e).$k(),i)return i.Aj().Nh().Ih(i,t);if(o=w1(xi,e).al(),o){if(t==null)return null;if(f=u(t,15),f.dc())return"";for(d=new i1,c=f.Kc();c.Ob();)r=c.Pb(),dr(d,o.Aj().Nh().Ih(o,r)),d.a+=" ";return NO(d,d.a.length-1)}if(a=w1(xi,e).bl(),!a.dc()){for(l=a.Kc();l.Ob();)if(h=u(l.Pb(),148),h.wj(t))try{if(d=h.Aj().Nh().Ih(h,t),d!=null)return d}catch(g){if(g=jt(g),!I(g,102))throw T(g)}throw T(new Hn("Invalid value: '"+t+"' for datatype :"+e.ne()))}return u(e,834).Fj(),t==null?null:I(t,172)?""+u(t,172).a:Du(t)==HA?Tyn(l9[0],u(t,199)):Lr(t)}function PEe(n){var e,t,i,r,c,o,f,h,l,a;for(l=new Ct,f=new Ct,c=new E(n);c.a-1){for(r=_e(f,0);r.b!=r.d.c;)i=u(Re(r),128),i.v=o;for(;f.b!=0;)for(i=u(hx(f,0),128),t=new E(i.i);t.a0&&(t+=h.n.a+h.o.a/2,++d),v=new E(h.j);v.a0&&(t/=d),S=F(ji,pr,25,i.a.c.length,15,1),f=0,l=new E(i.a);l.a=f&&r<=h)f<=r&&c<=h?i+=2:f<=r?(n.b[i]=h+1,o+=2):c<=h?(t[a++]=r,t[a++]=f-1,i+=2):(t[a++]=r,t[a++]=f-1,n.b[i]=h+1,o+=2);else if(h0?r-=864e5:r+=864e5,h=new uU(qi(eu(e.q.getTime()),r))),a=new R0,l=n.a.length,c=0;c=97&&i<=122||i>=65&&i<=90){for(o=c+1;o=l)throw T(new Hn("Missing trailing '"));o+10&&t.c==0&&(!e&&(e=new X),e.c[e.c.length]=t);if(e)for(;e.c.length!=0;){if(t=u(h1(e,0),233),t.b&&t.b.c.length>0){for(c=(!t.b&&(t.b=new X),new E(t.b));c.aFr(n,t,0))return new Pi(r,t)}else if(K(Zo(r.g,r.d[0]).a)>K(Zo(t.g,t.d[0]).a))return new Pi(r,t)}for(f=(!t.e&&(t.e=new X),t.e).Kc();f.Ob();)o=u(f.Pb(),233),h=(!o.b&&(o.b=new X),o.b),tb(0,h.c.length),e5(h.c,0,t),o.c==h.c.length&&(e.c[e.c.length]=o)}return null}function t_n(n,e){var t,i,r,c,o,f,h,l,a;if(n==null)return iu;if(h=e.a.zc(n,e),h!=null)return"[...]";for(t=new ka(Ji,"[","]"),r=n,c=0,o=r.length;c=14&&a<=16))?e.a._b(i)?(t.a?De(t.a,t.b):t.a=new Ju(t.d),g5(t.a,"[...]")):(f=pa(i),l=new S5(e),xh(t,t_n(f,l))):I(i,177)?xh(t,M6e(u(i,177))):I(i,190)?xh(t,wve(u(i,190))):I(i,195)?xh(t,T5e(u(i,195))):I(i,2012)?xh(t,gve(u(i,2012))):I(i,48)?xh(t,T6e(u(i,48))):I(i,364)?xh(t,R6e(u(i,364))):I(i,832)?xh(t,C6e(u(i,832))):I(i,104)&&xh(t,E6e(u(i,104))):xh(t,i==null?iu:Lr(i));return t.a?t.e.length==0?t.a.a:t.a.a+(""+t.e):t.c}function i_n(n,e,t,i){var r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O;for(f=ng(e,!1,!1),S=I7(f),i&&(S=o7(S)),O=K(Y(hn(e,(a6(),IR)))),C=(ne(S.b!=0),u(S.a.a.c,8)),d=u(qo(S,1),8),S.b>2?(a=new X,Yt(a,new ch(S,1,S.b)),c=L_n(a,O+n.a),$=new xx(c),Sr($,e),t.c[t.c.length]=$):i?$=u(te(n.b,fh(e)),266):$=u(te(n.b,ml(e)),266),h=fh(e),i&&(h=ml(e)),o=z5e(C,h),l=O+n.a,o.a?(l+=j.Math.abs(C.b-d.b),m=new fn(d.a,(d.b+C.b)/2)):(l+=j.Math.abs(C.a-d.a),m=new fn((d.a+C.a)/2,d.b)),i?it(n.d,e,new cJ($,o,m,l)):it(n.c,e,new cJ($,o,m,l)),it(n.b,e,$),v=(!e.n&&(e.n=new V(Br,e,1,7)),e.n),p=new ie(v);p.e!=p.i.gc();)g=u(oe(p),137),r=K7(n,g,!0,0,0),t.c[t.c.length]=r}function NEe(n){var e,t,i,r,c,o,f,h,l,a;for(l=new X,f=new X,o=new E(n);o.a-1){for(c=new E(f);c.a0)&&(aq(h,j.Math.min(h.o,r.o-1)),ej(h,h.i-1),h.i==0&&(f.c[f.c.length]=h))}}function j4(n,e,t){var i,r,c,o,f,h,l;if(l=n.c,!e&&(e=p1n),n.c=e,n.Db&4&&!(n.Db&1)&&(h=new wi(n,1,2,l,n.c),t?t.Ei(h):t=h),l!=e){if(I(n.Cb,284))n.Db>>16==-10?t=u(n.Cb,284).nk(e,t):n.Db>>16==-15&&(!e&&(e=(Sn(),Cf)),!l&&(l=(Sn(),Cf)),n.Cb.nh()&&(h=new Lh(n.Cb,1,13,l,e,v1(Ou(u(n.Cb,59)),n),!1),t?t.Ei(h):t=h));else if(I(n.Cb,88))n.Db>>16==-23&&(I(e,88)||(e=(Sn(),so)),I(l,88)||(l=(Sn(),so)),n.Cb.nh()&&(h=new Lh(n.Cb,1,10,l,e,v1(bc(u(n.Cb,26)),n),!1),t?t.Ei(h):t=h));else if(I(n.Cb,444))for(f=u(n.Cb,836),o=(!f.b&&(f.b=new sj(new KI)),f.b),c=(i=new Ea(new ta(o.a).a),new oj(i));c.a.b;)r=u(Nd(c.a).cd(),87),t=j4(r,uM(r,f),t)}return t}function BEe(n,e){var t,i,r,c,o,f,h,l,a,d,g;for(o=on(sn(hn(n,(nn(),Qb)))),g=u(hn(n,Yb),21),h=!1,l=!1,d=new ie((!n.c&&(n.c=new V(Ru,n,9,9)),n.c));d.e!=d.i.gc()&&(!h||!l);){for(c=u(oe(d),118),f=0,r=ul(of(A(M(gf,1),rn,20,0,[(!c.d&&(c.d=new Fn(di,c,8,5)),c.d),(!c.e&&(c.e=new Fn(di,c,7,4)),c.e)])));Se(r)&&(i=u(ve(r),79),a=o&&Jd(i)&&on(sn(hn(i,Wa))),t=FRn((!i.b&&(i.b=new Fn(he,i,4,7)),i.b),c)?n==At(Pr(u(D((!i.c&&(i.c=new Fn(he,i,5,8)),i.c),0),82))):n==At(Pr(u(D((!i.b&&(i.b=new Fn(he,i,4,7)),i.b),0),82))),!((a||t)&&(++f,f>1))););(f>0||g.Hc((Tu(),n1))&&(!c.n&&(c.n=new V(Br,c,1,7)),c.n).i>0)&&(h=!0),f>1&&(l=!0)}h&&e.Fc((or(),$s)),l&&e.Fc((or(),Tm))}function r_n(n){var e,t,i,r,c,o,f,h,l,a,d,g;if(g=u(hn(n,(Xe(),Za)),21),g.dc())return null;if(f=0,o=0,g.Hc((Vu(),Ay))){for(a=u(hn(n,n9),98),i=2,t=2,r=2,c=2,e=At(n)?u(hn(At(n),A0),103):u(hn(n,A0),103),l=new ie((!n.c&&(n.c=new V(Ru,n,9,9)),n.c));l.e!=l.i.gc();)if(h=u(oe(l),118),d=u(hn(h,Hg),61),d==(J(),Xr)&&(d=mZ(h,e),gr(h,Hg,d)),a==(Ti(),Ac))switch(d.g){case 1:i=j.Math.max(i,h.i+h.g);break;case 2:t=j.Math.max(t,h.j+h.f);break;case 3:r=j.Math.max(r,h.i+h.g);break;case 4:c=j.Math.max(c,h.j+h.f)}else switch(d.g){case 1:i+=h.g+2;break;case 2:t+=h.f+2;break;case 3:r+=h.g+2;break;case 4:c+=h.f+2}f=j.Math.max(i,r),o=j.Math.max(t,c)}return t0(n,f,o,!0,!0)}function pL(n,e,t,i,r){var c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x;for($=u(es(qC(gt(new $n(null,new xn(e.d,16)),new Q5n(t)),new J5n(t)),ga(new U1,new z1,new W1,A(M(Nu,1),z,132,0,[(hf(),hs)]))),15),d=nt,a=Bi,h=new E(e.b.j);h.a0,l?l&&(g=S.p,o?++g:--g,d=u(un(S.c.a,g),10),i=VOn(d),p=!(Kx(i,U,t[0])||ACn(i,U,t[0]))):p=!0),v=!1,_=e.D.i,_&&_.c&&f.e&&(a=o&&_.p>0||!o&&_.p<_.c.a.c.length-1,a?(g=_.p,o?--g:++g,d=u(un(_.c.a,g),10),i=VOn(d),v=!(Kx(i,t[0],ln)||ACn(i,t[0],ln))):v=!0),p&&v&&Ke(n.a,en),p||V5(n.a,A(M(ai,1),q,8,0,[m,C])),v||V5(n.a,A(M(ai,1),q,8,0,[x,O]))}function CM(n,e){var t,i,r,c,o,f,h,l;if(I(n.Ug(),160)?(CM(u(n.Ug(),160),e),e.a+=" > "):e.a+="Root ",t=n.Tg().zb,An(t.substr(0,3),"Elk")?De(e,t.substr(3)):e.a+=""+t,r=n.zg(),r){De((e.a+=" ",e),r);return}if(I(n,354)&&(l=u(n,137).a,l)){De((e.a+=" ",e),l);return}for(o=new ie(n.Ag());o.e!=o.i.gc();)if(c=u(oe(o),137),l=c.a,l){De((e.a+=" ",e),l);return}if(I(n,352)&&(i=u(n,79),!i.b&&(i.b=new Fn(he,i,4,7)),i.b.i!=0&&(!i.c&&(i.c=new Fn(he,i,5,8)),i.c.i!=0))){for(e.a+=" (",f=new b2((!i.b&&(i.b=new Fn(he,i,4,7)),i.b));f.e!=f.i.gc();)f.e>0&&(e.a+=Ji),CM(u(oe(f),160),e);for(e.a+=TN,h=new b2((!i.c&&(i.c=new Fn(he,i,5,8)),i.c));h.e!=h.i.gc();)h.e>0&&(e.a+=Ji),CM(u(oe(h),160),e);e.a+=")"}}function GEe(n,e,t){var i,r,c,o,f,h,l,a,d,g,p;if(c=u(k(n,(G(),rt)),79),!!c){for(i=n.a,r=new mr(t),ot(r,F4e(n)),K3(n.d.i,n.c.i)?(g=n.c,d=Gr(A(M(ai,1),q,8,0,[g.n,g.a])),ki(d,t)):d=tf(n.c),Kt(i,d,i.a,i.a.a),p=tf(n.d),k(n,I_)!=null&&ot(p,u(k(n,I_),8)),Kt(i,p,i.c.b,i.c),fb(i,r),o=ng(c,!0,!0),JC(o,u(D((!c.b&&(c.b=new Fn(he,c,4,7)),c.b),0),82)),YC(o,u(D((!c.c&&(c.c=new Fn(he,c,5,8)),c.c),0),82)),z7(i,o),a=new E(n.b);a.a=0){for(h=null,f=new Ii(a.a,l+1);f.bo?1:pd(isNaN(0),isNaN(o)))<0&&(mo(Gf),(j.Math.abs(o-1)<=Gf||o==1||isNaN(o)&&isNaN(1)?0:o<1?-1:o>1?1:pd(isNaN(o),isNaN(1)))<0)&&(mo(Gf),(j.Math.abs(0-f)<=Gf||f==0||isNaN(0)&&isNaN(f)?0:0f?1:pd(isNaN(0),isNaN(f)))<0)&&(mo(Gf),(j.Math.abs(f-1)<=Gf||f==1||isNaN(f)&&isNaN(1)?0:f<1?-1:f>1?1:pd(isNaN(f),isNaN(1)))<0)),c)}function UEe(n){var e,t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U;for(d=new NW(new Mq(n));d.b!=d.c.a.d;)for(a=fPn(d),f=u(a.d,56),e=u(a.e,56),o=f.Tg(),m=0,x=(o.i==null&&Lf(o),o.i).length;m=0&&m=l.c.c.length?a=pX((Qn(),ti),gi):a=pX((Qn(),gi),gi),a*=2,c=t.a.g,t.a.g=j.Math.max(c,c+(a-c)),o=t.b.g,t.b.g=j.Math.max(o,o+(a-o)),r=e}}function VEe(n,e,t,i,r){var c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_;for(_=TEn(n),a=new X,f=n.c.length,d=f-1,g=f+1;_.a.c!=0;){for(;t.b!=0;)O=(ne(t.b!=0),u(Ts(t,t.a.a),112)),R5(_.a,O)!=null,O.g=d--,kZ(O,e,t,i);for(;e.b!=0;)x=(ne(e.b!=0),u(Ts(e,e.a.a),112)),R5(_.a,x)!=null,x.g=g++,kZ(x,e,t,i);for(l=Bi,S=(o=new T5(new j5(new P9(_.a).a).b),new I9(o));G9(S.a.a);){if(C=(c=pE(S.a),u(c.cd(),112)),!i&&C.b>0&&C.a<=0){a.c=F(Zn,rn,1,0,5,1),a.c[a.c.length]=C;break}m=C.i-C.d,m>=l&&(m>l&&(a.c=F(Zn,rn,1,0,5,1),l=m),a.c[a.c.length]=C)}a.c.length!=0&&(h=u(un(a,_T(r,a.c.length)),112),R5(_.a,h)!=null,h.g=g++,kZ(h,e,t,i),a.c=F(Zn,rn,1,0,5,1))}for($=n.c.length+1,v=new E(n);v.a0&&(g.d+=a.n.d,g.d+=a.d),g.a>0&&(g.a+=a.n.a,g.a+=a.d),g.b>0&&(g.b+=a.n.b,g.b+=a.d),g.c>0&&(g.c+=a.n.c,g.c+=a.d),g}function u_n(n,e,t){var i,r,c,o,f,h,l,a,d,g,p,v;for(g=t.d,d=t.c,c=new fn(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a),o=c.b,l=new E(n.a);l.a0&&(n.c[e.c.p][e.p].d+=Fu(n.i,24)*uk*.07000000029802322-.03500000014901161,n.c[e.c.p][e.p].a=n.c[e.c.p][e.p].d/n.c[e.c.p][e.p].b)}}function iCe(n){var e,t,i,r,c,o,f,h,l,a,d,g,p,v,m,C;for(v=new E(n);v.ai.d,i.d=j.Math.max(i.d,e),f&&t&&(i.d=j.Math.max(i.d,i.a),i.a=i.d+r);break;case 3:t=e>i.a,i.a=j.Math.max(i.a,e),f&&t&&(i.a=j.Math.max(i.a,i.d),i.d=i.a+r);break;case 2:t=e>i.c,i.c=j.Math.max(i.c,e),f&&t&&(i.c=j.Math.max(i.b,i.c),i.b=i.c+r);break;case 4:t=e>i.b,i.b=j.Math.max(i.b,e),f&&t&&(i.b=j.Math.max(i.b,i.c),i.c=i.b+r)}}}function sCe(n){var e,t,i,r,c,o,f,h,l,a,d;for(l=new E(n);l.a0||a.j==Gn&&a.e.c.length-a.g.c.length<0)){e=!1;break}for(r=new E(a.g);r.a=l&&_>=C&&(g+=v.n.b+m.n.b+m.a.b-x,++f));if(t)for(o=new E($.e);o.a=l&&_>=C&&(g+=v.n.b+m.n.b+m.a.b-x,++f))}f>0&&(U+=g/f,++p)}p>0?(e.a=r*U/p,e.g=p):(e.a=0,e.g=0)}function fCe(n,e){var t,i,r,c,o,f,h,l,a,d,g;for(r=new E(n.a.b);r.aVt||e.o==Ja&&a0&&Zc(S,x*U),_>0&&nu(S,_*en);for(n6(n.b,new gan),e=new X,f=new Ea(new ta(n.c).a);f.b;)o=Nd(f),i=u(o.cd(),79),t=u(o.dd(),395).a,r=ng(i,!1,!1),d=sxn(fh(i),I7(r),t),z7(d,r),O=mxn(i),O&&Fr(e,O,0)==-1&&(e.c[e.c.length]=O,TTn(O,(ne(d.b!=0),u(d.a.a.c,8)),t));for(C=new Ea(new ta(n.d).a);C.b;)m=Nd(C),i=u(m.cd(),79),t=u(m.dd(),395).a,r=ng(i,!1,!1),d=sxn(ml(i),o7(I7(r)),t),d=o7(d),z7(d,r),O=kxn(i),O&&Fr(e,O,0)==-1&&(e.c[e.c.length]=O,TTn(O,(ne(d.b!=0),u(d.c.b.c,8)),t))}function f_n(n,e,t,i){var r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en;if(t.c.length!=0){for(p=new X,g=new E(t);g.a1)for(p=new SZ(v,O,i),$i(O,new tkn(n,p)),o.c[o.c.length]=p,d=O.a.ec().Kc();d.Ob();)a=u(d.Pb(),46),Qc(c,a.b);if(f.a.gc()>1)for(p=new SZ(v,f,i),$i(f,new ikn(n,p)),o.c[o.c.length]=p,d=f.a.ec().Kc();d.Ob();)a=u(d.Pb(),46),Qc(c,a.b)}}function l_n(n){wd(n,new Ia(vj(ld(od(hd(fd(new Zl,zf),"ELK Radial"),'A radial layout provider which is based on the algorithm of Peter Eades published in "Drawing free trees.", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'),new Fgn),zf))),Z(n,zf,oA,cn(DYn)),Z(n,zf,Db,cn($Yn)),Z(n,zf,hg,cn(SYn)),Z(n,zf,ip,cn(PYn)),Z(n,zf,tp,cn(IYn)),Z(n,zf,F4,cn(AYn)),Z(n,zf,G6,cn(Ron)),Z(n,zf,x4,cn(OYn)),Z(n,zf,dB,cn(MK)),Z(n,zf,aB,cn(AK)),Z(n,zf,otn,cn(_on)),Z(n,zf,rtn,cn(TP)),Z(n,zf,ctn,cn(MP)),Z(n,zf,utn,cn(oy)),Z(n,zf,stn,cn(Kon))}function NZ(n){var e;if(this.r=Uhe(new Nln,new Bln),this.b=new f6(u(pe(Zi),290)),this.p=new f6(u(pe(Zi),290)),this.i=new f6(u(pe(yUn),290)),this.e=n,this.o=new mr(n.rf()),this.D=n.Df()||on(sn(n.We((Xe(),vy)))),this.A=u(n.We((Xe(),Za)),21),this.B=u(n.We(_l),21),this.q=u(n.We(n9),98),this.u=u(n.We(rw),21),!Zve(this.u))throw T(new pw("Invalid port label placement: "+this.u));if(this.v=on(sn(n.We(mhn))),this.j=u(n.We(_g),21),!E9e(this.j))throw T(new pw("Invalid node label placement: "+this.j));this.n=u(w6(n,uhn),116),this.k=K(Y(w6(n,KP))),this.d=K(Y(w6(n,Ehn))),this.w=K(Y(w6(n,Shn))),this.s=K(Y(w6(n,Chn))),this.t=K(Y(w6(n,Thn))),this.C=u(w6(n,Mhn),142),this.c=2*this.d,e=!this.B.Hc((xu(),Sy)),this.f=new l6(0,e,0),this.g=new l6(1,e,0),zI(this.f,(_o(),Fc),this.g)}function vCe(n,e,t,i,r){var c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en,ln,wn,zn;for(O=0,v=0,p=0,g=1,$=new ie((!n.a&&(n.a=new V(Pt,n,10,11)),n.a));$.e!=$.i.gc();)C=u(oe($),33),g+=Fh(new re(ue(Gh(C).a.Kc(),new Mn))),ln=C.g,v=j.Math.max(v,ln),d=C.f,p=j.Math.max(p,d),O+=ln*d;for(m=(!n.a&&(n.a=new V(Pt,n,10,11)),n.a).i,o=O+2*i*i*g*m,c=j.Math.sqrt(o),h=j.Math.max(c*t,v),f=j.Math.max(c/t,p),S=new ie((!n.a&&(n.a=new V(Pt,n,10,11)),n.a));S.e!=S.i.gc();)C=u(oe(S),33),wn=r.b+(Fu(e,26)*N6+Fu(e,27)*B6)*(h-C.g),zn=r.b+(Fu(e,26)*N6+Fu(e,27)*B6)*(f-C.f),Zc(C,wn),nu(C,zn);for(en=h+(r.b+r.c),U=f+(r.d+r.a),_=new ie((!n.a&&(n.a=new V(Pt,n,10,11)),n.a));_.e!=_.i.gc();)for(x=u(oe(_),33),a=new re(ue(Gh(x).a.Kc(),new Mn));Se(a);)l=u(ve(a),79),j6(l)||mTe(l,e,en,U);en+=r.b+r.c,U+=r.d+r.a,t0(n,en,U,!1,!0)}function MM(n){var e,t,i,r,c,o,f,h,l,a,d;if(n==null)throw T(new Sf(iu));if(l=n,c=n.length,h=!1,c>0&&(e=(Me(0,n.length),n.charCodeAt(0)),(e==45||e==43)&&(n=n.substr(1),--c,h=e==45)),c==0)throw T(new Sf(c0+l+'"'));for(;n.length>0&&(Me(0,n.length),n.charCodeAt(0)==48);)n=n.substr(1),--c;if(c>(ZBn(),yzn)[10])throw T(new Sf(c0+l+'"'));for(r=0;r0&&(d=-parseInt(n.substr(0,i),10),n=n.substr(i),c-=i,t=!1);c>=o;){if(i=parseInt(n.substr(0,o),10),n=n.substr(o),c-=o,t)t=!1;else{if(fc(d,f)<0)throw T(new Sf(c0+l+'"'));d=Ni(d,a)}d=vl(d,i)}if(fc(d,0)>0)throw T(new Sf(c0+l+'"'));if(!h&&(d=P3(d),fc(d,0)<0))throw T(new Sf(c0+l+'"'));return d}function BZ(n,e){HEn();var t,i,r,c,o,f,h;if(this.a=new Sz(this),this.b=n,this.c=e,this.f=PD(jr((gu(),xi),e)),this.f.dc())if((f=EJ(xi,n))==e)for(this.e=!0,this.d=new X,this.f=new H2n,this.f.Fc(Ka),u(jM(G8(xi,ts(n)),""),26)==n&&this.f.Fc(I5(xi,ts(n))),r=Jx(xi,n).Kc();r.Ob();)switch(i=u(r.Pb(),170),Sd(jr(xi,i))){case 4:{this.d.Fc(i);break}case 5:{this.f.Gc(PD(jr(xi,i)));break}}else if(er(),u(e,66).Oj())for(this.e=!0,this.f=null,this.d=new X,o=0,h=(n.i==null&&Lf(n),n.i).length;o=0&&o0&&(u(br(n.b,e),124).a.b=t)}function mCe(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S;for(le(e,"Comment pre-processing",1),t=0,h=new E(n.a);h.a0&&(h=(Me(0,e.length),e.charCodeAt(0)),h!=64)){if(h==37&&(d=e.lastIndexOf("%"),l=!1,d!=0&&(d==g-1||(l=(Me(d+1,e.length),e.charCodeAt(d+1)==46))))){if(o=e.substr(1,d-1),O=An("%",o)?null:_Z(o),i=0,l)try{i=us(e.substr(d+2),Bi,nt)}catch(x){throw x=jt(x),I(x,127)?(f=x,T(new xC(f))):T(x)}for(C=kV(n.Wg());C.Ob();)if(v=hT(C),I(v,510)&&(r=u(v,590),$=r.d,(O==null?$==null:An(O,$))&&i--==0))return r;return null}if(a=e.lastIndexOf("."),p=a==-1?e:e.substr(0,a),t=0,a!=-1)try{t=us(e.substr(a+1),Bi,nt)}catch(x){if(x=jt(x),I(x,127))p=e;else throw T(x)}for(p=An("%",p)?null:_Z(p),m=kV(n.Wg());m.Ob();)if(v=hT(m),I(v,191)&&(c=u(v,191),S=c.ne(),(p==null?S==null:An(p,S))&&t--==0))return c;return null}return LRn(n,e)}function jCe(n){var e,t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en,ln,wn,zn,Wn;for(U=new X,v=new E(n.b);v.a=e.length)return{done:!0};var r=e[i++];return{value:[r,t.get(r)],done:!1}}}},A7e()||(n.prototype.createObject=function(){return{}},n.prototype.get=function(e){return this.obj[":"+e]},n.prototype.set=function(e,t){this.obj[":"+e]=t},n.prototype[eN]=function(e){delete this.obj[":"+e]},n.prototype.keys=function(){var e=[];for(var t in this.obj)t.charCodeAt(0)==58&&e.push(t.substring(1));return e}),n}function CCe(n){vZ();var e,t,i,r,c,o,f,h,l,a,d,g,p,v,m,C;if(n==null)return null;if(d=n.length*8,d==0)return"";for(f=d%24,p=d/24|0,g=f!=0?p+1:p,c=null,c=F(Ls,Bf,25,g*4,15,1),l=0,a=0,e=0,t=0,i=0,o=0,r=0,h=0;h>24,l=(e&3)<<24>>24,v=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,m=t&-128?(t>>4^240)<<24>>24:t>>4<<24>>24,C=i&-128?(i>>6^252)<<24>>24:i>>6<<24>>24,c[o++]=R1[v],c[o++]=R1[m|l<<4],c[o++]=R1[a<<2|C],c[o++]=R1[i&63];return f==8?(e=n[r],l=(e&3)<<24>>24,v=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,c[o++]=R1[v],c[o++]=R1[l<<4],c[o++]=61,c[o++]=61):f==16&&(e=n[r],t=n[r+1],a=(t&15)<<24>>24,l=(e&3)<<24>>24,v=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,m=t&-128?(t>>4^240)<<24>>24:t>>4<<24>>24,c[o++]=R1[v],c[o++]=R1[m|l<<4],c[o++]=R1[a<<2],c[o++]=61),Hs(c,0,c.length)}function TCe(n,e){var t,i,r,c,o,f,h;if(n.e==0&&n.p>0&&(n.p=-(n.p-1)),n.p>Bi&&mX(e,n.p-Tl),o=e.q.getDate(),A8(e,1),n.k>=0&&sle(e,n.k),n.c>=0?A8(e,n.c):n.k>=0?(h=new _V(e.q.getFullYear()-Tl,e.q.getMonth(),35),i=35-h.q.getDate(),A8(e,j.Math.min(i,o))):A8(e,o),n.f<0&&(n.f=e.q.getHours()),n.b>0&&n.f<12&&(n.f+=12),vce(e,n.f==24&&n.g?0:n.f),n.j>=0&&vde(e,n.j),n.n>=0&&Lde(e,n.n),n.i>=0&&Kkn(e,qi(Ni(M7(eu(e.q.getTime()),j1),j1),n.i)),n.a&&(r=new Tj,mX(r,r.q.getFullYear()-Tl-80),cO(eu(e.q.getTime()),eu(r.q.getTime()))&&mX(e,r.q.getFullYear()-Tl+100)),n.d>=0){if(n.c==-1)t=(7+n.d-e.q.getDay())%7,t>3&&(t-=7),f=e.q.getMonth(),A8(e,e.q.getDate()+t),e.q.getMonth()!=f&&A8(e,e.q.getDate()+(t>0?-7:7));else if(e.q.getDay()!=n.d)return!1}return n.o>Bi&&(c=e.q.getTimezoneOffset(),Kkn(e,qi(eu(e.q.getTime()),(n.o-c)*60*j1))),!0}function b_n(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x;if(r=k(e,(G(),rt)),!!I(r,239)){for(v=u(r,33),m=e.e,g=new mr(e.c),c=e.d,g.a+=c.b,g.b+=c.d,x=u(hn(v,(nn(),iP)),174),au(x,(xu(),GP))&&(p=u(hn(v,Esn),116),Yee(p,c.a),ute(p,c.d),Zee(p,c.b),ste(p,c.c)),t=new X,a=new E(e.a);a.a0&&W(n.p,a),W(n.o,a);e-=i,p=h+e,l+=e*n.e,Es(n.a,f,Q(p)),Es(n.b,f,l),n.j=j.Math.max(n.j,p),n.k=j.Math.max(n.k,l),n.d+=e,e+=m}}function J(){J=N;var n;Xr=new t8(K6,0),Kn=new t8(NM,1),Vn=new t8(lN,2),ae=new t8(aN,3),Gn=new t8(dN,4),Ef=(Pn(),new Wp((n=u(xo(Zi),9),new ks(n,u(bo(n,n.length),9),0)))),Do=b1(pt(Kn,A(M(Zi,1),hc,61,0,[]))),Fs=b1(pt(Vn,A(M(Zi,1),hc,61,0,[]))),ds=b1(pt(ae,A(M(Zi,1),hc,61,0,[]))),to=b1(pt(Gn,A(M(Zi,1),hc,61,0,[]))),cu=b1(pt(Kn,A(M(Zi,1),hc,61,0,[ae]))),Gc=b1(pt(Vn,A(M(Zi,1),hc,61,0,[Gn]))),$o=b1(pt(Kn,A(M(Zi,1),hc,61,0,[Gn]))),Su=b1(pt(Kn,A(M(Zi,1),hc,61,0,[Vn]))),bs=b1(pt(ae,A(M(Zi,1),hc,61,0,[Gn]))),xs=b1(pt(Vn,A(M(Zi,1),hc,61,0,[ae]))),Pu=b1(pt(Kn,A(M(Zi,1),hc,61,0,[Vn,Gn]))),ru=b1(pt(Vn,A(M(Zi,1),hc,61,0,[ae,Gn]))),uu=b1(pt(Kn,A(M(Zi,1),hc,61,0,[ae,Gn]))),ku=b1(pt(Kn,A(M(Zi,1),hc,61,0,[Vn,ae]))),Sc=b1(pt(Kn,A(M(Zi,1),hc,61,0,[Vn,ae,Gn])))}function v_n(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O;if(e.b!=0){for(p=new Ct,f=null,v=null,i=Gt(j.Math.floor(j.Math.log(e.b)*j.Math.LOG10E)+1),h=0,O=_e(e,0);O.b!=O.d.c;)for(S=u(Re(O),86),B(v)!==B(k(S,(cc(),Um)))&&(v=Te(k(S,Um)),h=0),v!=null?f=v+RMn(h++,i):f=RMn(h++,i),H(S,Um,f),C=(r=_e(new X1(S).a.d,0),new e2(r));yj(C.a);)m=u(Re(C.a),188).c,Kt(p,m,p.c.b,p.c),H(m,Um,f);for(g=new we,o=0;o=h){ne(S.b>0),S.a.Xb(S.c=--S.b);break}else m.a>l&&(r?(Yt(r.b,m.b),r.a=j.Math.max(r.a,m.a),Uu(S)):(W(m.b,d),m.c=j.Math.min(m.c,l),m.a=j.Math.max(m.a,h),r=m));r||(r=new i9n,r.c=l,r.a=h,X0(S,r),W(r.b,d))}for(f=e.b,a=0,C=new E(i);C.af?1:0:(n.b&&(n.b._b(c)&&(r=u(n.b.xc(c),19).a),n.b._b(h)&&(f=u(n.b.xc(h),19).a)),rf?1:0)):e.e.c.length!=0&&t.g.c.length!=0?1:-1}function PCe(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en;for(le(e,oHn,1),m=new X,U=new X,l=new E(n.b);l.a0&&(O-=p),PZ(o,O),a=0,g=new E(o.a);g.a0),f.a.Xb(f.c=--f.b)),h=.4*i*a,!c&&f.be.d.c){if(p=n.c[e.a.d],C=n.c[d.a.d],p==C)continue;jo(lo(ho(ao(fo(new Ns,1),100),p),C))}}}}}function _Z(n){bL();var e,t,i,r,c,o,f,h;if(n==null)return null;if(r=Pf(n,tu(37)),r<0)return n;for(h=new Ju(n.substr(0,r)),e=F(yu,wg,25,4,15,1),f=0,i=0,o=n.length;rr+2&&uF((Me(r+1,n.length),n.charCodeAt(r+1)),h1n,l1n)&&uF((Me(r+2,n.length),n.charCodeAt(r+2)),h1n,l1n))if(t=tfe((Me(r+1,n.length),n.charCodeAt(r+1)),(Me(r+2,n.length),n.charCodeAt(r+2))),r+=2,i>0?(t&192)==128?e[f++]=t<<24>>24:i=0:t>=128&&((t&224)==192?(e[f++]=t<<24>>24,i=2):(t&240)==224?(e[f++]=t<<24>>24,i=3):(t&248)==240&&(e[f++]=t<<24>>24,i=4)),i>0){if(f==i){switch(f){case 2:{sl(h,((e[0]&31)<<6|e[1]&63)&Ut);break}case 3:{sl(h,((e[0]&15)<<12|(e[1]&63)<<6|e[2]&63)&Ut);break}}f=0,i=0}}else{for(c=0;c0){if(o+i>n.length)return!1;f=tM(n.substr(0,o+i),e)}else f=tM(n,e);switch(c){case 71:return f=Qw(n,o,A(M(tn,1),q,2,6,[nKn,eKn]),e),r.e=f,!0;case 77:return g7e(n,e,r,f,o);case 76:return p7e(n,e,r,f,o);case 69:return o6e(n,e,o,r);case 99:return f6e(n,e,o,r);case 97:return f=Qw(n,o,A(M(tn,1),q,2,6,["AM","PM"]),e),r.b=f,!0;case 121:return v7e(n,e,o,f,t,r);case 100:return f<=0?!1:(r.c=f,!0);case 83:return f<0?!1:j2e(f,o,e[0],r);case 104:f==12&&(f=0);case 75:case 72:return f<0?!1:(r.f=f,r.g=!1,!0);case 107:return f<0?!1:(r.f=f,r.g=!0,!0);case 109:return f<0?!1:(r.j=f,!0);case 115:return f<0?!1:(r.n=f,!0);case 90:if(oU&&(v.c=U-v.b),W(o.d,new jD(v,gQ(o,v))),$=e==Kn?j.Math.max($,m.b+l.b.rf().b):j.Math.min($,m.b));for($+=e==Kn?n.t:-n.t,O=DQ((o.e=$,o)),O>0&&(u(br(n.b,e),124).a.b=O),a=g.Kc();a.Ob();)l=u(a.Pb(),111),!(!l.c||l.c.d.c.length<=0)&&(v=l.c.i,v.c-=l.e.a,v.d-=l.e.b)}function LCe(n){var e,t,i,r,c,o,f,h,l,a,d,g,p;for(e=new we,h=new ie(n);h.e!=h.i.gc();){for(f=u(oe(h),33),t=new fi,it(DR,f,t),p=new lan,r=u(es(new $n(null,new Cd(new re(ue(N7(f).a.Kc(),new Mn)))),hCn(p,ga(new U1,new z1,new W1,A(M(Nu,1),z,132,0,[(hf(),hs)])))),83),$In(t,u(r.xc((qn(),!0)),14),new aan),i=u(es(gt(u(r.xc(!1),15).Lc(),new dan),ga(new U1,new z1,new W1,A(M(Nu,1),z,132,0,[hs]))),15),o=i.Kc();o.Ob();)c=u(o.Pb(),79),g=mxn(c),g&&(l=u(Vr(Ar(e.f,g)),21),l||(l=RNn(g),_c(e.f,g,l)),Vi(t,l));for(r=u(es(new $n(null,new Cd(new re(ue(Gh(f).a.Kc(),new Mn)))),hCn(p,ga(new U1,new z1,new W1,A(M(Nu,1),z,132,0,[hs])))),83),$In(t,u(r.xc(!0),14),new ban),i=u(es(gt(u(r.xc(!1),15).Lc(),new wan),ga(new U1,new z1,new W1,A(M(Nu,1),z,132,0,[hs]))),15),d=i.Kc();d.Ob();)a=u(d.Pb(),79),g=kxn(a),g&&(l=u(Vr(Ar(e.f,g)),21),l||(l=RNn(g),_c(e.f,g,l)),Vi(t,l))}}function NCe(n,e){oL();var t,i,r,c,o,f,h,l,a,d,g,p,v,m;if(h=fc(n,0)<0,h&&(n=P3(n)),fc(n,0)==0)switch(e){case 0:return"0";case 1:return S4;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return p=new V1,e<0?p.a+="0E+":p.a+="0E",p.a+=e==Bi?"2147483648":""+-e,p.a}a=18,d=F(Ls,Bf,25,a+1,15,1),t=a,m=n;do l=m,m=M7(m,10),d[--t]=ge(qi(48,vl(l,Ni(m,10))))&Ut;while(fc(m,0)!=0);if(r=vl(vl(vl(a,t),e),1),e==0)return h&&(d[--t]=45),Hs(d,t,a-t);if(e>0&&fc(r,-6)>=0){if(fc(r,0)>=0){for(c=t+ge(r),f=a-1;f>=c;f--)d[f+1]=d[f];return d[++c]=46,h&&(d[--t]=45),Hs(d,t,a-t+1)}for(o=2;cO(o,qi(P3(r),1));o++)d[--t]=48;return d[--t]=46,d[--t]=48,h&&(d[--t]=45),Hs(d,t,a-t)}return v=t+1,i=a,g=new R0,h&&(g.a+="-"),i-v>=1?(sl(g,d[t]),g.a+=".",g.a+=Hs(d,t+1,a-t-1)):g.a+=Hs(d,t,a-t),g.a+="E",fc(r,0)>0&&(g.a+="+"),g.a+=""+O5(r),g.a}function BCe(n,e,t){var i,r,c,o,f,h,l,a,d,g,p;if(n.e.a.$b(),n.f.a.$b(),n.c.c=F(Zn,rn,1,0,5,1),n.i.c=F(Zn,rn,1,0,5,1),n.g.a.$b(),e)for(o=new E(e.a);o.a=1&&(_-l>0&&v>=0?(Zc(d,d.i+x),nu(d,d.j+h*l)):_-l<0&&p>=0&&(Zc(d,d.i+x*_),nu(d,d.j+h)));return gr(n,(Xe(),Za),(Vu(),c=u(xo(o9),9),new ks(c,u(bo(c,c.length),9),0))),new fn(U,a)}function y_n(n){var e,t,i,r,c,o,f,h,l,a,d,g,p,v;if(p=At(Pr(u(D((!n.b&&(n.b=new Fn(he,n,4,7)),n.b),0),82))),v=At(Pr(u(D((!n.c&&(n.c=new Fn(he,n,5,8)),n.c),0),82))),d=p==v,f=new Li,e=u(hn(n,(wT(),Lhn)),74),e&&e.b>=2){if((!n.a&&(n.a=new V(Tt,n,6,6)),n.a).i==0)t=(ad(),r=new Vy,r),me((!n.a&&(n.a=new V(Tt,n,6,6)),n.a),t);else if((!n.a&&(n.a=new V(Tt,n,6,6)),n.a).i>1)for(g=new b2((!n.a&&(n.a=new V(Tt,n,6,6)),n.a));g.e!=g.i.gc();)p6(g);z7(e,u(D((!n.a&&(n.a=new V(Tt,n,6,6)),n.a),0),202))}if(d)for(i=new ie((!n.a&&(n.a=new V(Tt,n,6,6)),n.a));i.e!=i.i.gc();)for(t=u(oe(i),202),l=new ie((!t.a&&(t.a=new Jt(io,t,5)),t.a));l.e!=l.i.gc();)h=u(oe(l),469),f.a=j.Math.max(f.a,h.a),f.b=j.Math.max(f.b,h.b);for(o=new ie((!n.n&&(n.n=new V(Br,n,1,7)),n.n));o.e!=o.i.gc();)c=u(oe(o),137),a=u(hn(c,t9),8),a&&Jo(c,a.a,a.b),d&&(f.a=j.Math.max(f.a,c.i+c.g),f.b=j.Math.max(f.b,c.j+c.f));return f}function RCe(n,e,t){var i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en,ln;for(O=e.c.length,r=new tg(n.a,t,null,null),ln=F(ji,pr,25,O,15,1),m=F(ji,pr,25,O,15,1),v=F(ji,pr,25,O,15,1),C=0,f=0;fln[h]&&(C=h),d=new E(n.a.b);d.ap&&(c&&(ua(U,g),ua(ln,Q(l.b-1))),Ye=t.b,oi+=g+e,g=0,a=j.Math.max(a,t.b+t.c+se)),Zc(f,Ye),nu(f,oi),a=j.Math.max(a,Ye+se+t.c),g=j.Math.max(g,d),Ye+=se+e;if(a=j.Math.max(a,i),Wn=oi+g+t.a,WnKf,wn=j.Math.abs(g.b-v.b)>Kf,(!t&&ln&&wn||t&&(ln||wn))&&Ke(C.a,x)),Vi(C.a,i),i.b==0?g=x:g=(ne(i.b!=0),u(i.c.b.c,8)),iwe(p,d,m),hOn(r)==en&&(Gi(en.i)!=r.a&&(m=new Li,rY(m,Gi(en.i),$)),H(C,I_,m)),A5e(p,C,$),a.a.zc(p,a);Hi(C,_),Ei(C,en)}for(l=a.a.ec().Kc();l.Ob();)h=u(l.Pb(),17),Hi(h,null),Ei(h,null);ce(e)}function j_n(n){var e,t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x;if(n.gc()==1)return u(n.Xb(0),231);if(n.gc()<=0)return new TC;for(r=n.Kc();r.Ob();){for(t=u(r.Pb(),231),v=0,a=nt,d=nt,h=Bi,l=Bi,p=new E(t.e);p.af&&(O=0,x+=o+S,o=0),Tke(m,t,O,x),e=j.Math.max(e,O+C.a),o=j.Math.max(o,C.b),O+=C.a+S;return m}function E_n(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v;switch(a=new hu,n.a.g){case 3:g=u(k(e.e,(G(),Ua)),15),p=u(k(e.j,Ua),15),v=u(k(e.f,Ua),15),t=u(k(e.e,Og),15),i=u(k(e.j,Og),15),r=u(k(e.f,Og),15),o=new X,Yt(o,g),p.Jc(new pwn),Yt(o,I(p,152)?I2(u(p,152)):I(p,131)?u(p,131).a:I(p,54)?new sd(p):new _0(p)),Yt(o,v),c=new X,Yt(c,t),Yt(c,I(i,152)?I2(u(i,152)):I(i,131)?u(i,131).a:I(i,54)?new sd(i):new _0(i)),Yt(c,r),H(e.f,Ua,o),H(e.f,Og,c),H(e.f,yun,e.f),H(e.e,Ua,null),H(e.e,Og,null),H(e.j,Ua,null),H(e.j,Og,null);break;case 1:Vi(a,e.e.a),Ke(a,e.i.n),Vi(a,va(e.j.a)),Ke(a,e.a.n),Vi(a,e.f.a);break;default:Vi(a,e.e.a),Vi(a,va(e.j.a)),Vi(a,e.f.a)}_s(e.f.a),Vi(e.f.a,a),Hi(e.f,e.e.c),f=u(k(e.e,(nn(),Tr)),74),l=u(k(e.j,Tr),74),h=u(k(e.f,Tr),74),(f||l||h)&&(d=new hu,AW(d,h),AW(d,l),AW(d,f),H(e.f,Tr,d)),Hi(e.j,null),Ei(e.j,null),Hi(e.e,null),Ei(e.e,null),yr(e.a,null),yr(e.i,null),e.g&&E_n(n,e.g)}function qCe(n){vZ();var e,t,i,r,c,o,f,h,l,a,d,g,p,v,m,C;if(n==null||(c=NC(n),v=Ige(c),v%4!=0))return null;if(m=v/4|0,m==0)return F(yu,wg,25,0,15,1);for(d=null,e=0,t=0,i=0,r=0,o=0,f=0,h=0,l=0,p=0,g=0,a=0,d=F(yu,wg,25,m*3,15,1);p>4)<<24>>24,d[g++]=((t&15)<<4|i>>2&15)<<24>>24,d[g++]=(i<<6|r)<<24>>24}return!B9(o=c[a++])||!B9(f=c[a++])?null:(e=Tf[o],t=Tf[f],h=c[a++],l=c[a++],Tf[h]==-1||Tf[l]==-1?h==61&&l==61?t&15?null:(C=F(yu,wg,25,p*3+1,15,1),gc(d,0,C,0,p*3),C[g]=(e<<2|t>>4)<<24>>24,C):h!=61&&l==61?(i=Tf[h],i&3?null:(C=F(yu,wg,25,p*3+2,15,1),gc(d,0,C,0,p*3),C[g++]=(e<<2|t>>4)<<24>>24,C[g]=((t&15)<<4|i>>2&15)<<24>>24,C)):null:(i=Tf[h],r=Tf[l],d[g++]=(e<<2|t>>4)<<24>>24,d[g++]=((t&15)<<4|i>>2&15)<<24>>24,d[g++]=(i<<6|r)<<24>>24,d))}function GCe(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_;for(le(e,oHn,1),v=u(k(n,(nn(),Qh)),218),r=new E(n.b);r.a=2){for(m=!0,g=new E(c.j),t=u(y(g),11),p=null;g.a0&&(r=u(un(C.c.a,U-1),10),o=n.i[r.p],ln=j.Math.ceil(Mw(n.n,r,C)),c=_.a.e-C.d.d-(o.a.e+r.o.b+r.d.a)-ln),l=Ft,U0&&en.a.e.e-en.a.a-(en.b.e.e-en.b.a)<0,v=O.a.e.e-O.a.a-(O.b.e.e-O.b.a)<0&&en.a.e.e-en.a.a-(en.b.e.e-en.b.a)>0,p=O.a.e.e+O.b.aen.b.e.e+en.a.a,x=0,!m&&!v&&(g?c+d>0?x=d:l-i>0&&(x=i):p&&(c+f>0?x=f:l-$>0&&(x=$))),_.a.e+=x,_.b&&(_.d.e+=x),!1))}function T_n(n,e,t){var i,r,c,o,f,h,l,a,d,g;if(i=new ys(e.qf().a,e.qf().b,e.rf().a,e.rf().b),r=new d2,n.c)for(o=new E(e.wf());o.al&&(i.a+=Iyn(F(Ls,Bf,25,-l,15,1))),i.a+="Is",Pf(h,tu(32))>=0)for(r=0;r=i.o.b/2}else $=!d;$?(S=u(k(i,(G(),mp)),15),S?g?c=S:(r=u(k(i,bp),15),r?S.gc()<=r.gc()?c=S:c=r:(c=new X,H(i,bp,c))):(c=new X,H(i,mp,c))):(r=u(k(i,(G(),bp)),15),r?d?c=r:(S=u(k(i,mp),15),S?r.gc()<=S.gc()?c=r:c=S:(c=new X,H(i,mp,c))):(c=new X,H(i,bp,c))),c.Fc(n),H(n,(G(),_S),t),e.d==t?(Ei(e,null),t.e.c.length+t.g.c.length==0&&Hr(t,null),Bwe(t)):(Hi(e,null),t.e.c.length+t.g.c.length==0&&Hr(t,null)),_s(e.a)}function XCe(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en,ln,wn,zn,Wn,se,Ye;for($=new Ii(n.b,0),a=e.Kc(),v=0,l=u(a.Pb(),19).a,_=0,t=new fi,en=new Sh;$.b<$.d.gc();){for(S=(ne($.b<$.d.gc()),u($.d.Xb($.c=$.b++),29)),x=new E(S.a);x.a=n.a&&(i=$ye(n,$),a=j.Math.max(a,i.b),x=j.Math.max(x,i.d),W(f,new Pi($,i)));for(ln=new X,l=0;l0),C.a.Xb(C.c=--C.b),wn=new Rs(n.b),X0(C,wn),ne(C.b0?(l=0,C&&(l+=f),l+=(wn-1)*o,O&&(l+=f),ln&&O&&(l=j.Math.max(l,D8e(O,o,$,en))),l<$&&!g&&!p&&(Wn=($-l)/2,l=$),x+=l):!g&&!p&&(x+=$),O&&PZ(O,x),U=new E(n.i);U.a0){for(g=a<100?null:new Q1(a),l=new CV(e),v=l.g,S=F(be,Le,25,a,15,1),i=0,x=new Ld(a),r=0;r=0;)if(p!=null?tt(p,v[h]):B(p)===B(v[h])){S.length<=i&&(C=S,S=F(be,Le,25,2*S.length,15,1),gc(C,0,S,0,i)),S[i++]=r,me(x,v[h]);break n}if(p=p,B(p)===B(f))break}}if(l=x,v=x.g,a=i,i>S.length&&(C=S,S=F(be,Le,25,i,15,1),gc(C,0,S,0,i)),i>0){for(O=!0,c=0;c=0;)H2(n,S[o]);if(i!=a){for(r=a;--r>=i;)H2(l,r);C=S,S=F(be,Le,25,i,15,1),gc(C,0,S,0,i)}e=l}}}else for(e=I3e(n,e),r=n.i;--r>=0;)e.Hc(n.g[r])&&(H2(n,r),O=!0);if(O){if(S!=null){for(t=e.gc(),d=t==1?_5(n,4,e.Kc().Pb(),null,S[0],m):_5(n,6,e,S,S[0],m),g=t<100?null:new Q1(t),r=e.Kc();r.Ob();)p=r.Pb(),g=SU(n,u(p,72),g);g?(g.Ei(d),g.Fi()):et(n.e,d)}else{for(g=que(e.gc()),r=e.Kc();r.Ob();)p=r.Pb(),g=SU(n,u(p,72),g);g&&g.Fi()}return!0}else return!1}function ZCe(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O;for(t=new Z$n(e),t.a||Lke(e),l=N7e(e),h=new Od,C=new WNn,m=new E(e.a);m.a0||t.o==kf&&r0?(d=u(un(g.c.a,o-1),10),ln=Mw(n.b,g,d),C=g.n.b-g.d.d-(d.n.b+d.o.b+d.d.a+ln)):C=g.n.b-g.d.d,l=j.Math.min(C,l),oo?p4(n,e,t):p4(n,t,e),ro?1:0}return i=u(k(e,(G(),dc)),19).a,c=u(k(t,dc),19).a,i>c?p4(n,e,t):p4(n,t,e),ic?1:0}function KZ(n,e,t,i){var r,c,o,f,h,l,a,d,g,p,v,m,C,S,$;if(on(sn(hn(e,(Xe(),RP)))))return Pn(),Pn(),cr;if(l=(!e.a&&(e.a=new V(Pt,e,10,11)),e.a).i!=0,d=K6e(e),a=!d.dc(),l||a){if(r=u(hn(e,yv),149),!r)throw T(new pw("Resolved algorithm is not set; apply a LayoutAlgorithmResolver before computing layout."));if($=hz(r,(d4(),YP)),F$n(e),!l&&a&&!$)return Pn(),Pn(),cr;if(h=new X,B(hn(e,Bg))===B((_h(),F1))&&(hz(r,QP)||hz(r,VP)))for(p=gBn(n,e),v=new Ct,Vi(v,(!e.a&&(e.a=new V(Pt,e,10,11)),e.a));v.b!=0;)g=u(v.b==0?null:(ne(v.b!=0),Ts(v,v.a.a)),33),F$n(g),S=B(hn(g,Bg))===B(i9),S||wa(g,Zm)&&!CX(r,hn(g,yv))?(f=KZ(n,g,t,i),Yt(h,f),gr(g,Bg,i9),$Bn(g)):Vi(v,(!g.a&&(g.a=new V(Pt,g,10,11)),g.a));else for(p=(!e.a&&(e.a=new V(Pt,e,10,11)),e.a).i,o=new ie((!e.a&&(e.a=new V(Pt,e,10,11)),e.a));o.e!=o.i.gc();)c=u(oe(o),33),f=KZ(n,c,t,i),Yt(h,f),$Bn(c);for(C=new E(h);C.a=0?p=B2(f):p=b7(B2(f)),n.Ye(dv,p)),l=new Li,g=!1,n.Xe(E0)?(Zz(l,u(n.We(E0),8)),g=!0):Sce(l,o.a/2,o.b/2),p.g){case 4:H(a,qc,(Ss(),xl)),H(a,HS,(ya(),Tg)),a.o.b=o.b,m<0&&(a.o.a=-m),ui(d,(J(),Vn)),g||(l.a=o.a),l.a-=o.a;break;case 2:H(a,qc,(Ss(),Ub)),H(a,HS,(ya(),cv)),a.o.b=o.b,m<0&&(a.o.a=-m),ui(d,(J(),Gn)),g||(l.a=0);break;case 1:H(a,za,(Nh(),Ag)),a.o.a=o.a,m<0&&(a.o.b=-m),ui(d,(J(),ae)),g||(l.b=o.b),l.b-=o.b;break;case 3:H(a,za,(Nh(),dp)),a.o.a=o.a,m<0&&(a.o.b=-m),ui(d,(J(),Kn)),g||(l.b=0)}if(Zz(d.n,l),H(a,E0,l),e==td||e==jh||e==Ac){if(v=0,e==td&&n.Xe(P1))switch(p.g){case 1:case 2:v=u(n.We(P1),19).a;break;case 3:case 4:v=-u(n.We(P1),19).a}else switch(p.g){case 4:case 2:v=c.b,e==jh&&(v/=r.b);break;case 1:case 3:v=c.a,e==jh&&(v/=r.a)}H(a,k0,v)}return H(a,ec,p),a}function tTe(n){var e,t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en,ln,wn;if(t=K(Y(k(n.a.j,(nn(),esn)))),t<-1||!n.a.i||p2(u(k(n.a.o,Lt),98))||zr(n.a.o,(J(),Vn)).gc()<2&&zr(n.a.o,Gn).gc()<2)return!0;if(n.a.c.Rf())return!1;for(_=0,x=0,O=new X,h=n.a.e,l=0,a=h.length;l=t}function iTe(){EG();function n(i){var r=this;this.dispatch=function(c){var o=c.data;switch(o.cmd){case"algorithms":var f=OQ((Pn(),new _p(new Mh(Wl.b))));i.postMessage({id:o.id,data:f});break;case"categories":var h=OQ((Pn(),new _p(new Mh(Wl.c))));i.postMessage({id:o.id,data:h});break;case"options":var l=OQ((Pn(),new _p(new Mh(Wl.d))));i.postMessage({id:o.id,data:l});break;case"register":hEe(o.algorithms),i.postMessage({id:o.id});break;case"layout":Gye(o.graph,o.layoutOptions||{},o.options||{}),i.postMessage({id:o.id,data:o.graph});break}},this.saveDispatch=function(c){try{r.dispatch(c)}catch(o){i.postMessage({id:c.data.id,error:o})}}}function e(i){var r=this;this.dispatcher=new n({postMessage:function(c){r.onmessage({data:c})}}),this.postMessage=function(c){setTimeout(function(){r.dispatcher.saveDispatch({data:c})},0)}}if(typeof document===cN&&typeof self!==cN){var t=new n(self);self.onmessage=t.saveDispatch}else typeof dt!==cN&&dt.exports&&(Object.defineProperty(Bt,"__esModule",{value:!0}),dt.exports={default:e,Worker:e})}function rTe(n){n.N||(n.N=!0,n.b=Yr(n,0),St(n.b,0),St(n.b,1),St(n.b,2),n.bb=Yr(n,1),St(n.bb,0),St(n.bb,1),n.fb=Yr(n,2),St(n.fb,3),St(n.fb,4),bt(n.fb,5),n.qb=Yr(n,3),St(n.qb,0),bt(n.qb,1),bt(n.qb,2),St(n.qb,3),St(n.qb,4),bt(n.qb,5),St(n.qb,6),n.a=Ue(n,4),n.c=Ue(n,5),n.d=Ue(n,6),n.e=Ue(n,7),n.f=Ue(n,8),n.g=Ue(n,9),n.i=Ue(n,10),n.j=Ue(n,11),n.k=Ue(n,12),n.n=Ue(n,13),n.o=Ue(n,14),n.p=Ue(n,15),n.q=Ue(n,16),n.s=Ue(n,17),n.r=Ue(n,18),n.t=Ue(n,19),n.u=Ue(n,20),n.v=Ue(n,21),n.w=Ue(n,22),n.B=Ue(n,23),n.A=Ue(n,24),n.C=Ue(n,25),n.D=Ue(n,26),n.F=Ue(n,27),n.G=Ue(n,28),n.H=Ue(n,29),n.J=Ue(n,30),n.I=Ue(n,31),n.K=Ue(n,32),n.M=Ue(n,33),n.L=Ue(n,34),n.P=Ue(n,35),n.Q=Ue(n,36),n.R=Ue(n,37),n.S=Ue(n,38),n.T=Ue(n,39),n.U=Ue(n,40),n.V=Ue(n,41),n.X=Ue(n,42),n.W=Ue(n,43),n.Y=Ue(n,44),n.Z=Ue(n,45),n.$=Ue(n,46),n._=Ue(n,47),n.ab=Ue(n,48),n.cb=Ue(n,49),n.db=Ue(n,50),n.eb=Ue(n,51),n.gb=Ue(n,52),n.hb=Ue(n,53),n.ib=Ue(n,54),n.jb=Ue(n,55),n.kb=Ue(n,56),n.lb=Ue(n,57),n.mb=Ue(n,58),n.nb=Ue(n,59),n.ob=Ue(n,60),n.pb=Ue(n,61))}function cTe(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x;if($=0,e.f.a==0)for(C=new E(n);C.al&&(Ln(l,e.c.length),u(e.c[l],200)).a.c.length==0;)Qc(e,(Ln(l,e.c.length),e.c[l]));if(!h){--c;continue}if(zke(e,a,r,h,g,t,l,i)){d=!0;continue}if(g){if(Yye(e,a,r,h,t,l,i)){d=!0;continue}else if(rQ(a,r)){r.c=!0,d=!0;continue}}else if(rQ(a,r)){r.c=!0,d=!0;continue}if(d)continue}if(rQ(a,r)){r.c=!0,d=!0,h&&(h.k=!1);continue}else GT(r.q)}return d}function kL(n,e,t,i,r,c,o){var f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en,ln,wn,zn,Wn,se,Ye,oi;for(m=0,zn=0,l=new E(n.b);l.am&&(c&&(ua(U,p),ua(ln,Q(a.b-1)),W(n.d,v),f.c=F(Zn,rn,1,0,5,1)),Ye=t.b,oi+=p+e,p=0,d=j.Math.max(d,t.b+t.c+se)),f.c[f.c.length]=h,U$n(h,Ye,oi),d=j.Math.max(d,Ye+se+t.c),p=j.Math.max(p,g),Ye+=se+e,v=h;if(Yt(n.a,f),W(n.d,u(un(f,f.c.length-1),157)),d=j.Math.max(d,i),Wn=oi+p+t.a,Wn1&&(o=j.Math.min(o,j.Math.abs(u(qo(f.a,1),8).b-a.b)))));else for(m=new E(e.j);m.ar&&(c=g.a-r,o=nt,i.c=F(Zn,rn,1,0,5,1),r=g.a),g.a>=r&&(i.c[i.c.length]=f,f.a.b>1&&(o=j.Math.min(o,j.Math.abs(u(qo(f.a,f.a.b-2),8).b-g.b)))));if(i.c.length!=0&&c>e.o.a/2&&o>e.o.b/2){for(p=new wc,Hr(p,e),ui(p,(J(),Kn)),p.n.a=e.o.a/2,S=new wc,Hr(S,e),ui(S,ae),S.n.a=e.o.a/2,S.n.b=e.o.b,h=new E(i);h.a=l.b?Hi(f,S):Hi(f,p)):(l=u(efe(f.a),8),C=f.a.b==0?tf(f.c):u(gE(f.a),8),C.b>=l.b?Ei(f,S):Ei(f,p)),d=u(k(f,(nn(),Tr)),74),d&&db(d,l,!0);e.n.a=r-e.o.a/2}}function hTe(n,e,t){var i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en,ln,wn,zn,Wn,se,Ye,oi,gs,oo;if(zn=null,se=e,Wn=$An(n,PAn(t),se),Q5(Wn,$h(se,Uf)),Ye=u(xw(n.g,G2(Dh(se,PB))),33),g=Dh(se,"sourcePort"),i=null,g&&(i=G2(g)),oi=u(xw(n.j,i),118),!Ye)throw f=i4(se),v="An edge must have a source node (edge id: '"+f,m=v+K4,T(new Af(m));if(oi&&!$f(nf(oi),Ye))throw h=$h(se,Uf),C="The source port of an edge must be a port of the edge's source node (edge id: '"+h,S=C+K4,T(new Af(S));if(ln=(!Wn.b&&(Wn.b=new Fn(he,Wn,4,7)),Wn.b),c=null,oi?c=oi:c=Ye,me(ln,c),gs=u(xw(n.g,G2(Dh(se,_tn))),33),p=Dh(se,"targetPort"),r=null,p&&(r=G2(p)),oo=u(xw(n.j,r),118),!gs)throw d=i4(se),$="An edge must have a target node (edge id: '"+d,O=$+K4,T(new Af(O));if(oo&&!$f(nf(oo),gs))throw l=$h(se,Uf),x="The target port of an edge must be a port of the edge's target node (edge id: '"+l,_=x+K4,T(new Af(_));if(wn=(!Wn.c&&(Wn.c=new Fn(he,Wn,5,8)),Wn.c),o=null,oo?o=oo:o=gs,me(wn,o),(!Wn.b&&(Wn.b=new Fn(he,Wn,4,7)),Wn.b).i==0||(!Wn.c&&(Wn.c=new Fn(he,Wn,5,8)),Wn.c).i==0)throw a=$h(se,Uf),U=Tqn+a,en=U+K4,T(new Af(en));return YT(se,Wn),n9e(se,Wn),zn=oF(n,se,Wn),zn}function I_n(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en,ln,wn,zn;return d=dye(Wc(n,(J(),Ef)),e),v=Uw(Wc(n,Do),e),x=Uw(Wc(n,ds),e),ln=zT(Wc(n,to),e),g=zT(Wc(n,Fs),e),$=Uw(Wc(n,$o),e),m=Uw(Wc(n,Su),e),U=Uw(Wc(n,bs),e),_=Uw(Wc(n,xs),e),wn=zT(Wc(n,Gc),e),S=Uw(Wc(n,cu),e),O=Uw(Wc(n,Pu),e),en=Uw(Wc(n,ru),e),zn=zT(Wc(n,uu),e),p=zT(Wc(n,ku),e),C=Uw(Wc(n,Sc),e),t=Bw(A(M(ji,1),pr,25,15,[$.a,ln.a,U.a,zn.a])),i=Bw(A(M(ji,1),pr,25,15,[v.a,d.a,x.a,C.a])),r=S.a,c=Bw(A(M(ji,1),pr,25,15,[m.a,g.a,_.a,p.a])),l=Bw(A(M(ji,1),pr,25,15,[$.b,v.b,m.b,O.b])),h=Bw(A(M(ji,1),pr,25,15,[ln.b,d.b,g.b,C.b])),a=wn.b,f=Bw(A(M(ji,1),pr,25,15,[U.b,x.b,_.b,en.b])),a1(Wc(n,Ef),t+r,l+a),a1(Wc(n,Sc),t+r,l+a),a1(Wc(n,Do),t+r,0),a1(Wc(n,ds),t+r,l+a+h),a1(Wc(n,to),0,l+a),a1(Wc(n,Fs),t+r+i,l+a),a1(Wc(n,Su),t+r+i,0),a1(Wc(n,bs),0,l+a+h),a1(Wc(n,xs),t+r+i,l+a+h),a1(Wc(n,Gc),0,l),a1(Wc(n,cu),t,0),a1(Wc(n,ru),0,l+a+h),a1(Wc(n,ku),t+r+i,0),o=new Li,o.a=Bw(A(M(ji,1),pr,25,15,[t+i+r+c,wn.a,O.a,en.a])),o.b=Bw(A(M(ji,1),pr,25,15,[l+h+a+f,S.b,zn.b,p.b])),o}function lTe(n){var e,t,i,r,c,o,f,h,l,a,d,g,p,v,m,C;for(m=new X,g=new E(n.d.b);g.ar.d.d+r.d.a?a.f.d=!0:(a.f.d=!0,a.f.a=!0))),i.b!=i.d.c&&(e=t);a&&(c=u(te(n.f,o.d.i),57),e.bc.d.d+c.d.a?a.f.d=!0:(a.f.d=!0,a.f.a=!0))}for(f=new re(ue(xr(p).a.Kc(),new Mn));Se(f);)o=u(ve(f),17),o.a.b!=0&&(e=u(gE(o.a),8),o.d.j==(J(),Kn)&&(C=new P6(e,new fn(e.a,r.d.d),r,o),C.f.a=!0,C.a=o.d,m.c[m.c.length]=C),o.d.j==ae&&(C=new P6(e,new fn(e.a,r.d.d+r.d.a),r,o),C.f.d=!0,C.a=o.d,m.c[m.c.length]=C))}return m}function aTe(n,e,t){var i,r,c,o,f,h,l,a,d;if(le(t,"Network simplex node placement",1),n.e=e,n.n=u(k(e,(G(),Ig)),304),Pje(n),fve(n),Rt(qr(new $n(null,new xn(n.e.b,16)),new Fwn),new E6n(n)),Rt(gt(qr(gt(qr(new $n(null,new xn(n.e.b,16)),new Wwn),new Xwn),new Vwn),new Qwn),new j6n(n)),on(sn(k(n.e,(nn(),Dm))))&&(o=kc(t,1),le(o,"Straight Edges Pre-Processing",1),XEe(n),ce(o)),Gpe(n.f),c=u(k(e,xm),19).a*n.f.a.c.length,Yx(gG(pG(fD(n.f),c),!1),kc(t,1)),n.d.a.gc()!=0){for(o=kc(t,1),le(o,"Flexible Where Space Processing",1),f=u(yd(HE(Xc(new $n(null,new xn(n.f.a,16)),new xwn),new Swn)),19).a,h=u(yd(KE(Xc(new $n(null,new xn(n.f.a,16)),new Lwn),new Pwn)),19).a,l=h-f,a=kd(new ra,n.f),d=kd(new ra,n.f),jo(lo(ho(fo(ao(new Ns,2e4),l),a),d)),Rt(gt(gt(ID(n.i),new Nwn),new Bwn),new kTn(f,a,l,d)),r=n.d.a.ec().Kc();r.Ob();)i=u(r.Pb(),213),i.g=1;Yx(gG(pG(fD(n.f),c),!1),kc(o,1)),ce(o)}on(sn(k(e,Dm)))&&(o=kc(t,1),le(o,"Straight Edges Post-Processing",1),Z5e(n),ce(o)),DEe(n),n.e=null,n.f=null,n.i=null,n.c=null,Eu(n.k),n.j=null,n.a=null,n.o=null,n.d.a.$b(),ce(t)}function dTe(n,e,t){var i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_;for(f=new E(n.a.b);f.a0)if(i=d.gc(),l=Gt(j.Math.floor((i+1)/2))-1,r=Gt(j.Math.ceil((i+1)/2))-1,e.o==kf)for(a=r;a>=l;a--)e.a[x.p]==x&&(m=u(d.Xb(a),46),v=u(m.a,10),!Ah(t,m.b)&&p>n.b.e[v.p]&&(e.a[v.p]=x,e.g[x.p]=e.g[v.p],e.a[x.p]=e.g[x.p],e.f[e.g[x.p].p]=(qn(),!!(on(e.f[e.g[x.p].p])&x.k==(Qn(),gi))),p=n.b.e[v.p]));else for(a=l;a<=r;a++)e.a[x.p]==x&&(S=u(d.Xb(a),46),C=u(S.a,10),!Ah(t,S.b)&&p=v&&($>v&&(p.c=F(Zn,rn,1,0,5,1),v=$),p.c[p.c.length]=o);p.c.length!=0&&(g=u(un(p,_T(e,p.c.length)),128),Wn.a.Bc(g)!=null,g.s=m++,BY(g,wn,U),p.c=F(Zn,rn,1,0,5,1))}for(x=n.c.length+1,f=new E(n);f.azn.s&&(Uu(t),Qc(zn.i,i),i.c>0&&(i.a=zn,W(zn.t,i),i.b=en,W(en.i,i)))}function HZ(n){var e,t,i,r,c;switch(e=n.c,e){case 11:return n.Ml();case 12:return n.Ol();case 14:return n.Ql();case 15:return n.Tl();case 16:return n.Rl();case 17:return n.Ul();case 21:return Qe(n),Je(),Je(),k9;case 10:switch(n.a){case 65:return n.yl();case 90:return n.Dl();case 122:return n.Kl();case 98:return n.El();case 66:return n.zl();case 60:return n.Jl();case 62:return n.Hl()}}switch(c=oTe(n),e=n.c,e){case 3:return n.Zl(c);case 4:return n.Xl(c);case 5:return n.Yl(c);case 0:if(n.a==123&&n.d=48&&e<=57){for(i=e-48;r=48&&e<=57;)if(i=i*10+e-48,i<0)throw T(new Ce(Pe((je(),Utn))))}else throw T(new Ce(Pe((je(),Zqn))));if(t=i,e==44){if(r>=n.j)throw T(new Ce(Pe((je(),eGn))));if((e=Di(n.i,r++))>=48&&e<=57){for(t=e-48;r=48&&e<=57;)if(t=t*10+e-48,t<0)throw T(new Ce(Pe((je(),Utn))));if(i>t)throw T(new Ce(Pe((je(),tGn))))}else t=-1}if(e!=125)throw T(new Ce(Pe((je(),nGn))));n.sl(r)?(c=(Je(),Je(),new ib(9,c)),n.d=r+1):(c=(Je(),Je(),new ib(3,c)),n.d=r),c.dm(i),c.cm(t),Qe(n)}}return c}function O_n(n,e,t,i,r){var c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en,ln,wn,zn,Wn;for(m=new Pc(e.b),x=new Pc(e.b),g=new Pc(e.b),ln=new Pc(e.b),C=new Pc(e.b),en=_e(e,0);en.b!=en.d.c;)for(_=u(Re(en),11),f=new E(_.g);f.a0,S=_.g.c.length>0,l&&S?g.c[g.c.length]=_:l?m.c[m.c.length]=_:S&&(x.c[x.c.length]=_);for(v=new E(m);v.a1)for(v=new b2((!n.a&&(n.a=new V(Tt,n,6,6)),n.a));v.e!=v.i.gc();)p6(v);for(o=u(D((!n.a&&(n.a=new V(Tt,n,6,6)),n.a),0),202),C=Ye,Ye>_+x?C=_+x:Ye<_-x&&(C=_-x),S=oi,oi>U+m?S=U+m:oi_-x&&C<_+x&&S>U-m&&SYe+se?ln=Ye+se:_oi+en?wn=oi+en:UYe-se&&lnoi-en&&wnt&&(g=t-1),p=Ky+Fu(e,24)*uk*d-d/2,p<0?p=1:p>i&&(p=i-1),r=(ad(),h=new Xy,h),UC(r,g),WC(r,p),me((!o.a&&(o.a=new Jt(io,o,5)),o.a),r)}function nn(){nn=N,q_=(Xe(),QZn),Isn=JZn,Zk=yhn,Mo=YZn,jp=jhn,C0=ZZn,nw=Ehn,wv=Chn,gv=Thn,G_=KP,T0=ed,z_=nne,Fm=Shn,rP=Ap,Yk=(zZ(),WVn),Dg=XVn,Qa=VVn,$g=QVn,$Qn=new tr(_P,Q(0)),bv=GVn,Psn=zVn,yp=UVn,Bsn=vQn,Osn=ZVn,Dsn=tQn,W_=fQn,$sn=cQn,Fsn=sQn,cP=jQn,X_=mQn,Lsn=bQn,xsn=aQn,Nsn=gQn,j0=BVn,$m=RVn,B_=tVn,ssn=rVn,Csn=new vd(12),Esn=new tr(nd,Csn),rsn=(Hh(),Cv),Qh=new tr(Jfn,rsn),Jb=new tr(Bu,0),FQn=new tr(tH,Q(1)),zS=new tr(Tp,$4),Va=RP,Lt=n9,dv=Hg,MQn=py,Qf=KZn,Vb=Bg,xQn=new tr(iH,(qn(),!0)),Qb=vy,Wa=VK,Xa=Za,iP=_l,H_=BP,isn=(sr(),mh),ls=new tr(A0,isn),y0=_g,eP=uhn,Yb=rw,DQn=eH,Asn=mhn,Msn=(qw(),Cy),new tr(bhn,Msn),PQn=JK,IQn=YK,OQn=ZK,SQn=QK,U_=YVn,vsn=MVn,__=TVn,xm=JVn,qc=vVn,Xb=XXn,Om=WXn,Wb=FXn,nsn=xXn,F_=RXn,Jk=LXn,x_=zXn,msn=AVn,ksn=SVn,dsn=aVn,tP=HVn,K_=OVn,R_=sVn,jsn=LVn,usn=nVn,N_=eVn,$_=LP,ysn=PVn,WS=AXn,Jun=MXn,US=TXn,hsn=hVn,fsn=fVn,lsn=lVn,lv=Kg,Tr=Rg,S1=Zfn,Jf=XK,L_=WK,esn=KXn,P1=nH,Im=GZn,YS=zZn,E0=ghn,Tsn=UZn,av=WZn,wsn=kVn,gsn=jVn,Zb=Mp,O_=CXn,psn=CVn,JS=JXn,QS=QXn,nP=my,bsn=wVn,Dm=$Vn,ny=Mhn,tsn=VXn,Ssn=qVn,csn=YXn,AQn=pVn,TQn=qXn,asn=ihn,ZS=mVn,VS=GXn,Ll=$Xn,Zun=OXn,XS=PXn,Yun=IXn,D_=DXn,kp=SXn,osn=oVn}function jL(n,e){oL();var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en,ln,wn,zn,Wn,se,Ye;if(ln=n.e,v=n.d,r=n.a,ln==0)switch(e){case 0:return"0";case 1:return S4;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return U=new V1,e<0?U.a+="0E+":U.a+="0E",U.a+=-e,U.a}if(O=v*10+1+7,x=F(Ls,Bf,25,O+1,15,1),t=O,v==1)if(f=r[0],f<0){Ye=ci(f,fr);do m=Ye,Ye=M7(Ye,10),x[--t]=48+ge(vl(m,Ni(Ye,10)))&Ut;while(fc(Ye,0)!=0)}else{Ye=f;do m=Ye,Ye=Ye/10|0,x[--t]=48+(m-Ye*10)&Ut;while(Ye!=0)}else{zn=F(be,Le,25,v,15,1),se=v,gc(r,0,zn,0,se);n:for(;;){for(en=0,l=se-1;l>=0;l--)Wn=qi(Ih(en,32),ci(zn[l],fr)),S=Cve(Wn),zn[l]=ge(S),en=ge(cl(S,32));$=ge(en),C=t;do x[--t]=48+$%10&Ut;while(($=$/10|0)!=0&&t!=0);for(i=9-C+t,h=0;h0;h++)x[--t]=48;for(d=se-1;zn[d]==0;d--)if(d==0)break n;se=d+1}for(;x[t]==48;)++t}if(p=ln<0,o=O-t-e-1,e==0)return p&&(x[--t]=45),Hs(x,t,O-t);if(e>0&&o>=-6){if(o>=0){for(a=t+o,g=O-1;g>=a;g--)x[g+1]=x[g];return x[++a]=46,p&&(x[--t]=45),Hs(x,t,O-t+1)}for(d=2;d<-o+1;d++)x[--t]=48;return x[--t]=46,x[--t]=48,p&&(x[--t]=45),Hs(x,t,O-t)}return wn=t+1,c=O,_=new R0,p&&(_.a+="-"),c-wn>=1?(sl(_,x[t]),_.a+=".",_.a+=Hs(x,t+1,O-t-1)):_.a+=Hs(x,t,O-t),_.a+="E",o>0&&(_.a+="+"),_.a+=""+o,_.a}function F_n(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U;switch(n.c=e,n.g=new we,t=(K0(),new N0(n.c)),i=new tj(t),TQ(i),O=Te(hn(n.c,(S7(),kfn))),h=u(hn(n.c,BK),316),_=u(hn(n.c,RK),429),o=u(hn(n.c,pfn),482),x=u(hn(n.c,NK),430),n.j=K(Y(hn(n.c,lZn))),f=n.a,h.g){case 0:f=n.a;break;case 1:f=n.b;break;case 2:f=n.i;break;case 3:f=n.e;break;case 4:f=n.f;break;default:throw T(new Hn(bA+(h.f!=null?h.f:""+h.g)))}if(n.d=new rMn(f,_,o),H(n.d,(_3(),pm),sn(hn(n.c,fZn))),n.d.c=on(sn(hn(n.c,vfn))),iC(n.c).i==0)return n.d;for(d=new ie(iC(n.c));d.e!=d.i.gc();){for(a=u(oe(d),33),p=a.g/2,g=a.f/2,U=new fn(a.i+p,a.j+g);zu(n.g,U);)U0(U,(j.Math.random()-.5)*Kf,(j.Math.random()-.5)*Kf);m=u(hn(a,(Xe(),my)),142),C=new yMn(U,new ys(U.a-p-n.j/2-m.b,U.b-g-n.j/2-m.d,a.g+n.j+(m.b+m.c),a.f+n.j+(m.d+m.a))),W(n.d.i,C),it(n.g,U,new Pi(C,a))}switch(x.g){case 0:if(O==null)n.d.d=u(un(n.d.i,0),65);else for($=new E(n.d.i);$.a<$.c.c.length;)C=u(y($),65),v=u(u(te(n.g,C.a),46).b,33).zg(),v!=null&&An(v,O)&&(n.d.d=C);break;case 1:for(r=new fn(n.c.g,n.c.f),r.a*=.5,r.b*=.5,U0(r,n.c.i,n.c.j),c=Ft,S=new E(n.d.i);S.a1&&Kt(a,S,a.c.b,a.c),HC(r)));S=$}return a}function kTe(n,e,t){var i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en,ln,wn,zn,Wn,se,Ye,oi,gs,oo,Mf;for(le(t,"Greedy cycle removal",1),O=e.a,Mf=O.c.length,n.a=F(be,Le,25,Mf,15,1),n.c=F(be,Le,25,Mf,15,1),n.b=F(be,Le,25,Mf,15,1),l=0,S=new E(O);S.a0?se+1:1);for(o=new E(U.g);o.a0?se+1:1)}n.c[l]==0?Ke(n.e,m):n.a[l]==0&&Ke(n.f,m),++l}for(v=-1,p=1,d=new X,n.d=u(k(e,(G(),vp)),230);Mf>0;){for(;n.e.b!=0;)oi=u(aD(n.e),10),n.b[oi.p]=v--,lZ(n,oi),--Mf;for(;n.f.b!=0;)gs=u(aD(n.f),10),n.b[gs.p]=p++,lZ(n,gs),--Mf;if(Mf>0){for(g=Bi,$=new E(O);$.a<$.c.c.length;)m=u(y($),10),n.b[m.p]==0&&(x=n.c[m.p]-n.a[m.p],x>=g&&(x>g&&(d.c=F(Zn,rn,1,0,5,1),g=x),d.c[d.c.length]=m));a=n.Zf(d),n.b[a.p]=p++,lZ(n,a),--Mf}}for(Ye=O.c.length+1,l=0;ln.b[oo]&&(e0(i,!0),H(e,Uk,(qn(),!0)));n.a=null,n.c=null,n.b=null,_s(n.f),_s(n.e),ce(t)}function L_n(n,e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S;for(i=new X,f=new X,C=e/2,p=n.gc(),r=u(n.Xb(0),8),S=u(n.Xb(1),8),v=Lx(r.a,r.b,S.a,S.b,C),W(i,(Ln(0,v.c.length),u(v.c[0],8))),W(f,(Ln(1,v.c.length),u(v.c[1],8))),l=2;l=0;h--)Ke(t,(Ln(h,o.c.length),u(o.c[h],8)));return t}function yTe(n){var e,t,i,r,c,o,f,h,l,a,d,g,p;if(o=!0,d=null,i=null,r=null,e=!1,p=Hne,l=null,c=null,f=0,h=HF(n,f,a1n,d1n),h=0&&An(n.substr(f,2),"//")?(f+=2,h=HF(n,f,a9,d9),i=n.substr(f,h-f),f=h):d!=null&&(f==n.length||(Me(f,n.length),n.charCodeAt(f)!=47))&&(o=!1,h=qz(n,tu(35),f),h==-1&&(h=n.length),i=n.substr(f,h-f),f=h);if(!t&&f0&&Di(a,a.length-1)==58&&(r=a,f=h)),f=n.j){n.a=-1,n.c=1;return}if(e=Di(n.i,n.d++),n.a=e,n.b==1){switch(e){case 92:if(i=10,n.d>=n.j)throw T(new Ce(Pe((je(),yA))));n.a=Di(n.i,n.d++);break;case 45:(n.e&512)==512&&n.d=n.j||Di(n.i,n.d)!=63)break;if(++n.d>=n.j)throw T(new Ce(Pe((je(),_B))));switch(e=Di(n.i,n.d++),e){case 58:i=13;break;case 61:i=14;break;case 33:i=15;break;case 91:i=19;break;case 62:i=18;break;case 60:if(n.d>=n.j)throw T(new Ce(Pe((je(),_B))));if(e=Di(n.i,n.d++),e==61)i=16;else if(e==33)i=17;else throw T(new Ce(Pe((je(),xqn))));break;case 35:for(;n.d=n.j)throw T(new Ce(Pe((je(),yA))));n.a=Di(n.i,n.d++);break;default:i=0}n.c=i}function ETe(n){var e,t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en,ln,wn,zn,Wn,se;if(en=u(k(n,(nn(),Lt)),98),en!=(Ti(),jf)&&en!=ql){for(v=n.b,p=v.c.length,a=new Pc((is(p+2,AL),KC(qi(qi(5,p+2),(p+2)/10|0)))),m=new Pc((is(p+2,AL),KC(qi(qi(5,p+2),(p+2)/10|0)))),W(a,new we),W(a,new we),W(m,new X),W(m,new X),U=new X,e=0;e=_||!G2e(S,i))&&(i=OMn(e,a)),yr(S,i),c=new re(ue(xr(S).a.Kc(),new Mn));Se(c);)r=u(ve(c),17),!n.a[r.p]&&(m=r.c.i,--n.e[m.p],n.e[m.p]==0&&M3(f4(p,m)));for(l=a.c.length-1;l>=0;--l)W(e.b,(Ln(l,a.c.length),u(a.c[l],29)));e.a.c=F(Zn,rn,1,0,5,1),ce(t)}function N_n(n){var e,t,i,r,c,o,f,h,l;for(n.b=1,Qe(n),e=null,n.c==0&&n.a==94?(Qe(n),e=(Je(),Je(),new ns(4)),yc(e,0,q4),f=new ns(4)):f=(Je(),Je(),new ns(4)),r=!0;(l=n.c)!=1;){if(l==0&&n.a==93&&!r){e&&(F6(e,f),f=e);break}if(t=n.a,i=!1,l==10)switch(t){case 100:case 68:case 119:case 87:case 115:case 83:Ab(f,v4(t)),i=!0;break;case 105:case 73:case 99:case 67:t=(Ab(f,v4(t)),-1),t<0&&(i=!0);break;case 112:case 80:if(h=mY(n,t),!h)throw T(new Ce(Pe((je(),KB))));Ab(f,h),i=!0;break;default:t=ZY(n)}else if(l==24&&!r){if(e&&(F6(e,f),f=e),c=N_n(n),F6(f,c),n.c!=0||n.a!=93)throw T(new Ce(Pe((je(),zqn))));break}if(Qe(n),!i){if(l==0){if(t==91)throw T(new Ce(Pe((je(),Gtn))));if(t==93)throw T(new Ce(Pe((je(),ztn))));if(t==45&&!r&&n.a!=93)throw T(new Ce(Pe((je(),HB))))}if(n.c!=0||n.a!=45||t==45&&r)yc(f,t,t);else{if(Qe(n),(l=n.c)==1)throw T(new Ce(Pe((je(),jA))));if(l==0&&n.a==93)yc(f,t,t),yc(f,45,45);else{if(l==0&&n.a==93||l==24)throw T(new Ce(Pe((je(),HB))));if(o=n.a,l==0){if(o==91)throw T(new Ce(Pe((je(),Gtn))));if(o==93)throw T(new Ce(Pe((je(),ztn))));if(o==45)throw T(new Ce(Pe((je(),HB))))}else l==10&&(o=ZY(n));if(Qe(n),t>o)throw T(new Ce(Pe((je(),Xqn))));yc(f,t,o)}}}r=!1}if(n.c==1)throw T(new Ce(Pe((je(),jA))));return Jw(f),D6(f),n.b=0,Qe(n),f}function TTe(n){ke(n.c,xe,A(M(tn,1),q,2,6,[Ri,"http://www.w3.org/2001/XMLSchema#decimal"])),ke(n.d,xe,A(M(tn,1),q,2,6,[Ri,"http://www.w3.org/2001/XMLSchema#integer"])),ke(n.e,xe,A(M(tn,1),q,2,6,[Ri,"http://www.w3.org/2001/XMLSchema#boolean"])),ke(n.f,xe,A(M(tn,1),q,2,6,[Ri,"EBoolean",We,"EBoolean:Object"])),ke(n.i,xe,A(M(tn,1),q,2,6,[Ri,"http://www.w3.org/2001/XMLSchema#byte"])),ke(n.g,xe,A(M(tn,1),q,2,6,[Ri,"http://www.w3.org/2001/XMLSchema#hexBinary"])),ke(n.j,xe,A(M(tn,1),q,2,6,[Ri,"EByte",We,"EByte:Object"])),ke(n.n,xe,A(M(tn,1),q,2,6,[Ri,"EChar",We,"EChar:Object"])),ke(n.t,xe,A(M(tn,1),q,2,6,[Ri,"http://www.w3.org/2001/XMLSchema#double"])),ke(n.u,xe,A(M(tn,1),q,2,6,[Ri,"EDouble",We,"EDouble:Object"])),ke(n.F,xe,A(M(tn,1),q,2,6,[Ri,"http://www.w3.org/2001/XMLSchema#float"])),ke(n.G,xe,A(M(tn,1),q,2,6,[Ri,"EFloat",We,"EFloat:Object"])),ke(n.I,xe,A(M(tn,1),q,2,6,[Ri,"http://www.w3.org/2001/XMLSchema#int"])),ke(n.J,xe,A(M(tn,1),q,2,6,[Ri,"EInt",We,"EInt:Object"])),ke(n.N,xe,A(M(tn,1),q,2,6,[Ri,"http://www.w3.org/2001/XMLSchema#long"])),ke(n.O,xe,A(M(tn,1),q,2,6,[Ri,"ELong",We,"ELong:Object"])),ke(n.Z,xe,A(M(tn,1),q,2,6,[Ri,"http://www.w3.org/2001/XMLSchema#short"])),ke(n.$,xe,A(M(tn,1),q,2,6,[Ri,"EShort",We,"EShort:Object"])),ke(n._,xe,A(M(tn,1),q,2,6,[Ri,"http://www.w3.org/2001/XMLSchema#string"]))}function MTe(n){var e,t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en,ln,wn,zn,Wn,se;if(n.c.length==1)return Ln(0,n.c.length),u(n.c[0],135);if(n.c.length<=0)return new AC;for(h=new E(n);h.ad&&(Wn=0,se+=a+en,a=0),L9e(_,o,Wn,se),e=j.Math.max(e,Wn+U.a),a=j.Math.max(a,U.b),Wn+=U.a+en;for(x=new we,t=new we,wn=new E(n);wn.aNx(c))&&(d=c);for(!d&&(d=(Ln(0,C.c.length),u(C.c[0],180))),m=new E(e.b);m.a=-1900?1:0,t>=4?De(n,A(M(tn,1),q,2,6,[nKn,eKn])[f]):De(n,A(M(tn,1),q,2,6,["BC","AD"])[f]);break;case 121:kpe(n,t,i);break;case 77:Cke(n,t,i);break;case 107:h=r.q.getHours(),h==0?sh(n,24,t):sh(n,h,t);break;case 83:z9e(n,t,r);break;case 69:a=i.q.getDay(),t==5?De(n,A(M(tn,1),q,2,6,["S","M","T","W","T","F","S"])[a]):t==4?De(n,A(M(tn,1),q,2,6,[KL,HL,qL,GL,zL,UL,WL])[a]):De(n,A(M(tn,1),q,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[a]);break;case 97:r.q.getHours()>=12&&r.q.getHours()<24?De(n,A(M(tn,1),q,2,6,["AM","PM"])[1]):De(n,A(M(tn,1),q,2,6,["AM","PM"])[0]);break;case 104:d=r.q.getHours()%12,d==0?sh(n,12,t):sh(n,d,t);break;case 75:g=r.q.getHours()%12,sh(n,g,t);break;case 72:p=r.q.getHours(),sh(n,p,t);break;case 99:v=i.q.getDay(),t==5?De(n,A(M(tn,1),q,2,6,["S","M","T","W","T","F","S"])[v]):t==4?De(n,A(M(tn,1),q,2,6,[KL,HL,qL,GL,zL,UL,WL])[v]):t==3?De(n,A(M(tn,1),q,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[v]):sh(n,v,1);break;case 76:m=i.q.getMonth(),t==5?De(n,A(M(tn,1),q,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[m]):t==4?De(n,A(M(tn,1),q,2,6,[IL,OL,DL,$L,V2,FL,xL,LL,NL,BL,RL,_L])[m]):t==3?De(n,A(M(tn,1),q,2,6,["Jan","Feb","Mar","Apr",V2,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[m]):sh(n,m+1,t);break;case 81:C=i.q.getMonth()/3|0,t<4?De(n,A(M(tn,1),q,2,6,["Q1","Q2","Q3","Q4"])[C]):De(n,A(M(tn,1),q,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[C]);break;case 100:S=i.q.getDate(),sh(n,S,t);break;case 109:l=r.q.getMinutes(),sh(n,l,t);break;case 115:o=r.q.getSeconds(),sh(n,o,t);break;case 122:t<4?De(n,c.c[0]):De(n,c.c[1]);break;case 118:De(n,c.b);break;case 90:t<3?De(n,F6e(c)):t==3?De(n,N6e(c)):De(n,B6e(c.a));break;default:return!1}return!0}function GZ(n,e,t,i){var r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en,ln,wn,zn,Wn,se,Ye;if(CBn(e),h=u(D((!e.b&&(e.b=new Fn(he,e,4,7)),e.b),0),82),a=u(D((!e.c&&(e.c=new Fn(he,e,5,8)),e.c),0),82),f=Pr(h),l=Pr(a),o=(!e.a&&(e.a=new V(Tt,e,6,6)),e.a).i==0?null:u(D((!e.a&&(e.a=new V(Tt,e,6,6)),e.a),0),202),en=u(te(n.a,f),10),Wn=u(te(n.a,l),10),ln=null,se=null,I(h,186)&&(U=u(te(n.a,h),299),I(U,11)?ln=u(U,11):I(U,10)&&(en=u(U,10),ln=u(un(en.j,0),11))),I(a,186)&&(zn=u(te(n.a,a),299),I(zn,11)?se=u(zn,11):I(zn,10)&&(Wn=u(zn,10),se=u(un(Wn.j,0),11))),!en||!Wn)throw T(new Gv("The source or the target of edge "+e+" could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN."));for(m=new Pd,Sr(m,e),H(m,(G(),rt),e),H(m,(nn(),Tr),null),p=u(k(i,Mc),21),en==Wn&&p.Fc((or(),Mm)),ln||(_=(ur(),xc),wn=null,o&&Cw(u(k(en,Lt),98))&&(wn=new fn(o.j,o.k),FAn(wn,S8(e)),hSn(wn,t),ob(l,f)&&(_=Au,ot(wn,en.n))),ln=jRn(en,wn,_,i)),se||(_=(ur(),Au),Ye=null,o&&Cw(u(k(Wn,Lt),98))&&(Ye=new fn(o.b,o.c),FAn(Ye,S8(e)),hSn(Ye,t)),se=jRn(Wn,Ye,_,Gi(Wn))),Hi(m,ln),Ei(m,se),(ln.e.c.length>1||ln.g.c.length>1||se.e.c.length>1||se.g.c.length>1)&&p.Fc((or(),Tm)),g=new ie((!e.n&&(e.n=new V(Br,e,1,7)),e.n));g.e!=g.i.gc();)if(d=u(oe(g),137),!on(sn(hn(d,Va)))&&d.a)switch(C=EF(d),W(m.b,C),u(k(C,Jf),272).g){case 1:case 2:p.Fc((or(),sv));break;case 0:p.Fc((or(),uv)),H(C,Jf,(sf(),jv))}if(c=u(k(i,Om),314),S=u(k(i,tP),315),r=c==(F2(),qk)||S==(b6(),nK),o&&(!o.a&&(o.a=new Jt(io,o,5)),o.a).i!=0&&r){for($=I7(o),v=new hu,x=_e($,0);x.b!=x.d.c;)O=u(Re(x),8),Ke(v,new mr(O));H(m,gun,v)}return m}function ITe(n){n.gb||(n.gb=!0,n.b=Yr(n,0),St(n.b,18),bt(n.b,19),n.a=Yr(n,1),St(n.a,1),bt(n.a,2),bt(n.a,3),bt(n.a,4),bt(n.a,5),n.o=Yr(n,2),St(n.o,8),St(n.o,9),bt(n.o,10),bt(n.o,11),bt(n.o,12),bt(n.o,13),bt(n.o,14),bt(n.o,15),bt(n.o,16),bt(n.o,17),bt(n.o,18),bt(n.o,19),bt(n.o,20),bt(n.o,21),bt(n.o,22),bt(n.o,23),Er(n.o),Er(n.o),Er(n.o),Er(n.o),Er(n.o),Er(n.o),Er(n.o),Er(n.o),Er(n.o),Er(n.o),n.p=Yr(n,3),St(n.p,2),St(n.p,3),St(n.p,4),St(n.p,5),bt(n.p,6),bt(n.p,7),Er(n.p),Er(n.p),n.q=Yr(n,4),St(n.q,8),n.v=Yr(n,5),bt(n.v,9),Er(n.v),Er(n.v),Er(n.v),n.w=Yr(n,6),St(n.w,2),St(n.w,3),St(n.w,4),bt(n.w,5),n.B=Yr(n,7),bt(n.B,1),Er(n.B),Er(n.B),Er(n.B),n.Q=Yr(n,8),bt(n.Q,0),Er(n.Q),n.R=Yr(n,9),St(n.R,1),n.S=Yr(n,10),Er(n.S),Er(n.S),Er(n.S),Er(n.S),Er(n.S),Er(n.S),Er(n.S),Er(n.S),Er(n.S),Er(n.S),Er(n.S),Er(n.S),Er(n.S),Er(n.S),Er(n.S),n.T=Yr(n,11),bt(n.T,10),bt(n.T,11),bt(n.T,12),bt(n.T,13),bt(n.T,14),Er(n.T),Er(n.T),n.U=Yr(n,12),St(n.U,2),St(n.U,3),bt(n.U,4),bt(n.U,5),bt(n.U,6),bt(n.U,7),Er(n.U),n.V=Yr(n,13),bt(n.V,10),n.W=Yr(n,14),St(n.W,18),St(n.W,19),St(n.W,20),bt(n.W,21),bt(n.W,22),bt(n.W,23),n.bb=Yr(n,15),St(n.bb,10),St(n.bb,11),St(n.bb,12),St(n.bb,13),St(n.bb,14),St(n.bb,15),St(n.bb,16),bt(n.bb,17),Er(n.bb),Er(n.bb),n.eb=Yr(n,16),St(n.eb,2),St(n.eb,3),St(n.eb,4),St(n.eb,5),St(n.eb,6),St(n.eb,7),bt(n.eb,8),bt(n.eb,9),n.ab=Yr(n,17),St(n.ab,0),St(n.ab,1),n.H=Yr(n,18),bt(n.H,0),bt(n.H,1),bt(n.H,2),bt(n.H,3),bt(n.H,4),bt(n.H,5),Er(n.H),n.db=Yr(n,19),bt(n.db,2),n.c=Ue(n,20),n.d=Ue(n,21),n.e=Ue(n,22),n.f=Ue(n,23),n.i=Ue(n,24),n.g=Ue(n,25),n.j=Ue(n,26),n.k=Ue(n,27),n.n=Ue(n,28),n.r=Ue(n,29),n.s=Ue(n,30),n.t=Ue(n,31),n.u=Ue(n,32),n.fb=Ue(n,33),n.A=Ue(n,34),n.C=Ue(n,35),n.D=Ue(n,36),n.F=Ue(n,37),n.G=Ue(n,38),n.I=Ue(n,39),n.J=Ue(n,40),n.L=Ue(n,41),n.M=Ue(n,42),n.N=Ue(n,43),n.O=Ue(n,44),n.P=Ue(n,45),n.X=Ue(n,46),n.Y=Ue(n,47),n.Z=Ue(n,48),n.$=Ue(n,49),n._=Ue(n,50),n.cb=Ue(n,51),n.K=Ue(n,52))}function Xe(){Xe=N;var n,e;Zm=new kt(GHn),yv=new kt(zHn),Ufn=(oh(),HK),KZn=new In(Oen,Ufn),Tp=new In(ep,null),HZn=new kt(Ttn),Xfn=(vb(),pt(zK,A(M(UK,1),z,291,0,[GK]))),LP=new In(sA,Xfn),py=new In(mk,(qn(),!1)),Vfn=(sr(),mh),A0=new In(Fen,Vfn),Yfn=(Hh(),rH),Jfn=new In(pk,Yfn),ehn=new In(dA,!1),thn=(_h(),HP),Bg=new In(uA,thn),ahn=new vd(12),nd=new In(u0,ahn),NP=new In(lk,!1),ihn=new In(cB,!1),ky=new In(G6,!1),phn=(Ti(),ql),n9=new In(CN,phn),Mp=new kt(oA),_P=new kt(hk),tH=new kt(HM),iH=new kt(q6),rhn=new hu,Rg=new In(qen,rhn),GZn=new In(Uen,!1),zZn=new In(Wen,!1),chn=new Bv,my=new In(Ven,chn),RP=new In(Pen,!1),VZn=new In(UHn,1),new In(WHn,!0),Q(0),new In(XHn,Q(100)),new In(VHn,!1),Q(0),new In(QHn,Q(4e3)),Q(0),new In(JHn,Q(400)),new In(YHn,!1),new In(ZHn,!1),new In(nqn,!0),new In(eqn,!1),Wfn=(AT(),oH),qZn=new In(Ctn,Wfn),QZn=new In(pen,10),JZn=new In(ven,10),yhn=new In(vN,20),YZn=new In(men,10),jhn=new In(EN,2),ZZn=new In(ken,10),Ehn=new In(yen,0),KP=new In(Cen,5),Chn=new In(jen,1),Thn=new In(Een,1),ed=new In(Db,20),nne=new In(Ten,10),Shn=new In(Men,10),Ap=new kt(Aen),Ahn=new uyn,Mhn=new In(Qen,Ahn),WZn=new kt(rB),dhn=!1,UZn=new In(iB,dhn),shn=new vd(5),uhn=new In(xen,shn),ohn=(jb(),e=u(xo(lr),9),new ks(e,u(bo(e,e.length),9),0)),_g=new In(F4,ohn),whn=(qw(),Hl),bhn=new In(Ben,whn),JK=new kt(Ren),YK=new kt(_en),ZK=new kt(Ken),QK=new kt(Hen),fhn=(n=u(xo(o9),9),new ks(n,u(bo(n,n.length),9),0)),Za=new In(hg,fhn),lhn=Cn((xu(),Mv)),_l=new In(tp,lhn),hhn=new fn(0,0),Kg=new In(ip,hhn),BP=new In(tB,!1),Qfn=(sf(),jv),XK=new In(Gen,Qfn),WK=new In(qM,!1),Q(1),new In(tqn,null),ghn=new kt(Xen),nH=new kt(zen),khn=(J(),Xr),Hg=new In(Ien,khn),Bu=new kt(Sen),vhn=(Tu(),Cn(Gl)),rw=new In(x4,vhn),eH=new In(Len,!1),mhn=new In(Nen,!0),vy=new In(Den,!1),VK=new In($en,!1),Zfn=new In(mN,1),nhn=(ZT(),uH),new In(iqn,nhn),XZn=!0}function G(){G=N;var n,e;rt=new kt(Ann),aun=new kt("coordinateOrigin"),S_=new kt("processors"),lun=new ii("compoundNode",(qn(),!1)),Wk=new ii("insideConnections",!1),gun=new kt("originalBendpoints"),pun=new kt("originalDummyNodePosition"),vun=new kt("originalLabelEdge"),Vk=new kt("representedLabels"),Am=new kt("endLabels"),wp=new kt("endLabel.origin"),pp=new ii("labelSide",(cs(),Ey)),Sg=new ii("maxEdgeThickness",0),mf=new ii("reversed",!1),vp=new kt(RKn),Xo=new ii("longEdgeSource",null),Ys=new ii("longEdgeTarget",null),zb=new ii("longEdgeHasLabelDummies",!1),Xk=new ii("longEdgeBeforeLabelDummy",!1),HS=new ii("edgeConstraint",(ya(),l_)),m0=new kt("inLayerLayoutUnit"),za=new ii("inLayerConstraint",(Nh(),zk)),gp=new ii("inLayerSuccessorConstraint",new X),wun=new ii("inLayerSuccessorConstraintBetweenNonDummies",!1),Mu=new kt("portDummy"),KS=new ii("crossingHint",Q(0)),Mc=new ii("graphProperties",(e=u(xo(v_),9),new ks(e,u(bo(e,e.length),9),0))),ec=new ii("externalPortSide",(J(),Xr)),bun=new ii("externalPortSize",new Li),E_=new kt("externalPortReplacedDummies"),qS=new kt("externalPortReplacedDummy"),Gb=new ii("externalPortConnections",(n=u(xo(Zi),9),new ks(n,u(bo(n,n.length),9),0))),k0=new ii(OKn,0),hun=new kt("barycenterAssociates"),mp=new kt("TopSideComments"),bp=new kt("BottomSideComments"),_S=new kt("CommentConnectionPort"),T_=new ii("inputCollect",!1),A_=new ii("outputCollect",!1),Uk=new ii("cyclic",!1),dun=new kt("crossHierarchyMap"),I_=new kt("targetOffset"),new ii("splineLabelSize",new Li),Ig=new kt("spacings"),GS=new ii("partitionConstraint",!1),p0=new kt("breakingPoint.info"),yun=new kt("splines.survivingEdge"),Ua=new kt("splines.route.start"),Og=new kt("splines.edgeChain"),kun=new kt("originalPortConstraints"),fv=new kt("selfLoopHolder"),hv=new kt("splines.nsPortY"),dc=new kt("modelOrder"),M_=new kt("longEdgeTargetNode"),v0=new ii(aHn,!1),Pg=new ii(aHn,!1),C_=new kt("layerConstraints.hiddenNodes"),mun=new kt("layerConstraints.opposidePort"),P_=new kt("targetNode.modelOrder")}function zZ(){zZ=N,Dun=(V8(),$S),VXn=new In(xnn,Dun),sVn=new In(Lnn,(qn(),!1)),Bun=(kC(),j_),aVn=new In(WM,Bun),AVn=new In(Nnn,!1),SVn=new In(Bnn,!0),CXn=new In(Rnn,!1),Uun=(z8(),iK),qVn=new In(_nn,Uun),Q(1),JVn=new In(Knn,Q(7)),YVn=new In(Hnn,!1),oVn=new In(qnn,!1),Oun=(Pa(),f_),XXn=new In(IN,Oun),Kun=(JT(),Q_),MVn=new In(wk,Kun),Run=(Ss(),Qk),vVn=new In(Gnn,Run),Q(-1),pVn=new In(znn,Q(-1)),Q(-1),mVn=new In(Unn,Q(-1)),Q(-1),kVn=new In(ON,Q(4)),Q(-1),jVn=new In(DN,Q(2)),_un=(Zw(),hP),TVn=new In($N,_un),Q(0),CVn=new In(FN,Q(0)),wVn=new In(xN,Q(nt)),Iun=(F2(),ap),WXn=new In(X6,Iun),FXn=new In(Wnn,!1),KXn=new In(LN,.1),zXn=new In(NN,!1),Q(-1),qXn=new In(Xnn,Q(-1)),Q(-1),GXn=new In(Vnn,Q(-1)),Q(0),xXn=new In(Qnn,Q(40)),Pun=(q3(),k_),RXn=new In(BN,Pun),Sun=Gk,LXn=new In(XM,Sun),zun=(b6(),Lm),HVn=new In(lg,zun),$Vn=new kt(VM),Hun=(K8(),xS),PVn=new In(RN,Hun),qun=(A7(),LS),OVn=new In(_N,qun),LVn=new In(KN,.3),BVn=new kt(HN),Gun=(wb(),fP),RVn=new In(qN,Gun),xun=(oT(),cK),nVn=new In(Jnn,xun),Lun=(x8(),uK),eVn=new In(Ynn,Lun),Nun=(Q3(),Rm),tVn=new In(QM,Nun),rVn=new In(JM,.2),YXn=new In(GN,2),WVn=new In(Znn,null),VVn=new In(nen,10),XVn=new In(een,10),QVn=new In(ten,20),Q(0),GVn=new In(ien,Q(0)),Q(0),zVn=new In(ren,Q(0)),Q(0),UVn=new In(cen,Q(0)),TXn=new In(zN,!1),Cun=(h4(),Cm),AXn=new In(uen,Cun),Eun=(OC(),s_),MXn=new In(sen,Eun),hVn=new In(YM,!1),Q(0),fVn=new In(UN,Q(16)),Q(0),lVn=new In(WN,Q(5)),Vun=(dT(),fK),vQn=new In(Vh,Vun),ZVn=new In(ZM,10),tQn=new In(nA,1),Xun=(VC(),DS),fQn=new In(V6,Xun),cQn=new kt(XN),Wun=Q(1),Q(0),sQn=new In(VN,Wun),Qun=(uT(),oK),jQn=new In(eA,Qun),mQn=new kt(tA),bQn=new In(iA,!0),aQn=new In(rA,2),gQn=new In(QN,!0),Fun=(eM(),FS),JXn=new In(oen,Fun),$un=(q2(),iv),QXn=new In(fen,$un),Aun=(Rh(),Nl),$Xn=new In(cA,Aun),DXn=new In(hen,!1),Tun=(qd(),yg),SXn=new In(JN,Tun),Mun=(i6(),J_),OXn=new In(len,Mun),PXn=new In(YN,0),IXn=new In(ZN,0),bVn=h_,dVn=qk,yVn=sP,EVn=sP,gVn=V_,HXn=(_h(),F1),UXn=ap,_Xn=ap,NXn=ap,BXn=F1,FVn=Nm,xVn=Lm,IVn=Lm,DVn=Lm,NVn=eK,KVn=Nm,_Vn=Nm,iVn=(Hh(),Sp),cVn=Sp,uVn=Rm,ZXn=yy,nQn=pv,eQn=ew,iQn=pv,rQn=ew,hQn=pv,lQn=ew,uQn=o_,oQn=DS,EQn=pv,CQn=ew,kQn=pv,yQn=ew,wQn=ew,dQn=ew,pQn=ew}function rr(){rr=N,fcn=new zt("DIRECTION_PREPROCESSOR",0),ucn=new zt("COMMENT_PREPROCESSOR",1),mm=new zt("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),WR=new zt("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),Scn=new zt("PARTITION_PREPROCESSOR",4),dS=new zt("LABEL_DUMMY_INSERTER",5),ES=new zt("SELF_LOOP_PREPROCESSOR",6),Z4=new zt("LAYER_CONSTRAINT_PREPROCESSOR",7),Mcn=new zt("PARTITION_MIDPROCESSOR",8),pcn=new zt("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),Ccn=new zt("NODE_PROMOTION",10),Y4=new zt("LAYER_CONSTRAINT_POSTPROCESSOR",11),Acn=new zt("PARTITION_POSTPROCESSOR",12),bcn=new zt("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),Pcn=new zt("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),ncn=new zt("BREAKING_POINT_INSERTER",15),pS=new zt("LONG_EDGE_SPLITTER",16),XR=new zt("PORT_SIDE_PROCESSOR",17),lS=new zt("INVERTED_PORT_PROCESSOR",18),kS=new zt("PORT_LIST_SORTER",19),Ocn=new zt("SORT_BY_INPUT_ORDER_OF_MODEL",20),mS=new zt("NORTH_SOUTH_PORT_PREPROCESSOR",21),ecn=new zt("BREAKING_POINT_PROCESSOR",22),Tcn=new zt(rHn,23),Dcn=new zt(cHn,24),yS=new zt("SELF_LOOP_PORT_RESTORER",25),Icn=new zt("SINGLE_EDGE_GRAPH_WRAPPER",26),aS=new zt("IN_LAYER_CONSTRAINT_PROCESSOR",27),lcn=new zt("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),jcn=new zt("LABEL_AND_NODE_SIZE_PROCESSOR",29),ycn=new zt("INNERMOST_NODE_MARGIN_CALCULATOR",30),CS=new zt("SELF_LOOP_ROUTER",31),rcn=new zt("COMMENT_NODE_MARGIN_CALCULATOR",32),hS=new zt("END_LABEL_PREPROCESSOR",33),wS=new zt("LABEL_DUMMY_SWITCHER",34),icn=new zt("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),J4=new zt("LABEL_SIDE_SELECTOR",36),mcn=new zt("HYPEREDGE_DUMMY_MERGER",37),wcn=new zt("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),Ecn=new zt("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),km=new zt("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),scn=new zt("CONSTRAINTS_POSTPROCESSOR",41),ccn=new zt("COMMENT_POSTPROCESSOR",42),kcn=new zt("HYPERNODE_PROCESSOR",43),gcn=new zt("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),gS=new zt("LONG_EDGE_JOINER",45),jS=new zt("SELF_LOOP_POSTPROCESSOR",46),tcn=new zt("BREAKING_POINT_REMOVER",47),vS=new zt("NORTH_SOUTH_PORT_POSTPROCESSOR",48),vcn=new zt("HORIZONTAL_COMPACTOR",49),bS=new zt("LABEL_DUMMY_REMOVER",50),acn=new zt("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),hcn=new zt("END_LABEL_SORTER",52),Kk=new zt("REVERSED_EDGE_RESTORER",53),fS=new zt("END_LABEL_POSTPROCESSOR",54),dcn=new zt("HIERARCHICAL_NODE_RESIZER",55),ocn=new zt("DIRECTION_POSTPROCESSOR",56)}function OTe(n,e,t){var i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en,ln,wn,zn,Wn,se,Ye,oi,gs,oo,Mf,hI,Ky,y9,Hy,Ov,CH,Ree,TH,_1,$0,Dv,qy,Gy,Fp,MH,j9,_ee,W1n,F0,E9,AH,xp,C9,bw,T9,SH,Kee;for(W1n=0,Ye=e,oo=0,Ky=Ye.length;oo0&&(n.a[_1.p]=W1n++)}for(C9=0,oi=t,Mf=0,y9=oi.length;Mf0;){for(_1=(ne(Gy.b>0),u(Gy.a.Xb(Gy.c=--Gy.b),11)),qy=0,f=new E(_1.e);f.a0&&(_1.j==(J(),Kn)?(n.a[_1.p]=C9,++C9):(n.a[_1.p]=C9+Hy+CH,++CH))}C9+=CH}for(Dv=new we,v=new Sh,se=e,gs=0,hI=se.length;gsl.b&&(l.b=Fp)):_1.i.c==_ee&&(Fpl.c&&(l.c=Fp));for(S3(m,0,m.length,null),xp=F(be,Le,25,m.length,15,1),i=F(be,Le,25,C9+1,15,1),S=0;S0;)en%2>0&&(r+=SH[en+1]),en=(en-1)/2|0,++SH[en];for(wn=F(dJn,rn,362,m.length*2,0,1),x=0;x'?":An(xqn,n)?"'(?<' or '(? toIndex: ",rnn=", toIndex: ",cnn="Index: ",unn=", Size: ",P4="org.eclipse.elk.alg.common",lt={62:1},dKn="org.eclipse.elk.alg.common.compaction",bKn="Scanline/EventHandler",bh="org.eclipse.elk.alg.common.compaction.oned",wKn="CNode belongs to another CGroup.",gKn="ISpacingsHandler/1",uN="The ",sN=" instance has been finished already.",pKn="The direction ",vKn=" is not supported by the CGraph instance.",mKn="OneDimensionalCompactor",kKn="OneDimensionalCompactor/lambda$0$Type",yKn="Quadruplet",jKn="ScanlineConstraintCalculator",EKn="ScanlineConstraintCalculator/ConstraintsScanlineHandler",CKn="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",TKn="ScanlineConstraintCalculator/Timestamp",MKn="ScanlineConstraintCalculator/lambda$0$Type",Rf={169:1,45:1},oN="org.eclipse.elk.alg.common.compaction.options",Wr="org.eclipse.elk.core.data",snn="org.eclipse.elk.polyomino.traversalStrategy",onn="org.eclipse.elk.polyomino.lowLevelSort",fnn="org.eclipse.elk.polyomino.highLevelSort",hnn="org.eclipse.elk.polyomino.fill",zs={130:1},fN="polyomino",_6="org.eclipse.elk.alg.common.networksimplex",wh={177:1,3:1,4:1},AKn="org.eclipse.elk.alg.common.nodespacing",Fa="org.eclipse.elk.alg.common.nodespacing.cellsystem",I4="CENTER",SKn={212:1,326:1},lnn={3:1,4:1,5:1,595:1},Y2="LEFT",Z2="RIGHT",ann="Vertical alignment cannot be null",dnn="BOTTOM",LM="org.eclipse.elk.alg.common.nodespacing.internal",K6="UNDEFINED",bf=.01,sk="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",PKn="LabelPlacer/lambda$0$Type",IKn="LabelPlacer/lambda$1$Type",OKn="portRatioOrPosition",O4="org.eclipse.elk.alg.common.overlaps",hN="DOWN",_f="org.eclipse.elk.alg.common.polyomino",NM="NORTH",lN="EAST",aN="SOUTH",dN="WEST",BM="org.eclipse.elk.alg.common.polyomino.structures",bnn="Direction",bN="Grid is only of size ",wN=". Requested point (",gN=") is out of bounds.",RM=" Given center based coordinates were (",ok="org.eclipse.elk.graph.properties",DKn="IPropertyHolder",wnn={3:1,94:1,134:1},np="org.eclipse.elk.alg.common.spore",$Kn="org.eclipse.elk.alg.common.utils",xa={209:1},og="org.eclipse.elk.core",FKn="Connected Components Compaction",xKn="org.eclipse.elk.alg.disco",_M="org.eclipse.elk.alg.disco.graph",pN="org.eclipse.elk.alg.disco.options",gnn="CompactionStrategy",pnn="org.eclipse.elk.disco.componentCompaction.strategy",vnn="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",mnn="org.eclipse.elk.disco.debug.discoGraph",knn="org.eclipse.elk.disco.debug.discoPolys",LKn="componentCompaction",La="org.eclipse.elk.disco",vN="org.eclipse.elk.spacing.componentComponent",mN="org.eclipse.elk.edge.thickness",ep="org.eclipse.elk.aspectRatio",u0="org.eclipse.elk.padding",fg="org.eclipse.elk.alg.disco.transform",kN=1.5707963267948966,D4=17976931348623157e292,Ob={3:1,4:1,5:1,192:1},ynn={3:1,6:1,4:1,5:1,106:1,120:1},jnn="org.eclipse.elk.alg.force",Enn="ComponentsProcessor",NKn="ComponentsProcessor/1",fk="org.eclipse.elk.alg.force.graph",BKn="Component Layout",Cnn="org.eclipse.elk.alg.force.model",KM="org.eclipse.elk.force.model",Tnn="org.eclipse.elk.force.iterations",Mnn="org.eclipse.elk.force.repulsivePower",yN="org.eclipse.elk.force.temperature",Kf=.001,jN="org.eclipse.elk.force.repulsion",H6="org.eclipse.elk.alg.force.options",$4=1.600000023841858,os="org.eclipse.elk.force",hk="org.eclipse.elk.priority",Db="org.eclipse.elk.spacing.nodeNode",EN="org.eclipse.elk.spacing.edgeLabel",HM="org.eclipse.elk.randomSeed",q6="org.eclipse.elk.separateConnectedComponents",lk="org.eclipse.elk.interactive",CN="org.eclipse.elk.portConstraints",qM="org.eclipse.elk.edgeLabels.inline",G6="org.eclipse.elk.omitNodeMicroLayout",tp="org.eclipse.elk.nodeSize.options",hg="org.eclipse.elk.nodeSize.constraints",F4="org.eclipse.elk.nodeLabels.placement",x4="org.eclipse.elk.portLabels.placement",Ann="origin",RKn="random",_Kn="boundingBox.upLeft",KKn="boundingBox.lowRight",Snn="org.eclipse.elk.stress.fixed",Pnn="org.eclipse.elk.stress.desiredEdgeLength",Inn="org.eclipse.elk.stress.dimension",Onn="org.eclipse.elk.stress.epsilon",Dnn="org.eclipse.elk.stress.iterationLimit",Ml="org.eclipse.elk.stress",HKn="ELK Stress",ip="org.eclipse.elk.nodeSize.minimum",GM="org.eclipse.elk.alg.force.stress",qKn="Layered layout",rp="org.eclipse.elk.alg.layered",ak="org.eclipse.elk.alg.layered.compaction.components",z6="org.eclipse.elk.alg.layered.compaction.oned",zM="org.eclipse.elk.alg.layered.compaction.oned.algs",Na="org.eclipse.elk.alg.layered.compaction.recthull",Hf="org.eclipse.elk.alg.layered.components",Xh="NONE",hc={3:1,6:1,4:1,9:1,5:1,122:1},GKn={3:1,6:1,4:1,5:1,141:1,106:1,120:1},UM="org.eclipse.elk.alg.layered.compound",xt={51:1},$c="org.eclipse.elk.alg.layered.graph",TN=" -> ",zKn="Not supported by LGraph",$nn="Port side is undefined",MN={3:1,6:1,4:1,5:1,474:1,141:1,106:1,120:1},E1={3:1,6:1,4:1,5:1,141:1,193:1,203:1,106:1,120:1},UKn={3:1,6:1,4:1,5:1,141:1,1943:1,203:1,106:1,120:1},WKn=`([{"' \r -`,XKn=`)]}"' \r -`,VKn="The given string contains parts that cannot be parsed as numbers.",dk="org.eclipse.elk.core.math",QKn={3:1,4:1,142:1,207:1,414:1},JKn={3:1,4:1,116:1,207:1,414:1},Jn="org.eclipse.elk.layered",C1="org.eclipse.elk.alg.layered.graph.transform",YKn="ElkGraphImporter",ZKn="ElkGraphImporter/lambda$0$Type",nHn="ElkGraphImporter/lambda$1$Type",eHn="ElkGraphImporter/lambda$2$Type",tHn="ElkGraphImporter/lambda$4$Type",iHn="Node margin calculation",Un="org.eclipse.elk.alg.layered.intermediate",rHn="ONE_SIDED_GREEDY_SWITCH",cHn="TWO_SIDED_GREEDY_SWITCH",AN="No implementation is available for the layout processor ",Fnn="IntermediateProcessorStrategy",SN="Node '",uHn="FIRST_SEPARATE",sHn="LAST_SEPARATE",oHn="Odd port side processing",Qt="org.eclipse.elk.alg.layered.intermediate.compaction",U6="org.eclipse.elk.alg.layered.intermediate.greedyswitch",gh="org.eclipse.elk.alg.layered.p3order.counting",bk={225:1},cp="org.eclipse.elk.alg.layered.intermediate.loops",fs="org.eclipse.elk.alg.layered.intermediate.loops.ordering",Al="org.eclipse.elk.alg.layered.intermediate.loops.routing",W6="org.eclipse.elk.alg.layered.intermediate.preserveorder",qf="org.eclipse.elk.alg.layered.intermediate.wrapping",lc="org.eclipse.elk.alg.layered.options",PN="INTERACTIVE",fHn="DEPTH_FIRST",hHn="EDGE_LENGTH",lHn="SELF_LOOPS",aHn="firstTryWithInitialOrder",xnn="org.eclipse.elk.layered.directionCongruency",Lnn="org.eclipse.elk.layered.feedbackEdges",WM="org.eclipse.elk.layered.interactiveReferencePoint",Nnn="org.eclipse.elk.layered.mergeEdges",Bnn="org.eclipse.elk.layered.mergeHierarchyEdges",Rnn="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",_nn="org.eclipse.elk.layered.portSortingStrategy",Knn="org.eclipse.elk.layered.thoroughness",Hnn="org.eclipse.elk.layered.unnecessaryBendpoints",qnn="org.eclipse.elk.layered.generatePositionAndLayerIds",IN="org.eclipse.elk.layered.cycleBreaking.strategy",wk="org.eclipse.elk.layered.layering.strategy",Gnn="org.eclipse.elk.layered.layering.layerConstraint",znn="org.eclipse.elk.layered.layering.layerChoiceConstraint",Unn="org.eclipse.elk.layered.layering.layerId",ON="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",DN="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",$N="org.eclipse.elk.layered.layering.nodePromotion.strategy",FN="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",xN="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",X6="org.eclipse.elk.layered.crossingMinimization.strategy",Wnn="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",LN="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",NN="org.eclipse.elk.layered.crossingMinimization.semiInteractive",Xnn="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",Vnn="org.eclipse.elk.layered.crossingMinimization.positionId",Qnn="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",BN="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",XM="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",lg="org.eclipse.elk.layered.nodePlacement.strategy",VM="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",RN="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",_N="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",KN="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",HN="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",qN="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",Jnn="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",Ynn="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",QM="org.eclipse.elk.layered.edgeRouting.splines.mode",JM="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",GN="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",Znn="org.eclipse.elk.layered.spacing.baseValue",nen="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",een="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",ten="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",ien="org.eclipse.elk.layered.priority.direction",ren="org.eclipse.elk.layered.priority.shortness",cen="org.eclipse.elk.layered.priority.straightness",zN="org.eclipse.elk.layered.compaction.connectedComponents",uen="org.eclipse.elk.layered.compaction.postCompaction.strategy",sen="org.eclipse.elk.layered.compaction.postCompaction.constraints",YM="org.eclipse.elk.layered.highDegreeNodes.treatment",UN="org.eclipse.elk.layered.highDegreeNodes.threshold",WN="org.eclipse.elk.layered.highDegreeNodes.treeHeight",Vh="org.eclipse.elk.layered.wrapping.strategy",ZM="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",nA="org.eclipse.elk.layered.wrapping.correctionFactor",V6="org.eclipse.elk.layered.wrapping.cutting.strategy",XN="org.eclipse.elk.layered.wrapping.cutting.cuts",VN="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",eA="org.eclipse.elk.layered.wrapping.validify.strategy",tA="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",iA="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",rA="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",QN="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",oen="org.eclipse.elk.layered.edgeLabels.sideSelection",fen="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",cA="org.eclipse.elk.layered.considerModelOrder.strategy",hen="org.eclipse.elk.layered.considerModelOrder.noModelOrder",JN="org.eclipse.elk.layered.considerModelOrder.components",len="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",YN="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",ZN="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",nB="layering",dHn="layering.minWidth",bHn="layering.nodePromotion",gk="crossingMinimization",uA="org.eclipse.elk.hierarchyHandling",wHn="crossingMinimization.greedySwitch",gHn="nodePlacement",pHn="nodePlacement.bk",vHn="edgeRouting",pk="org.eclipse.elk.edgeRouting",wf="spacing",aen="priority",den="compaction",mHn="compaction.postCompaction",kHn="Specifies whether and how post-process compaction is applied.",ben="highDegreeNodes",wen="wrapping",yHn="wrapping.cutting",jHn="wrapping.validify",gen="wrapping.multiEdge",eB="edgeLabels",vk="considerModelOrder",pen="org.eclipse.elk.spacing.commentComment",ven="org.eclipse.elk.spacing.commentNode",men="org.eclipse.elk.spacing.edgeEdge",ken="org.eclipse.elk.spacing.edgeNode",yen="org.eclipse.elk.spacing.labelLabel",jen="org.eclipse.elk.spacing.labelPortHorizontal",Een="org.eclipse.elk.spacing.labelPortVertical",Cen="org.eclipse.elk.spacing.labelNode",Ten="org.eclipse.elk.spacing.nodeSelfLoop",Men="org.eclipse.elk.spacing.portPort",Aen="org.eclipse.elk.spacing.individual",Sen="org.eclipse.elk.port.borderOffset",Pen="org.eclipse.elk.noLayout",Ien="org.eclipse.elk.port.side",mk="org.eclipse.elk.debugMode",Oen="org.eclipse.elk.alignment",Den="org.eclipse.elk.insideSelfLoops.activate",$en="org.eclipse.elk.insideSelfLoops.yo",tB="org.eclipse.elk.nodeSize.fixedGraphSize",Fen="org.eclipse.elk.direction",xen="org.eclipse.elk.nodeLabels.padding",Len="org.eclipse.elk.portLabels.nextToPortIfPossible",Nen="org.eclipse.elk.portLabels.treatAsGroup",Ben="org.eclipse.elk.portAlignment.default",Ren="org.eclipse.elk.portAlignment.north",_en="org.eclipse.elk.portAlignment.south",Ken="org.eclipse.elk.portAlignment.west",Hen="org.eclipse.elk.portAlignment.east",sA="org.eclipse.elk.contentAlignment",qen="org.eclipse.elk.junctionPoints",Gen="org.eclipse.elk.edgeLabels.placement",zen="org.eclipse.elk.port.index",Uen="org.eclipse.elk.commentBox",Wen="org.eclipse.elk.hypernode",Xen="org.eclipse.elk.port.anchor",iB="org.eclipse.elk.partitioning.activate",rB="org.eclipse.elk.partitioning.partition",oA="org.eclipse.elk.position",Ven="org.eclipse.elk.margins",Qen="org.eclipse.elk.spacing.portsSurrounding",cB="org.eclipse.elk.interactiveLayout",ac="org.eclipse.elk.core.util",Jen={3:1,4:1,5:1,593:1},EHn="NETWORK_SIMPLEX",Ec={123:1,51:1},fA="org.eclipse.elk.alg.layered.p1cycles",$b="org.eclipse.elk.alg.layered.p2layers",Yen={402:1,225:1},CHn={832:1,3:1,4:1},vu="org.eclipse.elk.alg.layered.p3order",hr="org.eclipse.elk.alg.layered.p4nodes",THn={3:1,4:1,5:1,840:1},Gf=1e-5,Sl="org.eclipse.elk.alg.layered.p4nodes.bk",uB="org.eclipse.elk.alg.layered.p5edges",zo="org.eclipse.elk.alg.layered.p5edges.orthogonal",sB="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",oB=1e-6,Fb="org.eclipse.elk.alg.layered.p5edges.splines",fB=.09999999999999998,hA=1e-8,MHn=4.71238898038469,AHn=3.141592653589793,Q6="org.eclipse.elk.alg.mrtree",J6="org.eclipse.elk.alg.mrtree.graph",up="org.eclipse.elk.alg.mrtree.intermediate",SHn="Set neighbors in level",PHn="DESCENDANTS",Zen="org.eclipse.elk.mrtree.weighting",ntn="org.eclipse.elk.mrtree.searchOrder",lA="org.eclipse.elk.alg.mrtree.options",T1="org.eclipse.elk.mrtree",IHn="org.eclipse.elk.tree",etn="org.eclipse.elk.alg.radial",ag=6.283185307179586,ttn=5e-324,OHn="org.eclipse.elk.alg.radial.intermediate",hB="org.eclipse.elk.alg.radial.intermediate.compaction",DHn={3:1,4:1,5:1,106:1},itn="org.eclipse.elk.alg.radial.intermediate.optimization",lB="No implementation is available for the layout option ",Y6="org.eclipse.elk.alg.radial.options",rtn="org.eclipse.elk.radial.orderId",ctn="org.eclipse.elk.radial.radius",aB="org.eclipse.elk.radial.compactor",dB="org.eclipse.elk.radial.compactionStepSize",utn="org.eclipse.elk.radial.sorter",stn="org.eclipse.elk.radial.wedgeCriteria",otn="org.eclipse.elk.radial.optimizationCriteria",zf="org.eclipse.elk.radial",$Hn="org.eclipse.elk.alg.radial.p1position.wedge",ftn="org.eclipse.elk.alg.radial.sorting",FHn=5.497787143782138,xHn=3.9269908169872414,LHn=2.356194490192345,NHn="org.eclipse.elk.alg.rectpacking",aA="org.eclipse.elk.alg.rectpacking.firstiteration",bB="org.eclipse.elk.alg.rectpacking.options",htn="org.eclipse.elk.rectpacking.optimizationGoal",ltn="org.eclipse.elk.rectpacking.lastPlaceShift",atn="org.eclipse.elk.rectpacking.currentPosition",dtn="org.eclipse.elk.rectpacking.desiredPosition",btn="org.eclipse.elk.rectpacking.onlyFirstIteration",wtn="org.eclipse.elk.rectpacking.rowCompaction",wB="org.eclipse.elk.rectpacking.expandToAspectRatio",gtn="org.eclipse.elk.rectpacking.targetWidth",dA="org.eclipse.elk.expandNodes",Us="org.eclipse.elk.rectpacking",kk="org.eclipse.elk.alg.rectpacking.util",bA="No implementation available for ",xb="org.eclipse.elk.alg.spore",Lb="org.eclipse.elk.alg.spore.options",s0="org.eclipse.elk.sporeCompaction",gB="org.eclipse.elk.underlyingLayoutAlgorithm",ptn="org.eclipse.elk.processingOrder.treeConstruction",vtn="org.eclipse.elk.processingOrder.spanningTreeCostFunction",pB="org.eclipse.elk.processingOrder.preferredRoot",vB="org.eclipse.elk.processingOrder.rootSelection",mB="org.eclipse.elk.structure.structureExtractionStrategy",mtn="org.eclipse.elk.compaction.compactionStrategy",ktn="org.eclipse.elk.compaction.orthogonal",ytn="org.eclipse.elk.overlapRemoval.maxIterations",jtn="org.eclipse.elk.overlapRemoval.runScanline",kB="processingOrder",BHn="overlapRemoval",L4="org.eclipse.elk.sporeOverlap",RHn="org.eclipse.elk.alg.spore.p1structure",yB="org.eclipse.elk.alg.spore.p2processingorder",jB="org.eclipse.elk.alg.spore.p3execution",_Hn="Invalid index: ",N4="org.eclipse.elk.core.alg",dg={331:1},Nb={288:1},KHn="Make sure its type is registered with the ",Etn=" utility class.",B4="true",EB="false",HHn="Couldn't clone property '",o0=.05,Ws="org.eclipse.elk.core.options",qHn=1.2999999523162842,f0="org.eclipse.elk.box",Ctn="org.eclipse.elk.box.packingMode",GHn="org.eclipse.elk.algorithm",zHn="org.eclipse.elk.resolvedAlgorithm",Ttn="org.eclipse.elk.bendPoints",LTe="org.eclipse.elk.labelManager",UHn="org.eclipse.elk.scaleFactor",WHn="org.eclipse.elk.animate",XHn="org.eclipse.elk.animTimeFactor",VHn="org.eclipse.elk.layoutAncestors",QHn="org.eclipse.elk.maxAnimTime",JHn="org.eclipse.elk.minAnimTime",YHn="org.eclipse.elk.progressBar",ZHn="org.eclipse.elk.validateGraph",nqn="org.eclipse.elk.validateOptions",eqn="org.eclipse.elk.zoomToFit",NTe="org.eclipse.elk.font.name",tqn="org.eclipse.elk.font.size",iqn="org.eclipse.elk.edge.type",rqn="partitioning",cqn="nodeLabels",wA="portAlignment",CB="nodeSize",TB="port",Mtn="portLabels",uqn="insideSelfLoops",Z6="org.eclipse.elk.fixed",gA="org.eclipse.elk.random",sqn="port must have a parent node to calculate the port side",oqn="The edge needs to have exactly one edge section. Found: ",nm="org.eclipse.elk.core.util.adapters",Is="org.eclipse.emf.ecore",bg="org.eclipse.elk.graph",fqn="EMapPropertyHolder",hqn="ElkBendPoint",lqn="ElkGraphElement",aqn="ElkConnectableShape",Atn="ElkEdge",dqn="ElkEdgeSection",bqn="EModelElement",wqn="ENamedElement",Stn="ElkLabel",Ptn="ElkNode",Itn="ElkPort",gqn={92:1,90:1},sp="org.eclipse.emf.common.notify.impl",Pl="The feature '",em="' is not a valid changeable feature",pqn="Expecting null",MB="' is not a valid feature",vqn="The feature ID",mqn=" is not a valid feature ID",uc=32768,kqn={105:1,92:1,90:1,56:1,49:1,97:1},Bn="org.eclipse.emf.ecore.impl",Ba="org.eclipse.elk.graph.impl",tm="Recursive containment not allowed for ",R4="The datatype '",h0="' is not a valid classifier",AB="The value '",wg={190:1,3:1,4:1},SB="The class '",_4="http://www.eclipse.org/elk/ElkGraph",Eo=1024,Otn="property",im="value",PB="source",yqn="properties",jqn="identifier",IB="height",OB="width",DB="parent",$B="text",FB="children",Eqn="hierarchical",Dtn="sources",xB="targets",$tn="sections",pA="bendPoints",Ftn="outgoingShape",xtn="incomingShape",Ltn="outgoingSections",Ntn="incomingSections",Ui="org.eclipse.emf.common.util",Btn="Severe implementation error in the Json to ElkGraph importer.",Uf="id",Fi="org.eclipse.elk.graph.json",Rtn="Unhandled parameter types: ",Cqn="startPoint",Tqn="An edge must have at least one source and one target (edge id: '",K4="').",Mqn="Referenced edge section does not exist: ",Aqn=" (edge id: '",_tn="target",Sqn="sourcePoint",Pqn="targetPoint",vA="group",We="name",Iqn="connectableShape cannot be null",Oqn="edge cannot be null",LB="Passed edge is not 'simple'.",mA="org.eclipse.elk.graph.util",yk="The 'no duplicates' constraint is violated",NB="targetIndex=",Ra=", size=",BB="sourceIndex=",Wf={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1},RB={3:1,4:1,20:1,28:1,52:1,14:1,47:1,15:1,54:1,67:1,63:1,58:1,588:1},kA="logging",Dqn="measureExecutionTime",$qn="parser.parse.1",Fqn="parser.parse.2",yA="parser.next.1",_B="parser.next.2",xqn="parser.next.3",Lqn="parser.next.4",_a="parser.factor.1",Ktn="parser.factor.2",Nqn="parser.factor.3",Bqn="parser.factor.4",Rqn="parser.factor.5",_qn="parser.factor.6",Kqn="parser.atom.1",Hqn="parser.atom.2",qqn="parser.atom.3",Htn="parser.atom.4",KB="parser.atom.5",qtn="parser.cc.1",jA="parser.cc.2",Gqn="parser.cc.3",zqn="parser.cc.5",Gtn="parser.cc.6",ztn="parser.cc.7",HB="parser.cc.8",Uqn="parser.ope.1",Wqn="parser.ope.2",Xqn="parser.ope.3",M1="parser.descape.1",Vqn="parser.descape.2",Qqn="parser.descape.3",Jqn="parser.descape.4",Yqn="parser.descape.5",Os="parser.process.1",Zqn="parser.quantifier.1",nGn="parser.quantifier.2",eGn="parser.quantifier.3",tGn="parser.quantifier.4",Utn="parser.quantifier.5",iGn="org.eclipse.emf.common.notify",Wtn={415:1,672:1},rGn={3:1,4:1,20:1,28:1,52:1,14:1,15:1,67:1,58:1},jk={366:1,143:1},rm="index=",qB={3:1,4:1,5:1,126:1},cGn={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,58:1},Xtn={3:1,6:1,4:1,5:1,192:1},uGn={3:1,4:1,5:1,165:1,367:1},sGn=";/?:@&=+$,",oGn="invalid authority: ",fGn="EAnnotation",hGn="ETypedElement",lGn="EStructuralFeature",aGn="EAttribute",dGn="EClassifier",bGn="EEnumLiteral",wGn="EGenericType",gGn="EOperation",pGn="EParameter",vGn="EReference",mGn="ETypeParameter",vt="org.eclipse.emf.ecore.util",GB={76:1},Vtn={3:1,20:1,14:1,15:1,58:1,589:1,76:1,69:1,95:1},kGn="org.eclipse.emf.ecore.util.FeatureMap$Entry",mu=8192,Bb=2048,cm="byte",EA="char",um="double",sm="float",om="int",fm="long",hm="short",yGn="java.lang.Object",gg={3:1,4:1,5:1,247:1},Qtn={3:1,4:1,5:1,673:1},jGn={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,69:1},Nr={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,76:1,69:1,95:1},Ek="mixed",xe="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",Xs="kind",EGn={3:1,4:1,5:1,674:1},Jtn={3:1,4:1,20:1,28:1,52:1,14:1,15:1,67:1,58:1,76:1,69:1,95:1},CA={20:1,28:1,52:1,14:1,15:1,58:1,69:1},TA={47:1,125:1,279:1},MA={72:1,332:1},AA="The value of type '",SA="' must be of type '",pg=1316,Vs="http://www.eclipse.org/emf/2002/Ecore",PA=-32768,l0="constraints",Ri="baseType",CGn="getEStructuralFeature",TGn="getFeatureID",lm="feature",MGn="getOperationID",Ytn="operation",AGn="defaultValue",SGn="eTypeParameters",PGn="isInstance",IGn="getEEnumLiteral",OGn="eContainingClass",qe={55:1},DGn={3:1,4:1,5:1,119:1},$Gn="org.eclipse.emf.ecore.resource",FGn={92:1,90:1,591:1,1935:1},zB="org.eclipse.emf.ecore.resource.impl",Ztn="unspecified",Ck="simple",IA="attribute",xGn="attributeWildcard",OA="element",UB="elementWildcard",Uo="collapse",WB="itemType",DA="namespace",Tk="##targetNamespace",Qs="whiteSpace",nin="wildcards",Ka="http://www.eclipse.org/emf/2003/XMLType",XB="##any",H4="uninitialized",Mk="The multiplicity constraint is violated",$A="org.eclipse.emf.ecore.xml.type",LGn="ProcessingInstruction",NGn="SimpleAnyType",BGn="XMLTypeDocumentRoot",Wt="org.eclipse.emf.ecore.xml.type.impl",Ak="INF",RGn="processing",_Gn="ENTITIES_._base",ein="minLength",tin="ENTITY",FA="NCName",KGn="IDREFS_._base",iin="integer",VB="token",QB="pattern",HGn="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",rin="\\i\\c*",qGn="[\\i-[:]][\\c-[:]]*",GGn="nonPositiveInteger",Sk="maxInclusive",cin="NMTOKEN",zGn="NMTOKENS_._base",uin="nonNegativeInteger",Pk="minInclusive",UGn="normalizedString",WGn="unsignedByte",XGn="unsignedInt",VGn="18446744073709551615",QGn="unsignedShort",JGn="processingInstruction",A1="org.eclipse.emf.ecore.xml.type.internal",q4=1114111,YGn="Internal Error: shorthands: \\u",am="xml:isDigit",JB="xml:isWord",YB="xml:isSpace",ZB="xml:isNameChar",nR="xml:isInitialNameChar",ZGn="09٠٩۰۹०९০৯੦੯૦૯୦୯௧௯౦౯೦೯൦൯๐๙໐໙༠༩",nzn="AZazÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩKÅ℮℮ↀↂ〇〇〡〩ぁゔァヺㄅㄬ一龥가힣",ezn="Private Use",eR="ASSIGNED",tR="\0€ÿĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀჿᄀᇿሀ፿Ꭰ᏿᐀ᙿ ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⋿⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⠀⣿⺀⻿⼀⿟⿰⿿ 〿぀ゟ゠ヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ffﭏﭐ﷿︠︯︰﹏﹐﹯ﹰ﻾\uFEFF\uFEFF＀￯",sin="UNASSIGNED",G4={3:1,117:1},tzn="org.eclipse.emf.ecore.xml.type.util",xA={3:1,4:1,5:1,368:1},oin="org.eclipse.xtext.xbase.lib",izn="Cannot add elements to a Range",rzn="Cannot set elements in a Range",czn="Cannot remove elements from a Range",LA="locale",NA="default",BA="user.agent",s,RA,iR;j.goog=j.goog||{},j.goog.global=j.goog.global||j,f5e(),b(1,null,{},ou),s.Fb=function(e){return nyn(this,e)},s.Gb=function(){return this.gm},s.Hb=function(){return md(this)},s.Ib=function(){var e;return J1(Du(this))+"@"+(e=mt(this)>>>0,e.toString(16))},s.equals=function(n){return this.Fb(n)},s.hashCode=function(){return this.Hb()},s.toString=function(){return this.Ib()};var uzn,szn,ozn;b(290,1,{290:1,2026:1},RV),s.le=function(e){var t;return t=new RV,t.i=4,e>1?t.c=pMn(this,e-1):t.c=this,t},s.me=function(){return Ph(this),this.b},s.ne=function(){return J1(this)},s.oe=function(){return Ph(this),this.k},s.pe=function(){return(this.i&4)!=0},s.qe=function(){return(this.i&1)!=0},s.Ib=function(){return nV(this)},s.i=0;var Zn=w(Ur,"Object",1),fin=w(Ur,"Class",290);b(1998,1,J7),w(Y7,"Optional",1998),b(1170,1998,J7,Ot),s.Fb=function(e){return e===this},s.Hb=function(){return 2040732332},s.Ib=function(){return"Optional.absent()"},s.Jb=function(e){return pe(e),Rv(),rR};var rR;w(Y7,"Absent",1170),b(628,1,{},YI),w(Y7,"Joiner",628);var BTe=Et(Y7,"Predicate");b(582,1,{169:1,582:1,3:1,45:1},nvn),s.Mb=function(e){return iDn(this,e)},s.Lb=function(e){return iDn(this,e)},s.Fb=function(e){var t;return I(e,582)?(t=u(e,582),DY(this.a,t.a)):!1},s.Hb=function(){return GV(this.a)+306654252},s.Ib=function(){return V5e(this.a)},w(Y7,"Predicates/AndPredicate",582),b(408,1998,{408:1,3:1},Zy),s.Fb=function(e){var t;return I(e,408)?(t=u(e,408),tt(this.a,t.a)):!1},s.Hb=function(){return 1502476572+mt(this.a)},s.Ib=function(){return q_n+this.a+")"},s.Jb=function(e){return new Zy(tC(e.Kb(this.a),"the Function passed to Optional.transform() must not return null."))},w(Y7,"Present",408),b(198,1,E4),s.Nb=function(e){Oi(this,e)},s.Qb=function(){G9n()},w(an,"UnmodifiableIterator",198),b(1978,198,C4),s.Qb=function(){G9n()},s.Rb=function(e){throw T(new ye)},s.Wb=function(e){throw T(new ye)},w(an,"UnmodifiableListIterator",1978),b(386,1978,C4),s.Ob=function(){return this.c0},s.Pb=function(){if(this.c>=this.d)throw T(new ic);return this.Xb(this.c++)},s.Tb=function(){return this.c},s.Ub=function(){if(this.c<=0)throw T(new ic);return this.Xb(--this.c)},s.Vb=function(){return this.c-1},s.c=0,s.d=0,w(an,"AbstractIndexedListIterator",386),b(699,198,E4),s.Ob=function(){return V$(this)},s.Pb=function(){return XX(this)},s.e=1,w(an,"AbstractIterator",699),b(1986,1,{224:1}),s.Zb=function(){var e;return e=this.f,e||(this.f=this.ac())},s.Fb=function(e){return dF(this,e)},s.Hb=function(){return mt(this.Zb())},s.dc=function(){return this.gc()==0},s.ec=function(){return k2(this)},s.Ib=function(){return Lr(this.Zb())},w(an,"AbstractMultimap",1986),b(726,1986,Da),s.$b=function(){QC(this)},s._b=function(e){return f8n(this,e)},s.ac=function(){return new Yp(this,this.c)},s.ic=function(e){return this.hc()},s.bc=function(){return new Sw(this,this.c)},s.jc=function(){return this.mc(this.hc())},s.kc=function(){return new A9n(this)},s.lc=function(){return kx(this.c.vc().Nc(),new Ge,64,this.d)},s.cc=function(e){return ct(this,e)},s.fc=function(e){return l7(this,e)},s.gc=function(){return this.d},s.mc=function(e){return Pn(),new _p(e)},s.nc=function(){return new M9n(this)},s.oc=function(){return kx(this.c.Cc().Nc(),new qt,64,this.d)},s.pc=function(e,t){return new IC(this,e,t,null)},s.d=0,w(an,"AbstractMapBasedMultimap",726),b(1631,726,Da),s.hc=function(){return new Pc(this.a)},s.jc=function(){return Pn(),Pn(),cr},s.cc=function(e){return u(ct(this,e),15)},s.fc=function(e){return u(l7(this,e),15)},s.Zb=function(){return T2(this)},s.Fb=function(e){return dF(this,e)},s.qc=function(e){return u(ct(this,e),15)},s.rc=function(e){return u(l7(this,e),15)},s.mc=function(e){return C8(u(e,15))},s.pc=function(e,t){return jAn(this,e,u(t,15),null)},w(an,"AbstractListMultimap",1631),b(732,1,yi),s.Nb=function(e){Oi(this,e)},s.Ob=function(){return this.c.Ob()||this.e.Ob()},s.Pb=function(){var e;return this.e.Ob()||(e=u(this.c.Pb(),42),this.b=e.cd(),this.a=u(e.dd(),14),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},s.Qb=function(){this.e.Qb(),this.a.dc()&&this.c.Qb(),--this.d.d},w(an,"AbstractMapBasedMultimap/Itr",732),b(1099,732,yi,M9n),s.sc=function(e,t){return t},w(an,"AbstractMapBasedMultimap/1",1099),b(1100,1,{},qt),s.Kb=function(e){return u(e,14).Nc()},w(an,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1100),b(1101,732,yi,A9n),s.sc=function(e,t){return new bd(e,t)},w(an,"AbstractMapBasedMultimap/2",1101);var hin=Et(fe,"Map");b(1967,1,r0),s.wc=function(e){n6(this,e)},s.yc=function(e,t,i){return IF(this,e,t,i)},s.$b=function(){this.vc().$b()},s.tc=function(e){return ix(this,e)},s._b=function(e){return!!xJ(this,e,!1)},s.uc=function(e){var t,i,r;for(i=this.vc().Kc();i.Ob();)if(t=u(i.Pb(),42),r=t.dd(),B(e)===B(r)||e!=null&&tt(e,r))return!0;return!1},s.Fb=function(e){var t,i,r;if(e===this)return!0;if(!I(e,83)||(r=u(e,83),this.gc()!=r.gc()))return!1;for(i=r.vc().Kc();i.Ob();)if(t=u(i.Pb(),42),!this.tc(t))return!1;return!0},s.xc=function(e){return Vr(xJ(this,e,!1))},s.Hb=function(){return FV(this.vc())},s.dc=function(){return this.gc()==0},s.ec=function(){return new Rp(this)},s.zc=function(e,t){throw T(new t1("Put not supported on this map"))},s.Ac=function(e){Z5(this,e)},s.Bc=function(e){return Vr(xJ(this,e,!0))},s.gc=function(){return this.vc().gc()},s.Ib=function(){return cxn(this)},s.Cc=function(){return new Mh(this)},w(fe,"AbstractMap",1967),b(1987,1967,r0),s.bc=function(){return new Ej(this)},s.vc=function(){return yCn(this)},s.ec=function(){var e;return e=this.g,e||(this.g=this.bc())},s.Cc=function(){var e;return e=this.i,e||(this.i=new e7n(this))},w(an,"Maps/ViewCachingAbstractMap",1987),b(389,1987,r0,Yp),s.xc=function(e){return O0e(this,e)},s.Bc=function(e){return Wwe(this,e)},s.$b=function(){this.d==this.e.c?this.e.$b():DE(new tW(this))},s._b=function(e){return LDn(this.d,e)},s.Ec=function(){return new rvn(this)},s.Dc=function(){return this.Ec()},s.Fb=function(e){return this===e||tt(this.d,e)},s.Hb=function(){return mt(this.d)},s.ec=function(){return this.e.ec()},s.gc=function(){return this.d.gc()},s.Ib=function(){return Lr(this.d)},w(an,"AbstractMapBasedMultimap/AsMap",389);var gf=Et(Ur,"Iterable");b(28,1,Sb),s.Jc=function(e){$i(this,e)},s.Lc=function(){return this.Oc()},s.Nc=function(){return new xn(this,0)},s.Oc=function(){return new $n(null,this.Nc())},s.Fc=function(e){throw T(new t1("Add not supported on this collection"))},s.Gc=function(e){return Vi(this,e)},s.$b=function(){KW(this)},s.Hc=function(e){return db(this,e,!1)},s.Ic=function(e){return t7(this,e)},s.dc=function(){return this.gc()==0},s.Mc=function(e){return db(this,e,!0)},s.Pc=function(){return wW(this)},s.Qc=function(e){return y7(this,e)},s.Ib=function(){return kl(this)},w(fe,"AbstractCollection",28);var Js=Et(fe,"Set");b(df,28,pu),s.Nc=function(){return new xn(this,1)},s.Fb=function(e){return P$n(this,e)},s.Hb=function(){return FV(this)},w(fe,"AbstractSet",df),b(1970,df,pu),w(an,"Sets/ImprovedAbstractSet",1970),b(1971,1970,pu),s.$b=function(){this.Rc().$b()},s.Hc=function(e){return h$n(this,e)},s.dc=function(){return this.Rc().dc()},s.Mc=function(e){var t;return this.Hc(e)?(t=u(e,42),this.Rc().ec().Mc(t.cd())):!1},s.gc=function(){return this.Rc().gc()},w(an,"Maps/EntrySet",1971),b(1097,1971,pu,rvn),s.Hc=function(e){return fQ(this.a.d.vc(),e)},s.Kc=function(){return new tW(this.a)},s.Rc=function(){return this.a},s.Mc=function(e){var t;return fQ(this.a.d.vc(),e)?(t=u(e,42),pde(this.a.e,t.cd()),!0):!1},s.Nc=function(){return g8(this.a.d.vc().Nc(),new cvn(this.a))},w(an,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1097),b(1098,1,{},cvn),s.Kb=function(e){return lSn(this.a,u(e,42))},w(an,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1098),b(730,1,yi,tW),s.Nb=function(e){Oi(this,e)},s.Pb=function(){var e;return e=u(this.b.Pb(),42),this.a=u(e.dd(),14),lSn(this.c,e)},s.Ob=function(){return this.b.Ob()},s.Qb=function(){Nw(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},w(an,"AbstractMapBasedMultimap/AsMap/AsMapIterator",730),b(532,1970,pu,Ej),s.$b=function(){this.b.$b()},s.Hc=function(e){return this.b._b(e)},s.Jc=function(e){pe(e),this.b.wc(new jvn(e))},s.dc=function(){return this.b.dc()},s.Kc=function(){return new _v(this.b.vc().Kc())},s.Mc=function(e){return this.b._b(e)?(this.b.Bc(e),!0):!1},s.gc=function(){return this.b.gc()},w(an,"Maps/KeySet",532),b(318,532,pu,Sw),s.$b=function(){var e;DE((e=this.b.vc().Kc(),new SG(this,e)))},s.Ic=function(e){return this.b.ec().Ic(e)},s.Fb=function(e){return this===e||tt(this.b.ec(),e)},s.Hb=function(){return mt(this.b.ec())},s.Kc=function(){var e;return e=this.b.vc().Kc(),new SG(this,e)},s.Mc=function(e){var t,i;return i=0,t=u(this.b.Bc(e),14),t&&(i=t.gc(),t.$b(),this.a.d-=i),i>0},s.Nc=function(){return this.b.ec().Nc()},w(an,"AbstractMapBasedMultimap/KeySet",318),b(731,1,yi,SG),s.Nb=function(e){Oi(this,e)},s.Ob=function(){return this.c.Ob()},s.Pb=function(){return this.a=u(this.c.Pb(),42),this.a.cd()},s.Qb=function(){var e;Nw(!!this.a),e=u(this.a.dd(),14),this.c.Qb(),this.b.a.d-=e.gc(),e.$b(),this.a=null},w(an,"AbstractMapBasedMultimap/KeySet/1",731),b(491,389,{83:1,161:1},f8),s.bc=function(){return this.Sc()},s.ec=function(){return this.Tc()},s.Sc=function(){return new R9(this.c,this.Uc())},s.Tc=function(){var e;return e=this.b,e||(this.b=this.Sc())},s.Uc=function(){return u(this.d,161)},w(an,"AbstractMapBasedMultimap/SortedAsMap",491),b(542,491,G_n,mE),s.bc=function(){return new Jp(this.a,u(u(this.d,161),171))},s.Sc=function(){return new Jp(this.a,u(u(this.d,161),171))},s.ec=function(){var e;return e=this.b,u(e||(this.b=new Jp(this.a,u(u(this.d,161),171))),271)},s.Tc=function(){var e;return e=this.b,u(e||(this.b=new Jp(this.a,u(u(this.d,161),171))),271)},s.Uc=function(){return u(u(this.d,161),171)},w(an,"AbstractMapBasedMultimap/NavigableAsMap",542),b(490,318,z_n,R9),s.Nc=function(){return this.b.ec().Nc()},w(an,"AbstractMapBasedMultimap/SortedKeySet",490),b(388,490,WZ,Jp),w(an,"AbstractMapBasedMultimap/NavigableKeySet",388),b(541,28,Sb,IC),s.Fc=function(e){var t,i;return $u(this),i=this.d.dc(),t=this.d.Fc(e),t&&(++this.f.d,i&&d8(this)),t},s.Gc=function(e){var t,i,r;return e.dc()?!1:(r=($u(this),this.d.gc()),t=this.d.Gc(e),t&&(i=this.d.gc(),this.f.d+=i-r,r==0&&d8(this)),t)},s.$b=function(){var e;e=($u(this),this.d.gc()),e!=0&&(this.d.$b(),this.f.d-=e,NE(this))},s.Hc=function(e){return $u(this),this.d.Hc(e)},s.Ic=function(e){return $u(this),this.d.Ic(e)},s.Fb=function(e){return e===this?!0:($u(this),tt(this.d,e))},s.Hb=function(){return $u(this),mt(this.d)},s.Kc=function(){return $u(this),new HU(this)},s.Mc=function(e){var t;return $u(this),t=this.d.Mc(e),t&&(--this.f.d,NE(this)),t},s.gc=function(){return Rkn(this)},s.Nc=function(){return $u(this),this.d.Nc()},s.Ib=function(){return $u(this),Lr(this.d)},w(an,"AbstractMapBasedMultimap/WrappedCollection",541);var Ds=Et(fe,"List");b(728,541,{20:1,28:1,14:1,15:1},pW),s.ad=function(e){Lw(this,e)},s.Nc=function(){return $u(this),this.d.Nc()},s.Vc=function(e,t){var i;$u(this),i=this.d.dc(),u(this.d,15).Vc(e,t),++this.a.d,i&&d8(this)},s.Wc=function(e,t){var i,r,c;return t.dc()?!1:(c=($u(this),this.d.gc()),i=u(this.d,15).Wc(e,t),i&&(r=this.d.gc(),this.a.d+=r-c,c==0&&d8(this)),i)},s.Xb=function(e){return $u(this),u(this.d,15).Xb(e)},s.Xc=function(e){return $u(this),u(this.d,15).Xc(e)},s.Yc=function(){return $u(this),new vyn(this)},s.Zc=function(e){return $u(this),new OTn(this,e)},s.$c=function(e){var t;return $u(this),t=u(this.d,15).$c(e),--this.a.d,NE(this),t},s._c=function(e,t){return $u(this),u(this.d,15)._c(e,t)},s.bd=function(e,t){return $u(this),jAn(this.a,this.e,u(this.d,15).bd(e,t),this.b?this.b:this)},w(an,"AbstractMapBasedMultimap/WrappedList",728),b(1096,728,{20:1,28:1,14:1,15:1,54:1},ojn),w(an,"AbstractMapBasedMultimap/RandomAccessWrappedList",1096),b(620,1,yi,HU),s.Nb=function(e){Oi(this,e)},s.Ob=function(){return m3(this),this.b.Ob()},s.Pb=function(){return m3(this),this.b.Pb()},s.Qb=function(){zyn(this)},w(an,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",620),b(729,620,hh,vyn,OTn),s.Qb=function(){zyn(this)},s.Rb=function(e){var t;t=Rkn(this.a)==0,(m3(this),u(this.b,125)).Rb(e),++this.a.a.d,t&&d8(this.a)},s.Sb=function(){return(m3(this),u(this.b,125)).Sb()},s.Tb=function(){return(m3(this),u(this.b,125)).Tb()},s.Ub=function(){return(m3(this),u(this.b,125)).Ub()},s.Vb=function(){return(m3(this),u(this.b,125)).Vb()},s.Wb=function(e){(m3(this),u(this.b,125)).Wb(e)},w(an,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",729),b(727,541,z_n,fU),s.Nc=function(){return $u(this),this.d.Nc()},w(an,"AbstractMapBasedMultimap/WrappedSortedSet",727),b(1095,727,WZ,hyn),w(an,"AbstractMapBasedMultimap/WrappedNavigableSet",1095),b(1094,541,pu,jjn),s.Nc=function(){return $u(this),this.d.Nc()},w(an,"AbstractMapBasedMultimap/WrappedSet",1094),b(1103,1,{},Ge),s.Kb=function(e){return Ede(u(e,42))},w(an,"AbstractMapBasedMultimap/lambda$1$Type",1103),b(1102,1,{},uvn),s.Kb=function(e){return new bd(this.a,e)},w(an,"AbstractMapBasedMultimap/lambda$2$Type",1102);var Ha=Et(fe,"Map/Entry");b(345,1,PM),s.Fb=function(e){var t;return I(e,42)?(t=u(e,42),$f(this.cd(),t.cd())&&$f(this.dd(),t.dd())):!1},s.Hb=function(){var e,t;return e=this.cd(),t=this.dd(),(e==null?0:mt(e))^(t==null?0:mt(t))},s.ed=function(e){throw T(new ye)},s.Ib=function(){return this.cd()+"="+this.dd()},w(an,U_n,345),b(1988,28,Sb),s.$b=function(){this.fd().$b()},s.Hc=function(e){var t;return I(e,42)?(t=u(e,42),iae(this.fd(),t.cd(),t.dd())):!1},s.Mc=function(e){var t;return I(e,42)?(t=u(e,42),tAn(this.fd(),t.cd(),t.dd())):!1},s.gc=function(){return this.fd().d},w(an,"Multimaps/Entries",1988),b(733,1988,Sb,rq),s.Kc=function(){return this.a.kc()},s.fd=function(){return this.a},s.Nc=function(){return this.a.lc()},w(an,"AbstractMultimap/Entries",733),b(734,733,pu,rG),s.Nc=function(){return this.a.lc()},s.Fb=function(e){return ZJ(this,e)},s.Hb=function(){return iOn(this)},w(an,"AbstractMultimap/EntrySet",734),b(735,28,Sb,cq),s.$b=function(){this.a.$b()},s.Hc=function(e){return Kwe(this.a,e)},s.Kc=function(){return this.a.nc()},s.gc=function(){return this.a.d},s.Nc=function(){return this.a.oc()},w(an,"AbstractMultimap/Values",735),b(1989,28,{835:1,20:1,28:1,14:1}),s.Jc=function(e){pe(e),Iw(this).Jc(new yvn(e))},s.Nc=function(){var e;return e=Iw(this).Nc(),kx(e,new G1,64|e.qd()&1296,this.a.d)},s.Fc=function(e){return dG(),!0},s.Gc=function(e){return pe(this),pe(e),I(e,543)?oae(u(e,835)):!e.dc()&&_$(this,e.Kc())},s.Hc=function(e){var t;return t=u(ab(T2(this.a),e),14),(t?t.gc():0)>0},s.Fb=function(e){return e9e(this,e)},s.Hb=function(){return mt(Iw(this))},s.dc=function(){return Iw(this).dc()},s.Mc=function(e){return jLn(this,e,1)>0},s.Ib=function(){return Lr(Iw(this))},w(an,"AbstractMultiset",1989),b(1991,1970,pu),s.$b=function(){QC(this.a.a)},s.Hc=function(e){var t,i;return I(e,492)?(i=u(e,416),u(i.a.dd(),14).gc()<=0?!1:(t=DMn(this.a,i.a.cd()),t==u(i.a.dd(),14).gc())):!1},s.Mc=function(e){var t,i,r,c;return I(e,492)&&(i=u(e,416),t=i.a.cd(),r=u(i.a.dd(),14).gc(),r!=0)?(c=this.a,q6e(c,t,r)):!1},w(an,"Multisets/EntrySet",1991),b(1109,1991,pu,svn),s.Kc=function(){return new x9n(yCn(T2(this.a.a)).Kc())},s.gc=function(){return T2(this.a.a).gc()},w(an,"AbstractMultiset/EntrySet",1109),b(619,726,Da),s.hc=function(){return this.gd()},s.jc=function(){return this.hd()},s.cc=function(e){return this.jd(e)},s.fc=function(e){return this.kd(e)},s.Zb=function(){var e;return e=this.f,e||(this.f=this.ac())},s.hd=function(){return Pn(),Pn(),zA},s.Fb=function(e){return dF(this,e)},s.jd=function(e){return u(ct(this,e),21)},s.kd=function(e){return u(l7(this,e),21)},s.mc=function(e){return Pn(),new Wp(u(e,21))},s.pc=function(e,t){return new jjn(this,e,u(t,21))},w(an,"AbstractSetMultimap",619),b(1657,619,Da),s.hc=function(){return new Y1(this.b)},s.gd=function(){return new Y1(this.b)},s.jc=function(){return DW(new Y1(this.b))},s.hd=function(){return DW(new Y1(this.b))},s.cc=function(e){return u(u(ct(this,e),21),84)},s.jd=function(e){return u(u(ct(this,e),21),84)},s.fc=function(e){return u(u(l7(this,e),21),84)},s.kd=function(e){return u(u(l7(this,e),21),84)},s.mc=function(e){return I(e,271)?DW(u(e,271)):(Pn(),new Hz(u(e,84)))},s.Zb=function(){var e;return e=this.f,e||(this.f=I(this.c,171)?new mE(this,u(this.c,171)):I(this.c,161)?new f8(this,u(this.c,161)):new Yp(this,this.c))},s.pc=function(e,t){return I(t,271)?new hyn(this,e,u(t,271)):new fU(this,e,u(t,84))},w(an,"AbstractSortedSetMultimap",1657),b(1658,1657,Da),s.Zb=function(){var e;return e=this.f,u(u(e||(this.f=I(this.c,171)?new mE(this,u(this.c,171)):I(this.c,161)?new f8(this,u(this.c,161)):new Yp(this,this.c)),161),171)},s.ec=function(){var e;return e=this.i,u(u(e||(this.i=I(this.c,171)?new Jp(this,u(this.c,171)):I(this.c,161)?new R9(this,u(this.c,161)):new Sw(this,this.c)),84),271)},s.bc=function(){return I(this.c,171)?new Jp(this,u(this.c,171)):I(this.c,161)?new R9(this,u(this.c,161)):new Sw(this,this.c)},w(an,"AbstractSortedKeySortedSetMultimap",1658),b(2010,1,{1947:1}),s.Fb=function(e){return D4e(this,e)},s.Hb=function(){var e;return FV((e=this.g,e||(this.g=new MI(this))))},s.Ib=function(){var e;return cxn((e=this.f,e||(this.f=new Fz(this))))},w(an,"AbstractTable",2010),b(665,df,pu,MI),s.$b=function(){z9n()},s.Hc=function(e){var t,i;return I(e,468)?(t=u(e,682),i=u(ab(GCn(this.a),el(t.c.e,t.b)),83),!!i&&fQ(i.vc(),new bd(el(t.c.c,t.a),D2(t.c,t.b,t.a)))):!1},s.Kc=function(){return g1e(this.a)},s.Mc=function(e){var t,i;return I(e,468)?(t=u(e,682),i=u(ab(GCn(this.a),el(t.c.e,t.b)),83),!!i&&bge(i.vc(),new bd(el(t.c.c,t.a),D2(t.c,t.b,t.a)))):!1},s.gc=function(){return tCn(this.a)},s.Nc=function(){return lae(this.a)},w(an,"AbstractTable/CellSet",665),b(1928,28,Sb,ovn),s.$b=function(){z9n()},s.Hc=function(e){return Eve(this.a,e)},s.Kc=function(){return p1e(this.a)},s.gc=function(){return tCn(this.a)},s.Nc=function(){return cAn(this.a)},w(an,"AbstractTable/Values",1928),b(1632,1631,Da),w(an,"ArrayListMultimapGwtSerializationDependencies",1632),b(513,1632,Da,JI,iX),s.hc=function(){return new Pc(this.a)},s.a=0,w(an,"ArrayListMultimap",513),b(664,2010,{664:1,1947:1,3:1},DLn),w(an,"ArrayTable",664),b(1924,386,C4,Ryn),s.Xb=function(e){return new BV(this.a,e)},w(an,"ArrayTable/1",1924),b(1925,1,{},evn),s.ld=function(e){return new BV(this.a,e)},w(an,"ArrayTable/1methodref$getCell$Type",1925),b(2011,1,{682:1}),s.Fb=function(e){var t;return e===this?!0:I(e,468)?(t=u(e,682),$f(el(this.c.e,this.b),el(t.c.e,t.b))&&$f(el(this.c.c,this.a),el(t.c.c,t.a))&&$f(D2(this.c,this.b,this.a),D2(t.c,t.b,t.a))):!1},s.Hb=function(){return gT(A(M(Zn,1),rn,1,5,[el(this.c.e,this.b),el(this.c.c,this.a),D2(this.c,this.b,this.a)]))},s.Ib=function(){return"("+el(this.c.e,this.b)+","+el(this.c.c,this.a)+")="+D2(this.c,this.b,this.a)},w(an,"Tables/AbstractCell",2011),b(468,2011,{468:1,682:1},BV),s.a=0,s.b=0,s.d=0,w(an,"ArrayTable/2",468),b(1927,1,{},tvn),s.ld=function(e){return gPn(this.a,e)},w(an,"ArrayTable/2methodref$getValue$Type",1927),b(1926,386,C4,_yn),s.Xb=function(e){return gPn(this.a,e)},w(an,"ArrayTable/3",1926),b(1979,1967,r0),s.$b=function(){DE(this.kc())},s.vc=function(){return new Evn(this)},s.lc=function(){return new vTn(this.kc(),this.gc())},w(an,"Maps/IteratorBasedAbstractMap",1979),b(828,1979,r0),s.$b=function(){throw T(new ye)},s._b=function(e){return h8n(this.c,e)},s.kc=function(){return new Kyn(this,this.c.b.c.gc())},s.lc=function(){return gD(this.c.b.c.gc(),16,new ivn(this))},s.xc=function(e){var t;return t=u(M5(this.c,e),19),t?this.nd(t.a):null},s.dc=function(){return this.c.b.c.dc()},s.ec=function(){return CD(this.c)},s.zc=function(e,t){var i;if(i=u(M5(this.c,e),19),!i)throw T(new Hn(this.md()+" "+e+" not in "+CD(this.c)));return this.od(i.a,t)},s.Bc=function(e){throw T(new ye)},s.gc=function(){return this.c.b.c.gc()},w(an,"ArrayTable/ArrayMap",828),b(1923,1,{},ivn),s.ld=function(e){return UCn(this.a,e)},w(an,"ArrayTable/ArrayMap/0methodref$getEntry$Type",1923),b(1921,345,PM,G8n),s.cd=function(){return Dce(this.a,this.b)},s.dd=function(){return this.a.nd(this.b)},s.ed=function(e){return this.a.od(this.b,e)},s.b=0,w(an,"ArrayTable/ArrayMap/1",1921),b(1922,386,C4,Kyn),s.Xb=function(e){return UCn(this.a,e)},w(an,"ArrayTable/ArrayMap/2",1922),b(1920,828,r0,$Cn),s.md=function(){return"Column"},s.nd=function(e){return D2(this.b,this.a,e)},s.od=function(e,t){return HOn(this.b,this.a,e,t)},s.a=0,w(an,"ArrayTable/Row",1920),b(829,828,r0,Fz),s.nd=function(e){return new $Cn(this.a,e)},s.zc=function(e,t){return u(t,83),wie()},s.od=function(e,t){return u(t,83),gie()},s.md=function(){return"Row"},w(an,"ArrayTable/RowMap",829),b(1120,1,Gs,z8n),s.qd=function(){return this.a.qd()&-262},s.rd=function(){return this.a.rd()},s.Nb=function(e){this.a.Nb(new _8n(e,this.b))},s.sd=function(e){return this.a.sd(new R8n(e,this.b))},w(an,"CollectSpliterators/1",1120),b(1121,1,Yn,R8n),s.td=function(e){this.a.td(this.b.Kb(e))},w(an,"CollectSpliterators/1/lambda$0$Type",1121),b(1122,1,Yn,_8n),s.td=function(e){this.a.td(this.b.Kb(e))},w(an,"CollectSpliterators/1/lambda$1$Type",1122),b(1123,1,Gs,gAn),s.qd=function(){return this.a},s.rd=function(){return this.d&&(this.b=kyn(this.b,this.d.rd())),kyn(this.b,0)},s.Nb=function(e){this.d&&(this.d.Nb(e),this.d=null),this.c.Nb(new B8n(this.e,e)),this.b=0},s.sd=function(e){for(;;){if(this.d&&this.d.sd(e))return b5(this.b,IM)&&(this.b=vl(this.b,1)),!0;if(this.d=null,!this.c.sd(new K8n(this,this.e)))return!1}},s.a=0,s.b=0,w(an,"CollectSpliterators/1FlatMapSpliterator",1123),b(1124,1,Yn,K8n),s.td=function(e){xue(this.a,this.b,e)},w(an,"CollectSpliterators/1FlatMapSpliterator/lambda$0$Type",1124),b(1125,1,Yn,B8n),s.td=function(e){mce(this.b,this.a,e)},w(an,"CollectSpliterators/1FlatMapSpliterator/lambda$1$Type",1125),b(1117,1,Gs,Yjn),s.qd=function(){return 16464|this.b},s.rd=function(){return this.a.rd()},s.Nb=function(e){this.a.xe(new q8n(e,this.c))},s.sd=function(e){return this.a.ye(new H8n(e,this.c))},s.b=0,w(an,"CollectSpliterators/1WithCharacteristics",1117),b(1118,1,Z7,H8n),s.ud=function(e){this.a.td(this.b.ld(e))},w(an,"CollectSpliterators/1WithCharacteristics/lambda$0$Type",1118),b(1119,1,Z7,q8n),s.ud=function(e){this.a.td(this.b.ld(e))},w(an,"CollectSpliterators/1WithCharacteristics/lambda$1$Type",1119),b(245,1,TL),s.wd=function(e){return this.vd(u(e,245))},s.vd=function(e){var t;return e==(HI(),uR)?1:e==(qI(),cR)?-1:(t=(PE(),Y8(this.a,e.a)),t!=0?t:I(this,519)==I(e,519)?0:I(this,519)?1:-1)},s.zd=function(){return this.a},s.Fb=function(e){return KQ(this,e)},w(an,"Cut",245),b(1761,245,TL,X9n),s.vd=function(e){return e==this?0:1},s.xd=function(e){throw T(new _q)},s.yd=function(e){e.a+="+∞)"},s.zd=function(){throw T(new Dr(X_n))},s.Hb=function(){return Zf(),QQ(this)},s.Ad=function(e){return!1},s.Ib=function(){return"+∞"};var cR;w(an,"Cut/AboveAll",1761),b(519,245,{245:1,519:1,3:1,35:1},Uyn),s.xd=function(e){rc((e.a+="(",e),this.a)},s.yd=function(e){sl(rc(e,this.a),93)},s.Hb=function(){return~mt(this.a)},s.Ad=function(e){return PE(),Y8(this.a,e)<0},s.Ib=function(){return"/"+this.a+"\\"},w(an,"Cut/AboveValue",519),b(1760,245,TL,V9n),s.vd=function(e){return e==this?0:-1},s.xd=function(e){e.a+="(-∞"},s.yd=function(e){throw T(new _q)},s.zd=function(){throw T(new Dr(X_n))},s.Hb=function(){return Zf(),QQ(this)},s.Ad=function(e){return!0},s.Ib=function(){return"-∞"};var uR;w(an,"Cut/BelowAll",1760),b(1762,245,TL,Wyn),s.xd=function(e){rc((e.a+="[",e),this.a)},s.yd=function(e){sl(rc(e,this.a),41)},s.Hb=function(){return mt(this.a)},s.Ad=function(e){return PE(),Y8(this.a,e)<=0},s.Ib=function(){return"\\"+this.a+"/"},w(an,"Cut/BelowValue",1762),b(537,1,lh),s.Jc=function(e){$i(this,e)},s.Ib=function(){return Gge(u(tC(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc())},w(an,"FluentIterable",537),b(433,537,lh,p5),s.Kc=function(){return new re(ue(this.a.Kc(),new Mn))},w(an,"FluentIterable/2",433),b(1046,537,lh,Jkn),s.Kc=function(){return ul(this)},w(an,"FluentIterable/3",1046),b(708,386,C4,xz),s.Xb=function(e){return this.a[e].Kc()},w(an,"FluentIterable/3/1",708),b(1972,1,{}),s.Ib=function(){return Lr(this.Bd().b)},w(an,"ForwardingObject",1972),b(1973,1972,V_n),s.Bd=function(){return this.Cd()},s.Jc=function(e){$i(this,e)},s.Lc=function(){return this.Oc()},s.Nc=function(){return new xn(this,0)},s.Oc=function(){return new $n(null,this.Nc())},s.Fc=function(e){return this.Cd(),b8n()},s.Gc=function(e){return this.Cd(),w8n()},s.$b=function(){this.Cd(),g8n()},s.Hc=function(e){return this.Cd().Hc(e)},s.Ic=function(e){return this.Cd().Ic(e)},s.dc=function(){return this.Cd().b.dc()},s.Kc=function(){return this.Cd().Kc()},s.Mc=function(e){return this.Cd(),p8n()},s.gc=function(){return this.Cd().b.gc()},s.Pc=function(){return this.Cd().Pc()},s.Qc=function(e){return this.Cd().Qc(e)},w(an,"ForwardingCollection",1973),b(1980,28,XZ),s.Kc=function(){return this.Ed()},s.Fc=function(e){throw T(new ye)},s.Gc=function(e){throw T(new ye)},s.$b=function(){throw T(new ye)},s.Hc=function(e){return e!=null&&db(this,e,!1)},s.Dd=function(){switch(this.gc()){case 0:return nb(),nb(),sR;case 1:return nb(),new pD(pe(this.Ed().Pb()));default:return new FCn(this,this.Pc())}},s.Mc=function(e){throw T(new ye)},w(an,"ImmutableCollection",1980),b(712,1980,XZ,Bq),s.Kc=function(){return $2(this.a.Kc())},s.Hc=function(e){return e!=null&&this.a.Hc(e)},s.Ic=function(e){return this.a.Ic(e)},s.dc=function(){return this.a.dc()},s.Ed=function(){return $2(this.a.Kc())},s.gc=function(){return this.a.gc()},s.Pc=function(){return this.a.Pc()},s.Qc=function(e){return this.a.Qc(e)},s.Ib=function(){return Lr(this.a)},w(an,"ForwardingImmutableCollection",712),b(152,1980,x6),s.Kc=function(){return this.Ed()},s.Yc=function(){return this.Fd(0)},s.Zc=function(e){return this.Fd(e)},s.ad=function(e){Lw(this,e)},s.Nc=function(){return new xn(this,16)},s.bd=function(e,t){return this.Gd(e,t)},s.Vc=function(e,t){throw T(new ye)},s.Wc=function(e,t){throw T(new ye)},s.Fb=function(e){return Rme(this,e)},s.Hb=function(){return Qbe(this)},s.Xc=function(e){return e==null?-1:f3e(this,e)},s.Ed=function(){return this.Fd(0)},s.Fd=function(e){return Qz(this,e)},s.$c=function(e){throw T(new ye)},s._c=function(e,t){throw T(new ye)},s.Gd=function(e,t){var i;return mT((i=new t7n(this),new ch(i,e,t)))};var sR;w(an,"ImmutableList",152),b(2006,152,x6),s.Kc=function(){return $2(this.Hd().Kc())},s.bd=function(e,t){return mT(this.Hd().bd(e,t))},s.Hc=function(e){return e!=null&&this.Hd().Hc(e)},s.Ic=function(e){return this.Hd().Ic(e)},s.Fb=function(e){return tt(this.Hd(),e)},s.Xb=function(e){return el(this,e)},s.Hb=function(){return mt(this.Hd())},s.Xc=function(e){return this.Hd().Xc(e)},s.dc=function(){return this.Hd().dc()},s.Ed=function(){return $2(this.Hd().Kc())},s.gc=function(){return this.Hd().gc()},s.Gd=function(e,t){return mT(this.Hd().bd(e,t))},s.Pc=function(){return this.Hd().Qc(F(Zn,rn,1,this.Hd().gc(),5,1))},s.Qc=function(e){return this.Hd().Qc(e)},s.Ib=function(){return Lr(this.Hd())},w(an,"ForwardingImmutableList",2006),b(714,1,T4),s.vc=function(){return Ed(this)},s.wc=function(e){n6(this,e)},s.ec=function(){return CD(this)},s.yc=function(e,t,i){return IF(this,e,t,i)},s.Cc=function(){return this.Ld()},s.$b=function(){throw T(new ye)},s._b=function(e){return this.xc(e)!=null},s.uc=function(e){return this.Ld().Hc(e)},s.Jd=function(){return new Rmn(this)},s.Kd=function(){return new _mn(this)},s.Fb=function(e){return Hwe(this,e)},s.Hb=function(){return Ed(this).Hb()},s.dc=function(){return this.gc()==0},s.zc=function(e,t){return pie()},s.Bc=function(e){throw T(new ye)},s.Ib=function(){return k5e(this)},s.Ld=function(){return this.e?this.e:this.e=this.Kd()},s.c=null,s.d=null,s.e=null;var fzn;w(an,"ImmutableMap",714),b(715,714,T4),s._b=function(e){return h8n(this,e)},s.uc=function(e){return u7n(this.b,e)},s.Id=function(){return xDn(new fvn(this))},s.Jd=function(){return xDn(bTn(this.b))},s.Kd=function(){return Df(),new Bq(dTn(this.b))},s.Fb=function(e){return s7n(this.b,e)},s.xc=function(e){return M5(this,e)},s.Hb=function(){return mt(this.b.c)},s.dc=function(){return this.b.c.dc()},s.gc=function(){return this.b.c.gc()},s.Ib=function(){return Lr(this.b.c)},w(an,"ForwardingImmutableMap",715),b(1974,1973,ML),s.Bd=function(){return this.Md()},s.Cd=function(){return this.Md()},s.Nc=function(){return new xn(this,1)},s.Fb=function(e){return e===this||this.Md().Fb(e)},s.Hb=function(){return this.Md().Hb()},w(an,"ForwardingSet",1974),b(1069,1974,ML,fvn),s.Bd=function(){return p3(this.a.b)},s.Cd=function(){return p3(this.a.b)},s.Hc=function(e){if(I(e,42)&&u(e,42).cd()==null)return!1;try{return c7n(p3(this.a.b),e)}catch(t){if(t=jt(t),I(t,205))return!1;throw T(t)}},s.Md=function(){return p3(this.a.b)},s.Qc=function(e){var t;return t=VTn(p3(this.a.b),e),p3(this.a.b).b.gc()=0?"+":"")+(i/60|0),t=tE(j.Math.abs(i)%60),(wxn(),Tzn)[this.q.getDay()]+" "+Mzn[this.q.getMonth()]+" "+tE(this.q.getDate())+" "+tE(this.q.getHours())+":"+tE(this.q.getMinutes())+":"+tE(this.q.getSeconds())+" GMT"+e+t+" "+this.q.getFullYear()};var HA=w(fe,"Date",199);b(1915,199,rKn,HFn),s.a=!1,s.b=0,s.c=0,s.d=0,s.e=0,s.f=0,s.g=!1,s.i=0,s.j=0,s.k=0,s.n=0,s.o=0,s.p=0,w("com.google.gwt.i18n.shared.impl","DateRecord",1915),b(1966,1,{}),s.fe=function(){return null},s.ge=function(){return null},s.he=function(){return null},s.ie=function(){return null},s.je=function(){return null},w(Q2,"JSONValue",1966),b(216,1966,{216:1},na,sq),s.Fb=function(e){return I(e,216)?uX(this.a,u(e,216).a):!1},s.ee=function(){return Rte},s.Hb=function(){return WW(this.a)},s.fe=function(){return this},s.Ib=function(){var e,t,i;for(i=new Ju("["),t=0,e=this.a.length;t0&&(i.a+=","),rc(i,ub(this,t));return i.a+="]",i.a},w(Q2,"JSONArray",216),b(483,1966,{483:1},oq),s.ee=function(){return _te},s.ge=function(){return this},s.Ib=function(){return qn(),""+this.a},s.a=!1;var gzn,pzn;w(Q2,"JSONBoolean",483),b(985,60,Uh,L9n),w(Q2,"JSONException",985),b(1023,1966,{},ww),s.ee=function(){return zte},s.Ib=function(){return iu};var vzn;w(Q2,"JSONNull",1023),b(258,1966,{258:1},nj),s.Fb=function(e){return I(e,258)?this.a==u(e,258).a:!1},s.ee=function(){return Kte},s.Hb=function(){return i3(this.a)},s.he=function(){return this},s.Ib=function(){return this.a+""},s.a=0,w(Q2,"JSONNumber",258),b(183,1966,{183:1},r2,M9),s.Fb=function(e){return I(e,183)?uX(this.a,u(e,183).a):!1},s.ee=function(){return Hte},s.Hb=function(){return WW(this.a)},s.ie=function(){return this},s.Ib=function(){var e,t,i,r,c,o,f;for(f=new Ju("{"),e=!0,o=Z$(this,F(tn,q,2,0,6,1)),i=o,r=0,c=i.length;r=0?":"+this.c:"")+")"},s.c=0;var Ain=w(Ur,"StackTraceElement",310);ozn={3:1,475:1,35:1,2:1};var tn=w(Ur,VZ,2);b(107,418,{475:1},i1,zv,Bs),w(Ur,"StringBuffer",107),b(100,418,{475:1},V1,R0,Ju),w(Ur,"StringBuilder",100),b(687,73,VL,wG),w(Ur,"StringIndexOutOfBoundsException",687),b(2043,1,{});var Sin;b(844,1,{},cln),s.Kb=function(e){return u(e,78).e},w(Ur,"Throwable/lambda$0$Type",844),b(41,60,{3:1,102:1,60:1,78:1,41:1},ye,t1),w(Ur,"UnsupportedOperationException",41),b(240,236,{3:1,35:1,236:1,240:1},W8,CG),s.wd=function(e){return VBn(this,u(e,240))},s.ke=function(){return kb(ORn(this))},s.Fb=function(e){var t;return this===e?!0:I(e,240)?(t=u(e,240),this.e==t.e&&VBn(this,t)==0):!1},s.Hb=function(){var e;return this.b!=0?this.b:this.a<54?(e=eu(this.f),this.b=ge(ci(e,-1)),this.b=33*this.b+ge(ci(cl(e,32),-1)),this.b=17*this.b+Gt(this.e),this.b):(this.b=17*PDn(this.c)+Gt(this.e),this.b)},s.Ib=function(){return ORn(this)},s.a=0,s.b=0,s.d=0,s.e=0,s.f=0;var jzn,Ga,Pin,Iin,Oin,Din,$in,Fin,wR=w("java.math","BigDecimal",240);b(91,236,{3:1,35:1,236:1,91:1},VQ,l1,Pw,OJ,D$n,il),s.wd=function(e){return A$n(this,u(e,91))},s.ke=function(){return kb(jL(this,0))},s.Fb=function(e){return SQ(this,e)},s.Hb=function(){return PDn(this)},s.Ib=function(){return jL(this,0)},s.b=-2,s.c=0,s.d=0,s.e=0;var gR,qA,xin,pR,GA,W4,vg=w("java.math","BigInteger",91),Ezn,Czn,fp,wm;b(488,1967,r0),s.$b=function(){Eu(this)},s._b=function(e){return zu(this,e)},s.uc=function(e){return dDn(this,e,this.g)||dDn(this,e,this.f)},s.vc=function(){return new ta(this)},s.xc=function(e){return te(this,e)},s.zc=function(e,t){return it(this,e,t)},s.Bc=function(e){return O2(this,e)},s.gc=function(){return Xv(this)},w(fe,"AbstractHashMap",488),b(261,df,pu,ta),s.$b=function(){this.a.$b()},s.Hc=function(e){return lAn(this,e)},s.Kc=function(){return new Ea(this.a)},s.Mc=function(e){var t;return lAn(this,e)?(t=u(e,42).cd(),this.a.Bc(t),!0):!1},s.gc=function(){return this.a.gc()},w(fe,"AbstractHashMap/EntrySet",261),b(262,1,yi,Ea),s.Nb=function(e){Oi(this,e)},s.Pb=function(){return Nd(this)},s.Ob=function(){return this.b},s.Qb=function(){oPn(this)},s.b=!1,w(fe,"AbstractHashMap/EntrySetIterator",262),b(417,1,yi,$v),s.Nb=function(e){Oi(this,e)},s.Ob=function(){return G9(this)},s.Pb=function(){return $Tn(this)},s.Qb=function(){Uu(this)},s.b=0,s.c=-1,w(fe,"AbstractList/IteratorImpl",417),b(96,417,hh,Ii),s.Qb=function(){Uu(this)},s.Rb=function(e){X0(this,e)},s.Sb=function(){return this.b>0},s.Tb=function(){return this.b},s.Ub=function(){return ne(this.b>0),this.a.Xb(this.c=--this.b)},s.Vb=function(){return this.b-1},s.Wb=function(e){z0(this.c!=-1),this.a._c(this.c,e)},w(fe,"AbstractList/ListIteratorImpl",96),b(219,52,A4,ch),s.Vc=function(e,t){tb(e,this.b),this.c.Vc(this.a+e,t),++this.b},s.Xb=function(e){return Ln(e,this.b),this.c.Xb(this.a+e)},s.$c=function(e){var t;return Ln(e,this.b),t=this.c.$c(this.a+e),--this.b,t},s._c=function(e,t){return Ln(e,this.b),this.c._c(this.a+e,t)},s.gc=function(){return this.b},s.a=0,s.b=0,w(fe,"AbstractList/SubList",219),b(384,df,pu,Rp),s.$b=function(){this.a.$b()},s.Hc=function(e){return this.a._b(e)},s.Kc=function(){var e;return e=this.a.vc().Kc(),new bq(e)},s.Mc=function(e){return this.a._b(e)?(this.a.Bc(e),!0):!1},s.gc=function(){return this.a.gc()},w(fe,"AbstractMap/1",384),b(691,1,yi,bq),s.Nb=function(e){Oi(this,e)},s.Ob=function(){return this.a.Ob()},s.Pb=function(){var e;return e=u(this.a.Pb(),42),e.cd()},s.Qb=function(){this.a.Qb()},w(fe,"AbstractMap/1/1",691),b(226,28,Sb,Mh),s.$b=function(){this.a.$b()},s.Hc=function(e){return this.a.uc(e)},s.Kc=function(){var e;return e=this.a.vc().Kc(),new L0(e)},s.gc=function(){return this.a.gc()},w(fe,"AbstractMap/2",226),b(294,1,yi,L0),s.Nb=function(e){Oi(this,e)},s.Ob=function(){return this.a.Ob()},s.Pb=function(){var e;return e=u(this.a.Pb(),42),e.dd()},s.Qb=function(){this.a.Qb()},w(fe,"AbstractMap/2/1",294),b(484,1,{484:1,42:1}),s.Fb=function(e){var t;return I(e,42)?(t=u(e,42),pc(this.d,t.cd())&&pc(this.e,t.dd())):!1},s.cd=function(){return this.d},s.dd=function(){return this.e},s.Hb=function(){return Tw(this.d)^Tw(this.e)},s.ed=function(e){return gU(this,e)},s.Ib=function(){return this.d+"="+this.e},w(fe,"AbstractMap/AbstractEntry",484),b(383,484,{484:1,383:1,42:1},Nj),w(fe,"AbstractMap/SimpleEntry",383),b(1984,1,ZL),s.Fb=function(e){var t;return I(e,42)?(t=u(e,42),pc(this.cd(),t.cd())&&pc(this.dd(),t.dd())):!1},s.Hb=function(){return Tw(this.cd())^Tw(this.dd())},s.Ib=function(){return this.cd()+"="+this.dd()},w(fe,U_n,1984),b(1992,1967,G_n),s.tc=function(e){return mSn(this,e)},s._b=function(e){return cD(this,e)},s.vc=function(){return new mq(this)},s.xc=function(e){var t;return t=e,Vr(VV(this,t))},s.ec=function(){return new P9(this)},w(fe,"AbstractNavigableMap",1992),b(739,df,pu,mq),s.Hc=function(e){return I(e,42)&&mSn(this.b,u(e,42))},s.Kc=function(){return new T5(this.b)},s.Mc=function(e){var t;return I(e,42)?(t=u(e,42),uPn(this.b,t)):!1},s.gc=function(){return this.b.c},w(fe,"AbstractNavigableMap/EntrySet",739),b(493,df,WZ,P9),s.Nc=function(){return new xj(this)},s.$b=function(){Kv(this.a)},s.Hc=function(e){return cD(this.a,e)},s.Kc=function(){var e;return e=new T5(new j5(this.a).b),new I9(e)},s.Mc=function(e){return cD(this.a,e)?(R5(this.a,e),!0):!1},s.gc=function(){return this.a.c},w(fe,"AbstractNavigableMap/NavigableKeySet",493),b(494,1,yi,I9),s.Nb=function(e){Oi(this,e)},s.Ob=function(){return G9(this.a.a)},s.Pb=function(){var e;return e=pE(this.a),e.cd()},s.Qb=function(){fEn(this.a)},w(fe,"AbstractNavigableMap/NavigableKeySet/1",494),b(2004,28,Sb),s.Fc=function(e){return M3(f4(this,e)),!0},s.Gc=function(e){return _n(e),TE(e!=this,"Can't add a queue to itself"),Vi(this,e)},s.$b=function(){for(;K$(this)!=null;);},w(fe,"AbstractQueue",2004),b(302,28,{4:1,20:1,28:1,14:1},gw,LMn),s.Fc=function(e){return bX(this,e),!0},s.$b=function(){kX(this)},s.Hc=function(e){return LOn(new B5(this),e)},s.dc=function(){return Hv(this)},s.Kc=function(){return new B5(this)},s.Mc=function(e){return ele(new B5(this),e)},s.gc=function(){return this.c-this.b&this.a.length-1},s.Nc=function(){return new xn(this,272)},s.Qc=function(e){var t;return t=this.c-this.b&this.a.length-1,e.lengtht&&Mt(e,t,null),e},s.b=0,s.c=0,w(fe,"ArrayDeque",302),b(446,1,yi,B5),s.Nb=function(e){Oi(this,e)},s.Ob=function(){return this.a!=this.b},s.Pb=function(){return vT(this)},s.Qb=function(){FIn(this)},s.a=0,s.b=0,s.c=-1,w(fe,"ArrayDeque/IteratorImpl",446),b(12,52,sKn,X,Pc,du),s.Vc=function(e,t){Q0(this,e,t)},s.Fc=function(e){return W(this,e)},s.Wc=function(e,t){return eQ(this,e,t)},s.Gc=function(e){return Yt(this,e)},s.$b=function(){this.c=F(Zn,rn,1,0,5,1)},s.Hc=function(e){return Fr(this,e,0)!=-1},s.Jc=function(e){Yc(this,e)},s.Xb=function(e){return un(this,e)},s.Xc=function(e){return Fr(this,e,0)},s.dc=function(){return this.c.length==0},s.Kc=function(){return new E(this)},s.$c=function(e){return h1(this,e)},s.Mc=function(e){return Qc(this,e)},s.Ud=function(e,t){xMn(this,e,t)},s._c=function(e,t){return Es(this,e,t)},s.gc=function(){return this.c.length},s.ad=function(e){bi(this,e)},s.Pc=function(){return XO(this)},s.Qc=function(e){return lf(this,e)};var RTe=w(fe,"ArrayList",12);b(7,1,yi,E),s.Nb=function(e){Oi(this,e)},s.Ob=function(){return Kr(this)},s.Pb=function(){return y(this)},s.Qb=function(){F5(this)},s.a=0,s.b=-1,w(fe,"ArrayList/1",7),b(2013,j.Function,{},zy),s.te=function(e,t){return Zt(e,t)},b(154,52,oKn,Ku),s.Hc=function(e){return LIn(this,e)!=-1},s.Jc=function(e){var t,i,r,c;for(_n(e),i=this.a,r=0,c=i.length;r>>0,e.toString(16)))},s.f=0,s.i=Vt;var VA=w(bh,"CNode",57);b(814,1,{},Vq),w(bh,"CNode/CNodeBuilder",814);var _zn;b(1525,1,{},Tln),s.Oe=function(e,t){return 0},s.Pe=function(e,t){return 0},w(bh,gKn,1525),b(1790,1,{},Mln),s.Le=function(e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C;for(a=Ft,r=new E(e.a.b);r.ar.d.c||r.d.c==o.d.c&&r.d.b0?e+this.n.d+this.n.a:0},s.Se=function(){var e,t,i,r,c;if(c=0,this.e)this.b?c=this.b.a:this.a[1][1]&&(c=this.a[1][1].Se());else if(this.g)c=EQ(this,lx(this,null,!0));else for(t=(_o(),A(M(_b,1),z,232,0,[Zr,Fc,nc])),i=0,r=t.length;i0?c+this.n.b+this.n.c:0},s.Te=function(){var e,t,i,r,c;if(this.g)for(e=lx(this,null,!1),i=(_o(),A(M(_b,1),z,232,0,[Zr,Fc,nc])),r=0,c=i.length;r0&&(r[0]+=this.d,i-=r[0]),r[2]>0&&(r[2]+=this.d,i-=r[2]),this.c.a=j.Math.max(0,i),this.c.d=t.d+e.d+(this.c.a-i)/2,r[1]=j.Math.max(r[1],i),AX(this,Fc,t.d+e.d+r[0]-(r[1]-i)/2,r)},s.b=null,s.d=0,s.e=!1,s.f=!1,s.g=!1;var CR=0,QA=0;w(Fa,"GridContainerCell",1473),b(461,22,{3:1,35:1,22:1,461:1},oO);var Ol,Xf,Co,Qzn=Ae(Fa,"HorizontalLabelAlignment",461,Ie,gle,nse),Jzn;b(306,212,{212:1,306:1},tMn,fIn,ZTn),s.Re=function(){return _En(this)},s.Se=function(){return nW(this)},s.a=0,s.c=!1;var VTe=w(Fa,"LabelCell",306);b(244,326,{212:1,326:1,244:1},l6),s.Re=function(){return $7(this)},s.Se=function(){return F7(this)},s.Te=function(){tL(this)},s.Ue=function(){iL(this)},s.b=0,s.c=0,s.d=!1,w(Fa,"StripContainerCell",244),b(1626,1,Ve,$ln),s.Mb=function(e){return die(u(e,212))},w(Fa,"StripContainerCell/lambda$0$Type",1626),b(1627,1,{},Fln),s.Fe=function(e){return u(e,212).Se()},w(Fa,"StripContainerCell/lambda$1$Type",1627),b(1628,1,Ve,xln),s.Mb=function(e){return bie(u(e,212))},w(Fa,"StripContainerCell/lambda$2$Type",1628),b(1629,1,{},Lln),s.Fe=function(e){return u(e,212).Re()},w(Fa,"StripContainerCell/lambda$3$Type",1629),b(462,22,{3:1,35:1,22:1,462:1},fO);var To,Dl,Wo,Yzn=Ae(Fa,"VerticalLabelAlignment",462,Ie,ple,ese),Zzn;b(789,1,{},NZ),s.c=0,s.d=0,s.k=0,s.s=0,s.t=0,s.v=!1,s.w=0,s.D=!1,w(LM,"NodeContext",789),b(1471,1,lt,Nln),s.ue=function(e,t){return tyn(u(e,61),u(t,61))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(LM,"NodeContext/0methodref$comparePortSides$Type",1471),b(1472,1,lt,Bln),s.ue=function(e,t){return Kve(u(e,111),u(t,111))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(LM,"NodeContext/1methodref$comparePortContexts$Type",1472),b(159,22,{3:1,35:1,22:1,159:1},Ms);var nUn,eUn,tUn,iUn,rUn,cUn,uUn,sUn,oUn,fUn,hUn,lUn,aUn,dUn,bUn,wUn,gUn,pUn,vUn,mUn,kUn,TR,yUn=Ae(LM,"NodeLabelLocation",159,Ie,qF,tse),jUn;b(111,1,{111:1},xLn),s.a=!1,w(LM,"PortContext",111),b(1476,1,Yn,Rln),s.td=function(e){y8n(u(e,306))},w(sk,PKn,1476),b(1477,1,Ve,_ln),s.Mb=function(e){return!!u(e,111).c},w(sk,IKn,1477),b(1478,1,Yn,Kln),s.td=function(e){y8n(u(e,111).c)},w(sk,"LabelPlacer/lambda$2$Type",1478);var prn;b(1475,1,Yn,qln),s.td=function(e){W0(),Wte(u(e,111))},w(sk,"NodeLabelAndSizeUtilities/lambda$0$Type",1475),b(790,1,Yn,$U),s.td=function(e){cre(this.b,this.c,this.a,u(e,181))},s.a=!1,s.c=!1,w(sk,"NodeLabelCellCreator/lambda$0$Type",790),b(1474,1,Yn,i5n),s.td=function(e){Qte(this.a,u(e,181))},w(sk,"PortContextCreator/lambda$0$Type",1474);var JA;b(1829,1,{},Gln),w(O4,"GreedyRectangleStripOverlapRemover",1829),b(1830,1,lt,Hln),s.ue=function(e,t){return Nce(u(e,222),u(t,222))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(O4,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1830),b(1786,1,{},Zmn),s.a=5,s.e=0,w(O4,"RectangleStripOverlapRemover",1786),b(1787,1,lt,Uln),s.ue=function(e,t){return Bce(u(e,222),u(t,222))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(O4,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1787),b(1789,1,lt,Wln),s.ue=function(e,t){return ohe(u(e,222),u(t,222))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(O4,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1789),b(406,22,{3:1,35:1,22:1,406:1},_j);var Ik,MR,AR,Ok,EUn=Ae(O4,"RectangleStripOverlapRemover/OverlapRemovalDirection",406,Ie,gae,ise),CUn;b(222,1,{222:1},jD),w(O4,"RectangleStripOverlapRemover/RectangleNode",222),b(1788,1,Yn,r5n),s.td=function(e){a3e(this.a,u(e,222))},w(O4,"RectangleStripOverlapRemover/lambda$1$Type",1788),b(1304,1,lt,Xln),s.ue=function(e,t){return vje(u(e,167),u(t,167))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(_f,"PolyominoCompactor/CornerCasesGreaterThanRestComparator",1304),b(1307,1,{},Vln),s.Kb=function(e){return u(e,324).a},w(_f,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type",1307),b(1308,1,Ve,Qln),s.Mb=function(e){return u(e,323).a},w(_f,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type",1308),b(1309,1,Ve,Jln),s.Mb=function(e){return u(e,323).a},w(_f,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type",1309),b(1302,1,lt,Yln),s.ue=function(e,t){return Y7e(u(e,167),u(t,167))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(_f,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator",1302),b(1305,1,{},zln),s.Kb=function(e){return u(e,324).a},w(_f,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type",1305),b(767,1,lt,xH),s.ue=function(e,t){return nwe(u(e,167),u(t,167))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(_f,"PolyominoCompactor/MinNumOfExtensionsComparator",767),b(1300,1,lt,Zln),s.ue=function(e,t){return fbe(u(e,321),u(t,321))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(_f,"PolyominoCompactor/MinPerimeterComparator",1300),b(1301,1,lt,nan),s.ue=function(e,t){return Rpe(u(e,321),u(t,321))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(_f,"PolyominoCompactor/MinPerimeterComparatorWithShape",1301),b(1303,1,lt,ean),s.ue=function(e,t){return yke(u(e,167),u(t,167))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(_f,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator",1303),b(1306,1,{},tan),s.Kb=function(e){return u(e,324).a},w(_f,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type",1306),b(777,1,{},_G),s.Ce=function(e,t){return aae(this,u(e,46),u(t,167))},w(_f,"SuccessorCombination",777),b(644,1,{},wI),s.Ce=function(e,t){var i;return eme((i=u(e,46),u(t,167),i))},w(_f,"SuccessorJitter",644),b(643,1,{},gI),s.Ce=function(e,t){var i;return q8e((i=u(e,46),u(t,167),i))},w(_f,"SuccessorLineByLine",643),b(568,1,{},Uy),s.Ce=function(e,t){var i;return t9e((i=u(e,46),u(t,167),i))},w(_f,"SuccessorManhattan",568),b(1356,1,{},ian),s.Ce=function(e,t){var i;return d8e((i=u(e,46),u(t,167),i))},w(_f,"SuccessorMaxNormWindingInMathPosSense",1356),b(400,1,{},Hp),s.Ce=function(e,t){return SW(this,e,t)},s.c=!1,s.d=!1,s.e=!1,s.f=!1,w(_f,"SuccessorQuadrantsGeneric",400),b(1357,1,{},ran),s.Kb=function(e){return u(e,324).a},w(_f,"SuccessorQuadrantsGeneric/lambda$0$Type",1357),b(323,22,{3:1,35:1,22:1,323:1},Rj),s.a=!1;var Dk,$k,Fk,xk,TUn=Ae(BM,bnn,323,Ie,mae,rse),MUn;b(1298,1,{}),s.Ib=function(){var e,t,i,r,c,o;for(i=" ",e=Q(0),c=0;c=0?"b"+e+"["+k$(this.a)+"]":"b["+k$(this.a)+"]"):"b_"+md(this)},w(fk,"FBendpoint",559),b(282,134,{3:1,282:1,94:1,134:1},Ljn),s.Ib=function(){return k$(this)},w(fk,"FEdge",282),b(231,134,{3:1,231:1,94:1,134:1},TC);var JTe=w(fk,"FGraph",231);b(447,357,{3:1,447:1,357:1,94:1,134:1},RAn),s.Ib=function(){return this.b==null||this.b.length==0?"l["+k$(this.a)+"]":"l_"+this.b},w(fk,"FLabel",447),b(144,357,{3:1,144:1,357:1,94:1,134:1},VCn),s.Ib=function(){return cX(this)},s.b=0,w(fk,"FNode",144),b(2003,1,{}),s.bf=function(e){gZ(this,e)},s.cf=function(){vFn(this)},s.d=0,w(Cnn,"AbstractForceModel",2003),b(631,2003,{631:1},SOn),s.af=function(e,t){var i,r,c,o,f;return bLn(this.f,e,t),c=ki(Qr(t.d),e.d),f=j.Math.sqrt(c.a*c.a+c.b*c.b),r=j.Math.max(0,f-L5(e.e)/2-L5(t.e)/2),i=rDn(this.e,e,t),i>0?o=-che(r,this.c)*i:o=Jce(r,this.b)*u(k(e,(Go(),Q4)),19).a,If(c,o/f),c},s.bf=function(e){gZ(this,e),this.a=u(k(e,(Go(),iS)),19).a,this.c=K(Y(k(e,rS))),this.b=K(Y(k(e,FR)))},s.df=function(e){return e0&&(o-=fie(r,this.a)*i),If(c,o*this.b/f),c},s.bf=function(e){var t,i,r,c,o,f,h;for(gZ(this,e),this.b=K(Y(k(e,(Go(),xR)))),this.c=this.b/u(k(e,iS),19).a,r=e.e.c.length,o=0,c=0,h=new E(e.e);h.a0},s.a=0,s.b=0,s.c=0,w(Cnn,"FruchtermanReingoldModel",632),b(849,1,zs,f4n),s.Qe=function(e){En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,KM),""),"Force Model"),"Determines the model for force calculation."),Mrn),(y1(),Nt)),Arn),Cn((Ho(),Xn))))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Tnn),""),"Iterations"),"The number of iterations on the force model."),Q(300)),sc),Wi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Mnn),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),Q(0)),sc),Wi),Cn(Yf)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,yN),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),Kf),Or),Mi),Cn(Xn)))),Ci(e,yN,KM,UUn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,jN),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),Or),Mi),Cn(Xn)))),Ci(e,jN,KM,qUn),w_n((new h4n,e))};var _Un,KUn,Mrn,HUn,qUn,GUn,zUn,UUn;w(H6,"ForceMetaDataProvider",849),b(424,22,{3:1,35:1,22:1,424:1},GG);var $R,tS,Arn=Ae(H6,"ForceModelStrategy",424,Ie,z1e,sse),WUn;b(988,1,zs,h4n),s.Qe=function(e){w_n(e)};var XUn,VUn,Srn,iS,Prn,QUn,JUn,YUn,Irn,ZUn,Orn,Drn,nWn,Q4,eWn,FR,$rn,tWn,iWn,rS,xR;w(H6,"ForceOptions",988),b(989,1,{},van),s.$e=function(){var e;return e=new Uq,e},s._e=function(e){},w(H6,"ForceOptions/ForceFactory",989);var Bk,vm,hp,cS;b(850,1,zs,l4n),s.Qe=function(e){En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Snn),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(qn(),!1)),(y1(),_i)),si),Cn((Ho(),pi))))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Pnn),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),Or),Mi),pt(Xn,A(M($1,1),z,175,0,[Yf]))))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Inn),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),Frn),Nt),Krn),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Onn),""),"Stress Epsilon"),"Termination criterion for the iterative process."),Kf),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Dnn),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),Q(nt)),sc),Wi),Cn(Xn)))),ZRn((new a4n,e))};var rWn,cWn,Frn,uWn,sWn,oWn;w(H6,"StressMetaDataProvider",850),b(992,1,zs,a4n),s.Qe=function(e){ZRn(e)};var uS,xrn,Lrn,Nrn,Brn,Rrn,fWn,hWn,lWn,aWn,_rn,dWn;w(H6,"StressOptions",992),b(993,1,{},man),s.$e=function(){var e;return e=new Njn,e},s._e=function(e){},w(H6,"StressOptions/StressFactory",993),b(1128,209,xa,Njn),s.Ze=function(e,t){var i,r,c,o,f;for(le(t,HKn,1),on(sn(hn(e,(C7(),Brn))))?on(sn(hn(e,_rn)))||oC((i=new O9((K0(),new N0(e))),i)):kNn(new Uq,e,kc(t,1)),c=QOn(e),r=fRn(this.a,c),f=r.Kc();f.Ob();)o=u(f.Pb(),231),!(o.e.c.length<=1)&&(gje(this.b,o),Xme(this.b),Yc(o.d,new kan));c=j_n(r),m_n(c),ce(t)},w(GM,"StressLayoutProvider",1128),b(1129,1,Yn,kan),s.td=function(e){EZ(u(e,447))},w(GM,"StressLayoutProvider/lambda$0$Type",1129),b(990,1,{},Umn),s.c=0,s.e=0,s.g=0,w(GM,"StressMajorization",990),b(379,22,{3:1,35:1,22:1,379:1},hO);var LR,NR,BR,Krn=Ae(GM,"StressMajorization/Dimension",379,Ie,mle,ose),bWn;b(991,1,lt,o5n),s.ue=function(e,t){return Bue(this.a,u(e,144),u(t,144))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(GM,"StressMajorization/lambda$0$Type",991),b(1229,1,{},YMn),w(rp,"ElkLayered",1229),b(1230,1,Yn,yan),s.td=function(e){V6e(u(e,37))},w(rp,"ElkLayered/lambda$0$Type",1230),b(1231,1,Yn,f5n),s.td=function(e){Rue(this.a,u(e,37))},w(rp,"ElkLayered/lambda$1$Type",1231),b(1263,1,{},Cyn);var wWn,gWn,pWn;w(rp,"GraphConfigurator",1263),b(759,1,Yn,Sq),s.td=function(e){Mxn(this.a,u(e,10))},w(rp,"GraphConfigurator/lambda$0$Type",759),b(760,1,{},NH),s.Kb=function(e){return kJ(),new $n(null,new xn(u(e,29).a,16))},w(rp,"GraphConfigurator/lambda$1$Type",760),b(761,1,Yn,Pq),s.td=function(e){Mxn(this.a,u(e,10))},w(rp,"GraphConfigurator/lambda$2$Type",761),b(1127,209,xa,Vmn),s.Ze=function(e,t){var i;i=Nye(new e9n,e),B(hn(e,(nn(),Vb)))===B((_h(),F1))?w2e(this.a,i,t):lme(this.a,i,t),b_n(new b4n,i)},w(rp,"LayeredLayoutProvider",1127),b(356,22,{3:1,35:1,22:1,356:1},U9);var Vf,$l,Hc,Cc,Ir,Hrn=Ae(rp,"LayeredPhases",356,Ie,tde,fse),vWn;b(1651,1,{},NIn),s.i=0;var mWn;w(ak,"ComponentsToCGraphTransformer",1651);var kWn;b(1652,1,{},jan),s.ef=function(e,t){return j.Math.min(e.a!=null?K(e.a):e.c.i,t.a!=null?K(t.a):t.c.i)},s.ff=function(e,t){return j.Math.min(e.a!=null?K(e.a):e.c.i,t.a!=null?K(t.a):t.c.i)},w(ak,"ComponentsToCGraphTransformer/1",1652),b(81,1,{81:1}),s.i=0,s.k=!0,s.o=Vt;var RR=w(z6,"CNode",81);b(460,81,{460:1,81:1},zz,UQ),s.Ib=function(){return""},w(ak,"ComponentsToCGraphTransformer/CRectNode",460),b(1623,1,{},Ean);var _R,KR;w(ak,"OneDimensionalComponentsCompaction",1623),b(1624,1,{},Can),s.Kb=function(e){return hle(u(e,46))},s.Fb=function(e){return this===e},w(ak,"OneDimensionalComponentsCompaction/lambda$0$Type",1624),b(1625,1,{},Tan),s.Kb=function(e){return E2e(u(e,46))},s.Fb=function(e){return this===e},w(ak,"OneDimensionalComponentsCompaction/lambda$1$Type",1625),b(1654,1,{},XCn),w(z6,"CGraph",1654),b(189,1,{189:1},_F),s.b=0,s.c=0,s.e=0,s.g=!0,s.i=Vt,w(z6,"CGroup",189),b(1653,1,{},Pan),s.ef=function(e,t){return j.Math.max(e.a!=null?K(e.a):e.c.i,t.a!=null?K(t.a):t.c.i)},s.ff=function(e,t){return j.Math.max(e.a!=null?K(e.a):e.c.i,t.a!=null?K(t.a):t.c.i)},w(z6,gKn,1653),b(1655,1,{},ALn),s.d=!1;var yWn,HR=w(z6,mKn,1655);b(1656,1,{},Ian),s.Kb=function(e){return OG(),qn(),u(u(e,46).a,81).d.e!=0},s.Fb=function(e){return this===e},w(z6,kKn,1656),b(823,1,{},eW),s.a=!1,s.b=!1,s.c=!1,s.d=!1,w(z6,yKn,823),b(1825,1,{},aCn),w(zM,jKn,1825);var Rk=Et(Na,bKn);b(1826,1,{369:1},qTn),s.Ke=function(e){r7e(this,u(e,466))},w(zM,EKn,1826),b(1827,1,lt,Oan),s.ue=function(e,t){return r1e(u(e,81),u(t,81))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(zM,CKn,1827),b(466,1,{466:1},UG),s.a=!1,w(zM,TKn,466),b(1828,1,lt,Dan),s.ue=function(e,t){return g4e(u(e,466),u(t,466))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(zM,MKn,1828),b(140,1,{140:1},t3,QU),s.Fb=function(e){var t;return e==null||YTe!=Du(e)?!1:(t=u(e,140),pc(this.c,t.c)&&pc(this.d,t.d))},s.Hb=function(){return gT(A(M(Zn,1),rn,1,5,[this.c,this.d]))},s.Ib=function(){return"("+this.c+Ji+this.d+(this.a?"cx":"")+this.b+")"},s.a=!0,s.c=0,s.d=0;var YTe=w(Na,"Point",140);b(405,22,{3:1,35:1,22:1,405:1},Kj);var b0,Kb,kg,Hb,jWn=Ae(Na,"Point/Quadrant",405,Ie,kae,hse),EWn;b(1642,1,{},Qmn),s.b=null,s.c=null,s.d=null,s.e=null,s.f=null;var CWn,TWn,MWn,AWn,SWn;w(Na,"RectilinearConvexHull",1642),b(574,1,{369:1},LT),s.Ke=function(e){i0e(this,u(e,140))},s.b=0;var qrn;w(Na,"RectilinearConvexHull/MaximalElementsEventHandler",574),b(1644,1,lt,Aan),s.ue=function(e,t){return Whe(Y(e),Y(t))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Na,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1644),b(1643,1,{369:1},uIn),s.Ke=function(e){p8e(this,u(e,140))},s.a=0,s.b=null,s.c=null,s.d=null,s.e=null,w(Na,"RectilinearConvexHull/RectangleEventHandler",1643),b(1645,1,lt,San),s.ue=function(e,t){return Qle(u(e,140),u(t,140))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Na,"RectilinearConvexHull/lambda$0$Type",1645),b(1646,1,lt,Man),s.ue=function(e,t){return Jle(u(e,140),u(t,140))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Na,"RectilinearConvexHull/lambda$1$Type",1646),b(1647,1,lt,$an),s.ue=function(e,t){return Zle(u(e,140),u(t,140))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Na,"RectilinearConvexHull/lambda$2$Type",1647),b(1648,1,lt,Fan),s.ue=function(e,t){return Yle(u(e,140),u(t,140))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Na,"RectilinearConvexHull/lambda$3$Type",1648),b(1649,1,lt,xan),s.ue=function(e,t){return e5e(u(e,140),u(t,140))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Na,"RectilinearConvexHull/lambda$4$Type",1649),b(1650,1,{},kMn),w(Na,"Scanline",1650),b(2005,1,{}),w(Hf,"AbstractGraphPlacer",2005),b(325,1,{325:1},ajn),s.mf=function(e){return this.nf(e)?(Tn(this.b,u(k(e,(G(),Gb)),21),e),!0):!1},s.nf=function(e){var t,i,r,c;for(t=u(k(e,(G(),Gb)),21),c=u(ct(at,t),21),r=c.Kc();r.Ob();)if(i=u(r.Pb(),21),!u(ct(this.b,i),15).dc())return!1;return!0};var at;w(Hf,"ComponentGroup",325),b(765,2005,{},Qq),s.of=function(e){var t,i;for(i=new E(this.a);i.av&&(U=0,en+=p+c,p=0),S=f.c,M6(f,U+S.a,en+S.b),Lo(S),i=j.Math.max(i,U+O.a),p=j.Math.max(p,O.b),U+=O.a+c;if(t.f.a=i,t.f.b=en+p,on(sn(k(o,US)))){for(r=new vI,qZ(r,e,c),g=e.Kc();g.Ob();)d=u(g.Pb(),37),ot(Lo(d.c),r.e);ot(Lo(t.f),r.a)}qX(t,e)},w(Hf,"SimpleRowGraphPlacer",1291),b(1292,1,lt,Ban),s.ue=function(e,t){return Zbe(u(e,37),u(t,37))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Hf,"SimpleRowGraphPlacer/1",1292);var IWn;b(1262,1,Rf,Ran),s.Lb=function(e){var t;return t=u(k(u(e,243).b,(nn(),Tr)),74),!!t&&t.b!=0},s.Fb=function(e){return this===e},s.Mb=function(e){var t;return t=u(k(u(e,243).b,(nn(),Tr)),74),!!t&&t.b!=0},w(UM,"CompoundGraphPostprocessor/1",1262),b(1261,1,xt,t9n),s.pf=function(e,t){eFn(this,u(e,37),t)},w(UM,"CompoundGraphPreprocessor",1261),b(441,1,{441:1},HDn),s.c=!1,w(UM,"CompoundGraphPreprocessor/ExternalPort",441),b(243,1,{243:1},EE),s.Ib=function(){return VO(this.c)+":"+ELn(this.b)},w(UM,"CrossHierarchyEdge",243),b(763,1,lt,Iq),s.ue=function(e,t){return H3e(this,u(e,243),u(t,243))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(UM,"CrossHierarchyEdgeComparator",763),b(299,134,{3:1,299:1,94:1,134:1}),s.p=0,w($c,"LGraphElement",299),b(17,299,{3:1,17:1,299:1,94:1,134:1},Pd),s.Ib=function(){return ELn(this)};var GR=w($c,"LEdge",17);b(37,299,{3:1,20:1,37:1,299:1,94:1,134:1},lV),s.Jc=function(e){$i(this,e)},s.Kc=function(){return new E(this.b)},s.Ib=function(){return this.b.c.length==0?"G-unlayered"+kl(this.a):this.a.c.length==0?"G-layered"+kl(this.b):"G[layerless"+kl(this.a)+", layers"+kl(this.b)+"]"};var OWn=w($c,"LGraph",37),DWn;b(657,1,{}),s.qf=function(){return this.e.n},s.We=function(e){return k(this.e,e)},s.rf=function(){return this.e.o},s.sf=function(){return this.e.p},s.Xe=function(e){return li(this.e,e)},s.tf=function(e){this.e.n.a=e.a,this.e.n.b=e.b},s.uf=function(e){this.e.o.a=e.a,this.e.o.b=e.b},s.vf=function(e){this.e.p=e},w($c,"LGraphAdapters/AbstractLShapeAdapter",657),b(577,1,{839:1},ij),s.wf=function(){var e,t;if(!this.b)for(this.b=nh(this.a.b.c.length),t=new E(this.a.b);t.a0&&SDn((Me(t-1,e.length),e.charCodeAt(t-1)),XKn);)--t;if(o> ",e),UT(i)),De(rc((e.a+="[",e),i.i),"]")),e.a},s.c=!0,s.d=!1;var Xrn,Vrn,Qrn,Jrn,Yrn,Zrn,FWn=w($c,"LPort",11);b(397,1,lh,qp),s.Jc=function(e){$i(this,e)},s.Kc=function(){var e;return e=new E(this.a.e),new h5n(e)},w($c,"LPort/1",397),b(1290,1,yi,h5n),s.Nb=function(e){Oi(this,e)},s.Pb=function(){return u(y(this.a),17).c},s.Ob=function(){return Kr(this.a)},s.Qb=function(){F5(this.a)},w($c,"LPort/1/1",1290),b(359,1,lh,n2),s.Jc=function(e){$i(this,e)},s.Kc=function(){var e;return e=new E(this.a.g),new Oq(e)},w($c,"LPort/2",359),b(762,1,yi,Oq),s.Nb=function(e){Oi(this,e)},s.Pb=function(){return u(y(this.a),17).d},s.Ob=function(){return Kr(this.a)},s.Qb=function(){F5(this.a)},w($c,"LPort/2/1",762),b(1283,1,lh,q7n),s.Jc=function(e){$i(this,e)},s.Kc=function(){return new uf(this)},w($c,"LPort/CombineIter",1283),b(201,1,yi,uf),s.Nb=function(e){Oi(this,e)},s.Qb=function(){d8n()},s.Ob=function(){return E5(this)},s.Pb=function(){return Kr(this.a)?y(this.a):y(this.b)},w($c,"LPort/CombineIter/1",201),b(1285,1,Rf,Kan),s.Lb=function(e){return CCn(e)},s.Fb=function(e){return this===e},s.Mb=function(e){return wu(),u(e,11).e.c.length!=0},w($c,"LPort/lambda$0$Type",1285),b(1284,1,Rf,Han),s.Lb=function(e){return TCn(e)},s.Fb=function(e){return this===e},s.Mb=function(e){return wu(),u(e,11).g.c.length!=0},w($c,"LPort/lambda$1$Type",1284),b(1286,1,Rf,qan),s.Lb=function(e){return wu(),u(e,11).j==(J(),Kn)},s.Fb=function(e){return this===e},s.Mb=function(e){return wu(),u(e,11).j==(J(),Kn)},w($c,"LPort/lambda$2$Type",1286),b(1287,1,Rf,Gan),s.Lb=function(e){return wu(),u(e,11).j==(J(),Vn)},s.Fb=function(e){return this===e},s.Mb=function(e){return wu(),u(e,11).j==(J(),Vn)},w($c,"LPort/lambda$3$Type",1287),b(1288,1,Rf,zan),s.Lb=function(e){return wu(),u(e,11).j==(J(),ae)},s.Fb=function(e){return this===e},s.Mb=function(e){return wu(),u(e,11).j==(J(),ae)},w($c,"LPort/lambda$4$Type",1288),b(1289,1,Rf,Uan),s.Lb=function(e){return wu(),u(e,11).j==(J(),Gn)},s.Fb=function(e){return this===e},s.Mb=function(e){return wu(),u(e,11).j==(J(),Gn)},w($c,"LPort/lambda$5$Type",1289),b(29,299,{3:1,20:1,299:1,29:1,94:1,134:1},Rs),s.Jc=function(e){$i(this,e)},s.Kc=function(){return new E(this.a)},s.Ib=function(){return"L_"+Fr(this.b.b,this,0)+kl(this.a)},w($c,"Layer",29),b(1342,1,{},e9n),w(C1,YKn,1342),b(1346,1,{},Wan),s.Kb=function(e){return Pr(u(e,82))},w(C1,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1346),b(1349,1,{},Xan),s.Kb=function(e){return Pr(u(e,82))},w(C1,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1349),b(1343,1,Yn,l5n),s.td=function(e){NLn(this.a,u(e,118))},w(C1,ZKn,1343),b(1344,1,Yn,a5n),s.td=function(e){NLn(this.a,u(e,118))},w(C1,nHn,1344),b(1345,1,{},Van),s.Kb=function(e){return new $n(null,new xn(Hhe(u(e,79)),16))},w(C1,eHn,1345),b(1347,1,Ve,d5n),s.Mb=function(e){return qre(this.a,u(e,33))},w(C1,tHn,1347),b(1348,1,{},Qan),s.Kb=function(e){return new $n(null,new xn(qhe(u(e,79)),16))},w(C1,"ElkGraphImporter/lambda$5$Type",1348),b(1350,1,Ve,b5n),s.Mb=function(e){return Gre(this.a,u(e,33))},w(C1,"ElkGraphImporter/lambda$7$Type",1350),b(1351,1,Ve,Jan),s.Mb=function(e){return u1e(u(e,79))},w(C1,"ElkGraphImporter/lambda$8$Type",1351),b(1278,1,{},b4n);var xWn;w(C1,"ElkGraphLayoutTransferrer",1278),b(1279,1,Ve,w5n),s.Mb=function(e){return Due(this.a,u(e,17))},w(C1,"ElkGraphLayoutTransferrer/lambda$0$Type",1279),b(1280,1,Yn,g5n),s.td=function(e){H9(),W(this.a,u(e,17))},w(C1,"ElkGraphLayoutTransferrer/lambda$1$Type",1280),b(1281,1,Ve,p5n),s.Mb=function(e){return pue(this.a,u(e,17))},w(C1,"ElkGraphLayoutTransferrer/lambda$2$Type",1281),b(1282,1,Yn,v5n),s.td=function(e){H9(),W(this.a,u(e,17))},w(C1,"ElkGraphLayoutTransferrer/lambda$3$Type",1282),b(1485,1,xt,Yan),s.pf=function(e,t){mbe(u(e,37),t)},w(Un,"CommentNodeMarginCalculator",1485),b(1486,1,{},Zan),s.Kb=function(e){return new $n(null,new xn(u(e,29).a,16))},w(Un,"CommentNodeMarginCalculator/lambda$0$Type",1486),b(1487,1,Yn,ndn),s.td=function(e){Zye(u(e,10))},w(Un,"CommentNodeMarginCalculator/lambda$1$Type",1487),b(1488,1,xt,edn),s.pf=function(e,t){a7e(u(e,37),t)},w(Un,"CommentPostprocessor",1488),b(1489,1,xt,tdn),s.pf=function(e,t){mCe(u(e,37),t)},w(Un,"CommentPreprocessor",1489),b(1490,1,xt,idn),s.pf=function(e,t){x9e(u(e,37),t)},w(Un,"ConstraintsPostprocessor",1490),b(1491,1,xt,rdn),s.pf=function(e,t){Hbe(u(e,37),t)},w(Un,"EdgeAndLayerConstraintEdgeReverser",1491),b(1492,1,xt,cdn),s.pf=function(e,t){I2e(u(e,37),t)},w(Un,"EndLabelPostprocessor",1492),b(1493,1,{},udn),s.Kb=function(e){return new $n(null,new xn(u(e,29).a,16))},w(Un,"EndLabelPostprocessor/lambda$0$Type",1493),b(1494,1,Ve,sdn),s.Mb=function(e){return C1e(u(e,10))},w(Un,"EndLabelPostprocessor/lambda$1$Type",1494),b(1495,1,Yn,odn),s.td=function(e){p4e(u(e,10))},w(Un,"EndLabelPostprocessor/lambda$2$Type",1495),b(1496,1,xt,fdn),s.pf=function(e,t){u6e(u(e,37),t)},w(Un,"EndLabelPreprocessor",1496),b(1497,1,{},hdn),s.Kb=function(e){return new $n(null,new xn(u(e,29).a,16))},w(Un,"EndLabelPreprocessor/lambda$0$Type",1497),b(1498,1,Yn,wEn),s.td=function(e){ure(this.a,this.b,this.c,u(e,10))},s.a=0,s.b=0,s.c=!1,w(Un,"EndLabelPreprocessor/lambda$1$Type",1498),b(1499,1,Ve,ldn),s.Mb=function(e){return B(k(u(e,70),(nn(),Jf)))===B((sf(),Ev))},w(Un,"EndLabelPreprocessor/lambda$2$Type",1499),b(1500,1,Yn,m5n),s.td=function(e){Ke(this.a,u(e,70))},w(Un,"EndLabelPreprocessor/lambda$3$Type",1500),b(1501,1,Ve,adn),s.Mb=function(e){return B(k(u(e,70),(nn(),Jf)))===B((sf(),cw))},w(Un,"EndLabelPreprocessor/lambda$4$Type",1501),b(1502,1,Yn,k5n),s.td=function(e){Ke(this.a,u(e,70))},w(Un,"EndLabelPreprocessor/lambda$5$Type",1502),b(1551,1,xt,d4n),s.pf=function(e,t){Bge(u(e,37),t)};var LWn;w(Un,"EndLabelSorter",1551),b(1552,1,lt,ddn),s.ue=function(e,t){return bpe(u(e,456),u(t,456))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Un,"EndLabelSorter/1",1552),b(456,1,{456:1},xTn),w(Un,"EndLabelSorter/LabelGroup",456),b(1553,1,{},bdn),s.Kb=function(e){return q9(),new $n(null,new xn(u(e,29).a,16))},w(Un,"EndLabelSorter/lambda$0$Type",1553),b(1554,1,Ve,wdn),s.Mb=function(e){return q9(),u(e,10).k==(Qn(),ti)},w(Un,"EndLabelSorter/lambda$1$Type",1554),b(1555,1,Yn,gdn),s.td=function(e){p5e(u(e,10))},w(Un,"EndLabelSorter/lambda$2$Type",1555),b(1556,1,Ve,pdn),s.Mb=function(e){return q9(),B(k(u(e,70),(nn(),Jf)))===B((sf(),cw))},w(Un,"EndLabelSorter/lambda$3$Type",1556),b(1557,1,Ve,vdn),s.Mb=function(e){return q9(),B(k(u(e,70),(nn(),Jf)))===B((sf(),Ev))},w(Un,"EndLabelSorter/lambda$4$Type",1557),b(1503,1,xt,mdn),s.pf=function(e,t){hje(this,u(e,37))},s.b=0,s.c=0,w(Un,"FinalSplineBendpointsCalculator",1503),b(1504,1,{},kdn),s.Kb=function(e){return new $n(null,new xn(u(e,29).a,16))},w(Un,"FinalSplineBendpointsCalculator/lambda$0$Type",1504),b(1505,1,{},ydn),s.Kb=function(e){return new $n(null,new Cd(new re(ue(ni(u(e,10)).a.Kc(),new Mn))))},w(Un,"FinalSplineBendpointsCalculator/lambda$1$Type",1505),b(1506,1,Ve,jdn),s.Mb=function(e){return!Xi(u(e,17))},w(Un,"FinalSplineBendpointsCalculator/lambda$2$Type",1506),b(1507,1,Ve,Edn),s.Mb=function(e){return li(u(e,17),(G(),Ua))},w(Un,"FinalSplineBendpointsCalculator/lambda$3$Type",1507),b(1508,1,Yn,y5n),s.td=function(e){Eke(this.a,u(e,128))},w(Un,"FinalSplineBendpointsCalculator/lambda$4$Type",1508),b(1509,1,Yn,Cdn),s.td=function(e){Ax(u(e,17).a)},w(Un,"FinalSplineBendpointsCalculator/lambda$5$Type",1509),b(792,1,xt,Dq),s.pf=function(e,t){iEe(this,u(e,37),t)},w(Un,"GraphTransformer",792),b(511,22,{3:1,35:1,22:1,511:1},zG);var UR,_k,NWn=Ae(Un,"GraphTransformer/Mode",511,Ie,U1e,Coe),BWn;b(1510,1,xt,Tdn),s.pf=function(e,t){$8e(u(e,37),t)},w(Un,"HierarchicalNodeResizingProcessor",1510),b(1511,1,xt,Mdn),s.pf=function(e,t){bbe(u(e,37),t)},w(Un,"HierarchicalPortConstraintProcessor",1511),b(1512,1,lt,Adn),s.ue=function(e,t){return Tpe(u(e,10),u(t,10))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Un,"HierarchicalPortConstraintProcessor/NodeComparator",1512),b(1513,1,xt,Sdn),s.pf=function(e,t){Fye(u(e,37),t)},w(Un,"HierarchicalPortDummySizeProcessor",1513),b(1514,1,xt,Pdn),s.pf=function(e,t){O7e(this,u(e,37),t)},s.a=0,w(Un,"HierarchicalPortOrthogonalEdgeRouter",1514),b(1515,1,lt,Idn),s.ue=function(e,t){return Lce(u(e,10),u(t,10))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Un,"HierarchicalPortOrthogonalEdgeRouter/1",1515),b(1516,1,lt,Odn),s.ue=function(e,t){return Qde(u(e,10),u(t,10))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Un,"HierarchicalPortOrthogonalEdgeRouter/2",1516),b(1517,1,xt,Ddn),s.pf=function(e,t){t5e(u(e,37),t)},w(Un,"HierarchicalPortPositionProcessor",1517),b(1518,1,xt,w4n),s.pf=function(e,t){JCe(this,u(e,37))},s.a=0,s.c=0;var sS,oS;w(Un,"HighDegreeNodeLayeringProcessor",1518),b(571,1,{571:1},$dn),s.b=-1,s.d=-1,w(Un,"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation",571),b(1519,1,{},Fdn),s.Kb=function(e){return w8(),xr(u(e,10))},s.Fb=function(e){return this===e},w(Un,"HighDegreeNodeLayeringProcessor/lambda$0$Type",1519),b(1520,1,{},xdn),s.Kb=function(e){return w8(),ni(u(e,10))},s.Fb=function(e){return this===e},w(Un,"HighDegreeNodeLayeringProcessor/lambda$1$Type",1520),b(1526,1,xt,Ldn),s.pf=function(e,t){oye(this,u(e,37),t)},w(Un,"HyperedgeDummyMerger",1526),b(793,1,{},xU),s.a=!1,s.b=!1,s.c=!1,w(Un,"HyperedgeDummyMerger/MergeState",793),b(1527,1,{},Ndn),s.Kb=function(e){return new $n(null,new xn(u(e,29).a,16))},w(Un,"HyperedgeDummyMerger/lambda$0$Type",1527),b(1528,1,{},Bdn),s.Kb=function(e){return new $n(null,new xn(u(e,10).j,16))},w(Un,"HyperedgeDummyMerger/lambda$1$Type",1528),b(1529,1,Yn,Rdn),s.td=function(e){u(e,11).p=-1},w(Un,"HyperedgeDummyMerger/lambda$2$Type",1529),b(1530,1,xt,_dn),s.pf=function(e,t){uye(u(e,37),t)},w(Un,"HypernodesProcessor",1530),b(1531,1,xt,Kdn),s.pf=function(e,t){sye(u(e,37),t)},w(Un,"InLayerConstraintProcessor",1531),b(1532,1,xt,Hdn),s.pf=function(e,t){Nbe(u(e,37),t)},w(Un,"InnermostNodeMarginCalculator",1532),b(1533,1,xt,qdn),s.pf=function(e,t){bCe(this,u(e,37))},s.a=Vt,s.b=Vt,s.c=Ft,s.d=Ft;var ZTe=w(Un,"InteractiveExternalPortPositioner",1533);b(1534,1,{},Gdn),s.Kb=function(e){return u(e,17).d.i},s.Fb=function(e){return this===e},w(Un,"InteractiveExternalPortPositioner/lambda$0$Type",1534),b(1535,1,{},j5n),s.Kb=function(e){return Rce(this.a,Y(e))},s.Fb=function(e){return this===e},w(Un,"InteractiveExternalPortPositioner/lambda$1$Type",1535),b(1536,1,{},zdn),s.Kb=function(e){return u(e,17).c.i},s.Fb=function(e){return this===e},w(Un,"InteractiveExternalPortPositioner/lambda$2$Type",1536),b(1537,1,{},E5n),s.Kb=function(e){return _ce(this.a,Y(e))},s.Fb=function(e){return this===e},w(Un,"InteractiveExternalPortPositioner/lambda$3$Type",1537),b(1538,1,{},C5n),s.Kb=function(e){return Pue(this.a,Y(e))},s.Fb=function(e){return this===e},w(Un,"InteractiveExternalPortPositioner/lambda$4$Type",1538),b(1539,1,{},T5n),s.Kb=function(e){return Iue(this.a,Y(e))},s.Fb=function(e){return this===e},w(Un,"InteractiveExternalPortPositioner/lambda$5$Type",1539),b(77,22,{3:1,35:1,22:1,77:1,234:1},zt),s.Kf=function(){switch(this.g){case 15:return new awn;case 22:return new dwn;case 47:return new gwn;case 28:case 35:return new t0n;case 32:return new Yan;case 42:return new edn;case 1:return new tdn;case 41:return new idn;case 56:return new Dq((B3(),_k));case 0:return new Dq((B3(),UR));case 2:return new rdn;case 54:return new cdn;case 33:return new fdn;case 51:return new mdn;case 55:return new Tdn;case 13:return new Mdn;case 38:return new Sdn;case 44:return new Pdn;case 40:return new Ddn;case 9:return new w4n;case 49:return new ejn;case 37:return new Ldn;case 43:return new _dn;case 27:return new Kdn;case 30:return new Hdn;case 3:return new qdn;case 18:return new Wdn;case 29:return new Xdn;case 5:return new g4n;case 50:return new Udn;case 34:return new p4n;case 36:return new i0n;case 52:return new d4n;case 11:return new c0n;case 7:return new m4n;case 39:return new u0n;case 45:return new s0n;case 16:return new o0n;case 10:return new f0n;case 48:return new l0n;case 21:return new a0n;case 23:return new WI((_d(),_m));case 8:return new b0n;case 12:return new g0n;case 4:return new p0n;case 19:return new E4n;case 17:return new A0n;case 53:return new S0n;case 6:return new _0n;case 25:return new c9n;case 46:return new $0n;case 31:return new Rjn;case 14:return new X0n;case 26:return new mwn;case 20:return new Z0n;case 24:return new WI((_d(),aP));default:throw T(new Hn(AN+(this.f!=null?this.f:""+this.g)))}};var ncn,ecn,tcn,icn,rcn,ccn,ucn,scn,ocn,fcn,mm,fS,hS,hcn,lcn,acn,dcn,bcn,wcn,gcn,km,pcn,vcn,mcn,kcn,ycn,WR,lS,aS,jcn,dS,bS,wS,J4,Y4,Z4,Ecn,gS,pS,Ccn,vS,mS,Tcn,Mcn,Acn,Scn,kS,XR,Kk,yS,jS,ES,CS,Pcn,Icn,Ocn,Dcn,nMe=Ae(Un,Fnn,77,Ie,PNn,Eoe),RWn;b(1540,1,xt,Wdn),s.pf=function(e,t){gCe(u(e,37),t)},w(Un,"InvertedPortProcessor",1540),b(1541,1,xt,Xdn),s.pf=function(e,t){gke(u(e,37),t)},w(Un,"LabelAndNodeSizeProcessor",1541),b(1542,1,Ve,Vdn),s.Mb=function(e){return u(e,10).k==(Qn(),ti)},w(Un,"LabelAndNodeSizeProcessor/lambda$0$Type",1542),b(1543,1,Ve,Qdn),s.Mb=function(e){return u(e,10).k==(Qn(),Xt)},w(Un,"LabelAndNodeSizeProcessor/lambda$1$Type",1543),b(1544,1,Yn,gEn),s.td=function(e){sre(this.b,this.a,this.c,u(e,10))},s.a=!1,s.c=!1,w(Un,"LabelAndNodeSizeProcessor/lambda$2$Type",1544),b(1545,1,xt,g4n),s.pf=function(e,t){_Ee(u(e,37),t)};var _Wn;w(Un,"LabelDummyInserter",1545),b(1546,1,Rf,Jdn),s.Lb=function(e){return B(k(u(e,70),(nn(),Jf)))===B((sf(),jv))},s.Fb=function(e){return this===e},s.Mb=function(e){return B(k(u(e,70),(nn(),Jf)))===B((sf(),jv))},w(Un,"LabelDummyInserter/1",1546),b(1547,1,xt,Udn),s.pf=function(e,t){Hje(u(e,37),t)},w(Un,"LabelDummyRemover",1547),b(1548,1,Ve,Ydn),s.Mb=function(e){return on(sn(k(u(e,70),(nn(),L_))))},w(Un,"LabelDummyRemover/lambda$0$Type",1548),b(1359,1,xt,p4n),s.pf=function(e,t){pEe(this,u(e,37),t)},s.a=null;var VR;w(Un,"LabelDummySwitcher",1359),b(286,1,{286:1},ABn),s.c=0,s.d=null,s.f=0,w(Un,"LabelDummySwitcher/LabelDummyInfo",286),b(1360,1,{},Zdn),s.Kb=function(e){return x2(),new $n(null,new xn(u(e,29).a,16))},w(Un,"LabelDummySwitcher/lambda$0$Type",1360),b(1361,1,Ve,n0n),s.Mb=function(e){return x2(),u(e,10).k==(Qn(),Qu)},w(Un,"LabelDummySwitcher/lambda$1$Type",1361),b(1362,1,{},S5n),s.Kb=function(e){return vue(this.a,u(e,10))},w(Un,"LabelDummySwitcher/lambda$2$Type",1362),b(1363,1,Yn,P5n),s.td=function(e){phe(this.a,u(e,286))},w(Un,"LabelDummySwitcher/lambda$3$Type",1363),b(1364,1,lt,e0n),s.ue=function(e,t){return zfe(u(e,286),u(t,286))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Un,"LabelDummySwitcher/lambda$4$Type",1364),b(791,1,xt,t0n),s.pf=function(e,t){Sde(u(e,37),t)},w(Un,"LabelManagementProcessor",791),b(1549,1,xt,i0n),s.pf=function(e,t){Z8e(u(e,37),t)},w(Un,"LabelSideSelector",1549),b(1550,1,Ve,r0n),s.Mb=function(e){return on(sn(k(u(e,70),(nn(),L_))))},w(Un,"LabelSideSelector/lambda$0$Type",1550),b(1558,1,xt,c0n),s.pf=function(e,t){xye(u(e,37),t)},w(Un,"LayerConstraintPostprocessor",1558),b(1559,1,xt,m4n),s.pf=function(e,t){Vme(u(e,37),t)};var $cn;w(Un,"LayerConstraintPreprocessor",1559),b(360,22,{3:1,35:1,22:1,360:1},Hj);var Hk,TS,MS,QR,KWn=Ae(Un,"LayerConstraintPreprocessor/HiddenNodeConnections",360,Ie,yae,bse),HWn;b(1560,1,xt,u0n),s.pf=function(e,t){Rje(u(e,37),t)},w(Un,"LayerSizeAndGraphHeightCalculator",1560),b(1561,1,xt,s0n),s.pf=function(e,t){H9e(u(e,37),t)},w(Un,"LongEdgeJoiner",1561),b(1562,1,xt,o0n),s.pf=function(e,t){kje(u(e,37),t)},w(Un,"LongEdgeSplitter",1562),b(1563,1,xt,f0n),s.pf=function(e,t){kEe(this,u(e,37),t)},s.d=0,s.e=0,s.i=0,s.j=0,s.k=0,s.n=0,w(Un,"NodePromotion",1563),b(1564,1,{},h0n),s.Kb=function(e){return u(e,46),qn(),!0},s.Fb=function(e){return this===e},w(Un,"NodePromotion/lambda$0$Type",1564),b(1565,1,{},M5n),s.Kb=function(e){return Bhe(this.a,u(e,46))},s.Fb=function(e){return this===e},s.a=0,w(Un,"NodePromotion/lambda$1$Type",1565),b(1566,1,{},A5n),s.Kb=function(e){return Rhe(this.a,u(e,46))},s.Fb=function(e){return this===e},s.a=0,w(Un,"NodePromotion/lambda$2$Type",1566),b(1567,1,xt,l0n),s.pf=function(e,t){GCe(u(e,37),t)},w(Un,"NorthSouthPortPostprocessor",1567),b(1568,1,xt,a0n),s.pf=function(e,t){PCe(u(e,37),t)},w(Un,"NorthSouthPortPreprocessor",1568),b(1569,1,lt,d0n),s.ue=function(e,t){return rwe(u(e,11),u(t,11))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Un,"NorthSouthPortPreprocessor/lambda$0$Type",1569),b(1570,1,xt,b0n),s.pf=function(e,t){Uke(u(e,37),t)},w(Un,"PartitionMidprocessor",1570),b(1571,1,Ve,w0n),s.Mb=function(e){return li(u(e,10),(nn(),av))},w(Un,"PartitionMidprocessor/lambda$0$Type",1571),b(1572,1,Yn,I5n),s.td=function(e){s1e(this.a,u(e,10))},w(Un,"PartitionMidprocessor/lambda$1$Type",1572),b(1573,1,xt,g0n),s.pf=function(e,t){o8e(u(e,37),t)},w(Un,"PartitionPostprocessor",1573),b(1574,1,xt,p0n),s.pf=function(e,t){vme(u(e,37),t)},w(Un,"PartitionPreprocessor",1574),b(1575,1,Ve,v0n),s.Mb=function(e){return li(u(e,10),(nn(),av))},w(Un,"PartitionPreprocessor/lambda$0$Type",1575),b(1576,1,{},m0n),s.Kb=function(e){return new $n(null,new Cd(new re(ue(ni(u(e,10)).a.Kc(),new Mn))))},w(Un,"PartitionPreprocessor/lambda$1$Type",1576),b(1577,1,Ve,k0n),s.Mb=function(e){return lpe(u(e,17))},w(Un,"PartitionPreprocessor/lambda$2$Type",1577),b(1578,1,Yn,y0n),s.td=function(e){bwe(u(e,17))},w(Un,"PartitionPreprocessor/lambda$3$Type",1578),b(1579,1,xt,E4n),s.pf=function(e,t){Ike(u(e,37),t)};var Fcn,qWn,GWn,zWn,xcn,Lcn;w(Un,"PortListSorter",1579),b(1580,1,{},j0n),s.Kb=function(e){return V3(),u(e,11).e},w(Un,"PortListSorter/lambda$0$Type",1580),b(1581,1,{},E0n),s.Kb=function(e){return V3(),u(e,11).g},w(Un,"PortListSorter/lambda$1$Type",1581),b(1582,1,lt,C0n),s.ue=function(e,t){return KAn(u(e,11),u(t,11))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Un,"PortListSorter/lambda$2$Type",1582),b(1583,1,lt,T0n),s.ue=function(e,t){return x3e(u(e,11),u(t,11))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Un,"PortListSorter/lambda$3$Type",1583),b(1584,1,lt,M0n),s.ue=function(e,t){return QBn(u(e,11),u(t,11))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Un,"PortListSorter/lambda$4$Type",1584),b(1585,1,xt,A0n),s.pf=function(e,t){qme(u(e,37),t)},w(Un,"PortSideProcessor",1585),b(1586,1,xt,S0n),s.pf=function(e,t){G7e(u(e,37),t)},w(Un,"ReversedEdgeRestorer",1586),b(1591,1,xt,c9n),s.pf=function(e,t){m3e(this,u(e,37),t)},w(Un,"SelfLoopPortRestorer",1591),b(1592,1,{},P0n),s.Kb=function(e){return new $n(null,new xn(u(e,29).a,16))},w(Un,"SelfLoopPortRestorer/lambda$0$Type",1592),b(1593,1,Ve,I0n),s.Mb=function(e){return u(e,10).k==(Qn(),ti)},w(Un,"SelfLoopPortRestorer/lambda$1$Type",1593),b(1594,1,Ve,O0n),s.Mb=function(e){return li(u(e,10),(G(),fv))},w(Un,"SelfLoopPortRestorer/lambda$2$Type",1594),b(1595,1,{},D0n),s.Kb=function(e){return u(k(u(e,10),(G(),fv)),403)},w(Un,"SelfLoopPortRestorer/lambda$3$Type",1595),b(1596,1,Yn,O5n),s.td=function(e){S5e(this.a,u(e,403))},w(Un,"SelfLoopPortRestorer/lambda$4$Type",1596),b(794,1,Yn,RH),s.td=function(e){q5e(u(e,101))},w(Un,"SelfLoopPortRestorer/lambda$5$Type",794),b(1597,1,xt,$0n),s.pf=function(e,t){Spe(u(e,37),t)},w(Un,"SelfLoopPostProcessor",1597),b(1598,1,{},F0n),s.Kb=function(e){return new $n(null,new xn(u(e,29).a,16))},w(Un,"SelfLoopPostProcessor/lambda$0$Type",1598),b(1599,1,Ve,x0n),s.Mb=function(e){return u(e,10).k==(Qn(),ti)},w(Un,"SelfLoopPostProcessor/lambda$1$Type",1599),b(1600,1,Ve,L0n),s.Mb=function(e){return li(u(e,10),(G(),fv))},w(Un,"SelfLoopPostProcessor/lambda$2$Type",1600),b(1601,1,Yn,N0n),s.td=function(e){x4e(u(e,10))},w(Un,"SelfLoopPostProcessor/lambda$3$Type",1601),b(1602,1,{},B0n),s.Kb=function(e){return new $n(null,new xn(u(e,101).f,1))},w(Un,"SelfLoopPostProcessor/lambda$4$Type",1602),b(1603,1,Yn,D5n),s.td=function(e){Cae(this.a,u(e,409))},w(Un,"SelfLoopPostProcessor/lambda$5$Type",1603),b(1604,1,Ve,R0n),s.Mb=function(e){return!!u(e,101).i},w(Un,"SelfLoopPostProcessor/lambda$6$Type",1604),b(1605,1,Yn,$5n),s.td=function(e){oie(this.a,u(e,101))},w(Un,"SelfLoopPostProcessor/lambda$7$Type",1605),b(1587,1,xt,_0n),s.pf=function(e,t){y9e(u(e,37),t)},w(Un,"SelfLoopPreProcessor",1587),b(1588,1,{},K0n),s.Kb=function(e){return new $n(null,new xn(u(e,101).f,1))},w(Un,"SelfLoopPreProcessor/lambda$0$Type",1588),b(1589,1,{},H0n),s.Kb=function(e){return u(e,409).a},w(Un,"SelfLoopPreProcessor/lambda$1$Type",1589),b(1590,1,Yn,q0n),s.td=function(e){dce(u(e,17))},w(Un,"SelfLoopPreProcessor/lambda$2$Type",1590),b(1606,1,xt,Rjn),s.pf=function(e,t){v5e(this,u(e,37),t)},w(Un,"SelfLoopRouter",1606),b(1607,1,{},G0n),s.Kb=function(e){return new $n(null,new xn(u(e,29).a,16))},w(Un,"SelfLoopRouter/lambda$0$Type",1607),b(1608,1,Ve,z0n),s.Mb=function(e){return u(e,10).k==(Qn(),ti)},w(Un,"SelfLoopRouter/lambda$1$Type",1608),b(1609,1,Ve,U0n),s.Mb=function(e){return li(u(e,10),(G(),fv))},w(Un,"SelfLoopRouter/lambda$2$Type",1609),b(1610,1,{},W0n),s.Kb=function(e){return u(k(u(e,10),(G(),fv)),403)},w(Un,"SelfLoopRouter/lambda$3$Type",1610),b(1611,1,Yn,x7n),s.td=function(e){Yhe(this.a,this.b,u(e,403))},w(Un,"SelfLoopRouter/lambda$4$Type",1611),b(1612,1,xt,X0n),s.pf=function(e,t){K8e(u(e,37),t)},w(Un,"SemiInteractiveCrossMinProcessor",1612),b(1613,1,Ve,V0n),s.Mb=function(e){return u(e,10).k==(Qn(),ti)},w(Un,"SemiInteractiveCrossMinProcessor/lambda$0$Type",1613),b(1614,1,Ve,Q0n),s.Mb=function(e){return eCn(u(e,10))._b((nn(),Zb))},w(Un,"SemiInteractiveCrossMinProcessor/lambda$1$Type",1614),b(1615,1,lt,J0n),s.ue=function(e,t){return gbe(u(e,10),u(t,10))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Un,"SemiInteractiveCrossMinProcessor/lambda$2$Type",1615),b(1616,1,{},Y0n),s.Ce=function(e,t){return w1e(u(e,10),u(t,10))},w(Un,"SemiInteractiveCrossMinProcessor/lambda$3$Type",1616),b(1618,1,xt,Z0n),s.pf=function(e,t){Lye(u(e,37),t)},w(Un,"SortByInputModelProcessor",1618),b(1619,1,Ve,nbn),s.Mb=function(e){return u(e,11).g.c.length!=0},w(Un,"SortByInputModelProcessor/lambda$0$Type",1619),b(1620,1,Yn,F5n),s.td=function(e){X5e(this.a,u(e,11))},w(Un,"SortByInputModelProcessor/lambda$1$Type",1620),b(1693,803,{},QIn),s.Me=function(e){var t,i,r,c;switch(this.c=e,this.a.g){case 2:t=new X,Rt(gt(new $n(null,new xn(this.c.a.b,16)),new bbn),new _7n(this,t)),O7(this,new ibn),Yc(t,new rbn),t.c=F(Zn,rn,1,0,5,1),Rt(gt(new $n(null,new xn(this.c.a.b,16)),new cbn),new L5n(t)),O7(this,new ubn),Yc(t,new sbn),t.c=F(Zn,rn,1,0,5,1),i=myn(fOn(YE(new $n(null,new xn(this.c.a.b,16)),new N5n(this))),new obn),Rt(new $n(null,new xn(this.c.a.a,16)),new N7n(i,t)),O7(this,new hbn),Yc(t,new ebn),t.c=F(Zn,rn,1,0,5,1);break;case 3:r=new X,O7(this,new tbn),c=myn(fOn(YE(new $n(null,new xn(this.c.a.b,16)),new x5n(this))),new fbn),Rt(gt(new $n(null,new xn(this.c.a.b,16)),new lbn),new R7n(c,r)),O7(this,new abn),Yc(r,new dbn),r.c=F(Zn,rn,1,0,5,1);break;default:throw T(new Gmn)}},s.b=0,w(Qt,"EdgeAwareScanlineConstraintCalculation",1693),b(1694,1,Rf,tbn),s.Lb=function(e){return I(u(e,57).g,145)},s.Fb=function(e){return this===e},s.Mb=function(e){return I(u(e,57).g,145)},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$0$Type",1694),b(1695,1,{},x5n),s.Fe=function(e){return A6e(this.a,u(e,57))},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$1$Type",1695),b(1703,1,DM,L7n),s.Vd=function(){g6(this.a,this.b,-1)},s.b=0,w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$10$Type",1703),b(1705,1,Rf,ibn),s.Lb=function(e){return I(u(e,57).g,145)},s.Fb=function(e){return this===e},s.Mb=function(e){return I(u(e,57).g,145)},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$11$Type",1705),b(1706,1,Yn,rbn),s.td=function(e){u(e,365).Vd()},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$12$Type",1706),b(1707,1,Ve,cbn),s.Mb=function(e){return I(u(e,57).g,10)},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$13$Type",1707),b(1709,1,Yn,L5n),s.td=function(e){n2e(this.a,u(e,57))},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$14$Type",1709),b(1708,1,DM,G7n),s.Vd=function(){g6(this.b,this.a,-1)},s.a=0,w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$15$Type",1708),b(1710,1,Rf,ubn),s.Lb=function(e){return I(u(e,57).g,10)},s.Fb=function(e){return this===e},s.Mb=function(e){return I(u(e,57).g,10)},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$16$Type",1710),b(1711,1,Yn,sbn),s.td=function(e){u(e,365).Vd()},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$17$Type",1711),b(1712,1,{},N5n),s.Fe=function(e){return S6e(this.a,u(e,57))},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$18$Type",1712),b(1713,1,{},obn),s.De=function(){return 0},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$19$Type",1713),b(1696,1,{},fbn),s.De=function(){return 0},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$2$Type",1696),b(1715,1,Yn,N7n),s.td=function(e){xfe(this.a,this.b,u(e,307))},s.a=0,w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$20$Type",1715),b(1714,1,DM,B7n),s.Vd=function(){uNn(this.a,this.b,-1)},s.b=0,w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$21$Type",1714),b(1716,1,Rf,hbn),s.Lb=function(e){return u(e,57),!0},s.Fb=function(e){return this===e},s.Mb=function(e){return u(e,57),!0},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$22$Type",1716),b(1717,1,Yn,ebn),s.td=function(e){u(e,365).Vd()},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$23$Type",1717),b(1697,1,Ve,lbn),s.Mb=function(e){return I(u(e,57).g,10)},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$3$Type",1697),b(1699,1,Yn,R7n),s.td=function(e){Lfe(this.a,this.b,u(e,57))},s.a=0,w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$4$Type",1699),b(1698,1,DM,z7n),s.Vd=function(){g6(this.b,this.a,-1)},s.a=0,w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$5$Type",1698),b(1700,1,Rf,abn),s.Lb=function(e){return u(e,57),!0},s.Fb=function(e){return this===e},s.Mb=function(e){return u(e,57),!0},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$6$Type",1700),b(1701,1,Yn,dbn),s.td=function(e){u(e,365).Vd()},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$7$Type",1701),b(1702,1,Ve,bbn),s.Mb=function(e){return I(u(e,57).g,145)},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$8$Type",1702),b(1704,1,Yn,_7n),s.td=function(e){$0e(this.a,this.b,u(e,57))},w(Qt,"EdgeAwareScanlineConstraintCalculation/lambda$9$Type",1704),b(1521,1,xt,ejn),s.pf=function(e,t){Aje(this,u(e,37),t)};var UWn;w(Qt,"HorizontalGraphCompactor",1521),b(1522,1,{},B5n),s.Oe=function(e,t){var i,r,c;return YX(e,t)||(i=$w(e),r=$w(t),i&&i.k==(Qn(),Xt)||r&&r.k==(Qn(),Xt))?0:(c=u(k(this.a.a,(G(),Ig)),304),Kce(c,i?i.k:(Qn(),gi),r?r.k:(Qn(),gi)))},s.Pe=function(e,t){var i,r,c;return YX(e,t)?1:(i=$w(e),r=$w(t),c=u(k(this.a.a,(G(),Ig)),304),Wz(c,i?i.k:(Qn(),gi),r?r.k:(Qn(),gi)))},w(Qt,"HorizontalGraphCompactor/1",1522),b(1523,1,{},wbn),s.Ne=function(e,t){return Qv(),e.a.i==0},w(Qt,"HorizontalGraphCompactor/lambda$0$Type",1523),b(1524,1,{},R5n),s.Ne=function(e,t){return l1e(this.a,e,t)},w(Qt,"HorizontalGraphCompactor/lambda$1$Type",1524),b(1664,1,{},xPn);var WWn,XWn;w(Qt,"LGraphToCGraphTransformer",1664),b(1672,1,Ve,gbn),s.Mb=function(e){return e!=null},w(Qt,"LGraphToCGraphTransformer/0methodref$nonNull$Type",1672),b(1665,1,{},pbn),s.Kb=function(e){return wo(),Lr(k(u(u(e,57).g,10),(G(),rt)))},w(Qt,"LGraphToCGraphTransformer/lambda$0$Type",1665),b(1666,1,{},vbn),s.Kb=function(e){return wo(),BDn(u(u(e,57).g,145))},w(Qt,"LGraphToCGraphTransformer/lambda$1$Type",1666),b(1675,1,Ve,mbn),s.Mb=function(e){return wo(),I(u(e,57).g,10)},w(Qt,"LGraphToCGraphTransformer/lambda$10$Type",1675),b(1676,1,Yn,kbn),s.td=function(e){h1e(u(e,57))},w(Qt,"LGraphToCGraphTransformer/lambda$11$Type",1676),b(1677,1,Ve,ybn),s.Mb=function(e){return wo(),I(u(e,57).g,145)},w(Qt,"LGraphToCGraphTransformer/lambda$12$Type",1677),b(1681,1,Yn,jbn),s.td=function(e){wge(u(e,57))},w(Qt,"LGraphToCGraphTransformer/lambda$13$Type",1681),b(1678,1,Yn,_5n),s.td=function(e){Rre(this.a,u(e,8))},s.a=0,w(Qt,"LGraphToCGraphTransformer/lambda$14$Type",1678),b(1679,1,Yn,K5n),s.td=function(e){Kre(this.a,u(e,110))},s.a=0,w(Qt,"LGraphToCGraphTransformer/lambda$15$Type",1679),b(1680,1,Yn,H5n),s.td=function(e){_re(this.a,u(e,8))},s.a=0,w(Qt,"LGraphToCGraphTransformer/lambda$16$Type",1680),b(1682,1,{},Ebn),s.Kb=function(e){return wo(),new $n(null,new Cd(new re(ue(ni(u(e,10)).a.Kc(),new Mn))))},w(Qt,"LGraphToCGraphTransformer/lambda$17$Type",1682),b(1683,1,Ve,Cbn),s.Mb=function(e){return wo(),Xi(u(e,17))},w(Qt,"LGraphToCGraphTransformer/lambda$18$Type",1683),b(1684,1,Yn,q5n),s.td=function(e){y0e(this.a,u(e,17))},w(Qt,"LGraphToCGraphTransformer/lambda$19$Type",1684),b(1668,1,Yn,G5n),s.td=function(e){eae(this.a,u(e,145))},w(Qt,"LGraphToCGraphTransformer/lambda$2$Type",1668),b(1685,1,{},Tbn),s.Kb=function(e){return wo(),new $n(null,new xn(u(e,29).a,16))},w(Qt,"LGraphToCGraphTransformer/lambda$20$Type",1685),b(1686,1,{},Mbn),s.Kb=function(e){return wo(),new $n(null,new Cd(new re(ue(ni(u(e,10)).a.Kc(),new Mn))))},w(Qt,"LGraphToCGraphTransformer/lambda$21$Type",1686),b(1687,1,{},Abn),s.Kb=function(e){return wo(),u(k(u(e,17),(G(),Ua)),15)},w(Qt,"LGraphToCGraphTransformer/lambda$22$Type",1687),b(1688,1,Ve,Sbn),s.Mb=function(e){return qce(u(e,15))},w(Qt,"LGraphToCGraphTransformer/lambda$23$Type",1688),b(1689,1,Yn,z5n),s.td=function(e){v6e(this.a,u(e,15))},w(Qt,"LGraphToCGraphTransformer/lambda$24$Type",1689),b(1667,1,Yn,K7n),s.td=function(e){Hae(this.a,this.b,u(e,145))},w(Qt,"LGraphToCGraphTransformer/lambda$3$Type",1667),b(1669,1,{},Pbn),s.Kb=function(e){return wo(),new $n(null,new xn(u(e,29).a,16))},w(Qt,"LGraphToCGraphTransformer/lambda$4$Type",1669),b(1670,1,{},Ibn),s.Kb=function(e){return wo(),new $n(null,new Cd(new re(ue(ni(u(e,10)).a.Kc(),new Mn))))},w(Qt,"LGraphToCGraphTransformer/lambda$5$Type",1670),b(1671,1,{},Obn),s.Kb=function(e){return wo(),u(k(u(e,17),(G(),Ua)),15)},w(Qt,"LGraphToCGraphTransformer/lambda$6$Type",1671),b(1673,1,Yn,U5n),s.td=function(e){Q6e(this.a,u(e,15))},w(Qt,"LGraphToCGraphTransformer/lambda$8$Type",1673),b(1674,1,Yn,H7n),s.td=function(e){fce(this.a,this.b,u(e,145))},w(Qt,"LGraphToCGraphTransformer/lambda$9$Type",1674),b(1663,1,{},Dbn),s.Le=function(e){var t,i,r,c,o;for(this.a=e,this.d=new LI,this.c=F(grn,rn,121,this.a.a.a.c.length,0,1),this.b=0,i=new E(this.a.a.a);i.a=C&&(W(o,Q(d)),O=j.Math.max(O,x[d-1]-g),h+=m,S+=x[d-1]-S,g=x[d-1],m=l[d]),m=j.Math.max(m,l[d]),++d;h+=m}v=j.Math.min(1/O,1/t.b/h),v>r&&(r=v,i=o)}return i},s.Wf=function(){return!1},w(qf,"MSDCutIndexHeuristic",802),b(1617,1,xt,mwn),s.pf=function(e,t){Sye(u(e,37),t)},w(qf,"SingleEdgeGraphWrapper",1617),b(227,22,{3:1,35:1,22:1,227:1},i5);var Eg,tv,iv,qb,ym,Cg,rv=Ae(lc,"CenterEdgeLabelPlacementStrategy",227,Ie,Rde,pse),uXn;b(422,22,{3:1,35:1,22:1,422:1},WG);var Bcn,s_,Rcn=Ae(lc,"ConstraintCalculationStrategy",422,Ie,P1e,vse),sXn;b(314,22,{3:1,35:1,22:1,314:1,246:1,234:1},dO),s.Kf=function(){return pLn(this)},s.Xf=function(){return pLn(this)};var qk,ap,_cn,Kcn=Ae(lc,"CrossingMinimizationStrategy",314,Ie,yle,mse),oXn;b(337,22,{3:1,35:1,22:1,337:1},bO);var Hcn,o_,DS,qcn=Ae(lc,"CuttingStrategy",337,Ie,jle,jse),fXn;b(335,22,{3:1,35:1,22:1,335:1,246:1,234:1},X9),s.Kf=function(){return iNn(this)},s.Xf=function(){return iNn(this)};var Gcn,f_,jm,h_,Em,zcn=Ae(lc,"CycleBreakingStrategy",335,Ie,lde,Ese),hXn;b(419,22,{3:1,35:1,22:1,419:1},XG);var $S,Ucn,Wcn=Ae(lc,"DirectionCongruency",419,Ie,S1e,Cse),lXn;b(450,22,{3:1,35:1,22:1,450:1},wO);var cv,l_,Tg,aXn=Ae(lc,"EdgeConstraint",450,Ie,Ele,Tse),dXn;b(276,22,{3:1,35:1,22:1,276:1},r5);var a_,d_,b_,w_,FS,g_,Xcn=Ae(lc,"EdgeLabelSideSelection",276,Ie,qde,Mse),bXn;b(479,22,{3:1,35:1,22:1,479:1},VG);var xS,Vcn,Qcn=Ae(lc,"EdgeStraighteningStrategy",479,Ie,A1e,Ase),wXn;b(274,22,{3:1,35:1,22:1,274:1},c5);var p_,Jcn,Ycn,LS,Zcn,nun,eun=Ae(lc,"FixedAlignment",274,Ie,Kde,Sse),gXn;b(275,22,{3:1,35:1,22:1,275:1},u5);var tun,iun,run,cun,Cm,uun,sun=Ae(lc,"GraphCompactionStrategy",275,Ie,_de,Pse),pXn;b(256,22,{3:1,35:1,22:1,256:1},H0);var uv,NS,sv,$s,Tm,BS,ov,Mg,RS,Mm,v_=Ae(lc,"GraphProperties",256,Ie,Sbe,Ise),vXn;b(292,22,{3:1,35:1,22:1,292:1},gO);var Gk,m_,k_,y_=Ae(lc,"GreedySwitchType",292,Ie,Mle,Ose),mXn;b(303,22,{3:1,35:1,22:1,303:1},pO);var dp,zk,Ag,kXn=Ae(lc,"InLayerConstraint",303,Ie,Tle,Dse),yXn;b(420,22,{3:1,35:1,22:1,420:1},QG);var j_,oun,fun=Ae(lc,"InteractiveReferencePoint",420,Ie,I1e,$se),jXn,hun,bp,p0,_S,lun,aun,KS,dun,Uk,HS,Am,wp,Gb,E_,qS,ec,bun,v0,Mc,C_,T_,Wk,za,m0,gp,wun,pp,Xk,zb,Xo,Ys,M_,Sg,dc,rt,gun,pun,vun,mun,kun,A_,GS,Mu,k0,S_,vp,Vk,mf,Pg,fv,Ig,Og,hv,Ua,yun,P_,I_,mp;b(163,22,{3:1,35:1,22:1,163:1},Q9);var Sm,xl,Pm,Ub,Qk,jun=Ae(lc,"LayerConstraint",163,Ie,bde,Fse),EXn;b(848,1,zs,A4n),s.Qe=function(e){En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,xnn),""),"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."),Dun),(y1(),Nt)),Wcn),Cn((Ho(),Xn))))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Lnn),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(qn(),!1)),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,WM),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),Bun),Nt),fun),Cn(Xn)))),Ci(e,WM,IN,bVn),Ci(e,WM,X6,dVn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Nnn),""),"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),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Bnn),""),"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),_i),si),Cn(Xn)))),En(e,new bn(_ie(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Rnn),""),"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),_i),si),Cn(Ya)),A(M(tn,1),q,2,6,["org.eclipse.elk.layered.northOrSouthPort"])))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,_nn),""),"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."),Uun),Nt),non),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Knn),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),Q(7)),sc),Wi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Hnn),""),"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),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,qnn),""),"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),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,IN),"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)."),Oun),Nt),zcn),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,wk),nB),"Node Layering Strategy"),"Strategy for node layering."),Kun),Nt),Hsn),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Gnn),nB),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),Run),Nt),jun),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,znn),nB),"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."),Q(-1)),sc),Wi),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Unn),nB),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),Q(-1)),sc),Wi),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,ON),dHn),"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."),Q(4)),sc),Wi),Cn(Xn)))),Ci(e,ON,wk,yVn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,DN),dHn),"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."),Q(2)),sc),Wi),Cn(Xn)))),Ci(e,DN,wk,EVn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,$N),bHn),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),_un),Nt),Jsn),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,FN),bHn),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),Q(0)),sc),Wi),Cn(Xn)))),Ci(e,FN,$N,null),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,xN),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),Q(nt)),sc),Wi),Cn(Xn)))),Ci(e,xN,wk,gVn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,X6),gk),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),Iun),Nt),Kcn),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Wnn),gk),"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),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,LN),gk),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),Or),Mi),Cn(Xn)))),Ci(e,LN,uA,HXn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,NN),gk),"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),_i),si),Cn(Xn)))),Ci(e,NN,X6,UXn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Xnn),gk),"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."),Q(-1)),sc),Wi),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Vnn),gk),"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."),Q(-1)),sc),Wi),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Qnn),wHn),"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."),Q(40)),sc),Wi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,BN),wHn),"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."),Pun),Nt),y_),Cn(Xn)))),Ci(e,BN,X6,_Xn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,XM),"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."),Sun),Nt),y_),Cn(Xn)))),Ci(e,XM,X6,NXn),Ci(e,XM,uA,BXn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,lg),gHn),"Node Placement Strategy"),"Strategy for node placement."),zun),Nt),Usn),Cn(Xn)))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,VM),gHn),"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."),_i),si),Cn(Xn)))),Ci(e,VM,lg,FVn),Ci(e,VM,lg,xVn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,RN),pHn),"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."),Hun),Nt),Qcn),Cn(Xn)))),Ci(e,RN,lg,IVn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,_N),pHn),"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."),qun),Nt),eun),Cn(Xn)))),Ci(e,_N,lg,DVn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,KN),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),Or),Mi),Cn(Xn)))),Ci(e,KN,lg,NVn),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,HN),"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."),Nt),Z_),Cn(pi)))),Ci(e,HN,lg,KVn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,qN),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),Gun),Nt),Z_),Cn(Xn)))),Ci(e,qN,lg,_Vn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Jnn),vHn),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),xun),Nt),ion),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Ynn),vHn),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),Lun),Nt),ron),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,QM),"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."),Nun),Nt),uon),Cn(Xn)))),Ci(e,QM,pk,iVn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,JM),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),Or),Mi),Cn(Xn)))),Ci(e,JM,pk,cVn),Ci(e,JM,QM,uVn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,GN),"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),Or),Mi),Cn(Xn)))),Ci(e,GN,pk,ZXn),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,Znn),wf),"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."),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,nen),wf),"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),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,een),wf),"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),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,ten),wf),"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),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,ien),aen),"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."),Q(0)),sc),Wi),Cn(Yf)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,ren),aen),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),Q(0)),sc),Wi),Cn(Yf)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,cen),aen),"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."),Q(0)),sc),Wi),Cn(Yf)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,zN),den),FKn),"Tries to further compact components (disconnected sub-graphs)."),!1),_i),si),Cn(Xn)))),Ci(e,zN,q6,!0),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,uen),mHn),"Post Compaction Strategy"),kHn),Cun),Nt),sun),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,sen),mHn),"Post Compaction Constraint Calculation"),kHn),Eun),Nt),Rcn),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,YM),ben),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,UN),ben),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),Q(16)),sc),Wi),Cn(Xn)))),Ci(e,UN,YM,!0),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,WN),ben),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),Q(5)),sc),Wi),Cn(Xn)))),Ci(e,WN,YM,!0),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Vh),wen),"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'."),Vun),Nt),hon),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,ZM),wen),"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),Or),Mi),Cn(Xn)))),Ci(e,ZM,Vh,nQn),Ci(e,ZM,Vh,eQn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,nA),wen),"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),Or),Mi),Cn(Xn)))),Ci(e,nA,Vh,iQn),Ci(e,nA,Vh,rQn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,V6),yHn),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),Xun),Nt),qcn),Cn(Xn)))),Ci(e,V6,Vh,hQn),Ci(e,V6,Vh,lQn),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,XN),yHn),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),yf),Ds),Cn(Xn)))),Ci(e,XN,V6,uQn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,VN),"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."),Wun),sc),Wi),Cn(Xn)))),Ci(e,VN,V6,oQn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,eA),jHn),"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."),Qun),Nt),fon),Cn(Xn)))),Ci(e,eA,Vh,EQn),Ci(e,eA,Vh,CQn),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,tA),jHn),"Valid Indices for Wrapping"),null),yf),Ds),Cn(Xn)))),Ci(e,tA,Vh,kQn),Ci(e,tA,Vh,yQn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,iA),gen),"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),_i),si),Cn(Xn)))),Ci(e,iA,Vh,wQn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,rA),gen),"Distance Penalty When Improving Cuts"),null),2),Or),Mi),Cn(Xn)))),Ci(e,rA,Vh,dQn),Ci(e,rA,iA,!0),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,QN),gen),"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),_i),si),Cn(Xn)))),Ci(e,QN,Vh,pQn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,oen),eB),"Edge Label Side Selection"),"Method to decide on edge label sides."),Fun),Nt),Xcn),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,fen),eB),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),$un),Nt),rv),pt(Xn,A(M($1,1),z,175,0,[D1]))))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,cA),vk),"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."),Aun),Nt),Zsn),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,hen),vk),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),_i),si),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,JN),vk),"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."),Tun),Nt),zrn),Cn(Xn)))),Ci(e,JN,q6,null),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,len),vk),"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."),Mun),Nt),Gsn),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,YN),vk),"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),Or),Mi),Cn(Xn)))),Ci(e,YN,cA,null),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,ZN),vk),"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),Or),Mi),Cn(Xn)))),Ci(e,ZN,cA,null),R_n((new I4n,e))};var CXn,TXn,MXn,Eun,AXn,Cun,SXn,Tun,PXn,IXn,OXn,Mun,DXn,$Xn,Aun,FXn,xXn,LXn,Sun,NXn,BXn,RXn,Pun,_Xn,KXn,HXn,qXn,GXn,zXn,UXn,WXn,Iun,XXn,Oun,VXn,Dun,QXn,$un,JXn,Fun,YXn,ZXn,nVn,xun,eVn,Lun,tVn,Nun,iVn,rVn,cVn,uVn,sVn,oVn,fVn,hVn,lVn,aVn,Bun,dVn,bVn,wVn,gVn,pVn,vVn,Run,mVn,kVn,yVn,jVn,EVn,CVn,TVn,_un,MVn,Kun,AVn,SVn,PVn,Hun,IVn,OVn,qun,DVn,$Vn,FVn,xVn,LVn,NVn,BVn,RVn,Gun,_Vn,KVn,HVn,zun,qVn,Uun,GVn,zVn,UVn,WVn,XVn,VVn,QVn,JVn,YVn,ZVn,nQn,eQn,tQn,iQn,rQn,cQn,uQn,sQn,Wun,oQn,fQn,Xun,hQn,lQn,aQn,dQn,bQn,wQn,gQn,pQn,vQn,Vun,mQn,kQn,yQn,jQn,Qun,EQn,CQn;w(lc,"LayeredMetaDataProvider",848),b(986,1,zs,I4n),s.Qe=function(e){R_n(e)};var Qf,O_,zS,Im,US,Jun,WS,kp,XS,Yun,Zun,D_,Ll,$_,Wb,nsn,Jk,F_,esn,TQn,VS,x_,Om,Xb,MQn,ls,tsn,isn,QS,L_,Jf,JS,Qh,rsn,csn,usn,N_,B_,ssn,S1,R_,osn,Vb,fsn,hsn,lsn,YS,Qb,Wa,asn,dsn,Tr,bsn,AQn,qc,ZS,wsn,gsn,psn,__,vsn,nP,msn,ksn,eP,y0,ysn,K_,Dm,jsn,j0,$m,tP,Xa,H_,lv,iP,Va,Esn,Csn,Tsn,av,Msn,SQn,PQn,IQn,OQn,E0,Jb,Lt,P1,DQn,Yb,Asn,dv,Ssn,Zb,$Qn,bv,Psn,yp,FQn,xQn,Yk,q_,Isn,Zk,Mo,Dg,jp,C0,Qa,rP,nw,G_,wv,gv,T0,$g,z_,ny,Fm,xm,U_,Osn,Dsn,$sn,Fsn,W_,xsn,Lsn,Nsn,Bsn,X_,cP;w(lc,"LayeredOptions",986),b(987,1,{},ywn),s.$e=function(){var e;return e=new Vmn,e},s._e=function(e){},w(lc,"LayeredOptions/LayeredFactory",987),b(1372,1,{}),s.a=0;var LQn;w(ac,"ElkSpacings/AbstractSpacingsBuilder",1372),b(779,1372,{},AQ);var uP,NQn;w(lc,"LayeredSpacings/LayeredSpacingsBuilder",779),b(313,22,{3:1,35:1,22:1,313:1,246:1,234:1},s5),s.Kf=function(){return vNn(this)},s.Xf=function(){return vNn(this)};var V_,Rsn,_sn,sP,Q_,Ksn,Hsn=Ae(lc,"LayeringStrategy",313,Ie,Hde,xse),BQn;b(378,22,{3:1,35:1,22:1,378:1},vO);var J_,qsn,oP,Gsn=Ae(lc,"LongEdgeOrderingStrategy",378,Ie,kle,Lse),RQn;b(197,22,{3:1,35:1,22:1,197:1},Gj);var Fg,xg,fP,Y_,Z_=Ae(lc,"NodeFlexibility",197,Ie,Aae,Nse),_Qn;b(315,22,{3:1,35:1,22:1,315:1,246:1,234:1},V9),s.Kf=function(){return tNn(this)},s.Xf=function(){return tNn(this)};var Lm,nK,eK,Nm,zsn,Usn=Ae(lc,"NodePlacementStrategy",315,Ie,hde,qse),KQn;b(260,22,{3:1,35:1,22:1,260:1},h2);var Wsn,ey,Xsn,Vsn,ty,Qsn,hP,lP,Jsn=Ae(lc,"NodePromotionStrategy",260,Ie,K0e,Rse),HQn;b(339,22,{3:1,35:1,22:1,339:1},mO);var Ysn,Nl,tK,Zsn=Ae(lc,"OrderingStrategy",339,Ie,Sle,_se),qQn;b(421,22,{3:1,35:1,22:1,421:1},JG);var iK,rK,non=Ae(lc,"PortSortingStrategy",421,Ie,O1e,Kse),GQn;b(452,22,{3:1,35:1,22:1,452:1},kO);var Au,xc,Bm,zQn=Ae(lc,"PortType",452,Ie,Ale,Bse),UQn;b(375,22,{3:1,35:1,22:1,375:1},yO);var eon,cK,ton,ion=Ae(lc,"SelfLoopDistributionStrategy",375,Ie,Ple,Hse),WQn;b(376,22,{3:1,35:1,22:1,376:1},YG);var iy,uK,ron=Ae(lc,"SelfLoopOrderingStrategy",376,Ie,M1e,Gse),XQn;b(304,1,{304:1},KRn),w(lc,"Spacings",304),b(336,22,{3:1,35:1,22:1,336:1},jO);var sK,con,Rm,uon=Ae(lc,"SplineRoutingMode",336,Ie,Ole,zse),VQn;b(338,22,{3:1,35:1,22:1,338:1},EO);var oK,son,oon,fon=Ae(lc,"ValidifyStrategy",338,Ie,Dle,Use),QQn;b(377,22,{3:1,35:1,22:1,377:1},CO);var ew,fK,pv,hon=Ae(lc,"WrappingStrategy",377,Ie,Ile,Wse),JQn;b(1383,1,Ec,O4n),s.Yf=function(e){return u(e,37),YQn},s.pf=function(e,t){jje(this,u(e,37),t)};var YQn;w(fA,"DepthFirstCycleBreaker",1383),b(782,1,Ec,lW),s.Yf=function(e){return u(e,37),ZQn},s.pf=function(e,t){kTe(this,u(e,37),t)},s.Zf=function(e){return u(un(e,_T(this.d,e.c.length)),10)};var ZQn;w(fA,"GreedyCycleBreaker",782),b(1386,782,Ec,Skn),s.Zf=function(e){var t,i,r,c;for(c=null,t=nt,r=new E(e);r.a1&&(on(sn(k(Gi((Ln(0,e.c.length),u(e.c[0],10))),(nn(),Wb))))?aNn(e,this.d,u(this,660)):(Pn(),bi(e,this.d)),DOn(this.e,e))},s.Sf=function(e,t,i,r){var c,o,f,h,l,a,d;for(t!=iCn(i,e.length)&&(o=e[t-(i?1:-1)],LX(this.f,o,i?(ur(),xc):(ur(),Au))),c=e[t][0],d=!r||c.k==(Qn(),Xt),a=cf(e[t]),this.ag(a,d,!1,i),f=0,l=new E(a);l.a"),e0?r$(this.a,e[t-1],e[t]):!i&&t1&&(on(sn(k(Gi((Ln(0,e.c.length),u(e.c[0],10))),(nn(),Wb))))?aNn(e,this.d,this):(Pn(),bi(e,this.d)),on(sn(k(Gi((Ln(0,e.c.length),u(e.c[0],10))),Wb)))||DOn(this.e,e))},w(vu,"ModelOrderBarycenterHeuristic",660),b(1803,1,lt,a6n),s.ue=function(e,t){return L5e(this.a,u(e,10),u(t,10))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(vu,"ModelOrderBarycenterHeuristic/lambda$0$Type",1803),b(1403,1,Ec,R4n),s.Yf=function(e){var t;return u(e,37),t=iE(aJn),Ze(t,(Qi(),Hc),(rr(),kS)),t},s.pf=function(e,t){y1e((u(e,37),t))};var aJn;w(vu,"NoCrossingMinimizer",1403),b(796,402,Yen,yG),s.$f=function(e,t,i){var r,c,o,f,h,l,a,d,g,p,v;switch(g=this.g,i.g){case 1:{for(c=0,o=0,d=new E(e.j);d.a1&&(c.j==(J(),Vn)?this.b[e]=!0:c.j==Gn&&e>0&&(this.b[e-1]=!0))},s.f=0,w(gh,"AllCrossingsCounter",1798),b(587,1,{},tT),s.b=0,s.d=0,w(gh,"BinaryIndexedTree",587),b(524,1,{},b8);var don,dP;w(gh,"CrossingsCounter",524),b(1906,1,lt,d6n),s.ue=function(e,t){return Cfe(this.a,u(e,11),u(t,11))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(gh,"CrossingsCounter/lambda$0$Type",1906),b(1907,1,lt,b6n),s.ue=function(e,t){return Tfe(this.a,u(e,11),u(t,11))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(gh,"CrossingsCounter/lambda$1$Type",1907),b(1908,1,lt,w6n),s.ue=function(e,t){return Mfe(this.a,u(e,11),u(t,11))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(gh,"CrossingsCounter/lambda$2$Type",1908),b(1909,1,lt,g6n),s.ue=function(e,t){return Afe(this.a,u(e,11),u(t,11))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(gh,"CrossingsCounter/lambda$3$Type",1909),b(1910,1,Yn,p6n),s.td=function(e){o0e(this.a,u(e,11))},w(gh,"CrossingsCounter/lambda$4$Type",1910),b(1911,1,Ve,v6n),s.Mb=function(e){return jre(this.a,u(e,11))},w(gh,"CrossingsCounter/lambda$5$Type",1911),b(1912,1,Yn,m6n),s.td=function(e){Ckn(this,e)},w(gh,"CrossingsCounter/lambda$6$Type",1912),b(1913,1,Yn,Q7n),s.td=function(e){var t;h3(),ll(this.b,(t=this.a,u(e,11),t))},w(gh,"CrossingsCounter/lambda$7$Type",1913),b(826,1,Rf,UH),s.Lb=function(e){return h3(),li(u(e,11),(G(),Mu))},s.Fb=function(e){return this===e},s.Mb=function(e){return h3(),li(u(e,11),(G(),Mu))},w(gh,"CrossingsCounter/lambda$8$Type",826),b(1905,1,{},k6n),w(gh,"HyperedgeCrossingsCounter",1905),b(467,1,{35:1,467:1},_jn),s.wd=function(e){return cpe(this,u(e,467))},s.b=0,s.c=0,s.e=0,s.f=0;var eMe=w(gh,"HyperedgeCrossingsCounter/Hyperedge",467);b(362,1,{35:1,362:1},nC),s.wd=function(e){return i9e(this,u(e,362))},s.b=0,s.c=0;var dJn=w(gh,"HyperedgeCrossingsCounter/HyperedgeCorner",362);b(523,22,{3:1,35:1,22:1,523:1},ZG);var Km,Hm,bJn=Ae(gh,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",523,Ie,D1e,Vse),wJn;b(1405,1,Ec,P4n),s.Yf=function(e){return u(k(u(e,37),(G(),Mc)),21).Hc((or(),$s))?gJn:null},s.pf=function(e,t){C4e(this,u(e,37),t)};var gJn;w(hr,"InteractiveNodePlacer",1405),b(1406,1,Ec,S4n),s.Yf=function(e){return u(k(u(e,37),(G(),Mc)),21).Hc((or(),$s))?pJn:null},s.pf=function(e,t){o3e(this,u(e,37),t)};var pJn,bP,wP;w(hr,"LinearSegmentsNodePlacer",1406),b(257,1,{35:1,257:1},Jq),s.wd=function(e){return Fie(this,u(e,257))},s.Fb=function(e){var t;return I(e,257)?(t=u(e,257),this.b==t.b):!1},s.Hb=function(){return this.b},s.Ib=function(){return"ls"+kl(this.e)},s.a=0,s.b=0,s.c=-1,s.d=-1,s.g=0;var vJn=w(hr,"LinearSegmentsNodePlacer/LinearSegment",257);b(1408,1,Ec,dCn),s.Yf=function(e){return u(k(u(e,37),(G(),Mc)),21).Hc((or(),$s))?mJn:null},s.pf=function(e,t){aTe(this,u(e,37),t)},s.b=0,s.g=0;var mJn;w(hr,"NetworkSimplexPlacer",1408),b(1427,1,lt,Swn),s.ue=function(e,t){return Uc(u(e,19).a,u(t,19).a)},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(hr,"NetworkSimplexPlacer/0methodref$compare$Type",1427),b(1429,1,lt,Pwn),s.ue=function(e,t){return Uc(u(e,19).a,u(t,19).a)},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(hr,"NetworkSimplexPlacer/1methodref$compare$Type",1429),b(649,1,{649:1},J7n);var tMe=w(hr,"NetworkSimplexPlacer/EdgeRep",649);b(401,1,{401:1},qW),s.b=!1;var iMe=w(hr,"NetworkSimplexPlacer/NodeRep",401);b(508,12,{3:1,4:1,20:1,28:1,52:1,12:1,14:1,15:1,54:1,508:1},u9n),w(hr,"NetworkSimplexPlacer/Path",508),b(1409,1,{},Iwn),s.Kb=function(e){return u(e,17).d.i.k},w(hr,"NetworkSimplexPlacer/Path/lambda$0$Type",1409),b(1410,1,Ve,Own),s.Mb=function(e){return u(e,267)==(Qn(),gi)},w(hr,"NetworkSimplexPlacer/Path/lambda$1$Type",1410),b(1411,1,{},Dwn),s.Kb=function(e){return u(e,17).d.i},w(hr,"NetworkSimplexPlacer/Path/lambda$2$Type",1411),b(1412,1,Ve,y6n),s.Mb=function(e){return Cjn(f$n(u(e,10)))},w(hr,"NetworkSimplexPlacer/Path/lambda$3$Type",1412),b(1413,1,Ve,$wn),s.Mb=function(e){return dfe(u(e,11))},w(hr,"NetworkSimplexPlacer/lambda$0$Type",1413),b(1414,1,Yn,Y7n),s.td=function(e){hce(this.a,this.b,u(e,11))},w(hr,"NetworkSimplexPlacer/lambda$1$Type",1414),b(1423,1,Yn,j6n),s.td=function(e){I6e(this.a,u(e,17))},w(hr,"NetworkSimplexPlacer/lambda$10$Type",1423),b(1424,1,{},Fwn),s.Kb=function(e){return Zu(),new $n(null,new xn(u(e,29).a,16))},w(hr,"NetworkSimplexPlacer/lambda$11$Type",1424),b(1425,1,Yn,E6n),s.td=function(e){M7e(this.a,u(e,10))},w(hr,"NetworkSimplexPlacer/lambda$12$Type",1425),b(1426,1,{},xwn),s.Kb=function(e){return Zu(),Q(u(e,121).e)},w(hr,"NetworkSimplexPlacer/lambda$13$Type",1426),b(1428,1,{},Lwn),s.Kb=function(e){return Zu(),Q(u(e,121).e)},w(hr,"NetworkSimplexPlacer/lambda$15$Type",1428),b(1430,1,Ve,Nwn),s.Mb=function(e){return Zu(),u(e,401).c.k==(Qn(),ti)},w(hr,"NetworkSimplexPlacer/lambda$17$Type",1430),b(1431,1,Ve,Bwn),s.Mb=function(e){return Zu(),u(e,401).c.j.c.length>1},w(hr,"NetworkSimplexPlacer/lambda$18$Type",1431),b(1432,1,Yn,kTn),s.td=function(e){g2e(this.c,this.b,this.d,this.a,u(e,401))},s.c=0,s.d=0,w(hr,"NetworkSimplexPlacer/lambda$19$Type",1432),b(1415,1,{},Rwn),s.Kb=function(e){return Zu(),new $n(null,new xn(u(e,29).a,16))},w(hr,"NetworkSimplexPlacer/lambda$2$Type",1415),b(1433,1,Yn,C6n),s.td=function(e){oce(this.a,u(e,11))},s.a=0,w(hr,"NetworkSimplexPlacer/lambda$20$Type",1433),b(1434,1,{},_wn),s.Kb=function(e){return Zu(),new $n(null,new xn(u(e,29).a,16))},w(hr,"NetworkSimplexPlacer/lambda$21$Type",1434),b(1435,1,Yn,T6n),s.td=function(e){Ece(this.a,u(e,10))},w(hr,"NetworkSimplexPlacer/lambda$22$Type",1435),b(1436,1,Ve,Kwn),s.Mb=function(e){return Cjn(e)},w(hr,"NetworkSimplexPlacer/lambda$23$Type",1436),b(1437,1,{},Hwn),s.Kb=function(e){return Zu(),new $n(null,new xn(u(e,29).a,16))},w(hr,"NetworkSimplexPlacer/lambda$24$Type",1437),b(1438,1,Ve,M6n),s.Mb=function(e){return Pre(this.a,u(e,10))},w(hr,"NetworkSimplexPlacer/lambda$25$Type",1438),b(1439,1,Yn,Z7n),s.td=function(e){Y5e(this.a,this.b,u(e,10))},w(hr,"NetworkSimplexPlacer/lambda$26$Type",1439),b(1440,1,Ve,qwn),s.Mb=function(e){return Zu(),!Xi(u(e,17))},w(hr,"NetworkSimplexPlacer/lambda$27$Type",1440),b(1441,1,Ve,Gwn),s.Mb=function(e){return Zu(),!Xi(u(e,17))},w(hr,"NetworkSimplexPlacer/lambda$28$Type",1441),b(1442,1,{},A6n),s.Ce=function(e,t){return kce(this.a,u(e,29),u(t,29))},w(hr,"NetworkSimplexPlacer/lambda$29$Type",1442),b(1416,1,{},zwn),s.Kb=function(e){return Zu(),new $n(null,new Cd(new re(ue(ni(u(e,10)).a.Kc(),new Mn))))},w(hr,"NetworkSimplexPlacer/lambda$3$Type",1416),b(1417,1,Ve,Uwn),s.Mb=function(e){return Zu(),sae(u(e,17))},w(hr,"NetworkSimplexPlacer/lambda$4$Type",1417),b(1418,1,Yn,S6n),s.td=function(e){Tye(this.a,u(e,17))},w(hr,"NetworkSimplexPlacer/lambda$5$Type",1418),b(1419,1,{},Wwn),s.Kb=function(e){return Zu(),new $n(null,new xn(u(e,29).a,16))},w(hr,"NetworkSimplexPlacer/lambda$6$Type",1419),b(1420,1,Ve,Xwn),s.Mb=function(e){return Zu(),u(e,10).k==(Qn(),ti)},w(hr,"NetworkSimplexPlacer/lambda$7$Type",1420),b(1421,1,{},Vwn),s.Kb=function(e){return Zu(),new $n(null,new Cd(new re(ue(Kh(u(e,10)).a.Kc(),new Mn))))},w(hr,"NetworkSimplexPlacer/lambda$8$Type",1421),b(1422,1,Ve,Qwn),s.Mb=function(e){return Zu(),sfe(u(e,17))},w(hr,"NetworkSimplexPlacer/lambda$9$Type",1422),b(1404,1,Ec,z4n),s.Yf=function(e){return u(k(u(e,37),(G(),Mc)),21).Hc((or(),$s))?kJn:null},s.pf=function(e,t){uje(u(e,37),t)};var kJn;w(hr,"SimpleNodePlacer",1404),b(180,1,{180:1},tg),s.Ib=function(){var e;return e="",this.c==(Ff(),M0)?e+=Z2:this.c==I1&&(e+=Y2),this.o==(ef(),Ja)?e+=hN:this.o==kf?e+="UP":e+="BALANCED",e},w(Sl,"BKAlignedLayout",180),b(516,22,{3:1,35:1,22:1,516:1},ez);var I1,M0,yJn=Ae(Sl,"BKAlignedLayout/HDirection",516,Ie,F1e,Qse),jJn;b(515,22,{3:1,35:1,22:1,515:1},nz);var Ja,kf,EJn=Ae(Sl,"BKAlignedLayout/VDirection",515,Ie,x1e,Jse),CJn;b(1634,1,{},nkn),w(Sl,"BKAligner",1634),b(1637,1,{},$Fn),w(Sl,"BKCompactor",1637),b(654,1,{654:1},Jwn),s.a=0,w(Sl,"BKCompactor/ClassEdge",654),b(458,1,{458:1},r9n),s.a=null,s.b=0,w(Sl,"BKCompactor/ClassNode",458),b(1407,1,Ec,Mkn),s.Yf=function(e){return u(k(u(e,37),(G(),Mc)),21).Hc((or(),$s))?TJn:null},s.pf=function(e,t){ATe(this,u(e,37),t)},s.d=!1;var TJn;w(Sl,"BKNodePlacer",1407),b(1635,1,{},Ywn),s.d=0,w(Sl,"NeighborhoodInformation",1635),b(1636,1,lt,P6n),s.ue=function(e,t){return F0e(this,u(e,46),u(t,46))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Sl,"NeighborhoodInformation/NeighborComparator",1636),b(808,1,{}),w(Sl,"ThresholdStrategy",808),b(1763,808,{},f9n),s.bg=function(e,t,i){return this.a.o==(ef(),kf)?Ft:Vt},s.cg=function(){},w(Sl,"ThresholdStrategy/NullThresholdStrategy",1763),b(579,1,{579:1},ekn),s.c=!1,s.d=!1,w(Sl,"ThresholdStrategy/Postprocessable",579),b(1764,808,{},h9n),s.bg=function(e,t,i){var r,c,o;return c=t==i,r=this.a.a[i.p]==t,c||r?(o=e,this.a.c==(Ff(),M0)?(c&&(o=hL(this,t,!0)),!isNaN(o)&&!isFinite(o)&&r&&(o=hL(this,i,!1))):(c&&(o=hL(this,t,!0)),!isNaN(o)&&!isFinite(o)&&r&&(o=hL(this,i,!1))),o):e},s.cg=function(){for(var e,t,i,r,c;this.d.b!=0;)c=u(J1e(this.d),579),r=nRn(this,c),r.a&&(e=r.a,i=on(this.a.f[this.a.g[c.b.p].p]),!(!i&&!Xi(e)&&e.c.i.c==e.d.i.c)&&(t=sNn(this,c),t||Nre(this.e,c)));for(;this.e.a.c.length!=0;)sNn(this,u(pDn(this.e),579))},w(Sl,"ThresholdStrategy/SimpleThresholdStrategy",1764),b(635,1,{635:1,246:1,234:1},Zwn),s.Kf=function(){return AOn(this)},s.Xf=function(){return AOn(this)};var hK;w(uB,"EdgeRouterFactory",635),b(1458,1,Ec,U4n),s.Yf=function(e){return c7e(u(e,37))},s.pf=function(e,t){dje(u(e,37),t)};var MJn,AJn,SJn,PJn,IJn,bon,OJn,DJn;w(uB,"OrthogonalEdgeRouter",1458),b(1451,1,Ec,Akn),s.Yf=function(e){return P4e(u(e,37))},s.pf=function(e,t){$Ce(this,u(e,37),t)};var $Jn,FJn,xJn,LJn,cy,NJn;w(uB,"PolylineEdgeRouter",1451),b(1452,1,Rf,ngn),s.Lb=function(e){return IV(u(e,10))},s.Fb=function(e){return this===e},s.Mb=function(e){return IV(u(e,10))},w(uB,"PolylineEdgeRouter/1",1452),b(1809,1,Ve,egn),s.Mb=function(e){return u(e,129).c==(No(),Bl)},w(zo,"HyperEdgeCycleDetector/lambda$0$Type",1809),b(1810,1,{},tgn),s.Ge=function(e){return u(e,129).d},w(zo,"HyperEdgeCycleDetector/lambda$1$Type",1810),b(1811,1,Ve,ign),s.Mb=function(e){return u(e,129).c==(No(),Bl)},w(zo,"HyperEdgeCycleDetector/lambda$2$Type",1811),b(1812,1,{},rgn),s.Ge=function(e){return u(e,129).d},w(zo,"HyperEdgeCycleDetector/lambda$3$Type",1812),b(1813,1,{},cgn),s.Ge=function(e){return u(e,129).d},w(zo,"HyperEdgeCycleDetector/lambda$4$Type",1813),b(1814,1,{},ugn),s.Ge=function(e){return u(e,129).d},w(zo,"HyperEdgeCycleDetector/lambda$5$Type",1814),b(112,1,{35:1,112:1},n7),s.wd=function(e){return xie(this,u(e,112))},s.Fb=function(e){var t;return I(e,112)?(t=u(e,112),this.g==t.g):!1},s.Hb=function(){return this.g},s.Ib=function(){var e,t,i,r;for(e=new Ju("{"),r=new E(this.n);r.a"+this.b+" ("+Uce(this.c)+")"},s.d=0,w(zo,"HyperEdgeSegmentDependency",129),b(520,22,{3:1,35:1,22:1,520:1},tz);var Bl,tw,BJn=Ae(zo,"HyperEdgeSegmentDependency/DependencyType",520,Ie,$1e,Yse),RJn;b(1815,1,{},I6n),w(zo,"HyperEdgeSegmentSplitter",1815),b(1816,1,{},s8n),s.a=0,s.b=0,w(zo,"HyperEdgeSegmentSplitter/AreaRating",1816),b(329,1,{329:1},hD),s.a=0,s.b=0,s.c=0,w(zo,"HyperEdgeSegmentSplitter/FreeArea",329),b(1817,1,lt,bgn),s.ue=function(e,t){return Hue(u(e,112),u(t,112))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(zo,"HyperEdgeSegmentSplitter/lambda$0$Type",1817),b(1818,1,Yn,yTn),s.td=function(e){Wae(this.a,this.d,this.c,this.b,u(e,112))},s.b=0,w(zo,"HyperEdgeSegmentSplitter/lambda$1$Type",1818),b(1819,1,{},wgn),s.Kb=function(e){return new $n(null,new xn(u(e,112).e,16))},w(zo,"HyperEdgeSegmentSplitter/lambda$2$Type",1819),b(1820,1,{},ggn),s.Kb=function(e){return new $n(null,new xn(u(e,112).j,16))},w(zo,"HyperEdgeSegmentSplitter/lambda$3$Type",1820),b(1821,1,{},pgn),s.Fe=function(e){return K(Y(e))},w(zo,"HyperEdgeSegmentSplitter/lambda$4$Type",1821),b(655,1,{},FD),s.a=0,s.b=0,s.c=0,w(zo,"OrthogonalRoutingGenerator",655),b(1638,1,{},vgn),s.Kb=function(e){return new $n(null,new xn(u(e,112).e,16))},w(zo,"OrthogonalRoutingGenerator/lambda$0$Type",1638),b(1639,1,{},mgn),s.Kb=function(e){return new $n(null,new xn(u(e,112).j,16))},w(zo,"OrthogonalRoutingGenerator/lambda$1$Type",1639),b(661,1,{}),w(sB,"BaseRoutingDirectionStrategy",661),b(1807,661,{},l9n),s.dg=function(e,t,i){var r,c,o,f,h,l,a,d,g,p,v,m,C;if(!(e.r&&!e.q))for(d=t+e.o*i,a=new E(e.n);a.aKf&&(o=d,c=e,r=new fn(g,o),Ke(f.a,r),n0(this,f,c,r,!1),p=e.r,p&&(v=K(Y(qo(p.e,0))),r=new fn(v,o),Ke(f.a,r),n0(this,f,c,r,!1),o=t+p.o*i,c=p,r=new fn(v,o),Ke(f.a,r),n0(this,f,c,r,!1)),r=new fn(C,o),Ke(f.a,r),n0(this,f,c,r,!1)))},s.eg=function(e){return e.i.n.a+e.n.a+e.a.a},s.fg=function(){return J(),ae},s.gg=function(){return J(),Kn},w(sB,"NorthToSouthRoutingStrategy",1807),b(1808,661,{},a9n),s.dg=function(e,t,i){var r,c,o,f,h,l,a,d,g,p,v,m,C;if(!(e.r&&!e.q))for(d=t-e.o*i,a=new E(e.n);a.aKf&&(o=d,c=e,r=new fn(g,o),Ke(f.a,r),n0(this,f,c,r,!1),p=e.r,p&&(v=K(Y(qo(p.e,0))),r=new fn(v,o),Ke(f.a,r),n0(this,f,c,r,!1),o=t-p.o*i,c=p,r=new fn(v,o),Ke(f.a,r),n0(this,f,c,r,!1)),r=new fn(C,o),Ke(f.a,r),n0(this,f,c,r,!1)))},s.eg=function(e){return e.i.n.a+e.n.a+e.a.a},s.fg=function(){return J(),Kn},s.gg=function(){return J(),ae},w(sB,"SouthToNorthRoutingStrategy",1808),b(1806,661,{},d9n),s.dg=function(e,t,i){var r,c,o,f,h,l,a,d,g,p,v,m,C;if(!(e.r&&!e.q))for(d=t+e.o*i,a=new E(e.n);a.aKf&&(o=d,c=e,r=new fn(o,g),Ke(f.a,r),n0(this,f,c,r,!0),p=e.r,p&&(v=K(Y(qo(p.e,0))),r=new fn(o,v),Ke(f.a,r),n0(this,f,c,r,!0),o=t+p.o*i,c=p,r=new fn(o,v),Ke(f.a,r),n0(this,f,c,r,!0)),r=new fn(o,C),Ke(f.a,r),n0(this,f,c,r,!0)))},s.eg=function(e){return e.i.n.b+e.n.b+e.a.b},s.fg=function(){return J(),Vn},s.gg=function(){return J(),Gn},w(sB,"WestToEastRoutingStrategy",1806),b(813,1,{},jZ),s.Ib=function(){return kl(this.a)},s.b=0,s.c=!1,s.d=!1,s.f=0,w(Fb,"NubSpline",813),b(407,1,{407:1},LNn,eMn),w(Fb,"NubSpline/PolarCP",407),b(1453,1,Ec,TFn),s.Yf=function(e){return vve(u(e,37))},s.pf=function(e,t){YCe(this,u(e,37),t)};var _Jn,KJn,HJn,qJn,GJn;w(Fb,"SplineEdgeRouter",1453),b(268,1,{268:1},MC),s.Ib=function(){return this.a+" ->("+this.c+") "+this.b},s.c=0,w(Fb,"SplineEdgeRouter/Dependency",268),b(455,22,{3:1,35:1,22:1,455:1},iz);var Rl,Lg,zJn=Ae(Fb,"SplineEdgeRouter/SideToProcess",455,Ie,L1e,Zse),UJn;b(1454,1,Ve,agn),s.Mb=function(e){return C6(),!u(e,128).o},w(Fb,"SplineEdgeRouter/lambda$0$Type",1454),b(1455,1,{},lgn),s.Ge=function(e){return C6(),u(e,128).v+1},w(Fb,"SplineEdgeRouter/lambda$1$Type",1455),b(1456,1,Yn,tkn),s.td=function(e){ffe(this.a,this.b,u(e,46))},w(Fb,"SplineEdgeRouter/lambda$2$Type",1456),b(1457,1,Yn,ikn),s.td=function(e){hfe(this.a,this.b,u(e,46))},w(Fb,"SplineEdgeRouter/lambda$3$Type",1457),b(128,1,{35:1,128:1},Zxn,SZ),s.wd=function(e){return Lie(this,u(e,128))},s.b=0,s.e=!1,s.f=0,s.g=0,s.j=!1,s.k=!1,s.n=0,s.o=!1,s.p=!1,s.q=!1,s.s=0,s.u=0,s.v=0,s.F=0,w(Fb,"SplineSegment",128),b(459,1,{459:1},dgn),s.a=0,s.b=!1,s.c=!1,s.d=!1,s.e=!1,s.f=0,w(Fb,"SplineSegment/EdgeInformation",459),b(1234,1,{},sgn),w(Q6,Enn,1234),b(1235,1,lt,ogn),s.ue=function(e,t){return U6e(u(e,135),u(t,135))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(Q6,NKn,1235),b(1233,1,{},E8n),w(Q6,"MrTree",1233),b(393,22,{3:1,35:1,22:1,393:1,246:1,234:1},zj),s.Kf=function(){return CLn(this)},s.Xf=function(){return CLn(this)};var gP,qm,uy,Gm,won=Ae(Q6,"TreeLayoutPhases",393,Ie,Sae,noe),WJn;b(1130,209,xa,qjn),s.Ze=function(e,t){var i,r,c,o,f,h,l;for(on(sn(hn(e,(Zd(),yon))))||oC((i=new O9((K0(),new N0(e))),i)),f=(h=new AC,Sr(h,e),H(h,(cc(),Wm),e),l=new we,Nke(e,h,l),nye(e,h,l),h),o=Wke(this.a,f),c=new E(o);c.a"+wC(this.c):"e_"+mt(this)},w(J6,"TEdge",188),b(135,134,{3:1,135:1,94:1,134:1},AC),s.Ib=function(){var e,t,i,r,c;for(c=null,r=_e(this.b,0);r.b!=r.d.c;)i=u(Re(r),86),c+=(i.c==null||i.c.length==0?"n_"+i.g:"n_"+i.c)+` -`;for(t=_e(this.a,0);t.b!=t.d.c;)e=u(Re(t),188),c+=(e.b&&e.c?wC(e.b)+"->"+wC(e.c):"e_"+mt(e))+` -`;return c};var rMe=w(J6,"TGraph",135);b(633,502,{3:1,502:1,633:1,94:1,134:1}),w(J6,"TShape",633),b(86,633,{3:1,502:1,86:1,633:1,94:1,134:1},hF),s.Ib=function(){return wC(this)};var cMe=w(J6,"TNode",86);b(255,1,lh,X1),s.Jc=function(e){$i(this,e)},s.Kc=function(){var e;return e=_e(this.a.d,0),new e2(e)},w(J6,"TNode/2",255),b(358,1,yi,e2),s.Nb=function(e){Oi(this,e)},s.Pb=function(){return u(Re(this.a),188).c},s.Ob=function(){return yj(this.a)},s.Qb=function(){HC(this.a)},w(J6,"TNode/2/1",358),b(1840,1,xt,Hjn),s.pf=function(e,t){gye(this,u(e,135),t)},w(up,"FanProcessor",1840),b(327,22,{3:1,35:1,22:1,327:1,234:1},o5),s.Kf=function(){switch(this.g){case 0:return new S9n;case 1:return new Hjn;case 2:return new jgn;case 3:return new kgn;case 4:return new Cgn;case 5:return new Tgn;default:throw T(new Hn(AN+(this.f!=null?this.f:""+this.g)))}};var lK,aK,dK,bK,wK,pP,XJn=Ae(up,Fnn,327,Ie,Gde,eoe),VJn;b(1843,1,xt,kgn),s.pf=function(e,t){Yme(this,u(e,135),t)},s.a=0,w(up,"LevelHeightProcessor",1843),b(1844,1,lh,ygn),s.Jc=function(e){$i(this,e)},s.Kc=function(){return Pn(),Zp(),X4},w(up,"LevelHeightProcessor/1",1844),b(1841,1,xt,jgn),s.pf=function(e,t){c6e(this,u(e,135),t)},s.a=0,w(up,"NeighborsProcessor",1841),b(1842,1,lh,Egn),s.Jc=function(e){$i(this,e)},s.Kc=function(){return Pn(),Zp(),X4},w(up,"NeighborsProcessor/1",1842),b(1845,1,xt,Cgn),s.pf=function(e,t){Jme(this,u(e,135),t)},s.a=0,w(up,"NodePositionProcessor",1845),b(1839,1,xt,S9n),s.pf=function(e,t){Eje(this,u(e,135))},w(up,"RootProcessor",1839),b(1846,1,xt,Tgn),s.pf=function(e,t){Dge(u(e,135))},w(up,"Untreeifyer",1846);var sy,zm,QJn,gK,vP,Um,pK,mP,kP,vv,Wm,yP,O1,gon,JJn,vK,iw,mK,pon;b(851,1,zs,G4n),s.Qe=function(e){En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Zen),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),mon),(y1(),Nt)),Mon),Cn((Ho(),Xn))))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,ntn),""),"Search Order"),"Which search order to use when computing a spanning tree."),von),Nt),Son),Cn(Xn)))),QRn((new q4n,e))};var YJn,von,ZJn,mon;w(lA,"MrTreeMetaDataProvider",851),b(994,1,zs,q4n),s.Qe=function(e){QRn(e)};var nYn,kon,eYn,tYn,iYn,rYn,yon,cYn,jon,uYn,jP,Eon,sYn,Con,oYn;w(lA,"MrTreeOptions",994),b(995,1,{},Mgn),s.$e=function(){var e;return e=new qjn,e},s._e=function(e){},w(lA,"MrTreeOptions/MrtreeFactory",995),b(480,22,{3:1,35:1,22:1,480:1},rz);var kK,Ton,Mon=Ae(lA,"OrderWeighting",480,Ie,B1e,toe),fYn;b(425,22,{3:1,35:1,22:1,425:1},cz);var Aon,yK,Son=Ae(lA,"TreeifyingOrder",425,Ie,N1e,roe),hYn;b(1459,1,Ec,F4n),s.Yf=function(e){return u(e,135),lYn},s.pf=function(e,t){Obe(this,u(e,135),t)};var lYn;w("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1459),b(1460,1,Ec,x4n),s.Yf=function(e){return u(e,135),aYn},s.pf=function(e,t){w6e(this,u(e,135),t)};var aYn;w("org.eclipse.elk.alg.mrtree.p2order","NodeOrderer",1460),b(1461,1,Ec,$4n),s.Yf=function(e){return u(e,135),dYn},s.pf=function(e,t){D7e(this,u(e,135),t)},s.a=0;var dYn;w("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1461),b(1462,1,Ec,L4n),s.Yf=function(e){return u(e,135),bYn},s.pf=function(e,t){r4e(u(e,135),t)};var bYn;w("org.eclipse.elk.alg.mrtree.p4route","EdgeRouter",1462);var Xm;b(495,22,{3:1,35:1,22:1,495:1,246:1,234:1},uz),s.Kf=function(){return t$n(this)},s.Xf=function(){return t$n(this)};var EP,mv,Pon=Ae(etn,"RadialLayoutPhases",495,Ie,R1e,ioe),wYn;b(1131,209,xa,j8n),s.Ze=function(e,t){var i,r,c,o,f,h;if(i=cLn(this,e),le(t,"Radial layout",i.c.length),on(sn(hn(e,(gb(),Ron))))||oC((r=new O9((K0(),new N0(e))),r)),h=yve(e),gr(e,(C5(),Xm),h),!h)throw T(new Hn("The given graph is not a tree!"));for(c=K(Y(hn(e,MP))),c==0&&(c=mLn(e)),gr(e,MP,c),f=new E(cLn(this,e));f.a0&&ADn((Me(t-1,e.length),e.charCodeAt(t-1)),XKn);)--t;if(r>=t)throw T(new Hn("The given string does not contain any numbers."));if(c=Tb(e.substr(r,t-r),`,|;|\r| -`),c.length!=2)throw T(new Hn("Exactly two numbers are expected, "+c.length+" were found."));try{this.a=kb(mb(c[0])),this.b=kb(mb(c[1]))}catch(o){throw o=jt(o),I(o,127)?(i=o,T(new Hn(VKn+i))):T(o)}},s.Ib=function(){return"("+this.a+","+this.b+")"},s.a=0,s.b=0;var ai=w(dk,"KVector",8);b(74,68,{3:1,4:1,20:1,28:1,52:1,14:1,68:1,15:1,74:1,414:1},hu,mj,ljn),s.Pc=function(){return Gwe(this)},s.Jf=function(e){var t,i,r,c,o,f;r=Tb(e,`,|;|\\(|\\)|\\[|\\]|\\{|\\}| | | -`),_s(this);try{for(i=0,o=0,c=0,f=0;i0&&(o%2==0?c=kb(r[i]):f=kb(r[i]),o>0&&o%2!=0&&Ke(this,new fn(c,f)),++o),++i}catch(h){throw h=jt(h),I(h,127)?(t=h,T(new Hn("The given string does not match the expected format for vectors."+t))):T(h)}},s.Ib=function(){var e,t,i;for(e=new Ju("("),t=_e(this,0);t.b!=t.d.c;)i=u(Re(t),8),De(e,i.a+","+i.b),t.b!=t.d.c&&(e.a+="; ");return(e.a+=")",e).a};var Bfn=w(dk,"KVectorChain",74);b(248,22,{3:1,35:1,22:1,248:1},f5);var HK,$P,FP,ly,ay,xP,Rfn=Ae(Ws,"Alignment",248,Ie,Bde,yoe),FZn;b(979,1,zs,Q4n),s.Qe=function(e){zBn(e)};var _fn,qK,xZn,Kfn,Hfn,LZn,qfn,NZn,BZn,Gfn,zfn,RZn;w(Ws,"BoxLayouterOptions",979),b(980,1,{},m2n),s.$e=function(){var e;return e=new A2n,e},s._e=function(e){},w(Ws,"BoxLayouterOptions/BoxFactory",980),b(291,22,{3:1,35:1,22:1,291:1},h5);var dy,GK,by,wy,gy,zK,UK=Ae(Ws,"ContentAlignment",291,Ie,Nde,joe),_Zn;b(684,1,zs,nq),s.Qe=function(e){En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,GHn),""),"Layout Algorithm"),"Select a specific layout algorithm."),(y1(),kv)),tn),Cn((Ho(),Xn))))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,zHn),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),yf),oMe),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Oen),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),Ufn),Nt),Rfn),Cn(pi)))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,ep),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,Ttn),""),"Bend Points"),"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."),yf),Bfn),Cn(Yf)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,sA),""),"Content Alignment"),"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."),Xfn),Cp),UK),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,mk),""),"Debug Mode"),"Whether additional debug information shall be generated."),(qn(),!1)),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Fen),""),bnn),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),Vfn),Nt),e9),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,pk),""),"Edge Routing"),"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."),Yfn),Nt),cH),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,dA),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,uA),""),"Hierarchy Handling"),"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."),thn),Nt),Khn),pt(Xn,A(M($1,1),z,175,0,[pi]))))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,u0),""),"Padding"),"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately."),ahn),yf),Wrn),pt(Xn,A(M($1,1),z,175,0,[pi]))))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,lk),""),"Interactive"),"Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible."),!1),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,cB),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,G6),""),"Omit Node Micro Layout"),"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout."),!1),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,CN),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),phn),Nt),Ghn),Cn(pi)))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,oA),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),yf),ai),pt(pi,A(M($1,1),z,175,0,[Ya,D1]))))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,hk),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),sc),Wi),pt(pi,A(M($1,1),z,175,0,[Yf]))))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,HM),""),"Randomization Seed"),"Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time)."),sc),Wi),Cn(Xn)))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,q6),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,qen),""),"Junction Points"),"This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order."),rhn),yf),Bfn),Cn(Yf)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Uen),""),"Comment Box"),"Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related."),!1),_i),si),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Wen),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),_i),si),Cn(pi)))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,LTe),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),yf),dMe),pt(Xn,A(M($1,1),z,175,0,[D1]))))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Ven),""),"Margins"),"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels."),chn),yf),Urn),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Pen),""),"No Layout"),"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node."),!1),_i),si),pt(pi,A(M($1,1),z,175,0,[Yf,Ya,D1]))))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,UHn),""),"Scale Factor"),"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set."),1),Or),Mi),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,WHn),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,XHn),""),"Animation Time Factor"),"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'."),Q(100)),sc),Wi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,VHn),""),"Layout Ancestors"),"Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process."),!1),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,QHn),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),Q(4e3)),sc),Wi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,JHn),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),Q(400)),sc),Wi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,YHn),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,ZHn),""),"Validate Graph"),"Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!1),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,nqn),""),"Validate Options"),"Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!0),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,eqn),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Ctn),"box"),"Box Layout Mode"),"Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better."),Wfn),Nt),Qhn),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,pen),wf),"Comment Comment Spacing"),"Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing."),10),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,ven),wf),"Comment Node Spacing"),"Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing."),10),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,vN),wf),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,men),wf),"Edge Spacing"),"Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines."),10),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,EN),wf),"Edge Label Spacing"),"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option."),2),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,ken),wf),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,yen),wf),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Cen),wf),"Label Node Spacing"),"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option."),5),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,jen),wf),"Horizontal spacing between Label and Port"),"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Een),wf),"Vertical spacing between Label and Port"),"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Db),wf),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Ten),wf),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),Or),Mi),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Men),wf),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),Or),Mi),pt(Xn,A(M($1,1),z,175,0,[pi]))))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,Aen),wf),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),yf),yne),pt(pi,A(M($1,1),z,175,0,[Yf,Ya,D1]))))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Qen),wf),"Additional Port Space"),"Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border."),Ahn),yf),Urn),Cn(Xn)))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,rB),rqn),"Layout Partition"),"Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction)."),sc),Wi),pt(Xn,A(M($1,1),z,175,0,[pi]))))),Ci(e,rB,iB,XZn),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,iB),rqn),"Layout Partitioning"),"Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle."),dhn),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,xen),cqn),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),shn),yf),Wrn),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,F4),cqn),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),ohn),Cp),lr),pt(pi,A(M($1,1),z,175,0,[D1]))))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Ben),wA),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),whn),Nt),c9),Cn(pi)))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,Ren),wA),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),Nt),c9),Cn(pi)))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,_en),wA),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),Nt),c9),Cn(pi)))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,Ken),wA),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),Nt),c9),Cn(pi)))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,Hen),wA),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),Nt),c9),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,hg),CB),"Node Size Constraints"),"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed."),fhn),Cp),o9),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,tp),CB),"Node Size Options"),"Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications."),lhn),Cp),Uhn),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,ip),CB),"Node Size Minimum"),"The minimal size to which a node can be reduced."),hhn),yf),ai),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,tB),CB),"Fixed Graph Size"),"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so."),!1),_i),si),Cn(Xn)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Gen),eB),"Edge Label Placement"),"Gives a hint on where to put edge labels."),Qfn),Nt),Phn),Cn(D1)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,qM),eB),"Inline Edge Labels"),"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible."),!1),_i),si),Cn(D1)))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,NTe),"font"),"Font Name"),"Font name used for a label."),kv),tn),Cn(D1)))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,tqn),"font"),"Font Size"),"Font size used for a label."),sc),Wi),Cn(D1)))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,Xen),TB),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),yf),ai),Cn(Ya)))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,zen),TB),"Port Index"),"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case."),sc),Wi),Cn(Ya)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Ien),TB),"Port Side"),"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports."),khn),Nt),Zi),Cn(Ya)))),En(e,new bn(yn(kn(jn(gn(mn(pn(vn(new dn,Sen),TB),"Port Border Offset"),"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border."),Or),Mi),Cn(Ya)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,x4),Mtn),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),vhn),Cp),qP),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Len),Mtn),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),_i),si),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Nen),Mtn),"Treat Port Labels as Group"),"If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port."),!0),_i),si),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,Den),uqn),"Activate Inside Self Loops"),"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports."),!1),_i),si),Cn(pi)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,$en),uqn),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),_i),si),Cn(Yf)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,mN),"edge"),"Edge Thickness"),"The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it."),1),Or),Mi),Cn(Yf)))),En(e,new bn(yn(kn(jn(Dn(gn(mn(pn(vn(new dn,iqn),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),nhn),Nt),xhn),Cn(Yf)))),Yv(e,new M2(Uv(Vp(Xp(new Zg,Jn),"Layered"),'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called "hierarchies", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.'))),Yv(e,new M2(Uv(Vp(Xp(new Zg,"org.eclipse.elk.orthogonal"),"Orthogonal"),`Orthogonal methods that follow the "topology-shape-metrics" approach by Batini, Nardelli and Tamassia '86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.`))),Yv(e,new M2(Uv(Vp(Xp(new Zg,os),"Force"),"Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984."))),Yv(e,new M2(Uv(Vp(Xp(new Zg,"org.eclipse.elk.circle"),"Circle"),"Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph."))),Yv(e,new M2(Uv(Vp(Xp(new Zg,IHn),"Tree"),"Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type."))),Yv(e,new M2(Uv(Vp(Xp(new Zg,"org.eclipse.elk.planar"),"Planar"),"Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable."))),Yv(e,new M2(Uv(Vp(Xp(new Zg,zf),"Radial"),"Radial layout algorithms usually position the nodes of the graph on concentric circles."))),IBn((new J4n,e)),zBn((new Q4n,e)),uBn((new Y4n,e))};var Zm,KZn,Ufn,Tp,HZn,qZn,Wfn,GZn,LP,Xfn,py,A0,Vfn,WK,XK,Qfn,Jfn,Yfn,Zfn,nhn,ehn,Bg,thn,zZn,vy,VK,NP,ihn,Rg,rhn,my,chn,uhn,shn,_g,ohn,Za,fhn,BP,Kg,hhn,_l,lhn,RP,ky,nd,ahn,UZn,dhn,WZn,XZn,bhn,whn,QK,JK,YK,ZK,ghn,Bu,n9,phn,nH,eH,rw,vhn,mhn,Hg,khn,Mp,_P,tH,yv,VZn,iH,QZn,JZn,yhn,YZn,jhn,ZZn,Ap,Ehn,KP,Chn,Thn,ed,nne,Mhn,Ahn,Shn;w(Ws,"CoreOptions",684),b(103,22,{3:1,35:1,22:1,103:1},n8);var Jh,Zs,Ao,mh,Yh,e9=Ae(Ws,bnn,103,Ie,ude,Toe),ene;b(272,22,{3:1,35:1,22:1,272:1},OO);var jv,cw,Ev,Phn=Ae(Ws,"EdgeLabelPlacement",272,Ie,_le,Moe),tne;b(218,22,{3:1,35:1,22:1,218:1},Wj);var Cv,yy,Sp,rH,cH=Ae(Ws,"EdgeRouting",218,Ie,Dae,Aoe),ine;b(312,22,{3:1,35:1,22:1,312:1},l5);var Ihn,Ohn,Dhn,$hn,uH,Fhn,xhn=Ae(Ws,"EdgeType",312,Ie,Ude,Soe),rne;b(977,1,zs,J4n),s.Qe=function(e){IBn(e)};var Lhn,Nhn,Bhn,Rhn,cne,_hn,t9;w(Ws,"FixedLayouterOptions",977),b(978,1,{},D2n),s.$e=function(){var e;return e=new T2n,e},s._e=function(e){},w(Ws,"FixedLayouterOptions/FixedFactory",978),b(334,22,{3:1,35:1,22:1,334:1},DO);var F1,HP,i9,Khn=Ae(Ws,"HierarchyHandling",334,Ie,Rle,Poe),une;b(285,22,{3:1,35:1,22:1,285:1},Xj);var kh,Kl,jy,Ey,sne=Ae(Ws,"LabelSide",285,Ie,Oae,Ioe),one;b(93,22,{3:1,35:1,22:1,93:1},yw);var Zh,So,no,Po,as,Io,eo,yh,Oo,lr=Ae(Ws,"NodeLabelPlacement",93,Ie,V0e,Ooe),fne;b(249,22,{3:1,35:1,22:1,249:1},e8);var Hhn,r9,Hl,qhn,Cy,c9=Ae(Ws,"PortAlignment",249,Ie,sde,Doe),hne;b(98,22,{3:1,35:1,22:1,98:1},a5);var td,Ac,jh,Tv,jf,ql,Ghn=Ae(Ws,"PortConstraints",98,Ie,Pde,$oe),lne;b(273,22,{3:1,35:1,22:1,273:1},d5);var u9,s9,n1,Ty,Gl,Pp,qP=Ae(Ws,"PortLabelPlacement",273,Ie,zde,Foe),ane;b(61,22,{3:1,35:1,22:1,61:1},t8);var Vn,Kn,Fs,xs,ru,Gc,Ef,Do,Su,ku,Sc,Pu,cu,uu,$o,ds,bs,to,ae,Xr,Gn,Zi=Ae(Ws,"PortSide",61,Ie,ide,Noe),dne;b(981,1,zs,Y4n),s.Qe=function(e){uBn(e)};var bne,wne,zhn,gne,pne;w(Ws,"RandomLayouterOptions",981),b(982,1,{},$2n),s.$e=function(){var e;return e=new L2n,e},s._e=function(e){},w(Ws,"RandomLayouterOptions/RandomFactory",982),b(374,22,{3:1,35:1,22:1,374:1},Vj);var uw,My,Ay,id,o9=Ae(Ws,"SizeConstraint",374,Ie,Iae,xoe),vne;b(259,22,{3:1,35:1,22:1,259:1},jw);var Sy,GP,Mv,sH,Py,f9,zP,UP,WP,Uhn=Ae(Ws,"SizeOptions",259,Ie,tbe,Loe),mne;b(370,1,{1949:1},zp),s.b=!1,s.c=0,s.d=-1,s.e=null,s.f=null,s.g=-1,s.j=!1,s.k=!1,s.n=!1,s.o=0,s.q=0,s.r=0,w(ac,"BasicProgressMonitor",370),b(972,209,xa,A2n),s.Ze=function(e,t){var i,r,c,o,f,h,l,a,d;switch(le(t,"Box layout",2),c=x9(Y(hn(e,(nM(),RZn)))),o=u(hn(e,BZn),116),i=on(sn(hn(e,Kfn))),r=on(sn(hn(e,Hfn))),u(hn(e,qK),311).g){case 0:f=(h=new du((!e.a&&(e.a=new V(Pt,e,10,11)),e.a)),Pn(),bi(h,new H6n(r)),h),l=sY(e),a=Y(hn(e,_fn)),(a==null||(_n(a),a<=0))&&(a=1.3),d=KCe(f,c,o,l.a,l.b,i,(_n(a),a)),t0(e,d.a,d.b,!1,!0);break;default:Nje(e,c,o,i)}ce(t)},w(ac,"BoxLayoutProvider",972),b(973,1,lt,H6n),s.ue=function(e,t){return c8e(this,u(e,33),u(t,33))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},s.a=!1,w(ac,"BoxLayoutProvider/1",973),b(157,1,{157:1},zC,hjn),s.Ib=function(){return this.c?uZ(this.c):kl(this.b)},w(ac,"BoxLayoutProvider/Group",157),b(311,22,{3:1,35:1,22:1,311:1},Qj);var Whn,Xhn,Vhn,oH,Qhn=Ae(ac,"BoxLayoutProvider/PackingMode",311,Ie,$ae,Boe),kne;b(974,1,lt,S2n),s.ue=function(e,t){return o1e(u(e,157),u(t,157))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(ac,"BoxLayoutProvider/lambda$0$Type",974),b(975,1,lt,P2n),s.ue=function(e,t){return e1e(u(e,157),u(t,157))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(ac,"BoxLayoutProvider/lambda$1$Type",975),b(976,1,lt,I2n),s.ue=function(e,t){return t1e(u(e,157),u(t,157))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(ac,"BoxLayoutProvider/lambda$2$Type",976),b(1365,1,{831:1},O2n),s.qg=function(e,t){return Oj(),!I(t,160)||k8n((L2(),u(e,160)),t)},w(ac,"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type",1365),b(1366,1,Yn,q6n),s.td=function(e){Uwe(this.a,u(e,146))},w(ac,"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type",1366),b(1367,1,Yn,M2n),s.td=function(e){u(e,94),Oj()},w(ac,"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type",1367),b(1371,1,Yn,G6n),s.td=function(e){pbe(this.a,u(e,94))},w(ac,"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type",1371),b(1369,1,Ve,ukn),s.Mb=function(e){return Dwe(this.a,this.b,u(e,146))},w(ac,"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type",1369),b(1368,1,Ve,skn),s.Mb=function(e){return Vce(this.a,this.b,u(e,831))},w(ac,"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type",1368),b(1370,1,Yn,okn),s.td=function(e){Vfe(this.a,this.b,u(e,146))},w(ac,"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type",1370),b(935,1,{},C2n),s.Kb=function(e){return oyn(e)},s.Fb=function(e){return this===e},w(ac,"ElkUtil/lambda$0$Type",935),b(936,1,Yn,fkn),s.td=function(e){sme(this.a,this.b,u(e,79))},s.a=0,s.b=0,w(ac,"ElkUtil/lambda$1$Type",936),b(937,1,Yn,hkn),s.td=function(e){sie(this.a,this.b,u(e,202))},s.a=0,s.b=0,w(ac,"ElkUtil/lambda$2$Type",937),b(938,1,Yn,lkn),s.td=function(e){Yre(this.a,this.b,u(e,137))},s.a=0,s.b=0,w(ac,"ElkUtil/lambda$3$Type",938),b(939,1,Yn,z6n),s.td=function(e){lfe(this.a,u(e,469))},w(ac,"ElkUtil/lambda$4$Type",939),b(342,1,{35:1,342:1},Nte),s.wd=function(e){return Mce(this,u(e,236))},s.Fb=function(e){var t;return I(e,342)?(t=u(e,342),this.a==t.a):!1},s.Hb=function(){return Gt(this.a)},s.Ib=function(){return this.a+" (exclusive)"},s.a=0,w(ac,"ExclusiveBounds/ExclusiveLowerBound",342),b(1138,209,xa,T2n),s.Ze=function(e,t){var i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$,O,x,_,U,en,ln,wn;for(le(t,"Fixed Layout",1),o=u(hn(e,(Xe(),Jfn)),218),g=0,p=0,O=new ie((!e.a&&(e.a=new V(Pt,e,10,11)),e.a));O.e!=O.i.gc();){for(S=u(oe(O),33),wn=u(hn(S,(wT(),t9)),8),wn&&(Jo(S,wn.a,wn.b),u(hn(S,Nhn),174).Hc((Vu(),uw))&&(v=u(hn(S,Rhn),8),v.a>0&&v.b>0&&t0(S,v.a,v.b,!0,!0))),g=j.Math.max(g,S.i+S.g),p=j.Math.max(p,S.j+S.f),a=new ie((!S.n&&(S.n=new V(Br,S,1,7)),S.n));a.e!=a.i.gc();)h=u(oe(a),137),wn=u(hn(h,t9),8),wn&&Jo(h,wn.a,wn.b),g=j.Math.max(g,S.i+h.i+h.g),p=j.Math.max(p,S.j+h.j+h.f);for(U=new ie((!S.c&&(S.c=new V(Ru,S,9,9)),S.c));U.e!=U.i.gc();)for(_=u(oe(U),118),wn=u(hn(_,t9),8),wn&&Jo(_,wn.a,wn.b),en=S.i+_.i,ln=S.j+_.j,g=j.Math.max(g,en+_.g),p=j.Math.max(p,ln+_.f),l=new ie((!_.n&&(_.n=new V(Br,_,1,7)),_.n));l.e!=l.i.gc();)h=u(oe(l),137),wn=u(hn(h,t9),8),wn&&Jo(h,wn.a,wn.b),g=j.Math.max(g,en+h.i+h.g),p=j.Math.max(p,ln+h.j+h.f);for(c=new re(ue(Gh(S).a.Kc(),new Mn));Se(c);)i=u(ve(c),79),d=y_n(i),g=j.Math.max(g,d.a),p=j.Math.max(p,d.b);for(r=new re(ue(N7(S).a.Kc(),new Mn));Se(r);)i=u(ve(r),79),At(fh(i))!=e&&(d=y_n(i),g=j.Math.max(g,d.a),p=j.Math.max(p,d.b))}if(o==(Hh(),Cv))for($=new ie((!e.a&&(e.a=new V(Pt,e,10,11)),e.a));$.e!=$.i.gc();)for(S=u(oe($),33),r=new re(ue(Gh(S).a.Kc(),new Mn));Se(r);)i=u(ve(r),79),f=rye(i),f.b==0?gr(i,Rg,null):gr(i,Rg,f);on(sn(hn(e,(wT(),Bhn))))||(x=u(hn(e,cne),116),C=g+x.b+x.c,m=p+x.d+x.a,t0(e,C,m,!0,!0)),ce(t)},w(ac,"FixedLayoutProvider",1138),b(373,134,{3:1,414:1,373:1,94:1,134:1},jI,BPn),s.Jf=function(e){var t,i,r,c,o,f,h,l,a;if(e)try{for(l=Tb(e,";,;"),o=l,f=0,h=o.length;f>16&Ut|t^r<<16},s.Kc=function(){return new U6n(this)},s.Ib=function(){return this.a==null&&this.b==null?"pair(null,null)":this.a==null?"pair(null,"+Lr(this.b)+")":this.b==null?"pair("+Lr(this.a)+",null)":"pair("+Lr(this.a)+","+Lr(this.b)+")"},w(ac,"Pair",46),b(983,1,yi,U6n),s.Nb=function(e){Oi(this,e)},s.Ob=function(){return!this.c&&(!this.b&&this.a.a!=null||this.a.b!=null)},s.Pb=function(){if(!this.c&&!this.b&&this.a.a!=null)return this.b=!0,this.a.a;if(!this.c&&this.a.b!=null)return this.c=!0,this.a.b;throw T(new ic)},s.Qb=function(){throw this.c&&this.a.b!=null?this.a.b=null:this.b&&this.a.a!=null&&(this.a.a=null),T(new fu)},s.b=!1,s.c=!1,w(ac,"Pair/1",983),b(448,1,{448:1},jTn),s.Fb=function(e){return pc(this.a,u(e,448).a)&&pc(this.c,u(e,448).c)&&pc(this.d,u(e,448).d)&&pc(this.b,u(e,448).b)},s.Hb=function(){return gT(A(M(Zn,1),rn,1,5,[this.a,this.c,this.d,this.b]))},s.Ib=function(){return"("+this.a+Ji+this.c+Ji+this.d+Ji+this.b+")"},w(ac,"Quadruple",448),b(1126,209,xa,L2n),s.Ze=function(e,t){var i,r,c,o,f;if(le(t,"Random Layout",1),(!e.a&&(e.a=new V(Pt,e,10,11)),e.a).i==0){ce(t);return}o=u(hn(e,(NQ(),gne)),19),o&&o.a!=0?c=new EC(o.a):c=new OF,i=x9(Y(hn(e,bne))),f=x9(Y(hn(e,pne))),r=u(hn(e,wne),116),vCe(e,c,i,f,r),ce(t)},w(ac,"RandomLayoutProvider",1126);var Cne;b(553,1,{}),s.qf=function(){return new fn(this.f.i,this.f.j)},s.We=function(e){return XTn(e,(Xe(),Bu))?hn(this.f,Tne):hn(this.f,e)},s.rf=function(){return new fn(this.f.g,this.f.f)},s.sf=function(){return this.g},s.Xe=function(e){return wa(this.f,e)},s.tf=function(e){Zc(this.f,e.a),nu(this.f,e.b)},s.uf=function(e){Rd(this.f,e.a),Bd(this.f,e.b)},s.vf=function(e){this.g=e},s.g=0;var Tne;w(nm,"ElkGraphAdapters/AbstractElkGraphElementAdapter",553),b(554,1,{839:1},cj),s.wf=function(){var e,t;if(!this.b)for(this.b=mC(JE(this.a).i),t=new ie(JE(this.a));t.e!=t.i.gc();)e=u(oe(t),137),W(this.b,new XI(e));return this.b},s.b=null,w(nm,"ElkGraphAdapters/ElkEdgeAdapter",554),b(301,553,{},N0),s.xf=function(){return jFn(this)},s.a=null,w(nm,"ElkGraphAdapters/ElkGraphAdapter",301),b(630,553,{181:1},XI),w(nm,"ElkGraphAdapters/ElkLabelAdapter",630),b(629,553,{680:1},WO),s.wf=function(){return k3e(this)},s.Af=function(){var e;return e=u(hn(this.f,(Xe(),my)),142),!e&&(e=new Bv),e},s.Cf=function(){return y3e(this)},s.Ef=function(e){var t;t=new oD(e),gr(this.f,(Xe(),my),t)},s.Ff=function(e){gr(this.f,(Xe(),nd),new DU(e))},s.yf=function(){return this.d},s.zf=function(){var e,t;if(!this.a)for(this.a=new X,t=new re(ue(N7(u(this.f,33)).a.Kc(),new Mn));Se(t);)e=u(ve(t),79),W(this.a,new cj(e));return this.a},s.Bf=function(){var e,t;if(!this.c)for(this.c=new X,t=new re(ue(Gh(u(this.f,33)).a.Kc(),new Mn));Se(t);)e=u(ve(t),79),W(this.c,new cj(e));return this.c},s.Df=function(){return iC(u(this.f,33)).i!=0||on(sn(u(this.f,33).We((Xe(),vy))))},s.Gf=function(){l0e(this,(K0(),Cne))},s.a=null,s.b=null,s.c=null,s.d=null,s.e=null,w(nm,"ElkGraphAdapters/ElkNodeAdapter",629),b(1266,553,{838:1},ymn),s.wf=function(){return P3e(this)},s.zf=function(){var e,t;if(!this.a)for(this.a=nh(u(this.f,118).xg().i),t=new ie(u(this.f,118).xg());t.e!=t.i.gc();)e=u(oe(t),79),W(this.a,new cj(e));return this.a},s.Bf=function(){var e,t;if(!this.c)for(this.c=nh(u(this.f,118).yg().i),t=new ie(u(this.f,118).yg());t.e!=t.i.gc();)e=u(oe(t),79),W(this.c,new cj(e));return this.c},s.Hf=function(){return u(u(this.f,118).We((Xe(),Hg)),61)},s.If=function(){var e,t,i,r,c,o,f,h;for(r=nf(u(this.f,118)),i=new ie(u(this.f,118).yg());i.e!=i.i.gc();)for(e=u(oe(i),79),h=new ie((!e.c&&(e.c=new Fn(he,e,5,8)),e.c));h.e!=h.i.gc();){if(f=u(oe(h),82),ob(Pr(f),r))return!0;if(Pr(f)==r&&on(sn(hn(e,(Xe(),VK)))))return!0}for(t=new ie(u(this.f,118).xg());t.e!=t.i.gc();)for(e=u(oe(t),79),o=new ie((!e.b&&(e.b=new Fn(he,e,4,7)),e.b));o.e!=o.i.gc();)if(c=u(oe(o),82),ob(Pr(c),r))return!0;return!1},s.a=null,s.b=null,s.c=null,w(nm,"ElkGraphAdapters/ElkPortAdapter",1266),b(1267,1,lt,N2n),s.ue=function(e,t){return J7e(u(e,118),u(t,118))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(nm,"ElkGraphAdapters/PortComparator",1267);var zl=Et(Is,"EObject"),Av=Et(bg,fqn),io=Et(bg,hqn),Iy=Et(bg,lqn),Oy=Et(bg,"ElkShape"),he=Et(bg,aqn),di=Et(bg,Atn),Tt=Et(bg,dqn),Dy=Et(Is,bqn),h9=Et(Is,"EFactory"),Mne,fH=Et(Is,wqn),Vo=Et(Is,"EPackage"),vi,Ane,Sne,n1n,XP,Pne,e1n,t1n,i1n,Ul,Ine,One,Br=Et(bg,Stn),Pt=Et(bg,Ptn),Ru=Et(bg,Itn);b(90,1,gqn),s.Jg=function(){return this.Kg(),null},s.Kg=function(){return null},s.Lg=function(){return this.Kg(),!1},s.Mg=function(){return!1},s.Ng=function(e){et(this,e)},w(sp,"BasicNotifierImpl",90),b(97,90,kqn),s.nh=function(){return Hu(this)},s.Og=function(e,t){return e},s.Pg=function(){throw T(new ye)},s.Qg=function(e){var t;return t=ir(u(On(this.Tg(),this.Vg()),18)),this.eh().ih(this,t.n,t.f,e)},s.Rg=function(e,t){throw T(new ye)},s.Sg=function(e,t,i){return ss(this,e,t,i)},s.Tg=function(){var e;return this.Pg()&&(e=this.Pg().ck(),e)?e:this.zh()},s.Ug=function(){return Fx(this)},s.Vg=function(){throw T(new ye)},s.Wg=function(){var e,t;return t=this.ph().dk(),!t&&this.Pg().ik(t=(Zv(),e=VW(Lf(this.Tg())),e==null?pH:new c8(this,e))),t},s.Xg=function(e,t){return e},s.Yg=function(e){var t;return t=e.Gj(),t?e.aj():yt(this.Tg(),e)},s.Zg=function(){var e;return e=this.Pg(),e?e.fk():null},s.$g=function(){return this.Pg()?this.Pg().ck():null},s._g=function(e,t,i){return BT(this,e,t,i)},s.ah=function(e){return A3(this,e)},s.bh=function(e,t){return T$(this,e,t)},s.dh=function(){var e;return e=this.Pg(),!!e&&e.gk()},s.eh=function(){throw T(new ye)},s.fh=function(){return OT(this)},s.gh=function(e,t,i,r){return _2(this,e,t,r)},s.hh=function(e,t,i){var r;return r=u(On(this.Tg(),t),66),r.Nj().Qj(this,this.yh(),t-this.Ah(),e,i)},s.ih=function(e,t,i,r){return sC(this,e,t,r)},s.jh=function(e,t,i){var r;return r=u(On(this.Tg(),t),66),r.Nj().Rj(this,this.yh(),t-this.Ah(),e,i)},s.kh=function(){return!!this.Pg()&&!!this.Pg().ek()},s.lh=function(e){return zF(this,e)},s.mh=function(e){return lMn(this,e)},s.oh=function(e){return LRn(this,e)},s.ph=function(){throw T(new ye)},s.qh=function(){return this.Pg()?this.Pg().ek():null},s.rh=function(){return OT(this)},s.sh=function(e,t){Px(this,e,t)},s.th=function(e){this.ph().hk(e)},s.uh=function(e){this.ph().kk(e)},s.vh=function(e){this.ph().jk(e)},s.wh=function(e,t){var i,r,c,o;return o=this.Zg(),o&&e&&(t=zi(o.Vk(),this,t),o.Zk(this)),r=this.eh(),r&&(Qx(this,this.eh(),this.Vg()).Bb&Yi?(c=r.fh(),c&&(e?!o&&c.Zk(this):c.Yk(this))):(t=(i=this.Vg(),i>=0?this.Qg(t):this.eh().ih(this,-1-i,null,t)),t=this.Sg(null,-1,t))),this.uh(e),t},s.xh=function(e){var t,i,r,c,o,f,h,l;if(i=this.Tg(),o=yt(i,e),t=this.Ah(),o>=t)return u(e,66).Nj().Uj(this,this.yh(),o-t);if(o<=-1)if(f=rg((gu(),xi),i,e),f){if(er(),u(f,66).Oj()||(f=A2(jr(xi,f))),c=(r=this.Yg(f),u(r>=0?this._g(r,!0,!0):Yd(this,f,!0),153)),l=f.Zj(),l>1||l==-1)return u(u(c,215).hl(e,!1),76)}else throw T(new Hn(Pl+e.ne()+MB));else if(e.$j())return r=this.Yg(e),u(r>=0?this._g(r,!1,!0):Yd(this,e,!1),76);return h=new Okn(this,e),h},s.yh=function(){return QX(this)},s.zh=function(){return(ol(),Nn).S},s.Ah=function(){return ee(this.zh())},s.Bh=function(e){Cx(this,e)},s.Ib=function(){return yo(this)},w(Bn,"BasicEObjectImpl",97);var Dne;b(114,97,{105:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1}),s.Ch=function(e){var t;return t=JX(this),t[e]},s.Dh=function(e,t){var i;i=JX(this),Mt(i,e,t)},s.Eh=function(e){var t;t=JX(this),Mt(t,e,null)},s.Jg=function(){return u(Rn(this,4),126)},s.Kg=function(){throw T(new ye)},s.Lg=function(){return(this.Db&4)!=0},s.Pg=function(){throw T(new ye)},s.Fh=function(e){R2(this,2,e)},s.Rg=function(e,t){this.Db=t<<16|this.Db&255,this.Fh(e)},s.Tg=function(){return Vc(this)},s.Vg=function(){return this.Db>>16},s.Wg=function(){var e,t;return Zv(),t=VW(Lf((e=u(Rn(this,16),26),e||this.zh()))),t==null?pH:new c8(this,t)},s.Mg=function(){return(this.Db&1)==0},s.Zg=function(){return u(Rn(this,128),1935)},s.$g=function(){return u(Rn(this,16),26)},s.dh=function(){return(this.Db&32)!=0},s.eh=function(){return u(Rn(this,2),49)},s.kh=function(){return(this.Db&64)!=0},s.ph=function(){throw T(new ye)},s.qh=function(){return u(Rn(this,64),281)},s.th=function(e){R2(this,16,e)},s.uh=function(e){R2(this,128,e)},s.vh=function(e){R2(this,64,e)},s.yh=function(){return Rc(this)},s.Db=0,w(Bn,"MinimalEObjectImpl",114),b(115,114,{105:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),s.Fh=function(e){this.Cb=e},s.eh=function(){return this.Cb},w(Bn,"MinimalEObjectImpl/Container",115),b(1985,115,{105:1,413:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),s._g=function(e,t,i){return oJ(this,e,t,i)},s.jh=function(e,t,i){return QJ(this,e,t,i)},s.lh=function(e){return sX(this,e)},s.sh=function(e,t){WV(this,e,t)},s.zh=function(){return Dc(),One},s.Bh=function(e){LV(this,e)},s.Ve=function(){return q$n(this)},s.We=function(e){return hn(this,e)},s.Xe=function(e){return wa(this,e)},s.Ye=function(e,t){return gr(this,e,t)},w(Ba,"EMapPropertyHolderImpl",1985),b(567,115,{105:1,469:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},Xy),s._g=function(e,t,i){switch(e){case 0:return this.a;case 1:return this.b}return BT(this,e,t,i)},s.lh=function(e){switch(e){case 0:return this.a!=0;case 1:return this.b!=0}return zF(this,e)},s.sh=function(e,t){switch(e){case 0:UC(this,K(Y(t)));return;case 1:WC(this,K(Y(t)));return}Px(this,e,t)},s.zh=function(){return Dc(),Ane},s.Bh=function(e){switch(e){case 0:UC(this,0);return;case 1:WC(this,0);return}Cx(this,e)},s.Ib=function(){var e;return this.Db&64?yo(this):(e=new Bs(yo(this)),e.a+=" (x: ",mw(e,this.a),e.a+=", y: ",mw(e,this.b),e.a+=")",e.a)},s.a=0,s.b=0,w(Ba,"ElkBendPointImpl",567),b(723,1985,{105:1,413:1,160:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),s._g=function(e,t,i){return aQ(this,e,t,i)},s.hh=function(e,t,i){return vx(this,e,t,i)},s.jh=function(e,t,i){return tF(this,e,t,i)},s.lh=function(e){return SV(this,e)},s.sh=function(e,t){AJ(this,e,t)},s.zh=function(){return Dc(),Pne},s.Bh=function(e){oQ(this,e)},s.zg=function(){return this.k},s.Ag=function(){return JE(this)},s.Ib=function(){return PF(this)},s.k=null,w(Ba,"ElkGraphElementImpl",723),b(724,723,{105:1,413:1,160:1,470:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),s._g=function(e,t,i){return jQ(this,e,t,i)},s.lh=function(e){return PQ(this,e)},s.sh=function(e,t){SJ(this,e,t)},s.zh=function(){return Dc(),Ine},s.Bh=function(e){FQ(this,e)},s.Bg=function(){return this.f},s.Cg=function(){return this.g},s.Dg=function(){return this.i},s.Eg=function(){return this.j},s.Fg=function(e,t){rE(this,e,t)},s.Gg=function(e,t){Jo(this,e,t)},s.Hg=function(e){Zc(this,e)},s.Ig=function(e){nu(this,e)},s.Ib=function(){return Ex(this)},s.f=0,s.g=0,s.i=0,s.j=0,w(Ba,"ElkShapeImpl",724),b(725,724,{105:1,413:1,82:1,160:1,470:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),s._g=function(e,t,i){return tJ(this,e,t,i)},s.hh=function(e,t,i){return yJ(this,e,t,i)},s.jh=function(e,t,i){return jJ(this,e,t,i)},s.lh=function(e){return zV(this,e)},s.sh=function(e,t){OY(this,e,t)},s.zh=function(){return Dc(),Sne},s.Bh=function(e){XQ(this,e)},s.xg=function(){return!this.d&&(this.d=new Fn(di,this,8,5)),this.d},s.yg=function(){return!this.e&&(this.e=new Fn(di,this,7,4)),this.e},w(Ba,"ElkConnectableShapeImpl",725),b(352,723,{105:1,413:1,79:1,160:1,352:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},VH),s.Qg=function(e){return pJ(this,e)},s._g=function(e,t,i){switch(e){case 3:return S8(this);case 4:return!this.b&&(this.b=new Fn(he,this,4,7)),this.b;case 5:return!this.c&&(this.c=new Fn(he,this,5,8)),this.c;case 6:return!this.a&&(this.a=new V(Tt,this,6,6)),this.a;case 7:return qn(),!this.b&&(this.b=new Fn(he,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new Fn(he,this,5,8)),this.c.i<=1));case 8:return qn(),!!j6(this);case 9:return qn(),!!Jd(this);case 10:return qn(),!this.b&&(this.b=new Fn(he,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Fn(he,this,5,8)),this.c.i!=0)}return aQ(this,e,t,i)},s.hh=function(e,t,i){var r;switch(t){case 3:return this.Cb&&(i=(r=this.Db>>16,r>=0?pJ(this,i):this.Cb.ih(this,-1-r,null,i))),hU(this,u(e,33),i);case 4:return!this.b&&(this.b=new Fn(he,this,4,7)),Oc(this.b,e,i);case 5:return!this.c&&(this.c=new Fn(he,this,5,8)),Oc(this.c,e,i);case 6:return!this.a&&(this.a=new V(Tt,this,6,6)),Oc(this.a,e,i)}return vx(this,e,t,i)},s.jh=function(e,t,i){switch(t){case 3:return hU(this,null,i);case 4:return!this.b&&(this.b=new Fn(he,this,4,7)),zi(this.b,e,i);case 5:return!this.c&&(this.c=new Fn(he,this,5,8)),zi(this.c,e,i);case 6:return!this.a&&(this.a=new V(Tt,this,6,6)),zi(this.a,e,i)}return tF(this,e,t,i)},s.lh=function(e){switch(e){case 3:return!!S8(this);case 4:return!!this.b&&this.b.i!=0;case 5:return!!this.c&&this.c.i!=0;case 6:return!!this.a&&this.a.i!=0;case 7:return!this.b&&(this.b=new Fn(he,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new Fn(he,this,5,8)),this.c.i<=1));case 8:return j6(this);case 9:return Jd(this);case 10:return!this.b&&(this.b=new Fn(he,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Fn(he,this,5,8)),this.c.i!=0)}return SV(this,e)},s.sh=function(e,t){switch(e){case 3:_x(this,u(t,33));return;case 4:!this.b&&(this.b=new Fn(he,this,4,7)),de(this.b),!this.b&&(this.b=new Fn(he,this,4,7)),Dt(this.b,u(t,14));return;case 5:!this.c&&(this.c=new Fn(he,this,5,8)),de(this.c),!this.c&&(this.c=new Fn(he,this,5,8)),Dt(this.c,u(t,14));return;case 6:!this.a&&(this.a=new V(Tt,this,6,6)),de(this.a),!this.a&&(this.a=new V(Tt,this,6,6)),Dt(this.a,u(t,14));return}AJ(this,e,t)},s.zh=function(){return Dc(),n1n},s.Bh=function(e){switch(e){case 3:_x(this,null);return;case 4:!this.b&&(this.b=new Fn(he,this,4,7)),de(this.b);return;case 5:!this.c&&(this.c=new Fn(he,this,5,8)),de(this.c);return;case 6:!this.a&&(this.a=new V(Tt,this,6,6)),de(this.a);return}oQ(this,e)},s.Ib=function(){return yRn(this)},w(Ba,"ElkEdgeImpl",352),b(439,1985,{105:1,413:1,202:1,439:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},Vy),s.Qg=function(e){return dJ(this,e)},s._g=function(e,t,i){switch(e){case 1:return this.j;case 2:return this.k;case 3:return this.b;case 4:return this.c;case 5:return!this.a&&(this.a=new Jt(io,this,5)),this.a;case 6:return oMn(this);case 7:return t?QF(this):this.i;case 8:return t?VF(this):this.f;case 9:return!this.g&&(this.g=new Fn(Tt,this,9,10)),this.g;case 10:return!this.e&&(this.e=new Fn(Tt,this,10,9)),this.e;case 11:return this.d}return oJ(this,e,t,i)},s.hh=function(e,t,i){var r,c,o;switch(t){case 6:return this.Cb&&(i=(c=this.Db>>16,c>=0?dJ(this,i):this.Cb.ih(this,-1-c,null,i))),lU(this,u(e,79),i);case 9:return!this.g&&(this.g=new Fn(Tt,this,9,10)),Oc(this.g,e,i);case 10:return!this.e&&(this.e=new Fn(Tt,this,10,9)),Oc(this.e,e,i)}return o=u(On((r=u(Rn(this,16),26),r||(Dc(),XP)),t),66),o.Nj().Qj(this,Rc(this),t-ee((Dc(),XP)),e,i)},s.jh=function(e,t,i){switch(t){case 5:return!this.a&&(this.a=new Jt(io,this,5)),zi(this.a,e,i);case 6:return lU(this,null,i);case 9:return!this.g&&(this.g=new Fn(Tt,this,9,10)),zi(this.g,e,i);case 10:return!this.e&&(this.e=new Fn(Tt,this,10,9)),zi(this.e,e,i)}return QJ(this,e,t,i)},s.lh=function(e){switch(e){case 1:return this.j!=0;case 2:return this.k!=0;case 3:return this.b!=0;case 4:return this.c!=0;case 5:return!!this.a&&this.a.i!=0;case 6:return!!oMn(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&this.g.i!=0;case 10:return!!this.e&&this.e.i!=0;case 11:return this.d!=null}return sX(this,e)},s.sh=function(e,t){switch(e){case 1:$3(this,K(Y(t)));return;case 2:x3(this,K(Y(t)));return;case 3:D3(this,K(Y(t)));return;case 4:F3(this,K(Y(t)));return;case 5:!this.a&&(this.a=new Jt(io,this,5)),de(this.a),!this.a&&(this.a=new Jt(io,this,5)),Dt(this.a,u(t,14));return;case 6:jNn(this,u(t,79));return;case 7:YC(this,u(t,82));return;case 8:JC(this,u(t,82));return;case 9:!this.g&&(this.g=new Fn(Tt,this,9,10)),de(this.g),!this.g&&(this.g=new Fn(Tt,this,9,10)),Dt(this.g,u(t,14));return;case 10:!this.e&&(this.e=new Fn(Tt,this,10,9)),de(this.e),!this.e&&(this.e=new Fn(Tt,this,10,9)),Dt(this.e,u(t,14));return;case 11:mV(this,Te(t));return}WV(this,e,t)},s.zh=function(){return Dc(),XP},s.Bh=function(e){switch(e){case 1:$3(this,0);return;case 2:x3(this,0);return;case 3:D3(this,0);return;case 4:F3(this,0);return;case 5:!this.a&&(this.a=new Jt(io,this,5)),de(this.a);return;case 6:jNn(this,null);return;case 7:YC(this,null);return;case 8:JC(this,null);return;case 9:!this.g&&(this.g=new Fn(Tt,this,9,10)),de(this.g);return;case 10:!this.e&&(this.e=new Fn(Tt,this,10,9)),de(this.e);return;case 11:mV(this,null);return}LV(this,e)},s.Ib=function(){return _Ln(this)},s.b=0,s.c=0,s.d=null,s.j=0,s.k=0,w(Ba,"ElkEdgeSectionImpl",439),b(150,115,{105:1,92:1,90:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1}),s._g=function(e,t,i){var r;return e==0?(!this.Ab&&(this.Ab=new V(Be,this,0,3)),this.Ab):Cs(this,e-ee(this.zh()),On((r=u(Rn(this,16),26),r||this.zh()),e),t,i)},s.hh=function(e,t,i){var r,c;return t==0?(!this.Ab&&(this.Ab=new V(Be,this,0,3)),Oc(this.Ab,e,i)):(c=u(On((r=u(Rn(this,16),26),r||this.zh()),t),66),c.Nj().Qj(this,Rc(this),t-ee(this.zh()),e,i))},s.jh=function(e,t,i){var r,c;return t==0?(!this.Ab&&(this.Ab=new V(Be,this,0,3)),zi(this.Ab,e,i)):(c=u(On((r=u(Rn(this,16),26),r||this.zh()),t),66),c.Nj().Rj(this,Rc(this),t-ee(this.zh()),e,i))},s.lh=function(e){var t;return e==0?!!this.Ab&&this.Ab.i!=0:js(this,e-ee(this.zh()),On((t=u(Rn(this,16),26),t||this.zh()),e))},s.oh=function(e){return RZ(this,e)},s.sh=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab),!this.Ab&&(this.Ab=new V(Be,this,0,3)),Dt(this.Ab,u(t,14));return}Ps(this,e-ee(this.zh()),On((i=u(Rn(this,16),26),i||this.zh()),e),t)},s.uh=function(e){R2(this,128,e)},s.zh=function(){return Sn(),Qne},s.Bh=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab);return}As(this,e-ee(this.zh()),On((t=u(Rn(this,16),26),t||this.zh()),e))},s.Gh=function(){this.Bb|=1},s.Hh=function(e){return A6(this,e)},s.Bb=0,w(Bn,"EModelElementImpl",150),b(704,150,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1},eq),s.Ih=function(e,t){return JRn(this,e,t)},s.Jh=function(e){var t,i,r,c,o;if(this.a!=ts(e)||e.Bb&256)throw T(new Hn(SB+e.zb+h0));for(r=Mr(e);bc(r.a).i!=0;){if(i=u(X7(r,0,(t=u(D(bc(r.a),0),87),o=t.c,I(o,88)?u(o,26):(Sn(),so))),26),Qd(i))return c=ts(i).Nh().Jh(i),u(c,49).th(e),c;r=Mr(i)}return(e.D!=null?e.D:e.B)=="java.util.Map$Entry"?new UEn(e):new JU(e)},s.Kh=function(e,t){return i0(this,e,t)},s._g=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),this.Ab;case 1:return this.a}return Cs(this,e-ee((Sn(),Ql)),On((r=u(Rn(this,16),26),r||Ql),e),t,i)},s.hh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),Oc(this.Ab,e,i);case 1:return this.a&&(i=u(this.a,49).ih(this,4,Vo,i)),uQ(this,u(e,235),i)}return c=u(On((r=u(Rn(this,16),26),r||(Sn(),Ql)),t),66),c.Nj().Qj(this,Rc(this),t-ee((Sn(),Ql)),e,i)},s.jh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),zi(this.Ab,e,i);case 1:return uQ(this,null,i)}return c=u(On((r=u(Rn(this,16),26),r||(Sn(),Ql)),t),66),c.Nj().Rj(this,Rc(this),t-ee((Sn(),Ql)),e,i)},s.lh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return!!this.a}return js(this,e-ee((Sn(),Ql)),On((t=u(Rn(this,16),26),t||Ql),e))},s.sh=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab),!this.Ab&&(this.Ab=new V(Be,this,0,3)),Dt(this.Ab,u(t,14));return;case 1:jxn(this,u(t,235));return}Ps(this,e-ee((Sn(),Ql)),On((i=u(Rn(this,16),26),i||Ql),e),t)},s.zh=function(){return Sn(),Ql},s.Bh=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab);return;case 1:jxn(this,null);return}As(this,e-ee((Sn(),Ql)),On((t=u(Rn(this,16),26),t||Ql),e))};var l9,r1n,$ne;w(Bn,"EFactoryImpl",704),b(Eo,704,{105:1,2014:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1},R2n),s.Ih=function(e,t){switch(e.yj()){case 12:return u(t,146).tg();case 13:return Lr(t);default:throw T(new Hn(R4+e.ne()+h0))}},s.Jh=function(e){var t,i,r,c,o,f,h,l;switch(e.G==-1&&(e.G=(t=ts(e),t?v1(t.Mh(),e):-1)),e.G){case 4:return o=new QH,o;case 6:return f=new nG,f;case 7:return h=new eG,h;case 8:return r=new VH,r;case 9:return i=new Xy,i;case 10:return c=new Vy,c;case 11:return l=new _2n,l;default:throw T(new Hn(SB+e.zb+h0))}},s.Kh=function(e,t){switch(e.yj()){case 13:case 12:return null;default:throw T(new Hn(R4+e.ne()+h0))}},w(Ba,"ElkGraphFactoryImpl",Eo),b(438,150,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1}),s.Wg=function(){var e,t;return t=(e=u(Rn(this,16),26),VW(Lf(e||this.zh()))),t==null?(Zv(),Zv(),pH):new djn(this,t)},s._g=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),this.Ab;case 1:return this.ne()}return Cs(this,e-ee(this.zh()),On((r=u(Rn(this,16),26),r||this.zh()),e),t,i)},s.lh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null}return js(this,e-ee(this.zh()),On((t=u(Rn(this,16),26),t||this.zh()),e))},s.sh=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab),!this.Ab&&(this.Ab=new V(Be,this,0,3)),Dt(this.Ab,u(t,14));return;case 1:this.Lh(Te(t));return}Ps(this,e-ee(this.zh()),On((i=u(Rn(this,16),26),i||this.zh()),e),t)},s.zh=function(){return Sn(),Jne},s.Bh=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab);return;case 1:this.Lh(null);return}As(this,e-ee(this.zh()),On((t=u(Rn(this,16),26),t||this.zh()),e))},s.ne=function(){return this.zb},s.Lh=function(e){Ic(this,e)},s.Ib=function(){return r6(this)},s.zb=null,w(Bn,"ENamedElementImpl",438),b(179,438,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1},WTn),s.Qg=function(e){return LFn(this,e)},s._g=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.yb;case 3:return this.xb;case 4:return this.sb;case 5:return!this.rb&&(this.rb=new Y0(this,Qo,this)),this.rb;case 6:return!this.vb&&(this.vb=new g2(Vo,this,6,7)),this.vb;case 7:return t?this.Db>>16==7?u(this.Cb,235):null:fMn(this)}return Cs(this,e-ee((Sn(),B1)),On((r=u(Rn(this,16),26),r||B1),e),t,i)},s.hh=function(e,t,i){var r,c,o;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),Oc(this.Ab,e,i);case 4:return this.sb&&(i=u(this.sb,49).ih(this,1,h9,i)),hQ(this,u(e,471),i);case 5:return!this.rb&&(this.rb=new Y0(this,Qo,this)),Oc(this.rb,e,i);case 6:return!this.vb&&(this.vb=new g2(Vo,this,6,7)),Oc(this.vb,e,i);case 7:return this.Cb&&(i=(c=this.Db>>16,c>=0?LFn(this,i):this.Cb.ih(this,-1-c,null,i))),ss(this,e,7,i)}return o=u(On((r=u(Rn(this,16),26),r||(Sn(),B1)),t),66),o.Nj().Qj(this,Rc(this),t-ee((Sn(),B1)),e,i)},s.jh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),zi(this.Ab,e,i);case 4:return hQ(this,null,i);case 5:return!this.rb&&(this.rb=new Y0(this,Qo,this)),zi(this.rb,e,i);case 6:return!this.vb&&(this.vb=new g2(Vo,this,6,7)),zi(this.vb,e,i);case 7:return ss(this,null,7,i)}return c=u(On((r=u(Rn(this,16),26),r||(Sn(),B1)),t),66),c.Nj().Rj(this,Rc(this),t-ee((Sn(),B1)),e,i)},s.lh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.yb!=null;case 3:return this.xb!=null;case 4:return!!this.sb;case 5:return!!this.rb&&this.rb.i!=0;case 6:return!!this.vb&&this.vb.i!=0;case 7:return!!fMn(this)}return js(this,e-ee((Sn(),B1)),On((t=u(Rn(this,16),26),t||B1),e))},s.oh=function(e){var t;return t=m8e(this,e),t||RZ(this,e)},s.sh=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab),!this.Ab&&(this.Ab=new V(Be,this,0,3)),Dt(this.Ab,u(t,14));return;case 1:Ic(this,Te(t));return;case 2:cT(this,Te(t));return;case 3:rT(this,Te(t));return;case 4:jx(this,u(t,471));return;case 5:!this.rb&&(this.rb=new Y0(this,Qo,this)),de(this.rb),!this.rb&&(this.rb=new Y0(this,Qo,this)),Dt(this.rb,u(t,14));return;case 6:!this.vb&&(this.vb=new g2(Vo,this,6,7)),de(this.vb),!this.vb&&(this.vb=new g2(Vo,this,6,7)),Dt(this.vb,u(t,14));return}Ps(this,e-ee((Sn(),B1)),On((i=u(Rn(this,16),26),i||B1),e),t)},s.vh=function(e){var t,i;if(e&&this.rb)for(i=new ie(this.rb);i.e!=i.i.gc();)t=oe(i),I(t,351)&&(u(t,351).w=null);R2(this,64,e)},s.zh=function(){return Sn(),B1},s.Bh=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab);return;case 1:Ic(this,null);return;case 2:cT(this,null);return;case 3:rT(this,null);return;case 4:jx(this,null);return;case 5:!this.rb&&(this.rb=new Y0(this,Qo,this)),de(this.rb);return;case 6:!this.vb&&(this.vb=new g2(Vo,this,6,7)),de(this.vb);return}As(this,e-ee((Sn(),B1)),On((t=u(Rn(this,16),26),t||B1),e))},s.Gh=function(){fx(this)},s.Mh=function(){return!this.rb&&(this.rb=new Y0(this,Qo,this)),this.rb},s.Nh=function(){return this.sb},s.Oh=function(){return this.ub},s.Ph=function(){return this.xb},s.Qh=function(){return this.yb},s.Rh=function(e){this.ub=e},s.Ib=function(){var e;return this.Db&64?r6(this):(e=new Bs(r6(this)),e.a+=" (nsURI: ",dr(e,this.yb),e.a+=", nsPrefix: ",dr(e,this.xb),e.a+=")",e.a)},s.xb=null,s.yb=null,w(Bn,"EPackageImpl",179),b(555,179,{105:1,2016:1,555:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1},VLn),s.q=!1,s.r=!1;var Fne=!1;w(Ba,"ElkGraphPackageImpl",555),b(354,724,{105:1,413:1,160:1,137:1,470:1,354:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},QH),s.Qg=function(e){return bJ(this,e)},s._g=function(e,t,i){switch(e){case 7:return hMn(this);case 8:return this.a}return jQ(this,e,t,i)},s.hh=function(e,t,i){var r;switch(t){case 7:return this.Cb&&(i=(r=this.Db>>16,r>=0?bJ(this,i):this.Cb.ih(this,-1-r,null,i))),aW(this,u(e,160),i)}return vx(this,e,t,i)},s.jh=function(e,t,i){return t==7?aW(this,null,i):tF(this,e,t,i)},s.lh=function(e){switch(e){case 7:return!!hMn(this);case 8:return!An("",this.a)}return PQ(this,e)},s.sh=function(e,t){switch(e){case 7:zY(this,u(t,160));return;case 8:aV(this,Te(t));return}SJ(this,e,t)},s.zh=function(){return Dc(),e1n},s.Bh=function(e){switch(e){case 7:zY(this,null);return;case 8:aV(this,"");return}FQ(this,e)},s.Ib=function(){return Lxn(this)},s.a="",w(Ba,"ElkLabelImpl",354),b(239,725,{105:1,413:1,82:1,160:1,33:1,470:1,239:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},nG),s.Qg=function(e){return vJ(this,e)},s._g=function(e,t,i){switch(e){case 9:return!this.c&&(this.c=new V(Ru,this,9,9)),this.c;case 10:return!this.a&&(this.a=new V(Pt,this,10,11)),this.a;case 11:return At(this);case 12:return!this.b&&(this.b=new V(di,this,12,3)),this.b;case 13:return qn(),!this.a&&(this.a=new V(Pt,this,10,11)),this.a.i>0}return tJ(this,e,t,i)},s.hh=function(e,t,i){var r;switch(t){case 9:return!this.c&&(this.c=new V(Ru,this,9,9)),Oc(this.c,e,i);case 10:return!this.a&&(this.a=new V(Pt,this,10,11)),Oc(this.a,e,i);case 11:return this.Cb&&(i=(r=this.Db>>16,r>=0?vJ(this,i):this.Cb.ih(this,-1-r,null,i))),kU(this,u(e,33),i);case 12:return!this.b&&(this.b=new V(di,this,12,3)),Oc(this.b,e,i)}return yJ(this,e,t,i)},s.jh=function(e,t,i){switch(t){case 9:return!this.c&&(this.c=new V(Ru,this,9,9)),zi(this.c,e,i);case 10:return!this.a&&(this.a=new V(Pt,this,10,11)),zi(this.a,e,i);case 11:return kU(this,null,i);case 12:return!this.b&&(this.b=new V(di,this,12,3)),zi(this.b,e,i)}return jJ(this,e,t,i)},s.lh=function(e){switch(e){case 9:return!!this.c&&this.c.i!=0;case 10:return!!this.a&&this.a.i!=0;case 11:return!!At(this);case 12:return!!this.b&&this.b.i!=0;case 13:return!this.a&&(this.a=new V(Pt,this,10,11)),this.a.i>0}return zV(this,e)},s.sh=function(e,t){switch(e){case 9:!this.c&&(this.c=new V(Ru,this,9,9)),de(this.c),!this.c&&(this.c=new V(Ru,this,9,9)),Dt(this.c,u(t,14));return;case 10:!this.a&&(this.a=new V(Pt,this,10,11)),de(this.a),!this.a&&(this.a=new V(Pt,this,10,11)),Dt(this.a,u(t,14));return;case 11:HY(this,u(t,33));return;case 12:!this.b&&(this.b=new V(di,this,12,3)),de(this.b),!this.b&&(this.b=new V(di,this,12,3)),Dt(this.b,u(t,14));return}OY(this,e,t)},s.zh=function(){return Dc(),t1n},s.Bh=function(e){switch(e){case 9:!this.c&&(this.c=new V(Ru,this,9,9)),de(this.c);return;case 10:!this.a&&(this.a=new V(Pt,this,10,11)),de(this.a);return;case 11:HY(this,null);return;case 12:!this.b&&(this.b=new V(di,this,12,3)),de(this.b);return}XQ(this,e)},s.Ib=function(){return uZ(this)},w(Ba,"ElkNodeImpl",239),b(186,725,{105:1,413:1,82:1,160:1,118:1,470:1,186:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},eG),s.Qg=function(e){return wJ(this,e)},s._g=function(e,t,i){return e==9?nf(this):tJ(this,e,t,i)},s.hh=function(e,t,i){var r;switch(t){case 9:return this.Cb&&(i=(r=this.Db>>16,r>=0?wJ(this,i):this.Cb.ih(this,-1-r,null,i))),aU(this,u(e,33),i)}return yJ(this,e,t,i)},s.jh=function(e,t,i){return t==9?aU(this,null,i):jJ(this,e,t,i)},s.lh=function(e){return e==9?!!nf(this):zV(this,e)},s.sh=function(e,t){switch(e){case 9:KY(this,u(t,33));return}OY(this,e,t)},s.zh=function(){return Dc(),i1n},s.Bh=function(e){switch(e){case 9:KY(this,null);return}XQ(this,e)},s.Ib=function(){return jBn(this)},w(Ba,"ElkPortImpl",186);var xne=Et(Ui,"BasicEMap/Entry");b(1092,115,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1,114:1,115:1},_2n),s.Fb=function(e){return this===e},s.cd=function(){return this.b},s.Hb=function(){return md(this)},s.Uh=function(e){dV(this,u(e,146))},s._g=function(e,t,i){switch(e){case 0:return this.b;case 1:return this.c}return BT(this,e,t,i)},s.lh=function(e){switch(e){case 0:return!!this.b;case 1:return this.c!=null}return zF(this,e)},s.sh=function(e,t){switch(e){case 0:dV(this,u(t,146));return;case 1:gV(this,t);return}Px(this,e,t)},s.zh=function(){return Dc(),Ul},s.Bh=function(e){switch(e){case 0:dV(this,null);return;case 1:gV(this,null);return}Cx(this,e)},s.Sh=function(){var e;return this.a==-1&&(e=this.b,this.a=e?mt(e):0),this.a},s.dd=function(){return this.c},s.Th=function(e){this.a=e},s.ed=function(e){var t;return t=this.c,gV(this,e),t},s.Ib=function(){var e;return this.Db&64?yo(this):(e=new V1,De(De(De(e,this.b?this.b.tg():iu),TN),y5(this.c)),e.a)},s.a=-1,s.c=null;var S0=w(Ba,"ElkPropertyToValueMapEntryImpl",1092);b(984,1,{},q2n),w(Fi,"JsonAdapter",984),b(210,60,Uh,Af),w(Fi,"JsonImportException",210),b(857,1,{},NFn),w(Fi,"JsonImporter",857),b(891,1,{},akn),w(Fi,"JsonImporter/lambda$0$Type",891),b(892,1,{},dkn),w(Fi,"JsonImporter/lambda$1$Type",892),b(900,1,{},W6n),w(Fi,"JsonImporter/lambda$10$Type",900),b(902,1,{},bkn),w(Fi,"JsonImporter/lambda$11$Type",902),b(903,1,{},wkn),w(Fi,"JsonImporter/lambda$12$Type",903),b(909,1,{},ATn),w(Fi,"JsonImporter/lambda$13$Type",909),b(908,1,{},MTn),w(Fi,"JsonImporter/lambda$14$Type",908),b(904,1,{},gkn),w(Fi,"JsonImporter/lambda$15$Type",904),b(905,1,{},pkn),w(Fi,"JsonImporter/lambda$16$Type",905),b(906,1,{},vkn),w(Fi,"JsonImporter/lambda$17$Type",906),b(907,1,{},mkn),w(Fi,"JsonImporter/lambda$18$Type",907),b(912,1,{},X6n),w(Fi,"JsonImporter/lambda$19$Type",912),b(893,1,{},V6n),w(Fi,"JsonImporter/lambda$2$Type",893),b(910,1,{},Q6n),w(Fi,"JsonImporter/lambda$20$Type",910),b(911,1,{},J6n),w(Fi,"JsonImporter/lambda$21$Type",911),b(915,1,{},Y6n),w(Fi,"JsonImporter/lambda$22$Type",915),b(913,1,{},Z6n),w(Fi,"JsonImporter/lambda$23$Type",913),b(914,1,{},nmn),w(Fi,"JsonImporter/lambda$24$Type",914),b(917,1,{},emn),w(Fi,"JsonImporter/lambda$25$Type",917),b(916,1,{},tmn),w(Fi,"JsonImporter/lambda$26$Type",916),b(918,1,Yn,kkn),s.td=function(e){Xde(this.b,this.a,Te(e))},w(Fi,"JsonImporter/lambda$27$Type",918),b(919,1,Yn,ykn),s.td=function(e){Vde(this.b,this.a,Te(e))},w(Fi,"JsonImporter/lambda$28$Type",919),b(920,1,{},jkn),w(Fi,"JsonImporter/lambda$29$Type",920),b(896,1,{},imn),w(Fi,"JsonImporter/lambda$3$Type",896),b(921,1,{},Ekn),w(Fi,"JsonImporter/lambda$30$Type",921),b(922,1,{},rmn),w(Fi,"JsonImporter/lambda$31$Type",922),b(923,1,{},cmn),w(Fi,"JsonImporter/lambda$32$Type",923),b(924,1,{},umn),w(Fi,"JsonImporter/lambda$33$Type",924),b(925,1,{},smn),w(Fi,"JsonImporter/lambda$34$Type",925),b(859,1,{},omn),w(Fi,"JsonImporter/lambda$35$Type",859),b(929,1,{},vEn),w(Fi,"JsonImporter/lambda$36$Type",929),b(926,1,Yn,fmn),s.td=function(e){Yae(this.a,u(e,469))},w(Fi,"JsonImporter/lambda$37$Type",926),b(927,1,Yn,Pkn),s.td=function(e){Mre(this.a,this.b,u(e,202))},w(Fi,"JsonImporter/lambda$38$Type",927),b(928,1,Yn,Ikn),s.td=function(e){Are(this.a,this.b,u(e,202))},w(Fi,"JsonImporter/lambda$39$Type",928),b(894,1,{},hmn),w(Fi,"JsonImporter/lambda$4$Type",894),b(930,1,Yn,lmn),s.td=function(e){Zae(this.a,u(e,8))},w(Fi,"JsonImporter/lambda$40$Type",930),b(895,1,{},amn),w(Fi,"JsonImporter/lambda$5$Type",895),b(899,1,{},dmn),w(Fi,"JsonImporter/lambda$6$Type",899),b(897,1,{},bmn),w(Fi,"JsonImporter/lambda$7$Type",897),b(898,1,{},wmn),w(Fi,"JsonImporter/lambda$8$Type",898),b(901,1,{},gmn),w(Fi,"JsonImporter/lambda$9$Type",901),b(948,1,Yn,pmn),s.td=function(e){j2(this.a,new Z0(Te(e)))},w(Fi,"JsonMetaDataConverter/lambda$0$Type",948),b(949,1,Yn,vmn),s.td=function(e){whe(this.a,u(e,237))},w(Fi,"JsonMetaDataConverter/lambda$1$Type",949),b(950,1,Yn,mmn),s.td=function(e){ale(this.a,u(e,149))},w(Fi,"JsonMetaDataConverter/lambda$2$Type",950),b(951,1,Yn,kmn),s.td=function(e){ghe(this.a,u(e,175))},w(Fi,"JsonMetaDataConverter/lambda$3$Type",951),b(237,22,{3:1,35:1,22:1,237:1},a2);var VP,QP,hH,JP,YP,ZP,lH,aH,nI=Ae(ok,"GraphFeature",237,Ie,B0e,_oe),Lne;b(13,1,{35:1,146:1},kt,ii,In,tr),s.wd=function(e){return Tce(this,u(e,146))},s.Fb=function(e){return XTn(this,e)},s.wg=function(){return cn(this)},s.tg=function(){return this.b},s.Hb=function(){return m1(this.b)},s.Ib=function(){return this.b},w(ok,"Property",13),b(818,1,lt,$q),s.ue=function(e,t){return qge(this,u(e,94),u(t,94))},s.Fb=function(e){return this===e},s.ve=function(){return new st(this)},w(ok,"PropertyHolderComparator",818),b(695,1,yi,Fq),s.Nb=function(e){Oi(this,e)},s.Pb=function(){return Zde(this)},s.Qb=function(){d8n()},s.Ob=function(){return!!this.a},w(mA,"ElkGraphUtil/AncestorIterator",695);var c1n=Et(Ui,"EList");b(67,52,{20:1,28:1,52:1,14:1,15:1,67:1,58:1}),s.Vc=function(e,t){s6(this,e,t)},s.Fc=function(e){return me(this,e)},s.Wc=function(e,t){return NV(this,e,t)},s.Gc=function(e){return Dt(this,e)},s.Zh=function(){return new w2(this)},s.$h=function(){return new u8(this)},s._h=function(e){return J8(this,e)},s.ai=function(){return!0},s.bi=function(e,t){},s.ci=function(){},s.di=function(e,t){A$(this,e,t)},s.ei=function(e,t,i){},s.fi=function(e,t){},s.gi=function(e,t,i){},s.Fb=function(e){return oBn(this,e)},s.Hb=function(){return DV(this)},s.hi=function(){return!1},s.Kc=function(){return new ie(this)},s.Yc=function(){return new b2(this)},s.Zc=function(e){var t;if(t=this.gc(),e<0||e>t)throw T(new V0(e,t));return new DD(this,e)},s.ji=function(e,t){this.ii(e,this.Xc(t))},s.Mc=function(e){return BC(this,e)},s.li=function(e,t){return t},s._c=function(e,t){return Gw(this,e,t)},s.Ib=function(){return CQ(this)},s.ni=function(){return!0},s.oi=function(e,t){return W3(this,t)},w(Ui,"AbstractEList",67),b(63,67,Wf,Jy,Ld,CV),s.Vh=function(e,t){return mx(this,e,t)},s.Wh=function(e){return hFn(this,e)},s.Xh=function(e,t){a7(this,e,t)},s.Yh=function(e){F8(this,e)},s.pi=function(e){return zX(this,e)},s.$b=function(){U5(this)},s.Hc=function(e){return o4(this,e)},s.Xb=function(e){return D(this,e)},s.qi=function(e){var t,i,r;++this.j,i=this.g==null?0:this.g.length,e>i&&(r=this.g,t=i+(i/2|0)+4,t=0?(this.$c(t),!0):!1},s.mi=function(e,t){return this.Ui(e,this.oi(e,t))},s.gc=function(){return this.Vi()},s.Pc=function(){return this.Wi()},s.Qc=function(e){return this.Xi(e)},s.Ib=function(){return this.Yi()},w(Ui,"DelegatingEList",1995),b(1996,1995,rGn),s.Vh=function(e,t){return wZ(this,e,t)},s.Wh=function(e){return this.Vh(this.Vi(),e)},s.Xh=function(e,t){WLn(this,e,t)},s.Yh=function(e){BLn(this,e)},s.ai=function(){return!this.bj()},s.$b=function(){$6(this)},s.Zi=function(e,t,i,r,c){return new QTn(this,e,t,i,r,c)},s.$i=function(e){et(this.Ai(),e)},s._i=function(){return null},s.aj=function(){return-1},s.Ai=function(){return null},s.bj=function(){return!1},s.cj=function(e,t){return t},s.dj=function(e,t){return t},s.ej=function(){return!1},s.fj=function(){return!this.Ri()},s.ii=function(e,t){var i,r;return this.ej()?(r=this.fj(),i=WJ(this,e,t),this.$i(this.Zi(7,Q(t),i,e,r)),i):WJ(this,e,t)},s.$c=function(e){var t,i,r,c;return this.ej()?(i=null,r=this.fj(),t=this.Zi(4,c=OE(this,e),null,e,r),this.bj()&&c?(i=this.dj(c,i),i?(i.Ei(t),i.Fi()):this.$i(t)):i?(i.Ei(t),i.Fi()):this.$i(t),c):(c=OE(this,e),this.bj()&&c&&(i=this.dj(c,null),i&&i.Fi()),c)},s.mi=function(e,t){return eRn(this,e,t)},w(sp,"DelegatingNotifyingListImpl",1996),b(143,1,jk),s.Ei=function(e){return FJ(this,e)},s.Fi=function(){L$(this)},s.xi=function(){return this.d},s._i=function(){return null},s.gj=function(){return null},s.yi=function(e){return-1},s.zi=function(){return KNn(this)},s.Ai=function(){return null},s.Bi=function(){return QY(this)},s.Ci=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},s.hj=function(){return!1},s.Di=function(e){var t,i,r,c,o,f,h,l,a,d,g;switch(this.d){case 1:case 2:switch(c=e.xi(),c){case 1:case 2:if(o=e.Ai(),B(o)===B(this.Ai())&&this.yi(null)==e.yi(null))return this.g=e.zi(),e.xi()==1&&(this.d=1),!0}case 4:{switch(c=e.xi(),c){case 4:{if(o=e.Ai(),B(o)===B(this.Ai())&&this.yi(null)==e.yi(null))return a=DZ(this),l=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,f=e.Ci(),this.d=6,g=new Ld(2),l<=f?(me(g,this.n),me(g,e.Bi()),this.g=A(M(be,1),Le,25,15,[this.o=l,f+1])):(me(g,e.Bi()),me(g,this.n),this.g=A(M(be,1),Le,25,15,[this.o=f,l])),this.n=g,a||(this.o=-2-this.o-1),!0;break}}break}case 6:{switch(c=e.xi(),c){case 4:{if(o=e.Ai(),B(o)===B(this.Ai())&&this.yi(null)==e.yi(null)){for(a=DZ(this),f=e.Ci(),d=u(this.g,48),r=F(be,Le,25,d.length+1,15,1),t=0;t>>0,t.toString(16))),r.a+=" (eventType: ",this.d){case 1:{r.a+="SET";break}case 2:{r.a+="UNSET";break}case 3:{r.a+="ADD";break}case 5:{r.a+="ADD_MANY";break}case 4:{r.a+="REMOVE";break}case 6:{r.a+="REMOVE_MANY";break}case 7:{r.a+="MOVE";break}case 8:{r.a+="REMOVING_ADAPTER";break}case 9:{r.a+="RESOLVE";break}default:{eO(r,this.d);break}}if(PBn(this)&&(r.a+=", touch: true"),r.a+=", position: ",eO(r,this.o<0?this.o<-2?-2-this.o-1:-1:this.o),r.a+=", notifier: ",w5(r,this.Ai()),r.a+=", feature: ",w5(r,this._i()),r.a+=", oldValue: ",w5(r,QY(this)),r.a+=", newValue: ",this.d==6&&I(this.g,48)){for(i=u(this.g,48),r.a+="[",e=0;e10?((!this.b||this.c.j!=this.a)&&(this.b=new S5(this),this.a=this.j),Ah(this.b,e)):o4(this,e)},s.ni=function(){return!0},s.a=0,w(Ui,"AbstractEList/1",953),b(295,73,VL,V0),w(Ui,"AbstractEList/BasicIndexOutOfBoundsException",295),b(40,1,yi,ie),s.Nb=function(e){Oi(this,e)},s.mj=function(){if(this.i.j!=this.f)throw T(new vs)},s.nj=function(){return oe(this)},s.Ob=function(){return this.e!=this.i.gc()},s.Pb=function(){return this.nj()},s.Qb=function(){p6(this)},s.e=0,s.f=0,s.g=-1,w(Ui,"AbstractEList/EIterator",40),b(278,40,hh,b2,DD),s.Qb=function(){p6(this)},s.Rb=function(e){a$n(this,e)},s.oj=function(){var e;try{return e=this.d.Xb(--this.e),this.mj(),this.g=this.e,e}catch(t){throw t=jt(t),I(t,73)?(this.mj(),T(new ic)):T(t)}},s.pj=function(e){dFn(this,e)},s.Sb=function(){return this.e!=0},s.Tb=function(){return this.e},s.Ub=function(){return this.oj()},s.Vb=function(){return this.e-1},s.Wb=function(e){this.pj(e)},w(Ui,"AbstractEList/EListIterator",278),b(341,40,yi,w2),s.nj=function(){return UF(this)},s.Qb=function(){throw T(new ye)},w(Ui,"AbstractEList/NonResolvingEIterator",341),b(385,278,hh,u8,AU),s.Rb=function(e){throw T(new ye)},s.nj=function(){var e;try{return e=this.c.ki(this.e),this.mj(),this.g=this.e++,e}catch(t){throw t=jt(t),I(t,73)?(this.mj(),T(new ic)):T(t)}},s.oj=function(){var e;try{return e=this.c.ki(--this.e),this.mj(),this.g=this.e,e}catch(t){throw t=jt(t),I(t,73)?(this.mj(),T(new ic)):T(t)}},s.Qb=function(){throw T(new ye)},s.Wb=function(e){throw T(new ye)},w(Ui,"AbstractEList/NonResolvingEListIterator",385),b(1982,67,cGn),s.Vh=function(e,t){var i,r,c,o,f,h,l,a,d,g,p;if(c=t.gc(),c!=0){for(a=u(Rn(this.a,4),126),d=a==null?0:a.length,p=d+c,r=bF(this,p),g=d-e,g>0&&gc(a,e,r,e+c,g),l=t.Kc(),f=0;fi)throw T(new V0(e,i));return new sTn(this,e)},s.$b=function(){var e,t;++this.j,e=u(Rn(this.a,4),126),t=e==null?0:e.length,r4(this,null),A$(this,t,e)},s.Hc=function(e){var t,i,r,c,o;if(t=u(Rn(this.a,4),126),t!=null){if(e!=null){for(r=t,c=0,o=r.length;c=i)throw T(new V0(e,i));return t[e]},s.Xc=function(e){var t,i,r;if(t=u(Rn(this.a,4),126),t!=null){if(e!=null){for(i=0,r=t.length;ii)throw T(new V0(e,i));return new uTn(this,e)},s.ii=function(e,t){var i,r,c;if(i=k$n(this),c=i==null?0:i.length,e>=c)throw T(new vr(NB+e+Ra+c));if(t>=c)throw T(new vr(BB+t+Ra+c));return r=i[t],e!=t&&(e0&&gc(e,0,t,0,i),t},s.Qc=function(e){var t,i,r;return t=u(Rn(this.a,4),126),r=t==null?0:t.length,r>0&&(e.lengthr&&Mt(e,r,null),e};var Nne;w(Ui,"ArrayDelegatingEList",1982),b(1038,40,yi,gSn),s.mj=function(){if(this.b.j!=this.f||B(u(Rn(this.b.a,4),126))!==B(this.a))throw T(new vs)},s.Qb=function(){p6(this),this.a=u(Rn(this.b.a,4),126)},w(Ui,"ArrayDelegatingEList/EIterator",1038),b(706,278,hh,ICn,uTn),s.mj=function(){if(this.b.j!=this.f||B(u(Rn(this.b.a,4),126))!==B(this.a))throw T(new vs)},s.pj=function(e){dFn(this,e),this.a=u(Rn(this.b.a,4),126)},s.Qb=function(){p6(this),this.a=u(Rn(this.b.a,4),126)},w(Ui,"ArrayDelegatingEList/EListIterator",706),b(1039,341,yi,pSn),s.mj=function(){if(this.b.j!=this.f||B(u(Rn(this.b.a,4),126))!==B(this.a))throw T(new vs)},w(Ui,"ArrayDelegatingEList/NonResolvingEIterator",1039),b(707,385,hh,OCn,sTn),s.mj=function(){if(this.b.j!=this.f||B(u(Rn(this.b.a,4),126))!==B(this.a))throw T(new vs)},w(Ui,"ArrayDelegatingEList/NonResolvingEListIterator",707),b(606,295,VL,xO),w(Ui,"BasicEList/BasicIndexOutOfBoundsException",606),b(696,63,Wf,az),s.Vc=function(e,t){throw T(new ye)},s.Fc=function(e){throw T(new ye)},s.Wc=function(e,t){throw T(new ye)},s.Gc=function(e){throw T(new ye)},s.$b=function(){throw T(new ye)},s.qi=function(e){throw T(new ye)},s.Kc=function(){return this.Zh()},s.Yc=function(){return this.$h()},s.Zc=function(e){return this._h(e)},s.ii=function(e,t){throw T(new ye)},s.ji=function(e,t){throw T(new ye)},s.$c=function(e){throw T(new ye)},s.Mc=function(e){throw T(new ye)},s._c=function(e,t){throw T(new ye)},w(Ui,"BasicEList/UnmodifiableEList",696),b(705,1,{3:1,20:1,14:1,15:1,58:1,589:1}),s.Vc=function(e,t){wce(this,e,u(t,42))},s.Fc=function(e){return eue(this,u(e,42))},s.Jc=function(e){$i(this,e)},s.Xb=function(e){return u(D(this.c,e),133)},s.ii=function(e,t){return u(this.c.ii(e,t),42)},s.ji=function(e,t){gce(this,e,u(t,42))},s.Lc=function(){return new $n(null,new xn(this,16))},s.$c=function(e){return u(this.c.$c(e),42)},s._c=function(e,t){return fhe(this,e,u(t,42))},s.ad=function(e){Lw(this,e)},s.Nc=function(){return new xn(this,16)},s.Oc=function(){return new $n(null,new xn(this,16))},s.Wc=function(e,t){return this.c.Wc(e,t)},s.Gc=function(e){return this.c.Gc(e)},s.$b=function(){this.c.$b()},s.Hc=function(e){return this.c.Hc(e)},s.Ic=function(e){return t7(this.c,e)},s.qj=function(){var e,t,i;if(this.d==null){for(this.d=F(u1n,Xtn,63,2*this.f+1,0,1),i=this.e,this.f=0,t=this.c.Kc();t.e!=t.i.gc();)e=u(t.nj(),133),KT(this,e);this.e=i}},s.Fb=function(e){return tEn(this,e)},s.Hb=function(){return DV(this.c)},s.Xc=function(e){return this.c.Xc(e)},s.rj=function(){this.c=new jmn(this)},s.dc=function(){return this.f==0},s.Kc=function(){return this.c.Kc()},s.Yc=function(){return this.c.Yc()},s.Zc=function(e){return this.c.Zc(e)},s.sj=function(){return N8(this)},s.tj=function(e,t,i){return new mEn(e,t,i)},s.uj=function(){return new W2n},s.Mc=function(e){return xIn(this,e)},s.gc=function(){return this.f},s.bd=function(e,t){return new ch(this.c,e,t)},s.Pc=function(){return this.c.Pc()},s.Qc=function(e){return this.c.Qc(e)},s.Ib=function(){return CQ(this.c)},s.e=0,s.f=0,w(Ui,"BasicEMap",705),b(1033,63,Wf,jmn),s.bi=function(e,t){Yte(this,u(t,133))},s.ei=function(e,t,i){var r;++(r=this,u(t,133),r).a.e},s.fi=function(e,t){Zte(this,u(t,133))},s.gi=function(e,t,i){Hce(this,u(t,133),u(i,133))},s.di=function(e,t){TOn(this.a)},w(Ui,"BasicEMap/1",1033),b(1034,63,Wf,W2n),s.ri=function(e){return F(hMe,uGn,612,e,0,1)},w(Ui,"BasicEMap/2",1034),b(1035,df,pu,Emn),s.$b=function(){this.a.c.$b()},s.Hc=function(e){return NF(this.a,e)},s.Kc=function(){return this.a.f==0?(o3(),xy.a):new r8n(this.a)},s.Mc=function(e){var t;return t=this.a.f,IT(this.a,e),this.a.f!=t},s.gc=function(){return this.a.f},w(Ui,"BasicEMap/3",1035),b(1036,28,Sb,Cmn),s.$b=function(){this.a.c.$b()},s.Hc=function(e){return fBn(this.a,e)},s.Kc=function(){return this.a.f==0?(o3(),xy.a):new c8n(this.a)},s.gc=function(){return this.a.f},w(Ui,"BasicEMap/4",1036),b(1037,df,pu,Tmn),s.$b=function(){this.a.c.$b()},s.Hc=function(e){var t,i,r,c,o,f,h,l,a;if(this.a.f>0&&I(e,42)&&(this.a.qj(),l=u(e,42),h=l.cd(),c=h==null?0:mt(h),o=dU(this.a,c),t=this.a.d[o],t)){for(i=u(t.g,367),a=t.i,f=0;f"+this.c},s.a=0;var hMe=w(Ui,"BasicEMap/EntryImpl",612);b(536,1,{},Qy),w(Ui,"BasicEMap/View",536);var xy;b(768,1,{}),s.Fb=function(e){return DY((Pn(),cr),e)},s.Hb=function(){return GV((Pn(),cr))},s.Ib=function(){return kl((Pn(),cr))},w(Ui,"ECollections/BasicEmptyUnmodifiableEList",768),b(1312,1,hh,X2n),s.Nb=function(e){Oi(this,e)},s.Rb=function(e){throw T(new ye)},s.Ob=function(){return!1},s.Sb=function(){return!1},s.Pb=function(){throw T(new ic)},s.Tb=function(){return 0},s.Ub=function(){throw T(new ic)},s.Vb=function(){return-1},s.Qb=function(){throw T(new ye)},s.Wb=function(e){throw T(new ye)},w(Ui,"ECollections/BasicEmptyUnmodifiableEList/1",1312),b(1310,768,{20:1,14:1,15:1,58:1},w9n),s.Vc=function(e,t){M8n()},s.Fc=function(e){return A8n()},s.Wc=function(e,t){return S8n()},s.Gc=function(e){return P8n()},s.$b=function(){I8n()},s.Hc=function(e){return!1},s.Ic=function(e){return!1},s.Jc=function(e){$i(this,e)},s.Xb=function(e){return wz((Pn(),e)),null},s.Xc=function(e){return-1},s.dc=function(){return!0},s.Kc=function(){return this.a},s.Yc=function(){return this.a},s.Zc=function(e){return this.a},s.ii=function(e,t){return O8n()},s.ji=function(e,t){D8n()},s.Lc=function(){return new $n(null,new xn(this,16))},s.$c=function(e){return $8n()},s.Mc=function(e){return F8n()},s._c=function(e,t){return x8n()},s.gc=function(){return 0},s.ad=function(e){Lw(this,e)},s.Nc=function(){return new xn(this,16)},s.Oc=function(){return new $n(null,new xn(this,16))},s.bd=function(e,t){return Pn(),new ch(cr,e,t)},s.Pc=function(){return wW((Pn(),cr))},s.Qc=function(e){return Pn(),y7(cr,e)},w(Ui,"ECollections/EmptyUnmodifiableEList",1310),b(1311,768,{20:1,14:1,15:1,58:1,589:1},g9n),s.Vc=function(e,t){M8n()},s.Fc=function(e){return A8n()},s.Wc=function(e,t){return S8n()},s.Gc=function(e){return P8n()},s.$b=function(){I8n()},s.Hc=function(e){return!1},s.Ic=function(e){return!1},s.Jc=function(e){$i(this,e)},s.Xb=function(e){return wz((Pn(),e)),null},s.Xc=function(e){return-1},s.dc=function(){return!0},s.Kc=function(){return this.a},s.Yc=function(){return this.a},s.Zc=function(e){return this.a},s.ii=function(e,t){return O8n()},s.ji=function(e,t){D8n()},s.Lc=function(){return new $n(null,new xn(this,16))},s.$c=function(e){return $8n()},s.Mc=function(e){return F8n()},s._c=function(e,t){return x8n()},s.gc=function(){return 0},s.ad=function(e){Lw(this,e)},s.Nc=function(){return new xn(this,16)},s.Oc=function(){return new $n(null,new xn(this,16))},s.bd=function(e,t){return Pn(),new ch(cr,e,t)},s.Pc=function(){return wW((Pn(),cr))},s.Qc=function(e){return Pn(),y7(cr,e)},s.sj=function(){return Pn(),Pn(),ph},w(Ui,"ECollections/EmptyUnmodifiableEMap",1311);var o1n=Et(Ui,"Enumerator"),eI;b(281,1,{281:1},zx),s.Fb=function(e){var t;return this===e?!0:I(e,281)?(t=u(e,281),this.f==t.f&&Ife(this.i,t.i)&&vD(this.a,this.f&256?t.f&256?t.a:null:t.f&256?null:t.a)&&vD(this.d,t.d)&&vD(this.g,t.g)&&vD(this.e,t.e)&&Cpe(this,t)):!1},s.Hb=function(){return this.f},s.Ib=function(){return _Bn(this)},s.f=0;var Bne=0,Rne=0,_ne=0,Kne=0,f1n=0,h1n=0,l1n=0,a1n=0,d1n=0,Hne,a9=0,d9=0,qne=0,Gne=0,tI,b1n;w(Ui,"URI",281),b(1091,43,sg,p9n),s.zc=function(e,t){return u(kr(this,Te(e),u(t,281)),281)},w(Ui,"URI/URICache",1091),b(497,63,Wf,H2n,$E),s.hi=function(){return!0},w(Ui,"UniqueEList",497),b(581,60,Uh,xC),w(Ui,"WrappedException",581);var Be=Et(Is,fGn),sw=Et(Is,hGn),su=Et(Is,lGn),ow=Et(Is,aGn),Qo=Et(Is,dGn),ro=Et(Is,"EClass"),wH=Et(Is,"EDataType"),zne;b(1183,43,sg,v9n),s.xc=function(e){return mi(e)?vc(this,e):Vr(Ar(this.f,e))},w(Is,"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl",1183);var iI=Et(Is,"EEnum"),e1=Et(Is,bGn),ar=Et(Is,wGn),co=Et(Is,gGn),uo,P0=Et(Is,pGn),fw=Et(Is,vGn);b(1029,1,{},K2n),s.Ib=function(){return"NIL"},w(Is,"EStructuralFeature/Internal/DynamicValueHolder/1",1029);var Une;b(1028,43,sg,m9n),s.xc=function(e){return mi(e)?vc(this,e):Vr(Ar(this.f,e))},w(Is,"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl",1028);var zc=Et(Is,mGn),Ip=Et(Is,"EValidator/PatternMatcher"),w1n,g1n,Nn,x1,hw,Xl,Wne,Xne,Vne,Vl,L1,Ql,I0,Cf,Qne,Jne,so,N1,Yne,B1,lw,qg,nr,Zne,nee,O0,rI=Et(vt,"FeatureMap/Entry");b(535,1,{72:1},Yj),s.ak=function(){return this.a},s.dd=function(){return this.b},w(Bn,"BasicEObjectImpl/1",535),b(1027,1,GB,Okn),s.Wj=function(e){return T$(this.a,this.b,e)},s.fj=function(){return lMn(this.a,this.b)},s.Wb=function(e){JW(this.a,this.b,e)},s.Xj=function(){Mhe(this.a,this.b)},w(Bn,"BasicEObjectImpl/4",1027),b(1983,1,{108:1}),s.bk=function(e){this.e=e==0?eee:F(Zn,rn,1,e,5,1)},s.Ch=function(e){return this.e[e]},s.Dh=function(e,t){this.e[e]=t},s.Eh=function(e){this.e[e]=null},s.ck=function(){return this.c},s.dk=function(){throw T(new ye)},s.ek=function(){throw T(new ye)},s.fk=function(){return this.d},s.gk=function(){return this.e!=null},s.hk=function(e){this.c=e},s.ik=function(e){throw T(new ye)},s.jk=function(e){throw T(new ye)},s.kk=function(e){this.d=e};var eee;w(Bn,"BasicEObjectImpl/EPropertiesHolderBaseImpl",1983),b(185,1983,{108:1},Fo),s.dk=function(){return this.a},s.ek=function(){return this.b},s.ik=function(e){this.a=e},s.jk=function(e){this.b=e},w(Bn,"BasicEObjectImpl/EPropertiesHolderImpl",185),b(506,97,kqn,Yy),s.Kg=function(){return this.f},s.Pg=function(){return this.k},s.Rg=function(e,t){this.g=e,this.i=t},s.Tg=function(){return this.j&2?this.ph().ck():this.zh()},s.Vg=function(){return this.i},s.Mg=function(){return(this.j&1)!=0},s.eh=function(){return this.g},s.kh=function(){return(this.j&4)!=0},s.ph=function(){return!this.k&&(this.k=new Fo),this.k},s.th=function(e){this.ph().hk(e),e?this.j|=2:this.j&=-3},s.vh=function(e){this.ph().jk(e),e?this.j|=4:this.j&=-5},s.zh=function(){return(ol(),Nn).S},s.i=0,s.j=1,w(Bn,"EObjectImpl",506),b(780,506,{105:1,92:1,90:1,56:1,108:1,49:1,97:1},JU),s.Ch=function(e){return this.e[e]},s.Dh=function(e,t){this.e[e]=t},s.Eh=function(e){this.e[e]=null},s.Tg=function(){return this.d},s.Yg=function(e){return yt(this.d,e)},s.$g=function(){return this.d},s.dh=function(){return this.e!=null},s.ph=function(){return!this.k&&(this.k=new V2n),this.k},s.th=function(e){this.d=e},s.yh=function(){var e;return this.e==null&&(e=ee(this.d),this.e=e==0?tee:F(Zn,rn,1,e,5,1)),this},s.Ah=function(){return 0};var tee;w(Bn,"DynamicEObjectImpl",780),b(1376,780,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1},UEn),s.Fb=function(e){return this===e},s.Hb=function(){return md(this)},s.th=function(e){this.d=e,this.b=R7(e,"key"),this.c=R7(e,im)},s.Sh=function(){var e;return this.a==-1&&(e=N$(this,this.b),this.a=e==null?0:mt(e)),this.a},s.cd=function(){return N$(this,this.b)},s.dd=function(){return N$(this,this.c)},s.Th=function(e){this.a=e},s.Uh=function(e){JW(this,this.b,e)},s.ed=function(e){var t;return t=N$(this,this.c),JW(this,this.c,e),t},s.a=0,w(Bn,"DynamicEObjectImpl/BasicEMapEntry",1376),b(1377,1,{108:1},V2n),s.bk=function(e){throw T(new ye)},s.Ch=function(e){throw T(new ye)},s.Dh=function(e,t){throw T(new ye)},s.Eh=function(e){throw T(new ye)},s.ck=function(){throw T(new ye)},s.dk=function(){return this.a},s.ek=function(){return this.b},s.fk=function(){return this.c},s.gk=function(){throw T(new ye)},s.hk=function(e){throw T(new ye)},s.ik=function(e){this.a=e},s.jk=function(e){this.b=e},s.kk=function(e){this.c=e},w(Bn,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1377),b(510,150,{105:1,92:1,90:1,590:1,147:1,56:1,108:1,49:1,97:1,510:1,150:1,114:1,115:1},JH),s.Qg=function(e){return gJ(this,e)},s._g=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),this.Ab;case 1:return this.d;case 2:return i?(!this.b&&(this.b=new qu((Sn(),nr),tc,this)),this.b):(!this.b&&(this.b=new qu((Sn(),nr),tc,this)),N8(this.b));case 3:return gMn(this);case 4:return!this.a&&(this.a=new Jt(zl,this,4)),this.a;case 5:return!this.c&&(this.c=new Aw(zl,this,5)),this.c}return Cs(this,e-ee((Sn(),x1)),On((r=u(Rn(this,16),26),r||x1),e),t,i)},s.hh=function(e,t,i){var r,c,o;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),Oc(this.Ab,e,i);case 3:return this.Cb&&(i=(c=this.Db>>16,c>=0?gJ(this,i):this.Cb.ih(this,-1-c,null,i))),dW(this,u(e,147),i)}return o=u(On((r=u(Rn(this,16),26),r||(Sn(),x1)),t),66),o.Nj().Qj(this,Rc(this),t-ee((Sn(),x1)),e,i)},s.jh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),zi(this.Ab,e,i);case 2:return!this.b&&(this.b=new qu((Sn(),nr),tc,this)),yE(this.b,e,i);case 3:return dW(this,null,i);case 4:return!this.a&&(this.a=new Jt(zl,this,4)),zi(this.a,e,i)}return c=u(On((r=u(Rn(this,16),26),r||(Sn(),x1)),t),66),c.Nj().Rj(this,Rc(this),t-ee((Sn(),x1)),e,i)},s.lh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.d!=null;case 2:return!!this.b&&this.b.f!=0;case 3:return!!gMn(this);case 4:return!!this.a&&this.a.i!=0;case 5:return!!this.c&&this.c.i!=0}return js(this,e-ee((Sn(),x1)),On((t=u(Rn(this,16),26),t||x1),e))},s.sh=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab),!this.Ab&&(this.Ab=new V(Be,this,0,3)),Dt(this.Ab,u(t,14));return;case 1:wfe(this,Te(t));return;case 2:!this.b&&(this.b=new qu((Sn(),nr),tc,this)),fT(this.b,t);return;case 3:INn(this,u(t,147));return;case 4:!this.a&&(this.a=new Jt(zl,this,4)),de(this.a),!this.a&&(this.a=new Jt(zl,this,4)),Dt(this.a,u(t,14));return;case 5:!this.c&&(this.c=new Aw(zl,this,5)),de(this.c),!this.c&&(this.c=new Aw(zl,this,5)),Dt(this.c,u(t,14));return}Ps(this,e-ee((Sn(),x1)),On((i=u(Rn(this,16),26),i||x1),e),t)},s.zh=function(){return Sn(),x1},s.Bh=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab);return;case 1:pV(this,null);return;case 2:!this.b&&(this.b=new qu((Sn(),nr),tc,this)),this.b.c.$b();return;case 3:INn(this,null);return;case 4:!this.a&&(this.a=new Jt(zl,this,4)),de(this.a);return;case 5:!this.c&&(this.c=new Aw(zl,this,5)),de(this.c);return}As(this,e-ee((Sn(),x1)),On((t=u(Rn(this,16),26),t||x1),e))},s.Ib=function(){return zDn(this)},s.d=null,w(Bn,"EAnnotationImpl",510),b(151,705,Vtn,Wu),s.Xh=function(e,t){Jre(this,e,u(t,42))},s.lk=function(e,t){return zue(this,u(e,42),t)},s.pi=function(e){return u(u(this.c,69).pi(e),133)},s.Zh=function(){return u(this.c,69).Zh()},s.$h=function(){return u(this.c,69).$h()},s._h=function(e){return u(this.c,69)._h(e)},s.mk=function(e,t){return yE(this,e,t)},s.Wj=function(e){return u(this.c,76).Wj(e)},s.rj=function(){},s.fj=function(){return u(this.c,76).fj()},s.tj=function(e,t,i){var r;return r=u(ts(this.b).Nh().Jh(this.b),133),r.Th(e),r.Uh(t),r.ed(i),r},s.uj=function(){return new Lq(this)},s.Wb=function(e){fT(this,e)},s.Xj=function(){u(this.c,76).Xj()},w(vt,"EcoreEMap",151),b(158,151,Vtn,qu),s.qj=function(){var e,t,i,r,c,o;if(this.d==null){for(o=F(u1n,Xtn,63,2*this.f+1,0,1),i=this.c.Kc();i.e!=i.i.gc();)t=u(i.nj(),133),r=t.Sh(),c=(r&nt)%o.length,e=o[c],!e&&(e=o[c]=new Lq(this)),e.Fc(t);this.d=o}},w(Bn,"EAnnotationImpl/1",158),b(284,438,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,472:1,49:1,97:1,150:1,284:1,114:1,115:1}),s._g=function(e,t,i){var r,c;switch(e){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),this.Ab;case 1:return this.zb;case 2:return qn(),!!(this.Bb&256);case 3:return qn(),!!(this.Bb&512);case 4:return Q(this.s);case 5:return Q(this.t);case 6:return qn(),!!this.$j();case 7:return qn(),c=this.s,c>=1;case 8:return t?qs(this):this.r;case 9:return this.q}return Cs(this,e-ee(this.zh()),On((r=u(Rn(this,16),26),r||this.zh()),e),t,i)},s.jh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),zi(this.Ab,e,i);case 9:return xD(this,i)}return c=u(On((r=u(Rn(this,16),26),r||this.zh()),t),66),c.Nj().Rj(this,Rc(this),t-ee(this.zh()),e,i)},s.lh=function(e){var t,i;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.$j();case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&Ad(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Ad(this.q).i==0)}return js(this,e-ee(this.zh()),On((t=u(Rn(this,16),26),t||this.zh()),e))},s.sh=function(e,t){var i,r;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab),!this.Ab&&(this.Ab=new V(Be,this,0,3)),Dt(this.Ab,u(t,14));return;case 1:this.Lh(Te(t));return;case 2:g1(this,on(sn(t)));return;case 3:p1(this,on(sn(t)));return;case 4:d1(this,u(t,19).a);return;case 5:this.ok(u(t,19).a);return;case 8:Ca(this,u(t,138));return;case 9:r=af(this,u(t,87),null),r&&r.Fi();return}Ps(this,e-ee(this.zh()),On((i=u(Rn(this,16),26),i||this.zh()),e),t)},s.zh=function(){return Sn(),nee},s.Bh=function(e){var t,i;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab);return;case 1:this.Lh(null);return;case 2:g1(this,!0);return;case 3:p1(this,!0);return;case 4:d1(this,0);return;case 5:this.ok(1);return;case 8:Ca(this,null);return;case 9:i=af(this,null,null),i&&i.Fi();return}As(this,e-ee(this.zh()),On((t=u(Rn(this,16),26),t||this.zh()),e))},s.Gh=function(){qs(this),this.Bb|=1},s.Yj=function(){return qs(this)},s.Zj=function(){return this.t},s.$j=function(){var e;return e=this.t,e>1||e==-1},s.hi=function(){return(this.Bb&512)!=0},s.nk=function(e,t){return lQ(this,e,t)},s.ok=function(e){hb(this,e)},s.Ib=function(){return jY(this)},s.s=0,s.t=1,w(Bn,"ETypedElementImpl",284),b(449,284,{105:1,92:1,90:1,147:1,191:1,56:1,170:1,66:1,108:1,472:1,49:1,97:1,150:1,449:1,284:1,114:1,115:1,677:1}),s.Qg=function(e){return AFn(this,e)},s._g=function(e,t,i){var r,c;switch(e){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),this.Ab;case 1:return this.zb;case 2:return qn(),!!(this.Bb&256);case 3:return qn(),!!(this.Bb&512);case 4:return Q(this.s);case 5:return Q(this.t);case 6:return qn(),!!this.$j();case 7:return qn(),c=this.s,c>=1;case 8:return t?qs(this):this.r;case 9:return this.q;case 10:return qn(),!!(this.Bb&Eo);case 11:return qn(),!!(this.Bb&Bb);case 12:return qn(),!!(this.Bb&Ib);case 13:return this.j;case 14:return w4(this);case 15:return qn(),!!(this.Bb&mu);case 16:return qn(),!!(this.Bb&Nf);case 17:return eb(this)}return Cs(this,e-ee(this.zh()),On((r=u(Rn(this,16),26),r||this.zh()),e),t,i)},s.hh=function(e,t,i){var r,c,o;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),Oc(this.Ab,e,i);case 17:return this.Cb&&(i=(c=this.Db>>16,c>=0?AFn(this,i):this.Cb.ih(this,-1-c,null,i))),ss(this,e,17,i)}return o=u(On((r=u(Rn(this,16),26),r||this.zh()),t),66),o.Nj().Qj(this,Rc(this),t-ee(this.zh()),e,i)},s.jh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),zi(this.Ab,e,i);case 9:return xD(this,i);case 17:return ss(this,null,17,i)}return c=u(On((r=u(Rn(this,16),26),r||this.zh()),t),66),c.Nj().Rj(this,Rc(this),t-ee(this.zh()),e,i)},s.lh=function(e){var t,i;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.$j();case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&Ad(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Ad(this.q).i==0);case 10:return(this.Bb&Eo)==0;case 11:return(this.Bb&Bb)!=0;case 12:return(this.Bb&Ib)!=0;case 13:return this.j!=null;case 14:return w4(this)!=null;case 15:return(this.Bb&mu)!=0;case 16:return(this.Bb&Nf)!=0;case 17:return!!eb(this)}return js(this,e-ee(this.zh()),On((t=u(Rn(this,16),26),t||this.zh()),e))},s.sh=function(e,t){var i,r;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab),!this.Ab&&(this.Ab=new V(Be,this,0,3)),Dt(this.Ab,u(t,14));return;case 1:f$(this,Te(t));return;case 2:g1(this,on(sn(t)));return;case 3:p1(this,on(sn(t)));return;case 4:d1(this,u(t,19).a);return;case 5:this.ok(u(t,19).a);return;case 8:Ca(this,u(t,138));return;case 9:r=af(this,u(t,87),null),r&&r.Fi();return;case 10:Y3(this,on(sn(t)));return;case 11:e4(this,on(sn(t)));return;case 12:Z3(this,on(sn(t)));return;case 13:dz(this,Te(t));return;case 15:n4(this,on(sn(t)));return;case 16:t4(this,on(sn(t)));return}Ps(this,e-ee(this.zh()),On((i=u(Rn(this,16),26),i||this.zh()),e),t)},s.zh=function(){return Sn(),Zne},s.Bh=function(e){var t,i;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab);return;case 1:I(this.Cb,88)&&yb(Iu(u(this.Cb,88)),4),Ic(this,null);return;case 2:g1(this,!0);return;case 3:p1(this,!0);return;case 4:d1(this,0);return;case 5:this.ok(1);return;case 8:Ca(this,null);return;case 9:i=af(this,null,null),i&&i.Fi();return;case 10:Y3(this,!0);return;case 11:e4(this,!1);return;case 12:Z3(this,!1);return;case 13:this.i=null,nT(this,null);return;case 15:n4(this,!1);return;case 16:t4(this,!1);return}As(this,e-ee(this.zh()),On((t=u(Rn(this,16),26),t||this.zh()),e))},s.Gh=function(){v3(jr((gu(),xi),this)),qs(this),this.Bb|=1},s.Gj=function(){return this.f},s.zj=function(){return w4(this)},s.Hj=function(){return eb(this)},s.Lj=function(){return null},s.pk=function(){return this.k},s.aj=function(){return this.n},s.Mj=function(){return QT(this)},s.Nj=function(){var e,t,i,r,c,o,f,h,l;return this.p||(i=eb(this),(i.i==null&&Lf(i),i.i).length,r=this.Lj(),r&&ee(eb(r)),c=qs(this),f=c.Bj(),e=f?f.i&1?f==_u?si:f==be?Wi:f==dw?U4:f==ji?Mi:f==Yl?a0:f==Wg?d0:f==yu?op:bm:f:null,t=w4(this),h=c.zj(),Vge(this),this.Bb&Nf&&((o=EJ((gu(),xi),i))&&o!=this||(o=A2(jr(xi,this))))?this.p=new $kn(this,o):this.$j()?this.rk()?r?this.Bb&mu?e?this.sk()?this.p=new ha(47,e,this,r):this.p=new ha(5,e,this,r):this.sk()?this.p=new da(46,this,r):this.p=new da(4,this,r):e?this.sk()?this.p=new ha(49,e,this,r):this.p=new ha(7,e,this,r):this.sk()?this.p=new da(48,this,r):this.p=new da(6,this,r):this.Bb&mu?e?e==Ha?this.p=new s1(50,xne,this):this.sk()?this.p=new s1(43,e,this):this.p=new s1(1,e,this):this.sk()?this.p=new f1(42,this):this.p=new f1(0,this):e?e==Ha?this.p=new s1(41,xne,this):this.sk()?this.p=new s1(45,e,this):this.p=new s1(3,e,this):this.sk()?this.p=new f1(44,this):this.p=new f1(2,this):I(c,148)?e==rI?this.p=new f1(40,this):this.Bb&512?this.Bb&mu?e?this.p=new s1(9,e,this):this.p=new f1(8,this):e?this.p=new s1(11,e,this):this.p=new f1(10,this):this.Bb&mu?e?this.p=new s1(13,e,this):this.p=new f1(12,this):e?this.p=new s1(15,e,this):this.p=new f1(14,this):r?(l=r.t,l>1||l==-1?this.sk()?this.Bb&mu?e?this.p=new ha(25,e,this,r):this.p=new da(24,this,r):e?this.p=new ha(27,e,this,r):this.p=new da(26,this,r):this.Bb&mu?e?this.p=new ha(29,e,this,r):this.p=new da(28,this,r):e?this.p=new ha(31,e,this,r):this.p=new da(30,this,r):this.sk()?this.Bb&mu?e?this.p=new ha(33,e,this,r):this.p=new da(32,this,r):e?this.p=new ha(35,e,this,r):this.p=new da(34,this,r):this.Bb&mu?e?this.p=new ha(37,e,this,r):this.p=new da(36,this,r):e?this.p=new ha(39,e,this,r):this.p=new da(38,this,r)):this.sk()?this.Bb&mu?e?this.p=new s1(17,e,this):this.p=new f1(16,this):e?this.p=new s1(19,e,this):this.p=new f1(18,this):this.Bb&mu?e?this.p=new s1(21,e,this):this.p=new f1(20,this):e?this.p=new s1(23,e,this):this.p=new f1(22,this):this.qk()?this.sk()?this.p=new kEn(u(c,26),this,r):this.p=new QW(u(c,26),this,r):I(c,148)?e==rI?this.p=new f1(40,this):this.Bb&mu?e?this.p=new vCn(t,h,this,(LF(),f==be?E1n:f==_u?v1n:f==Yl?C1n:f==dw?j1n:f==ji?y1n:f==Wg?T1n:f==yu?m1n:f==Ls?k1n:vH)):this.p=new ITn(u(c,148),t,h,this):e?this.p=new pCn(t,h,this,(LF(),f==be?E1n:f==_u?v1n:f==Yl?C1n:f==dw?j1n:f==ji?y1n:f==Wg?T1n:f==yu?m1n:f==Ls?k1n:vH)):this.p=new PTn(u(c,148),t,h,this):this.rk()?r?this.Bb&mu?this.sk()?this.p=new jEn(u(c,26),this,r):this.p=new KU(u(c,26),this,r):this.sk()?this.p=new yEn(u(c,26),this,r):this.p=new lD(u(c,26),this,r):this.Bb&mu?this.sk()?this.p=new pjn(u(c,26),this):this.p=new eU(u(c,26),this):this.sk()?this.p=new gjn(u(c,26),this):this.p=new JO(u(c,26),this):this.sk()?r?this.Bb&mu?this.p=new EEn(u(c,26),this,r):this.p=new RU(u(c,26),this,r):this.Bb&mu?this.p=new vjn(u(c,26),this):this.p=new tU(u(c,26),this):r?this.Bb&mu?this.p=new CEn(u(c,26),this,r):this.p=new _U(u(c,26),this,r):this.Bb&mu?this.p=new mjn(u(c,26),this):this.p=new FE(u(c,26),this)),this.p},s.Ij=function(){return(this.Bb&Eo)!=0},s.qk=function(){return!1},s.rk=function(){return!1},s.Jj=function(){return(this.Bb&Nf)!=0},s.Oj=function(){return R$(this)},s.sk=function(){return!1},s.Kj=function(){return(this.Bb&mu)!=0},s.tk=function(e){this.k=e},s.Lh=function(e){f$(this,e)},s.Ib=function(){return bM(this)},s.e=!1,s.n=0,w(Bn,"EStructuralFeatureImpl",449),b(322,449,{105:1,92:1,90:1,34:1,147:1,191:1,56:1,170:1,66:1,108:1,472:1,49:1,97:1,322:1,150:1,449:1,284:1,114:1,115:1,677:1},BI),s._g=function(e,t,i){var r,c;switch(e){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),this.Ab;case 1:return this.zb;case 2:return qn(),!!(this.Bb&256);case 3:return qn(),!!(this.Bb&512);case 4:return Q(this.s);case 5:return Q(this.t);case 6:return qn(),!!vY(this);case 7:return qn(),c=this.s,c>=1;case 8:return t?qs(this):this.r;case 9:return this.q;case 10:return qn(),!!(this.Bb&Eo);case 11:return qn(),!!(this.Bb&Bb);case 12:return qn(),!!(this.Bb&Ib);case 13:return this.j;case 14:return w4(this);case 15:return qn(),!!(this.Bb&mu);case 16:return qn(),!!(this.Bb&Nf);case 17:return eb(this);case 18:return qn(),!!(this.Bb&uc);case 19:return t?iF(this):ISn(this)}return Cs(this,e-ee((Sn(),hw)),On((r=u(Rn(this,16),26),r||hw),e),t,i)},s.lh=function(e){var t,i;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return vY(this);case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&Ad(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Ad(this.q).i==0);case 10:return(this.Bb&Eo)==0;case 11:return(this.Bb&Bb)!=0;case 12:return(this.Bb&Ib)!=0;case 13:return this.j!=null;case 14:return w4(this)!=null;case 15:return(this.Bb&mu)!=0;case 16:return(this.Bb&Nf)!=0;case 17:return!!eb(this);case 18:return(this.Bb&uc)!=0;case 19:return!!ISn(this)}return js(this,e-ee((Sn(),hw)),On((t=u(Rn(this,16),26),t||hw),e))},s.sh=function(e,t){var i,r;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab),!this.Ab&&(this.Ab=new V(Be,this,0,3)),Dt(this.Ab,u(t,14));return;case 1:f$(this,Te(t));return;case 2:g1(this,on(sn(t)));return;case 3:p1(this,on(sn(t)));return;case 4:d1(this,u(t,19).a);return;case 5:o8n(this,u(t,19).a);return;case 8:Ca(this,u(t,138));return;case 9:r=af(this,u(t,87),null),r&&r.Fi();return;case 10:Y3(this,on(sn(t)));return;case 11:e4(this,on(sn(t)));return;case 12:Z3(this,on(sn(t)));return;case 13:dz(this,Te(t));return;case 15:n4(this,on(sn(t)));return;case 16:t4(this,on(sn(t)));return;case 18:SF(this,on(sn(t)));return}Ps(this,e-ee((Sn(),hw)),On((i=u(Rn(this,16),26),i||hw),e),t)},s.zh=function(){return Sn(),hw},s.Bh=function(e){var t,i;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab);return;case 1:I(this.Cb,88)&&yb(Iu(u(this.Cb,88)),4),Ic(this,null);return;case 2:g1(this,!0);return;case 3:p1(this,!0);return;case 4:d1(this,0);return;case 5:this.b=0,hb(this,1);return;case 8:Ca(this,null);return;case 9:i=af(this,null,null),i&&i.Fi();return;case 10:Y3(this,!0);return;case 11:e4(this,!1);return;case 12:Z3(this,!1);return;case 13:this.i=null,nT(this,null);return;case 15:n4(this,!1);return;case 16:t4(this,!1);return;case 18:SF(this,!1);return}As(this,e-ee((Sn(),hw)),On((t=u(Rn(this,16),26),t||hw),e))},s.Gh=function(){iF(this),v3(jr((gu(),xi),this)),qs(this),this.Bb|=1},s.$j=function(){return vY(this)},s.nk=function(e,t){return this.b=0,this.a=null,lQ(this,e,t)},s.ok=function(e){o8n(this,e)},s.Ib=function(){var e;return this.Db&64?bM(this):(e=new Bs(bM(this)),e.a+=" (iD: ",r1(e,(this.Bb&uc)!=0),e.a+=")",e.a)},s.b=0,w(Bn,"EAttributeImpl",322),b(351,438,{105:1,92:1,90:1,138:1,147:1,191:1,56:1,108:1,49:1,97:1,351:1,150:1,114:1,115:1,676:1}),s.uk=function(e){return e.Tg()==this},s.Qg=function(e){return ox(this,e)},s.Rg=function(e,t){this.w=null,this.Db=t<<16|this.Db&255,this.Cb=e},s._g=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return Qd(this);case 4:return this.zj();case 5:return this.F;case 6:return t?ts(this):y3(this);case 7:return!this.A&&(this.A=new lu(zc,this,7)),this.A}return Cs(this,e-ee(this.zh()),On((r=u(Rn(this,16),26),r||this.zh()),e),t,i)},s.hh=function(e,t,i){var r,c,o;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),Oc(this.Ab,e,i);case 6:return this.Cb&&(i=(c=this.Db>>16,c>=0?ox(this,i):this.Cb.ih(this,-1-c,null,i))),ss(this,e,6,i)}return o=u(On((r=u(Rn(this,16),26),r||this.zh()),t),66),o.Nj().Qj(this,Rc(this),t-ee(this.zh()),e,i)},s.jh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),zi(this.Ab,e,i);case 6:return ss(this,null,6,i);case 7:return!this.A&&(this.A=new lu(zc,this,7)),zi(this.A,e,i)}return c=u(On((r=u(Rn(this,16),26),r||this.zh()),t),66),c.Nj().Rj(this,Rc(this),t-ee(this.zh()),e,i)},s.lh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!Qd(this);case 4:return this.zj()!=null;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!y3(this);case 7:return!!this.A&&this.A.i!=0}return js(this,e-ee(this.zh()),On((t=u(Rn(this,16),26),t||this.zh()),e))},s.sh=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab),!this.Ab&&(this.Ab=new V(Be,this,0,3)),Dt(this.Ab,u(t,14));return;case 1:bC(this,Te(t));return;case 2:BO(this,Te(t));return;case 5:y4(this,Te(t));return;case 7:!this.A&&(this.A=new lu(zc,this,7)),de(this.A),!this.A&&(this.A=new lu(zc,this,7)),Dt(this.A,u(t,14));return}Ps(this,e-ee(this.zh()),On((i=u(Rn(this,16),26),i||this.zh()),e),t)},s.zh=function(){return Sn(),Wne},s.Bh=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab);return;case 1:I(this.Cb,179)&&(u(this.Cb,179).tb=null),Ic(this,null);return;case 2:X3(this,null),L3(this,this.D);return;case 5:y4(this,null);return;case 7:!this.A&&(this.A=new lu(zc,this,7)),de(this.A);return}As(this,e-ee(this.zh()),On((t=u(Rn(this,16),26),t||this.zh()),e))},s.yj=function(){var e;return this.G==-1&&(this.G=(e=ts(this),e?v1(e.Mh(),this):-1)),this.G},s.zj=function(){return null},s.Aj=function(){return ts(this)},s.vk=function(){return this.v},s.Bj=function(){return Qd(this)},s.Cj=function(){return this.D!=null?this.D:this.B},s.Dj=function(){return this.F},s.wj=function(e){return nL(this,e)},s.wk=function(e){this.v=e},s.xk=function(e){uOn(this,e)},s.yk=function(e){this.C=e},s.Lh=function(e){bC(this,e)},s.Ib=function(){return MT(this)},s.C=null,s.D=null,s.G=-1,w(Bn,"EClassifierImpl",351),b(88,351,{105:1,92:1,90:1,26:1,138:1,147:1,191:1,56:1,108:1,49:1,97:1,88:1,351:1,150:1,473:1,114:1,115:1,676:1},tq),s.uk=function(e){return Oue(this,e.Tg())},s._g=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return Qd(this);case 4:return null;case 5:return this.F;case 6:return t?ts(this):y3(this);case 7:return!this.A&&(this.A=new lu(zc,this,7)),this.A;case 8:return qn(),!!(this.Bb&256);case 9:return qn(),!!(this.Bb&512);case 10:return Mr(this);case 11:return!this.q&&(this.q=new V(co,this,11,10)),this.q;case 12:return ig(this);case 13:return I6(this);case 14:return I6(this),this.r;case 15:return ig(this),this.k;case 16:return oY(this);case 17:return cL(this);case 18:return Lf(this);case 19:return sM(this);case 20:return ig(this),this.o;case 21:return!this.s&&(this.s=new V(su,this,21,17)),this.s;case 22:return bc(this);case 23:return Gx(this)}return Cs(this,e-ee((Sn(),Xl)),On((r=u(Rn(this,16),26),r||Xl),e),t,i)},s.hh=function(e,t,i){var r,c,o;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),Oc(this.Ab,e,i);case 6:return this.Cb&&(i=(c=this.Db>>16,c>=0?ox(this,i):this.Cb.ih(this,-1-c,null,i))),ss(this,e,6,i);case 11:return!this.q&&(this.q=new V(co,this,11,10)),Oc(this.q,e,i);case 21:return!this.s&&(this.s=new V(su,this,21,17)),Oc(this.s,e,i)}return o=u(On((r=u(Rn(this,16),26),r||(Sn(),Xl)),t),66),o.Nj().Qj(this,Rc(this),t-ee((Sn(),Xl)),e,i)},s.jh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),zi(this.Ab,e,i);case 6:return ss(this,null,6,i);case 7:return!this.A&&(this.A=new lu(zc,this,7)),zi(this.A,e,i);case 11:return!this.q&&(this.q=new V(co,this,11,10)),zi(this.q,e,i);case 21:return!this.s&&(this.s=new V(su,this,21,17)),zi(this.s,e,i);case 22:return zi(bc(this),e,i)}return c=u(On((r=u(Rn(this,16),26),r||(Sn(),Xl)),t),66),c.Nj().Rj(this,Rc(this),t-ee((Sn(),Xl)),e,i)},s.lh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!Qd(this);case 4:return!1;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!y3(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)!=0;case 9:return(this.Bb&512)!=0;case 10:return!!this.u&&bc(this.u.a).i!=0&&!(this.n&&JF(this.n));case 11:return!!this.q&&this.q.i!=0;case 12:return ig(this).i!=0;case 13:return I6(this).i!=0;case 14:return I6(this),this.r.i!=0;case 15:return ig(this),this.k.i!=0;case 16:return oY(this).i!=0;case 17:return cL(this).i!=0;case 18:return Lf(this).i!=0;case 19:return sM(this).i!=0;case 20:return ig(this),!!this.o;case 21:return!!this.s&&this.s.i!=0;case 22:return!!this.n&&JF(this.n);case 23:return Gx(this).i!=0}return js(this,e-ee((Sn(),Xl)),On((t=u(Rn(this,16),26),t||Xl),e))},s.oh=function(e){var t;return t=this.i==null||this.q&&this.q.i!=0?null:R7(this,e),t||RZ(this,e)},s.sh=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab),!this.Ab&&(this.Ab=new V(Be,this,0,3)),Dt(this.Ab,u(t,14));return;case 1:bC(this,Te(t));return;case 2:BO(this,Te(t));return;case 5:y4(this,Te(t));return;case 7:!this.A&&(this.A=new lu(zc,this,7)),de(this.A),!this.A&&(this.A=new lu(zc,this,7)),Dt(this.A,u(t,14));return;case 8:dQ(this,on(sn(t)));return;case 9:bQ(this,on(sn(t)));return;case 10:$6(Mr(this)),Dt(Mr(this),u(t,14));return;case 11:!this.q&&(this.q=new V(co,this,11,10)),de(this.q),!this.q&&(this.q=new V(co,this,11,10)),Dt(this.q,u(t,14));return;case 21:!this.s&&(this.s=new V(su,this,21,17)),de(this.s),!this.s&&(this.s=new V(su,this,21,17)),Dt(this.s,u(t,14));return;case 22:de(bc(this)),Dt(bc(this),u(t,14));return}Ps(this,e-ee((Sn(),Xl)),On((i=u(Rn(this,16),26),i||Xl),e),t)},s.zh=function(){return Sn(),Xl},s.Bh=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab);return;case 1:I(this.Cb,179)&&(u(this.Cb,179).tb=null),Ic(this,null);return;case 2:X3(this,null),L3(this,this.D);return;case 5:y4(this,null);return;case 7:!this.A&&(this.A=new lu(zc,this,7)),de(this.A);return;case 8:dQ(this,!1);return;case 9:bQ(this,!1);return;case 10:this.u&&$6(this.u);return;case 11:!this.q&&(this.q=new V(co,this,11,10)),de(this.q);return;case 21:!this.s&&(this.s=new V(su,this,21,17)),de(this.s);return;case 22:this.n&&de(this.n);return}As(this,e-ee((Sn(),Xl)),On((t=u(Rn(this,16),26),t||Xl),e))},s.Gh=function(){var e,t;if(ig(this),I6(this),oY(this),cL(this),Lf(this),sM(this),Gx(this),U5(Xoe(Iu(this))),this.s)for(e=0,t=this.s.i;e=0;--t)D(this,t);return LQ(this,e)},s.Xj=function(){de(this)},s.oi=function(e,t){return PIn(this,e,t)},w(vt,"EcoreEList",622),b(496,622,Nr,v8),s.ai=function(){return!1},s.aj=function(){return this.c},s.bj=function(){return!1},s.Fk=function(){return!0},s.hi=function(){return!0},s.li=function(e,t){return t},s.ni=function(){return!1},s.c=0,w(vt,"EObjectEList",496),b(85,496,Nr,Jt),s.bj=function(){return!0},s.Dk=function(){return!1},s.rk=function(){return!0},w(vt,"EObjectContainmentEList",85),b(545,85,Nr,hE),s.ci=function(){this.b=!0},s.fj=function(){return this.b},s.Xj=function(){var e;de(this),Hu(this.e)?(e=this.b,this.b=!1,et(this.e,new vo(this.e,2,this.c,e,!1))):this.b=!1},s.b=!1,w(vt,"EObjectContainmentEList/Unsettable",545),b(1140,545,Nr,wCn),s.ii=function(e,t){var i,r;return i=u(o6(this,e,t),87),Hu(this.e)&&Gp(this,new R8(this.a,7,(Sn(),Xne),Q(t),(r=i.c,I(r,88)?u(r,26):so),e)),i},s.jj=function(e,t){return L2e(this,u(e,87),t)},s.kj=function(e,t){return x2e(this,u(e,87),t)},s.lj=function(e,t,i){return N4e(this,u(e,87),u(t,87),i)},s.Zi=function(e,t,i,r,c){switch(e){case 3:return _5(this,e,t,i,r,this.i>1);case 5:return _5(this,e,t,i,r,this.i-u(i,15).gc()>0);default:return new Lh(this.e,e,this.c,t,i,r,!0)}},s.ij=function(){return!0},s.fj=function(){return JF(this)},s.Xj=function(){de(this)},w(Bn,"EClassImpl/1",1140),b(1154,1153,Wtn),s.ui=function(e){var t,i,r,c,o,f,h;if(i=e.xi(),i!=8){if(r=mpe(e),r==0)switch(i){case 1:case 9:{h=e.Bi(),h!=null&&(t=Iu(u(h,473)),!t.c&&(t.c=new Bp),BC(t.c,e.Ai())),f=e.zi(),f!=null&&(c=u(f,473),c.Bb&1||(t=Iu(c),!t.c&&(t.c=new Bp),me(t.c,u(e.Ai(),26))));break}case 3:{f=e.zi(),f!=null&&(c=u(f,473),c.Bb&1||(t=Iu(c),!t.c&&(t.c=new Bp),me(t.c,u(e.Ai(),26))));break}case 5:{if(f=e.zi(),f!=null)for(o=u(f,14).Kc();o.Ob();)c=u(o.Pb(),473),c.Bb&1||(t=Iu(c),!t.c&&(t.c=new Bp),me(t.c,u(e.Ai(),26)));break}case 4:{h=e.Bi(),h!=null&&(c=u(h,473),c.Bb&1||(t=Iu(c),!t.c&&(t.c=new Bp),BC(t.c,e.Ai())));break}case 6:{if(h=e.Bi(),h!=null)for(o=u(h,14).Kc();o.Ob();)c=u(o.Pb(),473),c.Bb&1||(t=Iu(c),!t.c&&(t.c=new Bp),BC(t.c,e.Ai()));break}}this.Hk(r)}},s.Hk=function(e){bBn(this,e)},s.b=63,w(Bn,"ESuperAdapter",1154),b(1155,1154,Wtn,Amn),s.Hk=function(e){yb(this,e)},w(Bn,"EClassImpl/10",1155),b(1144,696,Nr),s.Vh=function(e,t){return mx(this,e,t)},s.Wh=function(e){return hFn(this,e)},s.Xh=function(e,t){a7(this,e,t)},s.Yh=function(e){F8(this,e)},s.pi=function(e){return zX(this,e)},s.mi=function(e,t){return B$(this,e,t)},s.lk=function(e,t){throw T(new ye)},s.Zh=function(){return new w2(this)},s.$h=function(){return new u8(this)},s._h=function(e){return J8(this,e)},s.mk=function(e,t){throw T(new ye)},s.Wj=function(e){return this},s.fj=function(){return this.i!=0},s.Wb=function(e){throw T(new ye)},s.Xj=function(){throw T(new ye)},w(vt,"EcoreEList/UnmodifiableEList",1144),b(319,1144,Nr,Ew),s.ni=function(){return!1},w(vt,"EcoreEList/UnmodifiableEList/FastCompare",319),b(1147,319,Nr,YOn),s.Xc=function(e){var t,i,r;if(I(e,170)&&(t=u(e,170),i=t.aj(),i!=-1)){for(r=this.i;i4)if(this.wj(e)){if(this.rk()){if(r=u(e,49),i=r.Ug(),h=i==this.b&&(this.Dk()?r.Og(r.Vg(),u(On(Vc(this.b),this.aj()).Yj(),26).Bj())==ir(u(On(Vc(this.b),this.aj()),18)).n:-1-r.Vg()==this.aj()),this.Ek()&&!h&&!i&&r.Zg()){for(c=0;c1||r==-1)):!1},s.Dk=function(){var e,t,i;return t=On(Vc(this.b),this.aj()),I(t,99)?(e=u(t,18),i=ir(e),!!i):!1},s.Ek=function(){var e,t;return t=On(Vc(this.b),this.aj()),I(t,99)?(e=u(t,18),(e.Bb&Yi)!=0):!1},s.Xc=function(e){var t,i,r,c;if(r=this.Qi(e),r>=0)return r;if(this.Fk()){for(i=0,c=this.Vi();i=0;--e)X7(this,e,this.Oi(e));return this.Wi()},s.Qc=function(e){var t;if(this.Ek())for(t=this.Vi()-1;t>=0;--t)X7(this,t,this.Oi(t));return this.Xi(e)},s.Xj=function(){$6(this)},s.oi=function(e,t){return dPn(this,e,t)},w(vt,"DelegatingEcoreEList",742),b(1150,742,Jtn,Ijn),s.Hi=function(e,t){cue(this,e,u(t,26))},s.Ii=function(e){Zre(this,u(e,26))},s.Oi=function(e){var t,i;return t=u(D(bc(this.a),e),87),i=t.c,I(i,88)?u(i,26):(Sn(),so)},s.Ti=function(e){var t,i;return t=u(Eb(bc(this.a),e),87),i=t.c,I(i,88)?u(i,26):(Sn(),so)},s.Ui=function(e,t){return u3e(this,e,u(t,26))},s.ai=function(){return!1},s.Zi=function(e,t,i,r,c){return null},s.Ji=function(){return new Pmn(this)},s.Ki=function(){de(bc(this.a))},s.Li=function(e){return qDn(this,e)},s.Mi=function(e){var t,i;for(i=e.Kc();i.Ob();)if(t=i.Pb(),!qDn(this,t))return!1;return!0},s.Ni=function(e){var t,i,r;if(I(e,15)&&(r=u(e,15),r.gc()==bc(this.a).i)){for(t=r.Kc(),i=new ie(this);t.Ob();)if(B(t.Pb())!==B(oe(i)))return!1;return!0}return!1},s.Pi=function(){var e,t,i,r,c;for(i=1,t=new ie(bc(this.a));t.e!=t.i.gc();)e=u(oe(t),87),r=(c=e.c,I(c,88)?u(c,26):(Sn(),so)),i=31*i+(r?md(r):0);return i},s.Qi=function(e){var t,i,r,c;for(r=0,i=new ie(bc(this.a));i.e!=i.i.gc();){if(t=u(oe(i),87),B(e)===B((c=t.c,I(c,88)?u(c,26):(Sn(),so))))return r;++r}return-1},s.Ri=function(){return bc(this.a).i==0},s.Si=function(){return null},s.Vi=function(){return bc(this.a).i},s.Wi=function(){var e,t,i,r,c,o;for(o=bc(this.a).i,c=F(Zn,rn,1,o,5,1),i=0,t=new ie(bc(this.a));t.e!=t.i.gc();)e=u(oe(t),87),c[i++]=(r=e.c,I(r,88)?u(r,26):(Sn(),so));return c},s.Xi=function(e){var t,i,r,c,o,f,h;for(h=bc(this.a).i,e.lengthh&&Mt(e,h,null),r=0,i=new ie(bc(this.a));i.e!=i.i.gc();)t=u(oe(i),87),o=(f=t.c,I(f,88)?u(f,26):(Sn(),so)),Mt(e,r++,o);return e},s.Yi=function(){var e,t,i,r,c;for(c=new i1,c.a+="[",e=bc(this.a),t=0,r=bc(this.a).i;t>16,c>=0?ox(this,i):this.Cb.ih(this,-1-c,null,i))),ss(this,e,6,i);case 9:return!this.a&&(this.a=new V(e1,this,9,5)),Oc(this.a,e,i)}return o=u(On((r=u(Rn(this,16),26),r||(Sn(),Vl)),t),66),o.Nj().Qj(this,Rc(this),t-ee((Sn(),Vl)),e,i)},s.jh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),zi(this.Ab,e,i);case 6:return ss(this,null,6,i);case 7:return!this.A&&(this.A=new lu(zc,this,7)),zi(this.A,e,i);case 9:return!this.a&&(this.a=new V(e1,this,9,5)),zi(this.a,e,i)}return c=u(On((r=u(Rn(this,16),26),r||(Sn(),Vl)),t),66),c.Nj().Rj(this,Rc(this),t-ee((Sn(),Vl)),e,i)},s.lh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!Qd(this);case 4:return!!ZV(this);case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!y3(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)==0;case 9:return!!this.a&&this.a.i!=0}return js(this,e-ee((Sn(),Vl)),On((t=u(Rn(this,16),26),t||Vl),e))},s.sh=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab),!this.Ab&&(this.Ab=new V(Be,this,0,3)),Dt(this.Ab,u(t,14));return;case 1:bC(this,Te(t));return;case 2:BO(this,Te(t));return;case 5:y4(this,Te(t));return;case 7:!this.A&&(this.A=new lu(zc,this,7)),de(this.A),!this.A&&(this.A=new lu(zc,this,7)),Dt(this.A,u(t,14));return;case 8:kT(this,on(sn(t)));return;case 9:!this.a&&(this.a=new V(e1,this,9,5)),de(this.a),!this.a&&(this.a=new V(e1,this,9,5)),Dt(this.a,u(t,14));return}Ps(this,e-ee((Sn(),Vl)),On((i=u(Rn(this,16),26),i||Vl),e),t)},s.zh=function(){return Sn(),Vl},s.Bh=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab);return;case 1:I(this.Cb,179)&&(u(this.Cb,179).tb=null),Ic(this,null);return;case 2:X3(this,null),L3(this,this.D);return;case 5:y4(this,null);return;case 7:!this.A&&(this.A=new lu(zc,this,7)),de(this.A);return;case 8:kT(this,!0);return;case 9:!this.a&&(this.a=new V(e1,this,9,5)),de(this.a);return}As(this,e-ee((Sn(),Vl)),On((t=u(Rn(this,16),26),t||Vl),e))},s.Gh=function(){var e,t;if(this.a)for(e=0,t=this.a.i;e>16==5?u(this.Cb,671):null}return Cs(this,e-ee((Sn(),L1)),On((r=u(Rn(this,16),26),r||L1),e),t,i)},s.hh=function(e,t,i){var r,c,o;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),Oc(this.Ab,e,i);case 5:return this.Cb&&(i=(c=this.Db>>16,c>=0?xFn(this,i):this.Cb.ih(this,-1-c,null,i))),ss(this,e,5,i)}return o=u(On((r=u(Rn(this,16),26),r||(Sn(),L1)),t),66),o.Nj().Qj(this,Rc(this),t-ee((Sn(),L1)),e,i)},s.jh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),zi(this.Ab,e,i);case 5:return ss(this,null,5,i)}return c=u(On((r=u(Rn(this,16),26),r||(Sn(),L1)),t),66),c.Nj().Rj(this,Rc(this),t-ee((Sn(),L1)),e,i)},s.lh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.d!=0;case 3:return!!this.b;case 4:return this.c!=null;case 5:return!!(this.Db>>16==5&&u(this.Cb,671))}return js(this,e-ee((Sn(),L1)),On((t=u(Rn(this,16),26),t||L1),e))},s.sh=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab),!this.Ab&&(this.Ab=new V(Be,this,0,3)),Dt(this.Ab,u(t,14));return;case 1:Ic(this,Te(t));return;case 2:G$(this,u(t,19).a);return;case 3:ILn(this,u(t,1940));return;case 4:U$(this,Te(t));return}Ps(this,e-ee((Sn(),L1)),On((i=u(Rn(this,16),26),i||L1),e),t)},s.zh=function(){return Sn(),L1},s.Bh=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab);return;case 1:Ic(this,null);return;case 2:G$(this,0);return;case 3:ILn(this,null);return;case 4:U$(this,null);return}As(this,e-ee((Sn(),L1)),On((t=u(Rn(this,16),26),t||L1),e))},s.Ib=function(){var e;return e=this.c,e??this.zb},s.b=null,s.c=null,s.d=0,w(Bn,"EEnumLiteralImpl",573);var lMe=Et(Bn,"EFactoryImpl/InternalEDateTimeFormat");b(489,1,{2015:1},D9),w(Bn,"EFactoryImpl/1ClientInternalEDateTimeFormat",489),b(241,115,{105:1,92:1,90:1,87:1,56:1,108:1,49:1,97:1,241:1,114:1,115:1},ud),s.Sg=function(e,t,i){var r;return i=ss(this,e,t,i),this.e&&I(e,170)&&(r=uM(this,this.e),r!=this.c&&(i=j4(this,r,i))),i},s._g=function(e,t,i){var r;switch(e){case 0:return this.f;case 1:return!this.d&&(this.d=new Jt(ar,this,1)),this.d;case 2:return t?pM(this):this.c;case 3:return this.b;case 4:return this.e;case 5:return t?nx(this):this.a}return Cs(this,e-ee((Sn(),I0)),On((r=u(Rn(this,16),26),r||I0),e),t,i)},s.jh=function(e,t,i){var r,c;switch(t){case 0:return $Dn(this,null,i);case 1:return!this.d&&(this.d=new Jt(ar,this,1)),zi(this.d,e,i);case 3:return DDn(this,null,i)}return c=u(On((r=u(Rn(this,16),26),r||(Sn(),I0)),t),66),c.Nj().Rj(this,Rc(this),t-ee((Sn(),I0)),e,i)},s.lh=function(e){var t;switch(e){case 0:return!!this.f;case 1:return!!this.d&&this.d.i!=0;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return js(this,e-ee((Sn(),I0)),On((t=u(Rn(this,16),26),t||I0),e))},s.sh=function(e,t){var i;switch(e){case 0:ZFn(this,u(t,87));return;case 1:!this.d&&(this.d=new Jt(ar,this,1)),de(this.d),!this.d&&(this.d=new Jt(ar,this,1)),Dt(this.d,u(t,14));return;case 3:DJ(this,u(t,87));return;case 4:VJ(this,u(t,836));return;case 5:O3(this,u(t,138));return}Ps(this,e-ee((Sn(),I0)),On((i=u(Rn(this,16),26),i||I0),e),t)},s.zh=function(){return Sn(),I0},s.Bh=function(e){var t;switch(e){case 0:ZFn(this,null);return;case 1:!this.d&&(this.d=new Jt(ar,this,1)),de(this.d);return;case 3:DJ(this,null);return;case 4:VJ(this,null);return;case 5:O3(this,null);return}As(this,e-ee((Sn(),I0)),On((t=u(Rn(this,16),26),t||I0),e))},s.Ib=function(){var e;return e=new Ju(yo(this)),e.a+=" (expression: ",fL(this,e),e.a+=")",e.a};var p1n;w(Bn,"EGenericTypeImpl",241),b(1969,1964,CA),s.Xh=function(e,t){Ajn(this,e,t)},s.lk=function(e,t){return Ajn(this,this.gc(),e),t},s.pi=function(e){return qo(this.Gi(),e)},s.Zh=function(){return this.$h()},s.Gi=function(){return new $mn(this)},s.$h=function(){return this._h(0)},s._h=function(e){return this.Gi().Zc(e)},s.mk=function(e,t){return db(this,e,!0),t},s.ii=function(e,t){var i,r;return r=hx(this,t),i=this.Zc(e),i.Rb(r),r},s.ji=function(e,t){var i;db(this,t,!0),i=this.Zc(e),i.Rb(t)},w(vt,"AbstractSequentialInternalEList",1969),b(486,1969,CA,c8),s.pi=function(e){return qo(this.Gi(),e)},s.Zh=function(){return this.b==null?(c1(),c1(),Ly):this.Jk()},s.Gi=function(){return new Ykn(this.a,this.b)},s.$h=function(){return this.b==null?(c1(),c1(),Ly):this.Jk()},s._h=function(e){var t,i;if(this.b==null){if(e<0||e>1)throw T(new vr(rm+e+", size=0"));return c1(),c1(),Ly}for(i=this.Jk(),t=0;t0;)if(t=this.c[--this.d],(!this.e||t.Gj()!=Av||t.aj()!=0)&&(!this.Mk()||this.b.mh(t))){if(o=this.b.bh(t,this.Lk()),this.f=(er(),u(t,66).Oj()),this.f||t.$j()){if(this.Lk()?(r=u(o,15),this.k=r):(r=u(o,69),this.k=this.j=r),I(this.k,54)?(this.o=this.k.gc(),this.n=this.o):this.p=this.j?this.j._h(this.k.gc()):this.k.Zc(this.k.gc()),this.p?zxn(this,this.p):iLn(this))return c=this.p?this.p.Ub():this.j?this.j.pi(--this.n):this.k.Xb(--this.n),this.f?(e=u(c,72),e.ak(),i=e.dd(),this.i=i):(i=c,this.i=i),this.g=-3,!0}else if(o!=null)return this.k=null,this.p=null,i=o,this.i=i,this.g=-2,!0}return this.k=null,this.p=null,this.g=-1,!1}else return c=this.p?this.p.Ub():this.j?this.j.pi(--this.n):this.k.Xb(--this.n),this.f?(e=u(c,72),e.ak(),i=e.dd(),this.i=i):(i=c,this.i=i),this.g=-3,!0}},s.Pb=function(){return hT(this)},s.Tb=function(){return this.a},s.Ub=function(){var e;if(this.g<-1||this.Sb())return--this.a,this.g=0,e=this.i,this.Sb(),e;throw T(new ic)},s.Vb=function(){return this.a-1},s.Qb=function(){throw T(new ye)},s.Lk=function(){return!1},s.Wb=function(e){throw T(new ye)},s.Mk=function(){return!0},s.a=0,s.d=0,s.f=!1,s.g=0,s.n=0,s.o=0;var Ly;w(vt,"EContentsEList/FeatureIteratorImpl",279),b(697,279,TA,nU),s.Lk=function(){return!0},w(vt,"EContentsEList/ResolvingFeatureIteratorImpl",697),b(1157,697,TA,wjn),s.Mk=function(){return!1},w(Bn,"ENamedElementImpl/1/1",1157),b(1158,279,TA,bjn),s.Mk=function(){return!1},w(Bn,"ENamedElementImpl/1/2",1158),b(36,143,jk,rb,p$,wi,D$,Lh,vo,rV,qMn,cV,GMn,PX,zMn,oV,UMn,IX,WMn,uV,XMn,$5,R8,VD,sV,VMn,OX,QMn),s._i=function(){return HX(this)},s.gj=function(){var e;return e=HX(this),e?e.zj():null},s.yi=function(e){return this.b==-1&&this.a&&(this.b=this.c.Xg(this.a.aj(),this.a.Gj())),this.c.Og(this.b,e)},s.Ai=function(){return this.c},s.hj=function(){var e;return e=HX(this),e?e.Kj():!1},s.b=-1,w(Bn,"ENotificationImpl",36),b(399,284,{105:1,92:1,90:1,147:1,191:1,56:1,59:1,108:1,472:1,49:1,97:1,150:1,399:1,284:1,114:1,115:1},RI),s.Qg=function(e){return BFn(this,e)},s._g=function(e,t,i){var r,c,o;switch(e){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),this.Ab;case 1:return this.zb;case 2:return qn(),!!(this.Bb&256);case 3:return qn(),!!(this.Bb&512);case 4:return Q(this.s);case 5:return Q(this.t);case 6:return qn(),o=this.t,o>1||o==-1;case 7:return qn(),c=this.s,c>=1;case 8:return t?qs(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?u(this.Cb,26):null;case 11:return!this.d&&(this.d=new lu(zc,this,11)),this.d;case 12:return!this.c&&(this.c=new V(P0,this,12,10)),this.c;case 13:return!this.a&&(this.a=new l8(this,this)),this.a;case 14:return Ou(this)}return Cs(this,e-ee((Sn(),N1)),On((r=u(Rn(this,16),26),r||N1),e),t,i)},s.hh=function(e,t,i){var r,c,o;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),Oc(this.Ab,e,i);case 10:return this.Cb&&(i=(c=this.Db>>16,c>=0?BFn(this,i):this.Cb.ih(this,-1-c,null,i))),ss(this,e,10,i);case 12:return!this.c&&(this.c=new V(P0,this,12,10)),Oc(this.c,e,i)}return o=u(On((r=u(Rn(this,16),26),r||(Sn(),N1)),t),66),o.Nj().Qj(this,Rc(this),t-ee((Sn(),N1)),e,i)},s.jh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),zi(this.Ab,e,i);case 9:return xD(this,i);case 10:return ss(this,null,10,i);case 11:return!this.d&&(this.d=new lu(zc,this,11)),zi(this.d,e,i);case 12:return!this.c&&(this.c=new V(P0,this,12,10)),zi(this.c,e,i);case 14:return zi(Ou(this),e,i)}return c=u(On((r=u(Rn(this,16),26),r||(Sn(),N1)),t),66),c.Nj().Rj(this,Rc(this),t-ee((Sn(),N1)),e,i)},s.lh=function(e){var t,i,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return r=this.t,r>1||r==-1;case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&Ad(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Ad(this.q).i==0);case 10:return!!(this.Db>>16==10&&u(this.Cb,26));case 11:return!!this.d&&this.d.i!=0;case 12:return!!this.c&&this.c.i!=0;case 13:return!!this.a&&Ou(this.a.a).i!=0&&!(this.b&&YF(this.b));case 14:return!!this.b&&YF(this.b)}return js(this,e-ee((Sn(),N1)),On((t=u(Rn(this,16),26),t||N1),e))},s.sh=function(e,t){var i,r;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab),!this.Ab&&(this.Ab=new V(Be,this,0,3)),Dt(this.Ab,u(t,14));return;case 1:Ic(this,Te(t));return;case 2:g1(this,on(sn(t)));return;case 3:p1(this,on(sn(t)));return;case 4:d1(this,u(t,19).a);return;case 5:hb(this,u(t,19).a);return;case 8:Ca(this,u(t,138));return;case 9:r=af(this,u(t,87),null),r&&r.Fi();return;case 11:!this.d&&(this.d=new lu(zc,this,11)),de(this.d),!this.d&&(this.d=new lu(zc,this,11)),Dt(this.d,u(t,14));return;case 12:!this.c&&(this.c=new V(P0,this,12,10)),de(this.c),!this.c&&(this.c=new V(P0,this,12,10)),Dt(this.c,u(t,14));return;case 13:!this.a&&(this.a=new l8(this,this)),$6(this.a),!this.a&&(this.a=new l8(this,this)),Dt(this.a,u(t,14));return;case 14:de(Ou(this)),Dt(Ou(this),u(t,14));return}Ps(this,e-ee((Sn(),N1)),On((i=u(Rn(this,16),26),i||N1),e),t)},s.zh=function(){return Sn(),N1},s.Bh=function(e){var t,i;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab);return;case 1:Ic(this,null);return;case 2:g1(this,!0);return;case 3:p1(this,!0);return;case 4:d1(this,0);return;case 5:hb(this,1);return;case 8:Ca(this,null);return;case 9:i=af(this,null,null),i&&i.Fi();return;case 11:!this.d&&(this.d=new lu(zc,this,11)),de(this.d);return;case 12:!this.c&&(this.c=new V(P0,this,12,10)),de(this.c);return;case 13:this.a&&$6(this.a);return;case 14:this.b&&de(this.b);return}As(this,e-ee((Sn(),N1)),On((t=u(Rn(this,16),26),t||N1),e))},s.Gh=function(){var e,t;if(this.c)for(e=0,t=this.c.i;eh&&Mt(e,h,null),r=0,i=new ie(Ou(this.a));i.e!=i.i.gc();)t=u(oe(i),87),o=(f=t.c,f||(Sn(),Cf)),Mt(e,r++,o);return e},s.Yi=function(){var e,t,i,r,c;for(c=new i1,c.a+="[",e=Ou(this.a),t=0,r=Ou(this.a).i;t1);case 5:return _5(this,e,t,i,r,this.i-u(i,15).gc()>0);default:return new Lh(this.e,e,this.c,t,i,r,!0)}},s.ij=function(){return!0},s.fj=function(){return YF(this)},s.Xj=function(){de(this)},w(Bn,"EOperationImpl/2",1341),b(498,1,{1938:1,498:1},Dkn),w(Bn,"EPackageImpl/1",498),b(16,85,Nr,V),s.zk=function(){return this.d},s.Ak=function(){return this.b},s.Dk=function(){return!0},s.b=0,w(vt,"EObjectContainmentWithInverseEList",16),b(353,16,Nr,g2),s.Ek=function(){return!0},s.li=function(e,t){return U2(this,e,u(t,56))},w(vt,"EObjectContainmentWithInverseEList/Resolving",353),b(298,353,Nr,Y0),s.ci=function(){this.a.tb=null},w(Bn,"EPackageImpl/2",298),b(1228,1,{},Jee),w(Bn,"EPackageImpl/3",1228),b(718,43,sg,tG),s._b=function(e){return mi(e)?QD(this,e):!!Ar(this.f,e)},w(Bn,"EPackageRegistryImpl",718),b(509,284,{105:1,92:1,90:1,147:1,191:1,56:1,2017:1,108:1,472:1,49:1,97:1,150:1,509:1,284:1,114:1,115:1},_I),s.Qg=function(e){return RFn(this,e)},s._g=function(e,t,i){var r,c,o;switch(e){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),this.Ab;case 1:return this.zb;case 2:return qn(),!!(this.Bb&256);case 3:return qn(),!!(this.Bb&512);case 4:return Q(this.s);case 5:return Q(this.t);case 6:return qn(),o=this.t,o>1||o==-1;case 7:return qn(),c=this.s,c>=1;case 8:return t?qs(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?u(this.Cb,59):null}return Cs(this,e-ee((Sn(),lw)),On((r=u(Rn(this,16),26),r||lw),e),t,i)},s.hh=function(e,t,i){var r,c,o;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),Oc(this.Ab,e,i);case 10:return this.Cb&&(i=(c=this.Db>>16,c>=0?RFn(this,i):this.Cb.ih(this,-1-c,null,i))),ss(this,e,10,i)}return o=u(On((r=u(Rn(this,16),26),r||(Sn(),lw)),t),66),o.Nj().Qj(this,Rc(this),t-ee((Sn(),lw)),e,i)},s.jh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),zi(this.Ab,e,i);case 9:return xD(this,i);case 10:return ss(this,null,10,i)}return c=u(On((r=u(Rn(this,16),26),r||(Sn(),lw)),t),66),c.Nj().Rj(this,Rc(this),t-ee((Sn(),lw)),e,i)},s.lh=function(e){var t,i,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return r=this.t,r>1||r==-1;case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&Ad(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Ad(this.q).i==0);case 10:return!!(this.Db>>16==10&&u(this.Cb,59))}return js(this,e-ee((Sn(),lw)),On((t=u(Rn(this,16),26),t||lw),e))},s.zh=function(){return Sn(),lw},w(Bn,"EParameterImpl",509),b(99,449,{105:1,92:1,90:1,147:1,191:1,56:1,18:1,170:1,66:1,108:1,472:1,49:1,97:1,150:1,99:1,449:1,284:1,114:1,115:1,677:1},cU),s._g=function(e,t,i){var r,c,o,f;switch(e){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),this.Ab;case 1:return this.zb;case 2:return qn(),!!(this.Bb&256);case 3:return qn(),!!(this.Bb&512);case 4:return Q(this.s);case 5:return Q(this.t);case 6:return qn(),f=this.t,f>1||f==-1;case 7:return qn(),c=this.s,c>=1;case 8:return t?qs(this):this.r;case 9:return this.q;case 10:return qn(),!!(this.Bb&Eo);case 11:return qn(),!!(this.Bb&Bb);case 12:return qn(),!!(this.Bb&Ib);case 13:return this.j;case 14:return w4(this);case 15:return qn(),!!(this.Bb&mu);case 16:return qn(),!!(this.Bb&Nf);case 17:return eb(this);case 18:return qn(),!!(this.Bb&uc);case 19:return qn(),o=ir(this),!!(o&&o.Bb&uc);case 20:return qn(),!!(this.Bb&Yi);case 21:return t?ir(this):this.b;case 22:return t?HV(this):vSn(this);case 23:return!this.a&&(this.a=new Aw(ow,this,23)),this.a}return Cs(this,e-ee((Sn(),qg)),On((r=u(Rn(this,16),26),r||qg),e),t,i)},s.lh=function(e){var t,i,r,c;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return c=this.t,c>1||c==-1;case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&Ad(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Ad(this.q).i==0);case 10:return(this.Bb&Eo)==0;case 11:return(this.Bb&Bb)!=0;case 12:return(this.Bb&Ib)!=0;case 13:return this.j!=null;case 14:return w4(this)!=null;case 15:return(this.Bb&mu)!=0;case 16:return(this.Bb&Nf)!=0;case 17:return!!eb(this);case 18:return(this.Bb&uc)!=0;case 19:return r=ir(this),!!r&&(r.Bb&uc)!=0;case 20:return(this.Bb&Yi)==0;case 21:return!!this.b;case 22:return!!vSn(this);case 23:return!!this.a&&this.a.i!=0}return js(this,e-ee((Sn(),qg)),On((t=u(Rn(this,16),26),t||qg),e))},s.sh=function(e,t){var i,r;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab),!this.Ab&&(this.Ab=new V(Be,this,0,3)),Dt(this.Ab,u(t,14));return;case 1:f$(this,Te(t));return;case 2:g1(this,on(sn(t)));return;case 3:p1(this,on(sn(t)));return;case 4:d1(this,u(t,19).a);return;case 5:hb(this,u(t,19).a);return;case 8:Ca(this,u(t,138));return;case 9:r=af(this,u(t,87),null),r&&r.Fi();return;case 10:Y3(this,on(sn(t)));return;case 11:e4(this,on(sn(t)));return;case 12:Z3(this,on(sn(t)));return;case 13:dz(this,Te(t));return;case 15:n4(this,on(sn(t)));return;case 16:t4(this,on(sn(t)));return;case 18:lle(this,on(sn(t)));return;case 20:mQ(this,on(sn(t)));return;case 21:vV(this,u(t,18));return;case 23:!this.a&&(this.a=new Aw(ow,this,23)),de(this.a),!this.a&&(this.a=new Aw(ow,this,23)),Dt(this.a,u(t,14));return}Ps(this,e-ee((Sn(),qg)),On((i=u(Rn(this,16),26),i||qg),e),t)},s.zh=function(){return Sn(),qg},s.Bh=function(e){var t,i;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab);return;case 1:I(this.Cb,88)&&yb(Iu(u(this.Cb,88)),4),Ic(this,null);return;case 2:g1(this,!0);return;case 3:p1(this,!0);return;case 4:d1(this,0);return;case 5:hb(this,1);return;case 8:Ca(this,null);return;case 9:i=af(this,null,null),i&&i.Fi();return;case 10:Y3(this,!0);return;case 11:e4(this,!1);return;case 12:Z3(this,!1);return;case 13:this.i=null,nT(this,null);return;case 15:n4(this,!1);return;case 16:t4(this,!1);return;case 18:vQ(this,!1),I(this.Cb,88)&&yb(Iu(u(this.Cb,88)),2);return;case 20:mQ(this,!0);return;case 21:vV(this,null);return;case 23:!this.a&&(this.a=new Aw(ow,this,23)),de(this.a);return}As(this,e-ee((Sn(),qg)),On((t=u(Rn(this,16),26),t||qg),e))},s.Gh=function(){HV(this),v3(jr((gu(),xi),this)),qs(this),this.Bb|=1},s.Lj=function(){return ir(this)},s.qk=function(){var e;return e=ir(this),!!e&&(e.Bb&uc)!=0},s.rk=function(){return(this.Bb&uc)!=0},s.sk=function(){return(this.Bb&Yi)!=0},s.nk=function(e,t){return this.c=null,lQ(this,e,t)},s.Ib=function(){var e;return this.Db&64?bM(this):(e=new Bs(bM(this)),e.a+=" (containment: ",r1(e,(this.Bb&uc)!=0),e.a+=", resolveProxies: ",r1(e,(this.Bb&Yi)!=0),e.a+=")",e.a)},w(Bn,"EReferenceImpl",99),b(548,115,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1,548:1,114:1,115:1},epn),s.Fb=function(e){return this===e},s.cd=function(){return this.b},s.dd=function(){return this.c},s.Hb=function(){return md(this)},s.Uh=function(e){gfe(this,Te(e))},s.ed=function(e){return rfe(this,Te(e))},s._g=function(e,t,i){var r;switch(e){case 0:return this.b;case 1:return this.c}return Cs(this,e-ee((Sn(),nr)),On((r=u(Rn(this,16),26),r||nr),e),t,i)},s.lh=function(e){var t;switch(e){case 0:return this.b!=null;case 1:return this.c!=null}return js(this,e-ee((Sn(),nr)),On((t=u(Rn(this,16),26),t||nr),e))},s.sh=function(e,t){var i;switch(e){case 0:pfe(this,Te(t));return;case 1:wV(this,Te(t));return}Ps(this,e-ee((Sn(),nr)),On((i=u(Rn(this,16),26),i||nr),e),t)},s.zh=function(){return Sn(),nr},s.Bh=function(e){var t;switch(e){case 0:bV(this,null);return;case 1:wV(this,null);return}As(this,e-ee((Sn(),nr)),On((t=u(Rn(this,16),26),t||nr),e))},s.Sh=function(){var e;return this.a==-1&&(e=this.b,this.a=e==null?0:m1(e)),this.a},s.Th=function(e){this.a=e},s.Ib=function(){var e;return this.Db&64?yo(this):(e=new Bs(yo(this)),e.a+=" (key: ",dr(e,this.b),e.a+=", value: ",dr(e,this.c),e.a+=")",e.a)},s.a=-1,s.b=null,s.c=null;var tc=w(Bn,"EStringToStringMapEntryImpl",548),ree=Et(vt,"FeatureMap/Entry/Internal");b(565,1,MA),s.Ok=function(e){return this.Pk(u(e,49))},s.Pk=function(e){return this.Ok(e)},s.Fb=function(e){var t,i;return this===e?!0:I(e,72)?(t=u(e,72),t.ak()==this.c?(i=this.dd(),i==null?t.dd()==null:tt(i,t.dd())):!1):!1},s.ak=function(){return this.c},s.Hb=function(){var e;return e=this.dd(),mt(this.c)^(e==null?0:mt(e))},s.Ib=function(){var e,t;return e=this.c,t=ts(e.Hj()).Ph(),e.ne(),(t!=null&&t.length!=0?t+":"+e.ne():e.ne())+"="+this.dd()},w(Bn,"EStructuralFeatureImpl/BasicFeatureMapEntry",565),b(776,565,MA,bU),s.Pk=function(e){return new bU(this.c,e)},s.dd=function(){return this.a},s.Qk=function(e,t,i){return $be(this,e,this.a,t,i)},s.Rk=function(e,t,i){return Fbe(this,e,this.a,t,i)},w(Bn,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",776),b(1314,1,{},$kn),s.Pj=function(e,t,i,r,c){var o;return o=u(A3(e,this.b),215),o.nl(this.a).Wj(r)},s.Qj=function(e,t,i,r,c){var o;return o=u(A3(e,this.b),215),o.el(this.a,r,c)},s.Rj=function(e,t,i,r,c){var o;return o=u(A3(e,this.b),215),o.fl(this.a,r,c)},s.Sj=function(e,t,i){var r;return r=u(A3(e,this.b),215),r.nl(this.a).fj()},s.Tj=function(e,t,i,r){var c;c=u(A3(e,this.b),215),c.nl(this.a).Wb(r)},s.Uj=function(e,t,i){return u(A3(e,this.b),215).nl(this.a)},s.Vj=function(e,t,i){var r;r=u(A3(e,this.b),215),r.nl(this.a).Xj()},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1314),b(89,1,{},s1,ha,f1,da),s.Pj=function(e,t,i,r,c){var o;if(o=t.Ch(i),o==null&&t.Dh(i,o=AM(this,e)),!c)switch(this.e){case 50:case 41:return u(o,589).sj();case 40:return u(o,215).kl()}return o},s.Qj=function(e,t,i,r,c){var o,f;return f=t.Ch(i),f==null&&t.Dh(i,f=AM(this,e)),o=u(f,69).lk(r,c),o},s.Rj=function(e,t,i,r,c){var o;return o=t.Ch(i),o!=null&&(c=u(o,69).mk(r,c)),c},s.Sj=function(e,t,i){var r;return r=t.Ch(i),r!=null&&u(r,76).fj()},s.Tj=function(e,t,i,r){var c;c=u(t.Ch(i),76),!c&&t.Dh(i,c=AM(this,e)),c.Wb(r)},s.Uj=function(e,t,i){var r,c;return c=t.Ch(i),c==null&&t.Dh(i,c=AM(this,e)),I(c,76)?u(c,76):(r=u(t.Ch(i),15),new Dmn(r))},s.Vj=function(e,t,i){var r;r=u(t.Ch(i),76),!r&&t.Dh(i,r=AM(this,e)),r.Xj()},s.b=0,s.e=0,w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateMany",89),b(504,1,{}),s.Qj=function(e,t,i,r,c){throw T(new ye)},s.Rj=function(e,t,i,r,c){throw T(new ye)},s.Uj=function(e,t,i){return new STn(this,e,t,i)};var Eh;w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingle",504),b(1331,1,GB,STn),s.Wj=function(e){return this.a.Pj(this.c,this.d,this.b,e,!0)},s.fj=function(){return this.a.Sj(this.c,this.d,this.b)},s.Wb=function(e){this.a.Tj(this.c,this.d,this.b,e)},s.Xj=function(){this.a.Vj(this.c,this.d,this.b)},s.b=0,w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1331),b(769,504,{},QW),s.Pj=function(e,t,i,r,c){return Qx(e,e.eh(),e.Vg())==this.b?this.sk()&&r?Fx(e):e.eh():null},s.Qj=function(e,t,i,r,c){var o,f;return e.eh()&&(c=(o=e.Vg(),o>=0?e.Qg(c):e.eh().ih(e,-1-o,null,c))),f=yt(e.Tg(),this.e),e.Sg(r,f,c)},s.Rj=function(e,t,i,r,c){var o;return o=yt(e.Tg(),this.e),e.Sg(null,o,c)},s.Sj=function(e,t,i){var r;return r=yt(e.Tg(),this.e),!!e.eh()&&e.Vg()==r},s.Tj=function(e,t,i,r){var c,o,f,h,l;if(r!=null&&!nL(this.a,r))throw T(new Up(AA+(I(r,56)?IJ(u(r,56).Tg()):nV(Du(r)))+SA+this.a+"'"));if(c=e.eh(),f=yt(e.Tg(),this.e),B(r)!==B(c)||e.Vg()!=f&&r!=null){if(u4(e,u(r,56)))throw T(new Hn(tm+e.Ib()));l=null,c&&(l=(o=e.Vg(),o>=0?e.Qg(l):e.eh().ih(e,-1-o,null,l))),h=u(r,49),h&&(l=h.gh(e,yt(h.Tg(),this.b),null,l)),l=e.Sg(h,f,l),l&&l.Fi()}else e.Lg()&&e.Mg()&&et(e,new wi(e,1,f,r,r))},s.Vj=function(e,t,i){var r,c,o,f;r=e.eh(),r?(f=(c=e.Vg(),c>=0?e.Qg(null):e.eh().ih(e,-1-c,null,null)),o=yt(e.Tg(),this.e),f=e.Sg(null,o,f),f&&f.Fi()):e.Lg()&&e.Mg()&&et(e,new $5(e,1,this.e,null,null))},s.sk=function(){return!1},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",769),b(1315,769,{},kEn),s.sk=function(){return!0},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1315),b(563,504,{}),s.Pj=function(e,t,i,r,c){var o;return o=t.Ch(i),o==null?this.b:B(o)===B(Eh)?null:o},s.Sj=function(e,t,i){var r;return r=t.Ch(i),r!=null&&(B(r)===B(Eh)||!tt(r,this.b))},s.Tj=function(e,t,i,r){var c,o;e.Lg()&&e.Mg()?(c=(o=t.Ch(i),o==null?this.b:B(o)===B(Eh)?null:o),r==null?this.c!=null?(t.Dh(i,null),r=this.b):this.b!=null?t.Dh(i,Eh):t.Dh(i,null):(this.Sk(r),t.Dh(i,r)),et(e,this.d.Tk(e,1,this.e,c,r))):r==null?this.c!=null?t.Dh(i,null):this.b!=null?t.Dh(i,Eh):t.Dh(i,null):(this.Sk(r),t.Dh(i,r))},s.Vj=function(e,t,i){var r,c;e.Lg()&&e.Mg()?(r=(c=t.Ch(i),c==null?this.b:B(c)===B(Eh)?null:c),t.Eh(i),et(e,this.d.Tk(e,1,this.e,r,this.b))):t.Eh(i)},s.Sk=function(e){throw T(new Hmn)},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",563),b(pg,1,{},tpn),s.Tk=function(e,t,i,r,c){return new $5(e,t,i,r,c)},s.Uk=function(e,t,i,r,c,o){return new VD(e,t,i,r,c,o)};var v1n,m1n,k1n,y1n,j1n,E1n,C1n,vH,T1n;w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",pg),b(1332,pg,{},ipn),s.Tk=function(e,t,i,r,c){return new OX(e,t,i,on(sn(r)),on(sn(c)))},s.Uk=function(e,t,i,r,c,o){return new QMn(e,t,i,on(sn(r)),on(sn(c)),o)},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1332),b(1333,pg,{},rpn),s.Tk=function(e,t,i,r,c){return new rV(e,t,i,u(r,217).a,u(c,217).a)},s.Uk=function(e,t,i,r,c,o){return new qMn(e,t,i,u(r,217).a,u(c,217).a,o)},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1333),b(1334,pg,{},cpn),s.Tk=function(e,t,i,r,c){return new cV(e,t,i,u(r,172).a,u(c,172).a)},s.Uk=function(e,t,i,r,c,o){return new GMn(e,t,i,u(r,172).a,u(c,172).a,o)},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1334),b(1335,pg,{},upn),s.Tk=function(e,t,i,r,c){return new PX(e,t,i,K(Y(r)),K(Y(c)))},s.Uk=function(e,t,i,r,c,o){return new zMn(e,t,i,K(Y(r)),K(Y(c)),o)},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1335),b(1336,pg,{},spn),s.Tk=function(e,t,i,r,c){return new oV(e,t,i,u(r,155).a,u(c,155).a)},s.Uk=function(e,t,i,r,c,o){return new UMn(e,t,i,u(r,155).a,u(c,155).a,o)},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1336),b(1337,pg,{},opn),s.Tk=function(e,t,i,r,c){return new IX(e,t,i,u(r,19).a,u(c,19).a)},s.Uk=function(e,t,i,r,c,o){return new WMn(e,t,i,u(r,19).a,u(c,19).a,o)},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1337),b(1338,pg,{},fpn),s.Tk=function(e,t,i,r,c){return new uV(e,t,i,u(r,162).a,u(c,162).a)},s.Uk=function(e,t,i,r,c,o){return new XMn(e,t,i,u(r,162).a,u(c,162).a,o)},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1338),b(1339,pg,{},hpn),s.Tk=function(e,t,i,r,c){return new sV(e,t,i,u(r,184).a,u(c,184).a)},s.Uk=function(e,t,i,r,c,o){return new VMn(e,t,i,u(r,184).a,u(c,184).a,o)},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1339),b(1317,563,{},PTn),s.Sk=function(e){if(!this.a.wj(e))throw T(new Up(AA+Du(e)+SA+this.a+"'"))},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1317),b(1318,563,{},pCn),s.Sk=function(e){},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1318),b(770,563,{}),s.Sj=function(e,t,i){var r;return r=t.Ch(i),r!=null},s.Tj=function(e,t,i,r){var c,o;e.Lg()&&e.Mg()?(c=!0,o=t.Ch(i),o==null?(c=!1,o=this.b):B(o)===B(Eh)&&(o=null),r==null?this.c!=null?(t.Dh(i,null),r=this.b):t.Dh(i,Eh):(this.Sk(r),t.Dh(i,r)),et(e,this.d.Uk(e,1,this.e,o,r,!c))):r==null?this.c!=null?t.Dh(i,null):t.Dh(i,Eh):(this.Sk(r),t.Dh(i,r))},s.Vj=function(e,t,i){var r,c;e.Lg()&&e.Mg()?(r=!0,c=t.Ch(i),c==null?(r=!1,c=this.b):B(c)===B(Eh)&&(c=null),t.Eh(i),et(e,this.d.Uk(e,2,this.e,c,this.b,r))):t.Eh(i)},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",770),b(1319,770,{},ITn),s.Sk=function(e){if(!this.a.wj(e))throw T(new Up(AA+Du(e)+SA+this.a+"'"))},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1319),b(1320,770,{},vCn),s.Sk=function(e){},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1320),b(398,504,{},FE),s.Pj=function(e,t,i,r,c){var o,f,h,l,a;if(a=t.Ch(i),this.Kj()&&B(a)===B(Eh))return null;if(this.sk()&&r&&a!=null){if(h=u(a,49),h.kh()&&(l=pl(e,h),h!=l)){if(!nL(this.a,l))throw T(new Up(AA+Du(l)+SA+this.a+"'"));t.Dh(i,a=l),this.rk()&&(o=u(l,49),f=h.ih(e,this.b?yt(h.Tg(),this.b):-1-yt(e.Tg(),this.e),null,null),!o.eh()&&(f=o.gh(e,this.b?yt(o.Tg(),this.b):-1-yt(e.Tg(),this.e),null,f)),f&&f.Fi()),e.Lg()&&e.Mg()&&et(e,new $5(e,9,this.e,h,l))}return a}else return a},s.Qj=function(e,t,i,r,c){var o,f;return f=t.Ch(i),B(f)===B(Eh)&&(f=null),t.Dh(i,r),this.bj()?B(f)!==B(r)&&f!=null&&(o=u(f,49),c=o.ih(e,yt(o.Tg(),this.b),null,c)):this.rk()&&f!=null&&(c=u(f,49).ih(e,-1-yt(e.Tg(),this.e),null,c)),e.Lg()&&e.Mg()&&(!c&&(c=new Q1(4)),c.Ei(new $5(e,1,this.e,f,r))),c},s.Rj=function(e,t,i,r,c){var o;return o=t.Ch(i),B(o)===B(Eh)&&(o=null),t.Eh(i),e.Lg()&&e.Mg()&&(!c&&(c=new Q1(4)),this.Kj()?c.Ei(new $5(e,2,this.e,o,null)):c.Ei(new $5(e,1,this.e,o,null))),c},s.Sj=function(e,t,i){var r;return r=t.Ch(i),r!=null},s.Tj=function(e,t,i,r){var c,o,f,h,l;if(r!=null&&!nL(this.a,r))throw T(new Up(AA+(I(r,56)?IJ(u(r,56).Tg()):nV(Du(r)))+SA+this.a+"'"));l=t.Ch(i),h=l!=null,this.Kj()&&B(l)===B(Eh)&&(l=null),f=null,this.bj()?B(l)!==B(r)&&(l!=null&&(c=u(l,49),f=c.ih(e,yt(c.Tg(),this.b),null,f)),r!=null&&(c=u(r,49),f=c.gh(e,yt(c.Tg(),this.b),null,f))):this.rk()&&B(l)!==B(r)&&(l!=null&&(f=u(l,49).ih(e,-1-yt(e.Tg(),this.e),null,f)),r!=null&&(f=u(r,49).gh(e,-1-yt(e.Tg(),this.e),null,f))),r==null&&this.Kj()?t.Dh(i,Eh):t.Dh(i,r),e.Lg()&&e.Mg()?(o=new VD(e,1,this.e,l,r,this.Kj()&&!h),f?(f.Ei(o),f.Fi()):et(e,o)):f&&f.Fi()},s.Vj=function(e,t,i){var r,c,o,f,h;h=t.Ch(i),f=h!=null,this.Kj()&&B(h)===B(Eh)&&(h=null),o=null,h!=null&&(this.bj()?(r=u(h,49),o=r.ih(e,yt(r.Tg(),this.b),null,o)):this.rk()&&(o=u(h,49).ih(e,-1-yt(e.Tg(),this.e),null,o))),t.Eh(i),e.Lg()&&e.Mg()?(c=new VD(e,this.Kj()?2:1,this.e,h,null,f),o?(o.Ei(c),o.Fi()):et(e,c)):o&&o.Fi()},s.bj=function(){return!1},s.rk=function(){return!1},s.sk=function(){return!1},s.Kj=function(){return!1},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",398),b(564,398,{},JO),s.rk=function(){return!0},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",564),b(1323,564,{},gjn),s.sk=function(){return!0},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1323),b(772,564,{},eU),s.Kj=function(){return!0},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",772),b(1325,772,{},pjn),s.sk=function(){return!0},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1325),b(640,564,{},lD),s.bj=function(){return!0},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",640),b(1324,640,{},yEn),s.sk=function(){return!0},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1324),b(773,640,{},KU),s.Kj=function(){return!0},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",773),b(1326,773,{},jEn),s.sk=function(){return!0},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1326),b(641,398,{},tU),s.sk=function(){return!0},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",641),b(1327,641,{},vjn),s.Kj=function(){return!0},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1327),b(774,641,{},RU),s.bj=function(){return!0},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",774),b(1328,774,{},EEn),s.Kj=function(){return!0},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1328),b(1321,398,{},mjn),s.Kj=function(){return!0},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1321),b(771,398,{},_U),s.bj=function(){return!0},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",771),b(1322,771,{},CEn),s.Kj=function(){return!0},w(Bn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1322),b(775,565,MA,LW),s.Pk=function(e){return new LW(this.a,this.c,e)},s.dd=function(){return this.b},s.Qk=function(e,t,i){return Fde(this,e,this.b,i)},s.Rk=function(e,t,i){return xde(this,e,this.b,i)},w(Bn,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",775),b(1329,1,GB,Dmn),s.Wj=function(e){return this.a},s.fj=function(){return I(this.a,95)?u(this.a,95).fj():!this.a.dc()},s.Wb=function(e){this.a.$b(),this.a.Gc(u(e,15))},s.Xj=function(){I(this.a,95)?u(this.a,95).Xj():this.a.$b()},w(Bn,"EStructuralFeatureImpl/SettingMany",1329),b(1330,565,MA,BAn),s.Ok=function(e){return new nD((ht(),p9),this.b.Ih(this.a,e))},s.dd=function(){return null},s.Qk=function(e,t,i){return i},s.Rk=function(e,t,i){return i},w(Bn,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1330),b(642,565,MA,nD),s.Ok=function(e){return new nD(this.c,e)},s.dd=function(){return this.a},s.Qk=function(e,t,i){return i},s.Rk=function(e,t,i){return i},w(Bn,"EStructuralFeatureImpl/SimpleFeatureMapEntry",642),b(391,497,Wf,Bp),s.ri=function(e){return F(ro,rn,26,e,0,1)},s.ni=function(){return!1},w(Bn,"ESuperAdapter/1",391),b(444,438,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,836:1,49:1,97:1,150:1,444:1,114:1,115:1},CI),s._g=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),this.Ab;case 1:return this.zb;case 2:return!this.a&&(this.a=new P5(this,ar,this)),this.a}return Cs(this,e-ee((Sn(),O0)),On((r=u(Rn(this,16),26),r||O0),e),t,i)},s.jh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new V(Be,this,0,3)),zi(this.Ab,e,i);case 2:return!this.a&&(this.a=new P5(this,ar,this)),zi(this.a,e,i)}return c=u(On((r=u(Rn(this,16),26),r||(Sn(),O0)),t),66),c.Nj().Rj(this,Rc(this),t-ee((Sn(),O0)),e,i)},s.lh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return!!this.a&&this.a.i!=0}return js(this,e-ee((Sn(),O0)),On((t=u(Rn(this,16),26),t||O0),e))},s.sh=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab),!this.Ab&&(this.Ab=new V(Be,this,0,3)),Dt(this.Ab,u(t,14));return;case 1:Ic(this,Te(t));return;case 2:!this.a&&(this.a=new P5(this,ar,this)),de(this.a),!this.a&&(this.a=new P5(this,ar,this)),Dt(this.a,u(t,14));return}Ps(this,e-ee((Sn(),O0)),On((i=u(Rn(this,16),26),i||O0),e),t)},s.zh=function(){return Sn(),O0},s.Bh=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new V(Be,this,0,3)),de(this.Ab);return;case 1:Ic(this,null);return;case 2:!this.a&&(this.a=new P5(this,ar,this)),de(this.a);return}As(this,e-ee((Sn(),O0)),On((t=u(Rn(this,16),26),t||O0),e))},w(Bn,"ETypeParameterImpl",444),b(445,85,Nr,P5),s.cj=function(e,t){return xve(this,u(e,87),t)},s.dj=function(e,t){return Lve(this,u(e,87),t)},w(Bn,"ETypeParameterImpl/1",445),b(634,43,sg,KI),s.ec=function(){return new sj(this)},w(Bn,"ETypeParameterImpl/2",634),b(556,df,pu,sj),s.Fc=function(e){return zjn(this,u(e,87))},s.Gc=function(e){var t,i,r;for(r=!1,i=e.Kc();i.Ob();)t=u(i.Pb(),87),it(this.a,t,"")==null&&(r=!0);return r},s.$b=function(){Eu(this.a)},s.Hc=function(e){return zu(this.a,e)},s.Kc=function(){var e;return e=new Ea(new ta(this.a).a),new oj(e)},s.Mc=function(e){return OSn(this,e)},s.gc=function(){return Xv(this.a)},w(Bn,"ETypeParameterImpl/2/1",556),b(557,1,yi,oj),s.Nb=function(e){Oi(this,e)},s.Pb=function(){return u(Nd(this.a).cd(),87)},s.Ob=function(){return this.a.b},s.Qb=function(){oPn(this.a)},w(Bn,"ETypeParameterImpl/2/1/1",557),b(1276,43,sg,j9n),s._b=function(e){return mi(e)?QD(this,e):!!Ar(this.f,e)},s.xc=function(e){var t,i;return t=mi(e)?vc(this,e):Vr(Ar(this.f,e)),I(t,837)?(i=u(t,837),t=i._j(),it(this,u(e,235),t),t):t??(e==null?(rO(),uee):null)},w(Bn,"EValidatorRegistryImpl",1276),b(1313,704,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,1941:1,49:1,97:1,150:1,114:1,115:1},lpn),s.Ih=function(e,t){switch(e.yj()){case 21:case 22:case 23:case 24:case 26:case 31:case 32:case 37:case 38:case 39:case 40:case 43:case 44:case 48:case 49:case 20:return t==null?null:Lr(t);case 25:return q0e(t);case 27:return u0e(t);case 28:return s0e(t);case 29:return t==null?null:Tyn(l9[0],u(t,199));case 41:return t==null?"":J1(u(t,290));case 42:return Lr(t);case 50:return Te(t);default:throw T(new Hn(R4+e.ne()+h0))}},s.Jh=function(e){var t,i,r,c,o,f,h,l,a,d,g,p,v,m,C,S;switch(e.G==-1&&(e.G=(p=ts(e),p?v1(p.Mh(),e):-1)),e.G){case 0:return i=new BI,i;case 1:return t=new JH,t;case 2:return r=new tq,r;case 4:return c=new fj,c;case 5:return o=new y9n,o;case 6:return f=new zmn,f;case 7:return h=new eq,h;case 10:return a=new Yy,a;case 11:return d=new RI,d;case 12:return g=new WTn,g;case 13:return v=new _I,v;case 14:return m=new cU,m;case 17:return C=new epn,C;case 18:return l=new ud,l;case 19:return S=new CI,S;default:throw T(new Hn(SB+e.zb+h0))}},s.Kh=function(e,t){switch(e.yj()){case 20:return t==null?null:new CG(t);case 21:return t==null?null:new il(t);case 23:case 22:return t==null?null:X2e(t);case 26:case 24:return t==null?null:X8(us(t,-128,127)<<24>>24);case 25:return c9e(t);case 27:return O3e(t);case 28:return D3e(t);case 29:return n5e(t);case 32:case 31:return t==null?null:kb(t);case 38:case 37:return t==null?null:new Gq(t);case 40:case 39:return t==null?null:Q(us(t,Bi,nt));case 41:return null;case 42:return t==null,null;case 44:case 43:return t==null?null:Ma(MM(t));case 49:case 48:return t==null?null:J3(us(t,PA,32767)<<16>>16);case 50:return t;default:throw T(new Hn(R4+e.ne()+h0))}},w(Bn,"EcoreFactoryImpl",1313),b(547,179,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,1939:1,49:1,97:1,150:1,179:1,547:1,114:1,115:1,675:1},hTn),s.gb=!1,s.hb=!1;var M1n,cee=!1;w(Bn,"EcorePackageImpl",547),b(1184,1,{837:1},apn),s._j=function(){return Vyn(),see},w(Bn,"EcorePackageImpl/1",1184),b(1193,1,qe,dpn),s.wj=function(e){return I(e,147)},s.xj=function(e){return F(Dy,rn,147,e,0,1)},w(Bn,"EcorePackageImpl/10",1193),b(1194,1,qe,bpn),s.wj=function(e){return I(e,191)},s.xj=function(e){return F(fH,rn,191,e,0,1)},w(Bn,"EcorePackageImpl/11",1194),b(1195,1,qe,wpn),s.wj=function(e){return I(e,56)},s.xj=function(e){return F(zl,rn,56,e,0,1)},w(Bn,"EcorePackageImpl/12",1195),b(1196,1,qe,gpn),s.wj=function(e){return I(e,399)},s.xj=function(e){return F(co,Qtn,59,e,0,1)},w(Bn,"EcorePackageImpl/13",1196),b(1197,1,qe,ppn),s.wj=function(e){return I(e,235)},s.xj=function(e){return F(Vo,rn,235,e,0,1)},w(Bn,"EcorePackageImpl/14",1197),b(1198,1,qe,vpn),s.wj=function(e){return I(e,509)},s.xj=function(e){return F(P0,rn,2017,e,0,1)},w(Bn,"EcorePackageImpl/15",1198),b(1199,1,qe,mpn),s.wj=function(e){return I(e,99)},s.xj=function(e){return F(fw,gg,18,e,0,1)},w(Bn,"EcorePackageImpl/16",1199),b(1200,1,qe,kpn),s.wj=function(e){return I(e,170)},s.xj=function(e){return F(su,gg,170,e,0,1)},w(Bn,"EcorePackageImpl/17",1200),b(1201,1,qe,ypn),s.wj=function(e){return I(e,472)},s.xj=function(e){return F(sw,rn,472,e,0,1)},w(Bn,"EcorePackageImpl/18",1201),b(1202,1,qe,jpn),s.wj=function(e){return I(e,548)},s.xj=function(e){return F(tc,uGn,548,e,0,1)},w(Bn,"EcorePackageImpl/19",1202),b(1185,1,qe,Epn),s.wj=function(e){return I(e,322)},s.xj=function(e){return F(ow,gg,34,e,0,1)},w(Bn,"EcorePackageImpl/2",1185),b(1203,1,qe,Cpn),s.wj=function(e){return I(e,241)},s.xj=function(e){return F(ar,EGn,87,e,0,1)},w(Bn,"EcorePackageImpl/20",1203),b(1204,1,qe,Tpn),s.wj=function(e){return I(e,444)},s.xj=function(e){return F(zc,rn,836,e,0,1)},w(Bn,"EcorePackageImpl/21",1204),b(1205,1,qe,Mpn),s.wj=function(e){return q0(e)},s.xj=function(e){return F(si,q,476,e,8,1)},w(Bn,"EcorePackageImpl/22",1205),b(1206,1,qe,Apn),s.wj=function(e){return I(e,190)},s.xj=function(e){return F(yu,q,190,e,0,2)},w(Bn,"EcorePackageImpl/23",1206),b(1207,1,qe,Spn),s.wj=function(e){return I(e,217)},s.xj=function(e){return F(op,q,217,e,0,1)},w(Bn,"EcorePackageImpl/24",1207),b(1208,1,qe,Ppn),s.wj=function(e){return I(e,172)},s.xj=function(e){return F(bm,q,172,e,0,1)},w(Bn,"EcorePackageImpl/25",1208),b(1209,1,qe,Ipn),s.wj=function(e){return I(e,199)},s.xj=function(e){return F(HA,q,199,e,0,1)},w(Bn,"EcorePackageImpl/26",1209),b(1210,1,qe,Opn),s.wj=function(e){return!1},s.xj=function(e){return F(G1n,rn,2110,e,0,1)},w(Bn,"EcorePackageImpl/27",1210),b(1211,1,qe,Dpn),s.wj=function(e){return G0(e)},s.xj=function(e){return F(Mi,q,333,e,7,1)},w(Bn,"EcorePackageImpl/28",1211),b(1212,1,qe,$pn),s.wj=function(e){return I(e,58)},s.xj=function(e){return F(c1n,Ob,58,e,0,1)},w(Bn,"EcorePackageImpl/29",1212),b(1186,1,qe,Fpn),s.wj=function(e){return I(e,510)},s.xj=function(e){return F(Be,{3:1,4:1,5:1,1934:1},590,e,0,1)},w(Bn,"EcorePackageImpl/3",1186),b(1213,1,qe,xpn),s.wj=function(e){return I(e,573)},s.xj=function(e){return F(o1n,rn,1940,e,0,1)},w(Bn,"EcorePackageImpl/30",1213),b(1214,1,qe,Lpn),s.wj=function(e){return I(e,153)},s.xj=function(e){return F(O1n,Ob,153,e,0,1)},w(Bn,"EcorePackageImpl/31",1214),b(1215,1,qe,Npn),s.wj=function(e){return I(e,72)},s.xj=function(e){return F(rI,DGn,72,e,0,1)},w(Bn,"EcorePackageImpl/32",1215),b(1216,1,qe,Bpn),s.wj=function(e){return I(e,155)},s.xj=function(e){return F(U4,q,155,e,0,1)},w(Bn,"EcorePackageImpl/33",1216),b(1217,1,qe,Rpn),s.wj=function(e){return I(e,19)},s.xj=function(e){return F(Wi,q,19,e,0,1)},w(Bn,"EcorePackageImpl/34",1217),b(1218,1,qe,_pn),s.wj=function(e){return I(e,290)},s.xj=function(e){return F(fin,rn,290,e,0,1)},w(Bn,"EcorePackageImpl/35",1218),b(1219,1,qe,Kpn),s.wj=function(e){return I(e,162)},s.xj=function(e){return F(a0,q,162,e,0,1)},w(Bn,"EcorePackageImpl/36",1219),b(1220,1,qe,Hpn),s.wj=function(e){return I(e,83)},s.xj=function(e){return F(hin,rn,83,e,0,1)},w(Bn,"EcorePackageImpl/37",1220),b(1221,1,qe,qpn),s.wj=function(e){return I(e,591)},s.xj=function(e){return F(A1n,rn,591,e,0,1)},w(Bn,"EcorePackageImpl/38",1221),b(1222,1,qe,Gpn),s.wj=function(e){return!1},s.xj=function(e){return F(z1n,rn,2111,e,0,1)},w(Bn,"EcorePackageImpl/39",1222),b(1187,1,qe,zpn),s.wj=function(e){return I(e,88)},s.xj=function(e){return F(ro,rn,26,e,0,1)},w(Bn,"EcorePackageImpl/4",1187),b(1223,1,qe,Upn),s.wj=function(e){return I(e,184)},s.xj=function(e){return F(d0,q,184,e,0,1)},w(Bn,"EcorePackageImpl/40",1223),b(1224,1,qe,Wpn),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Bn,"EcorePackageImpl/41",1224),b(1225,1,qe,Xpn),s.wj=function(e){return I(e,588)},s.xj=function(e){return F(s1n,rn,588,e,0,1)},w(Bn,"EcorePackageImpl/42",1225),b(1226,1,qe,Vpn),s.wj=function(e){return!1},s.xj=function(e){return F(U1n,q,2112,e,0,1)},w(Bn,"EcorePackageImpl/43",1226),b(1227,1,qe,Qpn),s.wj=function(e){return I(e,42)},s.xj=function(e){return F(Ha,OM,42,e,0,1)},w(Bn,"EcorePackageImpl/44",1227),b(1188,1,qe,Jpn),s.wj=function(e){return I(e,138)},s.xj=function(e){return F(Qo,rn,138,e,0,1)},w(Bn,"EcorePackageImpl/5",1188),b(1189,1,qe,Ypn),s.wj=function(e){return I(e,148)},s.xj=function(e){return F(wH,rn,148,e,0,1)},w(Bn,"EcorePackageImpl/6",1189),b(1190,1,qe,Zpn),s.wj=function(e){return I(e,457)},s.xj=function(e){return F(iI,rn,671,e,0,1)},w(Bn,"EcorePackageImpl/7",1190),b(1191,1,qe,n3n),s.wj=function(e){return I(e,573)},s.xj=function(e){return F(e1,rn,678,e,0,1)},w(Bn,"EcorePackageImpl/8",1191),b(1192,1,qe,e3n),s.wj=function(e){return I(e,471)},s.xj=function(e){return F(h9,rn,471,e,0,1)},w(Bn,"EcorePackageImpl/9",1192),b(1025,1982,cGn,_9n),s.bi=function(e,t){kge(this,u(t,415))},s.fi=function(e,t){nLn(this,e,u(t,415))},w(Bn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList",1025),b(1026,143,jk,eTn),s.Ai=function(){return this.a.a},w(Bn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1",1026),b(1053,1052,{},pyn),w("org.eclipse.emf.ecore.plugin","EcorePlugin",1053);var A1n=Et($Gn,"Resource");b(781,1378,FGn),s.Yk=function(e){},s.Zk=function(e){},s.Vk=function(){return!this.a&&(this.a=new $I(this)),this.a},s.Wk=function(e){var t,i,r,c,o;if(r=e.length,r>0)if(Me(0,e.length),e.charCodeAt(0)==47){for(o=new Pc(4),c=1,t=1;t0&&(e=e.substr(0,i)));return H6e(this,e)},s.Xk=function(){return this.c},s.Ib=function(){var e;return J1(this.gm)+"@"+(e=mt(this)>>>0,e.toString(16))+" uri='"+this.d+"'"},s.b=!1,w(zB,"ResourceImpl",781),b(1379,781,FGn,Fmn),w(zB,"BinaryResourceImpl",1379),b(1169,694,RB),s.si=function(e){return I(e,56)?E1e(this,u(e,56)):I(e,591)?new ie(u(e,591).Vk()):B(e)===B(this.f)?u(e,14).Kc():(o3(),xy.a)},s.Ob=function(){return yY(this)},s.a=!1,w(vt,"EcoreUtil/ContentTreeIterator",1169),b(1380,1169,RB,DCn),s.si=function(e){return B(e)===B(this.f)?u(e,15).Kc():new wAn(u(e,56))},w(zB,"ResourceImpl/5",1380),b(648,1994,jGn,$I),s.Hc=function(e){return this.i<=4?o4(this,e):I(e,49)&&u(e,49).Zg()==this.a},s.bi=function(e,t){e==this.i-1&&(this.a.b||(this.a.b=!0))},s.di=function(e,t){e==0?this.a.b||(this.a.b=!0):A$(this,e,t)},s.fi=function(e,t){},s.gi=function(e,t,i){},s.aj=function(){return 2},s.Ai=function(){return this.a},s.bj=function(){return!0},s.cj=function(e,t){var i;return i=u(e,49),t=i.wh(this.a,t),t},s.dj=function(e,t){var i;return i=u(e,49),i.wh(null,t)},s.ej=function(){return!1},s.hi=function(){return!0},s.ri=function(e){return F(zl,rn,56,e,0,1)},s.ni=function(){return!1},w(zB,"ResourceImpl/ContentsEList",648),b(957,1964,A4,$mn),s.Zc=function(e){return this.a._h(e)},s.gc=function(){return this.a.gc()},w(vt,"AbstractSequentialInternalEList/1",957);var S1n,P1n,xi,I1n;b(624,1,{},FEn);var cI,uI;w(vt,"BasicExtendedMetaData",624),b(1160,1,{},Fkn),s.$k=function(){return null},s._k=function(){return this.a==-2&&yte(this,Vve(this.d,this.b)),this.a},s.al=function(){return null},s.bl=function(){return Pn(),Pn(),cr},s.ne=function(){return this.c==H4&&Ete(this,O$n(this.d,this.b)),this.c},s.cl=function(){return 0},s.a=-2,s.c=H4,w(vt,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1160),b(1161,1,{},eAn),s.$k=function(){return this.a==(T3(),cI)&&jte(this,l8e(this.f,this.b)),this.a},s._k=function(){return 0},s.al=function(){return this.c==(T3(),cI)&&Cte(this,a8e(this.f,this.b)),this.c},s.bl=function(){return!this.d&&Tte(this,lke(this.f,this.b)),this.d},s.ne=function(){return this.e==H4&&Mte(this,O$n(this.f,this.b)),this.e},s.cl=function(){return this.g==-2&&Ate(this,bve(this.f,this.b)),this.g},s.e=H4,s.g=-2,w(vt,"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl",1161),b(1159,1,{},Lkn),s.b=!1,s.c=!1,w(vt,"BasicExtendedMetaData/EPackageExtendedMetaDataImpl",1159),b(1162,1,{},nAn),s.c=-2,s.e=H4,s.f=H4,w(vt,"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl",1162),b(585,622,Nr,ME),s.aj=function(){return this.c},s.Fk=function(){return!1},s.li=function(e,t){return t},s.c=0,w(vt,"EDataTypeEList",585);var O1n=Et(vt,"FeatureMap");b(75,585,{3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,76:1,153:1,215:1,1937:1,69:1,95:1},$t),s.Vc=function(e,t){s8e(this,e,u(t,72))},s.Fc=function(e){return M9e(this,u(e,72))},s.Yh=function(e){ahe(this,u(e,72))},s.cj=function(e,t){return Uue(this,u(e,72),t)},s.dj=function(e,t){return SU(this,u(e,72),t)},s.ii=function(e,t){return Pke(this,e,t)},s.li=function(e,t){return oEe(this,e,u(t,72))},s._c=function(e,t){return J8e(this,e,u(t,72))},s.jj=function(e,t){return Wue(this,u(e,72),t)},s.kj=function(e,t){return cEn(this,u(e,72),t)},s.lj=function(e,t,i){return J4e(this,u(e,72),u(t,72),i)},s.oi=function(e,t){return px(this,e,u(t,72))},s.dl=function(e,t){return fZ(this,e,t)},s.Wc=function(e,t){var i,r,c,o,f,h,l,a,d;for(a=new Ld(t.gc()),c=t.Kc();c.Ob();)if(r=u(c.Pb(),72),o=r.ak(),zh(this.e,o))(!o.hi()||!yC(this,o,r.dd())&&!o4(a,r))&&me(a,r);else{for(d=Kc(this.e.Tg(),o),i=u(this.g,119),f=!0,h=0;h=0;)if(t=e[this.c],this.k.rl(t.ak()))return this.j=this.f?t:t.dd(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},w(vt,"BasicFeatureMap/FeatureEIterator",410),b(662,410,hh,LO),s.Lk=function(){return!0},w(vt,"BasicFeatureMap/ResolvingFeatureEIterator",662),b(955,486,CA,Ayn),s.Gi=function(){return this},w(vt,"EContentsEList/1",955),b(956,486,CA,Ykn),s.Lk=function(){return!1},w(vt,"EContentsEList/2",956),b(954,279,TA,Syn),s.Nk=function(e){},s.Ob=function(){return!1},s.Sb=function(){return!1},w(vt,"EContentsEList/FeatureIteratorImpl/1",954),b(825,585,Nr,$z),s.ci=function(){this.a=!0},s.fj=function(){return this.a},s.Xj=function(){var e;de(this),Hu(this.e)?(e=this.a,this.a=!1,et(this.e,new vo(this.e,2,this.c,e,!1))):this.a=!1},s.a=!1,w(vt,"EDataTypeEList/Unsettable",825),b(1849,585,Nr,Lyn),s.hi=function(){return!0},w(vt,"EDataTypeUniqueEList",1849),b(1850,825,Nr,Nyn),s.hi=function(){return!0},w(vt,"EDataTypeUniqueEList/Unsettable",1850),b(139,85,Nr,lu),s.Ek=function(){return!0},s.li=function(e,t){return U2(this,e,u(t,56))},w(vt,"EObjectContainmentEList/Resolving",139),b(1163,545,Nr,xyn),s.Ek=function(){return!0},s.li=function(e,t){return U2(this,e,u(t,56))},w(vt,"EObjectContainmentEList/Unsettable/Resolving",1163),b(748,16,Nr,yU),s.ci=function(){this.a=!0},s.fj=function(){return this.a},s.Xj=function(){var e;de(this),Hu(this.e)?(e=this.a,this.a=!1,et(this.e,new vo(this.e,2,this.c,e,!1))):this.a=!1},s.a=!1,w(vt,"EObjectContainmentWithInverseEList/Unsettable",748),b(1173,748,Nr,Ujn),s.Ek=function(){return!0},s.li=function(e,t){return U2(this,e,u(t,56))},w(vt,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1173),b(743,496,Nr,Dz),s.ci=function(){this.a=!0},s.fj=function(){return this.a},s.Xj=function(){var e;de(this),Hu(this.e)?(e=this.a,this.a=!1,et(this.e,new vo(this.e,2,this.c,e,!1))):this.a=!1},s.a=!1,w(vt,"EObjectEList/Unsettable",743),b(328,496,Nr,Aw),s.Ek=function(){return!0},s.li=function(e,t){return U2(this,e,u(t,56))},w(vt,"EObjectResolvingEList",328),b(1641,743,Nr,Byn),s.Ek=function(){return!0},s.li=function(e,t){return U2(this,e,u(t,56))},w(vt,"EObjectResolvingEList/Unsettable",1641),b(1381,1,{},t3n);var uee;w(vt,"EObjectValidator",1381),b(546,496,Nr,zE),s.zk=function(){return this.d},s.Ak=function(){return this.b},s.bj=function(){return!0},s.Dk=function(){return!0},s.b=0,w(vt,"EObjectWithInverseEList",546),b(1176,546,Nr,Wjn),s.Ck=function(){return!0},w(vt,"EObjectWithInverseEList/ManyInverse",1176),b(625,546,Nr,tD),s.ci=function(){this.a=!0},s.fj=function(){return this.a},s.Xj=function(){var e;de(this),Hu(this.e)?(e=this.a,this.a=!1,et(this.e,new vo(this.e,2,this.c,e,!1))):this.a=!1},s.a=!1,w(vt,"EObjectWithInverseEList/Unsettable",625),b(1175,625,Nr,Xjn),s.Ck=function(){return!0},w(vt,"EObjectWithInverseEList/Unsettable/ManyInverse",1175),b(749,546,Nr,jU),s.Ek=function(){return!0},s.li=function(e,t){return U2(this,e,u(t,56))},w(vt,"EObjectWithInverseResolvingEList",749),b(31,749,Nr,Fn),s.Ck=function(){return!0},w(vt,"EObjectWithInverseResolvingEList/ManyInverse",31),b(750,625,Nr,EU),s.Ek=function(){return!0},s.li=function(e,t){return U2(this,e,u(t,56))},w(vt,"EObjectWithInverseResolvingEList/Unsettable",750),b(1174,750,Nr,Vjn),s.Ck=function(){return!0},w(vt,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1174),b(1164,622,Nr),s.ai=function(){return(this.b&1792)==0},s.ci=function(){this.b|=1},s.Bk=function(){return(this.b&4)!=0},s.bj=function(){return(this.b&40)!=0},s.Ck=function(){return(this.b&16)!=0},s.Dk=function(){return(this.b&8)!=0},s.Ek=function(){return(this.b&Bb)!=0},s.rk=function(){return(this.b&32)!=0},s.Fk=function(){return(this.b&Eo)!=0},s.wj=function(e){return this.d?IAn(this.d,e):this.ak().Yj().wj(e)},s.fj=function(){return this.b&2?(this.b&1)!=0:this.i!=0},s.hi=function(){return(this.b&128)!=0},s.Xj=function(){var e;de(this),this.b&2&&(Hu(this.e)?(e=(this.b&1)!=0,this.b&=-2,Gp(this,new vo(this.e,2,yt(this.e.Tg(),this.ak()),e,!1))):this.b&=-2)},s.ni=function(){return(this.b&1536)==0},s.b=0,w(vt,"EcoreEList/Generic",1164),b(1165,1164,Nr,RTn),s.ak=function(){return this.a},w(vt,"EcoreEList/Dynamic",1165),b(747,63,Wf,Lq),s.ri=function(e){return Q8(this.a.a,e)},w(vt,"EcoreEMap/1",747),b(746,85,Nr,yW),s.bi=function(e,t){KT(this.b,u(t,133))},s.di=function(e,t){TOn(this.b)},s.ei=function(e,t,i){var r;++(r=this.b,u(t,133),r).e},s.fi=function(e,t){MF(this.b,u(t,133))},s.gi=function(e,t,i){MF(this.b,u(i,133)),B(i)===B(t)&&u(i,133).Th(ece(u(t,133).cd())),KT(this.b,u(t,133))},w(vt,"EcoreEMap/DelegateEObjectContainmentEList",746),b(1171,151,Vtn,BIn),w(vt,"EcoreEMap/Unsettable",1171),b(1172,746,Nr,Qjn),s.ci=function(){this.a=!0},s.fj=function(){return this.a},s.Xj=function(){var e;de(this),Hu(this.e)?(e=this.a,this.a=!1,et(this.e,new vo(this.e,2,this.c,e,!1))):this.a=!1},s.a=!1,w(vt,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1172),b(1168,228,sg,HCn),s.a=!1,s.b=!1,w(vt,"EcoreUtil/Copier",1168),b(745,1,yi,wAn),s.Nb=function(e){Oi(this,e)},s.Ob=function(){return l$n(this)},s.Pb=function(){var e;return l$n(this),e=this.b,this.b=null,e},s.Qb=function(){this.a.Qb()},w(vt,"EcoreUtil/ProperContentIterator",745),b(1382,1381,{},Z4n);var see;w(vt,"EcoreValidator",1382);var oee;Et(vt,"FeatureMapUtil/Validator"),b(1260,1,{1942:1},i3n),s.rl=function(e){return!0},w(vt,"FeatureMapUtil/1",1260),b(757,1,{1942:1},BZ),s.rl=function(e){var t;return this.c==e?!0:(t=sn(te(this.a,e)),t==null?U7e(this,e)?(ESn(this.a,e,(qn(),z4)),!0):(ESn(this.a,e,(qn(),qa)),!1):t==(qn(),z4))},s.e=!1;var mH;w(vt,"FeatureMapUtil/BasicValidator",757),b(758,43,sg,Sz),w(vt,"FeatureMapUtil/BasicValidator/Cache",758),b(501,52,{20:1,28:1,52:1,14:1,15:1,58:1,76:1,69:1,95:1},i8),s.Vc=function(e,t){_Nn(this.c,this.b,e,t)},s.Fc=function(e){return fZ(this.c,this.b,e)},s.Wc=function(e,t){return sje(this.c,this.b,e,t)},s.Gc=function(e){return m5(this,e)},s.Xh=function(e,t){S0e(this.c,this.b,e,t)},s.lk=function(e,t){return iZ(this.c,this.b,e,t)},s.pi=function(e){return kM(this.c,this.b,e,!1)},s.Zh=function(){return fyn(this.c,this.b)},s.$h=function(){return Hre(this.c,this.b)},s._h=function(e){return $de(this.c,this.b,e)},s.mk=function(e,t){return Sjn(this,e,t)},s.$b=function(){t2(this)},s.Hc=function(e){return yC(this.c,this.b,e)},s.Ic=function(e){return Dbe(this.c,this.b,e)},s.Xb=function(e){return kM(this.c,this.b,e,!0)},s.Wj=function(e){return this},s.Xc=function(e){return Gae(this.c,this.b,e)},s.dc=function(){return Zj(this)},s.fj=function(){return!g7(this.c,this.b)},s.Kc=function(){return g0e(this.c,this.b)},s.Yc=function(){return p0e(this.c,this.b)},s.Zc=function(e){return Pge(this.c,this.b,e)},s.ii=function(e,t){return rRn(this.c,this.b,e,t)},s.ji=function(e,t){Ade(this.c,this.b,e,t)},s.$c=function(e){return Nxn(this.c,this.b,e)},s.Mc=function(e){return dke(this.c,this.b,e)},s._c=function(e,t){return hRn(this.c,this.b,e,t)},s.Wb=function(e){iM(this.c,this.b),m5(this,u(e,15))},s.gc=function(){return Hge(this.c,this.b)},s.Pc=function(){return Kle(this.c,this.b)},s.Qc=function(e){return zae(this.c,this.b,e)},s.Ib=function(){var e,t;for(t=new i1,t.a+="[",e=fyn(this.c,this.b);gF(e);)dr(t,y5(RT(e))),gF(e)&&(t.a+=Ji);return t.a+="]",t.a},s.Xj=function(){iM(this.c,this.b)},w(vt,"FeatureMapUtil/FeatureEList",501),b(627,36,jk,v$),s.yi=function(e){return u6(this,e)},s.Di=function(e){var t,i,r,c,o,f,h;switch(this.d){case 1:case 2:{if(o=e.Ai(),B(o)===B(this.c)&&u6(this,null)==e.yi(null))return this.g=e.zi(),e.xi()==1&&(this.d=1),!0;break}case 3:{switch(c=e.xi(),c){case 3:{if(o=e.Ai(),B(o)===B(this.c)&&u6(this,null)==e.yi(null))return this.d=5,t=new Ld(2),me(t,this.g),me(t,e.zi()),this.g=t,!0;break}}break}case 5:{switch(c=e.xi(),c){case 3:{if(o=e.Ai(),B(o)===B(this.c)&&u6(this,null)==e.yi(null))return i=u(this.g,14),i.Fc(e.zi()),!0;break}}break}case 4:{switch(c=e.xi(),c){case 3:{if(o=e.Ai(),B(o)===B(this.c)&&u6(this,null)==e.yi(null))return this.d=1,this.g=e.zi(),!0;break}case 4:{if(o=e.Ai(),B(o)===B(this.c)&&u6(this,null)==e.yi(null))return this.d=6,h=new Ld(2),me(h,this.n),me(h,e.Bi()),this.n=h,f=A(M(be,1),Le,25,15,[this.o,e.Ci()]),this.g=f,!0;break}}break}case 6:{switch(c=e.xi(),c){case 4:{if(o=e.Ai(),B(o)===B(this.c)&&u6(this,null)==e.yi(null))return i=u(this.n,14),i.Fc(e.Bi()),f=u(this.g,48),r=F(be,Le,25,f.length+1,15,1),gc(f,0,r,0,f.length),r[f.length]=e.Ci(),this.g=r,!0;break}}break}}return!1},w(vt,"FeatureMapUtil/FeatureENotificationImpl",627),b(552,501,{20:1,28:1,52:1,14:1,15:1,58:1,76:1,153:1,215:1,1937:1,69:1,95:1},IE),s.dl=function(e,t){return fZ(this.c,e,t)},s.el=function(e,t,i){return iZ(this.c,e,t,i)},s.fl=function(e,t,i){return MZ(this.c,e,t,i)},s.gl=function(){return this},s.hl=function(e,t){return W7(this.c,e,t)},s.il=function(e){return u(kM(this.c,this.b,e,!1),72).ak()},s.jl=function(e){return u(kM(this.c,this.b,e,!1),72).dd()},s.kl=function(){return this.a},s.ll=function(e){return!g7(this.c,e)},s.ml=function(e,t){yM(this.c,e,t)},s.nl=function(e){return zIn(this.c,e)},s.ol=function(e){wFn(this.c,e)},w(vt,"FeatureMapUtil/FeatureFeatureMap",552),b(1259,1,GB,Nkn),s.Wj=function(e){return kM(this.b,this.a,-1,e)},s.fj=function(){return!g7(this.b,this.a)},s.Wb=function(e){yM(this.b,this.a,e)},s.Xj=function(){iM(this.b,this.a)},w(vt,"FeatureMapUtil/FeatureValue",1259);var Op,kH,yH,Dp,fee,Ny=Et($A,"AnyType");b(666,60,Uh,VI),w($A,"InvalidDatatypeValueException",666);var sI=Et($A,LGn),By=Et($A,NGn),D1n=Et($A,BGn),hee,oc,$1n,rd,lee,aee,dee,bee,wee,gee,pee,vee,mee,kee,yee,Gg,jee,zg,w9,Eee,D0,Ry,_y,Cee,g9,p9;b(830,506,{105:1,92:1,90:1,56:1,49:1,97:1,843:1},iG),s._g=function(e,t,i){switch(e){case 0:return i?(!this.c&&(this.c=new $t(this,0)),this.c):(!this.c&&(this.c=new $t(this,0)),this.c.b);case 1:return i?(!this.c&&(this.c=new $t(this,0)),u(mc(this.c,(ht(),rd)),153)):(!this.c&&(this.c=new $t(this,0)),u(u(mc(this.c,(ht(),rd)),153),215)).kl();case 2:return i?(!this.b&&(this.b=new $t(this,2)),this.b):(!this.b&&(this.b=new $t(this,2)),this.b.b)}return Cs(this,e-ee(this.zh()),On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():this.zh(),e),t,i)},s.jh=function(e,t,i){var r;switch(t){case 0:return!this.c&&(this.c=new $t(this,0)),q7(this.c,e,i);case 1:return(!this.c&&(this.c=new $t(this,0)),u(u(mc(this.c,(ht(),rd)),153),69)).mk(e,i);case 2:return!this.b&&(this.b=new $t(this,2)),q7(this.b,e,i)}return r=u(On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():this.zh(),t),66),r.Nj().Rj(this,QX(this),t-ee(this.zh()),e,i)},s.lh=function(e){switch(e){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new $t(this,0)),u(mc(this.c,(ht(),rd)),153)).dc();case 2:return!!this.b&&this.b.i!=0}return js(this,e-ee(this.zh()),On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():this.zh(),e))},s.sh=function(e,t){switch(e){case 0:!this.c&&(this.c=new $t(this,0)),j8(this.c,t);return;case 1:(!this.c&&(this.c=new $t(this,0)),u(u(mc(this.c,(ht(),rd)),153),215)).Wb(t);return;case 2:!this.b&&(this.b=new $t(this,2)),j8(this.b,t);return}Ps(this,e-ee(this.zh()),On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():this.zh(),e),t)},s.zh=function(){return ht(),$1n},s.Bh=function(e){switch(e){case 0:!this.c&&(this.c=new $t(this,0)),de(this.c);return;case 1:(!this.c&&(this.c=new $t(this,0)),u(mc(this.c,(ht(),rd)),153)).$b();return;case 2:!this.b&&(this.b=new $t(this,2)),de(this.b);return}As(this,e-ee(this.zh()),On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():this.zh(),e))},s.Ib=function(){var e;return this.j&4?yo(this):(e=new Bs(yo(this)),e.a+=" (mixed: ",w5(e,this.c),e.a+=", anyAttribute: ",w5(e,this.b),e.a+=")",e.a)},w(Wt,"AnyTypeImpl",830),b(667,506,{105:1,92:1,90:1,56:1,49:1,97:1,2021:1,667:1},c3n),s._g=function(e,t,i){switch(e){case 0:return this.a;case 1:return this.b}return Cs(this,e-ee((ht(),Gg)),On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():Gg,e),t,i)},s.lh=function(e){switch(e){case 0:return this.a!=null;case 1:return this.b!=null}return js(this,e-ee((ht(),Gg)),On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():Gg,e))},s.sh=function(e,t){switch(e){case 0:Fte(this,Te(t));return;case 1:xte(this,Te(t));return}Ps(this,e-ee((ht(),Gg)),On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():Gg,e),t)},s.zh=function(){return ht(),Gg},s.Bh=function(e){switch(e){case 0:this.a=null;return;case 1:this.b=null;return}As(this,e-ee((ht(),Gg)),On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():Gg,e))},s.Ib=function(){var e;return this.j&4?yo(this):(e=new Bs(yo(this)),e.a+=" (data: ",dr(e,this.a),e.a+=", target: ",dr(e,this.b),e.a+=")",e.a)},s.a=null,s.b=null,w(Wt,"ProcessingInstructionImpl",667),b(668,830,{105:1,92:1,90:1,56:1,49:1,97:1,843:1,2022:1,668:1},C9n),s._g=function(e,t,i){switch(e){case 0:return i?(!this.c&&(this.c=new $t(this,0)),this.c):(!this.c&&(this.c=new $t(this,0)),this.c.b);case 1:return i?(!this.c&&(this.c=new $t(this,0)),u(mc(this.c,(ht(),rd)),153)):(!this.c&&(this.c=new $t(this,0)),u(u(mc(this.c,(ht(),rd)),153),215)).kl();case 2:return i?(!this.b&&(this.b=new $t(this,2)),this.b):(!this.b&&(this.b=new $t(this,2)),this.b.b);case 3:return!this.c&&(this.c=new $t(this,0)),Te(W7(this.c,(ht(),w9),!0));case 4:return CU(this.a,(!this.c&&(this.c=new $t(this,0)),Te(W7(this.c,(ht(),w9),!0))));case 5:return this.a}return Cs(this,e-ee((ht(),zg)),On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():zg,e),t,i)},s.lh=function(e){switch(e){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new $t(this,0)),u(mc(this.c,(ht(),rd)),153)).dc();case 2:return!!this.b&&this.b.i!=0;case 3:return!this.c&&(this.c=new $t(this,0)),Te(W7(this.c,(ht(),w9),!0))!=null;case 4:return CU(this.a,(!this.c&&(this.c=new $t(this,0)),Te(W7(this.c,(ht(),w9),!0))))!=null;case 5:return!!this.a}return js(this,e-ee((ht(),zg)),On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():zg,e))},s.sh=function(e,t){switch(e){case 0:!this.c&&(this.c=new $t(this,0)),j8(this.c,t);return;case 1:(!this.c&&(this.c=new $t(this,0)),u(u(mc(this.c,(ht(),rd)),153),215)).Wb(t);return;case 2:!this.b&&(this.b=new $t(this,2)),j8(this.b,t);return;case 3:fX(this,Te(t));return;case 4:fX(this,TU(this.a,t));return;case 5:Lte(this,u(t,148));return}Ps(this,e-ee((ht(),zg)),On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():zg,e),t)},s.zh=function(){return ht(),zg},s.Bh=function(e){switch(e){case 0:!this.c&&(this.c=new $t(this,0)),de(this.c);return;case 1:(!this.c&&(this.c=new $t(this,0)),u(mc(this.c,(ht(),rd)),153)).$b();return;case 2:!this.b&&(this.b=new $t(this,2)),de(this.b);return;case 3:!this.c&&(this.c=new $t(this,0)),yM(this.c,(ht(),w9),null);return;case 4:fX(this,TU(this.a,null));return;case 5:this.a=null;return}As(this,e-ee((ht(),zg)),On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():zg,e))},w(Wt,"SimpleAnyTypeImpl",668),b(669,506,{105:1,92:1,90:1,56:1,49:1,97:1,2023:1,669:1},E9n),s._g=function(e,t,i){switch(e){case 0:return i?(!this.a&&(this.a=new $t(this,0)),this.a):(!this.a&&(this.a=new $t(this,0)),this.a.b);case 1:return i?(!this.b&&(this.b=new Wu((Sn(),nr),tc,this,1)),this.b):(!this.b&&(this.b=new Wu((Sn(),nr),tc,this,1)),N8(this.b));case 2:return i?(!this.c&&(this.c=new Wu((Sn(),nr),tc,this,2)),this.c):(!this.c&&(this.c=new Wu((Sn(),nr),tc,this,2)),N8(this.c));case 3:return!this.a&&(this.a=new $t(this,0)),mc(this.a,(ht(),Ry));case 4:return!this.a&&(this.a=new $t(this,0)),mc(this.a,(ht(),_y));case 5:return!this.a&&(this.a=new $t(this,0)),mc(this.a,(ht(),g9));case 6:return!this.a&&(this.a=new $t(this,0)),mc(this.a,(ht(),p9))}return Cs(this,e-ee((ht(),D0)),On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():D0,e),t,i)},s.jh=function(e,t,i){var r;switch(t){case 0:return!this.a&&(this.a=new $t(this,0)),q7(this.a,e,i);case 1:return!this.b&&(this.b=new Wu((Sn(),nr),tc,this,1)),yE(this.b,e,i);case 2:return!this.c&&(this.c=new Wu((Sn(),nr),tc,this,2)),yE(this.c,e,i);case 5:return!this.a&&(this.a=new $t(this,0)),Sjn(mc(this.a,(ht(),g9)),e,i)}return r=u(On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():(ht(),D0),t),66),r.Nj().Rj(this,QX(this),t-ee((ht(),D0)),e,i)},s.lh=function(e){switch(e){case 0:return!!this.a&&this.a.i!=0;case 1:return!!this.b&&this.b.f!=0;case 2:return!!this.c&&this.c.f!=0;case 3:return!this.a&&(this.a=new $t(this,0)),!Zj(mc(this.a,(ht(),Ry)));case 4:return!this.a&&(this.a=new $t(this,0)),!Zj(mc(this.a,(ht(),_y)));case 5:return!this.a&&(this.a=new $t(this,0)),!Zj(mc(this.a,(ht(),g9)));case 6:return!this.a&&(this.a=new $t(this,0)),!Zj(mc(this.a,(ht(),p9)))}return js(this,e-ee((ht(),D0)),On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():D0,e))},s.sh=function(e,t){switch(e){case 0:!this.a&&(this.a=new $t(this,0)),j8(this.a,t);return;case 1:!this.b&&(this.b=new Wu((Sn(),nr),tc,this,1)),fT(this.b,t);return;case 2:!this.c&&(this.c=new Wu((Sn(),nr),tc,this,2)),fT(this.c,t);return;case 3:!this.a&&(this.a=new $t(this,0)),t2(mc(this.a,(ht(),Ry))),!this.a&&(this.a=new $t(this,0)),m5(mc(this.a,Ry),u(t,14));return;case 4:!this.a&&(this.a=new $t(this,0)),t2(mc(this.a,(ht(),_y))),!this.a&&(this.a=new $t(this,0)),m5(mc(this.a,_y),u(t,14));return;case 5:!this.a&&(this.a=new $t(this,0)),t2(mc(this.a,(ht(),g9))),!this.a&&(this.a=new $t(this,0)),m5(mc(this.a,g9),u(t,14));return;case 6:!this.a&&(this.a=new $t(this,0)),t2(mc(this.a,(ht(),p9))),!this.a&&(this.a=new $t(this,0)),m5(mc(this.a,p9),u(t,14));return}Ps(this,e-ee((ht(),D0)),On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():D0,e),t)},s.zh=function(){return ht(),D0},s.Bh=function(e){switch(e){case 0:!this.a&&(this.a=new $t(this,0)),de(this.a);return;case 1:!this.b&&(this.b=new Wu((Sn(),nr),tc,this,1)),this.b.c.$b();return;case 2:!this.c&&(this.c=new Wu((Sn(),nr),tc,this,2)),this.c.c.$b();return;case 3:!this.a&&(this.a=new $t(this,0)),t2(mc(this.a,(ht(),Ry)));return;case 4:!this.a&&(this.a=new $t(this,0)),t2(mc(this.a,(ht(),_y)));return;case 5:!this.a&&(this.a=new $t(this,0)),t2(mc(this.a,(ht(),g9)));return;case 6:!this.a&&(this.a=new $t(this,0)),t2(mc(this.a,(ht(),p9)));return}As(this,e-ee((ht(),D0)),On(this.j&2?(!this.k&&(this.k=new Fo),this.k).ck():D0,e))},s.Ib=function(){var e;return this.j&4?yo(this):(e=new Bs(yo(this)),e.a+=" (mixed: ",w5(e,this.a),e.a+=")",e.a)},w(Wt,"XMLTypeDocumentRootImpl",669),b(1919,704,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1,2024:1},r3n),s.Ih=function(e,t){switch(e.yj()){case 7:case 8:case 9:case 10:case 16:case 22:case 23:case 24:case 25:case 26:case 32:case 33:case 34:case 36:case 37:case 44:case 45:case 50:case 51:case 53:case 55:case 56:case 57:case 58:case 60:case 61:case 4:return t==null?null:Lr(t);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return Te(t);case 6:return uue(u(t,190));case 12:case 47:case 49:case 11:return JRn(this,e,t);case 13:return t==null?null:Wye(u(t,240));case 15:case 14:return t==null?null:ihe(K(Y(t)));case 17:return nxn((ht(),t));case 18:return nxn(t);case 21:case 20:return t==null?null:rhe(u(t,155).a);case 27:return sue(u(t,190));case 30:return gFn((ht(),u(t,15)));case 31:return gFn(u(t,15));case 40:return fue((ht(),t));case 42:return exn((ht(),t));case 43:return exn(t);case 59:case 48:return oue((ht(),t));default:throw T(new Hn(R4+e.ne()+h0))}},s.Jh=function(e){var t,i,r,c,o;switch(e.G==-1&&(e.G=(i=ts(e),i?v1(i.Mh(),e):-1)),e.G){case 0:return t=new iG,t;case 1:return r=new c3n,r;case 2:return c=new C9n,c;case 3:return o=new E9n,o;default:throw T(new Hn(SB+e.zb+h0))}},s.Kh=function(e,t){var i,r,c,o,f,h,l,a,d,g,p,v,m,C,S,$;switch(e.yj()){case 5:case 52:case 4:return t;case 6:return Epe(t);case 8:case 7:return t==null?null:hve(t);case 9:return t==null?null:X8(us((r=jc(t,!0),r.length>0&&(Me(0,r.length),r.charCodeAt(0)==43)?r.substr(1):r),-128,127)<<24>>24);case 10:return t==null?null:X8(us((c=jc(t,!0),c.length>0&&(Me(0,c.length),c.charCodeAt(0)==43)?c.substr(1):c),-128,127)<<24>>24);case 11:return Te(i0(this,(ht(),dee),t));case 12:return Te(i0(this,(ht(),bee),t));case 13:return t==null?null:new CG(jc(t,!0));case 15:case 14:return O9e(t);case 16:return Te(i0(this,(ht(),wee),t));case 17:return j$n((ht(),t));case 18:return j$n(t);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return jc(t,!0);case 21:case 20:return _9e(t);case 22:return Te(i0(this,(ht(),gee),t));case 23:return Te(i0(this,(ht(),pee),t));case 24:return Te(i0(this,(ht(),vee),t));case 25:return Te(i0(this,(ht(),mee),t));case 26:return Te(i0(this,(ht(),kee),t));case 27:return vpe(t);case 30:return E$n((ht(),t));case 31:return E$n(t);case 32:return t==null?null:Q(us((d=jc(t,!0),d.length>0&&(Me(0,d.length),d.charCodeAt(0)==43)?d.substr(1):d),Bi,nt));case 33:return t==null?null:new il((g=jc(t,!0),g.length>0&&(Me(0,g.length),g.charCodeAt(0)==43)?g.substr(1):g));case 34:return t==null?null:Q(us((p=jc(t,!0),p.length>0&&(Me(0,p.length),p.charCodeAt(0)==43)?p.substr(1):p),Bi,nt));case 36:return t==null?null:Ma(MM((v=jc(t,!0),v.length>0&&(Me(0,v.length),v.charCodeAt(0)==43)?v.substr(1):v)));case 37:return t==null?null:Ma(MM((m=jc(t,!0),m.length>0&&(Me(0,m.length),m.charCodeAt(0)==43)?m.substr(1):m)));case 40:return F2e((ht(),t));case 42:return C$n((ht(),t));case 43:return C$n(t);case 44:return t==null?null:new il((C=jc(t,!0),C.length>0&&(Me(0,C.length),C.charCodeAt(0)==43)?C.substr(1):C));case 45:return t==null?null:new il((S=jc(t,!0),S.length>0&&(Me(0,S.length),S.charCodeAt(0)==43)?S.substr(1):S));case 46:return jc(t,!1);case 47:return Te(i0(this,(ht(),yee),t));case 59:case 48:return $2e((ht(),t));case 49:return Te(i0(this,(ht(),jee),t));case 50:return t==null?null:J3(us(($=jc(t,!0),$.length>0&&(Me(0,$.length),$.charCodeAt(0)==43)?$.substr(1):$),PA,32767)<<16>>16);case 51:return t==null?null:J3(us((o=jc(t,!0),o.length>0&&(Me(0,o.length),o.charCodeAt(0)==43)?o.substr(1):o),PA,32767)<<16>>16);case 53:return Te(i0(this,(ht(),Eee),t));case 55:return t==null?null:J3(us((f=jc(t,!0),f.length>0&&(Me(0,f.length),f.charCodeAt(0)==43)?f.substr(1):f),PA,32767)<<16>>16);case 56:return t==null?null:J3(us((h=jc(t,!0),h.length>0&&(Me(0,h.length),h.charCodeAt(0)==43)?h.substr(1):h),PA,32767)<<16>>16);case 57:return t==null?null:Ma(MM((l=jc(t,!0),l.length>0&&(Me(0,l.length),l.charCodeAt(0)==43)?l.substr(1):l)));case 58:return t==null?null:Ma(MM((a=jc(t,!0),a.length>0&&(Me(0,a.length),a.charCodeAt(0)==43)?a.substr(1):a)));case 60:return t==null?null:Q(us((i=jc(t,!0),i.length>0&&(Me(0,i.length),i.charCodeAt(0)==43)?i.substr(1):i),Bi,nt));case 61:return t==null?null:Q(us(jc(t,!0),Bi,nt));default:throw T(new Hn(R4+e.ne()+h0))}};var Tee,F1n,Mee,x1n;w(Wt,"XMLTypeFactoryImpl",1919),b(586,179,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1,1945:1,586:1},fTn),s.N=!1,s.O=!1;var Aee=!1;w(Wt,"XMLTypePackageImpl",586),b(1852,1,{837:1},u3n),s._j=function(){return pZ(),Lee},w(Wt,"XMLTypePackageImpl/1",1852),b(1861,1,qe,s3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/10",1861),b(1862,1,qe,o3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/11",1862),b(1863,1,qe,f3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/12",1863),b(1864,1,qe,h3n),s.wj=function(e){return G0(e)},s.xj=function(e){return F(Mi,q,333,e,7,1)},w(Wt,"XMLTypePackageImpl/13",1864),b(1865,1,qe,l3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/14",1865),b(1866,1,qe,a3n),s.wj=function(e){return I(e,15)},s.xj=function(e){return F(Ds,Ob,15,e,0,1)},w(Wt,"XMLTypePackageImpl/15",1866),b(1867,1,qe,d3n),s.wj=function(e){return I(e,15)},s.xj=function(e){return F(Ds,Ob,15,e,0,1)},w(Wt,"XMLTypePackageImpl/16",1867),b(1868,1,qe,b3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/17",1868),b(1869,1,qe,w3n),s.wj=function(e){return I(e,155)},s.xj=function(e){return F(U4,q,155,e,0,1)},w(Wt,"XMLTypePackageImpl/18",1869),b(1870,1,qe,g3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/19",1870),b(1853,1,qe,p3n),s.wj=function(e){return I(e,843)},s.xj=function(e){return F(Ny,rn,843,e,0,1)},w(Wt,"XMLTypePackageImpl/2",1853),b(1871,1,qe,v3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/20",1871),b(1872,1,qe,m3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/21",1872),b(1873,1,qe,k3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/22",1873),b(1874,1,qe,y3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/23",1874),b(1875,1,qe,j3n),s.wj=function(e){return I(e,190)},s.xj=function(e){return F(yu,q,190,e,0,2)},w(Wt,"XMLTypePackageImpl/24",1875),b(1876,1,qe,E3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/25",1876),b(1877,1,qe,C3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/26",1877),b(1878,1,qe,T3n),s.wj=function(e){return I(e,15)},s.xj=function(e){return F(Ds,Ob,15,e,0,1)},w(Wt,"XMLTypePackageImpl/27",1878),b(1879,1,qe,M3n),s.wj=function(e){return I(e,15)},s.xj=function(e){return F(Ds,Ob,15,e,0,1)},w(Wt,"XMLTypePackageImpl/28",1879),b(1880,1,qe,A3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/29",1880),b(1854,1,qe,S3n),s.wj=function(e){return I(e,667)},s.xj=function(e){return F(sI,rn,2021,e,0,1)},w(Wt,"XMLTypePackageImpl/3",1854),b(1881,1,qe,P3n),s.wj=function(e){return I(e,19)},s.xj=function(e){return F(Wi,q,19,e,0,1)},w(Wt,"XMLTypePackageImpl/30",1881),b(1882,1,qe,I3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/31",1882),b(1883,1,qe,O3n),s.wj=function(e){return I(e,162)},s.xj=function(e){return F(a0,q,162,e,0,1)},w(Wt,"XMLTypePackageImpl/32",1883),b(1884,1,qe,D3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/33",1884),b(1885,1,qe,$3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/34",1885),b(1886,1,qe,F3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/35",1886),b(1887,1,qe,x3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/36",1887),b(1888,1,qe,L3n),s.wj=function(e){return I(e,15)},s.xj=function(e){return F(Ds,Ob,15,e,0,1)},w(Wt,"XMLTypePackageImpl/37",1888),b(1889,1,qe,N3n),s.wj=function(e){return I(e,15)},s.xj=function(e){return F(Ds,Ob,15,e,0,1)},w(Wt,"XMLTypePackageImpl/38",1889),b(1890,1,qe,B3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/39",1890),b(1855,1,qe,R3n),s.wj=function(e){return I(e,668)},s.xj=function(e){return F(By,rn,2022,e,0,1)},w(Wt,"XMLTypePackageImpl/4",1855),b(1891,1,qe,_3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/40",1891),b(1892,1,qe,K3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/41",1892),b(1893,1,qe,H3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/42",1893),b(1894,1,qe,q3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/43",1894),b(1895,1,qe,G3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/44",1895),b(1896,1,qe,z3n),s.wj=function(e){return I(e,184)},s.xj=function(e){return F(d0,q,184,e,0,1)},w(Wt,"XMLTypePackageImpl/45",1896),b(1897,1,qe,U3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/46",1897),b(1898,1,qe,W3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/47",1898),b(1899,1,qe,X3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/48",1899),b(Tl,1,qe,V3n),s.wj=function(e){return I(e,184)},s.xj=function(e){return F(d0,q,184,e,0,1)},w(Wt,"XMLTypePackageImpl/49",Tl),b(1856,1,qe,Q3n),s.wj=function(e){return I(e,669)},s.xj=function(e){return F(D1n,rn,2023,e,0,1)},w(Wt,"XMLTypePackageImpl/5",1856),b(1901,1,qe,J3n),s.wj=function(e){return I(e,162)},s.xj=function(e){return F(a0,q,162,e,0,1)},w(Wt,"XMLTypePackageImpl/50",1901),b(1902,1,qe,Y3n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/51",1902),b(1903,1,qe,Z3n),s.wj=function(e){return I(e,19)},s.xj=function(e){return F(Wi,q,19,e,0,1)},w(Wt,"XMLTypePackageImpl/52",1903),b(1857,1,qe,n4n),s.wj=function(e){return mi(e)},s.xj=function(e){return F(tn,q,2,e,6,1)},w(Wt,"XMLTypePackageImpl/6",1857),b(1858,1,qe,e4n),s.wj=function(e){return I(e,190)},s.xj=function(e){return F(yu,q,190,e,0,2)},w(Wt,"XMLTypePackageImpl/7",1858),b(1859,1,qe,t4n),s.wj=function(e){return q0(e)},s.xj=function(e){return F(si,q,476,e,8,1)},w(Wt,"XMLTypePackageImpl/8",1859),b(1860,1,qe,i4n),s.wj=function(e){return I(e,217)},s.xj=function(e){return F(op,q,217,e,0,1)},w(Wt,"XMLTypePackageImpl/9",1860);var Tf,R1,v9,oI,P;b(50,60,Uh,Ce),w(A1,"RegEx/ParseException",50),b(820,1,{},ZH),s.sl=function(e){return ei*16)throw T(new Ce(Pe((je(),Vqn))));i=i*16+c}while(!0);if(this.a!=125)throw T(new Ce(Pe((je(),Qqn))));if(i>q4)throw T(new Ce(Pe((je(),Jqn))));e=i}else{if(c=0,this.c!=0||(c=Sa(this.a))<0)throw T(new Ce(Pe((je(),M1))));if(i=c,Qe(this),this.c!=0||(c=Sa(this.a))<0)throw T(new Ce(Pe((je(),M1))));i=i*16+c,e=i}break;case 117:if(r=0,Qe(this),this.c!=0||(r=Sa(this.a))<0)throw T(new Ce(Pe((je(),M1))));if(t=r,Qe(this),this.c!=0||(r=Sa(this.a))<0)throw T(new Ce(Pe((je(),M1))));if(t=t*16+r,Qe(this),this.c!=0||(r=Sa(this.a))<0)throw T(new Ce(Pe((je(),M1))));if(t=t*16+r,Qe(this),this.c!=0||(r=Sa(this.a))<0)throw T(new Ce(Pe((je(),M1))));t=t*16+r,e=t;break;case 118:if(Qe(this),this.c!=0||(r=Sa(this.a))<0)throw T(new Ce(Pe((je(),M1))));if(t=r,Qe(this),this.c!=0||(r=Sa(this.a))<0)throw T(new Ce(Pe((je(),M1))));if(t=t*16+r,Qe(this),this.c!=0||(r=Sa(this.a))<0)throw T(new Ce(Pe((je(),M1))));if(t=t*16+r,Qe(this),this.c!=0||(r=Sa(this.a))<0)throw T(new Ce(Pe((je(),M1))));if(t=t*16+r,Qe(this),this.c!=0||(r=Sa(this.a))<0)throw T(new Ce(Pe((je(),M1))));if(t=t*16+r,Qe(this),this.c!=0||(r=Sa(this.a))<0)throw T(new Ce(Pe((je(),M1))));if(t=t*16+r,t>q4)throw T(new Ce(Pe((je(),"parser.descappe.4"))));e=t;break;case 65:case 90:case 122:throw T(new Ce(Pe((je(),Yqn))))}return e},s.ul=function(e){var t,i;switch(e){case 100:i=(this.e&32)==32?El("Nd",!0):(Je(),fI);break;case 68:i=(this.e&32)==32?El("Nd",!1):(Je(),K1n);break;case 119:i=(this.e&32)==32?El("IsWord",!0):(Je(),Iv);break;case 87:i=(this.e&32)==32?El("IsWord",!1):(Je(),q1n);break;case 115:i=(this.e&32)==32?El("IsSpace",!0):(Je(),$p);break;case 83:i=(this.e&32)==32?El("IsSpace",!1):(Je(),H1n);break;default:throw T(new _r((t=e,YGn+t.toString(16))))}return i},s.vl=function(e){var t,i,r,c,o,f,h,l,a,d,g,p;for(this.b=1,Qe(this),t=null,this.c==0&&this.a==94?(Qe(this),e?d=(Je(),Je(),new ns(5)):(t=(Je(),Je(),new ns(4)),yc(t,0,q4),d=new ns(4))):d=(Je(),Je(),new ns(4)),c=!0;(p=this.c)!=1&&!(p==0&&this.a==93&&!c);){if(c=!1,i=this.a,r=!1,p==10)switch(i){case 100:case 68:case 119:case 87:case 115:case 83:Ab(d,this.ul(i)),r=!0;break;case 105:case 73:case 99:case 67:i=this.Ll(d,i),i<0&&(r=!0);break;case 112:case 80:if(g=mY(this,i),!g)throw T(new Ce(Pe((je(),KB))));Ab(d,g),r=!0;break;default:i=this.tl()}else if(p==20){if(f=u3(this.i,58,this.d),f<0)throw T(new Ce(Pe((je(),qtn))));if(h=!0,Di(this.i,this.d)==94&&(++this.d,h=!1),o=Yu(this.i,this.d,f),l=hPn(o,h,(this.e&512)==512),!l)throw T(new Ce(Pe((je(),Gqn))));if(Ab(d,l),r=!0,f+1>=this.j||Di(this.i,f+1)!=93)throw T(new Ce(Pe((je(),qtn))));this.d=f+2}if(Qe(this),!r)if(this.c!=0||this.a!=45)yc(d,i,i);else{if(Qe(this),(p=this.c)==1)throw T(new Ce(Pe((je(),jA))));p==0&&this.a==93?(yc(d,i,i),yc(d,45,45)):(a=this.a,p==10&&(a=this.tl()),Qe(this),yc(d,i,a))}(this.e&Eo)==Eo&&this.c==0&&this.a==44&&Qe(this)}if(this.c==1)throw T(new Ce(Pe((je(),jA))));return t&&(F6(t,d),d=t),Jw(d),D6(d),this.b=0,Qe(this),d},s.wl=function(){var e,t,i,r;for(i=this.vl(!1);(r=this.c)!=7;)if(e=this.a,r==0&&(e==45||e==38)||r==4){if(Qe(this),this.c!=9)throw T(new Ce(Pe((je(),Uqn))));if(t=this.vl(!1),r==4)Ab(i,t);else if(e==45)F6(i,t);else if(e==38)zRn(i,t);else throw T(new _r("ASSERT"))}else throw T(new Ce(Pe((je(),Wqn))));return Qe(this),i},s.xl=function(){var e,t;return e=this.a-48,t=(Je(),Je(),new e$(12,null,e)),!this.g&&(this.g=new lj),hj(this.g,new Nq(e)),Qe(this),t},s.yl=function(){return Qe(this),Je(),Iee},s.zl=function(){return Qe(this),Je(),Pee},s.Al=function(){throw T(new Ce(Pe((je(),Os))))},s.Bl=function(){throw T(new Ce(Pe((je(),Os))))},s.Cl=function(){return Qe(this),xwe()},s.Dl=function(){return Qe(this),Je(),Dee},s.El=function(){return Qe(this),Je(),Fee},s.Fl=function(){var e;if(this.d>=this.j||((e=Di(this.i,this.d++))&65504)!=64)throw T(new Ce(Pe((je(),Kqn))));return Qe(this),Je(),Je(),new th(0,e-64)},s.Gl=function(){return Qe(this),vye()},s.Hl=function(){return Qe(this),Je(),xee},s.Il=function(){var e;return e=(Je(),Je(),new th(0,105)),Qe(this),e},s.Jl=function(){return Qe(this),Je(),$ee},s.Kl=function(){return Qe(this),Je(),Oee},s.Ll=function(e,t){return this.tl()},s.Ml=function(){return Qe(this),Je(),R1n},s.Nl=function(){var e,t,i,r,c;if(this.d+1>=this.j)throw T(new Ce(Pe((je(),Bqn))));if(r=-1,t=null,e=Di(this.i,this.d),49<=e&&e<=57){if(r=e-48,!this.g&&(this.g=new lj),hj(this.g,new Nq(r)),++this.d,Di(this.i,this.d)!=41)throw T(new Ce(Pe((je(),_a))));++this.d}else switch(e==63&&--this.d,Qe(this),t=HZ(this),t.e){case 20:case 21:case 22:case 23:break;case 8:if(this.c!=7)throw T(new Ce(Pe((je(),_a))));break;default:throw T(new Ce(Pe((je(),Rqn))))}if(Qe(this),c=Wd(this),i=null,c.e==2){if(c.em()!=2)throw T(new Ce(Pe((je(),_qn))));i=c.am(1),c=c.am(0)}if(this.c!=7)throw T(new Ce(Pe((je(),_a))));return Qe(this),Je(),Je(),new HPn(r,t,c,i)},s.Ol=function(){return Qe(this),Je(),_1n},s.Pl=function(){var e;if(Qe(this),e=UE(24,Wd(this)),this.c!=7)throw T(new Ce(Pe((je(),_a))));return Qe(this),e},s.Ql=function(){var e;if(Qe(this),e=UE(20,Wd(this)),this.c!=7)throw T(new Ce(Pe((je(),_a))));return Qe(this),e},s.Rl=function(){var e;if(Qe(this),e=UE(22,Wd(this)),this.c!=7)throw T(new Ce(Pe((je(),_a))));return Qe(this),e},s.Sl=function(){var e,t,i,r,c;for(e=0,i=0,t=-1;this.d=this.j)throw T(new Ce(Pe((je(),Ktn))));if(t==45){for(++this.d;this.d=this.j)throw T(new Ce(Pe((je(),Ktn))))}if(t==58){if(++this.d,Qe(this),r=WCn(Wd(this),e,i),this.c!=7)throw T(new Ce(Pe((je(),_a))));Qe(this)}else if(t==41)++this.d,Qe(this),r=WCn(Wd(this),e,i);else throw T(new Ce(Pe((je(),Nqn))));return r},s.Tl=function(){var e;if(Qe(this),e=UE(21,Wd(this)),this.c!=7)throw T(new Ce(Pe((je(),_a))));return Qe(this),e},s.Ul=function(){var e;if(Qe(this),e=UE(23,Wd(this)),this.c!=7)throw T(new Ce(Pe((je(),_a))));return Qe(this),e},s.Vl=function(){var e,t;if(Qe(this),e=this.f++,t=SD(Wd(this),e),this.c!=7)throw T(new Ce(Pe((je(),_a))));return Qe(this),t},s.Wl=function(){var e;if(Qe(this),e=SD(Wd(this),0),this.c!=7)throw T(new Ce(Pe((je(),_a))));return Qe(this),e},s.Xl=function(e){return Qe(this),this.c==5?(Qe(this),LE(e,(Je(),Je(),new ib(9,e)))):LE(e,(Je(),Je(),new ib(3,e)))},s.Yl=function(e){var t;return Qe(this),t=(Je(),Je(),new v5(2)),this.c==5?(Qe(this),Oa(t,k9),Oa(t,e)):(Oa(t,e),Oa(t,k9)),t},s.Zl=function(e){return Qe(this),this.c==5?(Qe(this),Je(),Je(),new ib(9,e)):(Je(),Je(),new ib(3,e))},s.a=0,s.b=0,s.c=0,s.d=0,s.e=0,s.f=1,s.g=null,s.j=0,w(A1,"RegEx/RegexParser",820),b(1824,820,{},T9n),s.sl=function(e){return!1},s.tl=function(){return ZY(this)},s.ul=function(e){return v4(e)},s.vl=function(e){return N_n(this)},s.wl=function(){throw T(new Ce(Pe((je(),Os))))},s.xl=function(){throw T(new Ce(Pe((je(),Os))))},s.yl=function(){throw T(new Ce(Pe((je(),Os))))},s.zl=function(){throw T(new Ce(Pe((je(),Os))))},s.Al=function(){return Qe(this),v4(67)},s.Bl=function(){return Qe(this),v4(73)},s.Cl=function(){throw T(new Ce(Pe((je(),Os))))},s.Dl=function(){throw T(new Ce(Pe((je(),Os))))},s.El=function(){throw T(new Ce(Pe((je(),Os))))},s.Fl=function(){return Qe(this),v4(99)},s.Gl=function(){throw T(new Ce(Pe((je(),Os))))},s.Hl=function(){throw T(new Ce(Pe((je(),Os))))},s.Il=function(){return Qe(this),v4(105)},s.Jl=function(){throw T(new Ce(Pe((je(),Os))))},s.Kl=function(){throw T(new Ce(Pe((je(),Os))))},s.Ll=function(e,t){return Ab(e,v4(t)),-1},s.Ml=function(){return Qe(this),Je(),Je(),new th(0,94)},s.Nl=function(){throw T(new Ce(Pe((je(),Os))))},s.Ol=function(){return Qe(this),Je(),Je(),new th(0,36)},s.Pl=function(){throw T(new Ce(Pe((je(),Os))))},s.Ql=function(){throw T(new Ce(Pe((je(),Os))))},s.Rl=function(){throw T(new Ce(Pe((je(),Os))))},s.Sl=function(){throw T(new Ce(Pe((je(),Os))))},s.Tl=function(){throw T(new Ce(Pe((je(),Os))))},s.Ul=function(){throw T(new Ce(Pe((je(),Os))))},s.Vl=function(){var e;if(Qe(this),e=SD(Wd(this),0),this.c!=7)throw T(new Ce(Pe((je(),_a))));return Qe(this),e},s.Wl=function(){throw T(new Ce(Pe((je(),Os))))},s.Xl=function(e){return Qe(this),LE(e,(Je(),Je(),new ib(3,e)))},s.Yl=function(e){var t;return Qe(this),t=(Je(),Je(),new v5(2)),Oa(t,e),Oa(t,k9),t},s.Zl=function(e){return Qe(this),Je(),Je(),new ib(3,e)};var Ug=null,Sv=null;w(A1,"RegEx/ParserForXMLSchema",1824),b(117,1,G4,cd),s.$l=function(e){throw T(new _r("Not supported."))},s._l=function(){return-1},s.am=function(e){return null},s.bm=function(){return null},s.cm=function(e){},s.dm=function(e){},s.em=function(){return 0},s.Ib=function(){return this.fm(0)},s.fm=function(e){return this.e==11?".":""},s.e=0;var L1n,Pv,m9,See,N1n,aw=null,fI,jH=null,B1n,k9,EH=null,R1n,_1n,K1n,H1n,q1n,Pee,$p,Iee,Oee,Dee,$ee,Iv,Fee,xee,aMe=w(A1,"RegEx/Token",117);b(136,117,{3:1,136:1,117:1},ns),s.fm=function(e){var t,i,r;if(this.e==4)if(this==B1n)i=".";else if(this==fI)i="\\d";else if(this==Iv)i="\\w";else if(this==$p)i="\\s";else{for(r=new i1,r.a+="[",t=0;t0&&(r.a+=","),this.b[t]===this.b[t+1]?dr(r,U7(this.b[t])):(dr(r,U7(this.b[t])),r.a+="-",dr(r,U7(this.b[t+1])));r.a+="]",i=r.a}else if(this==K1n)i="\\D";else if(this==q1n)i="\\W";else if(this==H1n)i="\\S";else{for(r=new i1,r.a+="[^",t=0;t0&&(r.a+=","),this.b[t]===this.b[t+1]?dr(r,U7(this.b[t])):(dr(r,U7(this.b[t])),r.a+="-",dr(r,U7(this.b[t+1])));r.a+="]",i=r.a}return i},s.a=!1,s.c=!1,w(A1,"RegEx/RangeToken",136),b(584,1,{584:1},Nq),s.a=0,w(A1,"RegEx/RegexParser/ReferencePosition",584),b(583,1,{3:1,583:1},L8n),s.Fb=function(e){var t;return e==null||!I(e,583)?!1:(t=u(e,583),An(this.b,t.b)&&this.a==t.a)},s.Hb=function(){return m1(this.b+"/"+WY(this.a))},s.Ib=function(){return this.c.fm(this.a)},s.a=0,w(A1,"RegEx/RegularExpression",583),b(223,117,G4,th),s._l=function(){return this.a},s.fm=function(e){var t,i,r;switch(this.e){case 0:switch(this.a){case 124:case 42:case 43:case 63:case 40:case 41:case 46:case 91:case 123:case 92:r="\\"+eD(this.a&Ut);break;case 12:r="\\f";break;case 10:r="\\n";break;case 13:r="\\r";break;case 9:r="\\t";break;case 27:r="\\e";break;default:this.a>=Yi?(i=(t=this.a>>>0,"0"+t.toString(16)),r="\\v"+Yu(i,i.length-6,i.length)):r=""+eD(this.a&Ut)}break;case 8:this==R1n||this==_1n?r=""+eD(this.a&Ut):r="\\"+eD(this.a&Ut);break;default:r=null}return r},s.a=0,w(A1,"RegEx/Token/CharToken",223),b(309,117,G4,ib),s.am=function(e){return this.a},s.cm=function(e){this.b=e},s.dm=function(e){this.c=e},s.em=function(){return 1},s.fm=function(e){var t;if(this.e==3)if(this.c<0&&this.b<0)t=this.a.fm(e)+"*";else if(this.c==this.b)t=this.a.fm(e)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)t=this.a.fm(e)+"{"+this.c+","+this.b+"}";else if(this.c>=0&&this.b<0)t=this.a.fm(e)+"{"+this.c+",}";else throw T(new _r("Token#toString(): CLOSURE "+this.c+Ji+this.b));else if(this.c<0&&this.b<0)t=this.a.fm(e)+"*?";else if(this.c==this.b)t=this.a.fm(e)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)t=this.a.fm(e)+"{"+this.c+","+this.b+"}?";else if(this.c>=0&&this.b<0)t=this.a.fm(e)+"{"+this.c+",}?";else throw T(new _r("Token#toString(): NONGREEDYCLOSURE "+this.c+Ji+this.b));return t},s.b=0,s.c=0,w(A1,"RegEx/Token/ClosureToken",309),b(821,117,G4,PW),s.am=function(e){return e==0?this.a:this.b},s.em=function(){return 2},s.fm=function(e){var t;return this.b.e==3&&this.b.am(0)==this.a?t=this.a.fm(e)+"+":this.b.e==9&&this.b.am(0)==this.a?t=this.a.fm(e)+"+?":t=this.a.fm(e)+(""+this.b.fm(e)),t},w(A1,"RegEx/Token/ConcatToken",821),b(1822,117,G4,HPn),s.am=function(e){if(e==0)return this.d;if(e==1)return this.b;throw T(new _r("Internal Error: "+e))},s.em=function(){return this.b?2:1},s.fm=function(e){var t;return this.c>0?t="(?("+this.c+")":this.a.e==8?t="(?("+this.a+")":t="(?"+this.a,this.b?t+=this.d+"|"+this.b+")":t+=this.d+")",t},s.c=0,w(A1,"RegEx/Token/ConditionToken",1822),b(1823,117,G4,HMn),s.am=function(e){return this.b},s.em=function(){return 1},s.fm=function(e){return"(?"+(this.a==0?"":WY(this.a))+(this.c==0?"":WY(this.c))+":"+this.b.fm(e)+")"},s.a=0,s.c=0,w(A1,"RegEx/Token/ModifierToken",1823),b(822,117,G4,xW),s.am=function(e){return this.a},s.em=function(){return 1},s.fm=function(e){var t;switch(t=null,this.e){case 6:this.b==0?t="(?:"+this.a.fm(e)+")":t="("+this.a.fm(e)+")";break;case 20:t="(?="+this.a.fm(e)+")";break;case 21:t="(?!"+this.a.fm(e)+")";break;case 22:t="(?<="+this.a.fm(e)+")";break;case 23:t="(?"+this.a.fm(e)+")"}return t},s.b=0,w(A1,"RegEx/Token/ParenToken",822),b(521,117,{3:1,117:1,521:1},e$),s.bm=function(){return this.b},s.fm=function(e){return this.e==12?"\\"+this.a:Mme(this.b)},s.a=0,w(A1,"RegEx/Token/StringToken",521),b(465,117,G4,v5),s.$l=function(e){Oa(this,e)},s.am=function(e){return u(Md(this.a,e),117)},s.em=function(){return this.a?this.a.a.c.length:0},s.fm=function(e){var t,i,r,c,o;if(this.e==1){if(this.a.a.c.length==2)t=u(Md(this.a,0),117),i=u(Md(this.a,1),117),i.e==3&&i.am(0)==t?c=t.fm(e)+"+":i.e==9&&i.am(0)==t?c=t.fm(e)+"+?":c=t.fm(e)+(""+i.fm(e));else{for(o=new i1,r=0;r=this.c.b:this.a<=this.c.b},s.Sb=function(){return this.b>0},s.Tb=function(){return this.b},s.Vb=function(){return this.b-1},s.Qb=function(){throw T(new t1(czn))},s.a=0,s.b=0,w(oin,"ExclusiveRange/RangeIterator",254);var Ls=g3(EA,"C"),be=g3(om,"I"),_u=g3(X2,"Z"),Yl=g3(fm,"J"),yu=g3(cm,"B"),ji=g3(um,"D"),dw=g3(sm,"F"),Wg=g3(hm,"S"),dMe=Et("org.eclipse.elk.core.labels","ILabelManager"),G1n=Et(Ui,"DiagnosticChain"),z1n=Et($Gn,"ResourceSet"),U1n=w(Ui,"InvocationTargetException",null),Nee=(gj(),rde),Bee=Bee=W4e;Z0e(Ute),Tbe("permProps",[[[LA,NA],[BA,"gecko1_8"]],[[LA,NA],[BA,"ie10"]],[[LA,NA],[BA,"ie8"]],[[LA,NA],[BA,"ie9"]],[[LA,NA],[BA,"safari"]]]),Bee(null,"elk",null)}).call(this)}).call(this,typeof Hee<"u"?Hee:typeof self<"u"?self:typeof window<"u"?window:{})},{}],3:[function(ut,dt,Bt){function Ai(qt,Ge){if(!(qt instanceof Ge))throw new TypeError("Cannot call a class as a function")}function j(qt,Ge){if(!qt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Ge&&(typeof Ge=="object"||typeof Ge=="function")?Ge:qt}function Ht(qt,Ge){if(typeof Ge!="function"&&Ge!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof Ge);qt.prototype=Object.create(Ge&&Ge.prototype,{constructor:{value:qt,enumerable:!1,writable:!0,configurable:!0}}),Ge&&(Object.setPrototypeOf?Object.setPrototypeOf(qt,Ge):qt.__proto__=Ge)}var ou=ut("./elk-api.js").default,Ot=function(qt){Ht(Ge,qt);function Ge(){var Ki=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ai(this,Ge);var Si=Object.assign({},Ki),Mn=!1;try{ut.resolve("web-worker"),Mn=!0}catch{}if(Ki.workerUrl)if(Mn){var Lc=ut("web-worker");Si.workerFactory=function(Rr){return new Lc(Rr)}}else console.warn(`Web worker requested but 'web-worker' package not installed. -Consider installing the package or pass your own 'workerFactory' to ELK's constructor. -... Falling back to non-web worker version.`);if(!Si.workerFactory){var Nc=ut("./elk-worker.min.js"),ps=Nc.Worker;Si.workerFactory=function(Rr){return new ps(Rr)}}return j(this,(Ge.__proto__||Object.getPrototypeOf(Ge)).call(this,Si))}return Ge}(ou);Object.defineProperty(dt.exports,"__esModule",{value:!0}),dt.exports=Ot,Ot.default=Ot},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(ut,dt,Bt){dt.exports=Worker},{}]},{},[3])(3)})})(Uee);var CMe=Uee.exports;const TMe=gMe(CMe),MMe=(Ee,It,ut)=>{const{parentById:dt}=ut,Bt=new Set;let Ai=Ee;for(;Ai;){if(Bt.add(Ai),Ai===It)return Ai;Ai=dt[Ai]}for(Ai=It;Ai;){if(Bt.has(Ai))return Ai;Ai=dt[Ai]}return"root"},qee=new TMe;let x0={};const AMe={};let Lp={};const SMe=async function(Ee,It,ut,dt,Bt,Ai,j){const ou=ut.select(`[id="${It}"]`).insert("g").attr("class","nodes"),Ot=Object.keys(Ee);return await Promise.all(Ot.map(async function(qt){const Ge=Ee[qt];let Ki="default";Ge.classes.length>0&&(Ki=Ge.classes.join(" ")),Ki=Ki+" flowchart-label";const Si=V1n(Ge.styles);let Mn=Ge.text!==void 0?Ge.text:Ge.id;const Lc={width:0,height:0},Nc=[{id:Ge.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:Ge.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:Ge.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:Ge.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let ps=0,Rr="",Ch={};switch(Ge.type){case"round":ps=5,Rr="rect";break;case"square":Rr="rect";break;case"diamond":Rr="question",Ch={portConstraints:"FIXED_SIDE"};break;case"hexagon":Rr="hexagon";break;case"odd":Rr="rect_left_inv_arrow";break;case"lean_right":Rr="lean_right";break;case"lean_left":Rr="lean_left";break;case"trapezoid":Rr="trapezoid";break;case"inv_trapezoid":Rr="inv_trapezoid";break;case"odd_right":Rr="rect_left_inv_arrow";break;case"circle":Rr="circle";break;case"ellipse":Rr="ellipse";break;case"stadium":Rr="stadium";break;case"subroutine":Rr="subroutine";break;case"cylinder":Rr="cylinder";break;case"group":Rr="rect";break;case"doublecircle":Rr="doublecircle";break;default:Rr="rect"}const H1={labelStyle:Si.labelStyle,shape:Rr,labelText:Mn,labelType:Ge.labelType,rx:ps,ry:ps,class:Ki,style:Si.style,id:Ge.id,link:Ge.link,linkTarget:Ge.linkTarget,tooltip:Bt.db.getTooltip(Ge.id)||"",domId:Bt.db.lookUpDomId(Ge.id),haveCallback:Ge.haveCallback,width:Ge.type==="group"?500:void 0,dir:Ge.dir,type:Ge.type,props:Ge.props,padding:OH().flowchart.padding};let q1,ww;if(H1.type!=="group")ww=await kMe(ou,H1,Ge.dir),q1=ww.node().getBBox();else{dt.createElementNS("http://www.w3.org/2000/svg","text");const{shapeSvg:G1,bbox:Th}=await yMe(ou,H1,void 0,!0);Lc.width=Th.width,Lc.wrappingWidth=OH().flowchart.wrappingWidth,Lc.height=Th.height,Lc.labelNode=G1.node(),H1.labelData=Lc}const Np={id:Ge.id,ports:Ge.type==="diamond"?Nc:[],layoutOptions:Ch,labelText:Mn,labelData:Lc,domId:Bt.db.lookUpDomId(Ge.id),width:q1==null?void 0:q1.width,height:q1==null?void 0:q1.height,type:Ge.type,el:ww,parent:Ai.parentById[Ge.id]};Lp[H1.id]=Np})),j},Gee=(Ee,It,ut)=>{const dt={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return dt.TD=dt.TB,K1.info("abc88",ut,It,Ee),dt[ut][It][Ee]},zee=(Ee,It,ut)=>{if(K1.info("getNextPort abc88",{node:Ee,edgeDirection:It,graphDirection:ut}),!x0[Ee])switch(ut){case"TB":case"TD":x0[Ee]={inPosition:"north",outPosition:"south"};break;case"BT":x0[Ee]={inPosition:"south",outPosition:"north"};break;case"RL":x0[Ee]={inPosition:"east",outPosition:"west"};break;case"LR":x0[Ee]={inPosition:"west",outPosition:"east"};break}const dt=It==="in"?x0[Ee].inPosition:x0[Ee].outPosition;return It==="in"?x0[Ee].inPosition=Gee(x0[Ee].inPosition,It,ut):x0[Ee].outPosition=Gee(x0[Ee].outPosition,It,ut),dt},PMe=(Ee,It)=>{let ut=Ee.start,dt=Ee.end;const Bt=ut,Ai=dt,j=Lp[ut],Ht=Lp[dt];return!j||!Ht?{source:ut,target:dt}:(j.type==="diamond"&&(ut=`${ut}-${zee(ut,"out",It)}`),Ht.type==="diamond"&&(dt=`${dt}-${zee(dt,"in",It)}`),{source:ut,target:dt,sourceId:Bt,targetId:Ai})},IMe=function(Ee,It,ut,dt){K1.info("abc78 edges = ",Ee);const Bt=dt.insert("g").attr("class","edgeLabels");let Ai={},j=It.db.getDirection(),Ht,ou;if(Ee.defaultStyle!==void 0){const Ot=V1n(Ee.defaultStyle);Ht=Ot.style,ou=Ot.labelStyle}return Ee.forEach(function(Ot){const qt="L-"+Ot.start+"-"+Ot.end;Ai[qt]===void 0?(Ai[qt]=0,K1.info("abc78 new entry",qt,Ai[qt])):(Ai[qt]++,K1.info("abc78 new entry",qt,Ai[qt]));let Ge=qt+"-"+Ai[qt];K1.info("abc78 new link id to be used is",qt,Ge,Ai[qt]);const Ki="LS-"+Ot.start,Si="LE-"+Ot.end,Mn={style:"",labelStyle:""};switch(Mn.minlen=Ot.length||1,Ot.type==="arrow_open"?Mn.arrowhead="none":Mn.arrowhead="normal",Mn.arrowTypeStart="arrow_open",Mn.arrowTypeEnd="arrow_open",Ot.type){case"double_arrow_cross":Mn.arrowTypeStart="arrow_cross";case"arrow_cross":Mn.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":Mn.arrowTypeStart="arrow_point";case"arrow_point":Mn.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":Mn.arrowTypeStart="arrow_circle";case"arrow_circle":Mn.arrowTypeEnd="arrow_circle";break}let Lc="",Nc="";switch(Ot.stroke){case"normal":Lc="fill:none;",Ht!==void 0&&(Lc=Ht),ou!==void 0&&(Nc=ou),Mn.thickness="normal",Mn.pattern="solid";break;case"dotted":Mn.thickness="normal",Mn.pattern="dotted",Mn.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":Mn.thickness="thick",Mn.pattern="solid",Mn.style="stroke-width: 3.5px;fill:none;";break}if(Ot.style!==void 0){const ww=V1n(Ot.style);Lc=ww.style,Nc=ww.labelStyle}Mn.style=Mn.style+=Lc,Mn.labelStyle=Mn.labelStyle+=Nc,Ot.interpolate!==void 0?Mn.curve=X1n(Ot.interpolate,IH):Ee.defaultInterpolate!==void 0?Mn.curve=X1n(Ee.defaultInterpolate,IH):Mn.curve=X1n(AMe.curve,IH),Ot.text===void 0?Ot.style!==void 0&&(Mn.arrowheadStyle="fill: #333"):(Mn.arrowheadStyle="fill: #333",Mn.labelpos="c"),Mn.labelType=Ot.labelType,Mn.label=Ot.text.replace(vMe.lineBreakRegex,` -`),Ot.style===void 0&&(Mn.style=Mn.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),Mn.labelStyle=Mn.labelStyle.replace("color:","fill:"),Mn.id=Ge,Mn.classes="flowchart-link "+Ki+" "+Si;const ps=jMe(Bt,Mn),{source:Rr,target:Ch,sourceId:H1,targetId:q1}=PMe(Ot,j);K1.debug("abc78 source and target",Rr,Ch),ut.edges.push({id:"e"+Ot.start+Ot.end,sources:[Rr],targets:[Ch],sourceId:H1,targetId:q1,labelEl:ps,labels:[{width:Mn.width,height:Mn.height,orgWidth:Mn.width,orgHeight:Mn.height,text:Mn.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:Mn})}),ut},OMe=function(Ee,It,ut,dt){let Bt="";switch(dt&&(Bt=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,Bt=Bt.replace(/\(/g,"\\("),Bt=Bt.replace(/\)/g,"\\)")),It.arrowTypeStart){case"arrow_cross":Ee.attr("marker-start","url("+Bt+"#"+ut+"-crossStart)");break;case"arrow_point":Ee.attr("marker-start","url("+Bt+"#"+ut+"-pointStart)");break;case"arrow_barb":Ee.attr("marker-start","url("+Bt+"#"+ut+"-barbStart)");break;case"arrow_circle":Ee.attr("marker-start","url("+Bt+"#"+ut+"-circleStart)");break;case"aggregation":Ee.attr("marker-start","url("+Bt+"#"+ut+"-aggregationStart)");break;case"extension":Ee.attr("marker-start","url("+Bt+"#"+ut+"-extensionStart)");break;case"composition":Ee.attr("marker-start","url("+Bt+"#"+ut+"-compositionStart)");break;case"dependency":Ee.attr("marker-start","url("+Bt+"#"+ut+"-dependencyStart)");break;case"lollipop":Ee.attr("marker-start","url("+Bt+"#"+ut+"-lollipopStart)");break}switch(It.arrowTypeEnd){case"arrow_cross":Ee.attr("marker-end","url("+Bt+"#"+ut+"-crossEnd)");break;case"arrow_point":Ee.attr("marker-end","url("+Bt+"#"+ut+"-pointEnd)");break;case"arrow_barb":Ee.attr("marker-end","url("+Bt+"#"+ut+"-barbEnd)");break;case"arrow_circle":Ee.attr("marker-end","url("+Bt+"#"+ut+"-circleEnd)");break;case"aggregation":Ee.attr("marker-end","url("+Bt+"#"+ut+"-aggregationEnd)");break;case"extension":Ee.attr("marker-end","url("+Bt+"#"+ut+"-extensionEnd)");break;case"composition":Ee.attr("marker-end","url("+Bt+"#"+ut+"-compositionEnd)");break;case"dependency":Ee.attr("marker-end","url("+Bt+"#"+ut+"-dependencyEnd)");break;case"lollipop":Ee.attr("marker-end","url("+Bt+"#"+ut+"-lollipopEnd)");break}},DMe=function(Ee,It){K1.info("Extracting classes"),It.db.clear("ver-2");try{return It.parse(Ee),It.db.getClasses()}catch{return{}}},$Me=function(Ee){const It={parentById:{},childrenById:{}},ut=Ee.getSubGraphs();return K1.info("Subgraphs - ",ut),ut.forEach(function(dt){dt.nodes.forEach(function(Bt){It.parentById[Bt]=dt.id,It.childrenById[dt.id]===void 0&&(It.childrenById[dt.id]=[]),It.childrenById[dt.id].push(Bt)})}),ut.forEach(function(dt){dt.id,It.parentById[dt.id]!==void 0&&It.parentById[dt.id]}),It},FMe=function(Ee,It,ut){const dt=MMe(Ee,It,ut);if(dt===void 0||dt==="root")return{x:0,y:0};const Bt=Lp[dt].offset;return{x:Bt.posX,y:Bt.posY}},xMe=function(Ee,It,ut,dt,Bt){const Ai=FMe(It.sourceId,It.targetId,Bt),j=It.sections[0].startPoint,Ht=It.sections[0].endPoint,Ot=(It.sections[0].bendPoints?It.sections[0].bendPoints:[]).map(Nc=>[Nc.x+Ai.x,Nc.y+Ai.y]),qt=[[j.x+Ai.x,j.y+Ai.y],...Ot,[Ht.x+Ai.x,Ht.y+Ai.y]],Ge=EMe().curve(IH),Ki=Ee.insert("path").attr("d",Ge(qt)).attr("class","path "+ut.classes).attr("fill","none"),Si=Ee.insert("g").attr("class","edgeLabel"),Mn=lI(Si.node().appendChild(It.labelEl)),Lc=Mn.node().firstChild.getBoundingClientRect();Mn.attr("width",Lc.width),Mn.attr("height",Lc.height),Si.attr("transform",`translate(${It.labels[0].x+Ai.x}, ${It.labels[0].y+Ai.y})`),OMe(Ki,ut,dt.type,dt.arrowMarkerAbsolute)},Wee=(Ee,It)=>{Ee.forEach(ut=>{ut.children||(ut.children=[]);const dt=It.childrenById[ut.id];dt&&dt.forEach(Bt=>{ut.children.push(Lp[Bt])}),Wee(ut.children,It)})},LMe=async function(Ee,It,ut,dt){var Bt;dt.db.clear(),Lp={},x0={},dt.db.setGen("gen-2"),dt.parser.parse(Ee);const Ai=lI("body").append("div").attr("style","height:400px").attr("id","cy");let j={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(K1.info("Drawing flowchart using v3 renderer",qee),dt.db.getDirection()){case"BT":j.layoutOptions["elk.direction"]="UP";break;case"TB":j.layoutOptions["elk.direction"]="DOWN";break;case"LR":j.layoutOptions["elk.direction"]="RIGHT";break;case"RL":j.layoutOptions["elk.direction"]="LEFT";break}const{securityLevel:ou,flowchart:Ot}=OH();let qt;ou==="sandbox"&&(qt=lI("#i"+It));const Ge=ou==="sandbox"?lI(qt.nodes()[0].contentDocument.body):lI("body"),Ki=ou==="sandbox"?qt.nodes()[0].contentDocument:document,Si=Ge.select(`[id="${It}"]`);mMe(Si,["point","circle","cross"],dt.type,dt.arrowMarkerAbsolute);const Lc=dt.db.getVertices();let Nc;const ps=dt.db.getSubGraphs();K1.info("Subgraphs - ",ps);for(let G1=ps.length-1;G1>=0;G1--)Nc=ps[G1],dt.db.addVertex(Nc.id,{text:Nc.title,type:Nc.labelType},"group",void 0,Nc.classes,Nc.dir);const Rr=Si.insert("g").attr("class","subgraphs"),Ch=$Me(dt.db);j=await SMe(Lc,It,Ge,Ki,dt,Ch,j);const H1=Si.insert("g").attr("class","edges edgePath"),q1=dt.db.getEdges();j=IMe(q1,dt,j,Si),Object.keys(Lp).forEach(G1=>{const Th=Lp[G1];Th.parent||j.children.push(Th),Ch.childrenById[G1]!==void 0&&(Th.labels=[{text:Th.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:Th.labelData.width,height:Th.labelData.height}],delete Th.x,delete Th.y,delete Th.width,delete Th.height)}),Wee(j.children,Ch),K1.info("after layout",JSON.stringify(j,null,2));const Np=await qee.layout(j);Xee(0,0,Np.children,Si,Rr,dt,0),K1.info("after layout",Np),(Bt=Np.edges)==null||Bt.map(G1=>{xMe(H1,G1,G1.edgeData,dt,Ch)}),pMe({},Si,Ot.diagramPadding,Ot.useMaxWidth),Ai.remove()},Xee=(Ee,It,ut,dt,Bt,Ai,j)=>{ut.forEach(function(Ht){if(Ht)if(Lp[Ht.id].offset={posX:Ht.x+Ee,posY:Ht.y+It,x:Ee,y:It,depth:j,width:Ht.width,height:Ht.height},Ht.type==="group"){const ou=Bt.insert("g").attr("class","subgraph");ou.insert("rect").attr("class","subgraph subgraph-lvl-"+j%5+" node").attr("x",Ht.x+Ee).attr("y",Ht.y+It).attr("width",Ht.width).attr("height",Ht.height);const Ot=ou.insert("g").attr("class","label"),qt=OH().flowchart.htmlLabels?Ht.labelData.width/2:0;Ot.attr("transform",`translate(${Ht.labels[0].x+Ee+Ht.x+qt}, ${Ht.labels[0].y+It+Ht.y+3})`),Ot.node().appendChild(Ht.labelData.labelNode),K1.info("Id (UGH)= ",Ht.type,Ht.labels)}else K1.info("Id (UGH)= ",Ht.id),Ht.el.attr("transform",`translate(${Ht.x+Ee+Ht.width/2}, ${Ht.y+It+Ht.height/2})`)}),ut.forEach(function(Ht){Ht&&Ht.type==="group"&&Xee(Ee+Ht.x,It+Ht.y,Ht.children,dt,Bt,Ai,j+1)})},NMe={getClasses:DMe,draw:LMe},BMe=Ee=>{let It="";for(let ut=0;ut<5;ut++)It+=` - .subgraph-lvl-${ut} { - fill: ${Ee[`surface${ut}`]}; - stroke: ${Ee[`surfacePeer${ut}`]}; - } - `;return It},RMe=Ee=>`.label { - font-family: ${Ee.fontFamily}; - color: ${Ee.nodeTextColor||Ee.textColor}; - } - .cluster-label text { - fill: ${Ee.titleColor}; - } - .cluster-label span { - color: ${Ee.titleColor}; - } - - .label text,span { - fill: ${Ee.nodeTextColor||Ee.textColor}; - color: ${Ee.nodeTextColor||Ee.textColor}; - } - - .node rect, - .node circle, - .node ellipse, - .node polygon, - .node path { - fill: ${Ee.mainBkg}; - stroke: ${Ee.nodeBorder}; - stroke-width: 1px; - } - - .node .label { - text-align: center; - } - .node.clickable { - cursor: pointer; - } - - .arrowheadPath { - fill: ${Ee.arrowheadColor}; - } - - .edgePath .path { - stroke: ${Ee.lineColor}; - stroke-width: 2.0px; - } - - .flowchart-link { - stroke: ${Ee.lineColor}; - fill: none; - } - - .edgeLabel { - background-color: ${Ee.edgeLabelBackground}; - rect { - opacity: 0.85; - background-color: ${Ee.edgeLabelBackground}; - fill: ${Ee.edgeLabelBackground}; - } - text-align: center; - } - - .cluster rect { - fill: ${Ee.clusterBkg}; - stroke: ${Ee.clusterBorder}; - stroke-width: 1px; - } - - .cluster text { - fill: ${Ee.titleColor}; - } - - .cluster span { - color: ${Ee.titleColor}; - } - /* .cluster div { - color: ${Ee.titleColor}; - } */ - - div.mermaidTooltip { - position: absolute; - text-align: center; - max-width: 200px; - padding: 2px; - font-family: ${Ee.fontFamily}; - font-size: 12px; - background: ${Ee.tertiaryColor}; - border: 1px solid ${Ee.border2}; - border-radius: 2px; - pointer-events: none; - z-index: 100; - } - - .flowchartTitleText { - text-anchor: middle; - font-size: 18px; - fill: ${Ee.textColor}; - } - .subgraph { - stroke-width:2; - rx:3; - } - // .subgraph-lvl-1 { - // fill:#ccc; - // // stroke:black; - // } - - .flowchart-label text { - text-anchor: middle; - } - - ${BMe(Ee)} -`,_Me=RMe,JMe={db:bMe,renderer:NMe,parser:wMe,styles:_Me};export{JMe as diagram}; diff --git a/pr-333/assets/chunks/framework.8df7efef.js b/pr-333/assets/chunks/framework.8df7efef.js deleted file mode 100644 index 55e04b555..000000000 --- a/pr-333/assets/chunks/framework.8df7efef.js +++ /dev/null @@ -1,2 +0,0 @@ -function ss(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}const ne={},ft=[],Fe=()=>{},qi=()=>!1,Vi=/^on[^a-z]/,Kt=e=>Vi.test(e),rs=e=>e.startsWith("onUpdate:"),oe=Object.assign,is=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Yi=Object.prototype.hasOwnProperty,J=(e,t)=>Yi.call(e,t),j=Array.isArray,ut=e=>_n(e)==="[object Map]",Ir=e=>_n(e)==="[object Set]",W=e=>typeof e=="function",re=e=>typeof e=="string",os=e=>typeof e=="symbol",te=e=>e!==null&&typeof e=="object",Or=e=>te(e)&&W(e.then)&&W(e.catch),Mr=Object.prototype.toString,_n=e=>Mr.call(e),Ji=e=>_n(e).slice(8,-1),Lr=e=>_n(e)==="[object Object]",ls=e=>re(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,It=ss(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),bn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Xi=/-(\w)/g,Be=bn(e=>e.replace(Xi,(t,n)=>n?n.toUpperCase():"")),zi=/\B([A-Z])/g,it=bn(e=>e.replace(zi,"-$1").toLowerCase()),yn=bn(e=>e.charAt(0).toUpperCase()+e.slice(1)),sn=bn(e=>e?`on${yn(e)}`:""),St=(e,t)=>!Object.is(e,t),rn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},jn=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Br=e=>{const t=re(e)?Number(e):NaN;return isNaN(t)?e:t};let Ns;const Dn=()=>Ns||(Ns=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function cs(e){if(j(e)){const t={};for(let n=0;n{if(n){const s=n.split(Qi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function as(e){let t="";if(re(e))t=e;else if(j(e))for(let n=0;nre(e)?e:e==null?"":j(e)||te(e)&&(e.toString===Mr||!W(e.toString))?JSON.stringify(e,Hr,2):String(e),Hr=(e,t)=>t&&t.__v_isRef?Hr(e,t.value):ut(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:Ir(t)?{[`Set(${t.size})`]:[...t.values()]}:te(t)&&!j(t)&&!Lr(t)?String(t):t;let be;class so{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=be,!t&&be&&(this.index=(be.scopes||(be.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=be;try{return be=this,t()}finally{be=n}}}on(){be=this}off(){be=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},Sr=e=>(e.w&Ve)>0,$r=e=>(e.n&Ve)>0,oo=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(h==="length"||h>=c)&&l.push(a)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":j(e)?ls(n)&&l.push(o.get("length")):(l.push(o.get(st)),ut(e)&&l.push(o.get(Wn)));break;case"delete":j(e)||(l.push(o.get(st)),ut(e)&&l.push(o.get(Wn)));break;case"set":ut(e)&&l.push(o.get(st));break}if(l.length===1)l[0]&&qn(l[0]);else{const c=[];for(const a of l)a&&c.push(...a);qn(fs(c))}}function qn(e,t){const n=j(e)?e:[...e];for(const s of n)s.computed&&Ss(s);for(const s of n)s.computed||Ss(s)}function Ss(e,t){(e!==Re||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function co(e,t){var n;return(n=fn.get(e))==null?void 0:n.get(t)}const ao=ss("__proto__,__v_isRef,__isVue"),jr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(os)),fo=ds(),uo=ds(!1,!0),ho=ds(!0),$s=po();function po(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=X(this);for(let i=0,o=this.length;i{e[t]=function(...n){Et();const s=X(this)[t].apply(this,n);return xt(),s}}),e}function go(e){const t=X(this);return me(t,"has",e),t.hasOwnProperty(e)}function ds(e=!1,t=!1){return function(s,r,i){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&i===(e?t?Oo:Vr:t?qr:Wr).get(s))return s;const o=j(s);if(!e){if(o&&J($s,r))return Reflect.get($s,r,i);if(r==="hasOwnProperty")return go}const l=Reflect.get(s,r,i);return(os(r)?jr.has(r):ao(r))||(e||me(s,"get",r),t)?l:ce(l)?o&&ls(r)?l:l.value:te(l)?e?Yr(l):wn(l):l}}const mo=Dr(),_o=Dr(!0);function Dr(e=!1){return function(n,s,r,i){let o=n[s];if(bt(o)&&ce(o)&&!ce(r))return!1;if(!e&&(!un(r)&&!bt(r)&&(o=X(o),r=X(r)),!j(n)&&ce(o)&&!ce(r)))return o.value=r,!0;const l=j(n)&&ls(s)?Number(s)e,vn=e=>Reflect.getPrototypeOf(e);function Yt(e,t,n=!1,s=!1){e=e.__v_raw;const r=X(e),i=X(t);n||(t!==i&&me(r,"get",t),me(r,"get",i));const{has:o}=vn(r),l=s?hs:n?ms:$t;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function Jt(e,t=!1){const n=this.__v_raw,s=X(n),r=X(e);return t||(e!==r&&me(s,"has",e),me(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Xt(e,t=!1){return e=e.__v_raw,!t&&me(X(e),"iterate",st),Reflect.get(e,"size",e)}function Us(e){e=X(e);const t=X(this);return vn(t).has.call(t,e)||(t.add(e),Se(t,"add",e,e)),this}function ks(e,t){t=X(t);const n=X(this),{has:s,get:r}=vn(n);let i=s.call(n,e);i||(e=X(e),i=s.call(n,e));const o=r.call(n,e);return n.set(e,t),i?St(t,o)&&Se(n,"set",e,t):Se(n,"add",e,t),this}function js(e){const t=X(this),{has:n,get:s}=vn(t);let r=n.call(t,e);r||(e=X(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&Se(t,"delete",e,void 0),i}function Ds(){const e=X(this),t=e.size!==0,n=e.clear();return t&&Se(e,"clear",void 0,void 0),n}function zt(e,t){return function(s,r){const i=this,o=i.__v_raw,l=X(o),c=t?hs:e?ms:$t;return!e&&me(l,"iterate",st),o.forEach((a,h)=>s.call(r,c(a),c(h),i))}}function Zt(e,t,n){return function(...s){const r=this.__v_raw,i=X(r),o=ut(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,a=r[e](...s),h=n?hs:t?ms:$t;return!t&&me(i,"iterate",c?Wn:st),{next(){const{value:d,done:p}=a.next();return p?{value:d,done:p}:{value:l?[h(d[0]),h(d[1])]:h(d),done:p}},[Symbol.iterator](){return this}}}}function Ue(e){return function(...t){return e==="delete"?!1:this}}function Eo(){const e={get(i){return Yt(this,i)},get size(){return Xt(this)},has:Jt,add:Us,set:ks,delete:js,clear:Ds,forEach:zt(!1,!1)},t={get(i){return Yt(this,i,!1,!0)},get size(){return Xt(this)},has:Jt,add:Us,set:ks,delete:js,clear:Ds,forEach:zt(!1,!0)},n={get(i){return Yt(this,i,!0)},get size(){return Xt(this,!0)},has(i){return Jt.call(this,i,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:zt(!0,!1)},s={get(i){return Yt(this,i,!0,!0)},get size(){return Xt(this,!0)},has(i){return Jt.call(this,i,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:zt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=Zt(i,!1,!1),n[i]=Zt(i,!0,!1),t[i]=Zt(i,!1,!0),s[i]=Zt(i,!0,!0)}),[e,n,t,s]}const[xo,To,Ao,Ro]=Eo();function ps(e,t){const n=t?e?Ro:Ao:e?To:xo;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(J(n,r)&&r in s?n:s,r,i)}const Fo={get:ps(!1,!1)},Po={get:ps(!1,!0)},Io={get:ps(!0,!1)},Wr=new WeakMap,qr=new WeakMap,Vr=new WeakMap,Oo=new WeakMap;function Mo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Lo(e){return e.__v_skip||!Object.isExtensible(e)?0:Mo(Ji(e))}function wn(e){return bt(e)?e:gs(e,!1,Kr,Fo,Wr)}function Bo(e){return gs(e,!1,Co,Po,qr)}function Yr(e){return gs(e,!0,wo,Io,Vr)}function gs(e,t,n,s,r){if(!te(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=Lo(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function dt(e){return bt(e)?dt(e.__v_raw):!!(e&&e.__v_isReactive)}function bt(e){return!!(e&&e.__v_isReadonly)}function un(e){return!!(e&&e.__v_isShallow)}function Jr(e){return dt(e)||bt(e)}function X(e){const t=e&&e.__v_raw;return t?X(t):e}function Ot(e){return an(e,"__v_skip",!0),e}const $t=e=>te(e)?wn(e):e,ms=e=>te(e)?Yr(e):e;function _s(e){We&&Re&&(e=X(e),kr(e.dep||(e.dep=fs())))}function bs(e,t){e=X(e);const n=e.dep;n&&qn(n)}function ce(e){return!!(e&&e.__v_isRef===!0)}function ht(e){return Xr(e,!1)}function No(e){return Xr(e,!0)}function Xr(e,t){return ce(e)?e:new Ho(e,t)}class Ho{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:X(t),this._value=n?t:$t(t)}get value(){return _s(this),this._value}set value(t){const n=this.__v_isShallow||un(t)||bt(t);t=n?t:X(t),St(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:$t(t),bs(this))}}function So(e){return ce(e)?e.value:e}const $o={get:(e,t,n)=>So(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ce(r)&&!ce(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function zr(e){return dt(e)?e:new Proxy(e,$o)}class Uo{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>_s(this),()=>bs(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function ra(e){return new Uo(e)}class ko{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return co(X(this._object),this._key)}}class jo{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function ia(e,t,n){return ce(e)?e:W(e)?new jo(e):te(e)&&arguments.length>1?Do(e,t,n):ht(e)}function Do(e,t,n){const s=e[t];return ce(s)?s:new ko(e,t,n)}class Ko{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new us(t,()=>{this._dirty||(this._dirty=!0,bs(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=X(this);return _s(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Wo(e,t,n=!1){let s,r;const i=W(e);return i?(s=e,r=Fe):(s=e.get,r=e.set),new Ko(s,r,i||!r,n)}function qe(e,t,n,s){let r;try{r=s?e(...s):e()}catch(i){Tt(i,t,n)}return r}function xe(e,t,n,s){if(W(e)){const i=qe(e,t,n,s);return i&&Or(i)&&i.catch(o=>{Tt(o,t,n)}),i}const r=[];for(let i=0;i>>1;kt(ue[s])Me&&ue.splice(t,1)}function ei(e){j(e)?pt.push(...e):(!He||!He.includes(e,e.allowRecurse?Ge+1:Ge))&&pt.push(e),Gr()}function Ks(e,t=Ut?Me+1:0){for(;tkt(n)-kt(s)),Ge=0;Gee.id==null?1/0:e.id,Jo=(e,t)=>{const n=kt(e)-kt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function ti(e){Vn=!1,Ut=!0,ue.sort(Jo);const t=Fe;try{for(Me=0;Mere(w)?w.trim():w)),d&&(r=n.map(jn))}let l,c=s[l=sn(t)]||s[l=sn(Be(t))];!c&&i&&(c=s[l=sn(it(t))]),c&&xe(c,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,xe(a,e,6,r)}}function ni(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!W(e)){const c=a=>{const h=ni(a,t,!0);h&&(l=!0,oe(o,h))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(te(e)&&s.set(e,null),null):(j(i)?i.forEach(c=>o[c]=null):oe(o,i),te(e)&&s.set(e,o),o)}function En(e,t){return!e||!Kt(t)?!1:(t=t.slice(2).replace(/Once$/,""),J(e,t[0].toLowerCase()+t.slice(1))||J(e,it(t))||J(e,t))}let ae=null,xn=null;function hn(e){const t=ae;return ae=e,xn=e&&e.type.__scopeId||null,t}function oa(e){xn=e}function la(){xn=null}function zo(e,t=ae,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&sr(-1);const i=hn(t);let o;try{o=e(...r)}finally{hn(i),s._d&&sr(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function Ln(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:i,propsOptions:[o],slots:l,attrs:c,emit:a,render:h,renderCache:d,data:p,setupState:w,ctx:x,inheritAttrs:F}=e;let N,m;const _=hn(e);try{if(n.shapeFlag&4){const b=r||s;N=we(h.call(b,b,d,i,w,p,x)),m=c}else{const b=t;N=we(b.length>1?b(i,{attrs:c,slots:l,emit:a}):b(i,null)),m=t.props?c:Qo(c)}}catch(b){Nt.length=0,Tt(b,e,1),N=se(he)}let H=N;if(m&&F!==!1){const b=Object.keys(m),{shapeFlag:I}=H;b.length&&I&7&&(o&&b.some(rs)&&(m=Go(m,o)),H=Ye(H,m))}return n.dirs&&(H=Ye(H),H.dirs=H.dirs?H.dirs.concat(n.dirs):n.dirs),n.transition&&(H.transition=n.transition),N=H,hn(_),N}function Zo(e){let t;for(let n=0;n{let t;for(const n in e)(n==="class"||n==="style"||Kt(n))&&((t||(t={}))[n]=e[n]);return t},Go=(e,t)=>{const n={};for(const s in e)(!rs(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function el(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Ws(s,o,a):!!o;if(c&8){const h=t.dynamicProps;for(let d=0;de.__isSuspense,nl={name:"Suspense",__isSuspense:!0,process(e,t,n,s,r,i,o,l,c,a){e==null?sl(t,n,s,r,i,o,l,c,a):rl(e,t,n,s,r,o,l,c,a)},hydrate:il,create:ws,normalize:ol},ca=nl;function jt(e,t){const n=e.props&&e.props[t];W(n)&&n()}function sl(e,t,n,s,r,i,o,l,c){const{p:a,o:{createElement:h}}=c,d=h("div"),p=e.suspense=ws(e,r,s,t,d,n,i,o,l,c);a(null,p.pendingBranch=e.ssContent,d,null,s,p,i,o),p.deps>0?(jt(e,"onPending"),jt(e,"onFallback"),a(null,e.ssFallback,t,n,s,null,i,o),gt(p,e.ssFallback)):p.resolve(!1,!0)}function rl(e,t,n,s,r,i,o,l,{p:c,um:a,o:{createElement:h}}){const d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;const p=t.ssContent,w=t.ssFallback,{activeBranch:x,pendingBranch:F,isInFallback:N,isHydrating:m}=d;if(F)d.pendingBranch=p,Le(p,F)?(c(F,p,d.hiddenContainer,null,r,d,i,o,l),d.deps<=0?d.resolve():N&&(c(x,w,n,s,r,null,i,o,l),gt(d,w))):(d.pendingId++,m?(d.isHydrating=!1,d.activeBranch=F):a(F,r,d),d.deps=0,d.effects.length=0,d.hiddenContainer=h("div"),N?(c(null,p,d.hiddenContainer,null,r,d,i,o,l),d.deps<=0?d.resolve():(c(x,w,n,s,r,null,i,o,l),gt(d,w))):x&&Le(p,x)?(c(x,p,n,s,r,d,i,o,l),d.resolve(!0)):(c(null,p,d.hiddenContainer,null,r,d,i,o,l),d.deps<=0&&d.resolve()));else if(x&&Le(p,x))c(x,p,n,s,r,d,i,o,l),gt(d,p);else if(jt(t,"onPending"),d.pendingBranch=p,d.pendingId++,c(null,p,d.hiddenContainer,null,r,d,i,o,l),d.deps<=0)d.resolve();else{const{timeout:_,pendingId:H}=d;_>0?setTimeout(()=>{d.pendingId===H&&d.fallback(w)},_):_===0&&d.fallback(w)}}function ws(e,t,n,s,r,i,o,l,c,a,h=!1){const{p:d,m:p,um:w,n:x,o:{parentNode:F,remove:N}}=a;let m;const _=ll(e);_&&t!=null&&t.pendingBranch&&(m=t.pendingId,t.deps++);const H=e.props?Br(e.props.timeout):void 0,b={vnode:e,parent:t,parentComponent:n,isSVG:o,container:s,hiddenContainer:r,anchor:i,deps:0,pendingId:0,timeout:typeof H=="number"?H:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:h,isUnmounted:!1,effects:[],resolve(I=!1,D=!1){const{vnode:S,activeBranch:E,pendingBranch:B,pendingId:$,effects:K,parentComponent:O,container:V}=b;if(b.isHydrating)b.isHydrating=!1;else if(!I){const z=E&&B.transition&&B.transition.mode==="out-in";z&&(E.transition.afterLeave=()=>{$===b.pendingId&&p(B,V,Q,0)});let{anchor:Q}=b;E&&(Q=x(E),w(E,O,b,!0)),z||p(B,V,Q,0)}gt(b,B),b.pendingBranch=null,b.isInFallback=!1;let M=b.parent,fe=!1;for(;M;){if(M.pendingBranch){M.effects.push(...K),fe=!0;break}M=M.parent}fe||ei(K),b.effects=[],_&&t&&t.pendingBranch&&m===t.pendingId&&(t.deps--,t.deps===0&&!D&&t.resolve()),jt(S,"onResolve")},fallback(I){if(!b.pendingBranch)return;const{vnode:D,activeBranch:S,parentComponent:E,container:B,isSVG:$}=b;jt(D,"onFallback");const K=x(S),O=()=>{b.isInFallback&&(d(null,I,B,K,E,null,$,l,c),gt(b,I))},V=I.transition&&I.transition.mode==="out-in";V&&(S.transition.afterLeave=O),b.isInFallback=!0,w(S,E,null,!0),V||O()},move(I,D,S){b.activeBranch&&p(b.activeBranch,I,D,S),b.container=I},next(){return b.activeBranch&&x(b.activeBranch)},registerDep(I,D){const S=!!b.pendingBranch;S&&b.deps++;const E=I.vnode.el;I.asyncDep.catch(B=>{Tt(B,I,0)}).then(B=>{if(I.isUnmounted||b.isUnmounted||b.pendingId!==I.suspenseId)return;I.asyncResolved=!0;const{vnode:$}=I;es(I,B,!1),E&&($.el=E);const K=!E&&I.subTree.el;D(I,$,F(E||I.subTree.el),E?null:x(I.subTree),b,o,c),K&&N(K),vs(I,$.el),S&&--b.deps===0&&b.resolve()})},unmount(I,D){b.isUnmounted=!0,b.activeBranch&&w(b.activeBranch,n,I,D),b.pendingBranch&&w(b.pendingBranch,n,I,D)}};return b}function il(e,t,n,s,r,i,o,l,c){const a=t.suspense=ws(t,s,n,e.parentNode,document.createElement("div"),null,r,i,o,l,!0),h=c(e,a.pendingBranch=t.ssContent,n,a,i,o);return a.deps===0&&a.resolve(!1,!0),h}function ol(e){const{shapeFlag:t,children:n}=e,s=t&32;e.ssContent=qs(s?n.default:n),e.ssFallback=s?qs(n.fallback):se(he)}function qs(e){let t;if(W(e)){const n=vt&&e._c;n&&(e._d=!1,Rs()),e=e(),n&&(e._d=!0,t=Ee,Ci())}return j(e)&&(e=Zo(e)),e=we(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function si(e,t){t&&t.pendingBranch?j(e)?t.effects.push(...e):t.effects.push(e):ei(e)}function gt(e,t){e.activeBranch=t;const{vnode:n,parentComponent:s}=e,r=n.el=t.el;s&&s.subTree===n&&(s.vnode.el=r,vs(s,r))}function ll(e){var t;return((t=e.props)==null?void 0:t.suspensible)!=null&&e.props.suspensible!==!1}function cl(e,t){return Tn(e,null,t)}function aa(e,t){return Tn(e,null,{flush:"post"})}const Qt={};function on(e,t,n){return Tn(e,t,n)}function Tn(e,t,{immediate:n,deep:s,flush:r,onTrack:i,onTrigger:o}=ne){var l;const c=io()===((l=le)==null?void 0:l.scope)?le:null;let a,h=!1,d=!1;if(ce(e)?(a=()=>e.value,h=un(e)):dt(e)?(a=()=>e,s=!0):j(e)?(d=!0,h=e.some(b=>dt(b)||un(b)),a=()=>e.map(b=>{if(ce(b))return b.value;if(dt(b))return tt(b);if(W(b))return qe(b,c,2)})):W(e)?t?a=()=>qe(e,c,2):a=()=>{if(!(c&&c.isUnmounted))return p&&p(),xe(e,c,3,[w])}:a=Fe,t&&s){const b=a;a=()=>tt(b())}let p,w=b=>{p=_.onStop=()=>{qe(b,c,4)}},x;if(Ct)if(w=Fe,t?n&&xe(t,c,3,[a(),d?[]:void 0,w]):a(),r==="sync"){const b=sc();x=b.__watcherHandles||(b.__watcherHandles=[])}else return Fe;let F=d?new Array(e.length).fill(Qt):Qt;const N=()=>{if(_.active)if(t){const b=_.run();(s||h||(d?b.some((I,D)=>St(I,F[D])):St(b,F)))&&(p&&p(),xe(t,c,3,[b,F===Qt?void 0:d&&F[0]===Qt?[]:F,w]),F=b)}else _.run()};N.allowRecurse=!!t;let m;r==="sync"?m=N:r==="post"?m=()=>pe(N,c&&c.suspense):(N.pre=!0,c&&(N.id=c.uid),m=()=>Cn(N));const _=new us(a,m);t?n?N():F=_.run():r==="post"?pe(_.run.bind(_),c&&c.suspense):_.run();const H=()=>{_.stop(),c&&c.scope&&is(c.scope.effects,_)};return x&&x.push(H),H}function al(e,t,n){const s=this.proxy,r=re(e)?e.includes(".")?ri(s,e):()=>s[e]:e.bind(s,s);let i;W(t)?i=t:(i=t.handler,n=t);const o=le;wt(this);const l=Tn(r,i.bind(s),n);return o?wt(o):rt(),l}function ri(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{tt(n,t)});else if(Lr(e))for(const n in e)tt(e[n],t);return e}function fa(e,t){const n=ae;if(n===null)return e;const s=In(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let i=0;i{e.isMounted=!0}),ai(()=>{e.isUnmounting=!0}),e}const ye=[Function,Array],ii={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ye,onEnter:ye,onAfterEnter:ye,onEnterCancelled:ye,onBeforeLeave:ye,onLeave:ye,onAfterLeave:ye,onLeaveCancelled:ye,onBeforeAppear:ye,onAppear:ye,onAfterAppear:ye,onAppearCancelled:ye},ul={name:"BaseTransition",props:ii,setup(e,{slots:t}){const n=Fi(),s=fl();let r;return()=>{const i=t.default&&li(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const F of i)if(F.type!==he){o=F;break}}const l=X(e),{mode:c}=l;if(s.isLeaving)return Bn(o);const a=Vs(o);if(!a)return Bn(o);const h=Yn(a,l,s,n);Jn(a,h);const d=n.subTree,p=d&&Vs(d);let w=!1;const{getTransitionKey:x}=a.type;if(x){const F=x();r===void 0?r=F:F!==r&&(r=F,w=!0)}if(p&&p.type!==he&&(!Le(a,p)||w)){const F=Yn(p,l,s,n);if(Jn(p,F),c==="out-in")return s.isLeaving=!0,F.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},Bn(o);c==="in-out"&&a.type!==he&&(F.delayLeave=(N,m,_)=>{const H=oi(s,p);H[String(p.key)]=p,N._leaveCb=()=>{m(),N._leaveCb=void 0,delete h.delayedLeave},h.delayedLeave=_})}return o}}},dl=ul;function oi(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Yn(e,t,n,s){const{appear:r,mode:i,persisted:o=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:h,onBeforeLeave:d,onLeave:p,onAfterLeave:w,onLeaveCancelled:x,onBeforeAppear:F,onAppear:N,onAfterAppear:m,onAppearCancelled:_}=t,H=String(e.key),b=oi(n,e),I=(E,B)=>{E&&xe(E,s,9,B)},D=(E,B)=>{const $=B[1];I(E,B),j(E)?E.every(K=>K.length<=1)&&$():E.length<=1&&$()},S={mode:i,persisted:o,beforeEnter(E){let B=l;if(!n.isMounted)if(r)B=F||l;else return;E._leaveCb&&E._leaveCb(!0);const $=b[H];$&&Le(e,$)&&$.el._leaveCb&&$.el._leaveCb(),I(B,[E])},enter(E){let B=c,$=a,K=h;if(!n.isMounted)if(r)B=N||c,$=m||a,K=_||h;else return;let O=!1;const V=E._enterCb=M=>{O||(O=!0,M?I(K,[E]):I($,[E]),S.delayedLeave&&S.delayedLeave(),E._enterCb=void 0)};B?D(B,[E,V]):V()},leave(E,B){const $=String(e.key);if(E._enterCb&&E._enterCb(!0),n.isUnmounting)return B();I(d,[E]);let K=!1;const O=E._leaveCb=V=>{K||(K=!0,B(),V?I(x,[E]):I(w,[E]),E._leaveCb=void 0,b[$]===e&&delete b[$])};b[$]=e,p?D(p,[E,O]):O()},clone(E){return Yn(E,t,n,s)}};return S}function Bn(e){if(Wt(e))return e=Ye(e),e.children=null,e}function Vs(e){return Wt(e)?e.children?e.children[0]:void 0:e}function Jn(e,t){e.shapeFlag&6&&e.component?Jn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function li(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;ioe({name:e.name},t,{setup:e}))():e}const mt=e=>!!e.type.__asyncLoader;function ua(e){W(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,timeout:i,suspensible:o=!0,onError:l}=e;let c=null,a,h=0;const d=()=>(h++,c=null,p()),p=()=>{let w;return c||(w=c=t().catch(x=>{if(x=x instanceof Error?x:new Error(String(x)),l)return new Promise((F,N)=>{l(x,()=>F(d()),()=>N(x),h+1)});throw x}).then(x=>w!==c&&c?c:(x&&(x.__esModule||x[Symbol.toStringTag]==="Module")&&(x=x.default),a=x,x)))};return Cs({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return a},setup(){const w=le;if(a)return()=>Nn(a,w);const x=_=>{c=null,Tt(_,w,13,!s)};if(o&&w.suspense||Ct)return p().then(_=>()=>Nn(_,w)).catch(_=>(x(_),()=>s?se(s,{error:_}):null));const F=ht(!1),N=ht(),m=ht(!!r);return r&&setTimeout(()=>{m.value=!1},r),i!=null&&setTimeout(()=>{if(!F.value&&!N.value){const _=new Error(`Async component timed out after ${i}ms.`);x(_),N.value=_}},i),p().then(()=>{F.value=!0,w.parent&&Wt(w.parent.vnode)&&Cn(w.parent.update)}).catch(_=>{x(_),N.value=_}),()=>{if(F.value&&a)return Nn(a,w);if(N.value&&s)return se(s,{error:N.value});if(n&&!m.value)return se(n)}}})}function Nn(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=se(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const Wt=e=>e.type.__isKeepAlive;function hl(e,t){ci(e,"a",t)}function pl(e,t){ci(e,"da",t)}function ci(e,t,n=le){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(An(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Wt(r.parent.vnode)&&gl(s,t,n,r),r=r.parent}}function gl(e,t,n,s){const r=An(t,e,s,!0);Fn(()=>{is(s[t],r)},n)}function An(e,t,n=le,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;Et(),wt(n);const l=xe(t,n,e,o);return rt(),xt(),l});return s?r.unshift(i):r.push(i),i}}const $e=e=>(t,n=le)=>(!Ct||e==="sp")&&An(e,(...s)=>t(...s),n),ml=$e("bm"),Rn=$e("m"),_l=$e("bu"),bl=$e("u"),ai=$e("bum"),Fn=$e("um"),yl=$e("sp"),vl=$e("rtg"),wl=$e("rtc");function Cl(e,t=le){An("ec",e,t)}const Es="components";function da(e,t){return ui(Es,e,!0,t)||e}const fi=Symbol.for("v-ndc");function ha(e){return re(e)?ui(Es,e,!1)||e:e||fi}function ui(e,t,n=!0,s=!1){const r=ae||le;if(r){const i=r.type;if(e===Es){const l=ec(i,!1);if(l&&(l===t||l===Be(t)||l===yn(Be(t))))return i}const o=Ys(r[e]||i[e],t)||Ys(r.appContext[e],t);return!o&&s?i:o}}function Ys(e,t){return e&&(e[t]||e[Be(t)]||e[yn(Be(t))])}function pa(e,t,n,s){let r;const i=n&&n[s];if(j(e)||re(e)){r=new Array(e.length);for(let o=0,l=e.length;ot(o,l,void 0,i&&i[l]));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,c=o.length;lDt(t)?!(t.type===he||t.type===ge&&!di(t.children)):!0)?e:null}function ma(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:sn(s)]=e[s];return n}const Xn=e=>e?Pi(e)?In(e)||e.proxy:Xn(e.parent):null,Mt=oe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Xn(e.parent),$root:e=>Xn(e.root),$emit:e=>e.emit,$options:e=>xs(e),$forceUpdate:e=>e.f||(e.f=()=>Cn(e.update)),$nextTick:e=>e.n||(e.n=Qr.bind(e.proxy)),$watch:e=>al.bind(e)}),Hn=(e,t)=>e!==ne&&!e.__isScriptSetup&&J(e,t),El={get({_:e},t){const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const w=o[t];if(w!==void 0)switch(w){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(Hn(s,t))return o[t]=1,s[t];if(r!==ne&&J(r,t))return o[t]=2,r[t];if((a=e.propsOptions[0])&&J(a,t))return o[t]=3,i[t];if(n!==ne&&J(n,t))return o[t]=4,n[t];zn&&(o[t]=0)}}const h=Mt[t];let d,p;if(h)return t==="$attrs"&&me(e,"get",t),h(e);if((d=l.__cssModules)&&(d=d[t]))return d;if(n!==ne&&J(n,t))return o[t]=4,n[t];if(p=c.config.globalProperties,J(p,t))return p[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return Hn(r,t)?(r[t]=n,!0):s!==ne&&J(s,t)?(s[t]=n,!0):J(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==ne&&J(e,o)||Hn(t,o)||(l=i[0])&&J(l,o)||J(s,o)||J(Mt,o)||J(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:J(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function _a(){return xl().slots}function xl(){const e=Fi();return e.setupContext||(e.setupContext=Oi(e))}function Js(e){return j(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let zn=!0;function Tl(e){const t=xs(e),n=e.proxy,s=e.ctx;zn=!1,t.beforeCreate&&Xs(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:a,created:h,beforeMount:d,mounted:p,beforeUpdate:w,updated:x,activated:F,deactivated:N,beforeDestroy:m,beforeUnmount:_,destroyed:H,unmounted:b,render:I,renderTracked:D,renderTriggered:S,errorCaptured:E,serverPrefetch:B,expose:$,inheritAttrs:K,components:O,directives:V,filters:M}=t;if(a&&Al(a,s,null),o)for(const Q in o){const G=o[Q];W(G)&&(s[Q]=G.bind(n))}if(r){const Q=r.call(n,n);te(Q)&&(e.data=wn(Q))}if(zn=!0,i)for(const Q in i){const G=i[Q],Je=W(G)?G.bind(n,n):W(G.get)?G.get.bind(n,n):Fe,qt=!W(G)&&W(G.set)?G.set.bind(n):Fe,Xe=Ae({get:Je,set:qt});Object.defineProperty(s,Q,{enumerable:!0,configurable:!0,get:()=>Xe.value,set:Pe=>Xe.value=Pe})}if(l)for(const Q in l)hi(l[Q],s,n,Q);if(c){const Q=W(c)?c.call(n):c;Reflect.ownKeys(Q).forEach(G=>{Ml(G,Q[G])})}h&&Xs(h,e,"c");function z(Q,G){j(G)?G.forEach(Je=>Q(Je.bind(n))):G&&Q(G.bind(n))}if(z(ml,d),z(Rn,p),z(_l,w),z(bl,x),z(hl,F),z(pl,N),z(Cl,E),z(wl,D),z(vl,S),z(ai,_),z(Fn,b),z(yl,B),j($))if($.length){const Q=e.exposed||(e.exposed={});$.forEach(G=>{Object.defineProperty(Q,G,{get:()=>n[G],set:Je=>n[G]=Je})})}else e.exposed||(e.exposed={});I&&e.render===Fe&&(e.render=I),K!=null&&(e.inheritAttrs=K),O&&(e.components=O),V&&(e.directives=V)}function Al(e,t,n=Fe){j(e)&&(e=Zn(e));for(const s in e){const r=e[s];let i;te(r)?"default"in r?i=_t(r.from||s,r.default,!0):i=_t(r.from||s):i=_t(r),ce(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function Xs(e,t,n){xe(j(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function hi(e,t,n,s){const r=s.includes(".")?ri(n,s):()=>n[s];if(re(e)){const i=t[e];W(i)&&on(r,i)}else if(W(e))on(r,e.bind(n));else if(te(e))if(j(e))e.forEach(i=>hi(i,t,n,s));else{const i=W(e.handler)?e.handler.bind(n):t[e.handler];W(i)&&on(r,i,e)}}function xs(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(a=>pn(c,a,o,!0)),pn(c,t,o)),te(t)&&i.set(t,c),c}function pn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&pn(e,i,n,!0),r&&r.forEach(o=>pn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Rl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Rl={data:zs,props:Zs,emits:Zs,methods:Pt,computed:Pt,beforeCreate:de,created:de,beforeMount:de,mounted:de,beforeUpdate:de,updated:de,beforeDestroy:de,beforeUnmount:de,destroyed:de,unmounted:de,activated:de,deactivated:de,errorCaptured:de,serverPrefetch:de,components:Pt,directives:Pt,watch:Pl,provide:zs,inject:Fl};function zs(e,t){return t?e?function(){return oe(W(e)?e.call(this,this):e,W(t)?t.call(this,this):t)}:t:e}function Fl(e,t){return Pt(Zn(e),Zn(t))}function Zn(e){if(j(e)){const t={};for(let n=0;n1)return n&&W(t)?t.call(s&&s.proxy):t}}function Ll(e,t,n,s=!1){const r={},i={};an(i,Pn,1),e.propsDefaults=Object.create(null),gi(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:Bo(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Bl(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=X(r),[c]=e.propsOptions;let a=!1;if((s||o>0)&&!(o&16)){if(o&8){const h=e.vnode.dynamicProps;for(let d=0;d{c=!0;const[p,w]=mi(d,t,!0);oe(o,p),w&&l.push(...w)};!n&&t.mixins.length&&t.mixins.forEach(h),e.extends&&h(e.extends),e.mixins&&e.mixins.forEach(h)}if(!i&&!c)return te(e)&&s.set(e,ft),ft;if(j(i))for(let h=0;h-1,w[1]=F<0||x-1||J(w,"default"))&&l.push(d)}}}const a=[o,l];return te(e)&&s.set(e,a),a}function Qs(e){return e[0]!=="$"}function Gs(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function er(e,t){return Gs(e)===Gs(t)}function tr(e,t){return j(t)?t.findIndex(n=>er(n,e)):W(t)&&er(t,e)?0:-1}const _i=e=>e[0]==="_"||e==="$stable",Ts=e=>j(e)?e.map(we):[we(e)],Nl=(e,t,n)=>{if(t._n)return t;const s=zo((...r)=>Ts(t(...r)),n);return s._c=!1,s},bi=(e,t,n)=>{const s=e._ctx;for(const r in e){if(_i(r))continue;const i=e[r];if(W(i))t[r]=Nl(r,i,s);else if(i!=null){const o=Ts(i);t[r]=()=>o}}},yi=(e,t)=>{const n=Ts(t);e.slots.default=()=>n},Hl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=X(t),an(t,"_",n)):bi(t,e.slots={})}else e.slots={},t&&yi(e,t);an(e.slots,Pn,1)},Sl=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=ne;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:(oe(r,t),!n&&l===1&&delete r._):(i=!t.$stable,bi(t,r)),o=t}else t&&(yi(e,t),o={default:1});if(i)for(const l in r)!_i(l)&&!(l in o)&&delete r[l]};function mn(e,t,n,s,r=!1){if(j(e)){e.forEach((p,w)=>mn(p,t&&(j(t)?t[w]:t),n,s,r));return}if(mt(s)&&!r)return;const i=s.shapeFlag&4?In(s.component)||s.component.proxy:s.el,o=r?null:i,{i:l,r:c}=e,a=t&&t.r,h=l.refs===ne?l.refs={}:l.refs,d=l.setupState;if(a!=null&&a!==c&&(re(a)?(h[a]=null,J(d,a)&&(d[a]=null)):ce(a)&&(a.value=null)),W(c))qe(c,l,12,[o,h]);else{const p=re(c),w=ce(c);if(p||w){const x=()=>{if(e.f){const F=p?J(d,c)?d[c]:h[c]:c.value;r?j(F)&&is(F,i):j(F)?F.includes(i)||F.push(i):p?(h[c]=[i],J(d,c)&&(d[c]=h[c])):(c.value=[i],e.k&&(h[e.k]=c.value))}else p?(h[c]=o,J(d,c)&&(d[c]=o)):w&&(c.value=o,e.k&&(h[e.k]=o))};o?(x.id=-1,pe(x,n)):x()}}}let ke=!1;const Gt=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",en=e=>e.nodeType===8;function $l(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:a}}=e,h=(m,_)=>{if(!_.hasChildNodes()){n(null,m,_),dn(),_._vnode=m;return}ke=!1,d(_.firstChild,m,null,null,null),dn(),_._vnode=m,ke&&console.error("Hydration completed but contains mismatches.")},d=(m,_,H,b,I,D=!1)=>{const S=en(m)&&m.data==="[",E=()=>F(m,_,H,b,I,S),{type:B,ref:$,shapeFlag:K,patchFlag:O}=_;let V=m.nodeType;_.el=m,O===-2&&(D=!1,_.dynamicChildren=null);let M=null;switch(B){case yt:V!==3?_.children===""?(c(_.el=r(""),o(m),m),M=m):M=E():(m.data!==_.children&&(ke=!0,m.data=_.children),M=i(m));break;case he:V!==8||S?M=E():M=i(m);break;case Bt:if(S&&(m=i(m),V=m.nodeType),V===1||V===3){M=m;const fe=!_.children.length;for(let z=0;z<_.staticCount;z++)fe&&(_.children+=M.nodeType===1?M.outerHTML:M.data),z===_.staticCount-1&&(_.anchor=M),M=i(M);return S?i(M):M}else E();break;case ge:S?M=x(m,_,H,b,I,D):M=E();break;default:if(K&1)V!==1||_.type.toLowerCase()!==m.tagName.toLowerCase()?M=E():M=p(m,_,H,b,I,D);else if(K&6){_.slotScopeIds=I;const fe=o(m);if(t(_,fe,null,H,b,Gt(fe),D),M=S?N(m):i(m),M&&en(M)&&M.data==="teleport end"&&(M=i(M)),mt(_)){let z;S?(z=se(ge),z.anchor=M?M.previousSibling:fe.lastChild):z=m.nodeType===3?Ri(""):se("div"),z.el=m,_.component.subTree=z}}else K&64?V!==8?M=E():M=_.type.hydrate(m,_,H,b,I,D,e,w):K&128&&(M=_.type.hydrate(m,_,H,b,Gt(o(m)),I,D,e,d))}return $!=null&&mn($,null,b,_),M},p=(m,_,H,b,I,D)=>{D=D||!!_.dynamicChildren;const{type:S,props:E,patchFlag:B,shapeFlag:$,dirs:K}=_,O=S==="input"&&K||S==="option";if(O||B!==-1){if(K&&Oe(_,null,H,"created"),E)if(O||!D||B&48)for(const M in E)(O&&M.endsWith("value")||Kt(M)&&!It(M))&&s(m,M,null,E[M],!1,void 0,H);else E.onClick&&s(m,"onClick",null,E.onClick,!1,void 0,H);let V;if((V=E&&E.onVnodeBeforeMount)&&ve(V,H,_),K&&Oe(_,null,H,"beforeMount"),((V=E&&E.onVnodeMounted)||K)&&si(()=>{V&&ve(V,H,_),K&&Oe(_,null,H,"mounted")},b),$&16&&!(E&&(E.innerHTML||E.textContent))){let M=w(m.firstChild,_,m,H,b,I,D);for(;M;){ke=!0;const fe=M;M=M.nextSibling,l(fe)}}else $&8&&m.textContent!==_.children&&(ke=!0,m.textContent=_.children)}return m.nextSibling},w=(m,_,H,b,I,D,S)=>{S=S||!!_.dynamicChildren;const E=_.children,B=E.length;for(let $=0;${const{slotScopeIds:S}=_;S&&(I=I?I.concat(S):S);const E=o(m),B=w(i(m),_,E,H,b,I,D);return B&&en(B)&&B.data==="]"?i(_.anchor=B):(ke=!0,c(_.anchor=a("]"),E,B),B)},F=(m,_,H,b,I,D)=>{if(ke=!0,_.el=null,D){const B=N(m);for(;;){const $=i(m);if($&&$!==B)l($);else break}}const S=i(m),E=o(m);return l(m),n(null,_,E,S,H,b,Gt(E),I),S},N=m=>{let _=0;for(;m;)if(m=i(m),m&&en(m)&&(m.data==="["&&_++,m.data==="]")){if(_===0)return i(m);_--}return m};return[h,d]}const pe=si;function Ul(e){return vi(e)}function kl(e){return vi(e,$l)}function vi(e,t){const n=Dn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:a,setElementText:h,parentNode:d,nextSibling:p,setScopeId:w=Fe,insertStaticContent:x}=e,F=(f,u,g,v=null,y=null,A=null,P=!1,T=null,R=!!u.dynamicChildren)=>{if(f===u)return;f&&!Le(f,u)&&(v=Vt(f),Pe(f,y,A,!0),f=null),u.patchFlag===-2&&(R=!1,u.dynamicChildren=null);const{type:C,ref:U,shapeFlag:L}=u;switch(C){case yt:N(f,u,g,v);break;case he:m(f,u,g,v);break;case Bt:f==null&&_(u,g,v,P);break;case ge:O(f,u,g,v,y,A,P,T,R);break;default:L&1?I(f,u,g,v,y,A,P,T,R):L&6?V(f,u,g,v,y,A,P,T,R):(L&64||L&128)&&C.process(f,u,g,v,y,A,P,T,R,ot)}U!=null&&y&&mn(U,f&&f.ref,A,u||f,!u)},N=(f,u,g,v)=>{if(f==null)s(u.el=l(u.children),g,v);else{const y=u.el=f.el;u.children!==f.children&&a(y,u.children)}},m=(f,u,g,v)=>{f==null?s(u.el=c(u.children||""),g,v):u.el=f.el},_=(f,u,g,v)=>{[f.el,f.anchor]=x(f.children,u,g,v,f.el,f.anchor)},H=({el:f,anchor:u},g,v)=>{let y;for(;f&&f!==u;)y=p(f),s(f,g,v),f=y;s(u,g,v)},b=({el:f,anchor:u})=>{let g;for(;f&&f!==u;)g=p(f),r(f),f=g;r(u)},I=(f,u,g,v,y,A,P,T,R)=>{P=P||u.type==="svg",f==null?D(u,g,v,y,A,P,T,R):B(f,u,y,A,P,T,R)},D=(f,u,g,v,y,A,P,T)=>{let R,C;const{type:U,props:L,shapeFlag:k,transition:q,dirs:Y}=f;if(R=f.el=o(f.type,A,L&&L.is,L),k&8?h(R,f.children):k&16&&E(f.children,R,null,v,y,A&&U!=="foreignObject",P,T),Y&&Oe(f,null,v,"created"),S(R,f,f.scopeId,P,v),L){for(const Z in L)Z!=="value"&&!It(Z)&&i(R,Z,null,L[Z],A,f.children,v,y,Ne);"value"in L&&i(R,"value",null,L.value),(C=L.onVnodeBeforeMount)&&ve(C,v,f)}Y&&Oe(f,null,v,"beforeMount");const ee=(!y||y&&!y.pendingBranch)&&q&&!q.persisted;ee&&q.beforeEnter(R),s(R,u,g),((C=L&&L.onVnodeMounted)||ee||Y)&&pe(()=>{C&&ve(C,v,f),ee&&q.enter(R),Y&&Oe(f,null,v,"mounted")},y)},S=(f,u,g,v,y)=>{if(g&&w(f,g),v)for(let A=0;A{for(let C=R;C{const T=u.el=f.el;let{patchFlag:R,dynamicChildren:C,dirs:U}=u;R|=f.patchFlag&16;const L=f.props||ne,k=u.props||ne;let q;g&&ze(g,!1),(q=k.onVnodeBeforeUpdate)&&ve(q,g,u,f),U&&Oe(u,f,g,"beforeUpdate"),g&&ze(g,!0);const Y=y&&u.type!=="foreignObject";if(C?$(f.dynamicChildren,C,T,g,v,Y,A):P||G(f,u,T,null,g,v,Y,A,!1),R>0){if(R&16)K(T,u,L,k,g,v,y);else if(R&2&&L.class!==k.class&&i(T,"class",null,k.class,y),R&4&&i(T,"style",L.style,k.style,y),R&8){const ee=u.dynamicProps;for(let Z=0;Z{q&&ve(q,g,u,f),U&&Oe(u,f,g,"updated")},v)},$=(f,u,g,v,y,A,P)=>{for(let T=0;T{if(g!==v){if(g!==ne)for(const T in g)!It(T)&&!(T in v)&&i(f,T,g[T],null,P,u.children,y,A,Ne);for(const T in v){if(It(T))continue;const R=v[T],C=g[T];R!==C&&T!=="value"&&i(f,T,C,R,P,u.children,y,A,Ne)}"value"in v&&i(f,"value",g.value,v.value)}},O=(f,u,g,v,y,A,P,T,R)=>{const C=u.el=f?f.el:l(""),U=u.anchor=f?f.anchor:l("");let{patchFlag:L,dynamicChildren:k,slotScopeIds:q}=u;q&&(T=T?T.concat(q):q),f==null?(s(C,g,v),s(U,g,v),E(u.children,g,U,y,A,P,T,R)):L>0&&L&64&&k&&f.dynamicChildren?($(f.dynamicChildren,k,g,y,A,P,T),(u.key!=null||y&&u===y.subTree)&&As(f,u,!0)):G(f,u,g,U,y,A,P,T,R)},V=(f,u,g,v,y,A,P,T,R)=>{u.slotScopeIds=T,f==null?u.shapeFlag&512?y.ctx.activate(u,g,v,P,R):M(u,g,v,y,A,P,R):fe(f,u,R)},M=(f,u,g,v,y,A,P)=>{const T=f.component=zl(f,v,y);if(Wt(f)&&(T.ctx.renderer=ot),Zl(T),T.asyncDep){if(y&&y.registerDep(T,z),!f.el){const R=T.subTree=se(he);m(null,R,u,g)}return}z(T,f,u,g,y,A,P)},fe=(f,u,g)=>{const v=u.component=f.component;if(el(f,u,g))if(v.asyncDep&&!v.asyncResolved){Q(v,u,g);return}else v.next=u,Yo(v.update),v.update();else u.el=f.el,v.vnode=u},z=(f,u,g,v,y,A,P)=>{const T=()=>{if(f.isMounted){let{next:U,bu:L,u:k,parent:q,vnode:Y}=f,ee=U,Z;ze(f,!1),U?(U.el=Y.el,Q(f,U,P)):U=Y,L&&rn(L),(Z=U.props&&U.props.onVnodeBeforeUpdate)&&ve(Z,q,U,Y),ze(f,!0);const ie=Ln(f),Te=f.subTree;f.subTree=ie,F(Te,ie,d(Te.el),Vt(Te),f,y,A),U.el=ie.el,ee===null&&vs(f,ie.el),k&&pe(k,y),(Z=U.props&&U.props.onVnodeUpdated)&&pe(()=>ve(Z,q,U,Y),y)}else{let U;const{el:L,props:k}=u,{bm:q,m:Y,parent:ee}=f,Z=mt(u);if(ze(f,!1),q&&rn(q),!Z&&(U=k&&k.onVnodeBeforeMount)&&ve(U,ee,u),ze(f,!0),L&&Mn){const ie=()=>{f.subTree=Ln(f),Mn(L,f.subTree,f,y,null)};Z?u.type.__asyncLoader().then(()=>!f.isUnmounted&&ie()):ie()}else{const ie=f.subTree=Ln(f);F(null,ie,g,v,f,y,A),u.el=ie.el}if(Y&&pe(Y,y),!Z&&(U=k&&k.onVnodeMounted)){const ie=u;pe(()=>ve(U,ee,ie),y)}(u.shapeFlag&256||ee&&mt(ee.vnode)&&ee.vnode.shapeFlag&256)&&f.a&&pe(f.a,y),f.isMounted=!0,u=g=v=null}},R=f.effect=new us(T,()=>Cn(C),f.scope),C=f.update=()=>R.run();C.id=f.uid,ze(f,!0),C()},Q=(f,u,g)=>{u.component=f;const v=f.vnode.props;f.vnode=u,f.next=null,Bl(f,u.props,v,g),Sl(f,u.children,g),Et(),Ks(),xt()},G=(f,u,g,v,y,A,P,T,R=!1)=>{const C=f&&f.children,U=f?f.shapeFlag:0,L=u.children,{patchFlag:k,shapeFlag:q}=u;if(k>0){if(k&128){qt(C,L,g,v,y,A,P,T,R);return}else if(k&256){Je(C,L,g,v,y,A,P,T,R);return}}q&8?(U&16&&Ne(C,y,A),L!==C&&h(g,L)):U&16?q&16?qt(C,L,g,v,y,A,P,T,R):Ne(C,y,A,!0):(U&8&&h(g,""),q&16&&E(L,g,v,y,A,P,T,R))},Je=(f,u,g,v,y,A,P,T,R)=>{f=f||ft,u=u||ft;const C=f.length,U=u.length,L=Math.min(C,U);let k;for(k=0;kU?Ne(f,y,A,!0,!1,L):E(u,g,v,y,A,P,T,R,L)},qt=(f,u,g,v,y,A,P,T,R)=>{let C=0;const U=u.length;let L=f.length-1,k=U-1;for(;C<=L&&C<=k;){const q=f[C],Y=u[C]=R?Ke(u[C]):we(u[C]);if(Le(q,Y))F(q,Y,g,null,y,A,P,T,R);else break;C++}for(;C<=L&&C<=k;){const q=f[L],Y=u[k]=R?Ke(u[k]):we(u[k]);if(Le(q,Y))F(q,Y,g,null,y,A,P,T,R);else break;L--,k--}if(C>L){if(C<=k){const q=k+1,Y=qk)for(;C<=L;)Pe(f[C],y,A,!0),C++;else{const q=C,Y=C,ee=new Map;for(C=Y;C<=k;C++){const _e=u[C]=R?Ke(u[C]):we(u[C]);_e.key!=null&&ee.set(_e.key,C)}let Z,ie=0;const Te=k-Y+1;let lt=!1,Ms=0;const At=new Array(Te);for(C=0;C=Te){Pe(_e,y,A,!0);continue}let Ie;if(_e.key!=null)Ie=ee.get(_e.key);else for(Z=Y;Z<=k;Z++)if(At[Z-Y]===0&&Le(_e,u[Z])){Ie=Z;break}Ie===void 0?Pe(_e,y,A,!0):(At[Ie-Y]=C+1,Ie>=Ms?Ms=Ie:lt=!0,F(_e,u[Ie],g,null,y,A,P,T,R),ie++)}const Ls=lt?jl(At):ft;for(Z=Ls.length-1,C=Te-1;C>=0;C--){const _e=Y+C,Ie=u[_e],Bs=_e+1{const{el:A,type:P,transition:T,children:R,shapeFlag:C}=f;if(C&6){Xe(f.component.subTree,u,g,v);return}if(C&128){f.suspense.move(u,g,v);return}if(C&64){P.move(f,u,g,ot);return}if(P===ge){s(A,u,g);for(let L=0;LT.enter(A),y);else{const{leave:L,delayLeave:k,afterLeave:q}=T,Y=()=>s(A,u,g),ee=()=>{L(A,()=>{Y(),q&&q()})};k?k(A,Y,ee):ee()}else s(A,u,g)},Pe=(f,u,g,v=!1,y=!1)=>{const{type:A,props:P,ref:T,children:R,dynamicChildren:C,shapeFlag:U,patchFlag:L,dirs:k}=f;if(T!=null&&mn(T,null,g,f,!0),U&256){u.ctx.deactivate(f);return}const q=U&1&&k,Y=!mt(f);let ee;if(Y&&(ee=P&&P.onVnodeBeforeUnmount)&&ve(ee,u,f),U&6)Wi(f.component,g,v);else{if(U&128){f.suspense.unmount(g,v);return}q&&Oe(f,null,u,"beforeUnmount"),U&64?f.type.remove(f,u,g,y,ot,v):C&&(A!==ge||L>0&&L&64)?Ne(C,u,g,!1,!0):(A===ge&&L&384||!y&&U&16)&&Ne(R,u,g),v&&Is(f)}(Y&&(ee=P&&P.onVnodeUnmounted)||q)&&pe(()=>{ee&&ve(ee,u,f),q&&Oe(f,null,u,"unmounted")},g)},Is=f=>{const{type:u,el:g,anchor:v,transition:y}=f;if(u===ge){Ki(g,v);return}if(u===Bt){b(f);return}const A=()=>{r(g),y&&!y.persisted&&y.afterLeave&&y.afterLeave()};if(f.shapeFlag&1&&y&&!y.persisted){const{leave:P,delayLeave:T}=y,R=()=>P(g,A);T?T(f.el,A,R):R()}else A()},Ki=(f,u)=>{let g;for(;f!==u;)g=p(f),r(f),f=g;r(u)},Wi=(f,u,g)=>{const{bum:v,scope:y,update:A,subTree:P,um:T}=f;v&&rn(v),y.stop(),A&&(A.active=!1,Pe(P,f,u,g)),T&&pe(T,u),pe(()=>{f.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&f.asyncDep&&!f.asyncResolved&&f.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},Ne=(f,u,g,v=!1,y=!1,A=0)=>{for(let P=A;Pf.shapeFlag&6?Vt(f.component.subTree):f.shapeFlag&128?f.suspense.next():p(f.anchor||f.el),Os=(f,u,g)=>{f==null?u._vnode&&Pe(u._vnode,null,null,!0):F(u._vnode||null,f,u,null,null,null,g),Ks(),dn(),u._vnode=f},ot={p:F,um:Pe,m:Xe,r:Is,mt:M,mc:E,pc:G,pbc:$,n:Vt,o:e};let On,Mn;return t&&([On,Mn]=t(ot)),{render:Os,hydrate:On,createApp:Ol(Os,On)}}function ze({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function As(e,t,n=!1){const s=e.children,r=t.children;if(j(s)&&j(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}const Dl=e=>e.__isTeleport,Lt=e=>e&&(e.disabled||e.disabled===""),nr=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Gn=(e,t)=>{const n=e&&e.to;return re(n)?t?t(n):null:n},Kl={__isTeleport:!0,process(e,t,n,s,r,i,o,l,c,a){const{mc:h,pc:d,pbc:p,o:{insert:w,querySelector:x,createText:F,createComment:N}}=a,m=Lt(t.props);let{shapeFlag:_,children:H,dynamicChildren:b}=t;if(e==null){const I=t.el=F(""),D=t.anchor=F("");w(I,n,s),w(D,n,s);const S=t.target=Gn(t.props,x),E=t.targetAnchor=F("");S&&(w(E,S),o=o||nr(S));const B=($,K)=>{_&16&&h(H,$,K,r,i,o,l,c)};m?B(n,D):S&&B(S,E)}else{t.el=e.el;const I=t.anchor=e.anchor,D=t.target=e.target,S=t.targetAnchor=e.targetAnchor,E=Lt(e.props),B=E?n:D,$=E?I:S;if(o=o||nr(D),b?(p(e.dynamicChildren,b,B,r,i,o,l),As(e,t,!0)):c||d(e,t,B,$,r,i,o,l,!1),m)E||tn(t,n,I,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const K=t.target=Gn(t.props,x);K&&tn(t,K,null,a,0)}else E&&tn(t,D,S,a,1)}wi(t)},remove(e,t,n,s,{um:r,o:{remove:i}},o){const{shapeFlag:l,children:c,anchor:a,targetAnchor:h,target:d,props:p}=e;if(d&&i(h),(o||!Lt(p))&&(i(a),l&16))for(let w=0;w0?Ee||ft:null,Ci(),vt>0&&Ee&&Ee.push(e),e}function ya(e,t,n,s,r,i){return Ei(Ai(e,t,n,s,r,i,!0))}function xi(e,t,n,s,r){return Ei(se(e,t,n,s,r,!0))}function Dt(e){return e?e.__v_isVNode===!0:!1}function Le(e,t){return e.type===t.type&&e.key===t.key}const Pn="__vInternal",Ti=({key:e})=>e??null,ln=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?re(e)||ce(e)||W(e)?{i:ae,r:e,k:t,f:!!n}:e:null);function Ai(e,t=null,n=null,s=0,r=null,i=e===ge?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ti(t),ref:t&&ln(t),scopeId:xn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ae};return l?(Fs(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=re(n)?8:16),vt>0&&!o&&Ee&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ee.push(c),c}const se=ql;function ql(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===fi)&&(e=he),Dt(e)){const l=Ye(e,t,!0);return n&&Fs(l,n),vt>0&&!i&&Ee&&(l.shapeFlag&6?Ee[Ee.indexOf(e)]=l:Ee.push(l)),l.patchFlag|=-2,l}if(tc(e)&&(e=e.__vccOpts),t){t=Vl(t);let{class:l,style:c}=t;l&&!re(l)&&(t.class=as(l)),te(c)&&(Jr(c)&&!j(c)&&(c=oe({},c)),t.style=cs(c))}const o=re(e)?1:tl(e)?128:Dl(e)?64:te(e)?4:W(e)?2:0;return Ai(e,t,n,s,r,o,i,!0)}function Vl(e){return e?Jr(e)||Pn in e?oe({},e):e:null}function Ye(e,t,n=!1){const{props:s,ref:r,patchFlag:i,children:o}=e,l=t?Yl(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Ti(l),ref:t&&t.ref?n&&r?j(r)?r.concat(ln(t)):[r,ln(t)]:ln(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ge?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ye(e.ssContent),ssFallback:e.ssFallback&&Ye(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Ri(e=" ",t=0){return se(yt,null,e,t)}function va(e,t){const n=se(Bt,null,e);return n.staticCount=t,n}function wa(e="",t=!1){return t?(Rs(),xi(he,null,e)):se(he,null,e)}function we(e){return e==null||typeof e=="boolean"?se(he):j(e)?se(ge,null,e.slice()):typeof e=="object"?Ke(e):se(yt,null,String(e))}function Ke(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ye(e)}function Fs(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(j(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Fs(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Pn in t)?t._ctx=ae:r===3&&ae&&(ae.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else W(t)?(t={default:t,_ctx:ae},n=32):(t=String(t),s&64?(n=16,t=[Ri(t)]):n=8);e.children=t,e.shapeFlag|=n}function Yl(...e){const t={};for(let n=0;nle||ae;let Ps,ct,rr="__VUE_INSTANCE_SETTERS__";(ct=Dn()[rr])||(ct=Dn()[rr]=[]),ct.push(e=>le=e),Ps=e=>{ct.length>1?ct.forEach(t=>t(e)):ct[0](e)};const wt=e=>{Ps(e),e.scope.on()},rt=()=>{le&&le.scope.off(),Ps(null)};function Pi(e){return e.vnode.shapeFlag&4}let Ct=!1;function Zl(e,t=!1){Ct=t;const{props:n,children:s}=e.vnode,r=Pi(e);Ll(e,n,r,t),Hl(e,s);const i=r?Ql(e,t):void 0;return Ct=!1,i}function Ql(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Ot(new Proxy(e.ctx,El));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Oi(e):null;wt(e),Et();const i=qe(s,e,0,[e.props,r]);if(xt(),rt(),Or(i)){if(i.then(rt,rt),t)return i.then(o=>{es(e,o,t)}).catch(o=>{Tt(o,e,0)});e.asyncDep=i}else es(e,i,t)}else Ii(e,t)}function es(e,t,n){W(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:te(t)&&(e.setupState=zr(t)),Ii(e,n)}let ir;function Ii(e,t,n){const s=e.type;if(!e.render){if(!t&&ir&&!s.render){const r=s.template||xs(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,a=oe(oe({isCustomElement:i,delimiters:l},o),c);s.render=ir(r,a)}}e.render=s.render||Fe}wt(e),Et(),Tl(e),xt(),rt()}function Gl(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return me(e,"get","$attrs"),t[n]}}))}function Oi(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return Gl(e)},slots:e.slots,emit:e.emit,expose:t}}function In(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(zr(Ot(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Mt)return Mt[n](e)},has(t,n){return n in t||n in Mt}}))}function ec(e,t=!0){return W(e)?e.displayName||e.name:e.name||t&&e.__name}function tc(e){return W(e)&&"__vccOpts"in e}const Ae=(e,t)=>Wo(e,t,Ct);function ts(e,t,n){const s=arguments.length;return s===2?te(t)&&!j(t)?Dt(t)?se(e,null,[t]):se(e,t):se(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Dt(n)&&(n=[n]),se(e,t,n))}const nc=Symbol.for("v-scx"),sc=()=>_t(nc),rc="3.3.4",ic="http://www.w3.org/2000/svg",et=typeof document<"u"?document:null,or=et&&et.createElement("template"),oc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?et.createElementNS(ic,e):et.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>et.createTextNode(e),createComment:e=>et.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>et.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{or.innerHTML=s?`${e}`:e;const l=or.content;if(s){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function lc(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function cc(e,t,n){const s=e.style,r=re(n);if(n&&!r){if(t&&!re(t))for(const i in t)n[i]==null&&ns(s,i,"");for(const i in n)ns(s,i,n[i])}else{const i=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=i)}}const lr=/\s*!important$/;function ns(e,t,n){if(j(n))n.forEach(s=>ns(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=ac(e,t);lr.test(n)?e.setProperty(it(s),n.replace(lr,""),"important"):e[s]=n}}const cr=["Webkit","Moz","ms"],Sn={};function ac(e,t){const n=Sn[t];if(n)return n;let s=Be(t);if(s!=="filter"&&s in e)return Sn[t]=s;s=yn(s);for(let r=0;r$n||(gc.then(()=>$n=0),$n=Date.now());function _c(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;xe(bc(s,n.value),t,5,[s])};return n.value=e,n.attached=mc(),n}function bc(e,t){if(j(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const ur=/^on[a-z]/,yc=(e,t,n,s,r=!1,i,o,l,c)=>{t==="class"?lc(e,s,r):t==="style"?cc(e,n,s):Kt(t)?rs(t)||hc(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):vc(e,t,s,r))?uc(e,t,s,i,o,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),fc(e,t,s,r))};function vc(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&ur.test(t)&&W(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||ur.test(t)&&re(n)?!1:t in e}const je="transition",Rt="animation",Mi=(e,{slots:t})=>ts(dl,wc(e),t);Mi.displayName="Transition";const Li={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};Mi.props=oe({},ii,Li);const Ze=(e,t=[])=>{j(e)?e.forEach(n=>n(...t)):e&&e(...t)},dr=e=>e?j(e)?e.some(t=>t.length>1):e.length>1:!1;function wc(e){const t={};for(const O in e)O in Li||(t[O]=e[O]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:a=o,appearToClass:h=l,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:w=`${n}-leave-to`}=e,x=Cc(r),F=x&&x[0],N=x&&x[1],{onBeforeEnter:m,onEnter:_,onEnterCancelled:H,onLeave:b,onLeaveCancelled:I,onBeforeAppear:D=m,onAppear:S=_,onAppearCancelled:E=H}=t,B=(O,V,M)=>{Qe(O,V?h:l),Qe(O,V?a:o),M&&M()},$=(O,V)=>{O._isLeaving=!1,Qe(O,d),Qe(O,w),Qe(O,p),V&&V()},K=O=>(V,M)=>{const fe=O?S:_,z=()=>B(V,O,M);Ze(fe,[V,z]),hr(()=>{Qe(V,O?c:i),De(V,O?h:l),dr(fe)||pr(V,s,F,z)})};return oe(t,{onBeforeEnter(O){Ze(m,[O]),De(O,i),De(O,o)},onBeforeAppear(O){Ze(D,[O]),De(O,c),De(O,a)},onEnter:K(!1),onAppear:K(!0),onLeave(O,V){O._isLeaving=!0;const M=()=>$(O,V);De(O,d),Tc(),De(O,p),hr(()=>{O._isLeaving&&(Qe(O,d),De(O,w),dr(b)||pr(O,s,N,M))}),Ze(b,[O,M])},onEnterCancelled(O){B(O,!1),Ze(H,[O])},onAppearCancelled(O){B(O,!0),Ze(E,[O])},onLeaveCancelled(O){$(O),Ze(I,[O])}})}function Cc(e){if(e==null)return null;if(te(e))return[Un(e.enter),Un(e.leave)];{const t=Un(e);return[t,t]}}function Un(e){return Br(e)}function De(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function Qe(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function hr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Ec=0;function pr(e,t,n,s){const r=e._endId=++Ec,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=xc(e,t);if(!o)return s();const a=o+"end";let h=0;const d=()=>{e.removeEventListener(a,p),i()},p=w=>{w.target===e&&++h>=c&&d()};setTimeout(()=>{h(n[x]||"").split(", "),r=s(`${je}Delay`),i=s(`${je}Duration`),o=gr(r,i),l=s(`${Rt}Delay`),c=s(`${Rt}Duration`),a=gr(l,c);let h=null,d=0,p=0;t===je?o>0&&(h=je,d=o,p=i.length):t===Rt?a>0&&(h=Rt,d=a,p=c.length):(d=Math.max(o,a),h=d>0?o>a?je:Rt:null,p=h?h===je?i.length:c.length:0);const w=h===je&&/\b(transform|all)(,|$)/.test(s(`${je}Property`).toString());return{type:h,timeout:d,propCount:p,hasTransform:w}}function gr(e,t){for(;e.lengthmr(n)+mr(e[s])))}function mr(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function Tc(){return document.body.offsetHeight}const _r=e=>{const t=e.props["onUpdate:modelValue"]||!1;return j(t)?n=>rn(t,n):t};function Ac(e){e.target.composing=!0}function br(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ca={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e._assign=_r(r);const i=s||r.props&&r.props.type==="number";at(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;n&&(l=l.trim()),i&&(l=jn(l)),e._assign(l)}),n&&at(e,"change",()=>{e.value=e.value.trim()}),t||(at(e,"compositionstart",Ac),at(e,"compositionend",br),at(e,"change",br))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:r}},i){if(e._assign=_r(i),e.composing||document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===t||(r||e.type==="number")&&jn(e.value)===t))return;const o=t??"";e.value!==o&&(e.value=o)}},Rc=["ctrl","shift","alt","meta"],Fc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Rc.some(n=>e[`${n}Key`]&&!t.includes(n))},Ea=(e,t)=>(n,...s)=>{for(let r=0;rn=>{if(!("key"in n))return;const s=it(n.key);if(t.some(r=>r===s||Pc[r]===s))return e(n)},Bi=oe({patchProp:yc},oc);let Ht,yr=!1;function Ic(){return Ht||(Ht=Ul(Bi))}function Oc(){return Ht=yr?Ht:kl(Bi),yr=!0,Ht}const Ta=(...e)=>{const t=Ic().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Ni(s);if(!r)return;const i=t._component;!W(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.innerHTML="";const o=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t},Aa=(...e)=>{const t=Oc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Ni(s);if(r)return n(r,!0,r instanceof SVGElement)},t};function Ni(e){return re(e)?document.querySelector(e):e}const Ra=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Mc="modulepreload",Lc=function(e){return"/docs-preview/pr-333/"+e},vr={},Fa=function(t,n,s){if(!n||n.length===0)return t();const r=document.getElementsByTagName("link");return Promise.all(n.map(i=>{if(i=Lc(i),i in vr)return;vr[i]=!0;const o=i.endsWith(".css"),l=o?'[rel="stylesheet"]':"";if(!!s)for(let h=r.length-1;h>=0;h--){const d=r[h];if(d.href===i&&(!o||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${l}`))return;const a=document.createElement("link");if(a.rel=o?"stylesheet":Mc,o||(a.as="script",a.crossOrigin=""),a.href=i,document.head.appendChild(a),o)return new Promise((h,d)=>{a.addEventListener("load",h),a.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t()).catch(i=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=i,window.dispatchEvent(o),!o.defaultPrevented)throw i})},Bc=window.__VP_SITE_DATA__,Hi=/^[a-z]+:/i,Pa=/^pathname:\/\//,Ia="vitepress-theme-appearance",Si=/#.*$/,Nc=/(index)?\.(md|html)$/,Ce=typeof document<"u",$i={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Hc(e,t,n=!1){if(t===void 0)return!1;if(e=wr(`/${e}`),n)return new RegExp(t).test(e);if(wr(t)!==e)return!1;const s=t.match(Si);return s?(Ce?location.hash:"")===s[0]:!0}function wr(e){return decodeURI(e).replace(Si,"").replace(Nc,"")}function Sc(e){return Hi.test(e)}function $c(e,t){var s,r,i,o,l,c,a;const n=Object.keys(e.locales).find(h=>h!=="root"&&!Sc(h)&&Hc(t,`/${h}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:ki(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function Ui(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=Uc(e.title,s);return`${n}${r}`}function Uc(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function kc(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function ki(e,t){return[...e.filter(n=>!kc(t,n)),...t]}const jc=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Dc=/^[a-z]:/i;function Cr(e){const t=Dc.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(jc,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const Kc=Symbol(),nt=No(Bc);function Oa(e){const t=Ae(()=>$c(nt.value,e.data.relativePath));return{site:t,theme:Ae(()=>t.value.themeConfig),page:Ae(()=>e.data),frontmatter:Ae(()=>e.data.frontmatter),params:Ae(()=>e.data.params),lang:Ae(()=>t.value.lang),dir:Ae(()=>t.value.dir),localeIndex:Ae(()=>t.value.localeIndex||"root"),title:Ae(()=>Ui(t.value,e.data)),description:Ae(()=>e.data.description||t.value.description),isDark:ht(!1)}}function Wc(){const e=_t(Kc);if(!e)throw new Error("vitepress data not properly injected in app");return e}function qc(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Er(e){return Hi.test(e)||e.startsWith(".")?e:qc(nt.value.base,e)}function Vc(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/docs-preview/pr-333/";t=Cr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${Cr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let cn=[];function Ma(e){cn.push(e),Fn(()=>{cn=cn.filter(t=>t!==e)})}const Yc=Symbol(),xr="http://a.com",Jc=()=>({path:"/",component:null,data:$i});function La(e,t){const n=wn(Jc()),s={route:n,go:r};async function r(l=Ce?location.href:"/"){var a,h;if(await((a=s.onBeforeRouteChange)==null?void 0:a.call(s,l))===!1)return;const c=new URL(l,xr);nt.value.cleanUrls||!c.pathname.endsWith("/")&&!c.pathname.endsWith(".html")&&(c.pathname+=".html",l=c.pathname+c.search+c.hash),Rr(l),await o(l),await((h=s.onAfterRouteChanged)==null?void 0:h.call(s,l))}let i=null;async function o(l,c=0,a=!1){var p;if(await((p=s.onBeforePageLoad)==null?void 0:p.call(s,l))===!1)return;const h=new URL(l,xr),d=i=h.pathname;try{let w=await e(d);if(!w)throw new Error(`Page not found: ${d}`);if(i===d){i=null;const{default:x,__pageData:F}=w;if(!x)throw new Error(`Invalid route component: ${x}`);n.path=Ce?d:Er(d),n.component=Ot(x),n.data=Ot(F),Ce&&Qr(()=>{let N=nt.value.base+F.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!nt.value.cleanUrls&&!N.endsWith("/")&&(N+=".html"),N!==h.pathname&&(h.pathname=N,l=N+h.search+h.hash,history.replaceState(null,"",l)),h.hash&&!c){let m=null;try{m=document.getElementById(decodeURIComponent(h.hash).slice(1))}catch(_){console.warn(_)}if(m){Tr(m,h.hash);return}}window.scrollTo(0,c)})}}catch(w){if(!/fetch|Page not found/.test(w.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(w),!a)try{const x=await fetch(nt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await x.json(),await o(l,c,!0);return}catch{}i===d&&(i=null,n.path=Ce?d:Er(d),n.component=t?Ot(t):null,n.data=$i)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:h}=a,{href:d,origin:p,pathname:w,hash:x,search:F}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),N=window.location,m=w.match(/\.\w+$/);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!h&&p===N.origin&&!(m&&m[0]!==".html")&&(l.preventDefault(),w===N.pathname&&F===N.search?(x!==N.hash&&(history.pushState(null,"",x),window.dispatchEvent(new Event("hashchange"))),x?Tr(a,x,a.classList.contains("header-anchor")):(Rr(d),window.scrollTo(0,0))):r(d))}},{capture:!0}),window.addEventListener("popstate",l=>{o(location.href,l.state&&l.state.scrollPosition||0)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function Xc(){const e=_t(Yc);if(!e)throw new Error("useRouter() is called without provider.");return e}function ji(){return Xc().route}function Tr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let a=function(){!n||Math.abs(c-window.scrollY)>window.innerHeight?window.scrollTo(0,c):window.scrollTo({left:0,top:c,behavior:"smooth"})},r=nt.value.scrollOffset,i=0,o=24;if(typeof r=="object"&&"padding"in r&&(o=r.padding,r=r.selector),typeof r=="number")i=r;else if(typeof r=="string")i=Ar(r,o);else if(Array.isArray(r))for(const h of r){const d=Ar(h,o);if(d){i=d;break}}const l=parseInt(window.getComputedStyle(s).paddingTop,10),c=window.scrollY+s.getBoundingClientRect().top-i+l;requestAnimationFrame(a)}}function Ar(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}function Rr(e){Ce&&e!==location.href&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",e))}const Fr=()=>cn.forEach(e=>e()),Ba=Cs({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=ji(),{site:n}=Wc();return()=>ts(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?ts(t.component,{onVnodeMounted:Fr,onVnodeUpdated:Fr}):"404 Page Not Found"])}}),Na=Cs({setup(e,{slots:t}){const n=ht(!1);return Rn(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Ha(){Ce&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const i=s.querySelector(".blocks");if(!i)return;const o=Array.from(i.children).find(a=>a.classList.contains("active"));if(!o)return;const l=i.children[r];if(!l||o===l)return;o.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function Sa(){if(Ce){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className);let l="";i.querySelectorAll("span.line:not(.diff.remove)").forEach(c=>l+=(c.textContent||"")+` -`),l=l.slice(0,-1),o&&(l=l.replace(/^ *(\$|>) /gm,"").trim()),zc(l).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const c=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,c)})}})}}async function zc(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function $a(e,t){let n=[],s=!0;const r=i=>{if(s){s=!1;return}n.forEach(o=>document.head.removeChild(o)),n=[],i.forEach(o=>{const l=Pr(o);document.head.appendChild(l),n.push(l)})};cl(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[];document.title=Ui(o,i);const a=l||o.description;let h=document.querySelector("meta[name=description]");h?h.setAttribute("content",a):Pr(["meta",{name:"description",content:a}]),r(ki(o.head,Qc(c)))})}function Pr([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),s}function Zc(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Qc(e){return e.filter(t=>!Zc(t))}const kn=new Set,Di=()=>document.createElement("link"),Gc=e=>{const t=Di();t.rel="prefetch",t.href=e,document.head.appendChild(t)},ea=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let nn;const ta=Ce&&(nn=Di())&&nn.relList&&nn.relList.supports&&nn.relList.supports("prefetch")?Gc:ea;function Ua(){if(!Ce||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!kn.has(c)){kn.add(c);const a=Vc(c);a&&ta(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{hostname:o,pathname:l}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||i.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(i):kn.add(l))})})};Rn(s);const r=ji();on(()=>r.path,s),Fn(()=>{n&&n.disconnect()})}export{Fa as $,cl as A,Fi as B,ce as C,No as D,Qr as E,Hc as F,Ce as G,Fn as H,aa as I,bl as J,da as K,ge as L,pa as M,Ma as N,se as O,Pa as P,ha as Q,Hi as R,ji as S,Mi as T,Yl as U,_t as V,cs as W,va as X,Ia as Y,ua as Z,Ra as _,Ri as a,Ml as a0,ma as a1,xa as a2,Ea as a3,_a as a4,ca as a5,X as a6,ts as a7,$a as a8,Yc as a9,Oa as aa,Kc as ab,Ba as ac,Na as ad,nt as ae,Aa as af,La as ag,Vc as ah,Ua as ai,Sa as aj,Ha as ak,Xc as al,ai as am,fa as an,Ca as ao,ba as ap,Ot as aq,Ta as ar,xi as b,ya as c,Cs as d,wa as e,Er as f,Ae as g,ht as h,Sc as i,Rn as j,Ai as k,So as l,la as m,as as n,Rs as o,oa as p,io as q,ga as r,sa as s,na as t,Wc as u,ia as v,zo as w,Yr as x,ra as y,on as z}; diff --git a/pr-333/assets/chunks/ganttDiagram-60845bff.5af1063c.js b/pr-333/assets/chunks/ganttDiagram-60845bff.5af1063c.js deleted file mode 100644 index 80079e93a..000000000 --- a/pr-333/assets/chunks/ganttDiagram-60845bff.5af1063c.js +++ /dev/null @@ -1,266 +0,0 @@ -import{ac as en,ad as nn,ae as rn,af as an,ag as En,ah as se,ai as In,aj as rt,c as _t,s as Wn,g as On,v as Hn,x as zn,b as Nn,a as Vn,m as Pn,z as Rn,n as Bn,l as ve,h as Gt,i as Zn,j as qn,y as Xn}from"../app.1f62ceb3.js";import{b as Gn,t as He,c as jn,a as Qn,l as Jn}from"./linear.f047380f.js";import{i as $n}from"./init.77b53fdd.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";function Kn(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n=i)&&(n=i)}return n}function tr(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function er(t){return t}var Jt=1,oe=2,Te=3,jt=4,ze=1e-6;function nr(t){return"translate("+t+",0)"}function rr(t){return"translate(0,"+t+")"}function ir(t){return e=>+t(e)}function ar(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function sr(){return!this.__axis}function sn(t,e){var n=[],r=null,i=null,a=6,o=6,h=3,m=typeof window<"u"&&window.devicePixelRatio>1?0:.5,p=t===Jt||t===jt?-1:1,v=t===jt||t===oe?"x":"y",S=t===Jt||t===Te?nr:rr;function x(g){var I=r??(e.ticks?e.ticks.apply(e,n):e.domain()),C=i??(e.tickFormat?e.tickFormat.apply(e,n):er),R=Math.max(a,0)+h,X=e.range(),tt=+X[0]+m,B=+X[X.length-1]+m,Z=(e.bandwidth?ar:ir)(e.copy(),m),J=g.selection?g.selection():g,w=J.selectAll(".domain").data([null]),H=J.selectAll(".tick").data(I,e).order(),D=H.exit(),F=H.enter().append("g").attr("class","tick"),Y=H.select("line"),_=H.select("text");w=w.merge(w.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),H=H.merge(F),Y=Y.merge(F.append("line").attr("stroke","currentColor").attr(v+"2",p*a)),_=_.merge(F.append("text").attr("fill","currentColor").attr(v,p*R).attr("dy",t===Jt?"0em":t===Te?"0.71em":"0.32em")),g!==J&&(w=w.transition(g),H=H.transition(g),Y=Y.transition(g),_=_.transition(g),D=D.transition(g).attr("opacity",ze).attr("transform",function(T){return isFinite(T=Z(T))?S(T+m):this.getAttribute("transform")}),F.attr("opacity",ze).attr("transform",function(T){var O=this.parentNode.__axis;return S((O&&isFinite(O=O(T))?O:Z(T))+m)})),D.remove(),w.attr("d",t===jt||t===oe?o?"M"+p*o+","+tt+"H"+m+"V"+B+"H"+p*o:"M"+m+","+tt+"V"+B:o?"M"+tt+","+p*o+"V"+m+"H"+B+"V"+p*o:"M"+tt+","+m+"H"+B),H.attr("opacity",1).attr("transform",function(T){return S(Z(T)+m)}),Y.attr(v+"2",p*a),_.attr(v,p*R).text(C),J.filter(sr).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===oe?"start":t===jt?"end":"middle"),J.each(function(){this.__axis=Z})}return x.scale=function(g){return arguments.length?(e=g,x):e},x.ticks=function(){return n=Array.from(arguments),x},x.tickArguments=function(g){return arguments.length?(n=g==null?[]:Array.from(g),x):n.slice()},x.tickValues=function(g){return arguments.length?(r=g==null?null:Array.from(g),x):r&&r.slice()},x.tickFormat=function(g){return arguments.length?(i=g,x):i},x.tickSize=function(g){return arguments.length?(a=o=+g,x):a},x.tickSizeInner=function(g){return arguments.length?(a=+g,x):a},x.tickSizeOuter=function(g){return arguments.length?(o=+g,x):o},x.tickPadding=function(g){return arguments.length?(h=+g,x):h},x.offset=function(g){return arguments.length?(m=+g,x):m},x}function or(t){return sn(Jt,t)}function cr(t){return sn(Te,t)}const lr=Math.PI/180,ur=180/Math.PI,te=18,on=.96422,cn=1,ln=.82521,un=4/29,St=6/29,fn=3*St*St,fr=St*St*St;function hn(t){if(t instanceof ot)return new ot(t.l,t.a,t.b,t.opacity);if(t instanceof ft)return dn(t);t instanceof rn||(t=En(t));var e=fe(t.r),n=fe(t.g),r=fe(t.b),i=ce((.2225045*e+.7168786*n+.0606169*r)/cn),a,o;return e===n&&n===r?a=o=i:(a=ce((.4360747*e+.3850649*n+.1430804*r)/on),o=ce((.0139322*e+.0971045*n+.7141733*r)/ln)),new ot(116*i-16,500*(a-i),200*(i-o),t.opacity)}function hr(t,e,n,r){return arguments.length===1?hn(t):new ot(t,e,n,r??1)}function ot(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}en(ot,hr,nn(an,{brighter(t){return new ot(this.l+te*(t??1),this.a,this.b,this.opacity)},darker(t){return new ot(this.l-te*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=on*le(e),t=cn*le(t),n=ln*le(n),new rn(ue(3.1338561*e-1.6168667*t-.4906146*n),ue(-.9787684*e+1.9161415*t+.033454*n),ue(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function ce(t){return t>fr?Math.pow(t,1/3):t/fn+un}function le(t){return t>St?t*t*t:fn*(t-un)}function ue(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function fe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function dr(t){if(t instanceof ft)return new ft(t.h,t.c,t.l,t.opacity);if(t instanceof ot||(t=hn(t)),t.a===0&&t.b===0)return new ft(NaN,0(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const o=i(a),h=i.ceil(a);return a-o(e(a=new Date(+a),o==null?1:Math.floor(o)),a),i.range=(a,o,h)=>{const m=[];if(a=i.ceil(a),h=h==null?1:Math.floor(h),!(a0))return m;let p;do m.push(p=new Date(+a)),e(a,h),t(a);while(pQ(o=>{if(o>=o)for(;t(o),!a(o);)o.setTime(o-1)},(o,h)=>{if(o>=o)if(h<0)for(;++h<=0;)for(;e(o,-1),!a(o););else for(;--h>=0;)for(;e(o,1),!a(o););}),n&&(i.count=(a,o)=>(he.setTime(+a),de.setTime(+o),t(he),t(de),Math.floor(n(he,de))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?o=>r(o)%a===0:o=>i.count(0,o)%a===0):i)),i}const ee=Q(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);ee.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Q(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):ee);ee.range;const ht=1e3,it=ht*60,dt=it*60,mt=dt*24,Me=mt*7,Ne=mt*30,me=mt*365,Mt=Q(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*ht)},(t,e)=>(e-t)/ht,t=>t.getUTCSeconds());Mt.range;const Ht=Q(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ht)},(t,e)=>{t.setTime(+t+e*it)},(t,e)=>(e-t)/it,t=>t.getMinutes());Ht.range;const kr=Q(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*it)},(t,e)=>(e-t)/it,t=>t.getUTCMinutes());kr.range;const zt=Q(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ht-t.getMinutes()*it)},(t,e)=>{t.setTime(+t+e*dt)},(t,e)=>(e-t)/dt,t=>t.getHours());zt.range;const pr=Q(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*dt)},(t,e)=>(e-t)/dt,t=>t.getUTCHours());pr.range;const kt=Q(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*it)/mt,t=>t.getDate()-1);kt.range;const _e=Q(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/mt,t=>t.getUTCDate()-1);_e.range;const vr=Q(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/mt,t=>Math.floor(t/mt));vr.range;function Tt(t){return Q(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*it)/Me)}const Pt=Tt(0),Nt=Tt(1),mn=Tt(2),gn=Tt(3),pt=Tt(4),yn=Tt(5),kn=Tt(6);Pt.range;Nt.range;mn.range;gn.range;pt.range;yn.range;kn.range;function bt(t){return Q(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/Me)}const pn=bt(0),ne=bt(1),Tr=bt(2),br=bt(3),Ft=bt(4),xr=bt(5),wr=bt(6);pn.range;ne.range;Tr.range;br.range;Ft.range;xr.range;wr.range;const Vt=Q(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());Vt.range;const Dr=Q(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());Dr.range;const gt=Q(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());gt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Q(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});gt.range;const vt=Q(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());vt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Q(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});vt.range;function Cr(t,e,n,r,i,a){const o=[[Mt,1,ht],[Mt,5,5*ht],[Mt,15,15*ht],[Mt,30,30*ht],[a,1,it],[a,5,5*it],[a,15,15*it],[a,30,30*it],[i,1,dt],[i,3,3*dt],[i,6,6*dt],[i,12,12*dt],[r,1,mt],[r,2,2*mt],[n,1,Me],[e,1,Ne],[e,3,3*Ne],[t,1,me]];function h(p,v,S){const x=vR).right(o,x);if(g===o.length)return t.every(He(p/me,v/me,S));if(g===0)return ee.every(Math.max(He(p,v,S),1));const[I,C]=o[x/o[g-1][2]53)return null;"w"in u||(u.w=1),"Z"in u?(N=ye(Et(u.y,0,1)),V=N.getUTCDay(),N=V>4||V===0?ne.ceil(N):ne(N),N=_e.offset(N,(u.V-1)*7),u.y=N.getUTCFullYear(),u.m=N.getUTCMonth(),u.d=N.getUTCDate()+(u.w+6)%7):(N=ge(Et(u.y,0,1)),V=N.getDay(),N=V>4||V===0?Nt.ceil(N):Nt(N),N=kt.offset(N,(u.V-1)*7),u.y=N.getFullYear(),u.m=N.getMonth(),u.d=N.getDate()+(u.w+6)%7)}else("W"in u||"U"in u)&&("w"in u||(u.w="u"in u?u.u%7:"W"in u?1:0),V="Z"in u?ye(Et(u.y,0,1)).getUTCDay():ge(Et(u.y,0,1)).getDay(),u.m=0,u.d="W"in u?(u.w+6)%7+u.W*7-(V+5)%7:u.w+u.U*7-(V+6)%7);return"Z"in u?(u.H+=u.Z/100|0,u.M+=u.Z%100,ye(u)):ge(u)}}function D(f,M,L,u){for(var et=0,N=M.length,V=L.length,q,G;et=V)return-1;if(q=M.charCodeAt(et++),q===37){if(q=M.charAt(et++),G=J[q in Ve?M.charAt(et++):q],!G||(u=G(f,L,u))<0)return-1}else if(q!=L.charCodeAt(u++))return-1}return u}function F(f,M,L){var u=p.exec(M.slice(L));return u?(f.p=v.get(u[0].toLowerCase()),L+u[0].length):-1}function Y(f,M,L){var u=g.exec(M.slice(L));return u?(f.w=I.get(u[0].toLowerCase()),L+u[0].length):-1}function _(f,M,L){var u=S.exec(M.slice(L));return u?(f.w=x.get(u[0].toLowerCase()),L+u[0].length):-1}function T(f,M,L){var u=X.exec(M.slice(L));return u?(f.m=tt.get(u[0].toLowerCase()),L+u[0].length):-1}function O(f,M,L){var u=C.exec(M.slice(L));return u?(f.m=R.get(u[0].toLowerCase()),L+u[0].length):-1}function E(f,M,L){return D(f,e,M,L)}function A(f,M,L){return D(f,n,M,L)}function d(f,M,L){return D(f,r,M,L)}function y(f){return o[f.getDay()]}function b(f){return a[f.getDay()]}function k(f){return m[f.getMonth()]}function l(f){return h[f.getMonth()]}function s(f){return i[+(f.getHours()>=12)]}function z(f){return 1+~~(f.getMonth()/3)}function c(f){return o[f.getUTCDay()]}function U(f){return a[f.getUTCDay()]}function $(f){return m[f.getUTCMonth()]}function P(f){return h[f.getUTCMonth()]}function xt(f){return i[+(f.getUTCHours()>=12)]}function At(f){return 1+~~(f.getUTCMonth()/3)}return{format:function(f){var M=w(f+="",B);return M.toString=function(){return f},M},parse:function(f){var M=H(f+="",!1);return M.toString=function(){return f},M},utcFormat:function(f){var M=w(f+="",Z);return M.toString=function(){return f},M},utcParse:function(f){var M=H(f+="",!0);return M.toString=function(){return f},M}}}var Ve={"-":"",_:" ",0:"0"},K=/^\s*\d+/,Yr=/^%/,Fr=/[\\^$*+?|[\]().{}]/g;function W(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a[e.toLowerCase(),n]))}function Lr(t,e,n){var r=K.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Ar(t,e,n){var r=K.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Er(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Ir(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Wr(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Pe(t,e,n){var r=K.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Re(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Or(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Hr(t,e,n){var r=K.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function zr(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Be(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Nr(t,e,n){var r=K.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Ze(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Vr(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Pr(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Rr(t,e,n){var r=K.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Br(t,e,n){var r=K.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Zr(t,e,n){var r=Yr.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function qr(t,e,n){var r=K.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Xr(t,e,n){var r=K.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function qe(t,e){return W(t.getDate(),e,2)}function Gr(t,e){return W(t.getHours(),e,2)}function jr(t,e){return W(t.getHours()%12||12,e,2)}function Qr(t,e){return W(1+kt.count(gt(t),t),e,3)}function vn(t,e){return W(t.getMilliseconds(),e,3)}function Jr(t,e){return vn(t,e)+"000"}function $r(t,e){return W(t.getMonth()+1,e,2)}function Kr(t,e){return W(t.getMinutes(),e,2)}function ti(t,e){return W(t.getSeconds(),e,2)}function ei(t){var e=t.getDay();return e===0?7:e}function ni(t,e){return W(Pt.count(gt(t)-1,t),e,2)}function Tn(t){var e=t.getDay();return e>=4||e===0?pt(t):pt.ceil(t)}function ri(t,e){return t=Tn(t),W(pt.count(gt(t),t)+(gt(t).getDay()===4),e,2)}function ii(t){return t.getDay()}function ai(t,e){return W(Nt.count(gt(t)-1,t),e,2)}function si(t,e){return W(t.getFullYear()%100,e,2)}function oi(t,e){return t=Tn(t),W(t.getFullYear()%100,e,2)}function ci(t,e){return W(t.getFullYear()%1e4,e,4)}function li(t,e){var n=t.getDay();return t=n>=4||n===0?pt(t):pt.ceil(t),W(t.getFullYear()%1e4,e,4)}function ui(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+W(e/60|0,"0",2)+W(e%60,"0",2)}function Xe(t,e){return W(t.getUTCDate(),e,2)}function fi(t,e){return W(t.getUTCHours(),e,2)}function hi(t,e){return W(t.getUTCHours()%12||12,e,2)}function di(t,e){return W(1+_e.count(vt(t),t),e,3)}function bn(t,e){return W(t.getUTCMilliseconds(),e,3)}function mi(t,e){return bn(t,e)+"000"}function gi(t,e){return W(t.getUTCMonth()+1,e,2)}function yi(t,e){return W(t.getUTCMinutes(),e,2)}function ki(t,e){return W(t.getUTCSeconds(),e,2)}function pi(t){var e=t.getUTCDay();return e===0?7:e}function vi(t,e){return W(pn.count(vt(t)-1,t),e,2)}function xn(t){var e=t.getUTCDay();return e>=4||e===0?Ft(t):Ft.ceil(t)}function Ti(t,e){return t=xn(t),W(Ft.count(vt(t),t)+(vt(t).getUTCDay()===4),e,2)}function bi(t){return t.getUTCDay()}function xi(t,e){return W(ne.count(vt(t)-1,t),e,2)}function wi(t,e){return W(t.getUTCFullYear()%100,e,2)}function Di(t,e){return t=xn(t),W(t.getUTCFullYear()%100,e,2)}function Ci(t,e){return W(t.getUTCFullYear()%1e4,e,4)}function Mi(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Ft(t):Ft.ceil(t),W(t.getUTCFullYear()%1e4,e,4)}function _i(){return"+0000"}function Ge(){return"%"}function je(t){return+t}function Qe(t){return Math.floor(+t/1e3)}var Ct,re;Si({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 Si(t){return Ct=Sr(t),re=Ct.format,Ct.parse,Ct.utcFormat,Ct.utcParse,Ct}function Yi(t){return new Date(t)}function Fi(t){return t instanceof Date?+t:+new Date(+t)}function wn(t,e,n,r,i,a,o,h,m,p){var v=jn(),S=v.invert,x=v.domain,g=p(".%L"),I=p(":%S"),C=p("%I:%M"),R=p("%I %p"),X=p("%a %d"),tt=p("%b %d"),B=p("%B"),Z=p("%Y");function J(w){return(m(w)4&&(S+=7),v.add(S,ke)},i=function(m){return m.add(4-m.isoWeekday(),ke)},a=e.prototype;a.isoWeekYear=function(){var h=i(this);return h.year()},a.isoWeek=function(h){if(!this.$utils().u(h))return this.add((h-this.isoWeek())*7,ke);var m=i(this),p=r(this.isoWeekYear(),this.$u);return m.diff(p,Li)+1},a.isoWeekday=function(h){return this.$utils().u(h)?this.day()||7:this.day(this.day()%7?h:h-7)};var o=a.startOf;a.startOf=function(h,m){var p=this.$utils(),v=p.u(m)?!0:m,S=p.p(h);return S===Ii?v?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):o.bind(this)(h,m)}};var Oi=function(e){return e.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(n,r,i){return r||i.slice(1)})},Hi={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},zi=function(e,n){return e.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(r,i,a){var o=a&&a.toUpperCase();return i||n[a]||Hi[a]||Oi(n[o])})},Ni=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,Vi=/\d/,Qt=/\d\d/,Pi=/\d{3}/,Ri=/\d{4}/,at=/\d\d?/,Bi=/[+-]?\d+/,Zi=/[+-]\d\d:?(\d\d)?|Z/,Ot=/\d*[^-_:/,()\s\d]+/,yt={},Dn=function(e){return e=+e,e+(e>68?1900:2e3)};function qi(t){if(!t||t==="Z")return 0;var e=t.match(/([+-]|\d\d)/g),n=+(e[1]*60)+(+e[2]||0);return n===0?0:e[0]==="+"?-n:n}var nt=function(e){return function(n){this[e]=+n}},Je=[Zi,function(t){var e=this.zone||(this.zone={});e.offset=qi(t)}],pe=function(e){var n=yt[e];return n&&(n.indexOf?n:n.s.concat(n.f))},$e=function(e,n){var r,i=yt,a=i.meridiem;if(!a)r=e===(n?"pm":"PM");else for(var o=1;o<=24;o+=1)if(e.indexOf(a(o,0,n))>-1){r=o>12;break}return r},Xi={A:[Ot,function(t){this.afternoon=$e(t,!1)}],a:[Ot,function(t){this.afternoon=$e(t,!0)}],S:[Vi,function(t){this.milliseconds=+t*100}],SS:[Qt,function(t){this.milliseconds=+t*10}],SSS:[Pi,function(t){this.milliseconds=+t}],s:[at,nt("seconds")],ss:[at,nt("seconds")],m:[at,nt("minutes")],mm:[at,nt("minutes")],H:[at,nt("hours")],h:[at,nt("hours")],HH:[at,nt("hours")],hh:[at,nt("hours")],D:[at,nt("day")],DD:[Qt,nt("day")],Do:[Ot,function(t){var e=yt,n=e.ordinal,r=t.match(/\d+/);if(this.day=r[0],!!n)for(var i=1;i<=31;i+=1)n(i).replace(/\[|\]/g,"")===t&&(this.day=i)}],M:[at,nt("month")],MM:[Qt,nt("month")],MMM:[Ot,function(t){var e=pe("months"),n=pe("monthsShort"),r=(n||e.map(function(i){return i.slice(0,3)})).indexOf(t)+1;if(r<1)throw new Error;this.month=r%12||r}],MMMM:[Ot,function(t){var e=pe("months"),n=e.indexOf(t)+1;if(n<1)throw new Error;this.month=n%12||n}],Y:[Bi,nt("year")],YY:[Qt,function(t){this.year=Dn(t)}],YYYY:[Ri,nt("year")],Z:Je,ZZ:Je};function Gi(t){var e=t.afternoon;if(e!==void 0){var n=t.hours;e?n<12&&(t.hours+=12):n===12&&(t.hours=0),delete t.afternoon}}function ji(t){t=zi(t,yt&&yt.formats);for(var e=t.match(Ni),n=e.length,r=0;r-1)return new Date((n==="X"?1e3:1)*e);var i=ji(n),a=i(e),o=a.year,h=a.month,m=a.day,p=a.hours,v=a.minutes,S=a.seconds,x=a.milliseconds,g=a.zone,I=new Date,C=m||(!o&&!h?I.getDate():1),R=o||I.getFullYear(),X=0;o&&!h||(X=h>0?h-1:I.getMonth());var tt=p||0,B=v||0,Z=S||0,J=x||0;return g?new Date(Date.UTC(R,X,C,tt,B,Z,J+g.offset*60*1e3)):r?new Date(Date.UTC(R,X,C,tt,B,Z,J)):new Date(R,X,C,tt,B,Z,J)}catch{return new Date("")}};const Ji=function(t,e,n){n.p.customParseFormat=!0,t&&t.parseTwoDigitYear&&(Dn=t.parseTwoDigitYear);var r=e.prototype,i=r.parse;r.parse=function(a){var o=a.date,h=a.utc,m=a.args;this.$u=h;var p=m[1];if(typeof p=="string"){var v=m[2]===!0,S=m[3]===!0,x=v||S,g=m[2];S&&(g=m[2]),yt=this.$locale(),!v&&g&&(yt=n.Ls[g]),this.$d=Qi(o,p,h),this.init(),g&&g!==!0&&(this.$L=this.locale(g).$L),x&&o!=this.format(p)&&(this.$d=new Date("")),yt={}}else if(p instanceof Array)for(var I=p.length,C=1;C<=I;C+=1){m[1]=p[C-1];var R=n.apply(this,m);if(R.isValid()){this.$d=R.$d,this.$L=R.$L,this.init();break}C===I&&(this.$d=new Date(""))}else i.call(this,a)}},$i=function(t,e){var n=e.prototype,r=n.format;n.format=function(i){var a=this,o=this.$locale();if(!this.isValid())return r.bind(this)(i);var h=this.$utils(),m=i||Ei,p=m.replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(v){switch(v){case"Q":return Math.ceil((a.$M+1)/3);case"Do":return o.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return o.ordinal(a.week(),"W");case"w":case"ww":return h.s(a.week(),v==="w"?1:2,"0");case"W":case"WW":return h.s(a.isoWeek(),v==="W"?1:2,"0");case"k":case"kk":return h.s(String(a.$H===0?24:a.$H),v==="k"?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return v}});return r.bind(this)(p)}};var xe=function(){var t=function(A,d,y,b){for(y=y||{},b=A.length;b--;y[A[b]]=d);return y},e=[1,3],n=[1,5],r=[7,9,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,31,33,34,36,43,48],i=[1,32],a=[1,33],o=[1,34],h=[1,35],m=[1,36],p=[1,37],v=[1,38],S=[1,15],x=[1,16],g=[1,17],I=[1,18],C=[1,19],R=[1,20],X=[1,21],tt=[1,22],B=[1,24],Z=[1,25],J=[1,26],w=[1,27],H=[1,28],D=[1,30],F=[1,39],Y=[1,42],_=[5,7,9,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,31,33,34,36,43,48],T={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,gantt:5,document:6,EOF:7,line:8,SPACE:9,statement:10,NL:11,weekday:12,weekday_monday:13,weekday_tuesday:14,weekday_wednesday:15,weekday_thursday:16,weekday_friday:17,weekday_saturday:18,weekday_sunday:19,dateFormat:20,inclusiveEndDates:21,topAxis:22,axisFormat:23,tickInterval:24,excludes:25,includes:26,todayMarker:27,title:28,acc_title:29,acc_title_value:30,acc_descr:31,acc_descr_value:32,acc_descr_multiline_value:33,section:34,clickStatement:35,taskTxt:36,taskData:37,openDirective:38,typeDirective:39,closeDirective:40,":":41,argDirective:42,click:43,callbackname:44,callbackargs:45,href:46,clickStatementDebug:47,open_directive:48,type_directive:49,arg_directive:50,close_directive:51,$accept:0,$end:1},terminals_:{2:"error",5:"gantt",7:"EOF",9:"SPACE",11:"NL",13:"weekday_monday",14:"weekday_tuesday",15:"weekday_wednesday",16:"weekday_thursday",17:"weekday_friday",18:"weekday_saturday",19:"weekday_sunday",20:"dateFormat",21:"inclusiveEndDates",22:"topAxis",23:"axisFormat",24:"tickInterval",25:"excludes",26:"includes",27:"todayMarker",28:"title",29:"acc_title",30:"acc_title_value",31:"acc_descr",32:"acc_descr_value",33:"acc_descr_multiline_value",34:"section",36:"taskTxt",37:"taskData",41:":",43:"click",44:"callbackname",45:"callbackargs",46:"href",48:"open_directive",49:"type_directive",50:"arg_directive",51:"close_directive"},productions_:[0,[3,2],[3,3],[6,0],[6,2],[8,2],[8,1],[8,1],[8,1],[12,1],[12,1],[12,1],[12,1],[12,1],[12,1],[12,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[10,1],[10,1],[10,2],[10,1],[4,4],[4,6],[35,2],[35,3],[35,3],[35,4],[35,3],[35,4],[35,2],[47,2],[47,3],[47,3],[47,4],[47,3],[47,4],[47,2],[38,1],[39,1],[42,1],[40,1]],performAction:function(d,y,b,k,l,s,z){var c=s.length-1;switch(l){case 2:return s[c-1];case 3:this.$=[];break;case 4:s[c-1].push(s[c]),this.$=s[c-1];break;case 5:case 6:this.$=s[c];break;case 7:case 8:this.$=[];break;case 9:k.setWeekday("monday");break;case 10:k.setWeekday("tuesday");break;case 11:k.setWeekday("wednesday");break;case 12:k.setWeekday("thursday");break;case 13:k.setWeekday("friday");break;case 14:k.setWeekday("saturday");break;case 15:k.setWeekday("sunday");break;case 16:k.setDateFormat(s[c].substr(11)),this.$=s[c].substr(11);break;case 17:k.enableInclusiveEndDates(),this.$=s[c].substr(18);break;case 18:k.TopAxis(),this.$=s[c].substr(8);break;case 19:k.setAxisFormat(s[c].substr(11)),this.$=s[c].substr(11);break;case 20:k.setTickInterval(s[c].substr(13)),this.$=s[c].substr(13);break;case 21:k.setExcludes(s[c].substr(9)),this.$=s[c].substr(9);break;case 22:k.setIncludes(s[c].substr(9)),this.$=s[c].substr(9);break;case 23:k.setTodayMarker(s[c].substr(12)),this.$=s[c].substr(12);break;case 25:k.setDiagramTitle(s[c].substr(6)),this.$=s[c].substr(6);break;case 26:this.$=s[c].trim(),k.setAccTitle(this.$);break;case 27:case 28:this.$=s[c].trim(),k.setAccDescription(this.$);break;case 29:k.addSection(s[c].substr(8)),this.$=s[c].substr(8);break;case 31:k.addTask(s[c-1],s[c]),this.$="task";break;case 35:this.$=s[c-1],k.setClickEvent(s[c-1],s[c],null);break;case 36:this.$=s[c-2],k.setClickEvent(s[c-2],s[c-1],s[c]);break;case 37:this.$=s[c-2],k.setClickEvent(s[c-2],s[c-1],null),k.setLink(s[c-2],s[c]);break;case 38:this.$=s[c-3],k.setClickEvent(s[c-3],s[c-2],s[c-1]),k.setLink(s[c-3],s[c]);break;case 39:this.$=s[c-2],k.setClickEvent(s[c-2],s[c],null),k.setLink(s[c-2],s[c-1]);break;case 40:this.$=s[c-3],k.setClickEvent(s[c-3],s[c-1],s[c]),k.setLink(s[c-3],s[c-2]);break;case 41:this.$=s[c-1],k.setLink(s[c-1],s[c]);break;case 42:case 48:this.$=s[c-1]+" "+s[c];break;case 43:case 44:case 46:this.$=s[c-2]+" "+s[c-1]+" "+s[c];break;case 45:case 47:this.$=s[c-3]+" "+s[c-2]+" "+s[c-1]+" "+s[c];break;case 49:k.parseDirective("%%{","open_directive");break;case 50:k.parseDirective(s[c],"type_directive");break;case 51:s[c]=s[c].trim().replace(/'/g,'"'),k.parseDirective(s[c],"arg_directive");break;case 52:k.parseDirective("}%%","close_directive","gantt");break}},table:[{3:1,4:2,5:e,38:4,48:n},{1:[3]},{3:6,4:2,5:e,38:4,48:n},t(r,[2,3],{6:7}),{39:8,49:[1,9]},{49:[2,49]},{1:[2,1]},{4:31,7:[1,10],8:11,9:[1,12],10:13,11:[1,14],12:23,13:i,14:a,15:o,16:h,17:m,18:p,19:v,20:S,21:x,22:g,23:I,24:C,25:R,26:X,27:tt,28:B,29:Z,31:J,33:w,34:H,35:29,36:D,38:4,43:F,48:n},{40:40,41:[1,41],51:Y},t([41,51],[2,50]),t(r,[2,8],{1:[2,2]}),t(r,[2,4]),{4:31,10:43,12:23,13:i,14:a,15:o,16:h,17:m,18:p,19:v,20:S,21:x,22:g,23:I,24:C,25:R,26:X,27:tt,28:B,29:Z,31:J,33:w,34:H,35:29,36:D,38:4,43:F,48:n},t(r,[2,6]),t(r,[2,7]),t(r,[2,16]),t(r,[2,17]),t(r,[2,18]),t(r,[2,19]),t(r,[2,20]),t(r,[2,21]),t(r,[2,22]),t(r,[2,23]),t(r,[2,24]),t(r,[2,25]),{30:[1,44]},{32:[1,45]},t(r,[2,28]),t(r,[2,29]),t(r,[2,30]),{37:[1,46]},t(r,[2,32]),t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),t(r,[2,13]),t(r,[2,14]),t(r,[2,15]),{44:[1,47],46:[1,48]},{11:[1,49]},{42:50,50:[1,51]},{11:[2,52]},t(r,[2,5]),t(r,[2,26]),t(r,[2,27]),t(r,[2,31]),t(r,[2,35],{45:[1,52],46:[1,53]}),t(r,[2,41],{44:[1,54]}),t(_,[2,33]),{40:55,51:Y},{51:[2,51]},t(r,[2,36],{46:[1,56]}),t(r,[2,37]),t(r,[2,39],{45:[1,57]}),{11:[1,58]},t(r,[2,38]),t(r,[2,40]),t(_,[2,34])],defaultActions:{5:[2,49],6:[2,1],42:[2,52],51:[2,51]},parseError:function(d,y){if(y.recoverable)this.trace(d);else{var b=new Error(d);throw b.hash=y,b}},parse:function(d){var y=this,b=[0],k=[],l=[null],s=[],z=this.table,c="",U=0,$=0,P=2,xt=1,At=s.slice.call(arguments,1),f=Object.create(this.lexer),M={yy:{}};for(var L in this.yy)Object.prototype.hasOwnProperty.call(this.yy,L)&&(M.yy[L]=this.yy[L]);f.setInput(d,M.yy),M.yy.lexer=f,M.yy.parser=this,typeof f.yylloc>"u"&&(f.yylloc={});var u=f.yylloc;s.push(u);var et=f.options&&f.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function N(){var lt;return lt=k.pop()||f.lex()||xt,typeof lt!="number"&&(lt instanceof Array&&(k=lt,lt=k.pop()),lt=y.symbols_[lt]||lt),lt}for(var V,q,G,wt,Dt={},qt,ct,Oe,Xt;;){if(q=b[b.length-1],this.defaultActions[q]?G=this.defaultActions[q]:((V===null||typeof V>"u")&&(V=N()),G=z[q]&&z[q][V]),typeof G>"u"||!G.length||!G[0]){var ae="";Xt=[];for(qt in z[q])this.terminals_[qt]&&qt>P&&Xt.push("'"+this.terminals_[qt]+"'");f.showPosition?ae="Parse error on line "+(U+1)+`: -`+f.showPosition()+` -Expecting `+Xt.join(", ")+", got '"+(this.terminals_[V]||V)+"'":ae="Parse error on line "+(U+1)+": Unexpected "+(V==xt?"end of input":"'"+(this.terminals_[V]||V)+"'"),this.parseError(ae,{text:f.match,token:this.terminals_[V]||V,line:f.yylineno,loc:u,expected:Xt})}if(G[0]instanceof Array&&G.length>1)throw new Error("Parse Error: multiple actions possible at state: "+q+", token: "+V);switch(G[0]){case 1:b.push(V),l.push(f.yytext),s.push(f.yylloc),b.push(G[1]),V=null,$=f.yyleng,c=f.yytext,U=f.yylineno,u=f.yylloc;break;case 2:if(ct=this.productions_[G[1]][1],Dt.$=l[l.length-ct],Dt._$={first_line:s[s.length-(ct||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(ct||1)].first_column,last_column:s[s.length-1].last_column},et&&(Dt._$.range=[s[s.length-(ct||1)].range[0],s[s.length-1].range[1]]),wt=this.performAction.apply(Dt,[c,$,U,M.yy,G[1],l,s].concat(At)),typeof wt<"u")return wt;ct&&(b=b.slice(0,-1*ct*2),l=l.slice(0,-1*ct),s=s.slice(0,-1*ct)),b.push(this.productions_[G[1]][0]),l.push(Dt.$),s.push(Dt._$),Oe=z[b[b.length-2]][b[b.length-1]],b.push(Oe);break;case 3:return!0}}return!0}},O=function(){var A={EOF:1,parseError:function(y,b){if(this.yy.parser)this.yy.parser.parseError(y,b);else throw new Error(y)},setInput:function(d,y){return this.yy=y||this.yy||{},this._input=d,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var d=this._input[0];this.yytext+=d,this.yyleng++,this.offset++,this.match+=d,this.matched+=d;var y=d.match(/(?:\r\n?|\n).*/g);return y?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),d},unput:function(d){var y=d.length,b=d.split(/(?:\r\n?|\n)/g);this._input=d+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-y),this.offset-=y;var k=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),b.length-1&&(this.yylineno-=b.length-1);var l=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:b?(b.length===k.length?this.yylloc.first_column:0)+k[k.length-b.length].length-b[0].length:this.yylloc.first_column-y},this.options.ranges&&(this.yylloc.range=[l[0],l[0]+this.yyleng-y]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(d){this.unput(this.match.slice(d))},pastInput:function(){var d=this.matched.substr(0,this.matched.length-this.match.length);return(d.length>20?"...":"")+d.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var d=this.match;return d.length<20&&(d+=this._input.substr(0,20-d.length)),(d.substr(0,20)+(d.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var d=this.pastInput(),y=new Array(d.length+1).join("-");return d+this.upcomingInput()+` -`+y+"^"},test_match:function(d,y){var b,k,l;if(this.options.backtrack_lexer&&(l={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(l.yylloc.range=this.yylloc.range.slice(0))),k=d[0].match(/(?:\r\n?|\n).*/g),k&&(this.yylineno+=k.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+d[0].length},this.yytext+=d[0],this.match+=d[0],this.matches=d,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(d[0].length),this.matched+=d[0],b=this.performAction.call(this,this.yy,this,y,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),b)return b;if(this._backtrack){for(var s in l)this[s]=l[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var d,y,b,k;this._more||(this.yytext="",this.match="");for(var l=this._currentRules(),s=0;sy[0].length)){if(y=b,k=s,this.options.backtrack_lexer){if(d=this.test_match(b,l[s]),d!==!1)return d;if(this._backtrack){y=!1;continue}else return!1}else if(!this.options.flex)break}return y?(d=this.test_match(y,l[k]),d!==!1?d:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var y=this.next();return y||this.lex()},begin:function(y){this.conditionStack.push(y)},popState:function(){var y=this.conditionStack.length-1;return y>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(y){return y=this.conditionStack.length-1-Math.abs(y||0),y>=0?this.conditionStack[y]:"INITIAL"},pushState:function(y){this.begin(y)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(y,b,k,l){switch(k){case 0:return this.begin("open_directive"),48;case 1:return this.begin("type_directive"),49;case 2:return this.popState(),this.begin("arg_directive"),41;case 3:return this.popState(),this.popState(),51;case 4:return 50;case 5:return this.begin("acc_title"),29;case 6:return this.popState(),"acc_title_value";case 7:return this.begin("acc_descr"),31;case 8:return this.popState(),"acc_descr_value";case 9:this.begin("acc_descr_multiline");break;case 10:this.popState();break;case 11:return"acc_descr_multiline_value";case 12:break;case 13:break;case 14:break;case 15:return 11;case 16:break;case 17:break;case 18:break;case 19:this.begin("href");break;case 20:this.popState();break;case 21:return 46;case 22:this.begin("callbackname");break;case 23:this.popState();break;case 24:this.popState(),this.begin("callbackargs");break;case 25:return 44;case 26:this.popState();break;case 27:return 45;case 28:this.begin("click");break;case 29:this.popState();break;case 30:return 43;case 31:return 5;case 32:return 20;case 33:return 21;case 34:return 22;case 35:return 23;case 36:return 24;case 37:return 26;case 38:return 25;case 39:return 27;case 40:return 13;case 41:return 14;case 42:return 15;case 43:return 16;case 44:return 17;case 45:return 18;case 46:return 19;case 47:return"date";case 48:return 28;case 49:return"accDescription";case 50:return 34;case 51:return 36;case 52:return 37;case 53:return 41;case 54:return 7;case 55:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[10,11],inclusive:!1},acc_descr:{rules:[8],inclusive:!1},acc_title:{rules:[6],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[26,27],inclusive:!1},callbackname:{rules:[23,24,25],inclusive:!1},href:{rules:[20,21],inclusive:!1},click:{rules:[29,30],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,13,14,15,16,17,18,19,22,28,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],inclusive:!0}}};return A}();T.lexer=O;function E(){this.yy={}}return E.prototype=T,T.Parser=E,new E}();xe.parser=xe;const Ki=xe;rt.extend(Wi);rt.extend(Ji);rt.extend($i);let st="",Se="",Ye,Fe="",Rt=[],Bt=[],Ue={},Le=[],ie=[],Ut="",Ae="";const Cn=["active","done","crit","milestone"];let Ee=[],Zt=!1,Ie=!1,We="sunday",we=0;const ta=function(t,e,n){Pn.parseDirective(this,t,e,n)},ea=function(){Le=[],ie=[],Ut="",Ee=[],$t=0,Ce=void 0,Kt=void 0,j=[],st="",Se="",Ae="",Ye=void 0,Fe="",Rt=[],Bt=[],Zt=!1,Ie=!1,we=0,Ue={},Rn(),We="sunday"},na=function(t){Se=t},ra=function(){return Se},ia=function(t){Ye=t},aa=function(){return Ye},sa=function(t){Fe=t},oa=function(){return Fe},ca=function(t){st=t},la=function(){Zt=!0},ua=function(){return Zt},fa=function(){Ie=!0},ha=function(){return Ie},da=function(t){Ae=t},ma=function(){return Ae},ga=function(){return st},ya=function(t){Rt=t.toLowerCase().split(/[\s,]+/)},ka=function(){return Rt},pa=function(t){Bt=t.toLowerCase().split(/[\s,]+/)},va=function(){return Bt},Ta=function(){return Ue},ba=function(t){Ut=t,Le.push(t)},xa=function(){return Le},wa=function(){let t=Ke();const e=10;let n=0;for(;!t&&n=6&&n.includes("weekends")||n.includes(t.format("dddd").toLowerCase())?!0:n.includes(t.format(e.trim()))},Da=function(t){We=t},Ca=function(){return We},_n=function(t,e,n,r){if(!n.length||t.manualEndTime)return;let i;t.startTime instanceof Date?i=rt(t.startTime):i=rt(t.startTime,e,!0),i=i.add(1,"d");let a;t.endTime instanceof Date?a=rt(t.endTime):a=rt(t.endTime,e,!0);const[o,h]=Ma(i,a,e,n,r);t.endTime=o.toDate(),t.renderEndTime=h},Ma=function(t,e,n,r,i){let a=!1,o=null;for(;t<=e;)a||(o=e.toDate()),a=Mn(t,n,r,i),a&&(e=e.add(1,"d")),t=t.add(1,"d");return[e,o]},De=function(t,e,n){n=n.trim();const i=/^after\s+([\d\w- ]+)/.exec(n.trim());if(i!==null){let o=null;if(i[1].split(" ").forEach(function(h){let m=Lt(h);m!==void 0&&(o?m.endTime>o.endTime&&(o=m):o=m)}),o)return o.endTime;{const h=new Date;return h.setHours(0,0,0,0),h}}let a=rt(n,e.trim(),!0);if(a.isValid())return a.toDate();{ve.debug("Invalid date:"+n),ve.debug("With date format:"+e.trim());const o=new Date(n);if(o===void 0||isNaN(o.getTime())||o.getFullYear()<-1e4||o.getFullYear()>1e4)throw new Error("Invalid date:"+n);return o}},Sn=function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},Yn=function(t,e,n,r=!1){n=n.trim();let i=rt(n,e.trim(),!0);if(i.isValid())return r&&(i=i.add(1,"d")),i.toDate();let a=rt(t);const[o,h]=Sn(n);if(!Number.isNaN(o)){const m=a.add(o,h);m.isValid()&&(a=m)}return a.toDate()};let $t=0;const Yt=function(t){return t===void 0?($t=$t+1,"task"+$t):t},_a=function(t,e){let n;e.substr(0,1)===":"?n=e.substr(1,e.length):n=e;const r=n.split(","),i={};An(r,i,Cn);for(let o=0;o{window.open(n,"_self")}),Ue[r]=n)}),Un(t,"clickable")},Un=function(t,e){t.split(",").forEach(function(n){let r=Lt(n);r!==void 0&&r.classes.push(e)})},La=function(t,e,n){if(_t().securityLevel!=="loose"||e===void 0)return;let r=[];if(typeof n=="string"){r=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Xn.runFunc(e,...r)})},Ln=function(t,e){Ee.push(function(){const n=document.querySelector(`[id="${t}"]`);n!==null&&n.addEventListener("click",function(){e()})},function(){const n=document.querySelector(`[id="${t}-text"]`);n!==null&&n.addEventListener("click",function(){e()})})},Aa=function(t,e,n){t.split(",").forEach(function(r){La(r,e,n)}),Un(t,"clickable")},Ea=function(t){Ee.forEach(function(e){e(t)})},Ia={parseDirective:ta,getConfig:()=>_t().gantt,clear:ea,setDateFormat:ca,getDateFormat:ga,enableInclusiveEndDates:la,endDatesAreInclusive:ua,enableTopAxis:fa,topAxisEnabled:ha,setAxisFormat:na,getAxisFormat:ra,setTickInterval:ia,getTickInterval:aa,setTodayMarker:sa,getTodayMarker:oa,setAccTitle:Wn,getAccTitle:On,setDiagramTitle:Hn,getDiagramTitle:zn,setDisplayMode:da,getDisplayMode:ma,setAccDescription:Nn,getAccDescription:Vn,addSection:ba,getSections:xa,getTasks:wa,addTask:Ya,findTaskById:Lt,addTaskOrg:Fa,setIncludes:ya,getIncludes:ka,setExcludes:pa,getExcludes:va,setClickEvent:Aa,setLink:Ua,getLinks:Ta,bindFunctions:Ea,parseDuration:Sn,isInvalidDate:Mn,setWeekday:Da,getWeekday:Ca};function An(t,e,n){let r=!0;for(;r;)r=!1,n.forEach(function(i){const a="^\\s*"+i+"\\s*$",o=new RegExp(a);t[0].match(o)&&(e[i]=!0,t.shift(1),r=!0)})}const Wa=function(){ve.debug("Something is calling, setConf, remove the call")},tn={monday:Nt,tuesday:mn,wednesday:gn,thursday:pt,friday:yn,saturday:kn,sunday:Pt},Oa=(t,e)=>{let n=[...t].map(()=>-1/0),r=[...t].sort((a,o)=>a.startTime-o.startTime||a.order-o.order),i=0;for(const a of r)for(let o=0;o=n[o]){n[o]=a.endTime,a.order=o+e,o>i&&(i=o);break}return i};let ut;const Ha=function(t,e,n,r){const i=_t().gantt,a=_t().securityLevel;let o;a==="sandbox"&&(o=Gt("#i"+e));const h=a==="sandbox"?Gt(o.nodes()[0].contentDocument.body):Gt("body"),m=a==="sandbox"?o.nodes()[0].contentDocument:document,p=m.getElementById(e);ut=p.parentElement.offsetWidth,ut===void 0&&(ut=1200),i.useWidth!==void 0&&(ut=i.useWidth);const v=r.db.getTasks();let S=[];for(const D of v)S.push(D.type);S=H(S);const x={};let g=2*i.topPadding;if(r.db.getDisplayMode()==="compact"||i.displayMode==="compact"){const D={};for(const Y of v)D[Y.section]===void 0?D[Y.section]=[Y]:D[Y.section].push(Y);let F=0;for(const Y of Object.keys(D)){const _=Oa(D[Y],F)+1;F+=_,g+=_*(i.barHeight+i.barGap),x[Y]=_}}else{g+=v.length*(i.barHeight+i.barGap);for(const D of S)x[D]=v.filter(F=>F.type===D).length}p.setAttribute("viewBox","0 0 "+ut+" "+g);const I=h.select(`[id="${e}"]`),C=Ui().domain([tr(v,function(D){return D.startTime}),Kn(v,function(D){return D.endTime})]).rangeRound([0,ut-i.leftPadding-i.rightPadding]);function R(D,F){const Y=D.startTime,_=F.startTime;let T=0;return Y>_?T=1:Y<_&&(T=-1),T}v.sort(R),X(v,ut,g),Zn(I,g,ut,i.useMaxWidth),I.append("text").text(r.db.getDiagramTitle()).attr("x",ut/2).attr("y",i.titleTopMargin).attr("class","titleText");function X(D,F,Y){const _=i.barHeight,T=_+i.barGap,O=i.topPadding,E=i.leftPadding,A=Jn().domain([0,S.length]).range(["#00B9FA","#F95002"]).interpolate(gr);B(T,O,E,F,Y,D,r.db.getExcludes(),r.db.getIncludes()),Z(E,O,F,Y),tt(D,T,O,E,_,A,F),J(T,O),w(E,O,F,Y)}function tt(D,F,Y,_,T,O,E){const d=[...new Set(D.map(l=>l.order))].map(l=>D.find(s=>s.order===l));I.append("g").selectAll("rect").data(d).enter().append("rect").attr("x",0).attr("y",function(l,s){return s=l.order,s*F+Y-2}).attr("width",function(){return E-i.rightPadding/2}).attr("height",F).attr("class",function(l){for(const[s,z]of S.entries())if(l.type===z)return"section section"+s%i.numberSectionStyles;return"section section0"});const y=I.append("g").selectAll("rect").data(D).enter(),b=r.db.getLinks();if(y.append("rect").attr("id",function(l){return l.id}).attr("rx",3).attr("ry",3).attr("x",function(l){return l.milestone?C(l.startTime)+_+.5*(C(l.endTime)-C(l.startTime))-.5*T:C(l.startTime)+_}).attr("y",function(l,s){return s=l.order,s*F+Y}).attr("width",function(l){return l.milestone?T:C(l.renderEndTime||l.endTime)-C(l.startTime)}).attr("height",T).attr("transform-origin",function(l,s){return s=l.order,(C(l.startTime)+_+.5*(C(l.endTime)-C(l.startTime))).toString()+"px "+(s*F+Y+.5*T).toString()+"px"}).attr("class",function(l){const s="task";let z="";l.classes.length>0&&(z=l.classes.join(" "));let c=0;for(const[$,P]of S.entries())l.type===P&&(c=$%i.numberSectionStyles);let U="";return l.active?l.crit?U+=" activeCrit":U=" active":l.done?l.crit?U=" doneCrit":U=" done":l.crit&&(U+=" crit"),U.length===0&&(U=" task"),l.milestone&&(U=" milestone "+U),U+=c,U+=" "+z,s+U}),y.append("text").attr("id",function(l){return l.id+"-text"}).text(function(l){return l.task}).attr("font-size",i.fontSize).attr("x",function(l){let s=C(l.startTime),z=C(l.renderEndTime||l.endTime);l.milestone&&(s+=.5*(C(l.endTime)-C(l.startTime))-.5*T),l.milestone&&(z=s+T);const c=this.getBBox().width;return c>z-s?z+c+1.5*i.leftPadding>E?s+_-5:z+_+5:(z-s)/2+s+_}).attr("y",function(l,s){return s=l.order,s*F+i.barHeight/2+(i.fontSize/2-2)+Y}).attr("text-height",T).attr("class",function(l){const s=C(l.startTime);let z=C(l.endTime);l.milestone&&(z=s+T);const c=this.getBBox().width;let U="";l.classes.length>0&&(U=l.classes.join(" "));let $=0;for(const[xt,At]of S.entries())l.type===At&&($=xt%i.numberSectionStyles);let P="";return l.active&&(l.crit?P="activeCritText"+$:P="activeText"+$),l.done?l.crit?P=P+" doneCritText"+$:P=P+" doneText"+$:l.crit&&(P=P+" critText"+$),l.milestone&&(P+=" milestoneText"),c>z-s?z+c+1.5*i.leftPadding>E?U+" taskTextOutsideLeft taskTextOutside"+$+" "+P:U+" taskTextOutsideRight taskTextOutside"+$+" "+P+" width-"+c:U+" taskText taskText"+$+" "+P+" width-"+c}),_t().securityLevel==="sandbox"){let l;l=Gt("#i"+e);const s=l.nodes()[0].contentDocument;y.filter(function(z){return b[z.id]!==void 0}).each(function(z){var c=s.querySelector("#"+z.id),U=s.querySelector("#"+z.id+"-text");const $=c.parentNode;var P=s.createElement("a");P.setAttribute("xlink:href",b[z.id]),P.setAttribute("target","_top"),$.appendChild(P),P.appendChild(c),P.appendChild(U)})}}function B(D,F,Y,_,T,O,E,A){const d=O.reduce((c,{startTime:U})=>c?Math.min(c,U):U,0),y=O.reduce((c,{endTime:U})=>c?Math.max(c,U):U,0),b=r.db.getDateFormat();if(!d||!y)return;const k=[];let l=null,s=rt(d);for(;s.valueOf()<=y;)r.db.isInvalidDate(s,b,E,A)?l?l.end=s:l={start:s,end:s}:l&&(k.push(l),l=null),s=s.add(1,"d");I.append("g").selectAll("rect").data(k).enter().append("rect").attr("id",function(c){return"exclude-"+c.start.format("YYYY-MM-DD")}).attr("x",function(c){return C(c.start)+Y}).attr("y",i.gridLineStartPadding).attr("width",function(c){const U=c.end.add(1,"day");return C(U)-C(c.start)}).attr("height",T-F-i.gridLineStartPadding).attr("transform-origin",function(c,U){return(C(c.start)+Y+.5*(C(c.end)-C(c.start))).toString()+"px "+(U*D+.5*T).toString()+"px"}).attr("class","exclude-range")}function Z(D,F,Y,_){let T=cr(C).tickSize(-_+F+i.gridLineStartPadding).tickFormat(re(r.db.getAxisFormat()||i.axisFormat||"%Y-%m-%d"));const E=/^([1-9]\d*)(minute|hour|day|week|month)$/.exec(r.db.getTickInterval()||i.tickInterval);if(E!==null){const A=E[1],d=E[2],y=r.db.getWeekday()||i.weekday;switch(d){case"minute":T.ticks(Ht.every(A));break;case"hour":T.ticks(zt.every(A));break;case"day":T.ticks(kt.every(A));break;case"week":T.ticks(tn[y].every(A));break;case"month":T.ticks(Vt.every(A));break}}if(I.append("g").attr("class","grid").attr("transform","translate("+D+", "+(_-50)+")").call(T).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),r.db.topAxisEnabled()||i.topAxis){let A=or(C).tickSize(-_+F+i.gridLineStartPadding).tickFormat(re(r.db.getAxisFormat()||i.axisFormat||"%Y-%m-%d"));if(E!==null){const d=E[1],y=E[2],b=r.db.getWeekday()||i.weekday;switch(y){case"minute":A.ticks(Ht.every(d));break;case"hour":A.ticks(zt.every(d));break;case"day":A.ticks(kt.every(d));break;case"week":A.ticks(tn[b].every(d));break;case"month":A.ticks(Vt.every(d));break}}I.append("g").attr("class","grid").attr("transform","translate("+D+", "+F+")").call(A).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function J(D,F){let Y=0;const _=Object.keys(x).map(T=>[T,x[T]]);I.append("g").selectAll("text").data(_).enter().append(function(T){const O=T[0].split(qn.lineBreakRegex),E=-(O.length-1)/2,A=m.createElementNS("http://www.w3.org/2000/svg","text");A.setAttribute("dy",E+"em");for(const[d,y]of O.entries()){const b=m.createElementNS("http://www.w3.org/2000/svg","tspan");b.setAttribute("alignment-baseline","central"),b.setAttribute("x","10"),d>0&&b.setAttribute("dy","1em"),b.textContent=y,A.appendChild(b)}return A}).attr("x",10).attr("y",function(T,O){if(O>0)for(let E=0;E` - .mermaid-main-font { - font-family: "trebuchet ms", verdana, arial, sans-serif; - font-family: var(--mermaid-font-family); - } - .exclude-range { - fill: ${t.excludeBkgColor}; - } - - .section { - stroke: none; - opacity: 0.2; - } - - .section0 { - fill: ${t.sectionBkgColor}; - } - - .section2 { - fill: ${t.sectionBkgColor2}; - } - - .section1, - .section3 { - fill: ${t.altSectionBkgColor}; - opacity: 0.2; - } - - .sectionTitle0 { - fill: ${t.titleColor}; - } - - .sectionTitle1 { - fill: ${t.titleColor}; - } - - .sectionTitle2 { - fill: ${t.titleColor}; - } - - .sectionTitle3 { - fill: ${t.titleColor}; - } - - .sectionTitle { - text-anchor: start; - // font-size: ${t.ganttFontSize}; - // text-height: 14px; - font-family: 'trebuchet ms', verdana, arial, sans-serif; - font-family: var(--mermaid-font-family); - - } - - - /* Grid and axis */ - - .grid .tick { - stroke: ${t.gridColor}; - opacity: 0.8; - shape-rendering: crispEdges; - text { - font-family: ${t.fontFamily}; - fill: ${t.textColor}; - } - } - - .grid path { - stroke-width: 0; - } - - - /* Today line */ - - .today { - fill: none; - stroke: ${t.todayLineColor}; - stroke-width: 2px; - } - - - /* Task styling */ - - /* Default task */ - - .task { - stroke-width: 2; - } - - .taskText { - text-anchor: middle; - font-family: 'trebuchet ms', verdana, arial, sans-serif; - font-family: var(--mermaid-font-family); - } - - // .taskText:not([font-size]) { - // font-size: ${t.ganttFontSize}; - // } - - .taskTextOutsideRight { - fill: ${t.taskTextDarkColor}; - text-anchor: start; - // font-size: ${t.ganttFontSize}; - font-family: 'trebuchet ms', verdana, arial, sans-serif; - font-family: var(--mermaid-font-family); - - } - - .taskTextOutsideLeft { - fill: ${t.taskTextDarkColor}; - text-anchor: end; - // font-size: ${t.ganttFontSize}; - } - - /* Special case clickable */ - .task.clickable { - cursor: pointer; - } - .taskText.clickable { - cursor: pointer; - fill: ${t.taskTextClickableColor} !important; - font-weight: bold; - } - - .taskTextOutsideLeft.clickable { - cursor: pointer; - fill: ${t.taskTextClickableColor} !important; - font-weight: bold; - } - - .taskTextOutsideRight.clickable { - cursor: pointer; - fill: ${t.taskTextClickableColor} !important; - font-weight: bold; - } - - /* Specific task settings for the sections*/ - - .taskText0, - .taskText1, - .taskText2, - .taskText3 { - fill: ${t.taskTextColor}; - } - - .task0, - .task1, - .task2, - .task3 { - fill: ${t.taskBkgColor}; - stroke: ${t.taskBorderColor}; - } - - .taskTextOutside0, - .taskTextOutside2 - { - fill: ${t.taskTextOutsideColor}; - } - - .taskTextOutside1, - .taskTextOutside3 { - fill: ${t.taskTextOutsideColor}; - } - - - /* Active task */ - - .active0, - .active1, - .active2, - .active3 { - fill: ${t.activeTaskBkgColor}; - stroke: ${t.activeTaskBorderColor}; - } - - .activeText0, - .activeText1, - .activeText2, - .activeText3 { - fill: ${t.taskTextDarkColor} !important; - } - - - /* Completed task */ - - .done0, - .done1, - .done2, - .done3 { - stroke: ${t.doneTaskBorderColor}; - fill: ${t.doneTaskBkgColor}; - stroke-width: 2; - } - - .doneText0, - .doneText1, - .doneText2, - .doneText3 { - fill: ${t.taskTextDarkColor} !important; - } - - - /* Tasks on the critical line */ - - .crit0, - .crit1, - .crit2, - .crit3 { - stroke: ${t.critBorderColor}; - fill: ${t.critBkgColor}; - stroke-width: 2; - } - - .activeCrit0, - .activeCrit1, - .activeCrit2, - .activeCrit3 { - stroke: ${t.critBorderColor}; - fill: ${t.activeTaskBkgColor}; - stroke-width: 2; - } - - .doneCrit0, - .doneCrit1, - .doneCrit2, - .doneCrit3 { - stroke: ${t.critBorderColor}; - fill: ${t.doneTaskBkgColor}; - stroke-width: 2; - cursor: pointer; - shape-rendering: crispEdges; - } - - .milestone { - transform: rotate(45deg) scale(0.8,0.8); - } - - .milestoneText { - font-style: italic; - } - .doneCritText0, - .doneCritText1, - .doneCritText2, - .doneCritText3 { - fill: ${t.taskTextDarkColor} !important; - } - - .activeCritText0, - .activeCritText1, - .activeCritText2, - .activeCritText3 { - fill: ${t.taskTextDarkColor} !important; - } - - .titleText { - text-anchor: middle; - font-size: 18px; - fill: ${t.textColor} ; - font-family: 'trebuchet ms', verdana, arial, sans-serif; - font-family: var(--mermaid-font-family); - } -`,Va=Na,Xa={parser:Ki,db:Ia,renderer:za,styles:Va};export{Xa as diagram}; diff --git a/pr-333/assets/chunks/gitGraphDiagram-a13ae597.f108ebcf.js b/pr-333/assets/chunks/gitGraphDiagram-a13ae597.f108ebcf.js deleted file mode 100644 index 485a31111..000000000 --- a/pr-333/assets/chunks/gitGraphDiagram-a13ae597.f108ebcf.js +++ /dev/null @@ -1,70 +0,0 @@ -import{c as I,s as Oe,g as Ie,a as Ge,b as Pe,v as Ne,x as He,m as Be,l as N,j as V,z as De,a9 as fe,h as Ve,y as ze,aa as je,ab as qe}from"../app.1f62ceb3.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";var pe=function(){var r=function(q,m,b,k){for(b=b||{},k=q.length;k--;b[q[k]]=m);return b},a=[1,4],o=[1,7],p=[1,5],n=[1,9],c=[1,6],u=[2,6],h=[1,16],E=[6,8,14,20,22,24,25,27,29,32,37,40,50,55],x=[8,14,20,22,24,25,27,29,32,37,40],l=[8,13,14,20,22,24,25,27,29,32,37,40],g=[1,26],f=[6,8,14,50,55],s=[8,14,55],_=[1,53],w=[1,52],O=[8,14,30,33,35,38,55],v=[1,67],d=[1,68],y=[1,69],H=[8,14,33,35,42,55],ce={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,GG:6,document:7,EOF:8,":":9,DIR:10,options:11,body:12,OPT:13,NL:14,line:15,statement:16,commitStatement:17,mergeStatement:18,cherryPickStatement:19,acc_title:20,acc_title_value:21,acc_descr:22,acc_descr_value:23,acc_descr_multiline_value:24,section:25,branchStatement:26,CHECKOUT:27,ref:28,BRANCH:29,ORDER:30,NUM:31,CHERRY_PICK:32,COMMIT_ID:33,STR:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,openDirective:46,typeDirective:47,closeDirective:48,argDirective:49,open_directive:50,type_directive:51,arg_directive:52,close_directive:53,ID:54,";":55,$accept:0,$end:1},terminals_:{2:"error",6:"GG",8:"EOF",9:":",10:"DIR",13:"OPT",14:"NL",20:"acc_title",21:"acc_title_value",22:"acc_descr",23:"acc_descr_value",24:"acc_descr_multiline_value",25:"section",27:"CHECKOUT",29:"BRANCH",30:"ORDER",31:"NUM",32:"CHERRY_PICK",33:"COMMIT_ID",34:"STR",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",50:"open_directive",51:"type_directive",52:"arg_directive",53:"close_directive",54:"ID",55:";"},productions_:[0,[3,2],[3,2],[3,3],[3,4],[3,5],[7,0],[7,2],[11,2],[11,1],[12,0],[12,2],[15,2],[15,1],[16,1],[16,1],[16,1],[16,2],[16,2],[16,1],[16,1],[16,1],[16,2],[26,2],[26,4],[19,3],[19,5],[19,5],[19,5],[19,5],[18,2],[18,4],[18,4],[18,4],[18,6],[18,6],[18,6],[18,6],[18,6],[18,6],[18,8],[18,8],[18,8],[18,8],[18,8],[18,8],[17,2],[17,3],[17,3],[17,5],[17,5],[17,3],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,3],[17,5],[17,5],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[41,0],[41,1],[39,1],[39,1],[39,1],[5,3],[5,5],[46,1],[47,1],[49,1],[48,1],[28,1],[28,1],[4,1],[4,1],[4,1]],performAction:function(m,b,k,i,T,e,X){var t=e.length-1;switch(T){case 3:return e[t];case 4:return e[t-1];case 5:return i.setDirection(e[t-3]),e[t-1];case 7:i.setOptions(e[t-1]),this.$=e[t];break;case 8:e[t-1]+=e[t],this.$=e[t-1];break;case 10:this.$=[];break;case 11:e[t-1].push(e[t]),this.$=e[t-1];break;case 12:this.$=e[t-1];break;case 17:this.$=e[t].trim(),i.setAccTitle(this.$);break;case 18:case 19:this.$=e[t].trim(),i.setAccDescription(this.$);break;case 20:i.addSection(e[t].substr(8)),this.$=e[t].substr(8);break;case 22:i.checkout(e[t]);break;case 23:i.branch(e[t]);break;case 24:i.branch(e[t-2],e[t]);break;case 25:i.cherryPick(e[t],"",void 0);break;case 26:i.cherryPick(e[t-2],"",e[t]);break;case 27:case 29:i.cherryPick(e[t-2],"","");break;case 28:i.cherryPick(e[t],"",e[t-2]);break;case 30:i.merge(e[t],"","","");break;case 31:i.merge(e[t-2],e[t],"","");break;case 32:i.merge(e[t-2],"",e[t],"");break;case 33:i.merge(e[t-2],"","",e[t]);break;case 34:i.merge(e[t-4],e[t],"",e[t-2]);break;case 35:i.merge(e[t-4],"",e[t],e[t-2]);break;case 36:i.merge(e[t-4],"",e[t-2],e[t]);break;case 37:i.merge(e[t-4],e[t-2],e[t],"");break;case 38:i.merge(e[t-4],e[t-2],"",e[t]);break;case 39:i.merge(e[t-4],e[t],e[t-2],"");break;case 40:i.merge(e[t-6],e[t-4],e[t-2],e[t]);break;case 41:i.merge(e[t-6],e[t],e[t-4],e[t-2]);break;case 42:i.merge(e[t-6],e[t-4],e[t],e[t-2]);break;case 43:i.merge(e[t-6],e[t-2],e[t-4],e[t]);break;case 44:i.merge(e[t-6],e[t],e[t-2],e[t-4]);break;case 45:i.merge(e[t-6],e[t-2],e[t],e[t-4]);break;case 46:i.commit(e[t]);break;case 47:i.commit("","",i.commitType.NORMAL,e[t]);break;case 48:i.commit("","",e[t],"");break;case 49:i.commit("","",e[t],e[t-2]);break;case 50:i.commit("","",e[t-2],e[t]);break;case 51:i.commit("",e[t],i.commitType.NORMAL,"");break;case 52:i.commit("",e[t-2],i.commitType.NORMAL,e[t]);break;case 53:i.commit("",e[t],i.commitType.NORMAL,e[t-2]);break;case 54:i.commit("",e[t-2],e[t],"");break;case 55:i.commit("",e[t],e[t-2],"");break;case 56:i.commit("",e[t-4],e[t-2],e[t]);break;case 57:i.commit("",e[t-4],e[t],e[t-2]);break;case 58:i.commit("",e[t-2],e[t-4],e[t]);break;case 59:i.commit("",e[t],e[t-4],e[t-2]);break;case 60:i.commit("",e[t],e[t-2],e[t-4]);break;case 61:i.commit("",e[t-2],e[t],e[t-4]);break;case 62:i.commit(e[t],"",i.commitType.NORMAL,"");break;case 63:i.commit(e[t],"",i.commitType.NORMAL,e[t-2]);break;case 64:i.commit(e[t-2],"",i.commitType.NORMAL,e[t]);break;case 65:i.commit(e[t-2],"",e[t],"");break;case 66:i.commit(e[t],"",e[t-2],"");break;case 67:i.commit(e[t],e[t-2],i.commitType.NORMAL,"");break;case 68:i.commit(e[t-2],e[t],i.commitType.NORMAL,"");break;case 69:i.commit(e[t-4],"",e[t-2],e[t]);break;case 70:i.commit(e[t-4],"",e[t],e[t-2]);break;case 71:i.commit(e[t-2],"",e[t-4],e[t]);break;case 72:i.commit(e[t],"",e[t-4],e[t-2]);break;case 73:i.commit(e[t],"",e[t-2],e[t-4]);break;case 74:i.commit(e[t-2],"",e[t],e[t-4]);break;case 75:i.commit(e[t-4],e[t],e[t-2],"");break;case 76:i.commit(e[t-4],e[t-2],e[t],"");break;case 77:i.commit(e[t-2],e[t],e[t-4],"");break;case 78:i.commit(e[t],e[t-2],e[t-4],"");break;case 79:i.commit(e[t],e[t-4],e[t-2],"");break;case 80:i.commit(e[t-2],e[t-4],e[t],"");break;case 81:i.commit(e[t-4],e[t],i.commitType.NORMAL,e[t-2]);break;case 82:i.commit(e[t-4],e[t-2],i.commitType.NORMAL,e[t]);break;case 83:i.commit(e[t-2],e[t],i.commitType.NORMAL,e[t-4]);break;case 84:i.commit(e[t],e[t-2],i.commitType.NORMAL,e[t-4]);break;case 85:i.commit(e[t],e[t-4],i.commitType.NORMAL,e[t-2]);break;case 86:i.commit(e[t-2],e[t-4],i.commitType.NORMAL,e[t]);break;case 87:i.commit(e[t-6],e[t-4],e[t-2],e[t]);break;case 88:i.commit(e[t-6],e[t-4],e[t],e[t-2]);break;case 89:i.commit(e[t-6],e[t-2],e[t-4],e[t]);break;case 90:i.commit(e[t-6],e[t],e[t-4],e[t-2]);break;case 91:i.commit(e[t-6],e[t-2],e[t],e[t-4]);break;case 92:i.commit(e[t-6],e[t],e[t-2],e[t-4]);break;case 93:i.commit(e[t-4],e[t-6],e[t-2],e[t]);break;case 94:i.commit(e[t-4],e[t-6],e[t],e[t-2]);break;case 95:i.commit(e[t-2],e[t-6],e[t-4],e[t]);break;case 96:i.commit(e[t],e[t-6],e[t-4],e[t-2]);break;case 97:i.commit(e[t-2],e[t-6],e[t],e[t-4]);break;case 98:i.commit(e[t],e[t-6],e[t-2],e[t-4]);break;case 99:i.commit(e[t],e[t-4],e[t-2],e[t-6]);break;case 100:i.commit(e[t-2],e[t-4],e[t],e[t-6]);break;case 101:i.commit(e[t],e[t-2],e[t-4],e[t-6]);break;case 102:i.commit(e[t-2],e[t],e[t-4],e[t-6]);break;case 103:i.commit(e[t-4],e[t-2],e[t],e[t-6]);break;case 104:i.commit(e[t-4],e[t],e[t-2],e[t-6]);break;case 105:i.commit(e[t-2],e[t-4],e[t-6],e[t]);break;case 106:i.commit(e[t],e[t-4],e[t-6],e[t-2]);break;case 107:i.commit(e[t-2],e[t],e[t-6],e[t-4]);break;case 108:i.commit(e[t],e[t-2],e[t-6],e[t-4]);break;case 109:i.commit(e[t-4],e[t-2],e[t-6],e[t]);break;case 110:i.commit(e[t-4],e[t],e[t-6],e[t-2]);break;case 111:this.$="";break;case 112:this.$=e[t];break;case 113:this.$=i.commitType.NORMAL;break;case 114:this.$=i.commitType.REVERSE;break;case 115:this.$=i.commitType.HIGHLIGHT;break;case 118:i.parseDirective("%%{","open_directive");break;case 119:i.parseDirective(e[t],"type_directive");break;case 120:e[t]=e[t].trim().replace(/'/g,'"'),i.parseDirective(e[t],"arg_directive");break;case 121:i.parseDirective("}%%","close_directive","gitGraph");break}},table:[{3:1,4:2,5:3,6:a,8:o,14:p,46:8,50:n,55:c},{1:[3]},{3:10,4:2,5:3,6:a,8:o,14:p,46:8,50:n,55:c},{3:11,4:2,5:3,6:a,8:o,14:p,46:8,50:n,55:c},{7:12,8:u,9:[1,13],10:[1,14],11:15,14:h},r(E,[2,124]),r(E,[2,125]),r(E,[2,126]),{47:17,51:[1,18]},{51:[2,118]},{1:[2,1]},{1:[2,2]},{8:[1,19]},{7:20,8:u,11:15,14:h},{9:[1,21]},r(x,[2,10],{12:22,13:[1,23]}),r(l,[2,9]),{9:[1,25],48:24,53:g},r([9,53],[2,119]),{1:[2,3]},{8:[1,27]},{7:28,8:u,11:15,14:h},{8:[2,7],14:[1,31],15:29,16:30,17:32,18:33,19:34,20:[1,35],22:[1,36],24:[1,37],25:[1,38],26:39,27:[1,40],29:[1,44],32:[1,43],37:[1,42],40:[1,41]},r(l,[2,8]),r(f,[2,116]),{49:45,52:[1,46]},r(f,[2,121]),{1:[2,4]},{8:[1,47]},r(x,[2,11]),{4:48,8:o,14:p,55:c},r(x,[2,13]),r(s,[2,14]),r(s,[2,15]),r(s,[2,16]),{21:[1,49]},{23:[1,50]},r(s,[2,19]),r(s,[2,20]),r(s,[2,21]),{28:51,34:_,54:w},r(s,[2,111],{41:54,33:[1,57],34:[1,59],35:[1,55],38:[1,56],42:[1,58]}),{28:60,34:_,54:w},{33:[1,61],35:[1,62]},{28:63,34:_,54:w},{48:64,53:g},{53:[2,120]},{1:[2,5]},r(x,[2,12]),r(s,[2,17]),r(s,[2,18]),r(s,[2,22]),r(O,[2,122]),r(O,[2,123]),r(s,[2,46]),{34:[1,65]},{39:66,43:v,44:d,45:y},{34:[1,70]},{34:[1,71]},r(s,[2,112]),r(s,[2,30],{33:[1,72],35:[1,74],38:[1,73]}),{34:[1,75]},{34:[1,76],36:[1,77]},r(s,[2,23],{30:[1,78]}),r(f,[2,117]),r(s,[2,47],{33:[1,80],38:[1,79],42:[1,81]}),r(s,[2,48],{33:[1,83],35:[1,82],42:[1,84]}),r(H,[2,113]),r(H,[2,114]),r(H,[2,115]),r(s,[2,51],{35:[1,85],38:[1,86],42:[1,87]}),r(s,[2,62],{33:[1,90],35:[1,88],38:[1,89]}),{34:[1,91]},{39:92,43:v,44:d,45:y},{34:[1,93]},r(s,[2,25],{35:[1,94]}),{33:[1,95]},{33:[1,96]},{31:[1,97]},{39:98,43:v,44:d,45:y},{34:[1,99]},{34:[1,100]},{34:[1,101]},{34:[1,102]},{34:[1,103]},{34:[1,104]},{39:105,43:v,44:d,45:y},{34:[1,106]},{34:[1,107]},{39:108,43:v,44:d,45:y},{34:[1,109]},r(s,[2,31],{35:[1,111],38:[1,110]}),r(s,[2,32],{33:[1,113],35:[1,112]}),r(s,[2,33],{33:[1,114],38:[1,115]}),{34:[1,116],36:[1,117]},{34:[1,118]},{34:[1,119]},r(s,[2,24]),r(s,[2,49],{33:[1,120],42:[1,121]}),r(s,[2,53],{38:[1,122],42:[1,123]}),r(s,[2,63],{33:[1,125],38:[1,124]}),r(s,[2,50],{33:[1,126],42:[1,127]}),r(s,[2,55],{35:[1,128],42:[1,129]}),r(s,[2,66],{33:[1,131],35:[1,130]}),r(s,[2,52],{38:[1,132],42:[1,133]}),r(s,[2,54],{35:[1,134],42:[1,135]}),r(s,[2,67],{35:[1,137],38:[1,136]}),r(s,[2,64],{33:[1,139],38:[1,138]}),r(s,[2,65],{33:[1,141],35:[1,140]}),r(s,[2,68],{35:[1,143],38:[1,142]}),{39:144,43:v,44:d,45:y},{34:[1,145]},{34:[1,146]},{34:[1,147]},{34:[1,148]},{39:149,43:v,44:d,45:y},r(s,[2,26]),r(s,[2,27]),r(s,[2,28]),r(s,[2,29]),{34:[1,150]},{34:[1,151]},{39:152,43:v,44:d,45:y},{34:[1,153]},{39:154,43:v,44:d,45:y},{34:[1,155]},{34:[1,156]},{34:[1,157]},{34:[1,158]},{34:[1,159]},{34:[1,160]},{34:[1,161]},{39:162,43:v,44:d,45:y},{34:[1,163]},{34:[1,164]},{34:[1,165]},{39:166,43:v,44:d,45:y},{34:[1,167]},{39:168,43:v,44:d,45:y},{34:[1,169]},{34:[1,170]},{34:[1,171]},{39:172,43:v,44:d,45:y},{34:[1,173]},r(s,[2,37],{35:[1,174]}),r(s,[2,38],{38:[1,175]}),r(s,[2,36],{33:[1,176]}),r(s,[2,39],{35:[1,177]}),r(s,[2,34],{38:[1,178]}),r(s,[2,35],{33:[1,179]}),r(s,[2,60],{42:[1,180]}),r(s,[2,73],{33:[1,181]}),r(s,[2,61],{42:[1,182]}),r(s,[2,84],{38:[1,183]}),r(s,[2,74],{33:[1,184]}),r(s,[2,83],{38:[1,185]}),r(s,[2,59],{42:[1,186]}),r(s,[2,72],{33:[1,187]}),r(s,[2,58],{42:[1,188]}),r(s,[2,78],{35:[1,189]}),r(s,[2,71],{33:[1,190]}),r(s,[2,77],{35:[1,191]}),r(s,[2,57],{42:[1,192]}),r(s,[2,85],{38:[1,193]}),r(s,[2,56],{42:[1,194]}),r(s,[2,79],{35:[1,195]}),r(s,[2,80],{35:[1,196]}),r(s,[2,86],{38:[1,197]}),r(s,[2,70],{33:[1,198]}),r(s,[2,81],{38:[1,199]}),r(s,[2,69],{33:[1,200]}),r(s,[2,75],{35:[1,201]}),r(s,[2,76],{35:[1,202]}),r(s,[2,82],{38:[1,203]}),{34:[1,204]},{39:205,43:v,44:d,45:y},{34:[1,206]},{34:[1,207]},{39:208,43:v,44:d,45:y},{34:[1,209]},{34:[1,210]},{34:[1,211]},{34:[1,212]},{39:213,43:v,44:d,45:y},{34:[1,214]},{39:215,43:v,44:d,45:y},{34:[1,216]},{34:[1,217]},{34:[1,218]},{34:[1,219]},{34:[1,220]},{34:[1,221]},{34:[1,222]},{39:223,43:v,44:d,45:y},{34:[1,224]},{34:[1,225]},{34:[1,226]},{39:227,43:v,44:d,45:y},{34:[1,228]},{39:229,43:v,44:d,45:y},{34:[1,230]},{34:[1,231]},{34:[1,232]},{39:233,43:v,44:d,45:y},r(s,[2,40]),r(s,[2,42]),r(s,[2,41]),r(s,[2,43]),r(s,[2,45]),r(s,[2,44]),r(s,[2,101]),r(s,[2,102]),r(s,[2,99]),r(s,[2,100]),r(s,[2,104]),r(s,[2,103]),r(s,[2,108]),r(s,[2,107]),r(s,[2,106]),r(s,[2,105]),r(s,[2,110]),r(s,[2,109]),r(s,[2,98]),r(s,[2,97]),r(s,[2,96]),r(s,[2,95]),r(s,[2,93]),r(s,[2,94]),r(s,[2,92]),r(s,[2,91]),r(s,[2,90]),r(s,[2,89]),r(s,[2,87]),r(s,[2,88])],defaultActions:{9:[2,118],10:[2,1],11:[2,2],19:[2,3],27:[2,4],46:[2,120],47:[2,5]},parseError:function(m,b){if(b.recoverable)this.trace(m);else{var k=new Error(m);throw k.hash=b,k}},parse:function(m){var b=this,k=[0],i=[],T=[null],e=[],X=this.table,t="",re=0,ge=0,Me=2,de=1,Ce=e.slice.call(arguments,1),M=Object.create(this.lexer),Y={yy:{}};for(var le in this.yy)Object.prototype.hasOwnProperty.call(this.yy,le)&&(Y.yy[le]=this.yy[le]);M.setInput(m,Y.yy),Y.yy.lexer=M,Y.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var he=M.yylloc;e.push(he);var Ae=M.options&&M.options.ranges;typeof Y.yy.parseError=="function"?this.parseError=Y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Se(){var j;return j=i.pop()||M.lex()||de,typeof j!="number"&&(j instanceof Array&&(i=j,j=i.pop()),j=b.symbols_[j]||j),j}for(var P,K,D,me,W={},ie,z,ke,se;;){if(K=k[k.length-1],this.defaultActions[K]?D=this.defaultActions[K]:((P===null||typeof P>"u")&&(P=Se()),D=X[K]&&X[K][P]),typeof D>"u"||!D.length||!D[0]){var ue="";se=[];for(ie in X[K])this.terminals_[ie]&&ie>Me&&se.push("'"+this.terminals_[ie]+"'");M.showPosition?ue="Parse error on line "+(re+1)+`: -`+M.showPosition()+` -Expecting `+se.join(", ")+", got '"+(this.terminals_[P]||P)+"'":ue="Parse error on line "+(re+1)+": Unexpected "+(P==de?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(ue,{text:M.match,token:this.terminals_[P]||P,line:M.yylineno,loc:he,expected:se})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+K+", token: "+P);switch(D[0]){case 1:k.push(P),T.push(M.yytext),e.push(M.yylloc),k.push(D[1]),P=null,ge=M.yyleng,t=M.yytext,re=M.yylineno,he=M.yylloc;break;case 2:if(z=this.productions_[D[1]][1],W.$=T[T.length-z],W._$={first_line:e[e.length-(z||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(z||1)].first_column,last_column:e[e.length-1].last_column},Ae&&(W._$.range=[e[e.length-(z||1)].range[0],e[e.length-1].range[1]]),me=this.performAction.apply(W,[t,ge,re,Y.yy,D[1],T,e].concat(Ce)),typeof me<"u")return me;z&&(k=k.slice(0,-1*z*2),T=T.slice(0,-1*z),e=e.slice(0,-1*z)),k.push(this.productions_[D[1]][0]),T.push(W.$),e.push(W._$),ke=X[k[k.length-2]][k[k.length-1]],k.push(ke);break;case 3:return!0}}return!0}},Re=function(){var q={EOF:1,parseError:function(b,k){if(this.yy.parser)this.yy.parser.parseError(b,k);else throw new Error(b)},setInput:function(m,b){return this.yy=b||this.yy||{},this._input=m,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var b=m.match(/(?:\r\n?|\n).*/g);return b?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},unput:function(m){var b=m.length,k=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b),this.offset-=b;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),k.length-1&&(this.yylineno-=k.length-1);var T=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:k?(k.length===i.length?this.yylloc.first_column:0)+i[i.length-k.length].length-k[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[T[0],T[0]+this.yyleng-b]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(m){this.unput(this.match.slice(m))},pastInput:function(){var m=this.matched.substr(0,this.matched.length-this.match.length);return(m.length>20?"...":"")+m.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var m=this.match;return m.length<20&&(m+=this._input.substr(0,20-m.length)),(m.substr(0,20)+(m.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var m=this.pastInput(),b=new Array(m.length+1).join("-");return m+this.upcomingInput()+` -`+b+"^"},test_match:function(m,b){var k,i,T;if(this.options.backtrack_lexer&&(T={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(T.yylloc.range=this.yylloc.range.slice(0))),i=m[0].match(/(?:\r\n?|\n).*/g),i&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+m[0].length},this.yytext+=m[0],this.match+=m[0],this.matches=m,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(m[0].length),this.matched+=m[0],k=this.performAction.call(this,this.yy,this,b,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),k)return k;if(this._backtrack){for(var e in T)this[e]=T[e];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var m,b,k,i;this._more||(this.yytext="",this.match="");for(var T=this._currentRules(),e=0;eb[0].length)){if(b=k,i=e,this.options.backtrack_lexer){if(m=this.test_match(k,T[e]),m!==!1)return m;if(this._backtrack){b=!1;continue}else return!1}else if(!this.options.flex)break}return b?(m=this.test_match(b,T[i]),m!==!1?m:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var b=this.next();return b||this.lex()},begin:function(b){this.conditionStack.push(b)},popState:function(){var b=this.conditionStack.length-1;return b>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(b){return b=this.conditionStack.length-1-Math.abs(b||0),b>=0?this.conditionStack[b]:"INITIAL"},pushState:function(b){this.begin(b)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(b,k,i,T){switch(i){case 0:return this.begin("open_directive"),50;case 1:return this.begin("type_directive"),51;case 2:return this.popState(),this.begin("arg_directive"),9;case 3:return this.popState(),this.popState(),53;case 4:return 52;case 5:return this.begin("acc_title"),20;case 6:return this.popState(),"acc_title_value";case 7:return this.begin("acc_descr"),22;case 8:return this.popState(),"acc_descr_value";case 9:this.begin("acc_descr_multiline");break;case 10:this.popState();break;case 11:return"acc_descr_multiline_value";case 12:return 14;case 13:break;case 14:break;case 15:return 6;case 16:return 40;case 17:return 33;case 18:return 38;case 19:return 42;case 20:return 43;case 21:return 44;case 22:return 45;case 23:return 35;case 24:return 29;case 25:return 30;case 26:return 37;case 27:return 32;case 28:return 27;case 29:return 10;case 30:return 10;case 31:return 9;case 32:return"CARET";case 33:this.begin("options");break;case 34:this.popState();break;case 35:return 13;case 36:return 36;case 37:this.begin("string");break;case 38:this.popState();break;case 39:return 34;case 40:return 31;case 41:return 54;case 42:return 8}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:TB\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[10,11],inclusive:!1},acc_descr:{rules:[8],inclusive:!1},acc_title:{rules:[6],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},options:{rules:[34,35],inclusive:!1},string:{rules:[38,39],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,36,37,40,41,42,43],inclusive:!0}}};return q}();ce.lexer=Re;function oe(){this.yy={}}return oe.prototype=ce,ce.Parser=oe,new oe}();pe.parser=pe;const Ye=pe;let ae=I().gitGraph.mainBranchName,Ke=I().gitGraph.mainBranchOrder,R={},G=null,Z={};Z[ae]={name:ae,order:Ke};let L={};L[ae]=G;let A=ae,ye="LR",U=0;function be(){return qe({length:7})}const Fe=function(r,a,o){Be.parseDirective(this,r,a,o)};function Ue(r,a){const o=Object.create(null);return r.reduce((p,n)=>{const c=a(n);return o[c]||(o[c]=!0,p.push(n)),p},[])}const We=function(r){ye=r};let ve={};const Xe=function(r){N.debug("options str",r),r=r&&r.trim(),r=r||"{}";try{ve=JSON.parse(r)}catch(a){N.error("error while parsing gitGraph options",a.message)}},Je=function(){return ve},Qe=function(r,a,o,p){N.debug("Entering commit:",r,a,o,p),a=V.sanitizeText(a,I()),r=V.sanitizeText(r,I()),p=V.sanitizeText(p,I());const n={id:a||U+"-"+be(),message:r,seq:U++,type:o||$.NORMAL,tag:p||"",parents:G==null?[]:[G.id],branch:A};G=n,R[n.id]=n,L[A]=n.id,N.debug("in pushCommit "+n.id)},Ze=function(r,a){if(r=V.sanitizeText(r,I()),L[r]===void 0)L[r]=G!=null?G.id:null,Z[r]={name:r,order:a?parseInt(a,10):null},Ee(r),N.debug("in createBranch");else{let o=new Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout '+r+'")');throw o.hash={text:"branch "+r,token:"branch "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+r+'"']},o}},$e=function(r,a,o,p){r=V.sanitizeText(r,I()),a=V.sanitizeText(a,I());const n=R[L[A]],c=R[L[r]];if(A===r){let h=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw h.hash={text:"merge "+r,token:"merge "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},h}else if(n===void 0||!n){let h=new Error('Incorrect usage of "merge". Current branch ('+A+")has no commits");throw h.hash={text:"merge "+r,token:"merge "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},h}else if(L[r]===void 0){let h=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw h.hash={text:"merge "+r,token:"merge "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+r]},h}else if(c===void 0||!c){let h=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw h.hash={text:"merge "+r,token:"merge "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},h}else if(n===c){let h=new Error('Incorrect usage of "merge". Both branches have same head');throw h.hash={text:"merge "+r,token:"merge "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},h}else if(a&&R[a]!==void 0){let h=new Error('Incorrect usage of "merge". Commit with id:'+a+" already exists, use different custom Id");throw h.hash={text:"merge "+r+a+o+p,token:"merge "+r+a+o+p,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+r+" "+a+"_UNIQUE "+o+" "+p]},h}const u={id:a||U+"-"+be(),message:"merged branch "+r+" into "+A,seq:U++,parents:[G==null?null:G.id,L[r]],branch:A,type:$.MERGE,customType:o,customId:!!a,tag:p||""};G=u,R[u.id]=u,L[A]=u.id,N.debug(L),N.debug("in mergeBranch")},et=function(r,a,o){if(N.debug("Entering cherryPick:",r,a,o),r=V.sanitizeText(r,I()),a=V.sanitizeText(a,I()),o=V.sanitizeText(o,I()),!r||R[r]===void 0){let c=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw c.hash={text:"cherryPick "+r+" "+a,token:"cherryPick "+r+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},c}let p=R[r],n=p.branch;if(p.type===$.MERGE){let c=new Error('Incorrect usage of "cherryPick". Source commit should not be a merge commit');throw c.hash={text:"cherryPick "+r+" "+a,token:"cherryPick "+r+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},c}if(!a||R[a]===void 0){if(n===A){let h=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw h.hash={text:"cherryPick "+r+" "+a,token:"cherryPick "+r+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},h}const c=R[L[A]];if(c===void 0||!c){let h=new Error('Incorrect usage of "cherry-pick". Current branch ('+A+")has no commits");throw h.hash={text:"cherryPick "+r+" "+a,token:"cherryPick "+r+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},h}const u={id:U+"-"+be(),message:"cherry-picked "+p+" into "+A,seq:U++,parents:[G==null?null:G.id,p.id],branch:A,type:$.CHERRY_PICK,tag:o??"cherry-pick:"+p.id};G=u,R[u.id]=u,L[A]=u.id,N.debug(L),N.debug("in cherryPick")}},Ee=function(r){if(r=V.sanitizeText(r,I()),L[r]===void 0){let a=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+r+'")');throw a.hash={text:"checkout "+r,token:"checkout "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+r+'"']},a}else{A=r;const a=L[A];G=R[a]}};function xe(r,a,o){const p=r.indexOf(a);p===-1?r.push(o):r.splice(p,1,o)}function we(r){const a=r.reduce((n,c)=>n.seq>c.seq?n:c,r[0]);let o="";r.forEach(function(n){n===a?o+=" *":o+=" |"});const p=[o,a.id,a.seq];for(let n in L)L[n]===a.id&&p.push(n);if(N.debug(p.join(" ")),a.parents&&a.parents.length==2){const n=R[a.parents[0]];xe(r,a,n),r.push(R[a.parents[1]])}else{if(a.parents.length==0)return;{const n=R[a.parents];xe(r,a,n)}}r=Ue(r,n=>n.id),we(r)}const tt=function(){N.debug(R);const r=Te()[0];we([r])},rt=function(){R={},G=null;let r=I().gitGraph.mainBranchName,a=I().gitGraph.mainBranchOrder;L={},L[r]=null,Z={},Z[r]={name:r,order:a},A=r,U=0,De()},it=function(){return Object.values(Z).map((a,o)=>a.order!==null?a:{...a,order:parseFloat(`0.${o}`,10)}).sort((a,o)=>a.order-o.order).map(({name:a})=>({name:a}))},st=function(){return L},at=function(){return R},Te=function(){const r=Object.keys(R).map(function(a){return R[a]});return r.forEach(function(a){N.debug(a.id)}),r.sort((a,o)=>a.seq-o.seq),r},nt=function(){return A},ct=function(){return ye},ot=function(){return G},$={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},lt={parseDirective:Fe,getConfig:()=>I().gitGraph,setDirection:We,setOptions:Xe,getOptions:Je,commit:Qe,branch:Ze,merge:$e,cherryPick:et,checkout:Ee,prettyPrint:tt,clear:rt,getBranchesAsObjArray:it,getBranches:st,getCommits:at,getCommitsArray:Te,getCurrentBranch:nt,getDirection:ct,getHead:ot,setAccTitle:Oe,getAccTitle:Ie,getAccDescription:Ge,setAccDescription:Pe,setDiagramTitle:Ne,getDiagramTitle:He,commitType:$};let J={};const B={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},F=8;let C={},ee={},ne=[],te=0,S="LR";const ht=()=>{C={},ee={},J={},te=0,ne=[],S="LR"},Le=r=>{const a=document.createElementNS("http://www.w3.org/2000/svg","text");let o=[];typeof r=="string"?o=r.split(/\\n|\n|/gi):Array.isArray(r)?o=r:o=[];for(const p of o){const n=document.createElementNS("http://www.w3.org/2000/svg","tspan");n.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),n.setAttribute("dy","1em"),n.setAttribute("x","0"),n.setAttribute("class","row"),n.textContent=p.trim(),a.appendChild(n)}return a},_e=(r,a,o)=>{const p=fe().gitGraph,n=r.append("g").attr("class","commit-bullets"),c=r.append("g").attr("class","commit-labels");let u=0;S==="TB"&&(u=30),Object.keys(a).sort((x,l)=>a[x].seq-a[l].seq).forEach(x=>{const l=a[x],g=S==="TB"?u+10:C[l.branch].pos,f=S==="TB"?C[l.branch].pos:u+10;if(o){let s,_=l.customType!==void 0&&l.customType!==""?l.customType:l.type;switch(_){case B.NORMAL:s="commit-normal";break;case B.REVERSE:s="commit-reverse";break;case B.HIGHLIGHT:s="commit-highlight";break;case B.MERGE:s="commit-merge";break;case B.CHERRY_PICK:s="commit-cherry-pick";break;default:s="commit-normal"}if(_===B.HIGHLIGHT){const w=n.append("rect");w.attr("x",f-10),w.attr("y",g-10),w.attr("height",20),w.attr("width",20),w.attr("class",`commit ${l.id} commit-highlight${C[l.branch].index%F} ${s}-outer`),n.append("rect").attr("x",f-6).attr("y",g-6).attr("height",12).attr("width",12).attr("class",`commit ${l.id} commit${C[l.branch].index%F} ${s}-inner`)}else if(_===B.CHERRY_PICK)n.append("circle").attr("cx",f).attr("cy",g).attr("r",10).attr("class",`commit ${l.id} ${s}`),n.append("circle").attr("cx",f-3).attr("cy",g+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${l.id} ${s}`),n.append("circle").attr("cx",f+3).attr("cy",g+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${l.id} ${s}`),n.append("line").attr("x1",f+3).attr("y1",g+1).attr("x2",f).attr("y2",g-5).attr("stroke","#fff").attr("class",`commit ${l.id} ${s}`),n.append("line").attr("x1",f-3).attr("y1",g+1).attr("x2",f).attr("y2",g-5).attr("stroke","#fff").attr("class",`commit ${l.id} ${s}`);else{const w=n.append("circle");if(w.attr("cx",f),w.attr("cy",g),w.attr("r",l.type===B.MERGE?9:10),w.attr("class",`commit ${l.id} commit${C[l.branch].index%F}`),_===B.MERGE){const O=n.append("circle");O.attr("cx",f),O.attr("cy",g),O.attr("r",6),O.attr("class",`commit ${s} ${l.id} commit${C[l.branch].index%F}`)}_===B.REVERSE&&n.append("path").attr("d",`M ${f-5},${g-5}L${f+5},${g+5}M${f-5},${g+5}L${f+5},${g-5}`).attr("class",`commit ${s} ${l.id} commit${C[l.branch].index%F}`)}}if(S==="TB"?ee[l.id]={x:f,y:u+10}:ee[l.id]={x:u+10,y:g},o){if(l.type!==B.CHERRY_PICK&&(l.customId&&l.type===B.MERGE||l.type!==B.MERGE)&&p.showCommitLabel){const w=c.append("g"),O=w.insert("rect").attr("class","commit-label-bkg"),v=w.append("text").attr("x",u).attr("y",g+25).attr("class","commit-label").text(l.id);let d=v.node().getBBox();if(O.attr("x",u+10-d.width/2-2).attr("y",g+13.5).attr("width",d.width+2*2).attr("height",d.height+2*2),S==="TB"&&(O.attr("x",f-(d.width+4*4+5)).attr("y",g-12),v.attr("x",f-(d.width+4*4)).attr("y",g+d.height-12)),S!=="TB"&&v.attr("x",u+10-d.width/2),p.rotateCommitLabel)if(S==="TB")v.attr("transform","rotate(-45, "+f+", "+g+")"),O.attr("transform","rotate(-45, "+f+", "+g+")");else{let y=-7.5-(d.width+10)/25*9.5,H=10+d.width/25*8.5;w.attr("transform","translate("+y+", "+H+") rotate(-45, "+u+", "+g+")")}}if(l.tag){const w=c.insert("polygon"),O=c.append("circle"),v=c.append("text").attr("y",g-16).attr("class","tag-label").text(l.tag);let d=v.node().getBBox();v.attr("x",u+10-d.width/2);const y=d.height/2,H=g-19.2;w.attr("class","tag-label-bkg").attr("points",` - ${u-d.width/2-4/2},${H+2} - ${u-d.width/2-4/2},${H-2} - ${u+10-d.width/2-4},${H-y-2} - ${u+10+d.width/2+4},${H-y-2} - ${u+10+d.width/2+4},${H+y+2} - ${u+10-d.width/2-4},${H+y+2}`),O.attr("cx",u-d.width/2+4/2).attr("cy",H).attr("r",1.5).attr("class","tag-hole"),S==="TB"&&(w.attr("class","tag-label-bkg").attr("points",` - ${f},${u+2} - ${f},${u-2} - ${f+10},${u-y-2} - ${f+10+d.width+4},${u-y-2} - ${f+10+d.width+4},${u+y+2} - ${f+10},${u+y+2}`).attr("transform","translate(12,12) rotate(45, "+f+","+u+")"),O.attr("cx",f+4/2).attr("cy",u).attr("transform","translate(12,12) rotate(45, "+f+","+u+")"),v.attr("x",f+5).attr("y",u+3).attr("transform","translate(14,14) rotate(45, "+f+","+u+")"))}}u+=50,u>te&&(te=u)})},mt=(r,a,o)=>Object.keys(o).filter(c=>o[c].branch===a.branch&&o[c].seq>r.seq&&o[c].seq0,Q=(r,a,o=0)=>{const p=r+Math.abs(r-a)/2;if(o>5)return p;if(ne.every(u=>Math.abs(u-p)>=10))return ne.push(p),p;const c=Math.abs(r-a);return Q(r,a-c/5,o+1)},ut=(r,a,o,p)=>{const n=ee[a.id],c=ee[o.id],u=mt(a,o,p);let h="",E="",x=0,l=0,g=C[o.branch].index,f;if(u){h="A 10 10, 0, 0, 0,",E="A 10 10, 0, 0, 1,",x=10,l=10,g=C[o.branch].index;const s=n.yc.x&&(h="A 20 20, 0, 0, 0,",E="A 20 20, 0, 0, 1,",x=20,l=20,g=C[a.branch].index,f=`M ${n.x} ${n.y} L ${n.x} ${c.y-x} ${E} ${n.x-l} ${c.y} L ${c.x} ${c.y}`),n.x===c.x&&(g=C[a.branch].index,f=`M ${n.x} ${n.y} L ${n.x+x} ${n.y} ${h} ${n.x+l} ${c.y+x} L ${c.x} ${c.y}`)):(n.yc.y&&(h="A 20 20, 0, 0, 0,",x=20,l=20,g=C[a.branch].index,f=`M ${n.x} ${n.y} L ${c.x-x} ${n.y} ${h} ${c.x} ${n.y-l} L ${c.x} ${c.y}`),n.y===c.y&&(g=C[a.branch].index,f=`M ${n.x} ${n.y} L ${n.x} ${c.y-x} ${h} ${n.x+l} ${c.y} L ${c.x} ${c.y}`));r.append("path").attr("d",f).attr("class","arrow arrow"+g%F)},pt=(r,a)=>{const o=r.append("g").attr("class","commit-arrows");Object.keys(a).forEach(p=>{const n=a[p];n.parents&&n.parents.length>0&&n.parents.forEach(c=>{ut(o,a[c],n,a)})})},ft=(r,a)=>{const o=fe().gitGraph,p=r.append("g");a.forEach((n,c)=>{const u=c%F,h=C[n.name].pos,E=p.append("line");E.attr("x1",0),E.attr("y1",h),E.attr("x2",te),E.attr("y2",h),E.attr("class","branch branch"+u),S==="TB"&&(E.attr("y1",30),E.attr("x1",h),E.attr("y2",te),E.attr("x2",h)),ne.push(h);let x=n.name;const l=Le(x),g=p.insert("rect"),s=p.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+u);s.node().appendChild(l);let _=l.getBBox();g.attr("class","branchLabelBkg label"+u).attr("rx",4).attr("ry",4).attr("x",-_.width-4-(o.rotateCommitLabel===!0?30:0)).attr("y",-_.height/2+8).attr("width",_.width+18).attr("height",_.height+4),s.attr("transform","translate("+(-_.width-14-(o.rotateCommitLabel===!0?30:0))+", "+(h-_.height/2-1)+")"),S==="TB"&&(g.attr("x",h-_.width/2-10).attr("y",0),s.attr("transform","translate("+(h-_.width/2-5)+", 0)")),S!=="TB"&&g.attr("transform","translate(-19, "+(h-_.height/2)+")")})},bt=function(r,a,o,p){ht();const n=fe(),c=n.gitGraph;N.debug("in gitgraph renderer",r+` -`,"id:",a,o),J=p.db.getCommits();const u=p.db.getBranchesAsObjArray();S=p.db.getDirection();const h=Ve(`[id="${a}"]`);let E=0;u.forEach((x,l)=>{const g=Le(x.name),f=h.append("g"),s=f.insert("g").attr("class","branchLabel"),_=s.insert("g").attr("class","label branch-label");_.node().appendChild(g);let w=g.getBBox();C[x.name]={pos:E,index:l},E+=50+(c.rotateCommitLabel?40:0)+(S==="TB"?w.width/2:0),_.remove(),s.remove(),f.remove()}),_e(h,J,!1),c.showBranches&&ft(h,u),pt(h,J),_e(h,J,!0),ze.insertTitle(h,"gitTitleText",c.titleTopMargin,p.db.getDiagramTitle()),je(void 0,h,c.diagramPadding,c.useMaxWidth??n.useMaxWidth)},gt={draw:bt},dt=r=>` - .commit-id, - .commit-msg, - .branch-label { - fill: lightgrey; - color: lightgrey; - font-family: 'trebuchet ms', verdana, arial, sans-serif; - font-family: var(--mermaid-font-family); - } - ${[0,1,2,3,4,5,6,7].map(a=>` - .branch-label${a} { fill: ${r["gitBranchLabel"+a]}; } - .commit${a} { stroke: ${r["git"+a]}; fill: ${r["git"+a]}; } - .commit-highlight${a} { stroke: ${r["gitInv"+a]}; fill: ${r["gitInv"+a]}; } - .label${a} { fill: ${r["git"+a]}; } - .arrow${a} { stroke: ${r["git"+a]}; } - `).join(` -`)} - - .branch { - stroke-width: 1; - stroke: ${r.lineColor}; - stroke-dasharray: 2; - } - .commit-label { font-size: ${r.commitLabelFontSize}; fill: ${r.commitLabelColor};} - .commit-label-bkg { font-size: ${r.commitLabelFontSize}; fill: ${r.commitLabelBackground}; opacity: 0.5; } - .tag-label { font-size: ${r.tagLabelFontSize}; fill: ${r.tagLabelColor};} - .tag-label-bkg { fill: ${r.tagLabelBackground}; stroke: ${r.tagLabelBorder}; } - .tag-hole { fill: ${r.textColor}; } - - .commit-merge { - stroke: ${r.primaryColor}; - fill: ${r.primaryColor}; - } - .commit-reverse { - stroke: ${r.primaryColor}; - fill: ${r.primaryColor}; - stroke-width: 3; - } - .commit-highlight-outer { - } - .commit-highlight-inner { - stroke: ${r.primaryColor}; - fill: ${r.primaryColor}; - } - - .arrow { stroke-width: 8; stroke-linecap: round; fill: none} - .gitTitleText { - text-anchor: middle; - font-size: 18px; - fill: ${r.textColor}; - } -`,kt=dt,vt={parser:Ye,db:lt,renderer:gt,styles:kt};export{vt as diagram}; diff --git a/pr-333/assets/chunks/index-4c4adb72.f92dce56.js b/pr-333/assets/chunks/index-4c4adb72.f92dce56.js deleted file mode 100644 index 39e0bd100..000000000 --- a/pr-333/assets/chunks/index-4c4adb72.f92dce56.js +++ /dev/null @@ -1 +0,0 @@ -import{b as k,a as v,m as D,G,l as j}from"./layout.c9cae6cc.js";import{i as A,u as M,s as _,a as H,b as V,p as B,c as q,d as U,e as W,f as Y,g as O,h as X}from"./edges-b00f0ec2.6d3248f9.js";import{l as i,q as N,c as E,h as L}from"../app.1f62ceb3.js";import{c as z}from"./createText-285e50b4.e45d4ac7.js";var K=4;function Q(e){return k(e,K)}function y(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:Z(e),edges:I(e)};return v(e.graph())||(t.value=Q(e.graph())),t}function Z(e){return D(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return v(n)||(s.value=n),v(r)||(s.parent=r),s})}function I(e){return D(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return v(t.name)||(r.name=t.name),v(n)||(r.value=n),r})}let f={},x={},T={};const tt=()=>{x={},T={},f={}},S=(e,t)=>(i.trace("In isDecendant",t," ",e," = ",x[t].includes(e)),!!x[t].includes(e)),et=(e,t)=>(i.info("Decendants of ",t," is ",x[t]),i.info("Edge is ",e),e.v===t||e.w===t?!1:x[t]?x[t].includes(e.v)||S(e.v,t)||S(e.w,t)||x[t].includes(e.w):(i.debug("Tilt, ",t,",not in decendants"),!1)),J=(e,t,n,r)=>{i.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const s=t.children(e)||[];e!==r&&s.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(a=>{if(t.children(a).length>0)J(a,t,n,r);else{const h=t.node(a);i.info("cp ",a," to ",r," with parent ",e),n.setNode(a,h),r!==t.parent(a)&&(i.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==r&&a!==e?(i.debug("Setting parent",a,e),n.setParent(a,e)):(i.info("In copy ",e,"root",r,"data",t.node(e),r),i.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==r,"node!==clusterId",a!==e));const l=t.edges(a);i.debug("Copying Edges",l),l.forEach(d=>{i.info("Edge",d);const w=t.edge(d.v,d.w,d.name);i.info("Edge data",w,r);try{et(d,r)?(i.info("Copying as ",d.v,d.w,w,d.name),n.setEdge(d.v,d.w,w,d.name),i.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",r," clusterId:",e)}catch(g){i.error(g)}})}i.debug("Removing node",a),t.removeNode(a)})},p=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)T[s]=e,r=[...r,...p(s,t)];return r},m=(e,t)=>{i.trace("Searching",e);const n=t.children(e);if(i.trace("Searching children of id ",e,n),n.length<1)return i.trace("This is a valid node",e),e;for(const r of n){const s=m(r,t);if(s)return i.trace("Found replacement for",e," => ",s),s}},b=e=>!f[e]||!f[e].externalConnections?e:f[e]?f[e].id:e,nt=(e,t)=>{if(!e||t>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",m(n,e)),x[n]=p(n,e),f[n]={id:m(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),s=e.edges();r.length>0?(i.debug("Cluster identified",n,x),s.forEach(a=>{if(a.v!==n&&a.w!==n){const h=S(a.v,n),l=S(a.w,n);h^l&&(i.warn("Edge: ",a," leaves cluster ",n),i.warn("Decendants of XXX ",n,": ",x[n]),f[n].externalConnections=!0)}})):i.debug("Not a cluster ",n,x)}),e.edges().forEach(function(n){const r=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,a=n.w;if(i.warn("Fix XXX",f,"ids:",n.v,n.w,"Translating: ",f[n.v]," --- ",f[n.w]),f[n.v]&&f[n.w]&&f[n.v]===f[n.w]){i.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),i.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=b(n.v),a=b(n.w),e.removeEdge(n.v,n.w,n.name);const h=n.w+"---"+n.v;e.setNode(h,{domId:h,id:h,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const l=JSON.parse(JSON.stringify(r)),d=JSON.parse(JSON.stringify(r));l.label="",l.arrowTypeEnd="none",d.label="",l.fromCluster=n.v,d.toCluster=n.v,e.setEdge(s,h,l,n.name+"-cyclic-special"),e.setEdge(h,a,d,n.name+"-cyclic-special")}else(f[n.v]||f[n.w])&&(i.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=b(n.v),a=b(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v&&(r.fromCluster=n.v),a!==n.w&&(r.toCluster=n.w),i.warn("Fix Replacing with XXX",s,a,n.name),e.setEdge(s,a,r,n.name))}),i.warn("Adjusted Graph",y(e)),R(e,0),i.trace(f)},R=(e,t)=>{if(i.warn("extractor - ",t,y(e),e.children("D")),t>10){i.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const a=e.children(s);r=r||a.length>0}if(!r){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",n,t);for(const s of n)if(i.debug("Extracting node",s,f,f[s]&&!f[s].externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!f[s])i.debug("Not a cluster",s,t);else if(!f[s].externalConnections&&e.children(s)&&e.children(s).length>0){i.warn("Cluster without external connections, without a parent and with children",s,t);let h=e.graph().rankdir==="TB"?"LR":"TB";f[s]&&f[s].clusterData&&f[s].clusterData.dir&&(h=f[s].clusterData.dir,i.warn("Fixing dir",f[s].clusterData.dir,h));const l=new G({multigraph:!0,compound:!0}).setGraph({rankdir:h,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.warn("Old graph before copy",y(e)),J(s,e,l,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:f[s].clusterData,labelText:f[s].labelText,graph:l}),i.warn("New graph after copy node: (",s,")",y(l)),i.debug("Old graph after copy",y(e))}else i.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!f[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.debug(f);n=e.nodes(),i.warn("New list of nodes",n);for(const s of n){const a=e.node(s);i.warn(" Now next level",s,a),a.clusterNode&&R(a.graph,t+1)}},P=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),a=P(e,s);n=[...n,...a]}),n},it=e=>P(e,e.children()),st=(e,t)=>{i.info("Creating subgraph rect for ",t.id,t);const n=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),r=n.insert("rect",":first-child"),s=N(E().flowchart.htmlLabels),a=n.insert("g").attr("class","cluster-label"),h=t.labelType==="markdown"?z(a,t.labelText,{style:t.labelStyle,useHtmlLabels:s}):a.node().appendChild(O(t.labelText,t.labelStyle,void 0,!0));let l=h.getBBox();if(N(E().flowchart.htmlLabels)){const o=h.children[0],u=L(h);l=o.getBoundingClientRect(),u.attr("width",l.width),u.attr("height",l.height)}const d=0*t.padding,w=d/2,g=t.width<=l.width+d?l.width+d:t.width;t.width<=l.width+d?t.diff=(l.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.trace("Data ",t,JSON.stringify(t)),r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-g/2).attr("y",t.y-t.height/2-w).attr("width",g).attr("height",t.height+d),s?a.attr("transform","translate("+(t.x-l.width/2)+", "+(t.y-t.height/2)+")"):a.attr("transform","translate("+t.x+", "+(t.y-t.height/2)+")");const c=r.node().getBBox();return t.width=c.width,t.height=c.height,t.intersect=function(o){return X(t,o)},n},rt=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,a=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const h=r.node().getBBox();return t.width=h.width,t.height=h.height,t.intersect=function(l){return X(t,l)},n},at=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=n.insert("g").attr("class","cluster-label"),a=n.append("rect"),h=s.node().appendChild(O(t.labelText,t.labelStyle,void 0,!0));let l=h.getBBox();if(N(E().flowchart.htmlLabels)){const o=h.children[0],u=L(h);l=o.getBoundingClientRect(),u.attr("width",l.width),u.attr("height",l.height)}l=h.getBBox();const d=0*t.padding,w=d/2,g=t.width<=l.width+t.padding?l.width+t.padding:t.width;t.width<=l.width+t.padding?t.diff=(l.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,r.attr("class","outer").attr("x",t.x-g/2-w).attr("y",t.y-t.height/2-w).attr("width",g+d).attr("height",t.height+d),a.attr("class","inner").attr("x",t.x-g/2-w).attr("y",t.y-t.height/2-w+l.height-1).attr("width",g+d).attr("height",t.height+d-l.height-3),s.attr("transform","translate("+(t.x-l.width/2)+", "+(t.y-t.height/2-t.padding/3+(N(E().flowchart.htmlLabels)?5:3))+")");const c=r.node().getBBox();return t.height=c.height,t.intersect=function(o){return X(t,o)},n},ct=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,a=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const h=r.node().getBBox();return t.width=h.width,t.height=h.height,t.diff=-t.padding/2,t.intersect=function(l){return X(t,l)},n},ot={rect:st,roundedWithTitle:at,noteGroup:rt,divider:ct};let F={};const lt=(e,t)=>{i.trace("Inserting cluster");const n=t.shape||"rect";F[t.id]=ot[n](e,t)},ft=()=>{F={}},$=async(e,t,n,r)=>{i.info("Graph in recursive render: XXX",y(t),r);const s=t.graph().rankdir;i.trace("Dir in recursive render - dir:",s);const a=e.insert("g").attr("class","root");t.nodes()?i.info("Recursive render XXX",t.nodes()):i.info("No nodes found for",t),t.edges().length>0&&i.trace("Recursive edges",t.edge(t.edges()[0]));const h=a.insert("g").attr("class","clusters"),l=a.insert("g").attr("class","edgePaths"),d=a.insert("g").attr("class","edgeLabels"),w=a.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(c){const o=t.node(c);if(r!==void 0){const u=JSON.parse(JSON.stringify(r.clusterData));i.info("Setting data for cluster XXX (",c,") ",u,r),t.setNode(r.id,u),t.parent(c)||(i.trace("Setting parent",c,r.id),t.setParent(c,r.id,u))}if(i.info("(Insert) Node XXX"+c+": "+JSON.stringify(t.node(c))),o&&o.clusterNode){i.info("Cluster identified",c,o.width,t.node(c));const u=await $(w,o.graph,n,t.node(c)),C=u.elem;M(o,C),o.diff=u.diff||0,i.info("Node bounds (abc123)",c,o,o.width,o.x,o.y),_(C,o),i.warn("Recursive render complete ",C,o)}else t.children(c).length>0?(i.info("Cluster - the non recursive path XXX",c,o.id,o,t),i.info(m(o.id,t)),f[o.id]={id:m(o.id,t),node:o}):(i.info("Node - the non recursive path",c,o.id,o),await H(w,t.node(c),s))})),t.edges().forEach(function(c){const o=t.edge(c.v,c.w,c.name);i.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c)),i.info("Edge "+c.v+" -> "+c.w+": ",c," ",JSON.stringify(t.edge(c))),i.info("Fix",f,"ids:",c.v,c.w,"Translateing: ",f[c.v],f[c.w]),V(d,o)}),t.edges().forEach(function(c){i.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c))}),i.info("#############################################"),i.info("### Layout ###"),i.info("#############################################"),i.info(t),j(t),i.info("Graph after layout:",y(t));let g=0;return it(t).forEach(function(c){const o=t.node(c);i.info("Position "+c+": "+JSON.stringify(t.node(c))),i.info("Position "+c+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o&&o.clusterNode?B(o):t.children(c).length>0?(lt(h,o),f[o.id].node=o):B(o)}),t.edges().forEach(function(c){const o=t.edge(c);i.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(o),o);const u=q(l,c,o,f,n,t);U(o,u)}),t.nodes().forEach(function(c){const o=t.node(c);i.info(c,o.type,o.diff),o.type==="group"&&(g=o.diff)}),{elem:a,diff:g}},gt=async(e,t,n,r,s)=>{A(e,n,r,s),W(),Y(),ft(),tt(),i.warn("Graph at first:",y(t)),nt(t),i.warn("Graph after:",y(t)),await $(e,t,r)};export{gt as r}; diff --git a/pr-333/assets/chunks/infoDiagram-c976a9ed.da70ea60.js b/pr-333/assets/chunks/infoDiagram-c976a9ed.da70ea60.js deleted file mode 100644 index acacba867..000000000 --- a/pr-333/assets/chunks/infoDiagram-c976a9ed.da70ea60.js +++ /dev/null @@ -1,7 +0,0 @@ -import{l as N,c as M,h as O}from"../app.1f62ceb3.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";var $=function(){var c=function(h,t,e,n){for(e=e||{},n=h.length;n--;e[h[n]]=t);return e},f=[6,9,10],d={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,e,n,s,r,i,k){switch(i.length-1,r){case 1:return s;case 4:break;case 6:s.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},c(f,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},c(f,[2,3]),c(f,[2,4]),c(f,[2,5]),c(f,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var n=new Error(t);throw n.hash=e,n}},parse:function(t){var e=this,n=[0],s=[],r=[null],i=[],k=this.table,L="",b=0,T=0,z=2,F=1,D=i.slice.call(arguments,1),o=Object.create(this.lexer),g={yy:{}};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(g.yy[E]=this.yy[E]);o.setInput(t,g.yy),g.yy.lexer=o,g.yy.parser=this,typeof o.yylloc>"u"&&(o.yylloc={});var w=o.yylloc;i.push(w);var U=o.options&&o.options.ranges;typeof g.yy.parseError=="function"?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Y(){var u;return u=s.pop()||o.lex()||F,typeof u!="number"&&(u instanceof Array&&(s=u,u=s.pop()),u=e.symbols_[u]||u),u}for(var l,_,a,I,m={},v,y,j,S;;){if(_=n[n.length-1],this.defaultActions[_]?a=this.defaultActions[_]:((l===null||typeof l>"u")&&(l=Y()),a=k[_]&&k[_][l]),typeof a>"u"||!a.length||!a[0]){var A="";S=[];for(v in k[_])this.terminals_[v]&&v>z&&S.push("'"+this.terminals_[v]+"'");o.showPosition?A="Parse error on line "+(b+1)+`: -`+o.showPosition()+` -Expecting `+S.join(", ")+", got '"+(this.terminals_[l]||l)+"'":A="Parse error on line "+(b+1)+": Unexpected "+(l==F?"end of input":"'"+(this.terminals_[l]||l)+"'"),this.parseError(A,{text:o.match,token:this.terminals_[l]||l,line:o.yylineno,loc:w,expected:S})}if(a[0]instanceof Array&&a.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+l);switch(a[0]){case 1:n.push(l),r.push(o.yytext),i.push(o.yylloc),n.push(a[1]),l=null,T=o.yyleng,L=o.yytext,b=o.yylineno,w=o.yylloc;break;case 2:if(y=this.productions_[a[1]][1],m.$=r[r.length-y],m._$={first_line:i[i.length-(y||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(y||1)].first_column,last_column:i[i.length-1].last_column},U&&(m._$.range=[i[i.length-(y||1)].range[0],i[i.length-1].range[1]]),I=this.performAction.apply(m,[L,T,b,g.yy,a[1],r,i].concat(D)),typeof I<"u")return I;y&&(n=n.slice(0,-1*y*2),r=r.slice(0,-1*y),i=i.slice(0,-1*y)),n.push(this.productions_[a[1]][0]),r.push(m.$),i.push(m._$),j=k[n[n.length-2]][n[n.length-1]],n.push(j);break;case 3:return!0}}return!0}},x=function(){var h={EOF:1,parseError:function(e,n){if(this.yy.parser)this.yy.parser.parseError(e,n);else throw new Error(e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===s.length?this.yylloc.first_column:0)+s[s.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+` -`+e+"^"},test_match:function(t,e){var n,s,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),s=t[0].match(/(?:\r\n?|\n).*/g),s&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in r)this[i]=r[i];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,s;this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),i=0;ie[0].length)){if(e=n,s=i,this.options.backtrack_lexer){if(t=this.test_match(n,r[i]),t!==!1)return t;if(this._backtrack){e=!1;continue}else return!1}else if(!this.options.flex)break}return e?(t=this.test_match(e,r[s]),t!==!1?t:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>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(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,n,s,r){switch(s){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return h}();d.lexer=x;function p(){this.yy={}}return p.prototype=d,d.Parser=p,new p}();$.parser=$;const B=$,R={info:!1};let P=R.info;const C=c=>{P=c},V=()=>P,X=()=>{P=R.info},q={clear:X,setInfo:C,getInfo:V},G=(c,f,d)=>{try{N.debug(`rendering info diagram -`+c);const{securityLevel:x}=M();let p,h;x==="sandbox"&&(p=O("#i"+f),h=p.nodes()[0].contentDocument);const e=(p!==void 0&&h!==void 0&&h!==null?O(h):O("body")).select("#"+f);e.attr("height",100),e.attr("width",400),e.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size","32px").style("text-anchor","middle").text("v "+d)}catch(x){N.error("error while rendering info diagram",x)}},H={draw:G},W={parser:B,db:q,renderer:H};export{W as diagram}; diff --git a/pr-333/assets/chunks/init.77b53fdd.js b/pr-333/assets/chunks/init.77b53fdd.js deleted file mode 100644 index d44de9416..000000000 --- a/pr-333/assets/chunks/init.77b53fdd.js +++ /dev/null @@ -1 +0,0 @@ -function t(e,a){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(a).domain(e);break}return this}export{t as i}; diff --git a/pr-333/assets/chunks/journeyDiagram-5120ee2f.8ea8f3d3.js b/pr-333/assets/chunks/journeyDiagram-5120ee2f.8ea8f3d3.js deleted file mode 100644 index a3c9c6563..000000000 --- a/pr-333/assets/chunks/journeyDiagram-5120ee2f.8ea8f3d3.js +++ /dev/null @@ -1,139 +0,0 @@ -import{c as V,v as gt,x as mt,s as xt,g as _t,b as kt,a as bt,m as vt,z as wt,h as H,i as Tt}from"../app.1f62ceb3.js";import{d as $t,f as St,a as Mt,g as ct}from"./svgDrawCommon-f26cad39.06b971e6.js";import{a as it}from"./arc.81630743.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";import"./path.53f90ab3.js";var Z=function(){var t=function(_,r,a,h){for(a=a||{},h=_.length;h--;a[_[h]]=r);return a},e=[1,2],s=[1,5],n=[6,9,11,17,18,20,22,23,24,26],i=[1,15],l=[1,16],o=[1,17],y=[1,18],u=[1,19],x=[1,20],g=[1,24],f=[4,6,9,11,17,18,20,22,23,24,26],d={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,title:17,acc_title:18,acc_title_value:19,acc_descr:20,acc_descr_value:21,acc_descr_multiline_value:22,section:23,taskName:24,taskData:25,open_directive:26,type_directive:27,arg_directive:28,close_directive:29,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"acc_title",19:"acc_title_value",20:"acc_descr",21:"acc_descr_value",22:"acc_descr_multiline_value",23:"section",24:"taskName",25:"taskData",26:"open_directive",27:"type_directive",28:"arg_directive",29:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,2],[10,2],[10,1],[10,1],[10,2],[10,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(r,a,h,p,m,c,R){var k=c.length-1;switch(m){case 1:return c[k-1];case 3:this.$=[];break;case 4:c[k-1].push(c[k]),this.$=c[k-1];break;case 5:case 6:this.$=c[k];break;case 7:case 8:this.$=[];break;case 11:p.setDiagramTitle(c[k].substr(6)),this.$=c[k].substr(6);break;case 12:this.$=c[k].trim(),p.setAccTitle(this.$);break;case 13:case 14:this.$=c[k].trim(),p.setAccDescription(this.$);break;case 15:p.addSection(c[k].substr(8)),this.$=c[k].substr(8);break;case 16:p.addTask(c[k-1],c[k]),this.$="task";break;case 18:p.parseDirective("%%{","open_directive");break;case 19:p.parseDirective(c[k],"type_directive");break;case 20:c[k]=c[k].trim().replace(/'/g,'"'),p.parseDirective(c[k],"arg_directive");break;case 21:p.parseDirective("}%%","close_directive","journey");break}},table:[{3:1,4:e,7:3,12:4,26:s},{1:[3]},t(n,[2,3],{5:6}),{3:7,4:e,7:3,12:4,26:s},{13:8,27:[1,9]},{27:[2,18]},{6:[1,10],7:21,8:11,9:[1,12],10:13,11:[1,14],12:4,17:i,18:l,20:o,22:y,23:u,24:x,26:s},{1:[2,2]},{14:22,15:[1,23],29:g},t([15,29],[2,19]),t(n,[2,8],{1:[2,1]}),t(n,[2,4]),{7:21,10:25,12:4,17:i,18:l,20:o,22:y,23:u,24:x,26:s},t(n,[2,6]),t(n,[2,7]),t(n,[2,11]),{19:[1,26]},{21:[1,27]},t(n,[2,14]),t(n,[2,15]),{25:[1,28]},t(n,[2,17]),{11:[1,29]},{16:30,28:[1,31]},{11:[2,21]},t(n,[2,5]),t(n,[2,12]),t(n,[2,13]),t(n,[2,16]),t(f,[2,9]),{14:32,29:g},{29:[2,20]},{11:[1,33]},t(f,[2,10])],defaultActions:{5:[2,18],7:[2,2],24:[2,21],31:[2,20]},parseError:function(r,a){if(a.recoverable)this.trace(r);else{var h=new Error(r);throw h.hash=a,h}},parse:function(r){var a=this,h=[0],p=[],m=[null],c=[],R=this.table,k="",z=0,Q=0,yt=2,tt=1,dt=c.slice.call(arguments,1),v=Object.create(this.lexer),I={yy:{}};for(var D in this.yy)Object.prototype.hasOwnProperty.call(this.yy,D)&&(I.yy[D]=this.yy[D]);v.setInput(r,I.yy),I.yy.lexer=v,I.yy.parser=this,typeof v.yylloc>"u"&&(v.yylloc={});var W=v.yylloc;c.push(W);var pt=v.options&&v.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ft(){var E;return E=p.pop()||v.lex()||tt,typeof E!="number"&&(E instanceof Array&&(p=E,E=p.pop()),E=a.symbols_[E]||E),E}for(var w,A,$,X,F={},Y,M,et,O;;){if(A=h[h.length-1],this.defaultActions[A]?$=this.defaultActions[A]:((w===null||typeof w>"u")&&(w=ft()),$=R[A]&&R[A][w]),typeof $>"u"||!$.length||!$[0]){var G="";O=[];for(Y in R[A])this.terminals_[Y]&&Y>yt&&O.push("'"+this.terminals_[Y]+"'");v.showPosition?G="Parse error on line "+(z+1)+`: -`+v.showPosition()+` -Expecting `+O.join(", ")+", got '"+(this.terminals_[w]||w)+"'":G="Parse error on line "+(z+1)+": Unexpected "+(w==tt?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(G,{text:v.match,token:this.terminals_[w]||w,line:v.yylineno,loc:W,expected:O})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+w);switch($[0]){case 1:h.push(w),m.push(v.yytext),c.push(v.yylloc),h.push($[1]),w=null,Q=v.yyleng,k=v.yytext,z=v.yylineno,W=v.yylloc;break;case 2:if(M=this.productions_[$[1]][1],F.$=m[m.length-M],F._$={first_line:c[c.length-(M||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(M||1)].first_column,last_column:c[c.length-1].last_column},pt&&(F._$.range=[c[c.length-(M||1)].range[0],c[c.length-1].range[1]]),X=this.performAction.apply(F,[k,Q,z,I.yy,$[1],m,c].concat(dt)),typeof X<"u")return X;M&&(h=h.slice(0,-1*M*2),m=m.slice(0,-1*M),c=c.slice(0,-1*M)),h.push(this.productions_[$[1]][0]),m.push(F.$),c.push(F._$),et=R[h[h.length-2]][h[h.length-1]],h.push(et);break;case 3:return!0}}return!0}},T=function(){var _={EOF:1,parseError:function(a,h){if(this.yy.parser)this.yy.parser.parseError(a,h);else throw new Error(a)},setInput:function(r,a){return this.yy=a||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var a=r.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var a=r.length,h=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var p=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var m=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===p.length?this.yylloc.first_column:0)+p[p.length-h.length].length-h[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[m[0],m[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),a=new Array(r.length+1).join("-");return r+this.upcomingInput()+` -`+a+"^"},test_match:function(r,a){var h,p,m;if(this.options.backtrack_lexer&&(m={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(m.yylloc.range=this.yylloc.range.slice(0))),p=r[0].match(/(?:\r\n?|\n).*/g),p&&(this.yylineno+=p.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:p?p[p.length-1].length-p[p.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],h=this.performAction.call(this,this.yy,this,a,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),h)return h;if(this._backtrack){for(var c in m)this[c]=m[c];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,a,h,p;this._more||(this.yytext="",this.match="");for(var m=this._currentRules(),c=0;ca[0].length)){if(a=h,p=c,this.options.backtrack_lexer){if(r=this.test_match(h,m[c]),r!==!1)return r;if(this._backtrack){a=!1;continue}else return!1}else if(!this.options.flex)break}return a?(r=this.test_match(a,m[p]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return a||this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){var a=this.conditionStack.length-1;return a>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(a){return a=this.conditionStack.length-1-Math.abs(a||0),a>=0?this.conditionStack[a]:"INITIAL"},pushState:function(a){this.begin(a)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(a,h,p,m){switch(p){case 0:return this.begin("open_directive"),26;case 1:return this.begin("type_directive"),27;case 2:return this.popState(),this.begin("arg_directive"),15;case 3:return this.popState(),this.popState(),29;case 4:return 28;case 5:break;case 6:break;case 7:return 11;case 8:break;case 9:break;case 10:return 4;case 11:return 17;case 12:return this.begin("acc_title"),18;case 13:return this.popState(),"acc_title_value";case 14:return this.begin("acc_descr"),20;case 15:return this.popState(),"acc_descr_value";case 16:this.begin("acc_descr_multiline");break;case 17:this.popState();break;case 18:return"acc_descr_multiline_value";case 19:return 23;case 20:return 24;case 21:return 25;case 22:return 15;case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/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,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},acc_descr_multiline:{rules:[17,18],inclusive:!1},acc_descr:{rules:[15],inclusive:!1},acc_title:{rules:[13],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,14,16,19,20,21,22,23,24],inclusive:!0}}};return _}();d.lexer=T;function b(){this.yy={}}return b.prototype=d,d.Parser=b,new b}();Z.parser=Z;const Et=Z;let L="";const J=[],N=[],B=[],Pt=function(t,e,s){vt.parseDirective(this,t,e,s)},It=function(){J.length=0,N.length=0,L="",B.length=0,wt()},At=function(t){L=t,J.push(t)},Ct=function(){return J},Vt=function(){let t=st();const e=100;let s=0;for(;!t&&s{s.people&&t.push(...s.people)}),[...new Set(t)].sort()},Lt=function(t,e){const s=e.substr(1).split(":");let n=0,i=[];s.length===1?(n=Number(s[0]),i=[]):(n=Number(s[0]),i=s[1].split(","));const l=i.map(y=>y.trim()),o={section:L,type:L,people:l,task:t,score:n};B.push(o)},Rt=function(t){const e={section:L,type:L,description:t,task:t,classes:[]};N.push(e)},st=function(){const t=function(s){return B[s].processed};let e=!0;for(const[s,n]of B.entries())t(s),e=e&&n.processed;return e},Nt=function(){return Ft()},rt={parseDirective:Pt,getConfig:()=>V().journey,clear:It,setDiagramTitle:gt,getDiagramTitle:mt,setAccTitle:xt,getAccTitle:_t,setAccDescription:kt,getAccDescription:bt,addSection:At,getSections:Ct,getTasks:Vt,addTask:Lt,addTaskOrg:Rt,getActors:Nt},Bt=t=>`.label { - font-family: 'trebuchet ms', verdana, arial, sans-serif; - font-family: var(--mermaid-font-family); - color: ${t.textColor}; - } - .mouth { - stroke: #666; - } - - line { - stroke: ${t.textColor} - } - - .legend { - fill: ${t.textColor}; - } - - .label text { - fill: #333; - } - .label { - color: ${t.textColor} - } - - .face { - ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"}; - stroke: #999; - } - - .node rect, - .node circle, - .node ellipse, - .node polygon, - .node path { - fill: ${t.mainBkg}; - stroke: ${t.nodeBorder}; - stroke-width: 1px; - } - - .node .label { - text-align: center; - } - .node.clickable { - cursor: pointer; - } - - .arrowheadPath { - fill: ${t.arrowheadColor}; - } - - .edgePath .path { - stroke: ${t.lineColor}; - stroke-width: 1.5px; - } - - .flowchart-link { - stroke: ${t.lineColor}; - fill: none; - } - - .edgeLabel { - background-color: ${t.edgeLabelBackground}; - rect { - opacity: 0.5; - } - text-align: center; - } - - .cluster rect { - } - - .cluster text { - fill: ${t.titleColor}; - } - - div.mermaidTooltip { - position: absolute; - text-align: center; - max-width: 200px; - padding: 2px; - font-family: 'trebuchet ms', verdana, arial, sans-serif; - font-family: var(--mermaid-font-family); - font-size: 12px; - background: ${t.tertiaryColor}; - border: 1px solid ${t.border2}; - border-radius: 2px; - pointer-events: none; - z-index: 100; - } - - .task-type-0, .section-type-0 { - ${t.fillType0?`fill: ${t.fillType0}`:""}; - } - .task-type-1, .section-type-1 { - ${t.fillType0?`fill: ${t.fillType1}`:""}; - } - .task-type-2, .section-type-2 { - ${t.fillType0?`fill: ${t.fillType2}`:""}; - } - .task-type-3, .section-type-3 { - ${t.fillType0?`fill: ${t.fillType3}`:""}; - } - .task-type-4, .section-type-4 { - ${t.fillType0?`fill: ${t.fillType4}`:""}; - } - .task-type-5, .section-type-5 { - ${t.fillType0?`fill: ${t.fillType5}`:""}; - } - .task-type-6, .section-type-6 { - ${t.fillType0?`fill: ${t.fillType6}`:""}; - } - .task-type-7, .section-type-7 { - ${t.fillType0?`fill: ${t.fillType7}`:""}; - } - - .actor-0 { - ${t.actor0?`fill: ${t.actor0}`:""}; - } - .actor-1 { - ${t.actor1?`fill: ${t.actor1}`:""}; - } - .actor-2 { - ${t.actor2?`fill: ${t.actor2}`:""}; - } - .actor-3 { - ${t.actor3?`fill: ${t.actor3}`:""}; - } - .actor-4 { - ${t.actor4?`fill: ${t.actor4}`:""}; - } - .actor-5 { - ${t.actor5?`fill: ${t.actor5}`:""}; - } -`,jt=Bt,K=function(t,e){return $t(t,e)},zt=function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function l(u){const x=it().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",x).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function o(u){const x=it().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",x).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function y(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return e.score>3?l(i):e.score<3?o(i):y(i),n},lt=function(t,e){const s=t.append("circle");return s.attr("cx",e.cx),s.attr("cy",e.cy),s.attr("class","actor-"+e.pos),s.attr("fill",e.fill),s.attr("stroke",e.stroke),s.attr("r",e.r),s.class!==void 0&&s.attr("class",s.class),e.title!==void 0&&s.append("title").text(e.title),s},ht=function(t,e){return St(t,e)},Yt=function(t,e){function s(i,l,o,y,u){return i+","+l+" "+(i+o)+","+l+" "+(i+o)+","+(l+y-u)+" "+(i+o-u*1.2)+","+(l+y)+" "+i+","+(l+y)}const n=t.append("polygon");n.attr("points",s(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,ht(t,e)},Ot=function(t,e,s){const n=t.append("g"),i=ct();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=s.width*e.taskCount+s.diagramMarginX*(e.taskCount-1),i.height=s.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,K(n,i),ut(s)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},s,e.colour)};let nt=-1;const qt=function(t,e,s){const n=e.x+s.width/2,i=t.append("g");nt++;const l=300+5*30;i.append("line").attr("id","task"+nt).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",l).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),zt(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});const o=ct();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=s.width,o.height=s.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,K(i,o);let y=e.x+14;e.people.forEach(u=>{const x=e.actors[u].color,g={cx:y,cy:e.y,r:7,fill:x,stroke:"#000",title:u,pos:e.actors[u].position};lt(i,g),y+=10}),ut(s)(e.task,i,o.x,o.y,o.width,o.height,{class:"task"},s,e.colour)},Dt=function(t,e){Mt(t,e)},ut=function(){function t(i,l,o,y,u,x,g,f){const d=l.append("text").attr("x",o+u/2).attr("y",y+x/2+5).style("font-color",f).style("text-anchor","middle").text(i);n(d,g)}function e(i,l,o,y,u,x,g,f,d){const{taskFontSize:T,taskFontFamily:b}=f,_=i.split(//gi);for(let r=0;r<_.length;r++){const a=r*T-T*(_.length-1)/2,h=l.append("text").attr("x",o+u/2).attr("y",y).attr("fill",d).style("text-anchor","middle").style("font-size",T).style("font-family",b);h.append("tspan").attr("x",o+u/2).attr("dy",a).text(_[r]),h.attr("y",y+x/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),n(h,g)}}function s(i,l,o,y,u,x,g,f){const d=l.append("switch"),b=d.append("foreignObject").attr("x",o).attr("y",y).attr("width",u).attr("height",x).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");b.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(i),e(i,d,o,y,u,x,g,f),n(b,g)}function n(i,l){for(const o in l)o in l&&i.attr(o,l[o])}return function(i){return i.textPlacement==="fo"?s:i.textPlacement==="old"?t:e}}(),Wt=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},j={drawRect:K,drawCircle:lt,drawSection:Ot,drawText:ht,drawLabel:Yt,drawTask:qt,drawBackgroundRect:Dt,initGraphics:Wt},Xt=function(t){Object.keys(t).forEach(function(s){q[s]=t[s]})},P={};function Gt(t){const e=V().journey;let s=60;Object.keys(P).forEach(n=>{const i=P[n].color,l={cx:20,cy:s,r:7,fill:i,stroke:"#000",pos:P[n].position};j.drawCircle(t,l);const o={x:40,y:s+7,fill:"#666",text:n,textMargin:e.boxTextMargin|5};j.drawText(t,o),s+=20})}const q=V().journey,C=q.leftMargin,Ht=function(t,e,s,n){const i=V().journey,l=V().securityLevel;let o;l==="sandbox"&&(o=H("#i"+e));const y=l==="sandbox"?H(o.nodes()[0].contentDocument.body):H("body");S.init();const u=y.select("#"+e);j.initGraphics(u);const x=n.db.getTasks(),g=n.db.getDiagramTitle(),f=n.db.getActors();for(const a in P)delete P[a];let d=0;f.forEach(a=>{P[a]={color:i.actorColours[d%i.actorColours.length],position:d},d++}),Gt(u),S.insert(0,0,C,Object.keys(P).length*50),Ut(u,x,0);const T=S.getBounds();g&&u.append("text").text(g).attr("x",C).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const b=T.stopy-T.starty+2*i.diagramMarginY,_=C+T.stopx+2*i.diagramMarginX;Tt(u,b,_,i.useMaxWidth),u.append("line").attr("x1",C).attr("y1",i.height*4).attr("x2",_-C-4).attr("y2",i.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const r=g?70:0;u.attr("viewBox",`${T.startx} -25 ${_} ${b+r}`),u.attr("preserveAspectRatio","xMinYMin meet"),u.attr("height",b+r+25)},S={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,s,n){t[e]===void 0?t[e]=s:t[e]=n(s,t[e])},updateBounds:function(t,e,s,n){const i=V().journey,l=this;let o=0;function y(u){return function(g){o++;const f=l.sequenceItems.length-o+1;l.updateVal(g,"starty",e-f*i.boxMargin,Math.min),l.updateVal(g,"stopy",n+f*i.boxMargin,Math.max),l.updateVal(S.data,"startx",t-f*i.boxMargin,Math.min),l.updateVal(S.data,"stopx",s+f*i.boxMargin,Math.max),u!=="activation"&&(l.updateVal(g,"startx",t-f*i.boxMargin,Math.min),l.updateVal(g,"stopx",s+f*i.boxMargin,Math.max),l.updateVal(S.data,"starty",e-f*i.boxMargin,Math.min),l.updateVal(S.data,"stopy",n+f*i.boxMargin,Math.max))}}this.sequenceItems.forEach(y())},insert:function(t,e,s,n){const i=Math.min(t,s),l=Math.max(t,s),o=Math.min(e,n),y=Math.max(e,n);this.updateVal(S.data,"startx",i,Math.min),this.updateVal(S.data,"starty",o,Math.min),this.updateVal(S.data,"stopx",l,Math.max),this.updateVal(S.data,"stopy",y,Math.max),this.updateBounds(i,o,l,y)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},U=q.sectionFills,at=q.sectionColours,Ut=function(t,e,s){const n=V().journey;let i="";const l=n.height*2+n.diagramMarginY,o=s+l;let y=0,u="#CCC",x="black",g=0;for(const[f,d]of e.entries()){if(i!==d.section){u=U[y%U.length],g=y%U.length,x=at[y%at.length];let b=0;const _=d.section;for(let a=f;a(P[_]&&(b[_]=P[_]),b),{});d.x=f*n.taskMargin+f*n.width+C,d.y=o,d.width=n.diagramMarginX,d.height=n.diagramMarginY,d.colour=x,d.fill=u,d.num=g,d.actors=T,j.drawTask(t,d,n),S.insert(d.x,d.y,d.x+d.width+n.taskMargin,300+5*30)}},ot={setConf:Xt,draw:Ht},ie={parser:Et,db:rt,renderer:ot,styles:jt,init:t=>{ot.setConf(t.journey),rt.clear()}};export{ie as diagram}; diff --git a/pr-333/assets/chunks/layout.c9cae6cc.js b/pr-333/assets/chunks/layout.c9cae6cc.js deleted file mode 100644 index fda6dabdb..000000000 --- a/pr-333/assets/chunks/layout.c9cae6cc.js +++ /dev/null @@ -1 +0,0 @@ -import{A as M,B as He,S as C,C as _,D as L,E as Fr,F as nn,G as D,H as X,I as Z,J as Un,K as Dr,L as ke,M as Gr,N as Br,O as Yn,P as Ur,Q as qe,R as Hn,T as V,U as cn,V as kn,W as Yr,X as Mn,Y as Ln,Z as se}from"../app.1f62ceb3.js";var Hr="[object Symbol]";function R(n){return typeof n=="symbol"||M(n)&&He(n)==Hr}function H(n,e){for(var r=-1,t=n==null?0:n.length,i=Array(t);++r0){if(++e>=at)return arguments[0]}else e=0;return n.apply(void 0,arguments)}}function Y(n){return function(){return n}}var ft=function(){try{var n=Fr(Object,"defineProperty");return n({},"",{}),n}catch{}}();const ln=ft;var dt=ln?function(n,e){return ln(n,"toString",{configurable:!0,enumerable:!1,value:Y(e),writable:!0})}:G;const ct=dt;var lt=st(ct);const Xe=lt;function Ze(n,e){for(var r=-1,t=n==null?0:n.length;++r-1}var bt=9007199254740991,wt=/^(?:0|[1-9]\d*)$/;function pn(n,e){var r=typeof n;return e=e??bt,!!e&&(r=="number"||r!="symbol"&&wt.test(n))&&n>-1&&n%1==0&&n1?r[i-1]:void 0,o=i>2?r[2]:void 0;for(a=n.length>3&&typeof a=="function"?(i--,a):void 0,o&&J(r[0],r[1],o)&&(a=i<3?void 0:a,i=1),e=Object(e);++t0&&r(u)?e>1?yn(u,e-1,r,t,i):Kn(i,u):t||(i[i.length]=u)}return i}function q(n){var e=n==null?0:n.length;return e?yn(n,1):[]}function Ut(n){return Xe(Je(n,void 0,q),n+"")}var Yt=Br(Object.getPrototypeOf,Object);const Wn=Yt;var Ht="[object Object]",kt=Function.prototype,qt=Object.prototype,je=kt.toString,Kt=qt.hasOwnProperty,Wt=je.call(Object);function Xt(n){if(!M(n)||He(n)!=Ht)return!1;var e=Wn(n);if(e===null)return!0;var r=Kt.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&je.call(r)==Wt}function Zt(n,e,r,t){var i=-1,a=n==null?0:n.length;for(t&&a&&(r=n[++i]);++iu))return!1;var f=a.get(n),d=a.get(e);if(f&&d)return f==e&&d==n;var l=-1,h=!0,g=r&Pa?new z:void 0;for(a.set(n,e),a.set(e,n);++l2?e[2]:void 0;for(i&&J(e[0],e[1],i)&&(t=1);++r-1?i[a?e[o]:o]:void 0}}var xo=Math.max;function To(n,e,r){var t=n==null?0:n.length;if(!t)return-1;var i=r==null?0:nt(r);return i<0&&(i=xo(t+i,0)),Ve(n,$(e),i)}var Oo=yo(To);const ne=Oo;function _r(n,e){var r=-1,t=D(n)?Array(n.length):[];return xn(n,function(i,a,o){t[++r]=e(i,a,o)}),t}function y(n,e){var r=_(n)?H:_r;return r(n,$(e))}function Lo(n,e){return n==null?n:zn(n,jn(e),B)}function Ao(n,e){return n&&Qn(n,jn(e))}function Po(n,e){return n>e}var No=Object.prototype,Co=No.hasOwnProperty;function $o(n,e){return n!=null&&Co.call(n,e)}function b(n,e){return n!=null&&gr(n,e,$o)}function Io(n,e){return H(e,function(r){return n[r]})}function N(n){return n==null?[]:Io(n,T(n))}function x(n){return n===void 0}function Er(n,e){return ne||a&&o&&s&&!u&&!f||t&&o&&s||!r&&s||!i)return 1;if(!t&&!a&&!f&&n=u)return s;var f=r[t];return s*(f=="desc"?-1:1)}}return n.index-e.index}function Bo(n,e,r){e.length?e=H(e,function(a){return _(a)?function(o){return En(o,a.length===1?a[0]:a)}:a}):e=[G];var t=-1;e=H(e,kn($));var i=_r(n,function(a,o,u){var s=H(e,function(f){return f(a)});return{criteria:s,index:++t,value:a}});return Fo(i,function(a,o){return Go(a,o,r)})}function Uo(n,e){return Ro(n,e,function(r,t){return pr(n,t)})}var Yo=Ut(function(n,e){return n==null?{}:Uo(n,e)});const gn=Yo;var Ho=Math.ceil,ko=Math.max;function qo(n,e,r,t){for(var i=-1,a=ko(Ho((e-n)/(r||1)),0),o=Array(a);a--;)o[t?a:++i]=n,n+=r;return o}function Ko(n){return function(e,r,t){return t&&typeof t!="number"&&J(e,r,t)&&(r=t=void 0),e=fn(e),r===void 0?(r=e,e=0):r=fn(r),t=t===void 0?e1&&J(n,e[0],e[1])?e=[]:r>2&&J(e[0],e[1],e[2])&&(e=[e[0]]),Bo(n,yn(e,1),[])});const an=Zo;var Vo=1/0,Jo=Ln&&1/Vn(new Ln([,-0]))[1]==Vo?function(n){return new Ln(n)}:it;const zo=Jo;var Qo=200;function jo(n,e,r){var t=-1,i=pt,a=n.length,o=!0,u=[],s=u;if(r)o=!1,i=_o;else if(a>=Qo){var f=e?null:zo(n);if(f)return Vn(f);o=!1,i=cr,s=new z}else s=e?[]:u;n:for(;++t1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return b(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=S,this._children[e]={},this._children[S][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return b(this._nodes,e)}removeNode(e){var r=this;if(b(this._nodes,e)){var t=function(i){r.removeEdge(r._edgeObjs[i])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],c(this.children(e),function(i){r.setParent(i)}),delete this._children[e]),c(T(this._in[e]),t),delete this._in[e],delete this._preds[e],c(T(this._out[e]),t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(x(r))r=S;else{r+="";for(var t=r;!x(t);t=this.parent(t))if(t===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==S)return r}}children(e){if(x(e)&&(e=S),this._isCompound){var r=this._children[e];if(r)return T(r)}else{if(e===S)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return T(r)}successors(e){var r=this._sucs[e];if(r)return T(r)}neighbors(e){var r=this.predecessors(e);if(r)return eu(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var t=this;c(this._nodes,function(o,u){e(u)&&r.setNode(u,o)}),c(this._edgeObjs,function(o){r.hasNode(o.v)&&r.hasNode(o.w)&&r.setEdge(o,t.edge(o))});var i={};function a(o){var u=t.parent(o);return u===void 0||r.hasNode(u)?(i[o]=u,u):u in i?i[u]:a(u)}return this._isCompound&&c(r.nodes(),function(o){r.setParent(o,a(o))}),r}setDefaultEdgeLabel(e){return Mn(e)||(e=Y(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return N(this._edgeObjs)}setPath(e,r){var t=this,i=arguments;return tn(e,function(a,o){return i.length>1?t.setEdge(a,o,r):t.setEdge(a,o),o}),this}setEdge(){var e,r,t,i,a=!1,o=arguments[0];typeof o=="object"&&o!==null&&"v"in o?(e=o.v,r=o.w,t=o.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=o,r=arguments[1],t=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,x(t)||(t=""+t);var u=W(this._isDirected,e,r,t);if(b(this._edgeLabels,u))return a&&(this._edgeLabels[u]=i),this;if(!x(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[u]=a?i:this._defaultEdgeLabelFn(e,r,t);var s=ou(this._isDirected,e,r,t);return e=s.v,r=s.w,Object.freeze(s),this._edgeObjs[u]=s,Ce(this._preds[r],e),Ce(this._sucs[e],r),this._in[r][u]=s,this._out[e][u]=s,this._edgeCount++,this}edge(e,r,t){var i=arguments.length===1?Pn(this._isDirected,arguments[0]):W(this._isDirected,e,r,t);return this._edgeLabels[i]}hasEdge(e,r,t){var i=arguments.length===1?Pn(this._isDirected,arguments[0]):W(this._isDirected,e,r,t);return b(this._edgeLabels,i)}removeEdge(e,r,t){var i=arguments.length===1?Pn(this._isDirected,arguments[0]):W(this._isDirected,e,r,t),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],$e(this._preds[r],e),$e(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var t=this._in[e];if(t){var i=N(t);return r?P(i,function(a){return a.v===r}):i}}outEdges(e,r){var t=this._out[e];if(t){var i=N(t);return r?P(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var t=this.inEdges(e,r);if(t)return t.concat(this.outEdges(e,r))}}A.prototype._nodeCount=0;A.prototype._edgeCount=0;function Ce(n,e){n[e]?n[e]++:n[e]=1}function $e(n,e){--n[e]||delete n[e]}function W(n,e,r,t){var i=""+e,a=""+r;if(!n&&i>a){var o=i;i=a,a=o}return i+Ne+a+Ne+(x(t)?au:t)}function ou(n,e,r,t){var i=""+e,a=""+r;if(!n&&i>a){var o=i;i=a,a=o}var u={v:i,w:a};return t&&(u.name=t),u}function Pn(n,e){return W(n,e.v,e.w,e.name)}class uu{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Ie(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Ie(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,t=r._prev;t!==r;)e.push(JSON.stringify(t,su)),t=t._prev;return"["+e.join(", ")+"]"}}function Ie(n){n._prev._next=n._next,n._next._prev=n._prev,delete n._next,delete n._prev}function su(n,e){if(n!=="_next"&&n!=="_prev")return e}var fu=Y(1);function du(n,e){if(n.nodeCount()<=1)return[];var r=lu(n,e||fu),t=cu(r.graph,r.buckets,r.zeroIdx);return q(y(t,function(i){return n.outEdges(i.v,i.w)}))}function cu(n,e,r){for(var t=[],i=e[e.length-1],a=e[0],o;n.nodeCount();){for(;o=a.dequeue();)Nn(n,e,r,o);for(;o=i.dequeue();)Nn(n,e,r,o);if(n.nodeCount()){for(var u=e.length-2;u>0;--u)if(o=e[u].dequeue(),o){t=t.concat(Nn(n,e,r,o,!0));break}}}return t}function Nn(n,e,r,t,i){var a=i?[]:void 0;return c(n.inEdges(t.v),function(o){var u=n.edge(o),s=n.node(o.v);i&&a.push({v:o.v,w:o.w}),s.out-=u,Bn(e,r,s)}),c(n.outEdges(t.v),function(o){var u=n.edge(o),s=o.w,f=n.node(s);f.in-=u,Bn(e,r,f)}),n.removeNode(t.v),a}function lu(n,e){var r=new A,t=0,i=0;c(n.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),c(n.edges(),function(u){var s=r.edge(u.v,u.w)||0,f=e(u),d=s+f;r.setEdge(u.v,u.w,d),i=Math.max(i,r.node(u.v).out+=f),t=Math.max(t,r.node(u.w).in+=f)});var a=k(i+t+3).map(function(){return new uu}),o=t+1;return c(r.nodes(),function(u){Bn(a,o,r.node(u))}),{graph:r,buckets:a,zeroIdx:o}}function Bn(n,e,r){r.out?r.in?n[r.out-r.in+e].enqueue(r):n[n.length-1].enqueue(r):n[0].enqueue(r)}function hu(n){var e=n.graph().acyclicer==="greedy"?du(n,r(n)):vu(n);c(e,function(t){var i=n.edge(t);n.removeEdge(t),i.forwardName=t.name,i.reversed=!0,n.setEdge(t.w,t.v,i,te("rev"))});function r(t){return function(i){return t.edge(i).weight}}}function vu(n){var e=[],r={},t={};function i(a){b(t,a)||(t[a]=!0,r[a]=!0,c(n.outEdges(a),function(o){b(r,o.w)?e.push(o):i(o.w)}),delete r[a])}return c(n.nodes(),i),e}function gu(n){c(n.edges(),function(e){var r=n.edge(e);if(r.reversed){n.removeEdge(e);var t=r.forwardName;delete r.reversed,delete r.forwardName,n.setEdge(e.w,e.v,r,t)}})}function K(n,e,r,t){var i;do i=te(t);while(n.hasNode(i));return r.dummy=e,n.setNode(i,r),i}function pu(n){var e=new A().setGraph(n.graph());return c(n.nodes(),function(r){e.setNode(r,n.node(r))}),c(n.edges(),function(r){var t=e.edge(r.v,r.w)||{weight:0,minlen:1},i=n.edge(r);e.setEdge(r.v,r.w,{weight:t.weight+i.weight,minlen:Math.max(t.minlen,i.minlen)})}),e}function yr(n){var e=new A({multigraph:n.isMultigraph()}).setGraph(n.graph());return c(n.nodes(),function(r){n.children(r).length||e.setNode(r,n.node(r))}),c(n.edges(),function(r){e.setEdge(r,n.edge(r))}),e}function Se(n,e){var r=n.x,t=n.y,i=e.x-r,a=e.y-t,o=n.width/2,u=n.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,f;return Math.abs(a)*o>Math.abs(i)*u?(a<0&&(u=-u),s=u*i/a,f=u):(i<0&&(o=-o),s=o,f=o*a/i),{x:r+s,y:t+f}}function On(n){var e=y(k(xr(n)+1),function(){return[]});return c(n.nodes(),function(r){var t=n.node(r),i=t.rank;x(i)||(e[i][t.order]=r)}),e}function bu(n){var e=Q(y(n.nodes(),function(r){return n.node(r).rank}));c(n.nodes(),function(r){var t=n.node(r);b(t,"rank")&&(t.rank-=e)})}function wu(n){var e=Q(y(n.nodes(),function(a){return n.node(a).rank})),r=[];c(n.nodes(),function(a){var o=n.node(a).rank-e;r[o]||(r[o]=[]),r[o].push(a)});var t=0,i=n.graph().nodeRankFactor;c(r,function(a,o){x(a)&&o%i!==0?--t:t&&c(a,function(u){n.node(u).rank+=t})})}function Me(n,e,r,t){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=t),K(n,"border",i,e)}function xr(n){return F(y(n.nodes(),function(e){var r=n.node(e).rank;if(!x(r))return r}))}function mu(n,e){var r={lhs:[],rhs:[]};return c(n,function(t){e(t)?r.lhs.push(t):r.rhs.push(t)}),r}function _u(n,e){var r=Pe();try{return e()}finally{console.log(n+" time: "+(Pe()-r)+"ms")}}function Eu(n,e){return e()}function yu(n){function e(r){var t=n.children(r),i=n.node(r);if(t.length&&c(t,e),b(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,o=i.maxRank+1;ao.lim&&(u=o,s=!0);var f=P(e.edges(),function(d){return s===De(n,n.node(d.v),u)&&s!==De(n,n.node(d.w),u)});return re(f,function(d){return j(e,d)})}function Ir(n,e,r,t){var i=r.v,a=r.w;n.removeEdge(i,a),n.setEdge(t.v,t.w,{}),oe(n),ae(n,e),Du(n,e)}function Du(n,e){var r=ne(n.nodes(),function(i){return!e.node(i).parent}),t=Ru(n,r);t=t.slice(1),c(t,function(i){var a=n.node(i).parent,o=e.edge(i,a),u=!1;o||(o=e.edge(a,i),u=!0),e.node(i).rank=e.node(a).rank+(u?o.minlen:-o.minlen)})}function Gu(n,e,r){return n.hasEdge(e,r)}function De(n,e,r){return r.low<=e.lim&&e.lim<=r.lim}function Bu(n){switch(n.graph().ranker){case"network-simplex":Ge(n);break;case"tight-tree":Yu(n);break;case"longest-path":Uu(n);break;default:Ge(n)}}var Uu=ie;function Yu(n){ie(n),Or(n)}function Ge(n){U(n)}function Hu(n){var e=K(n,"root",{},"_root"),r=ku(n),t=F(N(r))-1,i=2*t+1;n.graph().nestingRoot=e,c(n.edges(),function(o){n.edge(o).minlen*=i});var a=qu(n)+1;c(n.children(),function(o){Sr(n,e,i,a,t,r,o)}),n.graph().nodeRankFactor=i}function Sr(n,e,r,t,i,a,o){var u=n.children(o);if(!u.length){o!==e&&n.setEdge(e,o,{weight:0,minlen:r});return}var s=Me(n,"_bt"),f=Me(n,"_bb"),d=n.node(o);n.setParent(s,o),d.borderTop=s,n.setParent(f,o),d.borderBottom=f,c(u,function(l){Sr(n,e,r,t,i,a,l);var h=n.node(l),g=h.borderTop?h.borderTop:l,v=h.borderBottom?h.borderBottom:l,p=h.borderTop?t:2*t,m=g!==v?1:i-a[o]+1;n.setEdge(s,g,{weight:p,minlen:m,nestingEdge:!0}),n.setEdge(v,f,{weight:p,minlen:m,nestingEdge:!0})}),n.parent(o)||n.setEdge(e,s,{weight:0,minlen:i+a[o]})}function ku(n){var e={};function r(t,i){var a=n.children(t);a&&a.length&&c(a,function(o){r(o,i+1)}),e[t]=i}return c(n.children(),function(t){r(t,1)}),e}function qu(n){return tn(n.edges(),function(e,r){return e+n.edge(r).weight},0)}function Ku(n){var e=n.graph();n.removeNode(e.nestingRoot),delete e.nestingRoot,c(n.edges(),function(r){var t=n.edge(r);t.nestingEdge&&n.removeEdge(r)})}function Wu(n,e,r){var t={},i;c(r,function(a){for(var o=n.parent(a),u,s;o;){if(u=n.parent(o),u?(s=t[u],t[u]=o):(s=i,i=o),s&&s!==o){e.setEdge(s,o);return}o=u}})}function Xu(n,e,r){var t=Zu(n),i=new A({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(a){return n.node(a)});return c(n.nodes(),function(a){var o=n.node(a),u=n.parent(a);(o.rank===e||o.minRank<=e&&e<=o.maxRank)&&(i.setNode(a),i.setParent(a,u||t),c(n[r](a),function(s){var f=s.v===a?s.w:s.v,d=i.edge(f,a),l=x(d)?0:d.weight;i.setEdge(f,a,{weight:n.edge(s).weight+l})}),b(o,"minRank")&&i.setNode(a,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))}),i}function Zu(n){for(var e;n.hasNode(e=te("_root")););return e}function Vu(n,e){for(var r=0,t=1;t0;)d%2&&(l+=u[d+1]),d=d-1>>1,u[d]+=f.weight;s+=f.weight*l})),s}function zu(n){var e={},r=P(n.nodes(),function(u){return!n.children(u).length}),t=F(y(r,function(u){return n.node(u).rank})),i=y(k(t+1),function(){return[]});function a(u){if(!b(e,u)){e[u]=!0;var s=n.node(u);i[s.rank].push(u),c(n.successors(u),a)}}var o=an(r,function(u){return n.node(u).rank});return c(o,a),i}function Qu(n,e){return y(e,function(r){var t=n.inEdges(r);if(t.length){var i=tn(t,function(a,o){var u=n.edge(o),s=n.node(o.v);return{sum:a.sum+u.weight*s.order,weight:a.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function ju(n,e){var r={};c(n,function(i,a){var o=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};x(i.barycenter)||(o.barycenter=i.barycenter,o.weight=i.weight)}),c(e.edges(),function(i){var a=r[i.v],o=r[i.w];!x(a)&&!x(o)&&(o.indegree++,a.out.push(r[i.w]))});var t=P(r,function(i){return!i.indegree});return ns(t)}function ns(n){var e=[];function r(a){return function(o){o.merged||(x(o.barycenter)||x(a.barycenter)||o.barycenter>=a.barycenter)&&es(a,o)}}function t(a){return function(o){o.in.push(a),--o.indegree===0&&n.push(o)}}for(;n.length;){var i=n.pop();e.push(i),c(i.in.reverse(),r(i)),c(i.out,t(i))}return y(P(e,function(a){return!a.merged}),function(a){return gn(a,["vs","i","barycenter","weight"])})}function es(n,e){var r=0,t=0;n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.vs=e.vs.concat(n.vs),n.barycenter=r/t,n.weight=t,n.i=Math.min(e.i,n.i),e.merged=!0}function rs(n,e){var r=mu(n,function(d){return b(d,"barycenter")}),t=r.lhs,i=an(r.rhs,function(d){return-d.i}),a=[],o=0,u=0,s=0;t.sort(ts(!!e)),s=Be(a,i,s),c(t,function(d){s+=d.vs.length,a.push(d.vs),o+=d.barycenter*d.weight,u+=d.weight,s=Be(a,i,s)});var f={vs:q(a)};return u&&(f.barycenter=o/u,f.weight=u),f}function Be(n,e,r){for(var t;e.length&&(t=vn(e)).i<=r;)e.pop(),n.push(t.vs),r++;return r}function ts(n){return function(e,r){return e.barycenterr.barycenter?1:n?r.i-e.i:e.i-r.i}}function Mr(n,e,r,t){var i=n.children(e),a=n.node(e),o=a?a.borderLeft:void 0,u=a?a.borderRight:void 0,s={};o&&(i=P(i,function(v){return v!==o&&v!==u}));var f=Qu(n,i);c(f,function(v){if(n.children(v.v).length){var p=Mr(n,v.v,r,t);s[v.v]=p,b(p,"barycenter")&&as(v,p)}});var d=ju(f,r);is(d,s);var l=rs(d,t);if(o&&(l.vs=q([o,l.vs,u]),n.predecessors(o).length)){var h=n.node(n.predecessors(o)[0]),g=n.node(n.predecessors(u)[0]);b(l,"barycenter")||(l.barycenter=0,l.weight=0),l.barycenter=(l.barycenter*l.weight+h.order+g.order)/(l.weight+2),l.weight+=2}return l}function is(n,e){c(n,function(r){r.vs=q(r.vs.map(function(t){return e[t]?e[t].vs:t}))})}function as(n,e){x(n.barycenter)?(n.barycenter=e.barycenter,n.weight=e.weight):(n.barycenter=(n.barycenter*n.weight+e.barycenter*e.weight)/(n.weight+e.weight),n.weight+=e.weight)}function os(n){var e=xr(n),r=Ue(n,k(1,e+1),"inEdges"),t=Ue(n,k(e-1,-1,-1),"outEdges"),i=zu(n);Ye(n,i);for(var a=Number.POSITIVE_INFINITY,o,u=0,s=0;s<4;++u,++s){us(u%2?r:t,u%4>=2),i=On(n);var f=Vu(n,i);fo||u>e[s].lim));for(f=s,s=t;(s=n.parent(s))!==f;)a.push(s);return{path:i.concat(a.reverse()),lca:f}}function ds(n){var e={},r=0;function t(i){var a=r;c(n.children(i),t),e[i]={low:a,lim:r++}}return c(n.children(),t),e}function cs(n,e){var r={};function t(i,a){var o=0,u=0,s=i.length,f=vn(a);return c(a,function(d,l){var h=hs(n,d),g=h?n.node(h).order:s;(h||d===f)&&(c(a.slice(u,l+1),function(v){c(n.predecessors(v),function(p){var m=n.node(p),E=m.order;(Ef)&&Rr(r,h,d)})})}function i(a,o){var u=-1,s,f=0;return c(o,function(d,l){if(n.node(d).dummy==="border"){var h=n.predecessors(d);h.length&&(s=n.node(h[0]).order,t(o,f,l,u,s),f=l,u=s)}t(o,f,o.length,s,a.length)}),o}return tn(e,i),r}function hs(n,e){if(n.node(e).dummy)return ne(n.predecessors(e),function(r){return n.node(r).dummy})}function Rr(n,e,r){if(e>r){var t=e;e=r,r=t}var i=n[e];i||(n[e]=i={}),i[r]=!0}function vs(n,e,r){if(e>r){var t=e;e=r,r=t}return b(n[e],r)}function gs(n,e,r,t){var i={},a={},o={};return c(e,function(u){c(u,function(s,f){i[s]=s,a[s]=s,o[s]=f})}),c(e,function(u){var s=-1;c(u,function(f){var d=t(f);if(d.length){d=an(d,function(p){return o[p]});for(var l=(d.length-1)/2,h=Math.floor(l),g=Math.ceil(l);h<=g;++h){var v=d[h];a[f]===f&&st?1:n>=t?0:NaN}function hn(n,t){return n==null||t==null?NaN:tn?1:t>=n?0:NaN}function _(n){let t,e,r;n.length!==2?(t=F,e=(u,c)=>F(n(u),c),r=(u,c)=>n(u)-c):(t=n===F||n===hn?n:mn,e=n,r=n);function i(u,c,o=0,s=u.length){if(o>>1;e(u[h],c)<0?o=h+1:s=h}while(o>>1;e(u[h],c)<=0?o=h+1:s=h}while(oo&&r(u[h-1],c)>-r(u[h],c)?h-1:h}return{left:i,center:a,right:f}}function mn(){return 0}function ln(n){return n===null?NaN:+n}const sn=_(F),dn=sn.right;_(ln).center;const gn=dn,yn=Math.sqrt(50),Mn=Math.sqrt(10),pn=Math.sqrt(2);function R(n,t,e){const r=(t-n)/Math.max(0,e),i=Math.floor(Math.log10(r)),f=r/Math.pow(10,i),a=f>=yn?10:f>=Mn?5:f>=pn?2:1;let u,c,o;return i<0?(o=Math.pow(10,-i)/a,u=Math.round(n*o),c=Math.round(t*o),u/ot&&--c,o=-o):(o=Math.pow(10,i)*a,u=Math.round(n/o),c=Math.round(t/o),u*ot&&--c),c0))return[];if(n===t)return[n];const r=t=i))return[];const u=f-i+1,c=new Array(u);if(r)if(a<0)for(let o=0;o=1e21?n.toLocaleString("en").replace(/,/g,""):n.toString(10)}function E(n,t){if((e=(n=t?n.toExponential(t-1):n.toExponential()).indexOf("e"))<0)return null;var e,r=n.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+n.slice(e+1)]}function v(n){return n=E(Math.abs(n)),n?n[1]:NaN}function Pn(n,t){return function(e,r){for(var i=e.length,f=[],a=0,u=n[0],c=0;i>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),f.push(e.substring(i-=u,i+u)),!((c+=u+1)>r));)u=n[a=(a+1)%n.length];return f.reverse().join(t)}}function zn(n){return function(t){return t.replace(/[0-9]/g,function(e){return n[+e]})}}var $n=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function D(n){if(!(t=$n.exec(n)))throw new Error("invalid format: "+n);var t;return new B({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}D.prototype=B.prototype;function B(n){this.fill=n.fill===void 0?" ":n.fill+"",this.align=n.align===void 0?">":n.align+"",this.sign=n.sign===void 0?"-":n.sign+"",this.symbol=n.symbol===void 0?"":n.symbol+"",this.zero=!!n.zero,this.width=n.width===void 0?void 0:+n.width,this.comma=!!n.comma,this.precision=n.precision===void 0?void 0:+n.precision,this.trim=!!n.trim,this.type=n.type===void 0?"":n.type+""}B.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 Fn(n){n:for(var t=n.length,e=1,r=-1,i;e0&&(r=0);break}return r>0?n.slice(0,r)+n.slice(i+1):n}var nn;function Rn(n,t){var e=E(n,t);if(!e)return n+"";var r=e[0],i=e[1],f=i-(nn=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return f===a?r:f>a?r+new Array(f-a+1).join("0"):f>0?r.slice(0,f)+"."+r.slice(f):"0."+new Array(1-f).join("0")+E(n,Math.max(0,t+f-1))[0]}function Z(n,t){var e=E(n,t);if(!e)return n+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const H={"%":(n,t)=>(n*100).toFixed(t),b:n=>Math.round(n).toString(2),c:n=>n+"",d:jn,e:(n,t)=>n.toExponential(t),f:(n,t)=>n.toFixed(t),g:(n,t)=>n.toPrecision(t),o:n=>Math.round(n).toString(8),p:(n,t)=>Z(n*100,t),r:Z,s:Rn,X:n=>Math.round(n).toString(16).toUpperCase(),x:n=>Math.round(n).toString(16)};function J(n){return n}var K=Array.prototype.map,Q=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function En(n){var t=n.grouping===void 0||n.thousands===void 0?J:Pn(K.call(n.grouping,Number),n.thousands+""),e=n.currency===void 0?"":n.currency[0]+"",r=n.currency===void 0?"":n.currency[1]+"",i=n.decimal===void 0?".":n.decimal+"",f=n.numerals===void 0?J:zn(K.call(n.numerals,String)),a=n.percent===void 0?"%":n.percent+"",u=n.minus===void 0?"−":n.minus+"",c=n.nan===void 0?"NaN":n.nan+"";function o(h){h=D(h);var l=h.fill,p=h.align,y=h.sign,S=h.symbol,k=h.zero,b=h.width,T=h.comma,w=h.precision,G=h.trim,d=h.type;d==="n"?(T=!0,d="g"):H[d]||(w===void 0&&(w=12),G=!0,d="g"),(k||l==="0"&&p==="=")&&(k=!0,l="0",p="=");var en=S==="$"?e:S==="#"&&/[boxX]/.test(d)?"0"+d.toLowerCase():"",on=S==="$"?r:/[%p]/.test(d)?a:"",O=H[d],an=/[defgprs%]/.test(d);w=w===void 0?6:/[gprs]/.test(d)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function V(m){var N=en,g=on,x,X,j;if(d==="c")g=O(m)+g,m="";else{m=+m;var P=m<0||1/m<0;if(m=isNaN(m)?c:O(Math.abs(m),w),G&&(m=Fn(m)),P&&+m==0&&y!=="+"&&(P=!1),N=(P?y==="("?y:u:y==="-"||y==="("?"":y)+N,g=(d==="s"?Q[8+nn/3]:"")+g+(P&&y==="("?")":""),an){for(x=-1,X=m.length;++xj||j>57){g=(j===46?i+m.slice(x+1):m.slice(x))+g,m=m.slice(0,x);break}}}T&&!k&&(m=t(m,1/0));var z=N.length+m.length+g.length,M=z>1)+N+m+g+M.slice(z);break;default:m=M+N+m+g;break}return f(m)}return V.toString=function(){return h+""},V}function s(h,l){var p=o((h=D(h),h.type="f",h)),y=Math.max(-8,Math.min(8,Math.floor(v(l)/3)))*3,S=Math.pow(10,-y),k=Q[8+y/3];return function(b){return p(S*b)+k}}return{format:o,formatPrefix:s}}var $,tn,rn;Dn({thousands:",",grouping:[3],currency:["$",""]});function Dn(n){return $=En(n),tn=$.format,rn=$.formatPrefix,$}function Tn(n){return Math.max(0,-v(Math.abs(n)))}function In(n,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(v(t)/3)))*3-v(Math.abs(n)))}function Ln(n,t){return n=Math.abs(n),t=Math.abs(t)-n,Math.max(0,v(t)-v(n))+1}function qn(n){return function(){return n}}function Cn(n){return+n}var W=[0,1];function A(n){return n}function q(n,t){return(t-=n=+n)?function(e){return(e-n)/t}:qn(isNaN(t)?NaN:.5)}function Bn(n,t){var e;return n>t&&(e=n,n=t,t=e),function(r){return Math.max(n,Math.min(t,r))}}function Gn(n,t,e){var r=n[0],i=n[1],f=t[0],a=t[1];return i2?On:Gn,c=o=null,h}function h(l){return l==null||isNaN(l=+l)?f:(c||(c=u(n.map(r),t,e)))(r(a(l)))}return h.invert=function(l){return a(i((o||(o=u(t,n.map(r),I)))(l)))},h.domain=function(l){return arguments.length?(n=Array.from(l,Cn),s()):n.slice()},h.range=function(l){return arguments.length?(t=Array.from(l),s()):t.slice()},h.rangeRound=function(l){return t=Array.from(l),e=bn,s()},h.clamp=function(l){return arguments.length?(a=l?!0:A,s()):a!==A},h.interpolate=function(l){return arguments.length?(e=l,s()):e},h.unknown=function(l){return arguments.length?(f=l,h):f},function(l,p){return r=l,i=p,s()}}function Un(){return Xn()(A,A)}function Yn(n,t,e,r){var i=Nn(n,t,e),f;switch(r=D(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(t));return r.precision==null&&!isNaN(f=In(i,a))&&(r.precision=f),rn(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(f=Ln(i,Math.max(Math.abs(n),Math.abs(t))))&&(r.precision=f-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(f=Tn(i))&&(r.precision=f-(r.type==="%")*2);break}}return tn(r)}function Zn(n){var t=n.domain;return n.ticks=function(e){var r=t();return wn(r[0],r[r.length-1],e??10)},n.tickFormat=function(e,r){var i=t();return Yn(i[0],i[i.length-1],e??10,r)},n.nice=function(e){e==null&&(e=10);var r=t(),i=0,f=r.length-1,a=r[i],u=r[f],c,o,s=10;for(u0;){if(o=L(a,u,e),o===c)return r[i]=a,r[f]=u,t(r);if(o>0)a=Math.floor(a/o)*o,u=Math.ceil(u/o)*o;else if(o<0)a=Math.ceil(a*o)/o,u=Math.floor(u*o)/o;else break;c=o}return n},n}function Hn(){var n=Un();return n.copy=function(){return Vn(n,Hn())},cn.apply(n,arguments),Zn(n)}export{Vn as a,_ as b,Un as c,Hn as l,Nn as t}; diff --git a/pr-333/assets/chunks/mindmap-definition-0ab67801.869d5949.js b/pr-333/assets/chunks/mindmap-definition-0ab67801.869d5949.js deleted file mode 100644 index 3fa68dccf..000000000 --- a/pr-333/assets/chunks/mindmap-definition-0ab67801.869d5949.js +++ /dev/null @@ -1,109 +0,0 @@ -import{aI as $t,aJ as Or,d as Ul,c as jr,l as lr,h as Ba,t as Yl,aM as Hl,aN as Xl,aO as ql}from"../app.1f62ceb3.js";import{c as Wl}from"./createText-285e50b4.e45d4ac7.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";function Kl(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var ha=Kl,Zl=typeof $t=="object"&&$t&&$t.Object===Object&&$t,Ql=Zl,Jl=Ql,jl=typeof self=="object"&&self&&self.Object===Object&&self,eu=Jl||jl||Function("return this")(),ja=eu,tu=ja,ru=function(){return tu.Date.now()},au=ru,nu=/\s/;function iu(t){for(var e=t.length;e--&&nu.test(t.charAt(e)););return e}var su=iu,ou=su,lu=/^\s+/;function uu(t){return t&&t.slice(0,ou(t)+1).replace(lu,"")}var fu=uu,hu=ja,vu=hu.Symbol,Kn=vu,Di=Kn,Us=Object.prototype,cu=Us.hasOwnProperty,du=Us.toString,_r=Di?Di.toStringTag:void 0;function gu(t){var e=cu.call(t,_r),r=t[_r];try{t[_r]=void 0;var a=!0}catch{}var n=du.call(t);return a&&(e?t[_r]=r:delete t[_r]),n}var pu=gu,yu=Object.prototype,mu=yu.toString;function bu(t){return mu.call(t)}var Eu=bu,Si=Kn,wu=pu,xu=Eu,Tu="[object Null]",Cu="[object Undefined]",Li=Si?Si.toStringTag:void 0;function Du(t){return t==null?t===void 0?Cu:Tu:Li&&Li in Object(t)?wu(t):xu(t)}var Ys=Du;function Su(t){return t!=null&&typeof t=="object"}var Lu=Su,Au=Ys,Ou=Lu,Nu="[object Symbol]";function Mu(t){return typeof t=="symbol"||Ou(t)&&Au(t)==Nu}var va=Mu,Iu=fu,Ai=ha,Ru=va,Oi=0/0,ku=/^[-+]0x[0-9a-f]+$/i,Pu=/^0b[01]+$/i,Bu=/^0o[0-7]+$/i,Fu=parseInt;function Gu(t){if(typeof t=="number")return t;if(Ru(t))return Oi;if(Ai(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Ai(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=Iu(t);var r=Pu.test(t);return r||Bu.test(t)?Fu(t.slice(2),r?2:8):ku.test(t)?Oi:+t}var zu=Gu,$u=ha,wn=au,Ni=zu,Vu="Expected a function",_u=Math.max,Uu=Math.min;function Yu(t,e,r){var a,n,i,s,o,l,u=0,f=!1,h=!1,c=!0;if(typeof t!="function")throw new TypeError(Vu);e=Ni(e)||0,$u(r)&&(f=!!r.leading,h="maxWait"in r,i=h?_u(Ni(r.maxWait)||0,e):i,c="trailing"in r?!!r.trailing:c);function v(S){var b=a,x=n;return a=n=void 0,u=S,s=t.apply(x,b),s}function d(S){return u=S,o=setTimeout(p,e),f?v(S):s}function g(S){var b=S-l,x=S-u,w=e-b;return h?Uu(w,i-x):w}function y(S){var b=S-l,x=S-u;return l===void 0||b>=e||b<0||h&&x>=i}function p(){var S=wn();if(y(S))return E(S);o=setTimeout(p,g(S))}function E(S){return o=void 0,c&&a?v(S):(a=n=void 0,s)}function m(){o!==void 0&&clearTimeout(o),u=0,a=l=n=o=void 0}function T(){return o===void 0?s:E(wn())}function C(){var S=wn(),b=y(S);if(a=arguments,n=this,l=S,b){if(o===void 0)return d(l);if(h)return clearTimeout(o),o=setTimeout(p,e),v(l)}return o===void 0&&(o=setTimeout(p,e)),s}return C.cancel=m,C.flush=T,C}var Hu=Yu;const en=Or(Hu);var Hs={exports:{}};(function(t,e){(function(){var r,a,n,i,s,o,l,u,f,h,c,v,d,g,y;n=Math.floor,h=Math.min,a=function(p,E){return pE?1:0},f=function(p,E,m,T,C){var S;if(m==null&&(m=0),C==null&&(C=a),m<0)throw new Error("lo must be non-negative");for(T==null&&(T=p.length);mD;0<=D?w++:w--)x.push(w);return x}).apply(this).reverse(),b=[],T=0,C=S.length;TA;0<=A?++x:--x)L.push(s(p,m));return L},g=function(p,E,m,T){var C,S,b;for(T==null&&(T=a),C=p[m];m>E;){if(b=m-1>>1,S=p[b],T(C,S)<0){p[m]=S,m=b;continue}break}return p[m]=C},y=function(p,E,m){var T,C,S,b,x;for(m==null&&(m=a),C=p.length,x=E,S=p[E],T=2*E+1;T-1}var Dh=Ch,Sh=an;function Lh(t,e){var r=this.__data__,a=Sh(r,t);return a<0?(++this.size,r.push([t,e])):r[a][1]=e,this}var Ah=Lh,Oh=hh,Nh=bh,Mh=xh,Ih=Dh,Rh=Ah;function Mr(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&tt.length)&&(e=t.length);for(var r=0,a=new Array(e);r"u"?null:window,Vi=Be?Be.navigator:null;Be&&Be.document;var Ic=_e(""),eo=_e({}),Rc=_e(function(){}),kc=typeof HTMLElement>"u"?"undefined":_e(HTMLElement),da=function(e){return e&&e.instanceString&&Fe(e.instanceString)?e.instanceString():null},ue=function(e){return e!=null&&_e(e)==Ic},Fe=function(e){return e!=null&&_e(e)===Rc},Ie=function(e){return!ft(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},Te=function(e){return e!=null&&_e(e)===eo&&!Ie(e)&&e.constructor===Object},Pc=function(e){return e!=null&&_e(e)===eo},ae=function(e){return e!=null&&_e(e)===_e(1)&&!isNaN(e)},Bc=function(e){return ae(e)&&Math.floor(e)===e},Ya=function(e){if(kc!=="undefined")return e!=null&&e instanceof HTMLElement},ft=function(e){return ga(e)||to(e)},ga=function(e){return da(e)==="collection"&&e._private.single},to=function(e){return da(e)==="collection"&&!e._private.single},ti=function(e){return da(e)==="core"},ro=function(e){return da(e)==="stylesheet"},Fc=function(e){return da(e)==="event"},Yt=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},Gc=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},zc=function(e){return Te(e)&&ae(e.x1)&&ae(e.x2)&&ae(e.y1)&&ae(e.y2)},$c=function(e){return Pc(e)&&Fe(e.then)},Vc=function(){return Vi&&Vi.userAgent.match(/msie|trident|edge/i)},ea=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var i=[],s=0;sr?1:0},Wc=function(e,r){return-1*no(e,r)},ce=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(y-=1),y<1/6?d+(g-d)*6*y:y<1/2?g:y<2/3?d+(g-d)*(2/3-y)*6:d}var h=new RegExp("^"+Yc+"$").exec(e);if(h){if(a=parseInt(h[1]),a<0?a=(360- -1*a%360)%360:a>360&&(a=a%360),a/=360,n=parseFloat(h[2]),n<0||n>100||(n=n/100,i=parseFloat(h[3]),i<0||i>100)||(i=i/100,s=h[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(n===0)o=l=u=Math.round(i*255);else{var c=i<.5?i*(1+n):i+n-i*n,v=2*i-c;o=Math.round(255*f(v,c,a+1/3)),l=Math.round(255*f(v,c,a)),u=Math.round(255*f(v,c,a-1/3))}r=[o,l,u,s]}return r},Qc=function(e){var r,a=new RegExp("^"+_c+"$").exec(e);if(a){r=[];for(var n=[],i=1;i<=3;i++){var s=a[i];if(s[s.length-1]==="%"&&(n[i]=!0),s=parseFloat(s),n[i]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=n[1]||n[2]||n[3],l=n[1]&&n[2]&&n[3];if(o&&!l)return;var u=a[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;r.push(u)}}return r},Jc=function(e){return ed[e.toLowerCase()]},jc=function(e){return(Ie(e)?e:null)||Jc(e)||Kc(e)||Qc(e)||Zc(e)},ed={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},io=function(e){for(var r=e.map,a=e.keys,n=a.length,i=0;i1&&arguments[1]!==void 0?arguments[1]:br,a=r,n;n=e.next(),!n.done;)a=a*lo+n.value|0;return a},ta=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:br;return r*lo+e|0},ra=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qr;return(r<<5)+r+e|0},rd=function(e,r){return e*2097152+r},Ft=function(e){return e[0]*2097152+e[1]},Da=function(e,r){return[ta(e[0],r[0]),ra(e[1],r[1])]},ad=function(e,r){var a={value:0,done:!1},n=0,i=e.length,s={next:function(){return n=0&&!(e[n]===r&&(e.splice(n,1),a));n--);},ii=function(e){e.splice(0,e.length)},fd=function(e,r){for(var a=0;a"u"?"undefined":_e(Set))!==vd?Set:cd,on=function(e,r){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!ti(e)){ze("An element must have a core reference and parameters set");return}var n=r.group;if(n==null&&(r.data&&r.data.source!=null&&r.data.target!=null?n="edges":n="nodes"),n!=="nodes"&&n!=="edges"){ze("An element must be of type `nodes` or `edges`; you specified `"+n+"`");return}this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:n,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?n==="edges":!!r.pannable,active:!1,classes:new Rr,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(i.position.x==null&&(i.position.x=0),i.position.y==null&&(i.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),l=e.zoom();i.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];Ie(r.classes)?u=r.classes:ue(r.classes)&&(u=r.classes.split(/\s+/));for(var f=0,h=u.length;f0;){var S=E.pop(),b=y(S),x=S.id();if(c[x]=b,b!==1/0)for(var w=S.neighborhood().intersect(d),D=0;D0)for(R.unshift(k);h[z];){var F=h[z];R.unshift(F.edge),R.unshift(F.node),B=F.node,z=B.id()}return o.spawn(R)}}}},pd={kruskal:function(e){e=e||function(m){return 1};for(var r=this.byGroup(),a=r.nodes,n=r.edges,i=a.length,s=new Array(i),o=a,l=function(T){for(var C=0;C0;){if(C(),b++,T===f){for(var x=[],w=i,D=f,A=p[D];x.unshift(w),A!=null&&x.unshift(A),w=y[D],w!=null;)D=w.id(),A=p[D];return{found:!0,distance:h[T],path:this.spawn(x),steps:b}}v[T]=!0;for(var L=m._private.edges,N=0;NA&&(d[D]=A,E[D]=w,m[D]=C),!i){var L=w*f+x;!i&&d[L]>A&&(d[L]=A,E[L]=x,m[L]=C)}}}for(var N=0;N1&&arguments[1]!==void 0?arguments[1]:s,Ee=m(ne),ge=[],ve=Ee;;){if(ve==null)return r.spawn();var J=E(ve),M=J.edge,_=J.pred;if(ge.unshift(ve[0]),ve.same(le)&&ge.length>0)break;M!=null&&ge.unshift(M),ve=_}return l.spawn(ge)},S=0;S=0;f--){var h=u[f],c=h[1],v=h[2];(r[c]===o&&r[v]===l||r[c]===l&&r[v]===o)&&u.splice(f,1)}for(var d=0;dn;){var i=Math.floor(Math.random()*r.length);r=Cd(i,e,r),a--}return r},Dd={kargerStein:function(){var e=this,r=this.byGroup(),a=r.nodes,n=r.edges;n.unmergeBy(function(R){return R.isLoop()});var i=a.length,s=n.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),l=Math.floor(i/Td);if(i<2){ze("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],f=0;f1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=1/0,i=r;i1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=-1/0,i=r;i1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=0,i=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;n?e=e.slice(r,a):(a0&&e.splice(0,r));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}i&&e.sort(function(c,v){return c-v});var f=e.length,h=Math.floor(f/2);return f%2!==0?e[h+1+o]:(e[h-1+o]+e[h+o])/2},Md=function(e){return Math.PI*e/180},Sa=function(e,r){return Math.atan2(r,e)-Math.PI/2},si=Math.log2||function(t){return Math.log(t)/Math.log(2)},yo=function(e){return e>0?1:e<0?-1:0},nr=function(e,r){return Math.sqrt(er(e,r))},er=function(e,r){var a=r.x-e.x,n=r.y-e.y;return a*a+n*n},Id=function(e){for(var r=e.length,a=0,n=0;n=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},kd=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},Pd=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},Bd=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},Fd=function(e,r,a){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,a),e.y2=Math.max(e.y2,a),e.h=e.y2-e.y1},Fa=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Dn=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],a,n,i,s;if(r.length===1)a=n=i=s=r[0];else if(r.length===2)a=i=r[0],s=n=r[1];else if(r.length===4){var o=Nt(r,4);a=o[0],n=o[1],i=o[2],s=o[3]}return e.x1-=s,e.x2+=n,e.y1-=a,e.y2+=i,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Xi=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},oi=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},Sr=function(e,r,a){return e.x1<=r&&r<=e.x2&&e.y1<=a&&a<=e.y2},Gd=function(e,r){return Sr(e,r.x,r.y)},mo=function(e,r){return Sr(e,r.x1,r.y1)&&Sr(e,r.x2,r.y2)},bo=function(e,r,a,n,i,s,o){var l=pa(i,s),u=i/2,f=s/2,h;{var c=a-u+l-o,v=n-f-o,d=a+u-l+o,g=v;if(h=Vt(e,r,a,n,c,v,d,g,!1),h.length>0)return h}{var y=a+u+o,p=n-f+l-o,E=y,m=n+f-l+o;if(h=Vt(e,r,a,n,y,p,E,m,!1),h.length>0)return h}{var T=a-u+l-o,C=n+f+o,S=a+u-l+o,b=C;if(h=Vt(e,r,a,n,T,C,S,b,!1),h.length>0)return h}{var x=a-u-o,w=n-f+l-o,D=x,A=n+f-l+o;if(h=Vt(e,r,a,n,x,w,D,A,!1),h.length>0)return h}var L;{var N=a-u+l,O=n-f+l;if(L=Wr(e,r,a,n,N,O,l+o),L.length>0&&L[0]<=N&&L[1]<=O)return[L[0],L[1]]}{var P=a+u-l,I=n-f+l;if(L=Wr(e,r,a,n,P,I,l+o),L.length>0&&L[0]>=P&&L[1]<=I)return[L[0],L[1]]}{var k=a+u-l,R=n+f-l;if(L=Wr(e,r,a,n,k,R,l+o),L.length>0&&L[0]>=k&&L[1]>=R)return[L[0],L[1]]}{var B=a-u+l,z=n+f-l;if(L=Wr(e,r,a,n,B,z,l+o),L.length>0&&L[0]<=B&&L[1]>=z)return[L[0],L[1]]}return[]},zd=function(e,r,a,n,i,s,o){var l=o,u=Math.min(a,i),f=Math.max(a,i),h=Math.min(n,s),c=Math.max(n,s);return u-l<=e&&e<=f+l&&h-l<=r&&r<=c+l},$d=function(e,r,a,n,i,s,o,l,u){var f={x1:Math.min(a,o,i)-u,x2:Math.max(a,o,i)+u,y1:Math.min(n,l,s)-u,y2:Math.max(n,l,s)+u};return!(ef.x2||rf.y2)},Vd=function(e,r,a,n){a-=n;var i=r*r-4*e*a;if(i<0)return[];var s=Math.sqrt(i),o=2*e,l=(-r+s)/o,u=(-r-s)/o;return[l,u]},_d=function(e,r,a,n,i){var s=1e-5;e===0&&(e=s),r/=e,a/=e,n/=e;var o,l,u,f,h,c,v,d;if(l=(3*a-r*r)/9,u=-(27*n)+r*(9*a-2*(r*r)),u/=54,o=l*l*l+u*u,i[1]=0,v=r/3,o>0){h=u+Math.sqrt(o),h=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),c=u-Math.sqrt(o),c=c<0?-Math.pow(-c,1/3):Math.pow(c,1/3),i[0]=-v+h+c,v+=(h+c)/2,i[4]=i[2]=-v,v=Math.sqrt(3)*(-c+h)/2,i[3]=v,i[5]=-v;return}if(i[5]=i[3]=0,o===0){d=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),i[0]=-v+2*d,i[4]=i[2]=-(d+v);return}l=-l,f=l*l*l,f=Math.acos(u/Math.sqrt(f)),d=2*Math.sqrt(l),i[0]=-v+d*Math.cos(f/3),i[2]=-v+d*Math.cos((f+2*Math.PI)/3),i[4]=-v+d*Math.cos((f+4*Math.PI)/3)},Ud=function(e,r,a,n,i,s,o,l){var u=1*a*a-4*a*i+2*a*o+4*i*i-4*i*o+o*o+n*n-4*n*s+2*n*l+4*s*s-4*s*l+l*l,f=1*9*a*i-3*a*a-3*a*o-6*i*i+3*i*o+9*n*s-3*n*n-3*n*l-6*s*s+3*s*l,h=1*3*a*a-6*a*i+a*o-a*e+2*i*i+2*i*e-o*e+3*n*n-6*n*s+n*l-n*r+2*s*s+2*s*r-l*r,c=1*a*i-a*a+a*e-i*e+n*s-n*n+n*r-s*r,v=[];_d(u,f,h,c,v);for(var d=1e-7,g=[],y=0;y<6;y+=2)Math.abs(v[y+1])=0&&v[y]<=1&&g.push(v[y]);g.push(1),g.push(0);for(var p=-1,E,m,T,C=0;C=0?Tu?(e-i)*(e-i)+(r-s)*(r-s):f-c},lt=function(e,r,a){for(var n,i,s,o,l,u=0,f=0;f=e&&e>=s||n<=e&&e<=s)l=(e-n)/(s-n)*(o-i)+i,l>r&&u++;else continue;return u%2!==0},It=function(e,r,a,n,i,s,o,l,u){var f=new Array(a.length),h;l[0]!=null?(h=Math.atan(l[1]/l[0]),l[0]<0?h=h+Math.PI/2:h=-h-Math.PI/2):h=l;for(var c=Math.cos(-h),v=Math.sin(-h),d=0;d0){var y=wo(f,-u);g=Eo(y)}else g=f;return lt(e,r,g)},Hd=function(e,r,a,n,i,s,o){for(var l=new Array(a.length),u=s/2,f=o/2,h=li(s,o),c=h*h,v=0;v=0&&y<=1&&E.push(y),p>=0&&p<=1&&E.push(p),E.length===0)return[];var m=E[0]*l[0]+e,T=E[0]*l[1]+r;if(E.length>1){if(E[0]==E[1])return[m,T];var C=E[1]*l[0]+e,S=E[1]*l[1]+r;return[m,T,C,S]}else return[m,T]},Sn=function(e,r,a){return r<=e&&e<=a||a<=e&&e<=r?e:e<=r&&r<=a||a<=r&&r<=e?r:a},Vt=function(e,r,a,n,i,s,o,l,u){var f=e-i,h=a-e,c=o-i,v=r-s,d=n-r,g=l-s,y=c*v-g*f,p=h*v-d*f,E=g*h-c*d;if(E!==0){var m=y/E,T=p/E,C=.001,S=0-C,b=1+C;return S<=m&&m<=b&&S<=T&&T<=b?[e+m*h,r+m*d]:u?[e+m*h,r+m*d]:[]}else return y===0||p===0?Sn(e,a,o)===o?[o,l]:Sn(e,a,i)===i?[i,s]:Sn(i,o,a)===a?[a,n]:[]:[]},ia=function(e,r,a,n,i,s,o,l){var u=[],f,h=new Array(a.length),c=!0;s==null&&(c=!1);var v;if(c){for(var d=0;d0){var g=wo(h,-l);v=Eo(g)}else v=h}else v=a;for(var y,p,E,m,T=0;T2){for(var I=[u[0],u[1]],k=Math.pow(I[0]-e,2)+Math.pow(I[1]-r,2),R=1;Rf&&(f=T)},get:function(m){return u[m]}},c=0;c0?I=P.edgesTo(O)[0]:I=O.edgesTo(P)[0];var k=n(I);O=O.id(),x[O]>x[L]+k&&(x[O]=x[L]+k,w.nodes.indexOf(O)<0?w.push(O):w.updateItem(O),b[O]=0,S[O]=[]),x[O]==x[L]+k&&(b[O]=b[O]+b[L],S[O].push(L))}else for(var R=0;R0;){for(var $=C.pop(),U=0;U0&&o.push(a[l]);o.length!==0&&i.push(n.collection(o))}return i},og=function(e,r){for(var a=0;a5&&arguments[5]!==void 0?arguments[5]:fg,o=n,l,u,f=0;f=2?Ur(e,r,a,0,Qi,hg):Ur(e,r,a,0,Zi)},squaredEuclidean:function(e,r,a){return Ur(e,r,a,0,Qi)},manhattan:function(e,r,a){return Ur(e,r,a,0,Zi)},max:function(e,r,a){return Ur(e,r,a,-1/0,vg)}};Lr["squared-euclidean"]=Lr.squaredEuclidean;Lr.squaredeuclidean=Lr.squaredEuclidean;function un(t,e,r,a,n,i){var s;return Fe(t)?s=t:s=Lr[t]||Lr.euclidean,e===0&&Fe(t)?s(n,i):s(e,r,a,n,i)}var cg=Ze({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),ui=function(e){return cg(e)},qa=function(e,r,a,n,i){var s=i!=="kMedoids",o=s?function(h){return a[h]}:function(h){return n[h](a)},l=function(c){return n[c](r)},u=a,f=r;return un(e,n.length,o,l,u,f)},Ln=function(e,r,a){for(var n=a.length,i=new Array(n),s=new Array(n),o=new Array(r),l=null,u=0;ua)return!1}return!0},pg=function(e,r,a){for(var n=0;no&&(o=r[u][f],l=f);i[l].push(e[u])}for(var h=0;h=i.threshold||i.mode==="dendrogram"&&e.length===1)return!1;var d=r[s],g=r[n[s]],y;i.mode==="dendrogram"?y={left:d,right:g,key:d.key}:y={value:d.value.concat(g.value),key:d.key},e[d.index]=y,e.splice(g.index,1),r[d.key]=y;for(var p=0;pa[g.key][E.key]&&(l=a[g.key][E.key])):i.linkage==="max"?(l=a[d.key][E.key],a[d.key][E.key]0&&n.push(i);return n},as=function(e,r,a){for(var n=[],i=0;io&&(s=u,o=r[i*e+u])}s>0&&n.push(s)}for(var f=0;fu&&(l=f,u=h)}a[i]=s[l]}return n=as(e,r,a),n},ns=function(e){for(var r=this.cy(),a=this.nodes(),n=Ng(e),i={},s=0;s=A?(L=A,A=O,N=P):O>L&&(L=O);for(var I=0;I0?1:0;b[w%n.minIterations*o+$]=U,F+=U}if(F>0&&(w>=n.minIterations-1||w==n.maxIterations-1)){for(var V=0,H=0;H1||S>1)&&(o=!0),h[m]=[],E.outgoers().forEach(function(x){x.isEdge()&&h[m].push(x.id())})}else c[m]=[void 0,E.target().id()]}):s.forEach(function(E){var m=E.id();if(E.isNode()){var T=E.degree(!0);T%2&&(l?u?o=!0:u=m:l=m),h[m]=[],E.connectedEdges().forEach(function(C){return h[m].push(C.id())})}else c[m]=[E.source().id(),E.target().id()]});var v={found:!1,trail:void 0};if(o)return v;if(u&&l)if(i){if(f&&u!=f)return v;f=u}else{if(f&&u!=f&&l!=f)return v;f||(f=u)}else f||(f=s[0].id());var d=function(m){for(var T=m,C=[m],S,b,x;h[T].length;)S=h[T].shift(),b=c[S][0],x=c[S][1],T!=x?(h[x]=h[x].filter(function(w){return w!=S}),T=x):!i&&T!=b&&(h[b]=h[b].filter(function(w){return w!=S}),T=b),C.unshift(S),C.unshift(T);return C},g=[],y=[];for(y=d(f);y.length!=1;)h[y[0]].length==0?(g.unshift(s.getElementById(y.shift())),g.unshift(s.getElementById(y.shift()))):y=d(y.shift()).concat(y);g.unshift(s.getElementById(y.shift()));for(var p in h)if(h[p].length)return v;return v.found=!0,v.trail=this.spawn(g,!0),v}},Oa=function(){var e=this,r={},a=0,n=0,i=[],s=[],o={},l=function(c,v){for(var d=s.length-1,g=[],y=e.spawn();s[d].x!=c||s[d].y!=v;)g.push(s.pop().edge),d--;g.push(s.pop().edge),g.forEach(function(p){var E=p.connectedNodes().intersection(e);y.merge(p),E.forEach(function(m){var T=m.id(),C=m.connectedEdges().intersection(e);y.merge(m),r[T].cutVertex?y.merge(C.filter(function(S){return S.isLoop()})):y.merge(C)})}),i.push(y)},u=function h(c,v,d){c===d&&(n+=1),r[v]={id:a,low:a++,cutVertex:!1};var g=e.getElementById(v).connectedEdges().intersection(e);if(g.size()===0)i.push(e.spawn(e.getElementById(v)));else{var y,p,E,m;g.forEach(function(T){y=T.source().id(),p=T.target().id(),E=y===v?p:y,E!==d&&(m=T.id(),o[m]||(o[m]=!0,s.push({x:v,y:E,edge:T})),E in r?r[v].low=Math.min(r[v].low,r[E].id):(h(c,E,v),r[v].low=Math.min(r[v].low,r[E].low),r[v].id<=r[E].low&&(r[v].cutVertex=!0,l(v,E))))})}};e.forEach(function(h){if(h.isNode()){var c=h.id();c in r||(n=0,u(c,c),r[c].cutVertex=n>1)}});var f=Object.keys(r).filter(function(h){return r[h].cutVertex}).map(function(h){return e.getElementById(h)});return{cut:e.spawn(f),components:i}},Gg={hopcroftTarjanBiconnected:Oa,htbc:Oa,htb:Oa,hopcroftTarjanBiconnectedComponents:Oa},Na=function(){var e=this,r={},a=0,n=[],i=[],s=e.spawn(e),o=function l(u){i.push(u),r[u]={index:a,low:a++,explored:!1};var f=e.getElementById(u).connectedEdges().intersection(e);if(f.forEach(function(g){var y=g.target().id();y!==u&&(y in r||l(y),r[y].explored||(r[u].low=Math.min(r[u].low,r[y].low)))}),r[u].index===r[u].low){for(var h=e.spawn();;){var c=i.pop();if(h.merge(e.getElementById(c)),r[c].low=r[u].index,r[c].explored=!0,c===u)break}var v=h.edgesWith(h),d=h.merge(v);n.push(d),s=s.difference(d)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in r||o(u)}}),{cut:s,components:n}},zg={tarjanStronglyConnected:Na,tsc:Na,tscc:Na,tarjanStronglyConnectedComponents:Na},Ao={};[aa,gd,pd,md,Ed,xd,Dd,Zd,Tr,Cr,Gn,ug,xg,Ag,Pg,Fg,Gg,zg].forEach(function(t){ce(Ao,t)});/*! -Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable -Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) -Licensed under The MIT License (http://opensource.org/licenses/MIT) -*/var Oo=0,No=1,Mo=2,Rt=function t(e){if(!(this instanceof t))return new t(e);this.id="Thenable/1.0.7",this.state=Oo,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};Rt.prototype={fulfill:function(e){return is(this,No,"fulfillValue",e)},reject:function(e){return is(this,Mo,"rejectReason",e)},then:function(e,r){var a=this,n=new Rt;return a.onFulfilled.push(os(e,n,"fulfill")),a.onRejected.push(os(r,n,"reject")),Io(a),n.proxy}};var is=function(e,r,a,n){return e.state===Oo&&(e.state=r,e[a]=n,Io(e)),e},Io=function(e){e.state===No?ss(e,"onFulfilled",e.fulfillValue):e.state===Mo&&ss(e,"onRejected",e.rejectReason)},ss=function(e,r,a){if(e[r].length!==0){var n=e[r];e[r]=[];var i=function(){for(var o=0;o0}},clearQueue:function(){return function(){var r=this,a=r.length!==void 0,n=a?r:[r],i=this._private.cy||this;if(!i.styleEnabled())return this;for(var s=0;s0&&this.spawn(n).updateStyle().emit("class"),r},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},toggleClass:function(e,r){Ie(e)||(e=e.match(/\S+/g)||[]);for(var a=this,n=r===void 0,i=[],s=0,o=a.length;s0&&this.spawn(i).updateStyle().emit("class"),a},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,r){var a=this;if(r==null)r=250;else if(r===0)return a;return a.addClass(e),setTimeout(function(){a.removeClass(e)},r),a}};Ga.className=Ga.classNames=Ga.classes;var xe={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Ve,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};xe.variable="(?:[\\w-.]|(?:\\\\"+xe.metaChar+"))+";xe.className="(?:[\\w-]|(?:\\\\"+xe.metaChar+"))+";xe.value=xe.string+"|"+xe.number;xe.id=xe.variable;(function(){var t,e,r;for(t=xe.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(xe.comparatorOp+="|\\!"+e)})();var Ne=function(){return{checks:[]}},ie={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},$n=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(t,e){return Wc(t.selector,e.selector)}),Hg=function(){for(var t={},e,r=0;r<$n.length;r++)e=$n[r],t[e.selector]=e.matches;return t}(),Xg=function(e,r){return Hg[e](r)},qg="("+$n.map(function(t){return t.selector}).join("|")+")",dr=function(e){return e.replace(new RegExp("\\\\("+xe.metaChar+")","g"),function(r,a){return a})},Gt=function(e,r,a){e[e.length-1]=a},Vn=[{name:"group",query:!0,regex:"("+xe.group+")",populate:function(e,r,a){var n=Nt(a,1),i=n[0];r.checks.push({type:ie.GROUP,value:i==="*"?i:i+"s"})}},{name:"state",query:!0,regex:qg,populate:function(e,r,a){var n=Nt(a,1),i=n[0];r.checks.push({type:ie.STATE,value:i})}},{name:"id",query:!0,regex:"\\#("+xe.id+")",populate:function(e,r,a){var n=Nt(a,1),i=n[0];r.checks.push({type:ie.ID,value:dr(i)})}},{name:"className",query:!0,regex:"\\.("+xe.className+")",populate:function(e,r,a){var n=Nt(a,1),i=n[0];r.checks.push({type:ie.CLASS,value:dr(i)})}},{name:"dataExists",query:!0,regex:"\\[\\s*("+xe.variable+")\\s*\\]",populate:function(e,r,a){var n=Nt(a,1),i=n[0];r.checks.push({type:ie.DATA_EXIST,field:dr(i)})}},{name:"dataCompare",query:!0,regex:"\\[\\s*("+xe.variable+")\\s*("+xe.comparatorOp+")\\s*("+xe.value+")\\s*\\]",populate:function(e,r,a){var n=Nt(a,3),i=n[0],s=n[1],o=n[2],l=new RegExp("^"+xe.string+"$").exec(o)!=null;l?o=o.substring(1,o.length-1):o=parseFloat(o),r.checks.push({type:ie.DATA_COMPARE,field:dr(i),operator:s,value:o})}},{name:"dataBool",query:!0,regex:"\\[\\s*("+xe.boolOp+")\\s*("+xe.variable+")\\s*\\]",populate:function(e,r,a){var n=Nt(a,2),i=n[0],s=n[1];r.checks.push({type:ie.DATA_BOOL,field:dr(s),operator:i})}},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+xe.meta+")\\s*("+xe.comparatorOp+")\\s*("+xe.number+")\\s*\\]\\]",populate:function(e,r,a){var n=Nt(a,3),i=n[0],s=n[1],o=n[2];r.checks.push({type:ie.META_COMPARE,field:dr(i),operator:s,value:parseFloat(o)})}},{name:"nextQuery",separator:!0,regex:xe.separator,populate:function(e,r){var a=e.currentSubject,n=e.edgeCount,i=e.compoundCount,s=e[e.length-1];a!=null&&(s.subject=a,e.currentSubject=null),s.edgeCount=n,s.compoundCount=i,e.edgeCount=0,e.compoundCount=0;var o=e[e.length++]=Ne();return o}},{name:"directedEdge",separator:!0,regex:xe.directedEdge,populate:function(e,r){if(e.currentSubject==null){var a=Ne(),n=r,i=Ne();return a.checks.push({type:ie.DIRECTED_EDGE,source:n,target:i}),Gt(e,r,a),e.edgeCount++,i}else{var s=Ne(),o=r,l=Ne();return s.checks.push({type:ie.NODE_SOURCE,source:o,target:l}),Gt(e,r,s),e.edgeCount++,l}}},{name:"undirectedEdge",separator:!0,regex:xe.undirectedEdge,populate:function(e,r){if(e.currentSubject==null){var a=Ne(),n=r,i=Ne();return a.checks.push({type:ie.UNDIRECTED_EDGE,nodes:[n,i]}),Gt(e,r,a),e.edgeCount++,i}else{var s=Ne(),o=r,l=Ne();return s.checks.push({type:ie.NODE_NEIGHBOR,node:o,neighbor:l}),Gt(e,r,s),l}}},{name:"child",separator:!0,regex:xe.child,populate:function(e,r){if(e.currentSubject==null){var a=Ne(),n=Ne(),i=e[e.length-1];return a.checks.push({type:ie.CHILD,parent:i,child:n}),Gt(e,r,a),e.compoundCount++,n}else if(e.currentSubject===r){var s=Ne(),o=e[e.length-1],l=Ne(),u=Ne(),f=Ne(),h=Ne();return s.checks.push({type:ie.COMPOUND_SPLIT,left:o,right:l,subject:u}),u.checks=r.checks,r.checks=[{type:ie.TRUE}],h.checks.push({type:ie.TRUE}),l.checks.push({type:ie.PARENT,parent:h,child:f}),Gt(e,o,s),e.currentSubject=u,e.compoundCount++,f}else{var c=Ne(),v=Ne(),d=[{type:ie.PARENT,parent:c,child:v}];return c.checks=r.checks,r.checks=d,e.compoundCount++,v}}},{name:"descendant",separator:!0,regex:xe.descendant,populate:function(e,r){if(e.currentSubject==null){var a=Ne(),n=Ne(),i=e[e.length-1];return a.checks.push({type:ie.DESCENDANT,ancestor:i,descendant:n}),Gt(e,r,a),e.compoundCount++,n}else if(e.currentSubject===r){var s=Ne(),o=e[e.length-1],l=Ne(),u=Ne(),f=Ne(),h=Ne();return s.checks.push({type:ie.COMPOUND_SPLIT,left:o,right:l,subject:u}),u.checks=r.checks,r.checks=[{type:ie.TRUE}],h.checks.push({type:ie.TRUE}),l.checks.push({type:ie.ANCESTOR,ancestor:h,descendant:f}),Gt(e,o,s),e.currentSubject=u,e.compoundCount++,f}else{var c=Ne(),v=Ne(),d=[{type:ie.ANCESTOR,ancestor:c,descendant:v}];return c.checks=r.checks,r.checks=d,e.compoundCount++,v}}},{name:"subject",modifier:!0,regex:xe.subject,populate:function(e,r){if(e.currentSubject!=null&&e.currentSubject!==r)return Ae("Redefinition of subject in selector `"+e.toString()+"`"),!1;e.currentSubject=r;var a=e[e.length-1],n=a.checks[0],i=n==null?null:n.type;i===ie.DIRECTED_EDGE?n.type=ie.NODE_TARGET:i===ie.UNDIRECTED_EDGE&&(n.type=ie.NODE_NEIGHBOR,n.node=n.nodes[1],n.neighbor=n.nodes[0],n.nodes=null)}}];Vn.forEach(function(t){return t.regexObj=new RegExp("^"+t.regex)});var Wg=function(e){for(var r,a,n,i=0;i0&&f.edgeCount>0)return Ae("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(f.edgeCount>1)return Ae("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;f.edgeCount===1&&Ae("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},Qg=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(f){return f??""},r=function(f){return ue(f)?'"'+f+'"':e(f)},a=function(f){return" "+f+" "},n=function(f,h){var c=f.type,v=f.value;switch(c){case ie.GROUP:{var d=e(v);return d.substring(0,d.length-1)}case ie.DATA_COMPARE:{var g=f.field,y=f.operator;return"["+g+a(e(y))+r(v)+"]"}case ie.DATA_BOOL:{var p=f.operator,E=f.field;return"["+e(p)+E+"]"}case ie.DATA_EXIST:{var m=f.field;return"["+m+"]"}case ie.META_COMPARE:{var T=f.operator,C=f.field;return"[["+C+a(e(T))+r(v)+"]]"}case ie.STATE:return v;case ie.ID:return"#"+v;case ie.CLASS:return"."+v;case ie.PARENT:case ie.CHILD:return i(f.parent,h)+a(">")+i(f.child,h);case ie.ANCESTOR:case ie.DESCENDANT:return i(f.ancestor,h)+" "+i(f.descendant,h);case ie.COMPOUND_SPLIT:{var S=i(f.left,h),b=i(f.subject,h),x=i(f.right,h);return S+(S.length>0?" ":"")+b+x}case ie.TRUE:return""}},i=function(f,h){return f.checks.reduce(function(c,v,d){return c+(h===f&&d===0?"$":"")+n(v,h)},"")},s="",o=0;o1&&o=0&&(r=r.replace("!",""),h=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),f=!0),(i||o||f)&&(l=!i&&!s?"":""+e,u=""+a),f&&(e=l=l.toLowerCase(),a=u=u.toLowerCase()),r){case"*=":n=l.indexOf(u)>=0;break;case"$=":n=l.indexOf(u,l.length-u.length)>=0;break;case"^=":n=l.indexOf(u)===0;break;case"=":n=e===a;break;case">":c=!0,n=e>a;break;case">=":c=!0,n=e>=a;break;case"<":c=!0,n=e0;){var f=n.shift();e(f),i.add(f.id()),o&&a(n,i,f)}return t}function ko(t,e,r){if(r.isParent())for(var a=r._private.children,n=0;n1&&arguments[1]!==void 0?arguments[1]:!0;return hi(this,t,e,ko)};function Po(t,e,r){if(r.isChild()){var a=r._private.parent;e.has(a.id())||t.push(a)}}Ar.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return hi(this,t,e,Po)};function ip(t,e,r){Po(t,e,r),ko(t,e,r)}Ar.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return hi(this,t,e,ip)};Ar.ancestors=Ar.parents;var sa,Bo;sa=Bo={data:Le.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Le.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Le.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Le.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Le.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Le.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};sa.attr=sa.data;sa.removeAttr=sa.removeData;var sp=Bo,fn={};function An(t){return function(e){var r=this;if(e===void 0&&(e=!0),r.length!==0)if(r.isNode()&&!r.removed()){for(var a=0,n=r[0],i=n._private.edges,s=0;se}),minIndegree:gr("indegree",function(t,e){return te}),minOutdegree:gr("outdegree",function(t,e){return te})});ce(fn,{totalDegree:function(e){for(var r=0,a=this.nodes(),n=0;n0,c=h;h&&(f=f[0]);var v=c?f.position():{x:0,y:0};r!==void 0?u.position(e,r+v[e]):i!==void 0&&u.position({x:i.x+v.x,y:i.y+v.y})}else{var d=a.position(),g=o?a.parent():null,y=g&&g.length>0,p=y;y&&(g=g[0]);var E=p?g.position():{x:0,y:0};return i={x:d.x-E.x,y:d.y-E.y},e===void 0?i:i[e]}else if(!s)return;return this}};xt.modelPosition=xt.point=xt.position;xt.modelPositions=xt.points=xt.positions;xt.renderedPoint=xt.renderedPosition;xt.relativePoint=xt.relativePosition;var op=Fo,Dr,Zt;Dr=Zt={};Zt.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),a=r.zoom(),n=r.pan(),i=e.x1*a+n.x,s=e.x2*a+n.x,o=e.y1*a+n.y,l=e.y2*a+n.y;return{x1:i,x2:s,y1:o,y2:l,w:s-i,h:l-o}};Zt.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var a=r._private;a.compoundBoundsClean=!1,a.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Zt.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var o=s._private,l=s.children(),u=s.pstyle("compound-sizing-wrt-labels").value==="include",f={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},h=l.boundingBox({includeLabels:u,includeOverlays:!1,useCache:!1}),c=o.position;(h.w===0||h.h===0)&&(h={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},h.x1=c.x-h.w/2,h.x2=c.x+h.w/2,h.y1=c.y-h.h/2,h.y2=c.y+h.h/2);function v(w,D,A){var L=0,N=0,O=D+A;return w>0&&O>0&&(L=D/O*w,N=A/O*w),{biasDiff:L,biasComplementDiff:N}}function d(w,D,A,L){if(A.units==="%")switch(L){case"width":return w>0?A.pfValue*w:0;case"height":return D>0?A.pfValue*D:0;case"average":return w>0&&D>0?A.pfValue*(w+D)/2:0;case"min":return w>0&&D>0?w>D?A.pfValue*D:A.pfValue*w:0;case"max":return w>0&&D>0?w>D?A.pfValue*w:A.pfValue*D:0;default:return 0}else return A.units==="px"?A.pfValue:0}var g=f.width.left.value;f.width.left.units==="px"&&f.width.val>0&&(g=g*100/f.width.val);var y=f.width.right.value;f.width.right.units==="px"&&f.width.val>0&&(y=y*100/f.width.val);var p=f.height.top.value;f.height.top.units==="px"&&f.height.val>0&&(p=p*100/f.height.val);var E=f.height.bottom.value;f.height.bottom.units==="px"&&f.height.val>0&&(E=E*100/f.height.val);var m=v(f.width.val-h.w,g,y),T=m.biasDiff,C=m.biasComplementDiff,S=v(f.height.val-h.h,p,E),b=S.biasDiff,x=S.biasComplementDiff;o.autoPadding=d(h.w,h.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(h.w,f.width.val),c.x=(-T+h.x1+h.x2+C)/2,o.autoHeight=Math.max(h.h,f.height.val),c.y=(-b+h.y1+h.y2+x)/2}for(var a=0;ae.x2?n:e.x2,e.y1=ae.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},tr=function(e,r){return r==null?e:Et(e,r.x1,r.y1,r.x2,r.y2)},Yr=function(e,r,a){return wt(e,r,a)},Ma=function(e,r,a){if(!r.cy().headless()){var n=r._private,i=n.rstyle,s=i.arrowWidth/2,o=r.pstyle(a+"-arrow-shape").value,l,u;if(o!=="none"){a==="source"?(l=i.srcX,u=i.srcY):a==="target"?(l=i.tgtX,u=i.tgtY):(l=i.midX,u=i.midY);var f=n.arrowBounds=n.arrowBounds||{},h=f[a]=f[a]||{};h.x1=l-s,h.y1=u-s,h.x2=l+s,h.y2=u+s,h.w=h.x2-h.x1,h.h=h.y2-h.y1,Fa(h,1),Et(e,h.x1,h.y1,h.x2,h.y2)}}},On=function(e,r,a){if(!r.cy().headless()){var n;a?n=a+"-":n="";var i=r._private,s=i.rstyle,o=r.pstyle(n+"label").strValue;if(o){var l=r.pstyle("text-halign"),u=r.pstyle("text-valign"),f=Yr(s,"labelWidth",a),h=Yr(s,"labelHeight",a),c=Yr(s,"labelX",a),v=Yr(s,"labelY",a),d=r.pstyle(n+"text-margin-x").pfValue,g=r.pstyle(n+"text-margin-y").pfValue,y=r.isEdge(),p=r.pstyle(n+"text-rotation"),E=r.pstyle("text-outline-width").pfValue,m=r.pstyle("text-border-width").pfValue,T=m/2,C=r.pstyle("text-background-padding").pfValue,S=2,b=h,x=f,w=x/2,D=b/2,A,L,N,O;if(y)A=c-w,L=c+w,N=v-D,O=v+D;else{switch(l.value){case"left":A=c-x,L=c;break;case"center":A=c-w,L=c+w;break;case"right":A=c,L=c+x;break}switch(u.value){case"top":N=v-b,O=v;break;case"center":N=v-D,O=v+D;break;case"bottom":N=v,O=v+b;break}}A+=d-Math.max(E,T)-C-S,L+=d+Math.max(E,T)+C+S,N+=g-Math.max(E,T)-C-S,O+=g+Math.max(E,T)+C+S;var P=a||"main",I=i.labelBounds,k=I[P]=I[P]||{};k.x1=A,k.y1=N,k.x2=L,k.y2=O,k.w=L-A,k.h=O-N;var R=y&&p.strValue==="autorotate",B=p.pfValue!=null&&p.pfValue!==0;if(R||B){var z=R?Yr(i.rstyle,"labelAngle",a):p.pfValue,F=Math.cos(z),$=Math.sin(z),U=(A+L)/2,V=(N+O)/2;if(!y){switch(l.value){case"left":U=L;break;case"right":U=A;break}switch(u.value){case"top":V=O;break;case"bottom":V=N;break}}var H=function(de,ee){return de=de-U,ee=ee-V,{x:de*F-ee*$+U,y:de*$+ee*F+V}},Y=H(A,N),G=H(A,O),X=H(L,N),K=H(L,O);A=Math.min(Y.x,G.x,X.x,K.x),L=Math.max(Y.x,G.x,X.x,K.x),N=Math.min(Y.y,G.y,X.y,K.y),O=Math.max(Y.y,G.y,X.y,K.y)}var Z=P+"Rot",te=I[Z]=I[Z]||{};te.x1=A,te.y1=N,te.x2=L,te.y2=O,te.w=L-A,te.h=O-N,Et(e,A,N,L,O),Et(i.labelBounds.all,A,N,L,O)}return e}},lp=function(e,r){var a=e._private.cy,n=a.styleEnabled(),i=a.headless(),s=ut(),o=e._private,l=e.isNode(),u=e.isEdge(),f,h,c,v,d,g,y=o.rstyle,p=l&&n?e.pstyle("bounds-expansion").pfValue:[0],E=function(fe){return fe.pstyle("display").value!=="none"},m=!n||E(e)&&(!u||E(e.source())&&E(e.target()));if(m){var T=0,C=0;n&&r.includeOverlays&&(T=e.pstyle("overlay-opacity").value,T!==0&&(C=e.pstyle("overlay-padding").value));var S=0,b=0;n&&r.includeUnderlays&&(S=e.pstyle("underlay-opacity").value,S!==0&&(b=e.pstyle("underlay-padding").value));var x=Math.max(C,b),w=0,D=0;if(n&&(w=e.pstyle("width").pfValue,D=w/2),l&&r.includeNodes){var A=e.position();d=A.x,g=A.y;var L=e.outerWidth(),N=L/2,O=e.outerHeight(),P=O/2;f=d-N,h=d+N,c=g-P,v=g+P,Et(s,f,c,h,v)}else if(u&&r.includeEdges)if(n&&!i){var I=e.pstyle("curve-style").strValue;if(f=Math.min(y.srcX,y.midX,y.tgtX),h=Math.max(y.srcX,y.midX,y.tgtX),c=Math.min(y.srcY,y.midY,y.tgtY),v=Math.max(y.srcY,y.midY,y.tgtY),f-=D,h+=D,c-=D,v+=D,Et(s,f,c,h,v),I==="haystack"){var k=y.haystackPts;if(k&&k.length===2){if(f=k[0].x,c=k[0].y,h=k[1].x,v=k[1].y,f>h){var R=f;f=h,h=R}if(c>v){var B=c;c=v,v=B}Et(s,f-D,c-D,h+D,v+D)}}else if(I==="bezier"||I==="unbundled-bezier"||I==="segments"||I==="taxi"){var z;switch(I){case"bezier":case"unbundled-bezier":z=y.bezierPts;break;case"segments":case"taxi":z=y.linePts;break}if(z!=null)for(var F=0;Fh){var G=f;f=h,h=G}if(c>v){var X=c;c=v,v=X}f-=D,h+=D,c-=D,v+=D,Et(s,f,c,h,v)}if(n&&r.includeEdges&&u&&(Ma(s,e,"mid-source"),Ma(s,e,"mid-target"),Ma(s,e,"source"),Ma(s,e,"target")),n){var K=e.pstyle("ghost").value==="yes";if(K){var Z=e.pstyle("ghost-offset-x").pfValue,te=e.pstyle("ghost-offset-y").pfValue;Et(s,s.x1+Z,s.y1+te,s.x2+Z,s.y2+te)}}var he=o.bodyBounds=o.bodyBounds||{};Xi(he,s),Dn(he,p),Fa(he,1),n&&(f=s.x1,h=s.x2,c=s.y1,v=s.y2,Et(s,f-x,c-x,h+x,v+x));var de=o.overlayBounds=o.overlayBounds||{};Xi(de,s),Dn(de,p),Fa(de,1);var ee=o.labelBounds=o.labelBounds||{};ee.all!=null?Pd(ee.all):ee.all=ut(),n&&r.includeLabels&&(r.includeMainLabels&&On(s,e,null),u&&(r.includeSourceLabels&&On(s,e,"source"),r.includeTargetLabels&&On(s,e,"target")))}return s.x1=ct(s.x1),s.y1=ct(s.y1),s.x2=ct(s.x2),s.y2=ct(s.y2),s.w=ct(s.x2-s.x1),s.h=ct(s.y2-s.y1),s.w>0&&s.h>0&&m&&(Dn(s,p),Fa(s,1)),s},zo=function(e){var r=0,a=function(s){return(s?1:0)<0&&arguments[0]!==void 0?arguments[0]:Tp,e=arguments.length>1?arguments[1]:void 0,r=0;r=0;o--)s(o);return this};Wt.removeAllListeners=function(){return this.removeListener("*")};Wt.emit=Wt.trigger=function(t,e,r){var a=this.listeners,n=a.length;return this.emitting++,Ie(e)||(e=[e]),Cp(this,function(i,s){r!=null&&(a=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],n=a.length);for(var o=function(f){var h=a[f];if(h.type===s.type&&(!h.namespace||h.namespace===s.namespace||h.namespace===xp)&&i.eventMatches(i.context,h,s)){var c=[s];e!=null&&fd(c,e),i.beforeEmit(i.context,h,s),h.conf&&h.conf.one&&(i.listeners=i.listeners.filter(function(g){return g!==h}));var v=i.callbackContext(i.context,h,s),d=h.callback.apply(v,c);i.afterEmit(i.context,h,s),d===!1&&(s.stopPropagation(),s.preventDefault())}},l=0;l1&&!s){var o=this.length-1,l=this[o],u=l._private.data.id;this[o]=void 0,this[e]=l,i.set(u,{ele:l,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,a=e._private.data.id,n=r.map,i=n.get(a);if(!i)return this;var s=i.index;return this.unmergeAt(s),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&ue(e)){var a=e;e=r.mutableElements().filter(a)}for(var n=0;n=0;r--){var a=this[r];e(a)&&this.unmergeAt(r)}return this},map:function(e,r){for(var a=[],n=this,i=0;ia&&(a=l,n=o)}return{value:a,ele:n}},min:function(e,r){for(var a=1/0,n,i=this,s=0;s=0&&i"u"?"undefined":_e(Symbol))!=e&&_e(Symbol.iterator)!=e;r&&(Wa[Symbol.iterator]=function(){var a=this,n={value:void 0,done:!1},i=0,s=this.length;return js({next:function(){return i1&&arguments[1]!==void 0?arguments[1]:!0,a=this[0],n=a.cy();if(n.styleEnabled()&&a){this.cleanStyle();var i=a._private.style[e];return i??(r?n.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var a=r.pstyle(e);return a.pfValue!==void 0?a.pfValue:a.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var a=this[0];if(a)return r.style().getRenderedStyle(a,e)},style:function(e,r){var a=this.cy();if(!a.styleEnabled())return this;var n=!1,i=a.style();if(Te(e)){var s=e;i.applyBypass(this,s,n),this.emitAndNotify("style")}else if(ue(e))if(r===void 0){var o=this[0];return o?i.getStylePropertyValue(o,e):void 0}else i.applyBypass(this,e,r,n),this.emitAndNotify("style");else if(e===void 0){var l=this[0];return l?i.getRawStyle(l):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var a=!1,n=r.style(),i=this;if(e===void 0)for(var s=0;s0&&e.push(f[0]),e.push(o[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});et.neighbourhood=et.neighborhood;et.closedNeighbourhood=et.closedNeighborhood;et.openNeighbourhood=et.openNeighborhood;ce(et,{source:dt(function(e){var r=this[0],a;return r&&(a=r._private.source||r.cy().collection()),a&&e?a.filter(e):a},"source"),target:dt(function(e){var r=this[0],a;return r&&(a=r._private.target||r.cy().collection()),a&&e?a.filter(e):a},"target"),sources:bs({attr:"source"}),targets:bs({attr:"target"})});function bs(t){return function(r){for(var a=[],n=0;n0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});et.componentsOf=et.components;var Ke=function(e,r){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){ze("A collection must have a reference to the core");return}var i=new Dt,s=!1;if(!r)r=[];else if(r.length>0&&Te(r[0])&&!ga(r[0])){s=!0;for(var o=[],l=new Rr,u=0,f=r.length;u0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,a=r.cy(),n=a._private,i=[],s=[],o,l=0,u=r.length;l0){for(var B=o.length===r.length?r:new Ke(a,o),z=0;z0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,a=[],n={},i=r._private.cy;function s(O){for(var P=O._private.edges,I=0;I0&&(t?A.emitAndNotify("remove"):e&&A.emit("remove"));for(var L=0;L0?L=O:A=O;while(Math.abs(N)>s&&++P=i?E(D,P):I===0?P:T(D,A,A+u)}var S=!1;function b(){S=!0,(t!==e||r!==a)&&m()}var x=function(A){return S||b(),t===e&&r===a?A:A===0?0:A===1?1:y(C(A),e,a)};x.getControlPoints=function(){return[{x:t,y:e},{x:r,y:a}]};var w="generateBezier("+[t,e,r,a]+")";return x.toString=function(){return w},x}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var Pp=function(){function t(a){return-a.tension*a.x-a.friction*a.v}function e(a,n,i){var s={x:a.x+i.dx*n,v:a.v+i.dv*n,tension:a.tension,friction:a.friction};return{dx:s.v,dv:t(s)}}function r(a,n){var i={dx:a.v,dv:t(a)},s=e(a,n*.5,i),o=e(a,n*.5,s),l=e(a,n,o),u=1/6*(i.dx+2*(s.dx+o.dx)+l.dx),f=1/6*(i.dv+2*(s.dv+o.dv)+l.dv);return a.x=a.x+u*n,a.v=a.v+f*n,a}return function a(n,i,s){var o={x:-1,v:0,tension:null,friction:null},l=[0],u=0,f=1/1e4,h=16/1e3,c,v,d;for(n=parseFloat(n)||500,i=parseFloat(i)||20,s=s||null,o.tension=n,o.friction=i,c=s!==null,c?(u=a(n,i),v=u/s*h):v=h;d=r(d||o,v),l.push(1+d.x),u+=16,Math.abs(d.x)>f&&Math.abs(d.v)>f;);return c?function(g){return l[g*(l.length-1)|0]}:u}}(),Re=function(e,r,a,n){var i=kp(e,r,a,n);return function(s,o,l){return s+(o-s)*i(l)}},$a={linear:function(e,r,a){return e+(r-e)*a},ease:Re(.25,.1,.25,1),"ease-in":Re(.42,0,1,1),"ease-out":Re(0,0,.58,1),"ease-in-out":Re(.42,0,.58,1),"ease-in-sine":Re(.47,0,.745,.715),"ease-out-sine":Re(.39,.575,.565,1),"ease-in-out-sine":Re(.445,.05,.55,.95),"ease-in-quad":Re(.55,.085,.68,.53),"ease-out-quad":Re(.25,.46,.45,.94),"ease-in-out-quad":Re(.455,.03,.515,.955),"ease-in-cubic":Re(.55,.055,.675,.19),"ease-out-cubic":Re(.215,.61,.355,1),"ease-in-out-cubic":Re(.645,.045,.355,1),"ease-in-quart":Re(.895,.03,.685,.22),"ease-out-quart":Re(.165,.84,.44,1),"ease-in-out-quart":Re(.77,0,.175,1),"ease-in-quint":Re(.755,.05,.855,.06),"ease-out-quint":Re(.23,1,.32,1),"ease-in-out-quint":Re(.86,0,.07,1),"ease-in-expo":Re(.95,.05,.795,.035),"ease-out-expo":Re(.19,1,.22,1),"ease-in-out-expo":Re(1,0,0,1),"ease-in-circ":Re(.6,.04,.98,.335),"ease-out-circ":Re(.075,.82,.165,1),"ease-in-out-circ":Re(.785,.135,.15,.86),spring:function(e,r,a){if(a===0)return $a.linear;var n=Pp(e,r,a);return function(i,s,o){return i+(s-i)*n(o)}},"cubic-bezier":Re};function xs(t,e,r,a,n){if(a===1||e===r)return r;var i=n(e,r,a);return t==null||((t.roundValue||t.color)&&(i=Math.round(i)),t.min!==void 0&&(i=Math.max(i,t.min)),t.max!==void 0&&(i=Math.min(i,t.max))),i}function Ts(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function pr(t,e,r,a,n){var i=n!=null?n.type:null;r<0?r=0:r>1&&(r=1);var s=Ts(t,n),o=Ts(e,n);if(ae(s)&&ae(o))return xs(i,s,o,r,a);if(Ie(s)&&Ie(o)){for(var l=[],u=0;u0?(v==="spring"&&d.push(s.duration),s.easingImpl=$a[v].apply(null,d)):s.easingImpl=$a[v]}var g=s.easingImpl,y;if(s.duration===0?y=1:y=(r-l)/s.duration,s.applying&&(y=s.progress),y<0?y=0:y>1&&(y=1),s.delay==null){var p=s.startPosition,E=s.position;if(E&&n&&!t.locked()){var m={};Xr(p.x,E.x)&&(m.x=pr(p.x,E.x,y,g)),Xr(p.y,E.y)&&(m.y=pr(p.y,E.y,y,g)),t.position(m)}var T=s.startPan,C=s.pan,S=i.pan,b=C!=null&&a;b&&(Xr(T.x,C.x)&&(S.x=pr(T.x,C.x,y,g)),Xr(T.y,C.y)&&(S.y=pr(T.y,C.y,y,g)),t.emit("pan"));var x=s.startZoom,w=s.zoom,D=w!=null&&a;D&&(Xr(x,w)&&(i.zoom=na(i.minZoom,pr(x,w,y,g),i.maxZoom)),t.emit("zoom")),(b||D)&&t.emit("viewport");var A=s.style;if(A&&A.length>0&&n){for(var L=0;L=0;b--){var x=S[b];x()}S.splice(0,S.length)},E=v.length-1;E>=0;E--){var m=v[E],T=m._private;if(T.stopped){v.splice(E,1),T.hooked=!1,T.playing=!1,T.started=!1,p(T.frames);continue}!T.playing&&!T.applying||(T.playing&&T.applying&&(T.applying=!1),T.started||Fp(f,m,t),Bp(f,m,t,h),T.applying&&(T.applying=!1),p(T.frames),T.step!=null&&T.step(t),m.completed()&&(v.splice(E,1),T.hooked=!1,T.playing=!1,T.started=!1,p(T.completes)),g=!0)}return!h&&v.length===0&&d.length===0&&a.push(f),g}for(var i=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(a),e.emit("step")}var Gp={animate:Le.animate(),animation:Le.animation(),animated:Le.animated(),clearQueue:Le.clearQueue(),delay:Le.delay(),delayAnimation:Le.delayAnimation(),stop:Le.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&Ha(function(i){Cs(i,e),r()})}var a=e.renderer();a&&a.beforeRender?a.beforeRender(function(i,s){Cs(s,e)},a.beforeRenderPriorities.animations):r()}},zp={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,a){var n=r.qualifier;return n!=null?e!==a.target&&ga(a.target)&&n.matches(a.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,a){return r.qualifier!=null?a.target:e}},ka=function(e){return ue(e)?new Xt(e):e},Zo={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new hn(zp,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,a){return this.emitter().on(e,ka(r),a),this},removeListener:function(e,r,a){return this.emitter().removeListener(e,ka(r),a),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,a){return this.emitter().one(e,ka(r),a),this},once:function(e,r,a){return this.emitter().one(e,ka(r),a),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};Le.eventAliasesOn(Zo);var _n={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};_n.jpeg=_n.jpg;var Va={layout:function(e){var r=this;if(e==null){ze("Layout options must be specified to make a layout");return}if(e.name==null){ze("A `name` must be specified to make a layout");return}var a=e.name,n=r.extension("layout",a);if(n==null){ze("No such layout `"+a+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var i;ue(e.eles)?i=r.$(e.eles):i=e.eles!=null?e.eles:r.$();var s=new n(ce({},e,{cy:r,eles:i}));return s}};Va.createLayout=Va.makeLayout=Va.layout;var $p={notify:function(e,r){var a=this._private;if(this.batching()){a.batchNotifications=a.batchNotifications||{};var n=a.batchNotifications[e]=a.batchNotifications[e]||this.collection();r!=null&&n.merge(r);return}if(a.notificationsEnabled){var i=this.renderer();this.destroyed()||!i||i.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(a){var n=e.batchNotifications[a];n.empty()?r.notify(a):r.notify(a,n)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var a=Object.keys(e),n=0;n0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(a){var n=a._private;n.rscratch={},n.rstyle={},n.animation.current=[],n.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};Un.invalidateDimensions=Un.resize;var _a={collection:function(e,r){return ue(e)?this.$(e):ft(e)?e.collection():Ie(e)?(r||(r={}),new Ke(this,e,r.unique,r.removed)):new Ke(this)},nodes:function(e){var r=this.$(function(a){return a.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(a){return a.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};_a.elements=_a.filter=_a.$;var rt={},Qr="t",_p="f";rt.apply=function(t){for(var e=this,r=e._private,a=r.cy,n=a.collection(),i=0;i0;if(c||h&&v){var d=void 0;c&&v||c?d=u.properties:v&&(d=u.mappedProperties);for(var g=0;g1&&(T=1),o.color){var S=a.valueMin[0],b=a.valueMax[0],x=a.valueMin[1],w=a.valueMax[1],D=a.valueMin[2],A=a.valueMax[2],L=a.valueMin[3]==null?1:a.valueMin[3],N=a.valueMax[3]==null?1:a.valueMax[3],O=[Math.round(S+(b-S)*T),Math.round(x+(w-x)*T),Math.round(D+(A-D)*T),Math.round(L+(N-L)*T)];i={bypass:a.bypass,name:a.name,value:O,strValue:"rgb("+O[0]+", "+O[1]+", "+O[2]+")"}}else if(o.number){var P=a.valueMin+(a.valueMax-a.valueMin)*T;i=this.parse(a.name,P,a.bypass,c)}else return!1;if(!i)return g(),!1;i.mapping=a,a=i;break}case s.data:{for(var I=a.field.split("."),k=h.data,R=0;R0&&i>0){for(var o={},l=!1,u=0;u0?t.delayAnimation(s).play().promise().then(m):m()}).then(function(){return t.animation({style:o,duration:i,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,n),t.emitAndNotify("style"),a.transitioning=!1})}else a.transitioning&&(this.removeBypasses(t,n),t.emitAndNotify("style"),a.transitioning=!1)};rt.checkTrigger=function(t,e,r,a,n,i){var s=this.properties[e],o=n(s);o!=null&&o(r,a)&&i(s)};rt.checkZOrderTrigger=function(t,e,r,a){var n=this;this.checkTrigger(t,e,r,a,function(i){return i.triggersZOrder},function(){n._private.cy.notify("zorder",t)})};rt.checkBoundsTrigger=function(t,e,r,a){this.checkTrigger(t,e,r,a,function(n){return n.triggersBounds},function(n){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),n.triggersBoundsOfParallelBeziers&&(e==="curve-style"&&(r==="bezier"||a==="bezier")||e==="display"&&(r==="none"||a==="none"))&&t.parallelEdges().forEach(function(i){i.isBundledBezier()&&i.dirtyBoundingBoxCache()})})};rt.checkTriggers=function(t,e,r,a){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,a),this.checkBoundsTrigger(t,e,r,a)};var ma={};ma.applyBypass=function(t,e,r,a){var n=this,i=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var o=0;on.length?a=a.substr(n.length):a=""}function l(){i.length>s.length?i=i.substr(s.length):i=""}for(;;){var u=a.match(/^\s*$/);if(u)break;var f=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){Ae("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}n=f[0];var h=f[1];if(h!=="core"){var c=new Xt(h);if(c.invalid){Ae("Skipping parsing of block: Invalid selector found in string stylesheet: "+h),o();continue}}var v=f[2],d=!1;i=v;for(var g=[];;){var y=i.match(/^\s*$/);if(y)break;var p=i.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!p){Ae("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+v),d=!0;break}s=p[0];var E=p[1],m=p[2],T=e.properties[E];if(!T){Ae("Skipping property: Invalid property name in: "+s),l();continue}var C=r.parse(E,m);if(!C){Ae("Skipping property: Invalid property definition in: "+s),l();continue}g.push({name:E,val:m}),l()}if(d){o();break}r.selector(h);for(var S=0;S=7&&e[0]==="d"&&(f=new RegExp(o.data.regex).exec(e))){if(r)return!1;var c=o.data;return{name:t,value:f,strValue:""+e,mapped:c,field:f[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(h=new RegExp(o.mapData.regex).exec(e))){if(r||u.multiple)return!1;var v=o.mapData;if(!(u.color||u.number))return!1;var d=this.parse(t,h[4]);if(!d||d.mapped)return!1;var g=this.parse(t,h[5]);if(!g||g.mapped)return!1;if(d.pfValue===g.pfValue||d.strValue===g.strValue)return Ae("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+d.strValue+"`"),this.parse(t,d.strValue);if(u.color){var y=d.value,p=g.value,E=y[0]===p[0]&&y[1]===p[1]&&y[2]===p[2]&&(y[3]===p[3]||(y[3]==null||y[3]===1)&&(p[3]==null||p[3]===1));if(E)return!1}return{name:t,value:h,strValue:""+e,mapped:v,field:h[1],fieldMin:parseFloat(h[2]),fieldMax:parseFloat(h[3]),valueMin:d.value,valueMax:g.value,bypass:r}}}if(u.multiple&&a!=="multiple"){var m;if(l?m=e.split(/\s+/):Ie(e)?m=e:m=[e],u.evenMultiple&&m.length%2!==0)return null;for(var T=[],C=[],S=[],b="",x=!1,w=0;w0?" ":"")+D.strValue}return u.validate&&!u.validate(T,C)?null:u.singleEnum&&x?T.length===1&&ue(T[0])?{name:t,value:T[0],strValue:T[0],bypass:r}:null:{name:t,value:T,pfValue:S,strValue:b,bypass:r,units:C}}var A=function(){for(var K=0;Ku.max||u.strictMax&&e===u.max))return null;var I={name:t,value:e,strValue:""+e+(L||""),units:L,bypass:r};return u.unitless||L!=="px"&&L!=="em"?I.pfValue=e:I.pfValue=L==="px"||!L?e:this.getEmSizeInPixels()*e,(L==="ms"||L==="s")&&(I.pfValue=L==="ms"?e:1e3*e),(L==="deg"||L==="rad")&&(I.pfValue=L==="rad"?e:Md(e)),L==="%"&&(I.pfValue=e/100),I}else if(u.propList){var k=[],R=""+e;if(R!=="none"){for(var B=R.split(/\s*,\s*|\s+/),z=0;z0&&o>0&&!isNaN(a.w)&&!isNaN(a.h)&&a.w>0&&a.h>0){l=Math.min((s-2*r)/a.w,(o-2*r)/a.h),l=l>this._private.maxZoom?this._private.maxZoom:l,l=l=a.minZoom&&(a.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,a=r.pan,n=r.zoom,i,s,o=!1;if(r.zoomingEnabled||(o=!0),ae(e)?s=e:Te(e)&&(s=e.level,e.position!=null?i=ln(e.position,n,a):e.renderedPosition!=null&&(i=e.renderedPosition),i!=null&&!r.panningEnabled&&(o=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=l,i.push("zoom"))}if(n&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var u=e.pan;ae(u.x)&&(r.pan.x=u.x,o=!1),ae(u.y)&&(r.pan.y=u.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(ue(e)){var a=e;e=this.mutableElements().filter(a)}else ft(e)||(e=this.mutableElements());if(e.length!==0){var n=e.boundingBox(),i=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var o={x:(i-r*(n.x1+n.x2))/2,y:(s-r*(n.y1+n.y2))/2};return o}}},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 e=this._private,r=e.container;return e.sizeCache=e.sizeCache||(r?function(){var a=Be.getComputedStyle(r),n=function(s){return parseFloat(a.getPropertyValue(s))};return{width:r.clientWidth-n("padding-left")-n("padding-right"),height:r.clientHeight-n("padding-top")-n("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,a=this.renderedExtent(),n={x1:(a.x1-e.x)/r,x2:(a.x2-e.x)/r,y1:(a.y1-e.y)/r,y2:(a.y2-e.y)/r};return n.w=n.x2-n.x1,n.h=n.y2-n.y1,n},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};sr.centre=sr.center;sr.autolockNodes=sr.autolock;sr.autoungrabifyNodes=sr.autoungrabify;var la={data:Le.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Le.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Le.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Le.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};la.attr=la.data;la.removeAttr=la.removeData;var ua=function(e){var r=this;e=ce({},e);var a=e.container;a&&!Ya(a)&&Ya(a[0])&&(a=a[0]);var n=a?a._cyreg:null;n=n||{},n&&n.cy&&(n.cy.destroy(),n={});var i=n.readies=n.readies||[];a&&(a._cyreg=n),n.cy=r;var s=Be!==void 0&&a!==void 0&&!e.headless,o=e;o.layout=ce({name:s?"grid":"null"},o.layout),o.renderer=ce({name:s?"canvas":"null"},o.renderer);var l=function(d,g,y){return g!==void 0?g:y!==void 0?y:d},u=this._private={container:a,ready:!1,options:o,elements:new Ke(this),listeners:[],aniEles:new Ke(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:ae(o.zoom)?o.zoom:1,pan:{x:Te(o.pan)&&ae(o.pan.x)?o.pan.x:0,y:Te(o.pan)&&ae(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var f=function(d,g){var y=d.some($c);if(y)return kr.all(d).then(g);g(d)};u.styleEnabled&&r.setStyle([]);var h=ce({},o,o.renderer);r.initRenderer(h);var c=function(d,g,y){r.notifications(!1);var p=r.mutableElements();p.length>0&&p.remove(),d!=null&&(Te(d)||Ie(d))&&r.add(d),r.one("layoutready",function(m){r.notifications(!0),r.emit(m),r.one("load",g),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",y),r.emit("done")});var E=ce({},r._private.options.layout);E.eles=r.elements(),r.layout(E).run()};f([o.style,o.elements],function(v){var d=v[0],g=v[1];u.styleEnabled&&r.style().append(d),c(g,function(){r.startAnimationLoop(),u.ready=!0,Fe(o.ready)&&r.on("ready",o.ready);for(var y=0;y0,l=ut(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),u;if(ft(e.roots))u=e.roots;else if(Ie(e.roots)){for(var f=[],h=0;h0;){var P=O(),I=D(P,L);if(I)P.outgoers().filter(function(ee){return ee.isNode()&&a.has(ee)}).forEach(N);else if(I===null){Ae("Detected double maximal shift for node `"+P.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}w();var k=0;if(e.avoidOverlap)for(var R=0;R0&&p[0].length<=3?ve/2:0),_=2*Math.PI/p[se].length*ne;return se===0&&p[0].length===1&&(M=1),{x:te.x+M*Math.cos(_),y:te.y+M*Math.sin(_)}}else{var J={x:te.x+(ne+1-(le+1)/2)*Ee,y:(se+1)*ge};return J}};return a.nodes().layoutPositions(this,e,de),this};var qp={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(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function Jo(t){this.options=ce({},qp,t)}Jo.prototype.run=function(){var t=this.options,e=t,r=t.cy,a=e.eles,n=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,i=a.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));for(var s=ut(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=e.sweep===void 0?2*Math.PI-2*Math.PI/i.length:e.sweep,u=l/Math.max(1,i.length-1),f,h=0,c=0;c1&&e.avoidOverlap){h*=1.75;var p=Math.cos(u)-Math.cos(0),E=Math.sin(u)-Math.sin(0),m=Math.sqrt(h*h/(p*p+E*E));f=Math.max(m,f)}var T=function(S,b){var x=e.startAngle+b*u*(n?1:-1),w=f*Math.cos(x),D=f*Math.sin(x),A={x:o.x+w,y:o.y+D};return A};return a.nodes().layoutPositions(this,e,T),this};var Wp={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(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function jo(t){this.options=ce({},Wp,t)}jo.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=t.cy,n=e.eles,i=n.nodes().not(":parent"),s=ut(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:a.width(),h:a.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=[],u=0,f=0;f0){var C=Math.abs(E[0].value-T.value);C>=y&&(E=[],p.push(E))}E.push(T)}var S=u+e.minNodeSpacing;if(!e.avoidOverlap){var b=p.length>0&&p[0].length>1,x=Math.min(s.w,s.h)/2-S,w=x/(p.length+b?1:0);S=Math.min(S,w)}for(var D=0,A=0;A1&&e.avoidOverlap){var P=Math.cos(O)-Math.cos(0),I=Math.sin(O)-Math.sin(0),k=Math.sqrt(S*S/(P*P+I*I));D=Math.max(k,D)}L.r=D,D+=S}if(e.equidistant){for(var R=0,B=0,z=0;z=t.numIter||(ry(a,t),a.temperature=a.temperature*t.coolingFactor,a.temperature=t.animationThreshold&&i(),Ha(h)}};f()}else{for(;u;)u=s(l),l++;Ls(a,t),o()}return this};pn.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};pn.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Zp=function(e,r,a){for(var n=a.eles.edges(),i=a.eles.nodes(),s=ut(a.boundingBox?a.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:n.size(),temperature:a.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},l=a.eles.components(),u={},f=0;f0){o.graphSet.push(x);for(var f=0;fn.count?0:n.graph},Jp=function t(e,r,a,n){var i=n.graphSet[a];if(-10)var h=n.nodeOverlap*f,c=Math.sqrt(o*o+l*l),v=h*o/c,d=h*l/c;else var g=Za(e,o,l),y=Za(r,-1*o,-1*l),p=y.x-g.x,E=y.y-g.y,m=p*p+E*E,c=Math.sqrt(m),h=(e.nodeRepulsion+r.nodeRepulsion)/m,v=h*p/c,d=h*E/c;e.isLocked||(e.offsetX-=v,e.offsetY-=d),r.isLocked||(r.offsetX+=v,r.offsetY+=d)}},iy=function(e,r,a,n){if(a>0)var i=e.maxX-r.minX;else var i=r.maxX-e.minX;if(n>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return i>=0&&s>=0?Math.sqrt(i*i+s*s):0},Za=function(e,r,a){var n=e.positionX,i=e.positionY,s=e.height||1,o=e.width||1,l=a/r,u=s/o,f={};return r===0&&0a?(f.x=n,f.y=i+s/2,f):0r&&-1*u<=l&&l<=u?(f.x=n-o/2,f.y=i-o*a/2/r,f):0=u)?(f.x=n+s*r/2/a,f.y=i+s/2,f):(0>a&&(l<=-1*u||l>=u)&&(f.x=n-s*r/2/a,f.y=i-s/2),f)},sy=function(e,r){for(var a=0;aa){var y=r.gravity*v/g,p=r.gravity*d/g;c.offsetX+=y,c.offsetY+=p}}}}},ly=function(e,r){var a=[],n=0,i=-1;for(a.push.apply(a,e.graphSet[0]),i+=e.graphSet[0].length;n<=i;){var s=a[n++],o=e.idToIndex[s],l=e.layoutNodes[o],u=l.children;if(0a)var i={x:a*e/n,y:a*r/n};else var i={x:e,y:r};return i},hy=function t(e,r){var a=e.parentId;if(a!=null){var n=r.layoutNodes[r.idToIndex[a]],i=!1;if((n.maxX==null||e.maxX+n.padRight>n.maxX)&&(n.maxX=e.maxX+n.padRight,i=!0),(n.minX==null||e.minX-n.padLeftn.maxY)&&(n.maxY=e.maxY+n.padBottom,i=!0),(n.minY==null||e.minY-n.padTopp&&(d+=y+r.componentSpacing,v=0,g=0,y=0)}}},vy={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(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function tl(t){this.options=ce({},vy,t)}tl.prototype.run=function(){var t=this.options,e=t,r=t.cy,a=e.eles,n=a.nodes().not(":parent");e.sort&&(n=n.sort(e.sort));var i=ut(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(i.h===0||i.w===0)a.nodes().layoutPositions(this,e,function(U){return{x:i.x1,y:i.y1}});else{var s=n.size(),o=Math.sqrt(s*i.h/i.w),l=Math.round(o),u=Math.round(i.w/i.h*o),f=function(V){if(V==null)return Math.min(l,u);var H=Math.min(l,u);H==l?l=V:u=V},h=function(V){if(V==null)return Math.max(l,u);var H=Math.max(l,u);H==l?l=V:u=V},c=e.rows,v=e.cols!=null?e.cols:e.columns;if(c!=null&&v!=null)l=c,u=v;else if(c!=null&&v==null)l=c,u=Math.ceil(s/l);else if(c==null&&v!=null)u=v,l=Math.ceil(s/u);else if(u*l>s){var d=f(),g=h();(d-1)*g>=s?f(d-1):(g-1)*d>=s&&h(g-1)}else for(;u*l=s?h(p+1):f(y+1)}var E=i.w/u,m=i.h/l;if(e.condense&&(E=0,m=0),e.avoidOverlap)for(var T=0;T=u&&(P=0,O++)},k={},R=0;R(P=Yd(t,e,I[k],I[k+1],I[k+2],I[k+3])))return y(b,P),!0}else if(w.edgeType==="bezier"||w.edgeType==="multibezier"||w.edgeType==="self"||w.edgeType==="compound"){for(var I=w.allpts,k=0;k+5(P=Ud(t,e,I[k],I[k+1],I[k+2],I[k+3],I[k+4],I[k+5])))return y(b,P),!0}for(var R=R||x.source,B=B||x.target,z=n.getArrowWidth(D,A),F=[{name:"source",x:w.arrowStartX,y:w.arrowStartY,angle:w.srcArrowAngle},{name:"target",x:w.arrowEndX,y:w.arrowEndY,angle:w.tgtArrowAngle},{name:"mid-source",x:w.midX,y:w.midY,angle:w.midsrcArrowAngle},{name:"mid-target",x:w.midX,y:w.midY,angle:w.midtgtArrowAngle}],k=0;k0&&(p(R),p(B))}function m(b,x,w){return wt(b,x,w)}function T(b,x){var w=b._private,D=c,A;x?A=x+"-":A="",b.boundingBox();var L=w.labelBounds[x||"main"],N=b.pstyle(A+"label").value,O=b.pstyle("text-events").strValue==="yes";if(!(!O||!N)){var P=m(w.rscratch,"labelX",x),I=m(w.rscratch,"labelY",x),k=m(w.rscratch,"labelAngle",x),R=b.pstyle(A+"text-margin-x").pfValue,B=b.pstyle(A+"text-margin-y").pfValue,z=L.x1-D-R,F=L.x2+D-R,$=L.y1-D-B,U=L.y2+D-B;if(k){var V=Math.cos(k),H=Math.sin(k),Y=function(de,ee){return de=de-P,ee=ee-I,{x:de*V-ee*H+P,y:de*H+ee*V+I}},G=Y(z,$),X=Y(z,U),K=Y(F,$),Z=Y(F,U),te=[G.x+R,G.y+B,K.x+R,K.y+B,Z.x+R,Z.y+B,X.x+R,X.y+B];if(lt(t,e,te))return y(b),!0}else if(Sr(L,t,e))return y(b),!0}}for(var C=s.length-1;C>=0;C--){var S=s[C];S.isNode()?p(S)||T(S):E(S)||T(S)||T(S,"source")||T(S,"target")}return o};ur.getAllInBox=function(t,e,r,a){var n=this.getCachedZSortedEles().interactive,i=[],s=Math.min(t,r),o=Math.max(t,r),l=Math.min(e,a),u=Math.max(e,a);t=s,r=o,e=l,a=u;for(var f=ut({x1:t,y1:e,x2:r,y2:a}),h=0;h0?Math.max(oe-we,0):Math.min(oe+we,0)},N=L(D,x),O=L(A,w),P=!1;E===u?p=Math.abs(N)>Math.abs(O)?n:a:E===l||E===o?(p=a,P=!0):(E===i||E===s)&&(p=n,P=!0);var I=p===a,k=I?O:N,R=I?A:D,B=yo(R),z=!1;!(P&&(T||S))&&(E===o&&R<0||E===l&&R>0||E===i&&R>0||E===s&&R<0)&&(B*=-1,k=B*Math.abs(k),z=!0);var F;if(T){var $=C<0?1+C:C;F=$*k}else{var U=C<0?k:0;F=U+C*B}var V=function(oe){return Math.abs(oe)=Math.abs(k)},H=V(F),Y=V(Math.abs(k)-Math.abs(F)),G=H||Y;if(G&&!z)if(I){var X=Math.abs(R)<=c/2,K=Math.abs(D)<=v/2;if(X){var Z=(f.x1+f.x2)/2,te=f.y1,he=f.y2;r.segpts=[Z,te,Z,he]}else if(K){var de=(f.y1+f.y2)/2,ee=f.x1,re=f.x2;r.segpts=[ee,de,re,de]}else r.segpts=[f.x1,f.y2]}else{var fe=Math.abs(R)<=h/2,se=Math.abs(A)<=d/2;if(fe){var ne=(f.y1+f.y2)/2,le=f.x1,Ee=f.x2;r.segpts=[le,ne,Ee,ne]}else if(se){var ge=(f.x1+f.x2)/2,ve=f.y1,J=f.y2;r.segpts=[ge,ve,ge,J]}else r.segpts=[f.x2,f.y1]}else if(I){var M=f.y1+F+(y?c/2*B:0),_=f.x1,Q=f.x2;r.segpts=[_,M,Q,M]}else{var q=f.x1+F+(y?h/2*B:0),W=f.y1,pe=f.y2;r.segpts=[q,W,q,pe]}};it.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var a=e.srcPos,n=e.tgtPos,i=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,u=e.srcShape,f=e.tgtShape,h=!ae(r.startX)||!ae(r.startY),c=!ae(r.arrowStartX)||!ae(r.arrowStartY),v=!ae(r.endX)||!ae(r.endY),d=!ae(r.arrowEndX)||!ae(r.arrowEndY),g=3,y=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,p=g*y,E=nr({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),m=EO.poolIndex()){var P=N;N=O,O=P}var I=w.srcPos=N.position(),k=w.tgtPos=O.position(),R=w.srcW=N.outerWidth(),B=w.srcH=N.outerHeight(),z=w.tgtW=O.outerWidth(),F=w.tgtH=O.outerHeight(),$=w.srcShape=r.nodeShapes[e.getNodeShape(N)],U=w.tgtShape=r.nodeShapes[e.getNodeShape(O)];w.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var V=0;V0){var X=i,K=er(X,Er(r)),Z=er(X,Er(G)),te=K;if(Z2){var he=er(X,{x:G[2],y:G[3]});he0){var _=s,Q=er(_,Er(r)),q=er(_,Er(M)),W=Q;if(q2){var pe=er(_,{x:M[2],y:M[3]});pe=d||b){y={cp:T,segment:S};break}}if(y)break}var x=y.cp,w=y.segment,D=(d-p)/w.length,A=w.t1-w.t0,L=v?w.t0+A*D:w.t1-A*D;L=na(0,L,1),e=xr(x.p0,x.p1,x.p2,L),c=my(x.p0,x.p1,x.p2,L);break}case"straight":case"segments":case"haystack":{for(var N=0,O,P,I,k,R=a.allpts.length,B=0;B+3=d));B+=2);var z=d-P,F=z/O;F=na(0,F,1),e=Rd(I,k,F),c=ol(I,k);break}}s("labelX",h,e.x),s("labelY",h,e.y),s("labelAutoAngle",h,c)}};u("source"),u("target"),this.applyLabelDimensions(t)}};Lt.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};Lt.applyPrefixedLabelDimensions=function(t,e){var r=t._private,a=this.getLabelText(t,e),n=this.calculateLabelDimensions(t,a),i=t.pstyle("line-height").pfValue,s=t.pstyle("text-wrap").strValue,o=wt(r.rscratch,"labelWrapCachedLines",e)||[],l=s!=="wrap"?1:Math.max(o.length,1),u=n.height/l,f=u*i,h=n.width,c=n.height+(l-1)*(i-1)*u;zt(r.rstyle,"labelWidth",e,h),zt(r.rscratch,"labelWidth",e,h),zt(r.rstyle,"labelHeight",e,c),zt(r.rscratch,"labelHeight",e,c),zt(r.rscratch,"labelLineHeight",e,f)};Lt.getLabelText=function(t,e){var r=t._private,a=e?e+"-":"",n=t.pstyle(a+"label").strValue,i=t.pstyle("text-transform").value,s=function(z,F){return F?(zt(r.rscratch,z,e,F),F):wt(r.rscratch,z,e)};if(!n)return"";i=="none"||(i=="uppercase"?n=n.toUpperCase():i=="lowercase"&&(n=n.toLowerCase()));var o=t.pstyle("text-wrap").value;if(o==="wrap"){var l=s("labelKey");if(l!=null&&s("labelWrapKey")===l)return s("labelWrapCachedText");for(var u="​",f=n.split(` -`),h=t.pstyle("text-max-width").pfValue,c=t.pstyle("text-overflow-wrap").value,v=c==="anywhere",d=[],g=/[\s\u200b]+/,y=v?"":" ",p=0;ph){for(var S=E.split(g),b="",x=0;xN)break;O+=n[k],k===n.length-1&&(I=!0)}return I||(O+=P),O}return n};Lt.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};Lt.calculateLabelDimensions=function(t,e){var r=this,a=ar(e,t._private.labelDimsKey),n=r.labelDimCache||(r.labelDimCache=[]),i=n[a];if(i!=null)return i;var s=0,o=t.pstyle("font-style").strValue,l=t.pstyle("font-size").pfValue,u=t.pstyle("font-family").strValue,f=t.pstyle("font-weight").strValue,h=this.labelCalcCanvas,c=this.labelCalcCanvasContext;if(!h){h=this.labelCalcCanvas=document.createElement("canvas"),c=this.labelCalcCanvasContext=h.getContext("2d");var v=h.style;v.position="absolute",v.left="-9999px",v.top="-9999px",v.zIndex="-1",v.visibility="hidden",v.pointerEvents="none"}c.font="".concat(o," ").concat(f," ").concat(l,"px ").concat(u);for(var d=0,g=0,y=e.split(` -`),p=0;p1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var l=0;l=t.desktopTapThreshold2}var Ot=a(M);He&&(t.hoverData.tapholdCancelled=!0);var Bt=function(){var Tt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];Tt.length===0?(Tt.push(be[0]),Tt.push(be[1])):(Tt[0]+=be[0],Tt[1]+=be[1])};Q=!0,r(me,["mousemove","vmousemove","tapdrag"],M,{x:j[0],y:j[1]});var vr=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||q.emit({originalEvent:M,type:"boxstart",position:{x:j[0],y:j[1]}}),Oe[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(He){var Jt={originalEvent:M,type:"cxtdrag",position:{x:j[0],y:j[1]}};ye?ye.emit(Jt):q.emit(Jt),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||me!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:M,type:"cxtdragout",position:{x:j[0],y:j[1]}}),t.hoverData.cxtOver=me,me&&me.emit({originalEvent:M,type:"cxtdragover",position:{x:j[0],y:j[1]}}))}}else if(t.hoverData.dragging){if(Q=!0,q.panningEnabled()&&q.userPanningEnabled()){var cr;if(t.hoverData.justStartedPan){var xa=t.hoverData.mdownPos;cr={x:(j[0]-xa[0])*W,y:(j[1]-xa[1])*W},t.hoverData.justStartedPan=!1}else cr={x:be[0]*W,y:be[1]*W};q.panBy(cr),q.emit("dragpan"),t.hoverData.dragged=!0}j=t.projectIntoViewport(M.clientX,M.clientY)}else if(Oe[4]==1&&(ye==null||ye.pannable())){if(He){if(!t.hoverData.dragging&&q.boxSelectionEnabled()&&(Ot||!q.panningEnabled()||!q.userPanningEnabled()))vr();else if(!t.hoverData.selecting&&q.panningEnabled()&&q.userPanningEnabled()){var jt=n(ye,t.hoverData.downs);jt&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,Oe[4]=0,t.data.bgActivePosistion=Er(oe),t.redrawHint("select",!0),t.redraw())}ye&&ye.pannable()&&ye.active()&&ye.unactivate()}}else{if(ye&&ye.pannable()&&ye.active()&&ye.unactivate(),(!ye||!ye.grabbed())&&me!=Se&&(Se&&r(Se,["mouseout","tapdragout"],M,{x:j[0],y:j[1]}),me&&r(me,["mouseover","tapdragover"],M,{x:j[0],y:j[1]}),t.hoverData.last=me),ye)if(He){if(q.boxSelectionEnabled()&&Ot)ye&&ye.grabbed()&&(g(Ge),ye.emit("freeon"),Ge.emit("free"),t.dragData.didDrag&&(ye.emit("dragfreeon"),Ge.emit("dragfree"))),vr();else if(ye&&ye.grabbed()&&t.nodeIsDraggable(ye)){var st=!t.dragData.didDrag;st&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||v(Ge,{inDragLayer:!0});var Je={x:0,y:0};if(ae(be[0])&&ae(be[1])&&(Je.x+=be[0],Je.y+=be[1],st)){var ot=t.hoverData.dragDelta;ot&&ae(ot[0])&&ae(ot[1])&&(Je.x+=ot[0],Je.y+=ot[1])}t.hoverData.draggingEles=!0,Ge.silentShift(Je).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else Bt();Q=!0}if(Oe[2]=j[0],Oe[3]=j[1],Q)return M.stopPropagation&&M.stopPropagation(),M.preventDefault&&M.preventDefault(),!1}},!1);var w,D,A;t.registerBinding(window,"mouseup",function(M){var _=t.hoverData.capture;if(_){t.hoverData.capture=!1;var Q=t.cy,q=t.projectIntoViewport(M.clientX,M.clientY),W=t.selection,pe=t.findNearestElement(q[0],q[1],!0,!1),j=t.dragData.possibleDragElements,oe=t.hoverData.down,we=a(M);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,oe&&oe.unactivate(),t.hoverData.which===3){var Oe={originalEvent:M,type:"cxttapend",position:{x:q[0],y:q[1]}};if(oe?oe.emit(Oe):Q.emit(Oe),!t.hoverData.cxtDragged){var me={originalEvent:M,type:"cxttap",position:{x:q[0],y:q[1]}};oe?oe.emit(me):Q.emit(me)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(r(pe,["mouseup","tapend","vmouseup"],M,{x:q[0],y:q[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(r(oe,["click","tap","vclick"],M,{x:q[0],y:q[1]}),D=!1,M.timeStamp-A<=Q.multiClickDebounceTime()?(w&&clearTimeout(w),D=!0,A=null,r(oe,["dblclick","dbltap","vdblclick"],M,{x:q[0],y:q[1]})):(w=setTimeout(function(){D||r(oe,["oneclick","onetap","voneclick"],M,{x:q[0],y:q[1]})},Q.multiClickDebounceTime()),A=M.timeStamp)),oe==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(M)&&(Q.$(e).unselect(["tapunselect"]),j.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=j=Q.collection()),pe==oe&&!t.dragData.didDrag&&!t.hoverData.selecting&&pe!=null&&pe._private.selectable&&(t.hoverData.dragging||(Q.selectionType()==="additive"||we?pe.selected()?pe.unselect(["tapunselect"]):pe.select(["tapselect"]):we||(Q.$(e).unmerge(pe).unselect(["tapunselect"]),pe.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var Se=Q.collection(t.getAllInBox(W[0],W[1],W[2],W[3]));t.redrawHint("select",!0),Se.length>0&&t.redrawHint("eles",!0),Q.emit({type:"boxend",originalEvent:M,position:{x:q[0],y:q[1]}});var ye=function(He){return He.selectable()&&!He.selected()};Q.selectionType()==="additive"||we||Q.$(e).unmerge(Se).unselect(),Se.emit("box").stdFilter(ye).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!W[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var be=oe&&oe.grabbed();g(j),be&&(oe.emit("freeon"),j.emit("free"),t.dragData.didDrag&&(oe.emit("dragfreeon"),j.emit("dragfree")))}}W[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null}},!1);var L=function(M){if(!t.scrollingPage){var _=t.cy,Q=_.zoom(),q=_.pan(),W=t.projectIntoViewport(M.clientX,M.clientY),pe=[W[0]*Q+q.x,W[1]*Q+q.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||b()){M.preventDefault();return}if(_.panningEnabled()&&_.userPanningEnabled()&&_.zoomingEnabled()&&_.userZoomingEnabled()){M.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout(function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()},150);var j;M.deltaY!=null?j=M.deltaY/-250:M.wheelDeltaY!=null?j=M.wheelDeltaY/1e3:j=M.wheelDelta/1e3,j=j*t.wheelSensitivity;var oe=M.deltaMode===1;oe&&(j*=33);var we=_.zoom()*Math.pow(10,j);M.type==="gesturechange"&&(we=t.gestureStartZoom*M.scale),_.zoom({level:we,renderedPosition:{x:pe[0],y:pe[1]}}),_.emit(M.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",L,!0),t.registerBinding(window,"scroll",function(M){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(M){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||M.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(J){t.hasTouchStarted||L(J)},!0),t.registerBinding(t.container,"mouseout",function(M){var _=t.projectIntoViewport(M.clientX,M.clientY);t.cy.emit({originalEvent:M,type:"mouseout",position:{x:_[0],y:_[1]}})},!1),t.registerBinding(t.container,"mouseover",function(M){var _=t.projectIntoViewport(M.clientX,M.clientY);t.cy.emit({originalEvent:M,type:"mouseover",position:{x:_[0],y:_[1]}})},!1);var N,O,P,I,k,R,B,z,F,$,U,V,H,Y=function(M,_,Q,q){return Math.sqrt((Q-M)*(Q-M)+(q-_)*(q-_))},G=function(M,_,Q,q){return(Q-M)*(Q-M)+(q-_)*(q-_)},X;t.registerBinding(t.container,"touchstart",X=function(M){if(t.hasTouchStarted=!0,!!x(M)){p(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var _=t.cy,Q=t.touchData.now,q=t.touchData.earlier;if(M.touches[0]){var W=t.projectIntoViewport(M.touches[0].clientX,M.touches[0].clientY);Q[0]=W[0],Q[1]=W[1]}if(M.touches[1]){var W=t.projectIntoViewport(M.touches[1].clientX,M.touches[1].clientY);Q[2]=W[0],Q[3]=W[1]}if(M.touches[2]){var W=t.projectIntoViewport(M.touches[2].clientX,M.touches[2].clientY);Q[4]=W[0],Q[5]=W[1]}if(M.touches[1]){t.touchData.singleTouchMoved=!0,g(t.dragData.touchDragEles);var pe=t.findContainerClientCoords();F=pe[0],$=pe[1],U=pe[2],V=pe[3],N=M.touches[0].clientX-F,O=M.touches[0].clientY-$,P=M.touches[1].clientX-F,I=M.touches[1].clientY-$,H=0<=N&&N<=U&&0<=P&&P<=U&&0<=O&&O<=V&&0<=I&&I<=V;var j=_.pan(),oe=_.zoom();k=Y(N,O,P,I),R=G(N,O,P,I),B=[(N+P)/2,(O+I)/2],z=[(B[0]-j.x)/oe,(B[1]-j.y)/oe];var we=200,Oe=we*we;if(R=1){for(var yt=t.touchData.startPosition=[],Xe=0;Xe=t.touchTapThreshold2}if(_&&t.touchData.cxt){M.preventDefault();var yt=M.touches[0].clientX-F,Xe=M.touches[0].clientY-$,vt=M.touches[1].clientX-F,at=M.touches[1].clientY-$,Ot=G(yt,Xe,vt,at),Bt=Ot/R,vr=150,Jt=vr*vr,cr=1.5,xa=cr*cr;if(Bt>=xa||Ot>=Jt){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var jt={originalEvent:M,type:"cxttapend",position:{x:W[0],y:W[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(jt),t.touchData.start=null):q.emit(jt)}}if(_&&t.touchData.cxt){var jt={originalEvent:M,type:"cxtdrag",position:{x:W[0],y:W[1]}};t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(jt):q.emit(jt),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var st=t.findNearestElement(W[0],W[1],!0,!0);(!t.touchData.cxtOver||st!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:M,type:"cxtdragout",position:{x:W[0],y:W[1]}}),t.touchData.cxtOver=st,st&&st.emit({originalEvent:M,type:"cxtdragover",position:{x:W[0],y:W[1]}}))}else if(_&&M.touches[2]&&q.boxSelectionEnabled())M.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||q.emit({originalEvent:M,type:"boxstart",position:{x:W[0],y:W[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,Q[4]=1,!Q||Q.length===0||Q[0]===void 0?(Q[0]=(W[0]+W[2]+W[4])/3,Q[1]=(W[1]+W[3]+W[5])/3,Q[2]=(W[0]+W[2]+W[4])/3+1,Q[3]=(W[1]+W[3]+W[5])/3+1):(Q[2]=(W[0]+W[2]+W[4])/3,Q[3]=(W[1]+W[3]+W[5])/3),t.redrawHint("select",!0),t.redraw();else if(_&&M.touches[1]&&!t.touchData.didSelect&&q.zoomingEnabled()&&q.panningEnabled()&&q.userZoomingEnabled()&&q.userPanningEnabled()){M.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Je=t.dragData.touchDragEles;if(Je){t.redrawHint("drag",!0);for(var ot=0;ot0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var Z;t.registerBinding(window,"touchcancel",Z=function(M){var _=t.touchData.start;t.touchData.capture=!1,_&&_.unactivate()});var te,he,de,ee;if(t.registerBinding(window,"touchend",te=function(M){var _=t.touchData.start,Q=t.touchData.capture;if(Q)M.touches.length===0&&(t.touchData.capture=!1),M.preventDefault();else return;var q=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var W=t.cy,pe=W.zoom(),j=t.touchData.now,oe=t.touchData.earlier;if(M.touches[0]){var we=t.projectIntoViewport(M.touches[0].clientX,M.touches[0].clientY);j[0]=we[0],j[1]=we[1]}if(M.touches[1]){var we=t.projectIntoViewport(M.touches[1].clientX,M.touches[1].clientY);j[2]=we[0],j[3]=we[1]}if(M.touches[2]){var we=t.projectIntoViewport(M.touches[2].clientX,M.touches[2].clientY);j[4]=we[0],j[5]=we[1]}_&&_.unactivate();var Oe;if(t.touchData.cxt){if(Oe={originalEvent:M,type:"cxttapend",position:{x:j[0],y:j[1]}},_?_.emit(Oe):W.emit(Oe),!t.touchData.cxtDragged){var me={originalEvent:M,type:"cxttap",position:{x:j[0],y:j[1]}};_?_.emit(me):W.emit(me)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!M.touches[2]&&W.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var Se=W.collection(t.getAllInBox(q[0],q[1],q[2],q[3]));q[0]=void 0,q[1]=void 0,q[2]=void 0,q[3]=void 0,q[4]=0,t.redrawHint("select",!0),W.emit({type:"boxend",originalEvent:M,position:{x:j[0],y:j[1]}});var ye=function(Jt){return Jt.selectable()&&!Jt.selected()};Se.emit("box").stdFilter(ye).select().emit("boxselect"),Se.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(_!=null&&_.unactivate(),M.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!M.touches[1]){if(!M.touches[0]){if(!M.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var be=t.dragData.touchDragEles;if(_!=null){var Ge=_._private.grabbed;g(be),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Ge&&(_.emit("freeon"),be.emit("free"),t.dragData.didDrag&&(_.emit("dragfreeon"),be.emit("dragfree"))),r(_,["touchend","tapend","vmouseup","tapdragout"],M,{x:j[0],y:j[1]}),_.unactivate(),t.touchData.start=null}else{var He=t.findNearestElement(j[0],j[1],!0,!0);r(He,["touchend","tapend","vmouseup","tapdragout"],M,{x:j[0],y:j[1]})}var pt=t.touchData.startPosition[0]-j[0],yt=pt*pt,Xe=t.touchData.startPosition[1]-j[1],vt=Xe*Xe,at=yt+vt,Ot=at*pe*pe;t.touchData.singleTouchMoved||(_||W.$(":selected").unselect(["tapunselect"]),r(_,["tap","vclick"],M,{x:j[0],y:j[1]}),he=!1,M.timeStamp-ee<=W.multiClickDebounceTime()?(de&&clearTimeout(de),he=!0,ee=null,r(_,["dbltap","vdblclick"],M,{x:j[0],y:j[1]})):(de=setTimeout(function(){he||r(_,["onetap","voneclick"],M,{x:j[0],y:j[1]})},W.multiClickDebounceTime()),ee=M.timeStamp)),_!=null&&!t.dragData.didDrag&&_._private.selectable&&Ot"u"){var re=[],fe=function(M){return{clientX:M.clientX,clientY:M.clientY,force:1,identifier:M.pointerId,pageX:M.pageX,pageY:M.pageY,radiusX:M.width/2,radiusY:M.height/2,screenX:M.screenX,screenY:M.screenY,target:M.target}},se=function(M){return{event:M,touch:fe(M)}},ne=function(M){re.push(se(M))},le=function(M){for(var _=0;_0)return F[0]}return null},v=Object.keys(h),d=0;d0?c:bo(i,s,e,r,a,n,o)},checkPoint:function(e,r,a,n,i,s,o){var l=pa(n,i),u=2*l;if(It(e,r,this.points,s,o,n,i-u,[0,-1],a)||It(e,r,this.points,s,o,n-u,i,[0,-1],a))return!0;var f=n/2+2*a,h=i/2+2*a,c=[s-f,o-h,s-f,o,s+f,o,s+f,o-h];return!!(lt(e,r,c)||rr(e,r,u,u,s+n/2-l,o+i/2-l,a)||rr(e,r,u,u,s-n/2+l,o+i/2-l,a))}}};kt.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",nt(3,0)),this.generateRoundPolygon("round-triangle",nt(3,0)),this.generatePolygon("rectangle",nt(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",nt(5,0)),this.generateRoundPolygon("round-pentagon",nt(5,0)),this.generatePolygon("hexagon",nt(6,0)),this.generateRoundPolygon("round-hexagon",nt(6,0)),this.generatePolygon("heptagon",nt(7,0)),this.generateRoundPolygon("round-heptagon",nt(7,0)),this.generatePolygon("octagon",nt(8,0)),this.generateRoundPolygon("round-octagon",nt(8,0));var a=new Array(20);{var n=Bn(5,0),i=Bn(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*T)break}else if(u){if(E>=e.deqCost*v||E>=e.deqAvgCost*c)break}else if(m>=e.deqNoDrawCost*In)break;var C=e.deq(a,y,g);if(C.length>0)for(var S=0;S0&&(e.onDeqd(a,d),!u&&e.shouldRedraw(a,d,y,g)&&i())},o=e.priority||ni;n.beforeRender(s,o(a))}}}},Ey=function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Xa;jn(this,t),this.idsByKey=new Dt,this.keyForId=new Dt,this.cachesByLvl=new Dt,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return ei(t,[{key:"getIdsFor",value:function(r){r==null&&ze("Can not get id list for null key");var a=this.idsByKey,n=this.idsByKey.get(r);return n||(n=new Rr,a.set(r,n)),n}},{key:"addIdForKey",value:function(r,a){r!=null&&this.getIdsFor(r).add(a)}},{key:"deleteIdForKey",value:function(r,a){r!=null&&this.getIdsFor(r).delete(a)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var a=r.id(),n=this.keyForId.get(a),i=this.getKey(r);this.deleteIdForKey(n,a),this.addIdForKey(i,a),this.keyForId.set(a,i)}},{key:"deleteKeyMappingFor",value:function(r){var a=r.id(),n=this.keyForId.get(a);this.deleteIdForKey(n,a),this.keyForId.delete(a)}},{key:"keyHasChangedFor",value:function(r){var a=r.id(),n=this.keyForId.get(a),i=this.getKey(r);return n!==i}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var a=this.cachesByLvl,n=this.lvls,i=a.get(r);return i||(i=new Dt,a.set(r,i),n.push(r)),i}},{key:"getCache",value:function(r,a){return this.getCachesAt(a).get(r)}},{key:"get",value:function(r,a){var n=this.getKey(r),i=this.getCache(n,a);return i!=null&&this.updateKeyMappingFor(r),i}},{key:"getForCachedKey",value:function(r,a){var n=this.keyForId.get(r.id()),i=this.getCache(n,a);return i}},{key:"hasCache",value:function(r,a){return this.getCachesAt(a).has(r)}},{key:"has",value:function(r,a){var n=this.getKey(r);return this.hasCache(n,a)}},{key:"setCache",value:function(r,a,n){n.key=r,this.getCachesAt(a).set(r,n)}},{key:"set",value:function(r,a,n){var i=this.getKey(r);this.setCache(i,a,n),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,a){this.getCachesAt(a).delete(r)}},{key:"delete",value:function(r,a){var n=this.getKey(r);this.deleteCache(n,a)}},{key:"invalidateKey",value:function(r){var a=this;this.lvls.forEach(function(n){return a.deleteCache(r,n)})}},{key:"invalidate",value:function(r){var a=r.id(),n=this.keyForId.get(a);this.deleteKeyMappingFor(r);var i=this.doesEleInvalidateKey(r);return i&&this.invalidateKey(n),i||this.getNumberOfIdsForKey(n)===0}}]),t}(),Rs=25,Pa=50,Ua=-4,Yn=3,wy=7.99,xy=8,Ty=1024,Cy=1024,Dy=1024,Sy=.2,Ly=.8,Ay=10,Oy=.15,Ny=.1,My=.9,Iy=.9,Ry=100,ky=1,wr={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},Py=Ze({getKey:null,doesEleInvalidateKey:Xa,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:ho,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Zr=function(e,r){var a=this;a.renderer=e,a.onDequeues=[];var n=Py(r);ce(a,n),a.lookup=new Ey(n.getKey,n.doesEleInvalidateKey),a.setupDequeueing()},Ue=Zr.prototype;Ue.reasons=wr;Ue.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};Ue.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},a=r[t]=r[t]||[];return a};Ue.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new ca(function(r,a){return a.reqs-r.reqs});return e};Ue.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};Ue.getElement=function(t,e,r,a,n){var i=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!i.allowEdgeTxrCaching&&t.isEdge()||!i.allowParentTxrCaching&&t.isParent())return null;if(a==null&&(a=Math.ceil(si(o*r))),a=wy||a>Yn)return null;var u=Math.pow(2,a),f=e.h*u,h=e.w*u,c=s.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,c))return null;var v=l.get(t,a);if(v&&v.invalidated&&(v.invalidated=!1,v.texture.invalidatedWidth-=v.width),v)return v;var d;if(f<=Rs?d=Rs:f<=Pa?d=Pa:d=Math.ceil(f/Pa)*Pa,f>Dy||h>Cy)return null;var g=i.getTextureQueue(d),y=g[g.length-2],p=function(){return i.recycleTexture(d,h)||i.addTexture(d,h)};y||(y=g[g.length-1]),y||(y=p()),y.width-y.usedWidtha;A--)w=i.getElement(t,e,r,A,wr.downscale);D()}else return i.queueElement(t,S.level-1),S;else{var L;if(!m&&!T&&!C)for(var N=a-1;N>=Ua;N--){var O=l.get(t,N);if(O){L=O;break}}if(E(L))return i.queueElement(t,a),L;y.context.translate(y.usedWidth,0),y.context.scale(u,u),this.drawElement(y.context,t,e,c,!1),y.context.scale(1/u,1/u),y.context.translate(-y.usedWidth,0)}return v={x:y.usedWidth,texture:y,level:a,scale:u,width:h,height:f,scaledLabelShown:c},y.usedWidth+=Math.ceil(h+xy),y.eleCaches.push(v),l.set(t,a,v),i.checkTextureFullness(y),v};Ue.invalidateElements=function(t){for(var e=0;e=Sy*t.width&&this.retireTexture(t)};Ue.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>Ly&&t.fullnessChecks>=Ay?Ht(r,t):t.fullnessChecks++};Ue.retireTexture=function(t){var e=this,r=t.height,a=e.getTextureQueue(r),n=this.lookup;Ht(a,t),t.retired=!0;for(var i=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,ii(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),Ht(n,s),a.push(s),s}};Ue.queueElement=function(t,e){var r=this,a=r.getElementQueue(),n=r.getElementKeyToQueue(),i=this.getKey(t),s=n[i];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,a.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:i};a.push(o),n[i]=o}};Ue.dequeue=function(t){for(var e=this,r=e.getElementQueue(),a=e.getElementKeyToQueue(),n=[],i=e.lookup,s=0;s0;s++){var o=r.pop(),l=o.key,u=o.eles[0],f=i.hasCache(u,o.level);if(a[l]=null,f)continue;n.push(o);var h=e.getBoundingBox(u);e.getElement(u,h,t,o.level,wr.dequeue)}return n};Ue.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),a=e.getElementKeyToQueue(),n=this.getKey(t),i=a[n];i!=null&&(i.eles.length===1?(i.reqs=ai,r.updateItem(i),r.pop(),a[n]=null):i.eles.unmerge(t))};Ue.onDequeue=function(t){this.onDequeues.push(t)};Ue.offDequeue=function(t){Ht(this.onDequeues,t)};Ue.setupDequeueing=vl.setupDequeueing({deqRedrawThreshold:Ry,deqCost:Oy,deqAvgCost:Ny,deqNoDrawCost:My,deqFastCost:Iy,deq:function(e,r,a){return e.dequeue(r,a)},onDeqd:function(e,r){for(var a=0;a=Fy||r>Ja)return null}a.validateLayersElesOrdering(r,t);var l=a.layersByLevel,u=Math.pow(2,r),f=l[r]=l[r]||[],h,c=a.levelIsComplete(r,t),v,d=function(){var D=function(P){if(a.validateLayersElesOrdering(P,t),a.levelIsComplete(P,t))return v=l[P],!0},A=function(P){if(!v)for(var I=r+P;Jr<=I&&I<=Ja&&!D(I);I+=P);};A(1),A(-1);for(var L=f.length-1;L>=0;L--){var N=f[L];N.invalid&&Ht(f,N)}};if(!c)d();else return f;var g=function(){if(!h){h=ut();for(var D=0;DHy)return null;var N=a.makeLayer(h,r);if(A!=null){var O=f.indexOf(A)+1;f.splice(O,0,N)}else(D.insert===void 0||D.insert)&&f.unshift(N);return N};if(a.skipping&&!o)return null;for(var p=null,E=t.length/By,m=!o,T=0;T=E||!mo(p.bb,C.boundingBox()))&&(p=y({insert:!0,after:p}),!p))return null;v||m?a.queueLayer(p,C):a.drawEleInLayer(p,C,r,e),p.eles.push(C),b[r]=p}return v||(m?null:f)};Qe.getEleLevelForLayerLevel=function(t,e){return t};Qe.drawEleInLayer=function(t,e,r,a){var n=this,i=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=n.getEleLevelForLayerLevel(r,a),i.setImgSmoothing(s,!1),i.drawCachedElement(s,e,null,null,r,Xy),i.setImgSmoothing(s,!0))};Qe.levelIsComplete=function(t,e){var r=this,a=r.layersByLevel[t];if(!a||a.length===0)return!1;for(var n=0,i=0;i0||s.invalid)return!1;n+=s.eles.length}return n===e.length};Qe.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var a=0;a0){e=!0;break}}return e};Qe.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Mt(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(a,n,i){e.invalidateLayer(a)}))};Qe.invalidateLayer=function(t){if(this.lastInvalidationTime=Mt(),!t.invalid){var e=t.level,r=t.eles,a=this.layersByLevel[e];Ht(a,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var n=0;n3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(i&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var l;r&&(l=r,t.translate(-l.x1,-l.y1));var u=i?e.pstyle("opacity").value:1,f=i?e.pstyle("line-opacity").value:1,h=e.pstyle("curve-style").value,c=e.pstyle("line-style").value,v=e.pstyle("width").pfValue,d=e.pstyle("line-cap").value,g=u*f,y=u*f,p=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:g;h==="straight-triangle"?(s.eleStrokeStyle(t,e,L),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=v,t.lineCap=d,s.eleStrokeStyle(t,e,L),s.drawEdgePath(e,t,o.allpts,c),t.lineCap="butt")},E=function(){n&&s.drawEdgeOverlay(t,e)},m=function(){n&&s.drawEdgeUnderlay(t,e)},T=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:y;s.drawArrowheads(t,e,L)},C=function(){s.drawElementText(t,e,null,a)};t.lineJoin="round";var S=e.pstyle("ghost").value==="yes";if(S){var b=e.pstyle("ghost-offset-x").pfValue,x=e.pstyle("ghost-offset-y").pfValue,w=e.pstyle("ghost-opacity").value,D=g*w;t.translate(b,x),p(D),T(D),t.translate(-b,-x)}m(),p(),T(),E(),C(),r&&t.translate(l.x1,l.y1)}};var gl=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,a){if(a.visible()){var n=a.pstyle("".concat(e,"-opacity")).value;if(n!==0){var i=this,s=i.usePaths(),o=a._private.rscratch,l=a.pstyle("".concat(e,"-padding")).pfValue,u=2*l,f=a.pstyle("".concat(e,"-color")).value;r.lineWidth=u,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",i.colorStrokeStyle(r,f[0],f[1],f[2],n),i.drawEdgePath(a,r,o.allpts,"solid")}}}};Pt.drawEdgeOverlay=gl("overlay");Pt.drawEdgeUnderlay=gl("underlay");Pt.drawEdgePath=function(t,e,r,a){var n=t._private.rscratch,i=e,s,o=!1,l=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,f=t.pstyle("line-dash-offset").pfValue;if(l){var h=r.join("$"),c=n.pathCacheKey&&n.pathCacheKey===h;c?(s=e=n.pathCache,o=!0):(s=e=new Path2D,n.pathCacheKey=h,n.pathCache=s)}if(i.setLineDash)switch(a){case"dotted":i.setLineDash([1,1]);break;case"dashed":i.setLineDash(u),i.lineDashOffset=f;break;case"solid":i.setLineDash([]);break}if(!o&&!n.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),n.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var v=2;v+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(a==null){if(i&&!s.eleTextBiggerThanMin(e))return}else if(a===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e);t.textAlign=l,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,f=e.pstyle("label"),h=e.pstyle("source-label"),c=e.pstyle("target-label");if(u||(!f||!f.value)&&(!h||!h.value)&&(!c||!c.value))return;t.textAlign="center",t.textBaseline="bottom"}var v=!r,d;r&&(d=r,t.translate(-d.x1,-d.y1)),n==null?(s.drawText(t,e,null,v,i),e.isEdge()&&(s.drawText(t,e,"source",v,i),s.drawText(t,e,"target",v,i))):s.drawText(t,e,n,v,i),r&&t.translate(d.x1,d.y1)};fr.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,a=e.pstyle("font-style").strValue,n=e.pstyle("font-size").pfValue+"px",i=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,u=e.pstyle("color").value,f=e.pstyle("text-outline-color").value;t.font=a+" "+s+" "+n+" "+i,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],o),this.colorStrokeStyle(t,f[0],f[1],f[2],l)};function am(t,e,r,a,n){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5;t.beginPath(),t.moveTo(e+i,r),t.lineTo(e+a-i,r),t.quadraticCurveTo(e+a,r,e+a,r+i),t.lineTo(e+a,r+n-i),t.quadraticCurveTo(e+a,r+n,e+a-i,r+n),t.lineTo(e+i,r+n),t.quadraticCurveTo(e,r+n,e,r+n-i),t.lineTo(e,r+i),t.quadraticCurveTo(e,r,e+i,r),t.closePath(),t.fill()}fr.getTextAngle=function(t,e){var r,a=t._private,n=a.rscratch,i=e?e+"-":"",s=t.pstyle(i+"text-rotation"),o=wt(n,"labelAngle",e);return s.strValue==="autorotate"?r=t.isEdge()?o:0:s.strValue==="none"?r=0:r=s.pfValue,r};fr.drawText=function(t,e,r){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=e._private,s=i.rscratch,o=n?e.effectiveOpacity():1;if(!(n&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var l=wt(s,"labelX",r),u=wt(s,"labelY",r),f,h,c=this.getLabelText(e,r);if(c!=null&&c!==""&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(t,e,n);var v=r?r+"-":"",d=wt(s,"labelWidth",r),g=wt(s,"labelHeight",r),y=e.pstyle(v+"text-margin-x").pfValue,p=e.pstyle(v+"text-margin-y").pfValue,E=e.isEdge(),m=e.pstyle("text-halign").value,T=e.pstyle("text-valign").value;E&&(m="center",T="center"),l+=y,u+=p;var C;switch(a?C=this.getTextAngle(e,r):C=0,C!==0&&(f=l,h=u,t.translate(f,h),t.rotate(C),l=0,u=0),T){case"top":break;case"center":u+=g/2;break;case"bottom":u+=g;break}var S=e.pstyle("text-background-opacity").value,b=e.pstyle("text-border-opacity").value,x=e.pstyle("text-border-width").pfValue,w=e.pstyle("text-background-padding").pfValue;if(S>0||x>0&&b>0){var D=l-w;switch(m){case"left":D-=d;break;case"center":D-=d/2;break}var A=u-g-w,L=d+2*w,N=g+2*w;if(S>0){var O=t.fillStyle,P=e.pstyle("text-background-color").value;t.fillStyle="rgba("+P[0]+","+P[1]+","+P[2]+","+S*o+")";var I=e.pstyle("text-background-shape").strValue;I.indexOf("round")===0?am(t,D,A,L,N,2):t.fillRect(D,A,L,N),t.fillStyle=O}if(x>0&&b>0){var k=t.strokeStyle,R=t.lineWidth,B=e.pstyle("text-border-color").value,z=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+B[0]+","+B[1]+","+B[2]+","+b*o+")",t.lineWidth=x,t.setLineDash)switch(z){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=x/4,t.setLineDash([]);break;case"solid":t.setLineDash([]);break}if(t.strokeRect(D,A,L,N),z==="double"){var F=x/2;t.strokeRect(D+F,A+F,L-F*2,N-F*2)}t.setLineDash&&t.setLineDash([]),t.lineWidth=R,t.strokeStyle=k}}var $=2*e.pstyle("text-outline-width").pfValue;if($>0&&(t.lineWidth=$),e.pstyle("text-wrap").value==="wrap"){var U=wt(s,"labelWrapCachedLines",r),V=wt(s,"labelLineHeight",r),H=d/2,Y=this.getLabelJustification(e);switch(Y==="auto"||(m==="left"?Y==="left"?l+=-d:Y==="center"&&(l+=-H):m==="center"?Y==="left"?l+=-H:Y==="right"&&(l+=H):m==="right"&&(Y==="center"?l+=H:Y==="right"&&(l+=d))),T){case"top":u-=(U.length-1)*V;break;case"center":case"bottom":u-=(U.length-1)*V;break}for(var G=0;G0&&t.strokeText(U[G],l,u),t.fillText(U[G],l,u),u+=V}else $>0&&t.strokeText(c,l,u),t.fillText(c,l,u);C!==0&&(t.rotate(-C),t.translate(-f,-h))}}};var zr={};zr.drawNode=function(t,e,r){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,l,u=e._private,f=u.rscratch,h=e.position();if(!(!ae(h.x)||!ae(h.y))&&!(i&&!e.visible())){var c=i?e.effectiveOpacity():1,v=s.usePaths(),d,g=!1,y=e.padding();o=e.width()+2*y,l=e.height()+2*y;var p;r&&(p=r,t.translate(-p.x1,-p.y1));for(var E=e.pstyle("background-image"),m=E.value,T=new Array(m.length),C=new Array(m.length),S=0,b=0;b0&&arguments[0]!==void 0?arguments[0]:N;s.eleFillStyle(t,e,ne)},R=function(){var ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:I;s.colorStrokeStyle(t,O[0],O[1],O[2],ne)},B=e.pstyle("shape").strValue,z=e.pstyle("shape-polygon-points").pfValue;if(v){t.translate(h.x,h.y);var F=s.nodePathCache=s.nodePathCache||[],$=fo(B==="polygon"?B+","+z.join(","):B,""+l,""+o),U=F[$];U!=null?(d=U,g=!0,f.pathCache=d):(d=new Path2D,F[$]=f.pathCache=d)}var V=function(){if(!g){var ne=h;v&&(ne={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(d||t,ne.x,ne.y,o,l)}v?t.fill(d):t.fill()},H=function(){for(var ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:c,le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Ee=u.backgrounding,ge=0,ve=0;ve0&&arguments[0]!==void 0?arguments[0]:!1,le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c;s.hasPie(e)&&(s.drawPie(t,e,le),ne&&(v||s.nodeShapes[s.getNodeShape(e)].draw(t,h.x,h.y,o,l)))},G=function(){var ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:c,le=(A>0?A:-A)*ne,Ee=A>0?0:255;A!==0&&(s.colorFillStyle(t,Ee,Ee,Ee,le),v?t.fill(d):t.fill())},X=function(){if(L>0){if(t.lineWidth=L,t.lineCap="butt",t.setLineDash)switch(P){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}if(v?t.stroke(d):t.stroke(),P==="double"){t.lineWidth=L/3;var ne=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",v?t.stroke(d):t.stroke(),t.globalCompositeOperation=ne}t.setLineDash&&t.setLineDash([])}},K=function(){n&&s.drawNodeOverlay(t,e,h,o,l)},Z=function(){n&&s.drawNodeUnderlay(t,e,h,o,l)},te=function(){s.drawElementText(t,e,null,a)},he=e.pstyle("ghost").value==="yes";if(he){var de=e.pstyle("ghost-offset-x").pfValue,ee=e.pstyle("ghost-offset-y").pfValue,re=e.pstyle("ghost-opacity").value,fe=re*c;t.translate(de,ee),k(re*N),V(),H(fe,!0),R(re*I),X(),Y(A!==0||L!==0),H(fe,!1),G(fe),t.translate(-de,-ee)}v&&t.translate(-h.x,-h.y),Z(),v&&t.translate(h.x,h.y),k(),V(),H(c,!0),R(),X(),Y(A!==0||L!==0),H(c,!1),G(),v&&t.translate(-h.x,-h.y),te(),K(),r&&t.translate(p.x1,p.y1)}};var pl=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,a,n,i,s){var o=this;if(a.visible()){var l=a.pstyle("".concat(e,"-padding")).pfValue,u=a.pstyle("".concat(e,"-opacity")).value,f=a.pstyle("".concat(e,"-color")).value,h=a.pstyle("".concat(e,"-shape")).value;if(u>0){if(n=n||a.position(),i==null||s==null){var c=a.padding();i=a.width()+2*c,s=a.height()+2*c}o.colorFillStyle(r,f[0],f[1],f[2],u),o.nodeShapes[h].draw(r,n.x,n.y,i+l*2,s+l*2),r.fill()}}}};zr.drawNodeOverlay=pl("overlay");zr.drawNodeUnderlay=pl("underlay");zr.hasPie=function(t){return t=t[0],t._private.hasPie};zr.drawPie=function(t,e,r,a){e=e[0],a=a||e.position();var n=e.cy().style(),i=e.pstyle("pie-size"),s=a.x,o=a.y,l=e.width(),u=e.height(),f=Math.min(l,u)/2,h=0,c=this.usePaths();c&&(s=0,o=0),i.units==="%"?f=f*i.pfValue:i.pfValue!==void 0&&(f=i.pfValue/2);for(var v=1;v<=n.pieBackgroundN;v++){var d=e.pstyle("pie-"+v+"-background-size").value,g=e.pstyle("pie-"+v+"-background-color").value,y=e.pstyle("pie-"+v+"-background-opacity").value*r,p=d/100;p+h>1&&(p=1-h);var E=1.5*Math.PI+2*Math.PI*h,m=2*Math.PI*p,T=E+m;d===0||h>=1||h+p>1||(t.beginPath(),t.moveTo(s,o),t.arc(s,o,f,E,T),t.closePath(),this.colorFillStyle(t,g[0],g[1],g[2],y),t.fill(),h+=p)}};var ht={},nm=100;ht.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/e};ht.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,a,n=0;ns.minMbLowQualFrames&&(s.motionBlurPxRatio=s.mbPxRBlurry)),s.clearingMotionBlur&&(s.motionBlurPxRatio=1),s.textureDrawLastFrame&&!h&&(f[s.NODE]=!0,f[s.SELECT_BOX]=!0);var E=l.style(),m=l.zoom(),T=n!==void 0?n:m,C=l.pan(),S={x:C.x,y:C.y},b={zoom:m,pan:{x:C.x,y:C.y}},x=s.prevViewport,w=x===void 0||b.zoom!==x.zoom||b.pan.x!==x.pan.x||b.pan.y!==x.pan.y;!w&&!(g&&!d)&&(s.motionBlurPxRatio=1),i&&(S=i),T*=o,S.x*=o,S.y*=o;var D=s.getCachedZSortedEles();function A(ee,re,fe,se,ne){var le=ee.globalCompositeOperation;ee.globalCompositeOperation="destination-out",s.colorFillStyle(ee,255,255,255,s.motionBlurTransparency),ee.fillRect(re,fe,se,ne),ee.globalCompositeOperation=le}function L(ee,re){var fe,se,ne,le;!s.clearingMotionBlur&&(ee===u.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]||ee===u.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG])?(fe={x:C.x*v,y:C.y*v},se=m*v,ne=s.canvasWidth*v,le=s.canvasHeight*v):(fe=S,se=T,ne=s.canvasWidth,le=s.canvasHeight),ee.setTransform(1,0,0,1,0,0),re==="motionBlur"?A(ee,0,0,ne,le):!e&&(re===void 0||re)&&ee.clearRect(0,0,ne,le),r||(ee.translate(fe.x,fe.y),ee.scale(se,se)),i&&ee.translate(i.x,i.y),n&&ee.scale(n,n)}if(h||(s.textureDrawLastFrame=!1),h){if(s.textureDrawLastFrame=!0,!s.textureCache){s.textureCache={},s.textureCache.bb=l.mutableElements().boundingBox(),s.textureCache.texture=s.data.bufferCanvases[s.TEXTURE_BUFFER];var N=s.data.bufferContexts[s.TEXTURE_BUFFER];N.setTransform(1,0,0,1,0,0),N.clearRect(0,0,s.canvasWidth*s.textureMult,s.canvasHeight*s.textureMult),s.render({forcedContext:N,drawOnlyNodeLayer:!0,forcedPxRatio:o*s.textureMult});var b=s.textureCache.viewport={zoom:l.zoom(),pan:l.pan(),width:s.canvasWidth,height:s.canvasHeight};b.mpan={x:(0-b.pan.x)/b.zoom,y:(0-b.pan.y)/b.zoom}}f[s.DRAG]=!1,f[s.NODE]=!1;var O=u.contexts[s.NODE],P=s.textureCache.texture,b=s.textureCache.viewport;O.setTransform(1,0,0,1,0,0),c?A(O,0,0,b.width,b.height):O.clearRect(0,0,b.width,b.height);var I=E.core("outside-texture-bg-color").value,k=E.core("outside-texture-bg-opacity").value;s.colorFillStyle(O,I[0],I[1],I[2],k),O.fillRect(0,0,b.width,b.height);var m=l.zoom();L(O,!1),O.clearRect(b.mpan.x,b.mpan.y,b.width/b.zoom/o,b.height/b.zoom/o),O.drawImage(P,b.mpan.x,b.mpan.y,b.width/b.zoom/o,b.height/b.zoom/o)}else s.textureOnViewport&&!e&&(s.textureCache=null);var R=l.extent(),B=s.pinching||s.hoverData.dragging||s.swipePanning||s.data.wheelZooming||s.hoverData.draggingEles||s.cy.animated(),z=s.hideEdgesOnViewport&&B,F=[];if(F[s.NODE]=!f[s.NODE]&&c&&!s.clearedForMotionBlur[s.NODE]||s.clearingMotionBlur,F[s.NODE]&&(s.clearedForMotionBlur[s.NODE]=!0),F[s.DRAG]=!f[s.DRAG]&&c&&!s.clearedForMotionBlur[s.DRAG]||s.clearingMotionBlur,F[s.DRAG]&&(s.clearedForMotionBlur[s.DRAG]=!0),f[s.NODE]||r||a||F[s.NODE]){var $=c&&!F[s.NODE]&&v!==1,O=e||($?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]:u.contexts[s.NODE]),U=c&&!$?"motionBlur":void 0;L(O,U),z?s.drawCachedNodes(O,D.nondrag,o,R):s.drawLayeredElements(O,D.nondrag,o,R),s.debug&&s.drawDebugPoints(O,D.nondrag),!r&&!c&&(f[s.NODE]=!1)}if(!a&&(f[s.DRAG]||r||F[s.DRAG])){var $=c&&!F[s.DRAG]&&v!==1,O=e||($?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]:u.contexts[s.DRAG]);L(O,c&&!$?"motionBlur":void 0),z?s.drawCachedNodes(O,D.drag,o,R):s.drawCachedElements(O,D.drag,o,R),s.debug&&s.drawDebugPoints(O,D.drag),!r&&!c&&(f[s.DRAG]=!1)}if(s.showFps||!a&&f[s.SELECT_BOX]&&!r){var O=e||u.contexts[s.SELECT_BOX];if(L(O),s.selection[4]==1&&(s.hoverData.selecting||s.touchData.selecting)){var m=s.cy.zoom(),V=E.core("selection-box-border-width").value/m;O.lineWidth=V,O.fillStyle="rgba("+E.core("selection-box-color").value[0]+","+E.core("selection-box-color").value[1]+","+E.core("selection-box-color").value[2]+","+E.core("selection-box-opacity").value+")",O.fillRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]),V>0&&(O.strokeStyle="rgba("+E.core("selection-box-border-color").value[0]+","+E.core("selection-box-border-color").value[1]+","+E.core("selection-box-border-color").value[2]+","+E.core("selection-box-opacity").value+")",O.strokeRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]))}if(u.bgActivePosistion&&!s.hoverData.selecting){var m=s.cy.zoom(),H=u.bgActivePosistion;O.fillStyle="rgba("+E.core("active-bg-color").value[0]+","+E.core("active-bg-color").value[1]+","+E.core("active-bg-color").value[2]+","+E.core("active-bg-opacity").value+")",O.beginPath(),O.arc(H.x,H.y,E.core("active-bg-size").pfValue/m,0,2*Math.PI),O.fill()}var Y=s.lastRedrawTime;if(s.showFps&&Y){Y=Math.round(Y);var G=Math.round(1e3/Y);O.setTransform(1,0,0,1,0,0),O.fillStyle="rgba(255, 0, 0, 0.75)",O.strokeStyle="rgba(255, 0, 0, 0.75)",O.lineWidth=1,O.fillText("1 frame = "+Y+" ms = "+G+" fps",0,20);var X=60;O.strokeRect(0,30,250,20),O.fillRect(0,30,250*Math.min(G/X,1),20)}r||(f[s.SELECT_BOX]=!1)}if(c&&v!==1){var K=u.contexts[s.NODE],Z=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE],te=u.contexts[s.DRAG],he=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG],de=function(re,fe,se){re.setTransform(1,0,0,1,0,0),se||!p?re.clearRect(0,0,s.canvasWidth,s.canvasHeight):A(re,0,0,s.canvasWidth,s.canvasHeight);var ne=v;re.drawImage(fe,0,0,s.canvasWidth*ne,s.canvasHeight*ne,0,0,s.canvasWidth,s.canvasHeight)};(f[s.NODE]||F[s.NODE])&&(de(K,Z,F[s.NODE]),f[s.NODE]=!1),(f[s.DRAG]||F[s.DRAG])&&(de(te,he,F[s.DRAG]),f[s.DRAG]=!1)}s.prevViewport=b,s.clearingMotionBlur&&(s.clearingMotionBlur=!1,s.motionBlurCleared=!0,s.motionBlur=!0),c&&(s.motionBlurTimeout=setTimeout(function(){s.motionBlurTimeout=null,s.clearedForMotionBlur[s.NODE]=!1,s.clearedForMotionBlur[s.DRAG]=!1,s.motionBlur=!1,s.clearingMotionBlur=!h,s.mbFrames=0,f[s.NODE]=!0,f[s.DRAG]=!0,s.redraw()},nm)),e||l.emit("render")};var Qt={};Qt.drawPolygonPath=function(t,e,r,a,n,i){var s=a/2,o=n/2;t.beginPath&&t.beginPath(),t.moveTo(e+s*i[0],r+o*i[1]);for(var l=1;l0&&s>0){v.clearRect(0,0,i,s),v.globalCompositeOperation="source-over";var d=this.getCachedZSortedEles();if(t.full)v.translate(-a.x1*u,-a.y1*u),v.scale(u,u),this.drawElements(v,d),v.scale(1/u,1/u),v.translate(a.x1*u,a.y1*u);else{var g=e.pan(),y={x:g.x*u,y:g.y*u};u*=e.zoom(),v.translate(y.x,y.y),v.scale(u,u),this.drawElements(v,d),v.scale(1/u,1/u),v.translate(-y.x,-y.y)}t.bg&&(v.globalCompositeOperation="destination-over",v.fillStyle=t.bg,v.rect(0,0,i,s),v.fill())}return c};function im(t,e){for(var r=atob(t),a=new ArrayBuffer(r.length),n=new Uint8Array(a),i=0;i"u"?"undefined":_e(OffscreenCanvas))!=="undefined"?r=new OffscreenCanvas(t,e):(r=document.createElement("canvas"),r.width=t,r.height=e),r};[dl,At,Pt,mi,fr,zr,ht,Qt,wa,bl].forEach(function(t){ce(Ce,t)});var lm=[{name:"null",impl:nl},{name:"base",impl:hl},{name:"canvas",impl:sm}],um=[{type:"layout",extensions:py},{type:"renderer",extensions:lm}],wl={},xl={};function Tl(t,e,r){var a=r,n=function(x){Ae("Can not register `"+e+"` for `"+t+"` since `"+x+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(ua.prototype[e])return n(e);ua.prototype[e]=r}else if(t==="collection"){if(Ke.prototype[e])return n(e);Ke.prototype[e]=r}else if(t==="layout"){for(var i=function(x){this.options=x,r.call(this,x),Te(this._private)||(this._private={}),this._private.cy=x.cy,this._private.listeners=[],this.createEmitter()},s=i.prototype=Object.create(r.prototype),o=[],l=0;ld&&(this.rect.x-=(this.labelWidth-d)/2,this.setWidth(this.labelWidth)),this.labelHeight>g&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-g)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-g),this.setHeight(this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(v){var d=this.rect.x;d>l.WORLD_BOUNDARY?d=l.WORLD_BOUNDARY:d<-l.WORLD_BOUNDARY&&(d=-l.WORLD_BOUNDARY);var g=this.rect.y;g>l.WORLD_BOUNDARY?g=l.WORLD_BOUNDARY:g<-l.WORLD_BOUNDARY&&(g=-l.WORLD_BOUNDARY);var y=new f(d,g),p=v.inverseTransformPoint(y);this.setLocation(p.x,p.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=h},function(r,a,n){function i(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}i.prototype.getX=function(){return this.x},i.prototype.getY=function(){return this.y},i.prototype.setX=function(s){this.x=s},i.prototype.setY=function(s){this.y=s},i.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},i.prototype.getCopy=function(){return new i(this.x,this.y)},i.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=i},function(r,a,n){var i=n(2),s=n(10),o=n(0),l=n(6),u=n(3),f=n(1),h=n(13),c=n(12),v=n(11);function d(y,p,E){i.call(this,E),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=y,p!=null&&p instanceof l?this.graphManager=p:p!=null&&p instanceof Layout&&(this.graphManager=p.graphManager)}d.prototype=Object.create(i.prototype);for(var g in i)d[g]=i[g];d.prototype.getNodes=function(){return this.nodes},d.prototype.getEdges=function(){return this.edges},d.prototype.getGraphManager=function(){return this.graphManager},d.prototype.getParent=function(){return this.parent},d.prototype.getLeft=function(){return this.left},d.prototype.getRight=function(){return this.right},d.prototype.getTop=function(){return this.top},d.prototype.getBottom=function(){return this.bottom},d.prototype.isConnected=function(){return this.isConnected},d.prototype.add=function(y,p,E){if(p==null&&E==null){var m=y;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(m)>-1)throw"Node already in graph!";return m.owner=this,this.getNodes().push(m),m}else{var T=y;if(!(this.getNodes().indexOf(p)>-1&&this.getNodes().indexOf(E)>-1))throw"Source or target not in graph!";if(!(p.owner==E.owner&&p.owner==this))throw"Both owners must be this graph!";return p.owner!=E.owner?null:(T.source=p,T.target=E,T.isInterGraph=!1,this.getEdges().push(T),p.edges.push(T),E!=p&&E.edges.push(T),T)}},d.prototype.remove=function(y){var p=y;if(y instanceof u){if(p==null)throw"Node is null!";if(!(p.owner!=null&&p.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var E=p.edges.slice(),m,T=E.length,C=0;C-1&&x>-1))throw"Source and/or target doesn't know this edge!";m.source.edges.splice(b,1),m.target!=m.source&&m.target.edges.splice(x,1);var S=m.source.owner.getEdges().indexOf(m);if(S==-1)throw"Not in owner's edge list!";m.source.owner.getEdges().splice(S,1)}},d.prototype.updateLeftTop=function(){for(var y=s.MAX_VALUE,p=s.MAX_VALUE,E,m,T,C=this.getNodes(),S=C.length,b=0;bE&&(y=E),p>m&&(p=m)}return y==s.MAX_VALUE?null:(C[0].getParent().paddingLeft!=null?T=C[0].getParent().paddingLeft:T=this.margin,this.left=p-T,this.top=y-T,new c(this.left,this.top))},d.prototype.updateBounds=function(y){for(var p=s.MAX_VALUE,E=-s.MAX_VALUE,m=s.MAX_VALUE,T=-s.MAX_VALUE,C,S,b,x,w,D=this.nodes,A=D.length,L=0;LC&&(p=C),Eb&&(m=b),TC&&(p=C),Eb&&(m=b),T=this.nodes.length){var A=0;E.forEach(function(L){L.owner==y&&A++}),A==this.nodes.length&&(this.isConnected=!0)}},r.exports=d},function(r,a,n){var i,s=n(1);function o(l){i=n(5),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),f=this.add(l,u);return this.setRootGraph(f),this.rootGraph},o.prototype.add=function(l,u,f,h,c){if(f==null&&h==null&&c==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{c=f,h=u,f=l;var v=h.getOwner(),d=c.getOwner();if(!(v!=null&&v.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(d!=null&&d.getGraphManager()==this))throw"Target not in this graph mgr!";if(v==d)return f.isInterGraph=!1,v.add(f,h,c);if(f.isInterGraph=!0,f.source=h,f.target=c,this.edges.indexOf(f)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(f),!(f.source!=null&&f.target!=null))throw"Edge source and/or target is null!";if(!(f.source.edges.indexOf(f)==-1&&f.target.edges.indexOf(f)==-1))throw"Edge already in source and/or target incidency list!";return f.source.edges.push(f),f.target.edges.push(f),f}},o.prototype.remove=function(l){if(l instanceof i){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var f=[];f=f.concat(u.getEdges());for(var h,c=f.length,v=0;v=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var c=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(c=1);var v=c*u[0],d=u[1]/c;u[0]v)return u[0]=f,u[1]=g,u[2]=c,u[3]=D,!1;if(hc)return u[0]=d,u[1]=h,u[2]=x,u[3]=v,!1;if(fc?(u[0]=p,u[1]=E,O=!0):(u[0]=y,u[1]=g,O=!0):I===R&&(f>c?(u[0]=d,u[1]=g,O=!0):(u[0]=m,u[1]=E,O=!0)),-k===R?c>f?(u[2]=w,u[3]=D,P=!0):(u[2]=x,u[3]=b,P=!0):k===R&&(c>f?(u[2]=S,u[3]=b,P=!0):(u[2]=A,u[3]=D,P=!0)),O&&P)return!1;if(f>c?h>v?(B=this.getCardinalDirection(I,R,4),z=this.getCardinalDirection(k,R,2)):(B=this.getCardinalDirection(-I,R,3),z=this.getCardinalDirection(-k,R,1)):h>v?(B=this.getCardinalDirection(-I,R,1),z=this.getCardinalDirection(-k,R,3)):(B=this.getCardinalDirection(I,R,2),z=this.getCardinalDirection(k,R,4)),!O)switch(B){case 1:$=g,F=f+-C/R,u[0]=F,u[1]=$;break;case 2:F=m,$=h+T*R,u[0]=F,u[1]=$;break;case 3:$=E,F=f+C/R,u[0]=F,u[1]=$;break;case 4:F=p,$=h+-T*R,u[0]=F,u[1]=$;break}if(!P)switch(z){case 1:V=b,U=c+-N/R,u[2]=U,u[3]=V;break;case 2:U=A,V=v+L*R,u[2]=U,u[3]=V;break;case 3:V=D,U=c+N/R,u[2]=U,u[3]=V;break;case 4:U=w,V=v+-L*R,u[2]=U,u[3]=V;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,f){if(f==null)return this.getIntersection2(o,l,u);var h=o.x,c=o.y,v=l.x,d=l.y,g=u.x,y=u.y,p=f.x,E=f.y,m=void 0,T=void 0,C=void 0,S=void 0,b=void 0,x=void 0,w=void 0,D=void 0,A=void 0;return C=d-c,b=h-v,w=v*c-h*d,S=E-y,x=g-p,D=p*y-g*E,A=C*x-S*b,A===0?null:(m=(b*D-x*w)/A,T=(S*w-C*D)/A,new i(m,T))},s.angleOfVector=function(o,l,u,f){var h=void 0;return o!==u?(h=Math.atan((f-l)/(u-o)),u0?1:s<0?-1:0},i.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},i.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=i},function(r,a,n){function i(){}i.MAX_VALUE=2147483647,i.MIN_VALUE=-2147483648,r.exports=i},function(r,a,n){var i=function(){function h(c,v){for(var d=0;d"u"?"undefined":i(o);return o==null||l!="object"&&l!="function"},r.exports=s},function(r,a,n){function i(g){if(Array.isArray(g)){for(var y=0,p=Array(g.length);y0&&y;){for(C.push(b[0]);C.length>0&&y;){var x=C[0];C.splice(0,1),T.add(x);for(var w=x.getEdges(),m=0;m-1&&b.splice(N,1)}T=new Set,S=new Map}}return g},d.prototype.createDummyNodesForBendpoints=function(g){for(var y=[],p=g.source,E=this.graphManager.calcLowestCommonAncestor(g.source,g.target),m=0;m0){for(var E=this.edgeToDummyNodes.get(p),m=0;m=0&&y.splice(D,1);var A=S.getNeighborsList();A.forEach(function(O){if(p.indexOf(O)<0){var P=E.get(O),I=P-1;I==1&&x.push(O),E.set(O,I)}})}p=p.concat(x),(y.length==1||y.length==2)&&(m=!0,T=y[0])}return T},d.prototype.setGraphManager=function(g){this.graphManager=g},r.exports=d},function(r,a,n){function i(){}i.seed=1,i.x=0,i.nextDouble=function(){return i.x=Math.sin(i.seed++)*1e4,i.x-Math.floor(i.x)},r.exports=i},function(r,a,n){var i=n(4);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new i(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s},function(r,a,n){function i(v){if(Array.isArray(v)){for(var d=0,g=Array(v.length);do.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(v-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(v>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(v-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var v=this.getAllEdges(),d,g=0;g0&&arguments[0]!==void 0?arguments[0]:!0,d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,g,y,p,E,m=this.getAllNodes(),T;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&v&&this.updateGrid(),T=new Set,g=0;gC||T>C)&&(v.gravitationForceX=-this.gravityConstant*p,v.gravitationForceY=-this.gravityConstant*E)):(C=d.getEstimatedSize()*this.compoundGravityRangeFactor,(m>C||T>C)&&(v.gravitationForceX=-this.gravityConstant*p*this.compoundGravityConstant,v.gravitationForceY=-this.gravityConstant*E*this.compoundGravityConstant))},h.prototype.isConverged=function(){var v,d=!1;return this.totalIterations>this.maxIterations/3&&(d=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),v=this.totalDisplacement=m.length||C>=m[0].length)){for(var S=0;Sh}}]),u}();r.exports=l},function(r,a,n){var i=function(){function l(u,f){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,v=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=f,this.match_score=h,this.mismatch_penalty=c,this.gap_penalty=v,this.iMax=u.length+1,this.jMax=f.length+1,this.grid=new Array(this.iMax);for(var d=0;d=0;u--){var f=this.listeners[u];f.event===o&&f.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;uf.coolingFactor*f.maxNodeDisplacement&&(this.displacementX=f.coolingFactor*f.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>f.coolingFactor*f.maxNodeDisplacement&&(this.displacementY=f.coolingFactor*f.maxNodeDisplacement*o.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),f.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},l.prototype.propogateDisplacementToChildren=function(f,h){for(var c=this.getChild().getNodes(),v,d=0;d0)this.positionNodesRadially(b);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var x=new Set(this.getAllNodes()),w=this.nodesWithGravity.filter(function(D){return x.has(D)});this.graphManager.setAllNodesToApplyGravitation(w),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},C.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%c.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 b=new Set(this.getAllNodes()),x=this.nodesWithGravity.filter(function(A){return b.has(A)});this.graphManager.setAllNodesToApplyGravitation(x),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=c.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=c.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var w=!this.isTreeGrowing&&!this.isGrowthFinished,D=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(w,D),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},C.prototype.getPositionsData=function(){for(var b=this.graphManager.getAllNodes(),x={},w=0;w1){var O;for(O=0;OD&&(D=Math.floor(N.y)),L=Math.floor(N.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new g(v.WORLD_CENTER_X-N.x/2,v.WORLD_CENTER_Y-N.y/2))},C.radialLayout=function(b,x,w){var D=Math.max(this.maxDiagonalInTree(b),h.DEFAULT_RADIAL_SEPARATION);C.branchRadialLayout(x,null,0,359,0,D);var A=m.calculateBounds(b),L=new T;L.setDeviceOrgX(A.getMinX()),L.setDeviceOrgY(A.getMinY()),L.setWorldOrgX(w.x),L.setWorldOrgY(w.y);for(var N=0;N1;){var V=U[0];U.splice(0,1);var H=R.indexOf(V);H>=0&&R.splice(H,1),F--,B--}x!=null?$=(R.indexOf(U[0])+1)%F:$=0;for(var Y=Math.abs(D-w)/B,G=$;z!=B;G=++G%F){var X=R[G].getOtherEnd(b);if(X!=x){var K=(w+z*Y)%360,Z=(K+Y)%360;C.branchRadialLayout(X,b,K,Z,A+L,L),z++}}},C.maxDiagonalInTree=function(b){for(var x=p.MIN_VALUE,w=0;wx&&(x=A)}return x},C.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},C.prototype.groupZeroDegreeMembers=function(){var b=this,x={};this.memberGroups={},this.idToDummyNode={};for(var w=[],D=this.graphManager.getAllNodes(),A=0;A"u"&&(x[O]=[]),x[O]=x[O].concat(L)}Object.keys(x).forEach(function(P){if(x[P].length>1){var I="DummyCompound_"+P;b.memberGroups[I]=x[P];var k=x[P][0].getParent(),R=new u(b.graphManager);R.id=I,R.paddingLeft=k.paddingLeft||0,R.paddingRight=k.paddingRight||0,R.paddingBottom=k.paddingBottom||0,R.paddingTop=k.paddingTop||0,b.idToDummyNode[I]=R;var B=b.getGraphManager().add(b.newGraph(),R),z=k.getChild();z.add(R);for(var F=0;F=0;b--){var x=this.compoundOrder[b],w=x.id,D=x.paddingLeft,A=x.paddingTop;this.adjustLocations(this.tiledMemberPack[w],x.rect.x,x.rect.y,D,A)}},C.prototype.repopulateZeroDegreeMembers=function(){var b=this,x=this.tiledZeroDegreePack;Object.keys(x).forEach(function(w){var D=b.idToDummyNode[w],A=D.paddingLeft,L=D.paddingTop;b.adjustLocations(x[w],D.rect.x,D.rect.y,A,L)})},C.prototype.getToBeTiled=function(b){var x=b.id;if(this.toBeTiled[x]!=null)return this.toBeTiled[x];var w=b.getChild();if(w==null)return this.toBeTiled[x]=!1,!1;for(var D=w.getNodes(),A=0;A0)return this.toBeTiled[x]=!1,!1;if(L.getChild()==null){this.toBeTiled[L.id]=!1;continue}if(!this.getToBeTiled(L))return this.toBeTiled[x]=!1,!1}return this.toBeTiled[x]=!0,!0},C.prototype.getNodeDegree=function(b){b.id;for(var x=b.getEdges(),w=0,D=0;DP&&(P=k.rect.height)}w+=P+b.verticalPadding}},C.prototype.tileCompoundMembers=function(b,x){var w=this;this.tiledMemberPack=[],Object.keys(b).forEach(function(D){var A=x[D];w.tiledMemberPack[D]=w.tileNodes(b[D],A.paddingLeft+A.paddingRight),A.rect.width=w.tiledMemberPack[D].width,A.rect.height=w.tiledMemberPack[D].height})},C.prototype.tileNodes=function(b,x){var w=h.TILING_PADDING_VERTICAL,D=h.TILING_PADDING_HORIZONTAL,A={rows:[],rowWidth:[],rowHeight:[],width:0,height:x,verticalPadding:w,horizontalPadding:D};b.sort(function(O,P){return O.rect.width*O.rect.height>P.rect.width*P.rect.height?-1:O.rect.width*O.rect.height0&&(N+=b.horizontalPadding),b.rowWidth[w]=N,b.width0&&(O+=b.verticalPadding);var P=0;O>b.rowHeight[w]&&(P=b.rowHeight[w],b.rowHeight[w]=O,P=b.rowHeight[w]-P),b.height+=P,b.rows[w].push(x)},C.prototype.getShortestRowIndex=function(b){for(var x=-1,w=Number.MAX_VALUE,D=0;Dw&&(x=D,w=b.rowWidth[D]);return x},C.prototype.canAddHorizontal=function(b,x,w){var D=this.getShortestRowIndex(b);if(D<0)return!0;var A=b.rowWidth[D];if(A+b.horizontalPadding+x<=b.width)return!0;var L=0;b.rowHeight[D]0&&(L=w+b.verticalPadding-b.rowHeight[D]);var N;b.width-A>=x+b.horizontalPadding?N=(b.height+L)/(A+x+b.horizontalPadding):N=(b.height+L)/b.width,L=w+b.verticalPadding;var O;return b.widthL&&x!=w){D.splice(-1,1),b.rows[w].push(A),b.rowWidth[x]=b.rowWidth[x]-L,b.rowWidth[w]=b.rowWidth[w]+L,b.width=b.rowWidth[instance.getLongestRowIndex(b)];for(var N=Number.MIN_VALUE,O=0;ON&&(N=D[O].height);x>0&&(N+=b.verticalPadding);var P=b.rowHeight[x]+b.rowHeight[w];b.rowHeight[x]=N,b.rowHeight[w]0)for(var z=A;z<=L;z++)B[0]+=this.grid[z][N-1].length+this.grid[z][N].length-1;if(L0)for(var z=N;z<=O;z++)B[3]+=this.grid[A-1][z].length+this.grid[A][z].length-1;for(var F=p.MAX_VALUE,$,U,V=0;V0){var O;O=T.getGraphManager().add(T.newGraph(),w),this.processChildrenList(O,x,T)}}},g.prototype.stop=function(){return this.stopped=!0,this};var p=function(m){m("layout","cose-bilkent",g)};typeof cytoscape<"u"&&p(cytoscape),a.exports=p}])})})(Sl);var gm=Sl.exports;const pm=Or(gm);var Wn=function(){var t=function(T,C,S,b){for(S=S||{},b=T.length;b--;S[T[b]]=C);return S},e=[1,4],r=[1,13],a=[1,12],n=[1,15],i=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],f=[1,24],h=[1,25],c=[6,7,11],v=[1,6,13,15,16,19,22],d=[1,33],g=[1,34],y=[1,6,7,11,13,15,16,19,22],p={trace:function(){},yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:function(C,S,b,x,w,D,A){var L=D.length-1;switch(w){case 6:case 7:return x;case 8:x.getLogger().trace("Stop NL ");break;case 9:x.getLogger().trace("Stop EOF ");break;case 11:x.getLogger().trace("Stop NL2 ");break;case 12:x.getLogger().trace("Stop EOF2 ");break;case 15:x.getLogger().info("Node: ",D[L].id),x.addNode(D[L-1].length,D[L].id,D[L].descr,D[L].type);break;case 16:x.getLogger().trace("Icon: ",D[L]),x.decorateNode({icon:D[L]});break;case 17:case 21:x.decorateNode({class:D[L]});break;case 18:x.getLogger().trace("SPACELIST");break;case 19:x.getLogger().trace("Node: ",D[L].id),x.addNode(0,D[L].id,D[L].descr,D[L].type);break;case 20:x.decorateNode({icon:D[L]});break;case 25:x.getLogger().trace("node found ..",D[L-2]),this.$={id:D[L-1],descr:D[L-1],type:x.getType(D[L-2],D[L])};break;case 26:this.$={id:D[L],descr:D[L],type:x.nodeType.DEFAULT};break;case 27:x.getLogger().trace("node found ..",D[L-3]),this.$={id:D[L-3],descr:D[L-1],type:x.getType(D[L-2],D[L])};break}},table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},{6:r,9:22,12:11,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},{6:u,7:f,10:23,11:h},t(c,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:o}),t(c,[2,18]),t(c,[2,19]),t(c,[2,20]),t(c,[2,21]),t(c,[2,23]),t(c,[2,24]),t(c,[2,26],{19:[1,30]}),{20:[1,31]},{6:u,7:f,10:32,11:h},{1:[2,7],6:r,12:21,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},t(v,[2,14],{7:d,11:g}),t(y,[2,8]),t(y,[2,9]),t(y,[2,10]),t(c,[2,15]),t(c,[2,16]),t(c,[2,17]),{20:[1,35]},{21:[1,36]},t(v,[2,13],{7:d,11:g}),t(y,[2,11]),t(y,[2,12]),{21:[1,37]},t(c,[2,25]),t(c,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(C,S){if(S.recoverable)this.trace(C);else{var b=new Error(C);throw b.hash=S,b}},parse:function(C){var S=this,b=[0],x=[],w=[null],D=[],A=this.table,L="",N=0,O=0,P=2,I=1,k=D.slice.call(arguments,1),R=Object.create(this.lexer),B={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(B.yy[z]=this.yy[z]);R.setInput(C,B.yy),B.yy.lexer=R,B.yy.parser=this,typeof R.yylloc>"u"&&(R.yylloc={});var F=R.yylloc;D.push(F);var $=R.options&&R.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(){var ee;return ee=x.pop()||R.lex()||I,typeof ee!="number"&&(ee instanceof Array&&(x=ee,ee=x.pop()),ee=S.symbols_[ee]||ee),ee}for(var V,H,Y,G,X={},K,Z,te,he;;){if(H=b[b.length-1],this.defaultActions[H]?Y=this.defaultActions[H]:((V===null||typeof V>"u")&&(V=U()),Y=A[H]&&A[H][V]),typeof Y>"u"||!Y.length||!Y[0]){var de="";he=[];for(K in A[H])this.terminals_[K]&&K>P&&he.push("'"+this.terminals_[K]+"'");R.showPosition?de="Parse error on line "+(N+1)+`: -`+R.showPosition()+` -Expecting `+he.join(", ")+", got '"+(this.terminals_[V]||V)+"'":de="Parse error on line "+(N+1)+": Unexpected "+(V==I?"end of input":"'"+(this.terminals_[V]||V)+"'"),this.parseError(de,{text:R.match,token:this.terminals_[V]||V,line:R.yylineno,loc:F,expected:he})}if(Y[0]instanceof Array&&Y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+H+", token: "+V);switch(Y[0]){case 1:b.push(V),w.push(R.yytext),D.push(R.yylloc),b.push(Y[1]),V=null,O=R.yyleng,L=R.yytext,N=R.yylineno,F=R.yylloc;break;case 2:if(Z=this.productions_[Y[1]][1],X.$=w[w.length-Z],X._$={first_line:D[D.length-(Z||1)].first_line,last_line:D[D.length-1].last_line,first_column:D[D.length-(Z||1)].first_column,last_column:D[D.length-1].last_column},$&&(X._$.range=[D[D.length-(Z||1)].range[0],D[D.length-1].range[1]]),G=this.performAction.apply(X,[L,O,N,B.yy,Y[1],w,D].concat(k)),typeof G<"u")return G;Z&&(b=b.slice(0,-1*Z*2),w=w.slice(0,-1*Z),D=D.slice(0,-1*Z)),b.push(this.productions_[Y[1]][0]),w.push(X.$),D.push(X._$),te=A[b[b.length-2]][b[b.length-1]],b.push(te);break;case 3:return!0}}return!0}},E=function(){var T={EOF:1,parseError:function(S,b){if(this.yy.parser)this.yy.parser.parseError(S,b);else throw new Error(S)},setInput:function(C,S){return this.yy=S||this.yy||{},this._input=C,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var S=C.match(/(?:\r\n?|\n).*/g);return S?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},unput:function(C){var S=C.length,b=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-S),this.offset-=S;var x=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),b.length-1&&(this.yylineno-=b.length-1);var w=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:b?(b.length===x.length?this.yylloc.first_column:0)+x[x.length-b.length].length-b[0].length:this.yylloc.first_column-S},this.options.ranges&&(this.yylloc.range=[w[0],w[0]+this.yyleng-S]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(C){this.unput(this.match.slice(C))},pastInput:function(){var C=this.matched.substr(0,this.matched.length-this.match.length);return(C.length>20?"...":"")+C.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var C=this.match;return C.length<20&&(C+=this._input.substr(0,20-C.length)),(C.substr(0,20)+(C.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var C=this.pastInput(),S=new Array(C.length+1).join("-");return C+this.upcomingInput()+` -`+S+"^"},test_match:function(C,S){var b,x,w;if(this.options.backtrack_lexer&&(w={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(w.yylloc.range=this.yylloc.range.slice(0))),x=C[0].match(/(?:\r\n?|\n).*/g),x&&(this.yylineno+=x.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:x?x[x.length-1].length-x[x.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+C[0].length},this.yytext+=C[0],this.match+=C[0],this.matches=C,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(C[0].length),this.matched+=C[0],b=this.performAction.call(this,this.yy,this,S,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),b)return b;if(this._backtrack){for(var D in w)this[D]=w[D];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,S,b,x;this._more||(this.yytext="",this.match="");for(var w=this._currentRules(),D=0;DS[0].length)){if(S=b,x=D,this.options.backtrack_lexer){if(C=this.test_match(b,w[D]),C!==!1)return C;if(this._backtrack){S=!1;continue}else return!1}else if(!this.options.flex)break}return S?(C=this.test_match(S,w[x]),C!==!1?C:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var S=this.next();return S||this.lex()},begin:function(S){this.conditionStack.push(S)},popState:function(){var S=this.conditionStack.length-1;return S>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(S){return S=this.conditionStack.length-1-Math.abs(S||0),S>=0?this.conditionStack[S]:"INITIAL"},pushState:function(S){this.begin(S)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(S,b,x,w){switch(x){case 0:return S.getLogger().trace("Found comment",b.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:S.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return S.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:S.getLogger().trace("end icon"),this.popState();break;case 10:return S.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return S.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return S.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return S.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:S.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return S.getLogger().trace("description:",b.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),S.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),S.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),S.getLogger().trace("node end ...",b.yytext),"NODE_DEND";case 30:return this.popState(),S.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),S.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),S.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),S.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),S.getLogger().trace("node end (("),"NODE_DEND";case 35:return S.getLogger().trace("Long description:",b.yytext),20;case 36:return S.getLogger().trace("Long description:",b.yytext),20}},rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return T}();p.lexer=E;function m(){this.yy={}}return m.prototype=p,p.Parser=m,new m}();Wn.parser=Wn;const ym=Wn,fa=t=>Ul(t,jr());let gt=[],Ll=0,bi={};const mm=()=>{gt=[],Ll=0,bi={}},bm=function(t){for(let e=gt.length-1;e>=0;e--)if(gt[e].levelgt.length>0?gt[0]:null,wm=(t,e,r,a)=>{lr.info("addNode",t,e,r,a);const n=jr(),i={id:Ll++,nodeId:fa(e),level:t,descr:fa(r),type:a,children:[],width:jr().mindmap.maxNodeWidth};switch(i.type){case Me.ROUNDED_RECT:i.padding=2*n.mindmap.padding;break;case Me.RECT:i.padding=2*n.mindmap.padding;break;case Me.HEXAGON:i.padding=2*n.mindmap.padding;break;default:i.padding=n.mindmap.padding}const s=bm(t);if(s)s.children.push(i),gt.push(i);else if(gt.length===0)gt.push(i);else{let o=new Error('There can be only one root. No parent could be found for ("'+i.descr+'")');throw o.hash={text:"branch "+name,token:"branch "+name,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+name+'"']},o}},Me={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},xm=(t,e)=>{switch(lr.debug("In get type",t,e),t){case"[":return Me.RECT;case"(":return e===")"?Me.ROUNDED_RECT:Me.CLOUD;case"((":return Me.CIRCLE;case")":return Me.CLOUD;case"))":return Me.BANG;case"{{":return Me.HEXAGON;default:return Me.DEFAULT}},Al=(t,e)=>{bi[t]=e},Tm=t=>{const e=gt[gt.length-1];t&&t.icon&&(e.icon=fa(t.icon)),t&&t.class&&(e.class=fa(t.class))},hr=t=>{switch(t){case Me.DEFAULT:return"no-border";case Me.RECT:return"rect";case Me.ROUNDED_RECT:return"rounded-rect";case Me.CIRCLE:return"circle";case Me.CLOUD:return"cloud";case Me.BANG:return"bang";case Me.HEXAGON:return"hexgon";default:return"no-border"}};let Ol;const Cm=t=>{Ol=t},Dm=()=>lr,Sm=t=>gt[t],Ei=t=>bi[t],Lm=Object.freeze(Object.defineProperty({__proto__:null,addNode:wm,clear:mm,decorateNode:Tm,getElementById:Ei,getLogger:Dm,getMindmap:Em,getNodeById:Sm,getType:xm,nodeType:Me,get parseError(){return Ol},sanitizeText:fa,setElementForId:Al,setErrorHandler:Cm,type2Str:hr},Symbol.toStringTag,{value:"Module"})),Nl=12,Am=function(t,e,r){t.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+hr(e.type)).attr("d",`M0 ${e.height-5} v${-e.height+2*5} q0,-5 5,-5 h${e.width-2*5} q5,0 5,5 v${e.height-5} H0 Z`),t.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},Om=function(t,e){t.append("rect").attr("id","node-"+e.id).attr("class","node-bkg node-"+hr(e.type)).attr("height",e.height).attr("width",e.width)},Nm=function(t,e){const r=e.width,a=e.height,n=.15*r,i=.25*r,s=.35*r,o=.2*r;t.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+hr(e.type)).attr("d",`M0 0 a${n},${n} 0 0,1 ${r*.25},${-1*r*.1} - a${s},${s} 1 0,1 ${r*.4},${-1*r*.1} - a${i},${i} 1 0,1 ${r*.35},${1*r*.2} - - a${n},${n} 1 0,1 ${r*.15},${1*a*.35} - a${o},${o} 1 0,1 ${-1*r*.15},${1*a*.65} - - a${i},${n} 1 0,1 ${-1*r*.25},${r*.15} - a${s},${s} 1 0,1 ${-1*r*.5},0 - a${n},${n} 1 0,1 ${-1*r*.25},${-1*r*.15} - - a${n},${n} 1 0,1 ${-1*r*.1},${-1*a*.35} - a${o},${o} 1 0,1 ${r*.1},${-1*a*.65} - - H0 V0 Z`)},Mm=function(t,e){const r=e.width,a=e.height,n=.15*r;t.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+hr(e.type)).attr("d",`M0 0 a${n},${n} 1 0,0 ${r*.25},${-1*a*.1} - a${n},${n} 1 0,0 ${r*.25},0 - a${n},${n} 1 0,0 ${r*.25},0 - a${n},${n} 1 0,0 ${r*.25},${1*a*.1} - - a${n},${n} 1 0,0 ${r*.15},${1*a*.33} - a${n*.8},${n*.8} 1 0,0 0,${1*a*.34} - a${n},${n} 1 0,0 ${-1*r*.15},${1*a*.33} - - a${n},${n} 1 0,0 ${-1*r*.25},${a*.15} - a${n},${n} 1 0,0 ${-1*r*.25},0 - a${n},${n} 1 0,0 ${-1*r*.25},0 - a${n},${n} 1 0,0 ${-1*r*.25},${-1*a*.15} - - a${n},${n} 1 0,0 ${-1*r*.1},${-1*a*.33} - a${n*.8},${n*.8} 1 0,0 0,${-1*a*.34} - a${n},${n} 1 0,0 ${r*.1},${-1*a*.33} - - H0 V0 Z`)},Im=function(t,e){t.append("circle").attr("id","node-"+e.id).attr("class","node-bkg node-"+hr(e.type)).attr("r",e.width/2)};function Rm(t,e,r,a,n){return t.insert("polygon",":first-child").attr("points",a.map(function(i){return i.x+","+i.y}).join(" ")).attr("transform","translate("+(n.width-e)/2+", "+r+")")}const km=function(t,e){const r=e.height,n=r/4,i=e.width-e.padding+2*n,s=[{x:n,y:0},{x:i-n,y:0},{x:i,y:-r/2},{x:i-n,y:-r},{x:n,y:-r},{x:0,y:-r/2}];Rm(t,i,r,s,e)},Pm=function(t,e){t.append("rect").attr("id","node-"+e.id).attr("class","node-bkg node-"+hr(e.type)).attr("height",e.height).attr("rx",e.padding).attr("ry",e.padding).attr("width",e.width)},Bm=function(t,e,r,a){const n=a.htmlLabels,i=r%(Nl-1),s=t.append("g");e.section=i;let o="section-"+i;i<0&&(o+=" section-root"),s.attr("class",(e.class?e.class+" ":"")+"mindmap-node "+o);const l=s.append("g"),u=s.append("g"),f=e.descr.replace(/()/g,` -`);Wl(u,f,{useHtmlLabels:n,width:e.width,classes:"mindmap-node-label"}),n||u.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const h=u.node().getBBox(),c=a.fontSize.replace?a.fontSize.replace("px",""):a.fontSize;if(e.height=h.height+c*1.1*.5+e.padding,e.width=h.width+2*e.padding,e.icon)if(e.type===Me.CIRCLE)e.height+=50,e.width+=50,s.append("foreignObject").attr("height","50px").attr("width",e.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+i+" "+e.icon),u.attr("transform","translate("+e.width/2+", "+(e.height/2-1.5*e.padding)+")");else{e.width+=50;const v=e.height;e.height=Math.max(v,60);const d=Math.abs(e.height-v);s.append("foreignObject").attr("width","60px").attr("height",e.height).attr("style","text-align: center;margin-top:"+d/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+i+" "+e.icon),u.attr("transform","translate("+(25+e.width/2)+", "+(d/2+e.padding/2)+")")}else if(n){const v=(e.width-h.width)/2,d=(e.height-h.height)/2;u.attr("transform","translate("+v+", "+d+")")}else{const v=e.width/2,d=e.padding/2;u.attr("transform","translate("+v+", "+d+")")}switch(e.type){case Me.DEFAULT:Am(l,e,i);break;case Me.ROUNDED_RECT:Pm(l,e);break;case Me.RECT:Om(l,e);break;case Me.CIRCLE:l.attr("transform","translate("+e.width/2+", "+ +e.height/2+")"),Im(l,e);break;case Me.CLOUD:Nm(l,e);break;case Me.BANG:Mm(l,e);break;case Me.HEXAGON:km(l,e);break}return Al(e.id,s),e.height},Fm=function(e,r,a,n,i){const s=i%(Nl-1),o=a.x+a.width/2,l=a.y+a.height/2,u=r.x+r.width/2,f=r.y+r.height/2,h=u>o?o+Math.abs(o-u)/2:o-Math.abs(o-u)/2,c=f>l?l+Math.abs(l-f)/2:l-Math.abs(l-f)/2,v=u>o?Math.abs(o-h)/2+o:-Math.abs(o-h)/2+o,d=f>l?Math.abs(l-c)/2+l:-Math.abs(l-c)/2+l;e.append("path").attr("d",a.direction==="TB"||a.direction==="BT"?`M${o},${l} Q${o},${d} ${h},${c} T${u},${f}`:`M${o},${l} Q${v},${l} ${h},${c} T${u},${f}`).attr("class","edge section-edge-"+s+" edge-depth-"+n)},Gm=function(t){const e=Ei(t.id),r=t.x||0,a=t.y||0;e.attr("transform","translate("+r+","+a+")")},Ml={drawNode:Bm,positionNode:Gm,drawEdge:Fm};Kt.use(pm);function Il(t,e,r,a){Ml.drawNode(t,e,r,a),e.children&&e.children.forEach((n,i)=>{Il(t,n,r<0?i:r,a)})}function zm(t,e){e.edges().map((r,a)=>{const n=r.data();if(r[0]._private.bodyBounds){const i=r[0]._private.rscratch;lr.trace("Edge: ",a,n),t.insert("path").attr("d",`M ${i.startX},${i.startY} L ${i.midX},${i.midY} L${i.endX},${i.endY} `).attr("class","edge section-edge-"+n.section+" edge-depth-"+n.depth)}})}function Rl(t,e,r,a){e.add({group:"nodes",data:{id:t.id,labelText:t.descr,height:t.height,width:t.width,level:a,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach(n=>{Rl(n,e,r,a+1),e.add({group:"edges",data:{id:`${t.id}_${n.id}`,source:t.id,target:n.id,depth:a,section:n.section}})})}function $m(t,e){return new Promise(r=>{const a=Ba("body").append("div").attr("id","cy").attr("style","display:none"),n=Kt({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});a.remove(),Rl(t,n,e,0),n.nodes().forEach(function(i){i.layoutDimensions=()=>{const s=i.data();return{w:s.width,h:s.height}}}),n.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),n.ready(i=>{lr.info("Ready",i),r(n)})})}function Vm(t){t.nodes().map((e,r)=>{const a=e.data();a.x=e.position().x,a.y=e.position().y,Ml.positionNode(a);const n=Ei(a.nodeId);lr.info("Id:",r,"Position: (",e.position().x,", ",e.position().y,")",a),n.attr("transform",`translate(${e.position().x-a.width/2}, ${e.position().y-a.height/2})`),n.attr("attr",`apa-${r})`)})}const _m=async(t,e,r,a)=>{const n=jr();n.htmlLabels=!1,lr.debug(`Rendering mindmap diagram -`+t,a.parser);const i=jr().securityLevel;let s;i==="sandbox"&&(s=Ba("#i"+e));const l=(i==="sandbox"?Ba(s.nodes()[0].contentDocument.body):Ba("body")).select("#"+e);l.append("g");const u=a.db.getMindmap(),f=l.append("g");f.attr("class","mindmap-edges");const h=l.append("g");h.attr("class","mindmap-nodes"),Il(h,u,-1,n);const c=await $m(u,n);zm(f,c),Vm(c),Yl(void 0,l,n.mindmap.padding,n.mindmap.useMaxWidth)},Um={draw:_m},Ym=t=>{let e="";for(let r=0;r` - .edge { - stroke-width: 3; - } - ${Ym(t)} - .section-root rect, .section-root path, .section-root circle, .section-root polygon { - fill: ${t.git0}; - } - .section-root text { - fill: ${t.gitBranchLabel0}; - } - .icon-container { - height:100%; - display: flex; - justify-content: center; - align-items: center; - } - .edge { - fill: none; - } - .mindmap-node-label { - dy: 1em; - alignment-baseline: middle; - text-anchor: middle; - dominant-baseline: middle; - text-align: center; - } -`,Xm=Hm,Qm={db:Lm,renderer:Um,parser:ym,styles:Xm};export{Qm as diagram}; diff --git a/pr-333/assets/chunks/ordinal.b935e931.js b/pr-333/assets/chunks/ordinal.b935e931.js deleted file mode 100644 index 49383dcca..000000000 --- a/pr-333/assets/chunks/ordinal.b935e931.js +++ /dev/null @@ -1 +0,0 @@ -import{i as a}from"./init.77b53fdd.js";class o extends Map{constructor(n,t=g){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),n!=null)for(const[r,s]of n)this.set(r,s)}get(n){return super.get(c(this,n))}has(n){return super.has(c(this,n))}set(n,t){return super.set(l(this,n),t)}delete(n){return super.delete(p(this,n))}}function c({_intern:e,_key:n},t){const r=n(t);return e.has(r)?e.get(r):t}function l({_intern:e,_key:n},t){const r=n(t);return e.has(r)?e.get(r):(e.set(r,t),t)}function p({_intern:e,_key:n},t){const r=n(t);return e.has(r)&&(t=e.get(r),e.delete(r)),t}function g(e){return e!==null&&typeof e=="object"?e.valueOf():e}const f=Symbol("implicit");function h(){var e=new o,n=[],t=[],r=f;function s(u){let i=e.get(u);if(i===void 0){if(r!==f)return r;e.set(u,i=n.push(u)-1)}return t[i%t.length]}return s.domain=function(u){if(!arguments.length)return n.slice();n=[],e=new o;for(const i of u)e.has(i)||e.set(i,n.push(i)-1);return s},s.range=function(u){return arguments.length?(t=Array.from(u),s):t.slice()},s.unknown=function(u){return arguments.length?(r=u,s):r},s.copy=function(){return h(n,t).unknown(r)},a.apply(s,arguments),s}export{h as o}; diff --git a/pr-333/assets/chunks/path.53f90ab3.js b/pr-333/assets/chunks/path.53f90ab3.js deleted file mode 100644 index f55758f48..000000000 --- a/pr-333/assets/chunks/path.53f90ab3.js +++ /dev/null @@ -1 +0,0 @@ -const c=Math.PI,x=2*c,u=1e-6,m=x-u;function E(e){this._+=e[0];for(let t=1,h=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return E;const h=10**t;return function(i){this._+=i[0];for(let s=1,n=i.length;su)if(!(Math.abs(o*p-l*_)>u)||!n)this._append`L${this._x1=t},${this._y1=h}`;else{let d=i-$,f=s-r,y=p*p+l*l,T=d*d+f*f,g=Math.sqrt(y),v=Math.sqrt(a),w=n*Math.tan((c-Math.acos((y+a-T)/(2*g*v)))/2),M=w/v,b=w/g;Math.abs(M-1)>u&&this._append`L${t+M*_},${h+M*o}`,this._append`A${n},${n},0,0,${+(o*d>_*f)},${this._x1=t+b*p},${this._y1=h+b*l}`}}arc(t,h,i,s,n,$){if(t=+t,h=+h,i=+i,$=!!$,i<0)throw new Error(`negative radius: ${i}`);let r=i*Math.cos(s),p=i*Math.sin(s),l=t+r,_=h+p,o=1^$,a=$?s-n:n-s;this._x1===null?this._append`M${l},${_}`:(Math.abs(this._x1-l)>u||Math.abs(this._y1-_)>u)&&this._append`L${l},${_}`,i&&(a<0&&(a=a%x+x),a>m?this._append`A${i},${i},0,1,${o},${t-r},${h-p}A${i},${i},0,1,${o},${this._x1=l},${this._y1=_}`:a>u&&this._append`A${i},${i},0,${+(a>=c)},${o},${this._x1=t+i*Math.cos(n)},${this._y1=h+i*Math.sin(n)}`)}rect(t,h,i,s){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+h}h${i=+i}v${+s}h${-i}Z`}toString(){return this._}}function P(e){return function(){return e}}function q(e){let t=3;return e.digits=function(h){if(!arguments.length)return t;if(h==null)t=null;else{const i=Math.floor(h);if(!(i>=0))throw new RangeError(`invalid digits: ${h}`);t=i}return e},()=>new L(t)}export{P as c,q as w}; diff --git a/pr-333/assets/chunks/pieDiagram-5efcb91d.5245cbc3.js b/pr-333/assets/chunks/pieDiagram-5efcb91d.5245cbc3.js deleted file mode 100644 index c828ccdf6..000000000 --- a/pr-333/assets/chunks/pieDiagram-5efcb91d.5245cbc3.js +++ /dev/null @@ -1,35 +0,0 @@ -import{ap as it,c as B,s as ut,g as ft,v as pt,x as yt,a as dt,b as gt,m as mt,j as _t,l as J,z as vt,h as nt,i as bt,aq as xt}from"../app.1f62ceb3.js";import{o as kt}from"./ordinal.b935e931.js";import{a as St}from"./array.9f3ba611.js";import{c as M}from"./path.53f90ab3.js";import{a as lt}from"./arc.81630743.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";import"./init.77b53fdd.js";function wt(t,u){return ut?1:u>=t?0:NaN}function At(t){return t}function Et(){var t=At,u=wt,_=null,b=M(0),k=M(it),S=M(0);function c(a){var f,h=(a=St(a)).length,w,L,N=0,v=new Array(h),A=new Array(h),T=+b.apply(this,arguments),D=Math.min(it,Math.max(-it,k.apply(this,arguments)-T)),W,C=Math.min(Math.abs(D)/h,S.apply(this,arguments)),I=C*(D<0?-1:1),d;for(f=0;f0&&(N+=d);for(u!=null?v.sort(function(E,g){return u(A[E],A[g])}):_!=null&&v.sort(function(E,g){return _(a[E],a[g])}),f=0,L=N?(D-h*I)/N:0;f0?d*L:0)+I,A[w]={data:a[w],index:f,value:d,startAngle:T,endAngle:W,padAngle:C};return A}return c.value=function(a){return arguments.length?(t=typeof a=="function"?a:M(+a),c):t},c.sortValues=function(a){return arguments.length?(u=a,_=null,c):u},c.sort=function(a){return arguments.length?(_=a,u=null,c):_},c.startAngle=function(a){return arguments.length?(b=typeof a=="function"?a:M(+a),c):b},c.endAngle=function(a){return arguments.length?(k=typeof a=="function"?a:M(+a),c):k},c.padAngle=function(a){return arguments.length?(S=typeof a=="function"?a:M(+a),c):S},c}var st=function(){var t=function(g,e,i,r){for(i=i||{},r=g.length;r--;i[g[r]]=e);return i},u=[1,4],_=[1,5],b=[1,6],k=[1,7],S=[1,9],c=[1,11,13,15,17,19,20,26,27,28,29],a=[2,5],f=[1,6,11,13,15,17,19,20,26,27,28,29],h=[26,27,28],w=[2,8],L=[1,18],N=[1,19],v=[1,20],A=[1,21],T=[1,22],D=[1,23],W=[1,28],C=[6,26,27,28,29],I={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,PIE:6,document:7,showData:8,line:9,statement:10,txt:11,value:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,openDirective:21,typeDirective:22,closeDirective:23,":":24,argDirective:25,NEWLINE:26,";":27,EOF:28,open_directive:29,type_directive:30,arg_directive:31,close_directive:32,$accept:0,$end:1},terminals_:{2:"error",6:"PIE",8:"showData",11:"txt",12:"value",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",24:":",26:"NEWLINE",27:";",28:"EOF",29:"open_directive",30:"type_directive",31:"arg_directive",32:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,3],[7,0],[7,2],[9,2],[10,0],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,1],[5,3],[5,5],[4,1],[4,1],[4,1],[21,1],[22,1],[25,1],[23,1]],performAction:function(e,i,r,n,l,s,o){var p=s.length-1;switch(l){case 4:n.setShowData(!0);break;case 7:this.$=s[p-1];break;case 9:n.addSection(s[p-1],n.cleanupValue(s[p]));break;case 10:this.$=s[p].trim(),n.setDiagramTitle(this.$);break;case 11:this.$=s[p].trim(),n.setAccTitle(this.$);break;case 12:case 13:this.$=s[p].trim(),n.setAccDescription(this.$);break;case 14:n.addSection(s[p].substr(8)),this.$=s[p].substr(8);break;case 21:n.parseDirective("%%{","open_directive");break;case 22:n.parseDirective(s[p],"type_directive");break;case 23:s[p]=s[p].trim().replace(/'/g,'"'),n.parseDirective(s[p],"arg_directive");break;case 24:n.parseDirective("}%%","close_directive","pie");break}},table:[{3:1,4:2,5:3,6:u,21:8,26:_,27:b,28:k,29:S},{1:[3]},{3:10,4:2,5:3,6:u,21:8,26:_,27:b,28:k,29:S},{3:11,4:2,5:3,6:u,21:8,26:_,27:b,28:k,29:S},t(c,a,{7:12,8:[1,13]}),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),{22:14,30:[1,15]},{30:[2,21]},{1:[2,1]},{1:[2,2]},t(h,w,{21:8,9:16,10:17,5:24,1:[2,3],11:L,13:N,15:v,17:A,19:T,20:D,29:S}),t(c,a,{7:25}),{23:26,24:[1,27],32:W},t([24,32],[2,22]),t(c,[2,6]),{4:29,26:_,27:b,28:k},{12:[1,30]},{14:[1,31]},{16:[1,32]},{18:[1,33]},t(h,[2,13]),t(h,[2,14]),t(h,[2,15]),t(h,w,{21:8,9:16,10:17,5:24,1:[2,4],11:L,13:N,15:v,17:A,19:T,20:D,29:S}),t(C,[2,16]),{25:34,31:[1,35]},t(C,[2,24]),t(c,[2,7]),t(h,[2,9]),t(h,[2,10]),t(h,[2,11]),t(h,[2,12]),{23:36,32:W},{32:[2,23]},t(C,[2,17])],defaultActions:{9:[2,21],10:[2,1],11:[2,2],35:[2,23]},parseError:function(e,i){if(i.recoverable)this.trace(e);else{var r=new Error(e);throw r.hash=i,r}},parse:function(e){var i=this,r=[0],n=[],l=[null],s=[],o=this.table,p="",F=0,U=0,Q=2,q=1,ct=s.slice.call(arguments,1),y=Object.create(this.lexer),j={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(j.yy[X]=this.yy[X]);y.setInput(e,j.yy),j.yy.lexer=y,j.yy.parser=this,typeof y.yylloc>"u"&&(y.yylloc={});var Z=y.yylloc;s.push(Z);var ot=y.options&&y.options.ranges;typeof j.yy.parseError=="function"?this.parseError=j.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ht(){var O;return O=n.pop()||y.lex()||q,typeof O!="number"&&(O instanceof Array&&(n=O,O=n.pop()),O=i.symbols_[O]||O),O}for(var m,z,x,tt,R={},G,V,at,H;;){if(z=r[r.length-1],this.defaultActions[z]?x=this.defaultActions[z]:((m===null||typeof m>"u")&&(m=ht()),x=o[z]&&o[z][m]),typeof x>"u"||!x.length||!x[0]){var et="";H=[];for(G in o[z])this.terminals_[G]&&G>Q&&H.push("'"+this.terminals_[G]+"'");y.showPosition?et="Parse error on line "+(F+1)+`: -`+y.showPosition()+` -Expecting `+H.join(", ")+", got '"+(this.terminals_[m]||m)+"'":et="Parse error on line "+(F+1)+": Unexpected "+(m==q?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(et,{text:y.match,token:this.terminals_[m]||m,line:y.yylineno,loc:Z,expected:H})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+m);switch(x[0]){case 1:r.push(m),l.push(y.yytext),s.push(y.yylloc),r.push(x[1]),m=null,U=y.yyleng,p=y.yytext,F=y.yylineno,Z=y.yylloc;break;case 2:if(V=this.productions_[x[1]][1],R.$=l[l.length-V],R._$={first_line:s[s.length-(V||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(V||1)].first_column,last_column:s[s.length-1].last_column},ot&&(R._$.range=[s[s.length-(V||1)].range[0],s[s.length-1].range[1]]),tt=this.performAction.apply(R,[p,U,F,j.yy,x[1],l,s].concat(ct)),typeof tt<"u")return tt;V&&(r=r.slice(0,-1*V*2),l=l.slice(0,-1*V),s=s.slice(0,-1*V)),r.push(this.productions_[x[1]][0]),l.push(R.$),s.push(R._$),at=o[r[r.length-2]][r[r.length-1]],r.push(at);break;case 3:return!0}}return!0}},d=function(){var g={EOF:1,parseError:function(i,r){if(this.yy.parser)this.yy.parser.parseError(i,r);else throw new Error(i)},setInput:function(e,i){return this.yy=i||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var i=e.match(/(?:\r\n?|\n).*/g);return i?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var i=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var l=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[l[0],l[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),i=new Array(e.length+1).join("-");return e+this.upcomingInput()+` -`+i+"^"},test_match:function(e,i){var r,n,l;if(this.options.backtrack_lexer&&(l={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(l.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,i,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in l)this[s]=l[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,i,r,n;this._more||(this.yytext="",this.match="");for(var l=this._currentRules(),s=0;si[0].length)){if(i=r,n=s,this.options.backtrack_lexer){if(e=this.test_match(r,l[s]),e!==!1)return e;if(this._backtrack){i=!1;continue}else return!1}else if(!this.options.flex)break}return i?(e=this.test_match(i,l[n]),e!==!1?e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var i=this.next();return i||this.lex()},begin:function(i){this.conditionStack.push(i)},popState:function(){var i=this.conditionStack.length-1;return i>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(i){return i=this.conditionStack.length-1-Math.abs(i||0),i>=0?this.conditionStack[i]:"INITIAL"},pushState:function(i){this.begin(i)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(i,r,n,l){switch(n){case 0:return this.begin("open_directive"),29;case 1:return this.begin("type_directive"),30;case 2:return this.popState(),this.begin("arg_directive"),24;case 3:return this.popState(),this.popState(),32;case 4:return 31;case 5:break;case 6:break;case 7:return 26;case 8:break;case 9:break;case 10:return this.begin("title"),13;case 11:return this.popState(),"title_value";case 12:return this.begin("acc_title"),15;case 13:return this.popState(),"acc_title_value";case 14:return this.begin("acc_descr"),17;case 15:return this.popState(),"acc_descr_value";case 16:this.begin("acc_descr_multiline");break;case 17:this.popState();break;case 18:return"acc_descr_multiline_value";case 19:this.begin("string");break;case 20:this.popState();break;case 21:return"txt";case 22:return 6;case 23:return 8;case 24:return"value";case 25:return 28}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[17,18],inclusive:!1},acc_descr:{rules:[15],inclusive:!1},acc_title:{rules:[13],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},title:{rules:[11],inclusive:!1},string:{rules:[20,21],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,12,14,16,19,22,23,24,25],inclusive:!0}}};return g}();I.lexer=d;function E(){this.yy={}}return E.prototype=I,I.Parser=E,new E}();st.parser=st;const Dt=st;let K={},rt=!1;const $t=function(t,u,_){mt.parseDirective(this,t,u,_)},Tt=function(t,u){t=_t.sanitizeText(t,B()),K[t]===void 0&&(K[t]=u,J.debug("Added new section :",t))},It=()=>K,Vt=function(t){rt=t},Ot=function(){return rt},Pt=function(t){return t.substring(0,1)===":"&&(t=t.substring(1).trim()),Number(t.trim())},Lt=function(){K={},rt=!1,vt()},Nt={parseDirective:$t,getConfig:()=>B().pie,addSection:Tt,getSections:It,cleanupValue:Pt,clear:Lt,setAccTitle:ut,getAccTitle:ft,setDiagramTitle:pt,getDiagramTitle:yt,setShowData:Vt,getShowData:Ot,getAccDescription:dt,setAccDescription:gt},Wt=t=>` - .pieCircle{ - stroke: ${t.pieStrokeColor}; - stroke-width : ${t.pieStrokeWidth}; - opacity : ${t.pieOpacity}; - } - .pieOuterCircle{ - stroke: ${t.pieOuterStrokeColor}; - stroke-width: ${t.pieOuterStrokeWidth}; - fill: none; - } - .pieTitleText { - text-anchor: middle; - font-size: ${t.pieTitleTextSize}; - fill: ${t.pieTitleTextColor}; - font-family: ${t.fontFamily}; - } - .slice { - font-family: ${t.fontFamily}; - fill: ${t.pieSectionTextColor}; - font-size:${t.pieSectionTextSize}; - // fill: white; - } - .legend text { - fill: ${t.pieLegendTextColor}; - font-family: ${t.fontFamily}; - font-size: ${t.pieLegendTextSize}; - } -`,Ct=Wt;let $=B(),P;const Y=450,Ft=(t,u,_,b)=>{var k;try{$=B(),J.debug(`Rendering info diagram -`+t);const d=B().securityLevel;let E;d==="sandbox"&&(E=nt("#i"+u));const g=d==="sandbox"?nt(E.nodes()[0].contentDocument.body):nt("body"),i=(d==="sandbox"?E.nodes()[0].contentDocument:document).getElementById(u);P=i.parentElement.offsetWidth,P===void 0&&(P=1200),$.useWidth!==void 0&&(P=$.useWidth),$.pie.useWidth!==void 0&&(P=$.pie.useWidth);const r=g.select("#"+u);bt(r,Y,P,$.pie.useMaxWidth),i.setAttribute("viewBox","0 0 "+P+" "+Y);var S=40,c=18,a=4,f=Math.min(P,Y)/2-S,h=r.append("g").attr("transform","translate("+P/2+","+Y/2+")"),w=b.db.getSections(),L=0;Object.keys(w).forEach(function(o){L+=w[o]});const n=$.themeVariables;var N=[n.pie1,n.pie2,n.pie3,n.pie4,n.pie5,n.pie6,n.pie7,n.pie8,n.pie9,n.pie10,n.pie11,n.pie12];const l=((k=$.pie)==null?void 0:k.textPosition)??.75;let[s]=xt(n.pieOuterStrokeWidth);s??(s=2);var v=kt().range(N),A=Object.entries(w).map(function(o,p){return{order:p,name:o[0],value:o[1]}}),T=Et().value(function(o){return o.value}).sort(function(o,p){return o.order-p.order}),D=T(A),W=lt().innerRadius(0).outerRadius(f),C=lt().innerRadius(f*l).outerRadius(f*l);h.append("circle").attr("cx",0).attr("cy",0).attr("r",f+s/2).attr("class","pieOuterCircle"),h.selectAll("mySlices").data(D).enter().append("path").attr("d",W).attr("fill",function(o){return v(o.data.name)}).attr("class","pieCircle"),h.selectAll("mySlices").data(D).enter().append("text").text(function(o){return(o.data.value/L*100).toFixed(0)+"%"}).attr("transform",function(o){return"translate("+C.centroid(o)+")"}).style("text-anchor","middle").attr("class","slice"),h.append("text").text(b.db.getDiagramTitle()).attr("x",0).attr("y",-(Y-50)/2).attr("class","pieTitleText");var I=h.selectAll(".legend").data(v.domain()).enter().append("g").attr("class","legend").attr("transform",function(o,p){const F=c+a,U=F*v.domain().length/2,Q=12*c,q=p*F-U;return"translate("+Q+","+q+")"});I.append("rect").attr("width",c).attr("height",c).style("fill",v).style("stroke",v),I.data(D).append("text").attr("x",c+a).attr("y",c-a).text(function(o){return b.db.getShowData()||$.showData||$.pie.showData?o.data.name+" ["+o.data.value+"]":o.data.name})}catch(d){J.error("Error while rendering info diagram"),J.error(d)}},jt={draw:Ft},Ht={parser:Dt,db:Nt,renderer:jt,styles:Ct};export{Ht as diagram}; diff --git a/pr-333/assets/chunks/quadrantDiagram-559115c7.8782c0f0.js b/pr-333/assets/chunks/quadrantDiagram-559115c7.8782c0f0.js deleted file mode 100644 index 342b77bf6..000000000 --- a/pr-333/assets/chunks/quadrantDiagram-559115c7.8782c0f0.js +++ /dev/null @@ -1,7 +0,0 @@ -import{aD as Dt,c as _t,aE as I,l as ct,s as zt,g as Et,v as It,x as vt,a as Bt,b as Vt,m as wt,z as Rt,h as yt,i as Wt,d as Nt}from"../app.1f62ceb3.js";import{l as St}from"./linear.f047380f.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";import"./init.77b53fdd.js";var qt=function(){var e=function(K,n,r,d){for(r=r||{},d=K.length;d--;r[K[d]]=n);return r},a=[1,3],c=[1,5],f=[1,6],g=[1,7],x=[1,8],h=[1,10],p=[1,5,14,16,18,20,21,26,28,29,30,31,32,38,39,40,41,47,48,50,51,52,53,54,55,56,57,58,59,60],s=[1,5,7,14,16,18,20,21,26,28,29,30,31,32,38,39,40,41,47,48,50,51,52,53,54,55,56,57,58,59,60],l=[38,39,40],y=[2,8],B=[1,19],W=[1,23],L=[1,24],C=[1,25],N=[1,26],M=[1,27],X=[1,29],D=[1,30],it=[1,31],at=[1,32],nt=[1,33],rt=[1,34],Q=[1,37],U=[1,38],T=[1,39],_=[1,40],t=[1,41],m=[1,42],b=[1,43],A=[1,44],S=[1,45],v=[1,46],k=[1,47],F=[1,48],P=[1,49],Tt=[1,52],O=[1,67],Y=[1,68],z=[5,23,27,38,39,40,50,51,52,53,54,55,56,57,58,59,60,61],ht=[5,7,38,39,40,41],dt={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,directive:6,QUADRANT:7,document:8,line:9,statement:10,axisDetails:11,quadrantDetails:12,points:13,title:14,title_value:15,acc_title:16,acc_title_value:17,acc_descr:18,acc_descr_value:19,acc_descr_multiline_value:20,section:21,text:22,point_start:23,point_x:24,point_y:25,"X-AXIS":26,"AXIS-TEXT-DELIMITER":27,"Y-AXIS":28,QUADRANT_1:29,QUADRANT_2:30,QUADRANT_3:31,QUADRANT_4:32,openDirective:33,typeDirective:34,closeDirective:35,":":36,argDirective:37,NEWLINE:38,SEMI:39,EOF:40,open_directive:41,type_directive:42,arg_directive:43,close_directive:44,alphaNumToken:45,textNoTagsToken:46,STR:47,MD_STR:48,alphaNum:49,PUNCTUATION:50,AMP:51,NUM:52,ALPHA:53,COMMA:54,PLUS:55,EQUALS:56,MULT:57,DOT:58,BRKT:59,UNDERSCORE:60,MINUS:61,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",7:"QUADRANT",14:"title",15:"title_value",16:"acc_title",17:"acc_title_value",18:"acc_descr",19:"acc_descr_value",20:"acc_descr_multiline_value",21:"section",23:"point_start",24:"point_x",25:"point_y",26:"X-AXIS",27:"AXIS-TEXT-DELIMITER",28:"Y-AXIS",29:"QUADRANT_1",30:"QUADRANT_2",31:"QUADRANT_3",32:"QUADRANT_4",36:":",38:"NEWLINE",39:"SEMI",40:"EOF",41:"open_directive",42:"type_directive",43:"arg_directive",44:"close_directive",47:"STR",48:"MD_STR",50:"PUNCTUATION",51:"AMP",52:"NUM",53:"ALPHA",54:"COMMA",55:"PLUS",56:"EQUALS",57:"MULT",58:"DOT",59:"BRKT",60:"UNDERSCORE",61:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[10,0],[10,2],[10,1],[10,1],[10,1],[10,2],[10,2],[10,2],[10,1],[10,1],[10,1],[13,4],[11,4],[11,3],[11,2],[11,4],[11,3],[11,2],[12,2],[12,2],[12,2],[12,2],[6,3],[6,5],[4,1],[4,1],[4,1],[33,1],[34,1],[37,1],[35,1],[22,1],[22,2],[22,1],[22,1],[49,1],[49,2],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,1],[46,1],[46,1]],performAction:function(n,r,d,o,q,i,et){var u=i.length-1;switch(q){case 13:this.$=i[u].trim(),o.setDiagramTitle(this.$);break;case 14:this.$=i[u].trim(),o.setAccTitle(this.$);break;case 15:case 16:this.$=i[u].trim(),o.setAccDescription(this.$);break;case 17:o.addSection(i[u].substr(8)),this.$=i[u].substr(8);break;case 19:o.addPoint(i[u-3],i[u-1],i[u]);break;case 20:o.setXAxisLeftText(i[u-2]),o.setXAxisRightText(i[u]);break;case 21:i[u-1].text+=" ⟶ ",o.setXAxisLeftText(i[u-1]);break;case 22:o.setXAxisLeftText(i[u]);break;case 23:o.setYAxisBottomText(i[u-2]),o.setYAxisTopText(i[u]);break;case 24:i[u-1].text+=" ⟶ ",o.setYAxisBottomText(i[u-1]);break;case 25:o.setYAxisBottomText(i[u]);break;case 26:o.setQuadrant1Text(i[u]);break;case 27:o.setQuadrant2Text(i[u]);break;case 28:o.setQuadrant3Text(i[u]);break;case 29:o.setQuadrant4Text(i[u]);break;case 35:o.parseDirective("%%{","open_directive");break;case 36:o.parseDirective(i[u],"type_directive");break;case 37:i[u]=i[u].trim().replace(/'/g,'"'),o.parseDirective(i[u],"arg_directive");break;case 38:o.parseDirective("}%%","close_directive","quadrantChart");break;case 39:this.$={text:i[u],type:"text"};break;case 40:this.$={text:i[u-1].text+""+i[u],type:i[u-1].type};break;case 41:this.$={text:i[u],type:"text"};break;case 42:this.$={text:i[u],type:"markdown"};break;case 43:this.$=i[u];break;case 44:this.$=i[u-1]+""+i[u];break}},table:[{3:1,4:2,5:a,6:4,7:c,33:9,38:f,39:g,40:x,41:h},{1:[3]},{3:11,4:2,5:a,6:4,7:c,33:9,38:f,39:g,40:x,41:h},{3:12,4:2,5:a,6:4,7:c,33:9,38:f,39:g,40:x,41:h},{3:13,4:2,5:a,6:4,7:c,33:9,38:f,39:g,40:x,41:h},e(p,[2,5],{8:14}),e(s,[2,32]),e(s,[2,33]),e(s,[2,34]),{34:15,42:[1,16]},{42:[2,35]},{1:[2,1]},{1:[2,2]},{1:[2,3]},e(l,y,{33:9,9:17,10:18,11:20,12:21,13:22,6:28,22:35,45:36,1:[2,4],5:B,14:W,16:L,18:C,20:N,21:M,26:X,28:D,29:it,30:at,31:nt,32:rt,41:h,47:Q,48:U,50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P}),{35:50,36:[1,51],44:Tt},e([36,44],[2,36]),e(p,[2,6]),{4:53,38:f,39:g,40:x},e(l,y,{33:9,11:20,12:21,13:22,6:28,22:35,45:36,10:54,5:B,14:W,16:L,18:C,20:N,21:M,26:X,28:D,29:it,30:at,31:nt,32:rt,41:h,47:Q,48:U,50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P}),e(l,[2,10]),e(l,[2,11]),e(l,[2,12]),{15:[1,55]},{17:[1,56]},{19:[1,57]},e(l,[2,16]),e(l,[2,17]),e(l,[2,18]),{22:58,45:36,47:Q,48:U,50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P},{22:59,45:36,47:Q,48:U,50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P},{22:60,45:36,47:Q,48:U,50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P},{22:61,45:36,47:Q,48:U,50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P},{22:62,45:36,47:Q,48:U,50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P},{22:63,45:36,47:Q,48:U,50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P},{5:O,23:[1,64],45:66,46:65,50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P,61:Y},e(z,[2,39]),e(z,[2,41]),e(z,[2,42]),e(z,[2,45]),e(z,[2,46]),e(z,[2,47]),e(z,[2,48]),e(z,[2,49]),e(z,[2,50]),e(z,[2,51]),e(z,[2,52]),e(z,[2,53]),e(z,[2,54]),e(z,[2,55]),e(ht,[2,30]),{37:69,43:[1,70]},e(ht,[2,38]),e(p,[2,7]),e(l,[2,9]),e(l,[2,13]),e(l,[2,14]),e(l,[2,15]),e(l,[2,22],{46:65,45:66,5:O,27:[1,71],50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P,61:Y}),e(l,[2,25],{46:65,45:66,5:O,27:[1,72],50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P,61:Y}),e(l,[2,26],{46:65,45:66,5:O,50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P,61:Y}),e(l,[2,27],{46:65,45:66,5:O,50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P,61:Y}),e(l,[2,28],{46:65,45:66,5:O,50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P,61:Y}),e(l,[2,29],{46:65,45:66,5:O,50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P,61:Y}),{24:[1,73]},e(z,[2,40]),e(z,[2,56]),e(z,[2,57]),e(z,[2,58]),{35:74,44:Tt},{44:[2,37]},e(l,[2,21],{45:36,22:75,47:Q,48:U,50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P}),e(l,[2,24],{45:36,22:76,47:Q,48:U,50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P}),{25:[1,77]},e(ht,[2,31]),e(l,[2,20],{46:65,45:66,5:O,50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P,61:Y}),e(l,[2,23],{46:65,45:66,5:O,50:T,51:_,52:t,53:m,54:b,55:A,56:S,57:v,58:k,59:F,60:P,61:Y}),e(l,[2,19])],defaultActions:{10:[2,35],11:[2,1],12:[2,2],13:[2,3],70:[2,37]},parseError:function(n,r){if(r.recoverable)this.trace(n);else{var d=new Error(n);throw d.hash=r,d}},parse:function(n){var r=this,d=[0],o=[],q=[null],i=[],et=this.table,u="",st=0,mt=0,Ft=2,bt=1,Pt=i.slice.call(arguments,1),E=Object.create(this.lexer),Z={yy:{}};for(var xt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xt)&&(Z.yy[xt]=this.yy[xt]);E.setInput(n,Z.yy),Z.yy.lexer=E,Z.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var ft=E.yylloc;i.push(ft);var Lt=E.options&&E.options.ranges;typeof Z.yy.parseError=="function"?this.parseError=Z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ct(){var G;return G=o.pop()||E.lex()||bt,typeof G!="number"&&(G instanceof Array&&(o=G,G=o.pop()),G=r.symbols_[G]||G),G}for(var R,J,H,gt,tt={},lt,j,At,ot;;){if(J=d[d.length-1],this.defaultActions[J]?H=this.defaultActions[J]:((R===null||typeof R>"u")&&(R=Ct()),H=et[J]&&et[J][R]),typeof H>"u"||!H.length||!H[0]){var pt="";ot=[];for(lt in et[J])this.terminals_[lt]&<>Ft&&ot.push("'"+this.terminals_[lt]+"'");E.showPosition?pt="Parse error on line "+(st+1)+`: -`+E.showPosition()+` -Expecting `+ot.join(", ")+", got '"+(this.terminals_[R]||R)+"'":pt="Parse error on line "+(st+1)+": Unexpected "+(R==bt?"end of input":"'"+(this.terminals_[R]||R)+"'"),this.parseError(pt,{text:E.match,token:this.terminals_[R]||R,line:E.yylineno,loc:ft,expected:ot})}if(H[0]instanceof Array&&H.length>1)throw new Error("Parse Error: multiple actions possible at state: "+J+", token: "+R);switch(H[0]){case 1:d.push(R),q.push(E.yytext),i.push(E.yylloc),d.push(H[1]),R=null,mt=E.yyleng,u=E.yytext,st=E.yylineno,ft=E.yylloc;break;case 2:if(j=this.productions_[H[1]][1],tt.$=q[q.length-j],tt._$={first_line:i[i.length-(j||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(j||1)].first_column,last_column:i[i.length-1].last_column},Lt&&(tt._$.range=[i[i.length-(j||1)].range[0],i[i.length-1].range[1]]),gt=this.performAction.apply(tt,[u,mt,st,Z.yy,H[1],q,i].concat(Pt)),typeof gt<"u")return gt;j&&(d=d.slice(0,-1*j*2),q=q.slice(0,-1*j),i=i.slice(0,-1*j)),d.push(this.productions_[H[1]][0]),q.push(tt.$),i.push(tt._$),At=et[d[d.length-2]][d[d.length-1]],d.push(At);break;case 3:return!0}}return!0}},kt=function(){var K={EOF:1,parseError:function(r,d){if(this.yy.parser)this.yy.parser.parseError(r,d);else throw new Error(r)},setInput:function(n,r){return this.yy=r||this.yy||{},this._input=n,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var r=n.match(/(?:\r\n?|\n).*/g);return r?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},unput:function(n){var r=n.length,d=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;var o=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),d.length-1&&(this.yylineno-=d.length-1);var q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:d?(d.length===o.length?this.yylloc.first_column:0)+o[o.length-d.length].length-d[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[q[0],q[0]+this.yyleng-r]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var n=this.pastInput(),r=new Array(n.length+1).join("-");return n+this.upcomingInput()+` -`+r+"^"},test_match:function(n,r){var d,o,q;if(this.options.backtrack_lexer&&(q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(q.yylloc.range=this.yylloc.range.slice(0))),o=n[0].match(/(?:\r\n?|\n).*/g),o&&(this.yylineno+=o.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:o?o[o.length-1].length-o[o.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+n[0].length},this.yytext+=n[0],this.match+=n[0],this.matches=n,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(n[0].length),this.matched+=n[0],d=this.performAction.call(this,this.yy,this,r,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),d)return d;if(this._backtrack){for(var i in q)this[i]=q[i];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var n,r,d,o;this._more||(this.yytext="",this.match="");for(var q=this._currentRules(),i=0;ir[0].length)){if(r=d,o=i,this.options.backtrack_lexer){if(n=this.test_match(d,q[i]),n!==!1)return n;if(this._backtrack){r=!1;continue}else return!1}else if(!this.options.flex)break}return r?(n=this.test_match(r,q[o]),n!==!1?n:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var r=this.next();return r||this.lex()},begin:function(r){this.conditionStack.push(r)},popState:function(){var r=this.conditionStack.length-1;return r>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(r){return r=this.conditionStack.length-1-Math.abs(r||0),r>=0?this.conditionStack[r]:"INITIAL"},pushState:function(r){this.begin(r)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(r,d,o,q){switch(o){case 0:return this.begin("open_directive"),41;case 1:return this.begin("type_directive"),42;case 2:return this.popState(),this.begin("arg_directive"),36;case 3:return this.popState(),this.popState(),44;case 4:return 43;case 5:break;case 6:break;case 7:return 38;case 8:break;case 9:return this.begin("title"),14;case 10:return this.popState(),"title_value";case 11:return this.begin("acc_title"),16;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),18;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:this.popState();break;case 17:return"acc_descr_multiline_value";case 18:return 26;case 19:return 28;case 20:return 27;case 21:return 29;case 22:return 30;case 23:return 31;case 24:return 32;case 25:this.begin("md_string");break;case 26:return"MD_STR";case 27:this.popState();break;case 28:this.begin("string");break;case 29:this.popState();break;case 30:return"STR";case 31:return this.begin("point_start"),23;case 32:return this.begin("point_x"),24;case 33:this.popState();break;case 34:this.popState(),this.begin("point_y");break;case 35:return this.popState(),25;case 36:return 7;case 37:return 53;case 38:return"COLON";case 39:return 55;case 40:return 54;case 41:return 56;case 42:return 56;case 43:return 57;case 44:return 59;case 45:return 60;case 46:return 58;case 47:return 51;case 48:return 61;case 49:return 52;case 50:return 5;case 51:return 39;case 52:return 50;case 53:return 40}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{point_y:{rules:[35],inclusive:!1},point_x:{rules:[34],inclusive:!1},point_start:{rules:[32,33],inclusive:!1},acc_descr_multiline:{rules:[16,17],inclusive:!1},acc_descr:{rules:[14],inclusive:!1},acc_title:{rules:[12],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},title:{rules:[10],inclusive:!1},md_string:{rules:[26,27],inclusive:!1},string:{rules:[29,30],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,11,13,15,18,19,20,21,22,23,24,25,28,31,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53],inclusive:!0}}};return K}();dt.lexer=kt;function ut(){this.yy={}}return ut.prototype=dt,dt.Parser=ut,new ut}();qt.parser=qt;const Ut=qt,w=Dt();class Qt{constructor(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var a,c,f,g,x,h,p,s,l,y,B,W,L,C,N,M,X,D;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((a=I.quadrantChart)==null?void 0:a.chartWidth)||500,chartWidth:((c=I.quadrantChart)==null?void 0:c.chartHeight)||500,titlePadding:((f=I.quadrantChart)==null?void 0:f.titlePadding)||10,titleFontSize:((g=I.quadrantChart)==null?void 0:g.titleFontSize)||20,quadrantPadding:((x=I.quadrantChart)==null?void 0:x.quadrantPadding)||5,xAxisLabelPadding:((h=I.quadrantChart)==null?void 0:h.xAxisLabelPadding)||5,yAxisLabelPadding:((p=I.quadrantChart)==null?void 0:p.yAxisLabelPadding)||5,xAxisLabelFontSize:((s=I.quadrantChart)==null?void 0:s.xAxisLabelFontSize)||16,yAxisLabelFontSize:((l=I.quadrantChart)==null?void 0:l.yAxisLabelFontSize)||16,quadrantLabelFontSize:((y=I.quadrantChart)==null?void 0:y.quadrantLabelFontSize)||16,quadrantTextTopPadding:((B=I.quadrantChart)==null?void 0:B.quadrantTextTopPadding)||5,pointTextPadding:((W=I.quadrantChart)==null?void 0:W.pointTextPadding)||5,pointLabelFontSize:((L=I.quadrantChart)==null?void 0:L.pointLabelFontSize)||12,pointRadius:((C=I.quadrantChart)==null?void 0:C.pointRadius)||5,xAxisPosition:((N=I.quadrantChart)==null?void 0:N.xAxisPosition)||"top",yAxisPosition:((M=I.quadrantChart)==null?void 0:M.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((X=I.quadrantChart)==null?void 0:X.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((D=I.quadrantChart)==null?void 0:D.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:w.quadrant1Fill,quadrant2Fill:w.quadrant2Fill,quadrant3Fill:w.quadrant3Fill,quadrant4Fill:w.quadrant4Fill,quadrant1TextFill:w.quadrant1TextFill,quadrant2TextFill:w.quadrant2TextFill,quadrant3TextFill:w.quadrant3TextFill,quadrant4TextFill:w.quadrant4TextFill,quadrantPointFill:w.quadrantPointFill,quadrantPointTextFill:w.quadrantPointTextFill,quadrantXAxisTextFill:w.quadrantXAxisTextFill,quadrantYAxisTextFill:w.quadrantYAxisTextFill,quadrantTitleFill:w.quadrantTitleFill,quadrantInternalBorderStrokeFill:w.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:w.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),ct.info("clear called")}setData(a){this.data={...this.data,...a}}addPoints(a){this.data.points=[...a,...this.data.points]}setConfig(a){ct.trace("setConfig called with: ",a),this.config={...this.config,...a}}setThemeConfig(a){ct.trace("setThemeConfig called with: ",a),this.themeConfig={...this.themeConfig,...a}}calculateSpace(a,c,f,g){const x=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,h={top:a==="top"&&c?x:0,bottom:a==="bottom"&&c?x:0},p=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,s={left:this.config.yAxisPosition==="left"&&f?p:0,right:this.config.yAxisPosition==="right"&&f?p:0},l=this.config.titleFontSize+this.config.titlePadding*2,y={top:g?l:0},B=this.config.quadrantPadding+s.left,W=this.config.quadrantPadding+h.top+y.top,L=this.config.chartWidth-this.config.quadrantPadding*2-s.left-s.right,C=this.config.chartHeight-this.config.quadrantPadding*2-h.top-h.bottom-y.top,N=L/2,M=C/2;return{xAxisSpace:h,yAxisSpace:s,titleSpace:y,quadrantSpace:{quadrantLeft:B,quadrantTop:W,quadrantWidth:L,quadrantHalfWidth:N,quadrantHeight:C,quadrantHalfHeight:M}}}getAxisLabels(a,c,f,g){const{quadrantSpace:x,titleSpace:h}=g,{quadrantHalfHeight:p,quadrantHeight:s,quadrantLeft:l,quadrantHalfWidth:y,quadrantTop:B,quadrantWidth:W}=x,L=this.data.points.length===0,C=[];return this.data.xAxisLeftText&&c&&C.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:l+(L?y/2:0),y:a==="top"?this.config.xAxisLabelPadding+h.top:this.config.xAxisLabelPadding+B+s+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:L?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&c&&C.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:l+y+(L?y/2:0),y:a==="top"?this.config.xAxisLabelPadding+h.top:this.config.xAxisLabelPadding+B+s+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:L?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&f&&C.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+l+W+this.config.quadrantPadding,y:B+s-(L?p/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:L?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&f&&C.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+l+W+this.config.quadrantPadding,y:B+p-(L?p/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:L?"center":"left",horizontalPos:"top",rotation:-90}),C}getQuadrants(a){const{quadrantSpace:c}=a,{quadrantHalfHeight:f,quadrantLeft:g,quadrantHalfWidth:x,quadrantTop:h}=c,p=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:g+x,y:h,width:x,height:f,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:g,y:h,width:x,height:f,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:g,y:h+f,width:x,height:f,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:g+x,y:h+f,width:x,height:f,fill:this.themeConfig.quadrant4Fill}];for(const s of p)s.text.x=s.x+s.width/2,this.data.points.length===0?(s.text.y=s.y+s.height/2,s.text.horizontalPos="middle"):(s.text.y=s.y+this.config.quadrantTextTopPadding,s.text.horizontalPos="top");return p}getQuadrantPoints(a){const{quadrantSpace:c}=a,{quadrantHeight:f,quadrantLeft:g,quadrantTop:x,quadrantWidth:h}=c,p=St().domain([0,1]).range([g,h+g]),s=St().domain([0,1]).range([f+x,x]);return this.data.points.map(y=>({x:p(y.x),y:s(y.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:y.text,fill:this.themeConfig.quadrantPointTextFill,x:p(y.x),y:s(y.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}}))}getBorders(a){const c=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:f}=a,{quadrantHalfHeight:g,quadrantHeight:x,quadrantLeft:h,quadrantHalfWidth:p,quadrantTop:s,quadrantWidth:l}=f;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:h-c,y1:s,x2:h+l+c,y2:s},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:h+l,y1:s+c,x2:h+l,y2:s+x-c},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:h-c,y1:s+x,x2:h+l+c,y2:s+x},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:h,y1:s+c,x2:h,y2:s+x-c},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:h+p,y1:s+c,x2:h+p,y2:s+x-c},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:h+c,y1:s+g,x2:h+l-c,y2:s+g}]}getTitle(a){if(a)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const a=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),c=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),f=this.config.showTitle&&!!this.data.titleText,g=this.data.points.length>0?"bottom":this.config.xAxisPosition,x=this.calculateSpace(g,a,c,f);return{points:this.getQuadrantPoints(x),quadrants:this.getQuadrants(x),axisLabels:this.getAxisLabels(g,a,c,x),borderLines:this.getBorders(x),title:this.getTitle(f)}}}const Ht=_t();function $(e){return Nt(e.trim(),Ht)}const V=new Qt;function Mt(e){V.setData({quadrant1Text:$(e.text)})}function Xt(e){V.setData({quadrant2Text:$(e.text)})}function Ot(e){V.setData({quadrant3Text:$(e.text)})}function Yt(e){V.setData({quadrant4Text:$(e.text)})}function jt(e){V.setData({xAxisLeftText:$(e.text)})}function Gt(e){V.setData({xAxisRightText:$(e.text)})}function $t(e){V.setData({yAxisTopText:$(e.text)})}function Kt(e){V.setData({yAxisBottomText:$(e.text)})}function Zt(e,a,c){V.addPoints([{x:a,y:c,text:$(e.text)}])}function Jt(e){V.setConfig({chartWidth:e})}function te(e){V.setConfig({chartHeight:e})}function ee(){const e=_t(),{themeVariables:a,quadrantChart:c}=e;return c&&V.setConfig(c),V.setThemeConfig({quadrant1Fill:a.quadrant1Fill,quadrant2Fill:a.quadrant2Fill,quadrant3Fill:a.quadrant3Fill,quadrant4Fill:a.quadrant4Fill,quadrant1TextFill:a.quadrant1TextFill,quadrant2TextFill:a.quadrant2TextFill,quadrant3TextFill:a.quadrant3TextFill,quadrant4TextFill:a.quadrant4TextFill,quadrantPointFill:a.quadrantPointFill,quadrantPointTextFill:a.quadrantPointTextFill,quadrantXAxisTextFill:a.quadrantXAxisTextFill,quadrantYAxisTextFill:a.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:a.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:a.quadrantInternalBorderStrokeFill,quadrantTitleFill:a.quadrantTitleFill}),V.setData({titleText:vt()}),V.build()}const ie=function(e,a,c){wt.parseDirective(this,e,a,c)},ae=function(){V.clear(),Rt()},ne={setWidth:Jt,setHeight:te,setQuadrant1Text:Mt,setQuadrant2Text:Xt,setQuadrant3Text:Ot,setQuadrant4Text:Yt,setXAxisLeftText:jt,setXAxisRightText:Gt,setYAxisTopText:$t,setYAxisBottomText:Kt,addPoint:Zt,getQuadrantData:ee,parseDirective:ie,clear:ae,setAccTitle:zt,getAccTitle:Et,setDiagramTitle:It,getDiagramTitle:vt,getAccDescription:Bt,setAccDescription:Vt},re=(e,a,c,f)=>{var g,x,h;function p(t){return t==="top"?"hanging":"middle"}function s(t){return t==="left"?"start":"middle"}function l(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}const y=_t();ct.debug(`Rendering quadrant chart -`+e);const B=y.securityLevel;let W;B==="sandbox"&&(W=yt("#i"+a));const C=(B==="sandbox"?yt(W.nodes()[0].contentDocument.body):yt("body")).select(`[id="${a}"]`),N=C.append("g").attr("class","main"),M=((g=y.quadrantChart)==null?void 0:g.chartWidth)||500,X=((x=y.quadrantChart)==null?void 0:x.chartHeight)||500;Wt(C,X,M,((h=y.quadrantChart)==null?void 0:h.useMaxWidth)||!0),C.attr("viewBox","0 0 "+M+" "+X),f.db.setHeight(X),f.db.setWidth(M);const D=f.db.getQuadrantData(),it=N.append("g").attr("class","quadrants"),at=N.append("g").attr("class","border"),nt=N.append("g").attr("class","data-points"),rt=N.append("g").attr("class","labels"),Q=N.append("g").attr("class","title");D.title&&Q.append("text").attr("x",0).attr("y",0).attr("fill",D.title.fill).attr("font-size",D.title.fontSize).attr("dominant-baseline",p(D.title.horizontalPos)).attr("text-anchor",s(D.title.verticalPos)).attr("transform",l(D.title)).text(D.title.text),D.borderLines&&at.selectAll("line").data(D.borderLines).enter().append("line").attr("x1",t=>t.x1).attr("y1",t=>t.y1).attr("x2",t=>t.x2).attr("y2",t=>t.y2).style("stroke",t=>t.strokeFill).style("stroke-width",t=>t.strokeWidth);const U=it.selectAll("g.quadrant").data(D.quadrants).enter().append("g").attr("class","quadrant");U.append("rect").attr("x",t=>t.x).attr("y",t=>t.y).attr("width",t=>t.width).attr("height",t=>t.height).attr("fill",t=>t.fill),U.append("text").attr("x",0).attr("y",0).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>p(t.text.horizontalPos)).attr("text-anchor",t=>s(t.text.verticalPos)).attr("transform",t=>l(t.text)).text(t=>t.text.text),rt.selectAll("g.label").data(D.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(t=>t.text).attr("fill",t=>t.fill).attr("font-size",t=>t.fontSize).attr("dominant-baseline",t=>p(t.horizontalPos)).attr("text-anchor",t=>s(t.verticalPos)).attr("transform",t=>l(t));const _=nt.selectAll("g.data-point").data(D.points).enter().append("g").attr("class","data-point");_.append("circle").attr("cx",t=>t.x).attr("cy",t=>t.y).attr("r",t=>t.radius).attr("fill",t=>t.fill),_.append("text").attr("x",0).attr("y",0).text(t=>t.text.text).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>p(t.text.horizontalPos)).attr("text-anchor",t=>s(t.text.verticalPos)).attr("transform",t=>l(t.text))},se={draw:re},ue={parser:Ut,db:ne,renderer:se,styles:()=>""};export{ue as diagram}; diff --git a/pr-333/assets/chunks/requirementDiagram-b2d6a344.b1084e1f.js b/pr-333/assets/chunks/requirementDiagram-b2d6a344.b1084e1f.js deleted file mode 100644 index 277aeff18..000000000 --- a/pr-333/assets/chunks/requirementDiagram-b2d6a344.b1084e1f.js +++ /dev/null @@ -1,52 +0,0 @@ -import{c as ve,s as Fe,g as Me,b as Pe,a as Ye,m as Ue,l as xe,z as Be,h as oe,i as Qe,j as Te}from"../app.1f62ceb3.js";import{G as He,l as We}from"./layout.c9cae6cc.js";import{l as Ke}from"./line.e2bfcddf.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";var he=function(){var e=function(q,r,s,l){for(s=s||{},l=q.length;l--;s[q[l]]=r);return s},t=[1,3],a=[1,5],o=[1,6],d=[1,7],u=[1,8],p=[5,6,8,14,16,18,19,40,41,42,43,44,45,53,71,72],h=[1,22],c=[2,13],g=[1,26],R=[1,27],v=[1,28],S=[1,29],T=[1,30],x=[1,31],A=[1,24],N=[1,32],w=[1,33],pe=[1,36],F=[71,72],_e=[5,8,14,16,18,19,40,41,42,43,44,45,53,60,62,71,72],fe=[1,56],ye=[1,57],ge=[1,58],Ee=[1,59],Re=[1,60],me=[1,61],Ie=[1,62],L=[62,63],M=[1,74],P=[1,70],Y=[1,71],U=[1,72],B=[1,73],Q=[1,75],j=[1,79],X=[1,80],J=[1,77],Z=[1,78],m=[5,8,14,16,18,19,40,41,42,43,44,45,53,71,72],re={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,openDirective:9,typeDirective:10,closeDirective:11,":":12,argDirective:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,requirementDef:23,elementDef:24,relationshipDef:25,requirementType:26,requirementName:27,STRUCT_START:28,requirementBody:29,ID:30,COLONSEP:31,id:32,TEXT:33,text:34,RISK:35,riskLevel:36,VERIFYMTHD:37,verifyType:38,STRUCT_STOP:39,REQUIREMENT:40,FUNCTIONAL_REQUIREMENT:41,INTERFACE_REQUIREMENT:42,PERFORMANCE_REQUIREMENT:43,PHYSICAL_REQUIREMENT:44,DESIGN_CONSTRAINT:45,LOW_RISK:46,MED_RISK:47,HIGH_RISK:48,VERIFY_ANALYSIS:49,VERIFY_DEMONSTRATION:50,VERIFY_INSPECTION:51,VERIFY_TEST:52,ELEMENT:53,elementName:54,elementBody:55,TYPE:56,type:57,DOCREF:58,ref:59,END_ARROW_L:60,relationship:61,LINE:62,END_ARROW_R:63,CONTAINS:64,COPIES:65,DERIVES:66,SATISFIES:67,VERIFIES:68,REFINES:69,TRACES:70,unqString:71,qString:72,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",12:":",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",28:"STRUCT_START",30:"ID",31:"COLONSEP",33:"TEXT",35:"RISK",37:"VERIFYMTHD",39:"STRUCT_STOP",40:"REQUIREMENT",41:"FUNCTIONAL_REQUIREMENT",42:"INTERFACE_REQUIREMENT",43:"PERFORMANCE_REQUIREMENT",44:"PHYSICAL_REQUIREMENT",45:"DESIGN_CONSTRAINT",46:"LOW_RISK",47:"MED_RISK",48:"HIGH_RISK",49:"VERIFY_ANALYSIS",50:"VERIFY_DEMONSTRATION",51:"VERIFY_INSPECTION",52:"VERIFY_TEST",53:"ELEMENT",56:"TYPE",58:"DOCREF",60:"END_ARROW_L",62:"LINE",63:"END_ARROW_R",64:"CONTAINS",65:"COPIES",66:"DERIVES",67:"SATISFIES",68:"VERIFIES",69:"REFINES",70:"TRACES",71:"unqString",72:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,3],[4,5],[4,2],[4,2],[4,1],[9,1],[10,1],[13,1],[11,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[23,5],[29,5],[29,5],[29,5],[29,5],[29,2],[29,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[36,1],[36,1],[36,1],[38,1],[38,1],[38,1],[38,1],[24,5],[55,5],[55,5],[55,2],[55,1],[25,5],[25,5],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[27,1],[27,1],[32,1],[32,1],[34,1],[34,1],[54,1],[54,1],[57,1],[57,1],[59,1],[59,1]],performAction:function(r,s,l,i,f,n,K){var _=n.length-1;switch(f){case 6:this.$=n[_].trim(),i.setAccTitle(this.$);break;case 7:case 8:this.$=n[_].trim(),i.setAccDescription(this.$);break;case 9:i.parseDirective("%%{","open_directive");break;case 10:i.parseDirective(n[_],"type_directive");break;case 11:n[_]=n[_].trim().replace(/'/g,'"'),i.parseDirective(n[_],"arg_directive");break;case 12:i.parseDirective("}%%","close_directive","pie");break;case 13:this.$=[];break;case 19:i.addRequirement(n[_-3],n[_-4]);break;case 20:i.setNewReqId(n[_-2]);break;case 21:i.setNewReqText(n[_-2]);break;case 22:i.setNewReqRisk(n[_-2]);break;case 23:i.setNewReqVerifyMethod(n[_-2]);break;case 26:this.$=i.RequirementType.REQUIREMENT;break;case 27:this.$=i.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 28:this.$=i.RequirementType.INTERFACE_REQUIREMENT;break;case 29:this.$=i.RequirementType.PERFORMANCE_REQUIREMENT;break;case 30:this.$=i.RequirementType.PHYSICAL_REQUIREMENT;break;case 31:this.$=i.RequirementType.DESIGN_CONSTRAINT;break;case 32:this.$=i.RiskLevel.LOW_RISK;break;case 33:this.$=i.RiskLevel.MED_RISK;break;case 34:this.$=i.RiskLevel.HIGH_RISK;break;case 35:this.$=i.VerifyType.VERIFY_ANALYSIS;break;case 36:this.$=i.VerifyType.VERIFY_DEMONSTRATION;break;case 37:this.$=i.VerifyType.VERIFY_INSPECTION;break;case 38:this.$=i.VerifyType.VERIFY_TEST;break;case 39:i.addElement(n[_-3]);break;case 40:i.setNewElementType(n[_-2]);break;case 41:i.setNewElementDocRef(n[_-2]);break;case 44:i.addRelationship(n[_-2],n[_],n[_-4]);break;case 45:i.addRelationship(n[_-2],n[_-4],n[_]);break;case 46:this.$=i.Relationships.CONTAINS;break;case 47:this.$=i.Relationships.COPIES;break;case 48:this.$=i.Relationships.DERIVES;break;case 49:this.$=i.Relationships.SATISFIES;break;case 50:this.$=i.Relationships.VERIFIES;break;case 51:this.$=i.Relationships.REFINES;break;case 52:this.$=i.Relationships.TRACES;break}},table:[{3:1,4:2,6:t,9:4,14:a,16:o,18:d,19:u},{1:[3]},{3:10,4:2,5:[1,9],6:t,9:4,14:a,16:o,18:d,19:u},{5:[1,11]},{10:12,20:[1,13]},{15:[1,14]},{17:[1,15]},e(p,[2,8]),{20:[2,9]},{3:16,4:2,6:t,9:4,14:a,16:o,18:d,19:u},{1:[2,2]},{4:21,5:h,7:17,8:c,9:4,14:a,16:o,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{11:34,12:[1,35],22:pe},e([12,22],[2,10]),e(p,[2,6]),e(p,[2,7]),{1:[2,1]},{8:[1,37]},{4:21,5:h,7:38,8:c,9:4,14:a,16:o,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:39,8:c,9:4,14:a,16:o,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:40,8:c,9:4,14:a,16:o,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:41,8:c,9:4,14:a,16:o,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:42,8:c,9:4,14:a,16:o,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{27:43,71:[1,44],72:[1,45]},{54:46,71:[1,47],72:[1,48]},{60:[1,49],62:[1,50]},e(F,[2,26]),e(F,[2,27]),e(F,[2,28]),e(F,[2,29]),e(F,[2,30]),e(F,[2,31]),e(_e,[2,55]),e(_e,[2,56]),e(p,[2,4]),{13:51,21:[1,52]},e(p,[2,12]),{1:[2,3]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{8:[2,17]},{8:[2,18]},{28:[1,53]},{28:[2,53]},{28:[2,54]},{28:[1,54]},{28:[2,59]},{28:[2,60]},{61:55,64:fe,65:ye,66:ge,67:Ee,68:Re,69:me,70:Ie},{61:63,64:fe,65:ye,66:ge,67:Ee,68:Re,69:me,70:Ie},{11:64,22:pe},{22:[2,11]},{5:[1,65]},{5:[1,66]},{62:[1,67]},e(L,[2,46]),e(L,[2,47]),e(L,[2,48]),e(L,[2,49]),e(L,[2,50]),e(L,[2,51]),e(L,[2,52]),{63:[1,68]},e(p,[2,5]),{5:M,29:69,30:P,33:Y,35:U,37:B,39:Q},{5:j,39:X,55:76,56:J,58:Z},{32:81,71:N,72:w},{32:82,71:N,72:w},e(m,[2,19]),{31:[1,83]},{31:[1,84]},{31:[1,85]},{31:[1,86]},{5:M,29:87,30:P,33:Y,35:U,37:B,39:Q},e(m,[2,25]),e(m,[2,39]),{31:[1,88]},{31:[1,89]},{5:j,39:X,55:90,56:J,58:Z},e(m,[2,43]),e(m,[2,44]),e(m,[2,45]),{32:91,71:N,72:w},{34:92,71:[1,93],72:[1,94]},{36:95,46:[1,96],47:[1,97],48:[1,98]},{38:99,49:[1,100],50:[1,101],51:[1,102],52:[1,103]},e(m,[2,24]),{57:104,71:[1,105],72:[1,106]},{59:107,71:[1,108],72:[1,109]},e(m,[2,42]),{5:[1,110]},{5:[1,111]},{5:[2,57]},{5:[2,58]},{5:[1,112]},{5:[2,32]},{5:[2,33]},{5:[2,34]},{5:[1,113]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[2,38]},{5:[1,114]},{5:[2,61]},{5:[2,62]},{5:[1,115]},{5:[2,63]},{5:[2,64]},{5:M,29:116,30:P,33:Y,35:U,37:B,39:Q},{5:M,29:117,30:P,33:Y,35:U,37:B,39:Q},{5:M,29:118,30:P,33:Y,35:U,37:B,39:Q},{5:M,29:119,30:P,33:Y,35:U,37:B,39:Q},{5:j,39:X,55:120,56:J,58:Z},{5:j,39:X,55:121,56:J,58:Z},e(m,[2,20]),e(m,[2,21]),e(m,[2,22]),e(m,[2,23]),e(m,[2,40]),e(m,[2,41])],defaultActions:{8:[2,9],10:[2,2],16:[2,1],37:[2,3],38:[2,14],39:[2,15],40:[2,16],41:[2,17],42:[2,18],44:[2,53],45:[2,54],47:[2,59],48:[2,60],52:[2,11],93:[2,57],94:[2,58],96:[2,32],97:[2,33],98:[2,34],100:[2,35],101:[2,36],102:[2,37],103:[2,38],105:[2,61],106:[2,62],108:[2,63],109:[2,64]},parseError:function(r,s){if(s.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=s,l}},parse:function(r){var s=this,l=[0],i=[],f=[null],n=[],K=this.table,_="",ee=0,be=0,Oe=2,ke=1,Le=n.slice.call(arguments,1),E=Object.create(this.lexer),C={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(C.yy[se]=this.yy[se]);E.setInput(r,C.yy),C.yy.lexer=E,C.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var ae=E.yylloc;n.push(ae);var Ce=E.options&&E.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function De(){var $;return $=i.pop()||E.lex()||ke,typeof $!="number"&&($ instanceof Array&&(i=$,$=i.pop()),$=s.symbols_[$]||$),$}for(var I,D,k,le,H={},te,V,Se,ie;;){if(D=l[l.length-1],this.defaultActions[D]?k=this.defaultActions[D]:((I===null||typeof I>"u")&&(I=De()),k=K[D]&&K[D][I]),typeof k>"u"||!k.length||!k[0]){var ce="";ie=[];for(te in K[D])this.terminals_[te]&&te>Oe&&ie.push("'"+this.terminals_[te]+"'");E.showPosition?ce="Parse error on line "+(ee+1)+`: -`+E.showPosition()+` -Expecting `+ie.join(", ")+", got '"+(this.terminals_[I]||I)+"'":ce="Parse error on line "+(ee+1)+": Unexpected "+(I==ke?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(ce,{text:E.match,token:this.terminals_[I]||I,line:E.yylineno,loc:ae,expected:ie})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+D+", token: "+I);switch(k[0]){case 1:l.push(I),f.push(E.yytext),n.push(E.yylloc),l.push(k[1]),I=null,be=E.yyleng,_=E.yytext,ee=E.yylineno,ae=E.yylloc;break;case 2:if(V=this.productions_[k[1]][1],H.$=f[f.length-V],H._$={first_line:n[n.length-(V||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(V||1)].first_column,last_column:n[n.length-1].last_column},Ce&&(H._$.range=[n[n.length-(V||1)].range[0],n[n.length-1].range[1]]),le=this.performAction.apply(H,[_,be,ee,C.yy,k[1],f,n].concat(Le)),typeof le<"u")return le;V&&(l=l.slice(0,-1*V*2),f=f.slice(0,-1*V),n=n.slice(0,-1*V)),l.push(this.productions_[k[1]][0]),f.push(H.$),n.push(H._$),Se=K[l[l.length-2]][l[l.length-1]],l.push(Se);break;case 3:return!0}}return!0}},qe=function(){var q={EOF:1,parseError:function(s,l){if(this.yy.parser)this.yy.parser.parseError(s,l);else throw new Error(s)},setInput:function(r,s){return this.yy=s||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var s=r.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var s=r.length,l=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===i.length?this.yylloc.first_column:0)+i[i.length-l.length].length-l[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),s=new Array(r.length+1).join("-");return r+this.upcomingInput()+` -`+s+"^"},test_match:function(r,s){var l,i,f;if(this.options.backtrack_lexer&&(f={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(f.yylloc.range=this.yylloc.range.slice(0))),i=r[0].match(/(?:\r\n?|\n).*/g),i&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],l=this.performAction.call(this,this.yy,this,s,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),l)return l;if(this._backtrack){for(var n in f)this[n]=f[n];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,s,l,i;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),n=0;ns[0].length)){if(s=l,i=n,this.options.backtrack_lexer){if(r=this.test_match(l,f[n]),r!==!1)return r;if(this._backtrack){s=!1;continue}else return!1}else if(!this.options.flex)break}return s?(r=this.test_match(s,f[i]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var s=this.next();return s||this.lex()},begin:function(s){this.conditionStack.push(s)},popState:function(){var s=this.conditionStack.length-1;return s>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(s){return s=this.conditionStack.length-1-Math.abs(s||0),s>=0?this.conditionStack[s]:"INITIAL"},pushState:function(s){this.begin(s)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(s,l,i,f){switch(i){case 0:return this.begin("open_directive"),19;case 1:return this.begin("type_directive"),20;case 2:return this.popState(),this.begin("arg_directive"),12;case 3:return this.popState(),this.popState(),22;case 4:return 21;case 5:return"title";case 6:return this.begin("acc_title"),14;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),16;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:return 5;case 14:break;case 15:break;case 16:break;case 17:return 8;case 18:return 6;case 19:return 28;case 20:return 39;case 21:return 31;case 22:return 30;case 23:return 33;case 24:return 35;case 25:return 37;case 26:return 40;case 27:return 41;case 28:return 42;case 29:return 43;case 30:return 44;case 31:return 45;case 32:return 46;case 33:return 47;case 34:return 48;case 35:return 49;case 36:return 50;case 37:return 51;case 38:return 52;case 39:return 53;case 40:return 64;case 41:return 65;case 42:return 66;case 43:return 67;case 44:return 68;case 45:return 69;case 46:return 70;case 47:return 56;case 48:return 58;case 49:return 60;case 50:return 63;case 51:return 62;case 52:this.begin("string");break;case 53:this.popState();break;case 54:return"qString";case 55:return l.yytext=l.yytext.trim(),71}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\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,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[53,54],inclusive:!1},INITIAL:{rules:[0,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,55],inclusive:!0}}};return q}();re.lexer=qe;function ne(){this.yy={}}return ne.prototype=re,re.Parser=ne,new ne}();he.parser=he;const Ge=he;let de=[],b={},G={},O={},z={};const ze={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},je={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},Xe={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Je={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},Ze=function(e,t,a){Ue.parseDirective(this,e,t,a)},et=(e,t)=>(G[e]===void 0&&(G[e]={name:e,type:t,id:b.id,text:b.text,risk:b.risk,verifyMethod:b.verifyMethod}),b={},G[e]),tt=()=>G,it=e=>{b!==void 0&&(b.id=e)},rt=e=>{b!==void 0&&(b.text=e)},nt=e=>{b!==void 0&&(b.risk=e)},st=e=>{b!==void 0&&(b.verifyMethod=e)},at=e=>(z[e]===void 0&&(z[e]={name:e,type:O.type,docRef:O.docRef},xe.info("Added new requirement: ",e)),O={},z[e]),lt=()=>z,ct=e=>{O!==void 0&&(O.type=e)},ot=e=>{O!==void 0&&(O.docRef=e)},ht=(e,t,a)=>{de.push({type:e,src:t,dst:a})},ut=()=>de,dt=()=>{de=[],b={},G={},O={},z={},Be()},pt={RequirementType:ze,RiskLevel:je,VerifyType:Xe,Relationships:Je,parseDirective:Ze,getConfig:()=>ve().req,addRequirement:et,getRequirements:tt,setNewReqId:it,setNewReqText:rt,setNewReqRisk:nt,setNewReqVerifyMethod:st,setAccTitle:Fe,getAccTitle:Me,setAccDescription:Pe,getAccDescription:Ye,addElement:at,getElements:lt,setNewElementType:ct,setNewElementDocRef:ot,addRelationship:ht,getRelationships:ut,clear:dt},_t=e=>` - - marker { - fill: ${e.relationColor}; - stroke: ${e.relationColor}; - } - - marker.cross { - stroke: ${e.lineColor}; - } - - svg { - font-family: ${e.fontFamily}; - font-size: ${e.fontSize}; - } - - .reqBox { - fill: ${e.requirementBackground}; - fill-opacity: 1.0; - stroke: ${e.requirementBorderColor}; - stroke-width: ${e.requirementBorderSize}; - } - - .reqTitle, .reqLabel{ - fill: ${e.requirementTextColor}; - } - .reqLabelBox { - fill: ${e.relationLabelBackground}; - fill-opacity: 1.0; - } - - .req-title-line { - stroke: ${e.requirementBorderColor}; - stroke-width: ${e.requirementBorderSize}; - } - .relationshipLine { - stroke: ${e.relationColor}; - stroke-width: 1; - } - .relationshipLabel { - fill: ${e.relationLabelColor}; - } - -`,ft=_t,ue={CONTAINS:"contains",ARROW:"arrow"},yt=(e,t)=>{let a=e.append("defs").append("marker").attr("id",ue.CONTAINS+"_line_ending").attr("refX",0).attr("refY",t.line_height/2).attr("markerWidth",t.line_height).attr("markerHeight",t.line_height).attr("orient","auto").append("g");a.append("circle").attr("cx",t.line_height/2).attr("cy",t.line_height/2).attr("r",t.line_height/2).attr("fill","none"),a.append("line").attr("x1",0).attr("x2",t.line_height).attr("y1",t.line_height/2).attr("y2",t.line_height/2).attr("stroke-width",1),a.append("line").attr("y1",0).attr("y2",t.line_height).attr("x1",t.line_height/2).attr("x2",t.line_height/2).attr("stroke-width",1),e.append("defs").append("marker").attr("id",ue.ARROW+"_line_ending").attr("refX",t.line_height).attr("refY",.5*t.line_height).attr("markerWidth",t.line_height).attr("markerHeight",t.line_height).attr("orient","auto").append("path").attr("d",`M0,0 - L${t.line_height},${t.line_height/2} - M${t.line_height},${t.line_height/2} - L0,${t.line_height}`).attr("stroke-width",1)},Ae={ReqMarkers:ue,insertLineEndings:yt};let y={},Ne=0;const we=(e,t)=>e.insert("rect","#"+t).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",y.rect_min_width+"px").attr("height",y.rect_min_height+"px"),Ve=(e,t,a)=>{let o=y.rect_min_width/2,d=e.append("text").attr("class","req reqLabel reqTitle").attr("id",t).attr("x",o).attr("y",y.rect_padding).attr("dominant-baseline","hanging"),u=0;a.forEach(g=>{u==0?d.append("tspan").attr("text-anchor","middle").attr("x",y.rect_min_width/2).attr("dy",0).text(g):d.append("tspan").attr("text-anchor","middle").attr("x",y.rect_min_width/2).attr("dy",y.line_height*.75).text(g),u++});let p=1.5*y.rect_padding,h=u*y.line_height*.75,c=p+h;return e.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",y.rect_min_width).attr("y1",c).attr("y2",c),{titleNode:d,y:c}},$e=(e,t,a,o)=>{let d=e.append("text").attr("class","req reqLabel").attr("id",t).attr("x",y.rect_padding).attr("y",o).attr("dominant-baseline","hanging"),u=0;const p=30;let h=[];return a.forEach(c=>{let g=c.length;for(;g>p&&u<3;){let R=c.substring(0,p);c=c.substring(p,c.length),g=c.length,h[h.length]=R,u++}if(u==3){let R=h[h.length-1];h[h.length-1]=R.substring(0,R.length-4)+"..."}else h[h.length]=c;u=0}),h.forEach(c=>{d.append("tspan").attr("x",y.rect_padding).attr("dy",y.line_height).text(c)}),d},gt=(e,t,a,o)=>{const d=t.node().getTotalLength(),u=t.node().getPointAtLength(d*.5),p="rel"+Ne;Ne++;const c=e.append("text").attr("class","req relationshipLabel").attr("id",p).attr("x",u.x).attr("y",u.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(o).node().getBBox();e.insert("rect","#"+p).attr("class","req reqLabelBox").attr("x",u.x-c.width/2).attr("y",u.y-c.height/2).attr("width",c.width).attr("height",c.height).attr("fill","white").attr("fill-opacity","85%")},Et=function(e,t,a,o,d){const u=a.edge(W(t.src),W(t.dst)),p=Ke().x(function(c){return c.x}).y(function(c){return c.y}),h=e.insert("path","#"+o).attr("class","er relationshipLine").attr("d",p(u.points)).attr("fill","none");t.type==d.db.Relationships.CONTAINS?h.attr("marker-start","url("+Te.getUrl(y.arrowMarkerAbsolute)+"#"+t.type+"_line_ending)"):(h.attr("stroke-dasharray","10,7"),h.attr("marker-end","url("+Te.getUrl(y.arrowMarkerAbsolute)+"#"+Ae.ReqMarkers.ARROW+"_line_ending)")),gt(e,h,y,`<<${t.type}>>`)},Rt=(e,t,a)=>{Object.keys(e).forEach(o=>{let d=e[o];o=W(o),xe.info("Added new requirement: ",o);const u=a.append("g").attr("id",o),p="req-"+o,h=we(u,p);let c=Ve(u,o+"_title",[`<<${d.type}>>`,`${d.name}`]);$e(u,o+"_body",[`Id: ${d.id}`,`Text: ${d.text}`,`Risk: ${d.risk}`,`Verification: ${d.verifyMethod}`],c.y);const g=h.node().getBBox();t.setNode(o,{width:g.width,height:g.height,shape:"rect",id:o})})},mt=(e,t,a)=>{Object.keys(e).forEach(o=>{let d=e[o];const u=W(o),p=a.append("g").attr("id",u),h="element-"+u,c=we(p,h);let g=Ve(p,h+"_title",["<>",`${o}`]);$e(p,h+"_body",[`Type: ${d.type||"Not Specified"}`,`Doc Ref: ${d.docRef||"None"}`],g.y);const R=c.node().getBBox();t.setNode(u,{width:R.width,height:R.height,shape:"rect",id:u})})},It=(e,t)=>(e.forEach(function(a){let o=W(a.src),d=W(a.dst);t.setEdge(o,d,{relationship:a})}),e),bt=function(e,t){t.nodes().forEach(function(a){a!==void 0&&t.node(a)!==void 0&&(e.select("#"+a),e.select("#"+a).attr("transform","translate("+(t.node(a).x-t.node(a).width/2)+","+(t.node(a).y-t.node(a).height/2)+" )"))})},W=e=>e.replace(/\s/g,"").replace(/\./g,"_"),kt=(e,t,a,o)=>{y=ve().requirement;const d=y.securityLevel;let u;d==="sandbox"&&(u=oe("#i"+t));const h=(d==="sandbox"?oe(u.nodes()[0].contentDocument.body):oe("body")).select(`[id='${t}']`);Ae.insertLineEndings(h,y);const c=new He({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:y.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let g=o.db.getRequirements(),R=o.db.getElements(),v=o.db.getRelationships();Rt(g,c,h),mt(R,c,h),It(v,c),We(c),bt(h,c),v.forEach(function(N){Et(h,N,c,t,o)});const S=y.rect_padding,T=h.node().getBBox(),x=T.width+S*2,A=T.height+S*2;Qe(h,A,x,y.useMaxWidth),h.attr("viewBox",`${T.x-S} ${T.y-S} ${x} ${A}`)},St={draw:kt},$t={parser:Ge,db:pt,renderer:St,styles:ft};export{$t as diagram}; diff --git a/pr-333/assets/chunks/rollkit-bitcoin-1.9f1a021b.js b/pr-333/assets/chunks/rollkit-bitcoin-1.9f1a021b.js deleted file mode 100644 index aafd58403..000000000 --- a/pr-333/assets/chunks/rollkit-bitcoin-1.9f1a021b.js +++ /dev/null @@ -1 +0,0 @@ -const i="/docs-preview/pr-333/bitcoin-rollkit/rollkit-bitcoin-1.png";export{i as _}; diff --git a/pr-333/assets/chunks/sankeyDiagram-e679478d.dd3ce1d3.js b/pr-333/assets/chunks/sankeyDiagram-e679478d.dd3ce1d3.js deleted file mode 100644 index 9e6c1e83c..000000000 --- a/pr-333/assets/chunks/sankeyDiagram-e679478d.dd3ce1d3.js +++ /dev/null @@ -1,7 +0,0 @@ -import{c as ot,g as pt,s as mt,a as _t,b as kt,x as xt,v as vt,z as bt,j as wt,u as St,h as Y,i as Lt}from"../app.1f62ceb3.js";import{o as Et}from"./ordinal.b935e931.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";import"./init.77b53fdd.js";function At(t){for(var n=t.length/6|0,i=new Array(n),l=0;l=l)&&(i=l);else{let l=-1;for(let u of t)(u=n(u,++l,t))!=null&&(i=u)&&(i=u)}return i}function yt(t,n){let i;if(n===void 0)for(const l of t)l!=null&&(i>l||i===void 0&&l>=l)&&(i=l);else{let l=-1;for(let u of t)(u=n(u,++l,t))!=null&&(i>u||i===void 0&&u>=u)&&(i=u)}return i}function Z(t,n){let i=0;if(n===void 0)for(let l of t)(l=+l)&&(i+=l);else{let l=-1;for(let u of t)(u=+n(u,++l,t))&&(i+=u)}return i}function Mt(t){return t.target.depth}function Nt(t){return t.depth}function Pt(t,n){return n-1-t.height}function dt(t,n){return t.sourceLinks.length?t.depth:n-1}function Ct(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?yt(t.sourceLinks,Mt)-1:0}function G(t){return function(){return t}}function at(t,n){return H(t.source,n.source)||t.index-n.index}function ct(t,n){return H(t.target,n.target)||t.index-n.index}function H(t,n){return t.y0-n.y0}function J(t){return t.value}function It(t){return t.index}function Ot(t){return t.nodes}function zt(t){return t.links}function ut(t,n){const i=t.get(n);if(!i)throw new Error("missing: "+n);return i}function ht({nodes:t}){for(const n of t){let i=n.y0,l=i;for(const u of n.sourceLinks)u.y0=i+u.width/2,i+=u.width;for(const u of n.targetLinks)u.y1=l+u.width/2,l+=u.width}}function $t(){let t=0,n=0,i=1,l=1,u=24,v=8,_,p=It,s=dt,o,c,g=Ot,b=zt,d=6;function k(){const e={nodes:g.apply(null,arguments),links:b.apply(null,arguments)};return E(e),M(e),P(e),A(e),w(e),ht(e),e}k.update=function(e){return ht(e),e},k.nodeId=function(e){return arguments.length?(p=typeof e=="function"?e:G(e),k):p},k.nodeAlign=function(e){return arguments.length?(s=typeof e=="function"?e:G(e),k):s},k.nodeSort=function(e){return arguments.length?(o=e,k):o},k.nodeWidth=function(e){return arguments.length?(u=+e,k):u},k.nodePadding=function(e){return arguments.length?(v=_=+e,k):v},k.nodes=function(e){return arguments.length?(g=typeof e=="function"?e:G(e),k):g},k.links=function(e){return arguments.length?(b=typeof e=="function"?e:G(e),k):b},k.linkSort=function(e){return arguments.length?(c=e,k):c},k.size=function(e){return arguments.length?(t=n=0,i=+e[0],l=+e[1],k):[i-t,l-n]},k.extent=function(e){return arguments.length?(t=+e[0][0],i=+e[1][0],n=+e[0][1],l=+e[1][1],k):[[t,n],[i,l]]},k.iterations=function(e){return arguments.length?(d=+e,k):d};function E({nodes:e,links:f}){for(const[h,r]of e.entries())r.index=h,r.sourceLinks=[],r.targetLinks=[];const a=new Map(e.map((h,r)=>[p(h,r,e),h]));for(const[h,r]of f.entries()){r.index=h;let{source:m,target:x}=r;typeof m!="object"&&(m=r.source=ut(a,m)),typeof x!="object"&&(x=r.target=ut(a,x)),m.sourceLinks.push(r),x.targetLinks.push(r)}if(c!=null)for(const{sourceLinks:h,targetLinks:r}of e)h.sort(c),r.sort(c)}function M({nodes:e}){for(const f of e)f.value=f.fixedValue===void 0?Math.max(Z(f.sourceLinks,J),Z(f.targetLinks,J)):f.fixedValue}function P({nodes:e}){const f=e.length;let a=new Set(e),h=new Set,r=0;for(;a.size;){for(const m of a){m.depth=r;for(const{target:x}of m.sourceLinks)h.add(x)}if(++r>f)throw new Error("circular link");a=h,h=new Set}}function A({nodes:e}){const f=e.length;let a=new Set(e),h=new Set,r=0;for(;a.size;){for(const m of a){m.height=r;for(const{source:x}of m.targetLinks)h.add(x)}if(++r>f)throw new Error("circular link");a=h,h=new Set}}function N({nodes:e}){const f=lt(e,r=>r.depth)+1,a=(i-t-u)/(f-1),h=new Array(f);for(const r of e){const m=Math.max(0,Math.min(f-1,Math.floor(s.call(null,r,f))));r.layer=m,r.x0=t+m*a,r.x1=r.x0+u,h[m]?h[m].push(r):h[m]=[r]}if(o)for(const r of h)r.sort(o);return h}function C(e){const f=yt(e,a=>(l-n-(a.length-1)*_)/Z(a,J));for(const a of e){let h=n;for(const r of a){r.y0=h,r.y1=h+r.value*f,h=r.y1+_;for(const m of r.sourceLinks)m.width=m.value*f}h=(l-h+_)/(a.length+1);for(let r=0;ra.length)-1)),C(f);for(let a=0;a0))continue;let R=(B/O-x.y0)*f;x.y0+=R,x.y1+=R,S(x)}o===void 0&&m.sort(H),$(m,a)}}function L(e,f,a){for(let h=e.length,r=h-2;r>=0;--r){const m=e[r];for(const x of m){let B=0,O=0;for(const{target:F,value:K}of x.sourceLinks){let U=K*(F.layer-x.layer);B+=D(x,F)*U,O+=U}if(!(O>0))continue;let R=(B/O-x.y0)*f;x.y0+=R,x.y1+=R,S(x)}o===void 0&&m.sort(H),$(m,a)}}function $(e,f){const a=e.length>>1,h=e[a];V(e,h.y0-_,a-1,f),W(e,h.y1+_,a+1,f),V(e,l,e.length-1,f),W(e,n,0,f)}function W(e,f,a,h){for(;a1e-6&&(r.y0+=m,r.y1+=m),f=r.y1+_}}function V(e,f,a,h){for(;a>=0;--a){const r=e[a],m=(r.y1-f)*h;m>1e-6&&(r.y0-=m,r.y1-=m),f=r.y0-_}}function S({sourceLinks:e,targetLinks:f}){if(c===void 0){for(const{source:{sourceLinks:a}}of f)a.sort(ct);for(const{target:{targetLinks:a}}of e)a.sort(at)}}function I(e){if(c===void 0)for(const{sourceLinks:f,targetLinks:a}of e)f.sort(ct),a.sort(at)}function T(e,f){let a=e.y0-(e.sourceLinks.length-1)*_/2;for(const{target:h,width:r}of e.sourceLinks){if(h===f)break;a+=r+_}for(const{source:h,width:r}of f.targetLinks){if(h===e)break;a-=r}return a}function D(e,f){let a=f.y0-(f.targetLinks.length-1)*_/2;for(const{source:h,width:r}of f.targetLinks){if(h===e)break;a+=r+_}for(const{target:h,width:r}of e.sourceLinks){if(h===f)break;a-=r}return a}return k}var tt=Math.PI,et=2*tt,z=1e-6,jt=et-z;function nt(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function gt(){return new nt}nt.prototype=gt.prototype={constructor:nt,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,i,l){this._+="Q"+ +t+","+ +n+","+(this._x1=+i)+","+(this._y1=+l)},bezierCurveTo:function(t,n,i,l,u,v){this._+="C"+ +t+","+ +n+","+ +i+","+ +l+","+(this._x1=+u)+","+(this._y1=+v)},arcTo:function(t,n,i,l,u){t=+t,n=+n,i=+i,l=+l,u=+u;var v=this._x1,_=this._y1,p=i-t,s=l-n,o=v-t,c=_-n,g=o*o+c*c;if(u<0)throw new Error("negative radius: "+u);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(g>z)if(!(Math.abs(c*p-s*o)>z)||!u)this._+="L"+(this._x1=t)+","+(this._y1=n);else{var b=i-v,d=l-_,k=p*p+s*s,E=b*b+d*d,M=Math.sqrt(k),P=Math.sqrt(g),A=u*Math.tan((tt-Math.acos((k+g-E)/(2*M*P)))/2),N=A/P,C=A/M;Math.abs(N-1)>z&&(this._+="L"+(t+N*o)+","+(n+N*c)),this._+="A"+u+","+u+",0,0,"+ +(c*b>o*d)+","+(this._x1=t+C*p)+","+(this._y1=n+C*s)}},arc:function(t,n,i,l,u,v){t=+t,n=+n,i=+i,v=!!v;var _=i*Math.cos(l),p=i*Math.sin(l),s=t+_,o=n+p,c=1^v,g=v?l-u:u-l;if(i<0)throw new Error("negative radius: "+i);this._x1===null?this._+="M"+s+","+o:(Math.abs(this._x1-s)>z||Math.abs(this._y1-o)>z)&&(this._+="L"+s+","+o),i&&(g<0&&(g=g%et+et),g>jt?this._+="A"+i+","+i+",0,1,"+c+","+(t-_)+","+(n-p)+"A"+i+","+i+",0,1,"+c+","+(this._x1=s)+","+(this._y1=o):g>z&&(this._+="A"+i+","+i+",0,"+ +(g>=tt)+","+c+","+(this._x1=t+i*Math.cos(u))+","+(this._y1=n+i*Math.sin(u))))},rect:function(t,n,i,l){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +i+"v"+ +l+"h"+-i+"Z"},toString:function(){return this._}};function ft(t){return function(){return t}}function Dt(t){return t[0]}function Bt(t){return t[1]}var Rt=Array.prototype.slice;function Ft(t){return t.source}function Ut(t){return t.target}function Wt(t){var n=Ft,i=Ut,l=Dt,u=Bt,v=null;function _(){var p,s=Rt.call(arguments),o=n.apply(this,s),c=i.apply(this,s);if(v||(v=p=gt()),t(v,+l.apply(this,(s[0]=o,s)),+u.apply(this,s),+l.apply(this,(s[0]=c,s)),+u.apply(this,s)),p)return v=null,p+""||null}return _.source=function(p){return arguments.length?(n=p,_):n},_.target=function(p){return arguments.length?(i=p,_):i},_.x=function(p){return arguments.length?(l=typeof p=="function"?p:ft(+p),_):l},_.y=function(p){return arguments.length?(u=typeof p=="function"?p:ft(+p),_):u},_.context=function(p){return arguments.length?(v=p??null,_):v},_}function Vt(t,n,i,l,u){t.moveTo(n,i),t.bezierCurveTo(n=(n+l)/2,i,n,u,l,u)}function Yt(){return Wt(Vt)}function Gt(t){return[t.source.x1,t.y0]}function Ht(t){return[t.target.x0,t.y1]}function Xt(){return Yt().source(Gt).target(Ht)}var it=function(){var t=function(p,s,o,c){for(o=o||{},c=p.length;c--;o[p[c]]=s);return o},n=[1,9],i=[1,10],l=[1,5,10,12],u={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(s,o,c,g,b,d,k){var E=d.length-1;switch(b){case 7:const M=g.findOrCreateNode(d[E-4].trim().replaceAll('""','"')),P=g.findOrCreateNode(d[E-2].trim().replaceAll('""','"')),A=parseFloat(d[E].trim());g.addLink(M,P,A);break;case 8:case 9:case 11:this.$=d[E];break;case 10:this.$=d[E-1];break}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:i},{1:[2,6],7:11,10:[1,12]},t(i,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(l,[2,8]),t(l,[2,9]),{19:[1,16]},t(l,[2,11]),{1:[2,1]},{1:[2,5]},t(i,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:i},{15:18,16:7,17:8,18:n,20:i},{18:[1,19]},t(i,[2,3]),{12:[1,20]},t(l,[2,10]),{15:21,16:7,17:8,18:n,20:i},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(s,o){if(o.recoverable)this.trace(s);else{var c=new Error(s);throw c.hash=o,c}},parse:function(s){var o=this,c=[0],g=[],b=[null],d=[],k=this.table,E="",M=0,P=0,A=2,N=1,C=d.slice.call(arguments,1),w=Object.create(this.lexer),y={yy:{}};for(var L in this.yy)Object.prototype.hasOwnProperty.call(this.yy,L)&&(y.yy[L]=this.yy[L]);w.setInput(s,y.yy),y.yy.lexer=w,y.yy.parser=this,typeof w.yylloc>"u"&&(w.yylloc={});var $=w.yylloc;d.push($);var W=w.options&&w.options.ranges;typeof y.yy.parseError=="function"?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function V(){var x;return x=g.pop()||w.lex()||N,typeof x!="number"&&(x instanceof Array&&(g=x,x=g.pop()),x=o.symbols_[x]||x),x}for(var S,I,T,D,e={},f,a,h,r;;){if(I=c[c.length-1],this.defaultActions[I]?T=this.defaultActions[I]:((S===null||typeof S>"u")&&(S=V()),T=k[I]&&k[I][S]),typeof T>"u"||!T.length||!T[0]){var m="";r=[];for(f in k[I])this.terminals_[f]&&f>A&&r.push("'"+this.terminals_[f]+"'");w.showPosition?m="Parse error on line "+(M+1)+`: -`+w.showPosition()+` -Expecting `+r.join(", ")+", got '"+(this.terminals_[S]||S)+"'":m="Parse error on line "+(M+1)+": Unexpected "+(S==N?"end of input":"'"+(this.terminals_[S]||S)+"'"),this.parseError(m,{text:w.match,token:this.terminals_[S]||S,line:w.yylineno,loc:$,expected:r})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+I+", token: "+S);switch(T[0]){case 1:c.push(S),b.push(w.yytext),d.push(w.yylloc),c.push(T[1]),S=null,P=w.yyleng,E=w.yytext,M=w.yylineno,$=w.yylloc;break;case 2:if(a=this.productions_[T[1]][1],e.$=b[b.length-a],e._$={first_line:d[d.length-(a||1)].first_line,last_line:d[d.length-1].last_line,first_column:d[d.length-(a||1)].first_column,last_column:d[d.length-1].last_column},W&&(e._$.range=[d[d.length-(a||1)].range[0],d[d.length-1].range[1]]),D=this.performAction.apply(e,[E,P,M,y.yy,T[1],b,d].concat(C)),typeof D<"u")return D;a&&(c=c.slice(0,-1*a*2),b=b.slice(0,-1*a),d=d.slice(0,-1*a)),c.push(this.productions_[T[1]][0]),b.push(e.$),d.push(e._$),h=k[c[c.length-2]][c[c.length-1]],c.push(h);break;case 3:return!0}}return!0}},v=function(){var p={EOF:1,parseError:function(o,c){if(this.yy.parser)this.yy.parser.parseError(o,c);else throw new Error(o)},setInput:function(s,o){return this.yy=o||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var o=s.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},unput:function(s){var o=s.length,c=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===g.length?this.yylloc.first_column:0)+g[g.length-c.length].length-c[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(s){this.unput(this.match.slice(s))},pastInput:function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var s=this.pastInput(),o=new Array(s.length+1).join("-");return s+this.upcomingInput()+` -`+o+"^"},test_match:function(s,o){var c,g,b;if(this.options.backtrack_lexer&&(b={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(b.yylloc.range=this.yylloc.range.slice(0))),g=s[0].match(/(?:\r\n?|\n).*/g),g&&(this.yylineno+=g.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:g?g[g.length-1].length-g[g.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+s[0].length},this.yytext+=s[0],this.match+=s[0],this.matches=s,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(s[0].length),this.matched+=s[0],c=this.performAction.call(this,this.yy,this,o,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack){for(var d in b)this[d]=b[d];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var s,o,c,g;this._more||(this.yytext="",this.match="");for(var b=this._currentRules(),d=0;do[0].length)){if(o=c,g=d,this.options.backtrack_lexer){if(s=this.test_match(c,b[d]),s!==!1)return s;if(this._backtrack){o=!1;continue}else return!1}else if(!this.options.flex)break}return o?(s=this.test_match(o,b[g]),s!==!1?s:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var o=this.next();return o||this.lex()},begin:function(o){this.conditionStack.push(o)},popState:function(){var o=this.conditionStack.length-1;return o>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(o){return o=this.conditionStack.length-1-Math.abs(o||0),o>=0?this.conditionStack[o]:"INITIAL"},pushState:function(o){this.begin(o)},stateStackSize:function(){return this.conditionStack.length},options:{easy_keword_rules:!0},performAction:function(o,c,g,b){switch(g){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\b)/,/^(?:$)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:(\u002C))/,/^(?:(\u0022))/,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/,/^(?:(\u0022)(?!(\u0022)))/,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return p}();u.lexer=v;function _(){this.yy={}}return _.prototype=u,u.Parser=_,new _}();it.parser=it;const X=it;let q=[],Q=[],j={};const qt=()=>{q=[],Q=[],j={},bt()};class Qt{constructor(n,i,l=0){this.source=n,this.target=i,this.value=l}}const Kt=(t,n,i)=>{q.push(new Qt(t,n,i))};class Zt{constructor(n){this.ID=n}}const Jt=t=>(t=wt.sanitizeText(t,ot()),j[t]||(j[t]=new Zt(t),Q.push(j[t])),j[t]),te=()=>Q,ee=()=>q,ne=()=>({nodes:Q.map(t=>({id:t.ID})),links:q.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),ie={nodesMap:j,getConfig:()=>ot().sankey,getNodes:te,getLinks:ee,getGraph:ne,addLink:Kt,findOrCreateNode:Jt,getAccTitle:pt,setAccTitle:mt,getAccDescription:_t,setAccDescription:kt,getDiagramTitle:xt,setDiagramTitle:vt,clear:qt},st=class{static next(t){return new st(t+ ++st.count)}constructor(t){this.id=t,this.href=`#${t}`}toString(){return"url("+this.href+")"}};let rt=st;rt.count=0;const se={left:Nt,right:Pt,center:Ct,justify:dt},re=function(t,n,i,l){const{securityLevel:u,sankey:v}=ot(),_=St.sankey;let p;u==="sandbox"&&(p=Y("#i"+n));const s=u==="sandbox"?Y(p.nodes()[0].contentDocument.body):Y("body"),o=u==="sandbox"?s.select(`[id="${n}"]`):Y(`[id="${n}"]`),c=(v==null?void 0:v.width)||_.width,g=(v==null?void 0:v.height)||_.width,b=(v==null?void 0:v.useMaxWidth)||_.useMaxWidth,d=(v==null?void 0:v.nodeAlignment)||_.nodeAlignment;Lt(o,g,c,b);const k=l.db.getGraph(),E=se[d],M=10;$t().nodeId(y=>y.id).nodeWidth(M).nodePadding(10).nodeAlign(E).extent([[0,0],[c,g]])(k);const A=Et(Tt);o.append("g").attr("class","nodes").selectAll(".node").data(k.nodes).join("g").attr("class","node").attr("id",y=>(y.uid=rt.next("node-")).id).attr("transform",function(y){return"translate("+y.x0+","+y.y0+")"}).attr("x",y=>y.x0).attr("y",y=>y.y0).append("rect").attr("height",y=>y.y1-y.y0).attr("width",y=>y.x1-y.x0).attr("fill",y=>A(y.id)),o.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(k.nodes).join("text").attr("x",y=>y.x0(y.y1+y.y0)/2).attr("dy","0.35em").attr("text-anchor",y=>y.x0y.id);const N=o.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(k.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),C=(v==null?void 0:v.linkColor)||"gradient";if(C==="gradient"){const y=N.append("linearGradient").attr("id",L=>(L.uid=rt.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",L=>L.source.x1).attr("x2",L=>L.target.x0);y.append("stop").attr("offset","0%").attr("stop-color",L=>A(L.source.id)),y.append("stop").attr("offset","100%").attr("stop-color",L=>A(L.target.id))}let w;switch(C){case"gradient":w=y=>y.uid;break;case"source":w=y=>A(y.source.id);break;case"target":w=y=>A(y.target.id);break;default:w=C}N.append("path").attr("d",Xt()).attr("stroke",w).attr("stroke-width",y=>Math.max(1,y.width))},oe={draw:re},le=t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` -`).trim(),ae=X.parse.bind(X);X.parse=t=>ae(le(t));const de={parser:X,db:ie,renderer:oe};export{de as diagram}; diff --git a/pr-333/assets/chunks/sequenceDiagram-583eee82.fdfd8ce2.js b/pr-333/assets/chunks/sequenceDiagram-583eee82.fdfd8ce2.js deleted file mode 100644 index 329740ca9..000000000 --- a/pr-333/assets/chunks/sequenceDiagram-583eee82.fdfd8ce2.js +++ /dev/null @@ -1,122 +0,0 @@ -import{g as Ie,x as Ae,v as Ne,c as pt,s as oe,b as Se,a as Me,m as Re,z as De,l as G,d as Mt,j as w,e as Ve,h as St,i as Ce,y as B,n as ce,aq as le,aF as Oe,aG as Be}from"../app.1f62ceb3.js";import{d as Ye,a as Fe,g as Rt,b as We,c as qe,e as Xt}from"./svgDrawCommon-f26cad39.06b971e6.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";var zt=function(){var t=function(dt,m,v,_){for(v=v||{},_=dt.length;_--;v[dt[_]]=m);return v},e=[1,2],o=[1,3],i=[1,5],s=[1,7],n=[2,5],l=[1,15],h=[1,17],p=[1,19],r=[1,20],g=[1,22],y=[1,23],u=[1,24],x=[1,30],b=[1,31],k=[1,32],N=[1,33],D=[1,34],S=[1,35],W=[1,36],M=[1,37],it=[1,38],z=[1,39],X=[1,40],Q=[1,41],j=[1,42],F=[1,44],O=[1,45],q=[1,46],H=[1,48],J=[1,49],$=[1,50],tt=[1,51],E=[1,52],L=[1,53],I=[1,56],P=[1,4,5,19,20,22,24,27,29,35,36,37,39,41,42,43,44,45,47,49,50,52,53,54,55,56,58,59,60,65,66,67,68,76,86],U=[4,5,22,56,58,59],A=[4,5,19,20,22,24,27,29,35,36,37,39,41,42,43,44,45,47,49,50,52,56,58,59,60,65,66,67,68,76,86],te=[4,5,19,20,22,24,27,29,35,36,37,39,41,42,43,44,45,47,49,50,52,55,56,58,59,60,65,66,67,68,76,86],Ct=[4,5,19,20,22,24,27,29,35,36,37,39,41,42,43,44,45,47,49,50,52,54,56,58,59,60,65,66,67,68,76,86],ee=[4,5,19,20,22,24,27,29,35,36,37,39,41,42,43,44,45,47,49,50,52,53,56,58,59,60,65,66,67,68,76,86],ht=[74,75,76],rt=[1,133],ie=[1,4,5,7,19,20,22,24,27,29,35,36,37,39,41,42,43,44,45,47,49,50,52,53,54,55,56,58,59,60,65,66,67,68,76,86],Ot={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,directive:6,SD:7,document:8,line:9,statement:10,box_section:11,box_line:12,participant_statement:13,openDirective:14,typeDirective:15,closeDirective:16,":":17,argDirective:18,create:19,box:20,restOfLine:21,end:22,signal:23,autonumber:24,NUM:25,off:26,activate:27,actor:28,deactivate:29,note_statement:30,links_statement:31,link_statement:32,properties_statement:33,details_statement:34,title:35,legacy_title:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,loop:42,rect:43,opt:44,alt:45,else_sections:46,par:47,par_sections:48,par_over:49,critical:50,option_sections:51,break:52,option:53,and:54,else:55,participant:56,AS:57,participant_actor:58,destroy:59,note:60,placement:61,text2:62,over:63,actor_pair:64,links:65,link:66,properties:67,details:68,spaceList:69,",":70,left_of:71,right_of:72,signaltype:73,"+":74,"-":75,ACTOR:76,SOLID_OPEN_ARROW:77,DOTTED_OPEN_ARROW:78,SOLID_ARROW:79,DOTTED_ARROW:80,SOLID_CROSS:81,DOTTED_CROSS:82,SOLID_POINT:83,DOTTED_POINT:84,TXT:85,open_directive:86,type_directive:87,arg_directive:88,close_directive:89,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",7:"SD",17:":",19:"create",20:"box",21:"restOfLine",22:"end",24:"autonumber",25:"NUM",26:"off",27:"activate",29:"deactivate",35:"title",36:"legacy_title",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"loop",43:"rect",44:"opt",45:"alt",47:"par",49:"par_over",50:"critical",52:"break",53:"option",54:"and",55:"else",56:"participant",57:"AS",58:"participant_actor",59:"destroy",60:"note",63:"over",65:"links",66:"link",67:"properties",68:"details",70:",",71:"left_of",72:"right_of",74:"+",75:"-",76:"ACTOR",77:"SOLID_OPEN_ARROW",78:"DOTTED_OPEN_ARROW",79:"SOLID_ARROW",80:"DOTTED_ARROW",81:"SOLID_CROSS",82:"DOTTED_CROSS",83:"SOLID_POINT",84:"DOTTED_POINT",85:"TXT",86:"open_directive",87:"type_directive",88:"arg_directive",89:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[11,0],[11,2],[12,2],[12,1],[12,1],[6,4],[6,6],[10,1],[10,2],[10,4],[10,2],[10,4],[10,3],[10,3],[10,2],[10,3],[10,3],[10,2],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,2],[10,2],[10,1],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,1],[51,1],[51,4],[48,1],[48,4],[46,1],[46,4],[13,5],[13,3],[13,5],[13,3],[13,3],[30,4],[30,4],[31,3],[32,3],[33,3],[34,3],[69,2],[69,1],[64,3],[64,1],[61,1],[61,1],[23,5],[23,5],[23,4],[28,1],[73,1],[73,1],[73,1],[73,1],[73,1],[73,1],[73,1],[73,1],[62,1],[14,1],[15,1],[18,1],[16,1]],performAction:function(m,v,_,T,R,c,vt){var d=c.length-1;switch(R){case 4:return T.apply(c[d]),c[d];case 5:case 10:this.$=[];break;case 6:case 11:c[d-1].push(c[d]),this.$=c[d-1];break;case 7:case 8:case 12:case 13:this.$=c[d];break;case 9:case 14:this.$=[];break;case 18:c[d].type="createParticipant",this.$=c[d];break;case 19:c[d-1].unshift({type:"boxStart",boxData:T.parseBoxData(c[d-2])}),c[d-1].push({type:"boxEnd",boxText:c[d-2]}),this.$=c[d-1];break;case 21:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-2]),sequenceIndexStep:Number(c[d-1]),sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:T.LINETYPE.AUTONUMBER};break;case 24:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 25:this.$={type:"activeStart",signalType:T.LINETYPE.ACTIVE_START,actor:c[d-1]};break;case 26:this.$={type:"activeEnd",signalType:T.LINETYPE.ACTIVE_END,actor:c[d-1]};break;case 32:T.setDiagramTitle(c[d].substring(6)),this.$=c[d].substring(6);break;case 33:T.setDiagramTitle(c[d].substring(7)),this.$=c[d].substring(7);break;case 34:this.$=c[d].trim(),T.setAccTitle(this.$);break;case 35:case 36:this.$=c[d].trim(),T.setAccDescription(this.$);break;case 37:c[d-1].unshift({type:"loopStart",loopText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.LOOP_START}),c[d-1].push({type:"loopEnd",loopText:c[d-2],signalType:T.LINETYPE.LOOP_END}),this.$=c[d-1];break;case 38:c[d-1].unshift({type:"rectStart",color:T.parseMessage(c[d-2]),signalType:T.LINETYPE.RECT_START}),c[d-1].push({type:"rectEnd",color:T.parseMessage(c[d-2]),signalType:T.LINETYPE.RECT_END}),this.$=c[d-1];break;case 39:c[d-1].unshift({type:"optStart",optText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.OPT_START}),c[d-1].push({type:"optEnd",optText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.OPT_END}),this.$=c[d-1];break;case 40:c[d-1].unshift({type:"altStart",altText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.ALT_START}),c[d-1].push({type:"altEnd",signalType:T.LINETYPE.ALT_END}),this.$=c[d-1];break;case 41:c[d-1].unshift({type:"parStart",parText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.PAR_START}),c[d-1].push({type:"parEnd",signalType:T.LINETYPE.PAR_END}),this.$=c[d-1];break;case 42:c[d-1].unshift({type:"parStart",parText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.PAR_OVER_START}),c[d-1].push({type:"parEnd",signalType:T.LINETYPE.PAR_END}),this.$=c[d-1];break;case 43:c[d-1].unshift({type:"criticalStart",criticalText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.CRITICAL_START}),c[d-1].push({type:"criticalEnd",signalType:T.LINETYPE.CRITICAL_END}),this.$=c[d-1];break;case 44:c[d-1].unshift({type:"breakStart",breakText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.BREAK_START}),c[d-1].push({type:"breakEnd",optText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.BREAK_END}),this.$=c[d-1];break;case 47:this.$=c[d-3].concat([{type:"option",optionText:T.parseMessage(c[d-1]),signalType:T.LINETYPE.CRITICAL_OPTION},c[d]]);break;case 49:this.$=c[d-3].concat([{type:"and",parText:T.parseMessage(c[d-1]),signalType:T.LINETYPE.PAR_AND},c[d]]);break;case 51:this.$=c[d-3].concat([{type:"else",altText:T.parseMessage(c[d-1]),signalType:T.LINETYPE.ALT_ELSE},c[d]]);break;case 52:c[d-3].draw="participant",c[d-3].type="addParticipant",c[d-3].description=T.parseMessage(c[d-1]),this.$=c[d-3];break;case 53:c[d-1].draw="participant",c[d-1].type="addParticipant",this.$=c[d-1];break;case 54:c[d-3].draw="actor",c[d-3].type="addParticipant",c[d-3].description=T.parseMessage(c[d-1]),this.$=c[d-3];break;case 55:c[d-1].draw="actor",c[d-1].type="addParticipant",this.$=c[d-1];break;case 56:c[d-1].type="destroyParticipant",this.$=c[d-1];break;case 57:this.$=[c[d-1],{type:"addNote",placement:c[d-2],actor:c[d-1].actor,text:c[d]}];break;case 58:c[d-2]=[].concat(c[d-1],c[d-1]).slice(0,2),c[d-2][0]=c[d-2][0].actor,c[d-2][1]=c[d-2][1].actor,this.$=[c[d-1],{type:"addNote",placement:T.PLACEMENT.OVER,actor:c[d-2].slice(0,2),text:c[d]}];break;case 59:this.$=[c[d-1],{type:"addLinks",actor:c[d-1].actor,text:c[d]}];break;case 60:this.$=[c[d-1],{type:"addALink",actor:c[d-1].actor,text:c[d]}];break;case 61:this.$=[c[d-1],{type:"addProperties",actor:c[d-1].actor,text:c[d]}];break;case 62:this.$=[c[d-1],{type:"addDetails",actor:c[d-1].actor,text:c[d]}];break;case 65:this.$=[c[d-2],c[d]];break;case 66:this.$=c[d];break;case 67:this.$=T.PLACEMENT.LEFTOF;break;case 68:this.$=T.PLACEMENT.RIGHTOF;break;case 69:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeStart",signalType:T.LINETYPE.ACTIVE_START,actor:c[d-1]}];break;case 70:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeEnd",signalType:T.LINETYPE.ACTIVE_END,actor:c[d-4]}];break;case 71:this.$=[c[d-3],c[d-1],{type:"addMessage",from:c[d-3].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d]}];break;case 72:this.$={type:"addParticipant",actor:c[d]};break;case 73:this.$=T.LINETYPE.SOLID_OPEN;break;case 74:this.$=T.LINETYPE.DOTTED_OPEN;break;case 75:this.$=T.LINETYPE.SOLID;break;case 76:this.$=T.LINETYPE.DOTTED;break;case 77:this.$=T.LINETYPE.SOLID_CROSS;break;case 78:this.$=T.LINETYPE.DOTTED_CROSS;break;case 79:this.$=T.LINETYPE.SOLID_POINT;break;case 80:this.$=T.LINETYPE.DOTTED_POINT;break;case 81:this.$=T.parseMessage(c[d].trim().substring(1));break;case 82:T.parseDirective("%%{","open_directive");break;case 83:T.parseDirective(c[d],"type_directive");break;case 84:c[d]=c[d].trim().replace(/'/g,'"'),T.parseDirective(c[d],"arg_directive");break;case 85:T.parseDirective("}%%","close_directive","sequence");break}},table:[{3:1,4:e,5:o,6:4,7:i,14:6,86:s},{1:[3]},{3:8,4:e,5:o,6:4,7:i,14:6,86:s},{3:9,4:e,5:o,6:4,7:i,14:6,86:s},{3:10,4:e,5:o,6:4,7:i,14:6,86:s},t([1,4,5,19,20,24,27,29,35,36,37,39,41,42,43,44,45,47,49,50,52,56,58,59,60,65,66,67,68,76,86],n,{8:11}),{15:12,87:[1,13]},{87:[2,82]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:l,5:h,6:43,9:14,10:16,13:18,14:6,19:p,20:r,23:21,24:g,27:y,28:47,29:u,30:25,31:26,32:27,33:28,34:29,35:x,36:b,37:k,39:N,41:D,42:S,43:W,44:M,45:it,47:z,49:X,50:Q,52:j,56:F,58:O,59:q,60:H,65:J,66:$,67:tt,68:E,76:L,86:s},{16:54,17:[1,55],89:I},t([17,89],[2,83]),t(P,[2,6]),{6:43,10:57,13:18,14:6,19:p,20:r,23:21,24:g,27:y,28:47,29:u,30:25,31:26,32:27,33:28,34:29,35:x,36:b,37:k,39:N,41:D,42:S,43:W,44:M,45:it,47:z,49:X,50:Q,52:j,56:F,58:O,59:q,60:H,65:J,66:$,67:tt,68:E,76:L,86:s},t(P,[2,8]),t(P,[2,9]),t(P,[2,17]),{13:58,56:F,58:O,59:q},{21:[1,59]},{5:[1,60]},{5:[1,63],25:[1,61],26:[1,62]},{28:64,76:L},{28:65,76:L},{5:[1,66]},{5:[1,67]},{5:[1,68]},{5:[1,69]},{5:[1,70]},t(P,[2,32]),t(P,[2,33]),{38:[1,71]},{40:[1,72]},t(P,[2,36]),{21:[1,73]},{21:[1,74]},{21:[1,75]},{21:[1,76]},{21:[1,77]},{21:[1,78]},{21:[1,79]},{21:[1,80]},t(P,[2,45]),{28:81,76:L},{28:82,76:L},{28:83,76:L},{73:84,77:[1,85],78:[1,86],79:[1,87],80:[1,88],81:[1,89],82:[1,90],83:[1,91],84:[1,92]},{61:93,63:[1,94],71:[1,95],72:[1,96]},{28:97,76:L},{28:98,76:L},{28:99,76:L},{28:100,76:L},t([5,57,70,77,78,79,80,81,82,83,84,85],[2,72]),{5:[1,101]},{18:102,88:[1,103]},{5:[2,85]},t(P,[2,7]),t(P,[2,18]),t(U,[2,10],{11:104}),t(P,[2,20]),{5:[1,106],25:[1,105]},{5:[1,107]},t(P,[2,24]),{5:[1,108]},{5:[1,109]},t(P,[2,27]),t(P,[2,28]),t(P,[2,29]),t(P,[2,30]),t(P,[2,31]),t(P,[2,34]),t(P,[2,35]),t(A,n,{8:110}),t(A,n,{8:111}),t(A,n,{8:112}),t(te,n,{46:113,8:114}),t(Ct,n,{48:115,8:116}),t(Ct,n,{8:116,48:117}),t(ee,n,{51:118,8:119}),t(A,n,{8:120}),{5:[1,122],57:[1,121]},{5:[1,124],57:[1,123]},{5:[1,125]},{28:128,74:[1,126],75:[1,127],76:L},t(ht,[2,73]),t(ht,[2,74]),t(ht,[2,75]),t(ht,[2,76]),t(ht,[2,77]),t(ht,[2,78]),t(ht,[2,79]),t(ht,[2,80]),{28:129,76:L},{28:131,64:130,76:L},{76:[2,67]},{76:[2,68]},{62:132,85:rt},{62:134,85:rt},{62:135,85:rt},{62:136,85:rt},t(ie,[2,15]),{16:137,89:I},{89:[2,84]},{4:[1,140],5:[1,142],12:139,13:141,22:[1,138],56:F,58:O,59:q},{5:[1,143]},t(P,[2,22]),t(P,[2,23]),t(P,[2,25]),t(P,[2,26]),{4:l,5:h,6:43,9:14,10:16,13:18,14:6,19:p,20:r,22:[1,144],23:21,24:g,27:y,28:47,29:u,30:25,31:26,32:27,33:28,34:29,35:x,36:b,37:k,39:N,41:D,42:S,43:W,44:M,45:it,47:z,49:X,50:Q,52:j,56:F,58:O,59:q,60:H,65:J,66:$,67:tt,68:E,76:L,86:s},{4:l,5:h,6:43,9:14,10:16,13:18,14:6,19:p,20:r,22:[1,145],23:21,24:g,27:y,28:47,29:u,30:25,31:26,32:27,33:28,34:29,35:x,36:b,37:k,39:N,41:D,42:S,43:W,44:M,45:it,47:z,49:X,50:Q,52:j,56:F,58:O,59:q,60:H,65:J,66:$,67:tt,68:E,76:L,86:s},{4:l,5:h,6:43,9:14,10:16,13:18,14:6,19:p,20:r,22:[1,146],23:21,24:g,27:y,28:47,29:u,30:25,31:26,32:27,33:28,34:29,35:x,36:b,37:k,39:N,41:D,42:S,43:W,44:M,45:it,47:z,49:X,50:Q,52:j,56:F,58:O,59:q,60:H,65:J,66:$,67:tt,68:E,76:L,86:s},{22:[1,147]},{4:l,5:h,6:43,9:14,10:16,13:18,14:6,19:p,20:r,22:[2,50],23:21,24:g,27:y,28:47,29:u,30:25,31:26,32:27,33:28,34:29,35:x,36:b,37:k,39:N,41:D,42:S,43:W,44:M,45:it,47:z,49:X,50:Q,52:j,55:[1,148],56:F,58:O,59:q,60:H,65:J,66:$,67:tt,68:E,76:L,86:s},{22:[1,149]},{4:l,5:h,6:43,9:14,10:16,13:18,14:6,19:p,20:r,22:[2,48],23:21,24:g,27:y,28:47,29:u,30:25,31:26,32:27,33:28,34:29,35:x,36:b,37:k,39:N,41:D,42:S,43:W,44:M,45:it,47:z,49:X,50:Q,52:j,54:[1,150],56:F,58:O,59:q,60:H,65:J,66:$,67:tt,68:E,76:L,86:s},{22:[1,151]},{22:[1,152]},{4:l,5:h,6:43,9:14,10:16,13:18,14:6,19:p,20:r,22:[2,46],23:21,24:g,27:y,28:47,29:u,30:25,31:26,32:27,33:28,34:29,35:x,36:b,37:k,39:N,41:D,42:S,43:W,44:M,45:it,47:z,49:X,50:Q,52:j,53:[1,153],56:F,58:O,59:q,60:H,65:J,66:$,67:tt,68:E,76:L,86:s},{4:l,5:h,6:43,9:14,10:16,13:18,14:6,19:p,20:r,22:[1,154],23:21,24:g,27:y,28:47,29:u,30:25,31:26,32:27,33:28,34:29,35:x,36:b,37:k,39:N,41:D,42:S,43:W,44:M,45:it,47:z,49:X,50:Q,52:j,56:F,58:O,59:q,60:H,65:J,66:$,67:tt,68:E,76:L,86:s},{21:[1,155]},t(P,[2,53]),{21:[1,156]},t(P,[2,55]),t(P,[2,56]),{28:157,76:L},{28:158,76:L},{62:159,85:rt},{62:160,85:rt},{62:161,85:rt},{70:[1,162],85:[2,66]},{5:[2,59]},{5:[2,81]},{5:[2,60]},{5:[2,61]},{5:[2,62]},{5:[1,163]},t(P,[2,19]),t(U,[2,11]),{13:164,56:F,58:O,59:q},t(U,[2,13]),t(U,[2,14]),t(P,[2,21]),t(P,[2,37]),t(P,[2,38]),t(P,[2,39]),t(P,[2,40]),{21:[1,165]},t(P,[2,41]),{21:[1,166]},t(P,[2,42]),t(P,[2,43]),{21:[1,167]},t(P,[2,44]),{5:[1,168]},{5:[1,169]},{62:170,85:rt},{62:171,85:rt},{5:[2,71]},{5:[2,57]},{5:[2,58]},{28:172,76:L},t(ie,[2,16]),t(U,[2,12]),t(te,n,{8:114,46:173}),t(Ct,n,{8:116,48:174}),t(ee,n,{8:119,51:175}),t(P,[2,52]),t(P,[2,54]),{5:[2,69]},{5:[2,70]},{85:[2,65]},{22:[2,51]},{22:[2,49]},{22:[2,47]}],defaultActions:{7:[2,82],8:[2,1],9:[2,2],10:[2,3],56:[2,85],95:[2,67],96:[2,68],103:[2,84],132:[2,59],133:[2,81],134:[2,60],135:[2,61],136:[2,62],159:[2,71],160:[2,57],161:[2,58],170:[2,69],171:[2,70],172:[2,65],173:[2,51],174:[2,49],175:[2,47]},parseError:function(m,v){if(v.recoverable)this.trace(m);else{var _=new Error(m);throw _.hash=v,_}},parse:function(m){var v=this,_=[0],T=[],R=[null],c=[],vt=this.table,d="",It=0,se=0,_e=2,ne=1,ke=c.slice.call(arguments,1),Y=Object.create(this.lexer),ut={yy:{}};for(var Yt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Yt)&&(ut.yy[Yt]=this.yy[Yt]);Y.setInput(m,ut.yy),ut.yy.lexer=Y,ut.yy.parser=this,typeof Y.yylloc>"u"&&(Y.yylloc={});var Ft=Y.yylloc;c.push(Ft);var Pe=Y.options&&Y.options.ranges;typeof ut.yy.parseError=="function"?this.parseError=ut.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Le(){var ot;return ot=T.pop()||Y.lex()||ne,typeof ot!="number"&&(ot instanceof Array&&(T=ot,ot=T.pop()),ot=v.symbols_[ot]||ot),ot}for(var K,ft,et,Wt,yt={},At,at,re,Nt;;){if(ft=_[_.length-1],this.defaultActions[ft]?et=this.defaultActions[ft]:((K===null||typeof K>"u")&&(K=Le()),et=vt[ft]&&vt[ft][K]),typeof et>"u"||!et.length||!et[0]){var qt="";Nt=[];for(At in vt[ft])this.terminals_[At]&&At>_e&&Nt.push("'"+this.terminals_[At]+"'");Y.showPosition?qt="Parse error on line "+(It+1)+`: -`+Y.showPosition()+` -Expecting `+Nt.join(", ")+", got '"+(this.terminals_[K]||K)+"'":qt="Parse error on line "+(It+1)+": Unexpected "+(K==ne?"end of input":"'"+(this.terminals_[K]||K)+"'"),this.parseError(qt,{text:Y.match,token:this.terminals_[K]||K,line:Y.yylineno,loc:Ft,expected:Nt})}if(et[0]instanceof Array&&et.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ft+", token: "+K);switch(et[0]){case 1:_.push(K),R.push(Y.yytext),c.push(Y.yylloc),_.push(et[1]),K=null,se=Y.yyleng,d=Y.yytext,It=Y.yylineno,Ft=Y.yylloc;break;case 2:if(at=this.productions_[et[1]][1],yt.$=R[R.length-at],yt._$={first_line:c[c.length-(at||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(at||1)].first_column,last_column:c[c.length-1].last_column},Pe&&(yt._$.range=[c[c.length-(at||1)].range[0],c[c.length-1].range[1]]),Wt=this.performAction.apply(yt,[d,se,It,ut.yy,et[1],R,c].concat(ke)),typeof Wt<"u")return Wt;at&&(_=_.slice(0,-1*at*2),R=R.slice(0,-1*at),c=c.slice(0,-1*at)),_.push(this.productions_[et[1]][0]),R.push(yt.$),c.push(yt._$),re=vt[_[_.length-2]][_[_.length-1]],_.push(re);break;case 3:return!0}}return!0}},ve=function(){var dt={EOF:1,parseError:function(v,_){if(this.yy.parser)this.yy.parser.parseError(v,_);else throw new Error(v)},setInput:function(m,v){return this.yy=v||this.yy||{},this._input=m,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var v=m.match(/(?:\r\n?|\n).*/g);return v?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},unput:function(m){var v=m.length,_=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-v),this.offset-=v;var T=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),_.length-1&&(this.yylineno-=_.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:_?(_.length===T.length?this.yylloc.first_column:0)+T[T.length-_.length].length-_[0].length:this.yylloc.first_column-v},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-v]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(m){this.unput(this.match.slice(m))},pastInput:function(){var m=this.matched.substr(0,this.matched.length-this.match.length);return(m.length>20?"...":"")+m.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var m=this.match;return m.length<20&&(m+=this._input.substr(0,20-m.length)),(m.substr(0,20)+(m.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var m=this.pastInput(),v=new Array(m.length+1).join("-");return m+this.upcomingInput()+` -`+v+"^"},test_match:function(m,v){var _,T,R;if(this.options.backtrack_lexer&&(R={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(R.yylloc.range=this.yylloc.range.slice(0))),T=m[0].match(/(?:\r\n?|\n).*/g),T&&(this.yylineno+=T.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:T?T[T.length-1].length-T[T.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+m[0].length},this.yytext+=m[0],this.match+=m[0],this.matches=m,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(m[0].length),this.matched+=m[0],_=this.performAction.call(this,this.yy,this,v,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),_)return _;if(this._backtrack){for(var c in R)this[c]=R[c];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var m,v,_,T;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),c=0;cv[0].length)){if(v=_,T=c,this.options.backtrack_lexer){if(m=this.test_match(_,R[c]),m!==!1)return m;if(this._backtrack){v=!1;continue}else return!1}else if(!this.options.flex)break}return v?(m=this.test_match(v,R[T]),m!==!1?m:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var v=this.next();return v||this.lex()},begin:function(v){this.conditionStack.push(v)},popState:function(){var v=this.conditionStack.length-1;return v>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(v){return v=this.conditionStack.length-1-Math.abs(v||0),v>=0?this.conditionStack[v]:"INITIAL"},pushState:function(v){this.begin(v)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(v,_,T,R){switch(T){case 0:return this.begin("open_directive"),86;case 1:return this.begin("type_directive"),87;case 2:return this.popState(),this.begin("arg_directive"),17;case 3:return this.popState(),this.popState(),89;case 4:return 88;case 5:return 5;case 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:return 25;case 12:return this.begin("LINE"),20;case 13:return this.begin("ID"),56;case 14:return this.begin("ID"),58;case 15:return 19;case 16:return this.begin("ID"),59;case 17:return _.yytext=_.yytext.trim(),this.begin("ALIAS"),76;case 18:return this.popState(),this.popState(),this.begin("LINE"),57;case 19:return this.popState(),this.popState(),5;case 20:return this.begin("LINE"),42;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),44;case 23:return this.begin("LINE"),45;case 24:return this.begin("LINE"),55;case 25:return this.begin("LINE"),47;case 26:return this.begin("LINE"),49;case 27:return this.begin("LINE"),54;case 28:return this.begin("LINE"),50;case 29:return this.begin("LINE"),53;case 30:return this.begin("LINE"),52;case 31:return this.popState(),21;case 32:return 22;case 33:return 71;case 34:return 72;case 35:return 65;case 36:return 66;case 37:return 67;case 38:return 68;case 39:return 63;case 40:return 60;case 41:return this.begin("ID"),27;case 42:return this.begin("ID"),29;case 43:return 35;case 44:return 36;case 45:return this.begin("acc_title"),37;case 46:return this.popState(),"acc_title_value";case 47:return this.begin("acc_descr"),39;case 48:return this.popState(),"acc_descr_value";case 49:this.begin("acc_descr_multiline");break;case 50:this.popState();break;case 51:return"acc_descr_multiline_value";case 52:return 7;case 53:return 24;case 54:return 26;case 55:return 70;case 56:return 5;case 57:return _.yytext=_.yytext.trim(),76;case 58:return 79;case 59:return 80;case 60:return 77;case 61:return 78;case 62:return 81;case 63:return 82;case 64:return 83;case 65:return 84;case 66:return 85;case 67:return 74;case 68:return 75;case 69:return 5;case 70:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:[\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:[50,51],inclusive:!1},acc_descr:{rules:[48],inclusive:!1},acc_title:{rules:[46],inclusive:!1},open_directive:{rules:[1,8],inclusive:!1},type_directive:{rules:[2,3,8],inclusive:!1},arg_directive:{rules:[3,4,8],inclusive:!1},ID:{rules:[7,8,17],inclusive:!1},ALIAS:{rules:[7,8,18,19],inclusive:!1},LINE:{rules:[7,8,31],inclusive:!1},INITIAL:{rules:[0,5,6,8,9,10,11,12,13,14,15,16,20,21,22,23,24,25,26,27,28,29,30,32,33,34,35,36,37,38,39,40,41,42,43,44,45,47,49,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70],inclusive:!0}}};return dt}();Ot.lexer=ve;function Bt(){this.yy={}}return Bt.prototype=Ot,Ot.Parser=Bt,new Bt}();zt.parser=zt;const ze=zt;let _t,lt={},Jt={},Zt={},mt=[],Z=[],Dt=!1,Ht,ct,kt,Et;const He=function(t,e,o){Re.parseDirective(this,t,e,o)},Ue=function(t){mt.push({name:t.text,wrap:t.wrap===void 0&&xt()||!!t.wrap,fill:t.color,actorKeys:[]}),ct=mt.slice(-1)[0]},Ut=function(t,e,o,i){let s=ct;const n=lt[t];if(n){if(ct&&n.box&&ct!==n.box)throw new Error("A same participant should only be defined in one Box: "+n.name+" can't be in '"+n.box.name+"' and in '"+ct.name+"' at the same time.");if(s=n.box?n.box:ct,n.box=s,n&&e===n.name&&o==null)return}(o==null||o.text==null)&&(o={text:e,wrap:null,type:i}),(i==null||o.text==null)&&(o={text:e,wrap:null,type:i}),lt[t]={box:s,name:e,description:o.text,wrap:o.wrap===void 0&&xt()||!!o.wrap,prevActor:_t,links:{},properties:{},actorCnt:null,rectData:null,type:i||"participant"},_t&<[_t]&&(lt[_t].nextActor=t),ct&&ct.actorKeys.push(t),_t=t},Ke=t=>{let e,o=0;for(e=0;e>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},n}return Z.push({from:t,to:e,message:o.text,wrap:o.wrap===void 0&&xt()||!!o.wrap,type:i}),!0},Xe=function(){return mt.length>0},Je=function(){return mt.some(t=>t.name)},Ze=function(){return Z},Qe=function(){return mt},je=function(){return lt},$e=function(){return Jt},t0=function(){return Zt},Lt=function(t){return lt[t]},e0=function(){return Object.keys(lt)},i0=function(){Dt=!0},s0=function(){Dt=!1},n0=()=>Dt,r0=function(t){Ht=t},xt=()=>Ht!==void 0?Ht:pt().sequence.wrap,a0=function(){lt={},Jt={},Zt={},mt=[],Z=[],Dt=!1,De()},o0=function(t){const e=t.trim(),o={text:e.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:e.match(/^:?wrap:/)!==null?!0:e.match(/^:?nowrap:/)!==null?!1:void 0};return G.debug("parseMessage:",o),o},c0=function(t){const e=t.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let o=e!=null&&e[1]?e[1].trim():"transparent",i=e!=null&&e[2]?e[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",o)||(o="transparent",i=t.trim());else{const n=new Option().style;n.color=o,n.color!==o&&(o="transparent",i=t.trim())}return{color:o,text:i!==void 0?Mt(i.replace(/^:?(?:no)?wrap:/,""),pt()):void 0,wrap:i!==void 0?i.match(/^:?wrap:/)!==null?!0:i.match(/^:?nowrap:/)!==null?!1:void 0:void 0}},Pt={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},l0={FILLED:0,OPEN:1},h0={LEFTOF:0,RIGHTOF:1,OVER:2},he=function(t,e,o){o.text,o.wrap===void 0&&xt()||o.wrap;const i=[].concat(t,t);Z.push({from:i[0],to:i[1],message:o.text,wrap:o.wrap===void 0&&xt()||!!o.wrap,type:Pt.NOTE,placement:e})},de=function(t,e){const o=Lt(t);try{let i=Mt(e.text,pt());i=i.replace(/&/g,"&"),i=i.replace(/=/g,"=");const s=JSON.parse(i);Qt(o,s)}catch(i){G.error("error while parsing actor link text",i)}},d0=function(t,e){const o=Lt(t);try{const l={};let h=Mt(e.text,pt());var i=h.indexOf("@");h=h.replace(/&/g,"&"),h=h.replace(/=/g,"=");var s=h.slice(0,i-1).trim(),n=h.slice(i+1).trim();l[s]=n,Qt(o,l)}catch(l){G.error("error while parsing actor link text",l)}};function Qt(t,e){if(t.links==null)t.links=e;else for(let o in e)t.links[o]=e[o]}const pe=function(t,e){const o=Lt(t);try{let i=Mt(e.text,pt());const s=JSON.parse(i);ue(o,s)}catch(i){G.error("error while parsing actor properties text",i)}};function ue(t,e){if(t.properties==null)t.properties=e;else for(let o in e)t.properties[o]=e[o]}function p0(){ct=void 0}const fe=function(t,e){const o=Lt(t),i=document.getElementById(e.text);try{const s=i.innerHTML,n=JSON.parse(s);n.properties&&ue(o,n.properties),n.links&&Qt(o,n.links)}catch(s){G.error("error while parsing actor details text",s)}},u0=function(t,e){if(t!==void 0&&t.properties!==void 0)return t.properties[e]},ge=function(t){if(Array.isArray(t))t.forEach(function(e){ge(e)});else switch(t.type){case"sequenceIndex":Z.push({from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":Ut(t.actor,t.actor,t.description,t.draw);break;case"createParticipant":if(lt[t.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");kt=t.actor,Ut(t.actor,t.actor,t.description,t.draw),Jt[t.actor]=Z.length;break;case"destroyParticipant":Et=t.actor,Zt[t.actor]=Z.length;break;case"activeStart":V(t.actor,void 0,void 0,t.signalType);break;case"activeEnd":V(t.actor,void 0,void 0,t.signalType);break;case"addNote":he(t.actor,t.placement,t.text);break;case"addLinks":de(t.actor,t.text);break;case"addALink":d0(t.actor,t.text);break;case"addProperties":pe(t.actor,t.text);break;case"addDetails":fe(t.actor,t.text);break;case"addMessage":if(kt){if(t.to!==kt)throw new Error("The created participant "+kt+" does not have an associated creating message after its declaration. Please check the sequence diagram.");kt=void 0}else if(Et){if(t.to!==Et&&t.from!==Et)throw new Error("The destroyed participant "+Et+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");Et=void 0}V(t.from,t.to,t.msg,t.signalType);break;case"boxStart":Ue(t.boxData);break;case"boxEnd":p0();break;case"loopStart":V(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":V(void 0,void 0,void 0,t.signalType);break;case"rectStart":V(void 0,void 0,t.color,t.signalType);break;case"rectEnd":V(void 0,void 0,void 0,t.signalType);break;case"optStart":V(void 0,void 0,t.optText,t.signalType);break;case"optEnd":V(void 0,void 0,void 0,t.signalType);break;case"altStart":V(void 0,void 0,t.altText,t.signalType);break;case"else":V(void 0,void 0,t.altText,t.signalType);break;case"altEnd":V(void 0,void 0,void 0,t.signalType);break;case"setAccTitle":oe(t.text);break;case"parStart":V(void 0,void 0,t.parText,t.signalType);break;case"and":V(void 0,void 0,t.parText,t.signalType);break;case"parEnd":V(void 0,void 0,void 0,t.signalType);break;case"criticalStart":V(void 0,void 0,t.criticalText,t.signalType);break;case"option":V(void 0,void 0,t.optionText,t.signalType);break;case"criticalEnd":V(void 0,void 0,void 0,t.signalType);break;case"breakStart":V(void 0,void 0,t.breakText,t.signalType);break;case"breakEnd":V(void 0,void 0,void 0,t.signalType);break}},f0={addActor:Ut,addMessage:Ge,addSignal:V,addLinks:de,addDetails:fe,addProperties:pe,autoWrap:xt,setWrap:r0,enableSequenceNumbers:i0,disableSequenceNumbers:s0,showSequenceNumbers:n0,getMessages:Ze,getActors:je,getCreatedActors:$e,getDestroyedActors:t0,getActor:Lt,getActorKeys:e0,getActorProperty:u0,getAccTitle:Ie,getBoxes:Qe,getDiagramTitle:Ae,setDiagramTitle:Ne,parseDirective:He,getConfig:()=>pt().sequence,clear:a0,parseMessage:o0,parseBoxData:c0,LINETYPE:Pt,ARROWTYPE:l0,PLACEMENT:h0,addNote:he,setAccTitle:oe,apply:ge,setAccDescription:Se,getAccDescription:Me,hasAtLeastOneBox:Xe,hasAtLeastOneBoxWithTitle:Je},g0=t=>`.actor { - stroke: ${t.actorBorder}; - fill: ${t.actorBkg}; - } - - text.actor > tspan { - fill: ${t.actorTextColor}; - stroke: none; - } - - .actor-line { - stroke: ${t.actorLineColor}; - } - - .messageLine0 { - stroke-width: 1.5; - stroke-dasharray: none; - stroke: ${t.signalColor}; - } - - .messageLine1 { - stroke-width: 1.5; - stroke-dasharray: 2, 2; - stroke: ${t.signalColor}; - } - - #arrowhead path { - fill: ${t.signalColor}; - stroke: ${t.signalColor}; - } - - .sequenceNumber { - fill: ${t.sequenceNumberColor}; - } - - #sequencenumber { - fill: ${t.signalColor}; - } - - #crosshead path { - fill: ${t.signalColor}; - stroke: ${t.signalColor}; - } - - .messageText { - fill: ${t.signalTextColor}; - stroke: none; - } - - .labelBox { - stroke: ${t.labelBoxBorderColor}; - fill: ${t.labelBoxBkgColor}; - } - - .labelText, .labelText > tspan { - fill: ${t.labelTextColor}; - stroke: none; - } - - .loopText, .loopText > tspan { - fill: ${t.loopTextColor}; - stroke: none; - } - - .loopLine { - stroke-width: 2px; - stroke-dasharray: 2, 2; - stroke: ${t.labelBoxBorderColor}; - fill: ${t.labelBoxBorderColor}; - } - - .note { - //stroke: #decc93; - stroke: ${t.noteBorderColor}; - fill: ${t.noteBkgColor}; - } - - .noteText, .noteText > tspan { - fill: ${t.noteTextColor}; - stroke: none; - } - - .activation0 { - fill: ${t.activationBkgColor}; - stroke: ${t.activationBorderColor}; - } - - .activation1 { - fill: ${t.activationBkgColor}; - stroke: ${t.activationBorderColor}; - } - - .activation2 { - fill: ${t.activationBkgColor}; - stroke: ${t.activationBorderColor}; - } - - .actorPopupMenu { - position: absolute; - } - - .actorPopupMenuPanel { - position: absolute; - fill: ${t.actorBkg}; - box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); - filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); -} - .actor-man line { - stroke: ${t.actorBorder}; - fill: ${t.actorBkg}; - } - .actor-man circle, line { - stroke: ${t.actorBorder}; - fill: ${t.actorBkg}; - stroke-width: 2px; - } -`,x0=g0,gt=18*2,jt=function(t,e){return Ye(t,e)},xe=(t,e)=>{Oe(()=>{const o=document.querySelectorAll(t);o.length!==0&&(o[0].addEventListener("mouseover",function(){b0("actor"+e+"_popup")}),o[0].addEventListener("mouseout",function(){m0("actor"+e+"_popup")}))})},T0=function(t,e,o,i,s){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};const n=e.links,l=e.actorCnt,h=e.rectData;var p="none";s&&(p="block !important");const r=t.append("g");r.attr("id","actor"+l+"_popup"),r.attr("class","actorPopupMenu"),r.attr("display",p),xe("#actor"+l+"_popup",l);var g="";h.class!==void 0&&(g=" "+h.class);let y=h.width>o?h.width:o;const u=r.append("rect");if(u.attr("class","actorPopupMenuPanel"+g),u.attr("x",h.x),u.attr("y",h.height),u.attr("fill",h.fill),u.attr("stroke",h.stroke),u.attr("width",y),u.attr("height",h.height),u.attr("rx",h.rx),u.attr("ry",h.ry),n!=null){var x=20;for(let N in n){var b=r.append("a"),k=ce(n[N]);b.attr("xlink:href",k),b.attr("target","_blank"),O0(i)(N,b,h.x+10,h.height+x,y,20,{class:"actor"},i),x+=30}}return u.attr("height",x),{height:h.height+x,width:y}},y0=function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = 'block'; }"},E0=function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = 'none'; }"},b0=function(t){var e=document.getElementById(t);e!=null&&(e.style.display="block")},m0=function(t){var e=document.getElementById(t);e!=null&&(e.style.display="none")},wt=function(t,e){let o=0,i=0;const s=e.text.split(w.lineBreakRegex),[n,l]=le(e.fontSize);let h=[],p=0,r=()=>e.y;if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":r=()=>Math.round(e.y+e.textMargin);break;case"middle":case"center":r=()=>Math.round(e.y+(o+i+e.textMargin)/2);break;case"bottom":case"end":r=()=>Math.round(e.y+(o+i+2*e.textMargin)-e.textMargin);break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[g,y]of s.entries()){e.textMargin!==void 0&&e.textMargin===0&&n!==void 0&&(p=g*n);const u=t.append("text");u.attr("x",e.x),u.attr("y",r()),e.anchor!==void 0&&u.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&u.style("font-family",e.fontFamily),l!==void 0&&u.style("font-size",l),e.fontWeight!==void 0&&u.style("font-weight",e.fontWeight),e.fill!==void 0&&u.attr("fill",e.fill),e.class!==void 0&&u.attr("class",e.class),e.dy!==void 0?u.attr("dy",e.dy):p!==0&&u.attr("dy",p);const x=y||Be;if(e.tspan){const b=u.append("tspan");b.attr("x",e.x),e.fill!==void 0&&b.attr("fill",e.fill),b.text(x)}else u.text(x);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(i+=(u._groups||u)[0][0].getBBox().height,o=i),h.push(u)}return h},Te=function(t,e){function o(s,n,l,h,p){return s+","+n+" "+(s+l)+","+n+" "+(s+l)+","+(n+h-p)+" "+(s+l-p*1.2)+","+(n+h)+" "+s+","+(n+h)}const i=t.append("polygon");return i.attr("points",o(e.x,e.y,e.width,e.height,7)),i.attr("class","labelBox"),e.y=e.y+e.height/2,wt(t,e),i};let st=-1;const ye=(t,e,o,i)=>{t.select&&o.forEach(s=>{const n=e[s],l=t.select("#actor"+n.actorCnt);!i.mirrorActors&&n.stopy?l.attr("y2",n.stopy+n.height/2):i.mirrorActors&&l.attr("y2",n.stopy)})},w0=function(t,e,o,i){const s=i?e.stopy:e.starty,n=e.x+e.width/2,l=s+5,h=t.append("g").lower();var p=h;i||(st++,p.append("line").attr("id","actor"+st).attr("x1",n).attr("y1",l).attr("x2",n).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),p=h.append("g"),e.actorCnt=st,e.links!=null&&(p.attr("id","root-"+st),xe("#root-"+st,st)));const r=Rt();var g="actor";e.properties!=null&&e.properties.class?g=e.properties.class:r.fill="#eaeaea",r.x=e.x,r.y=s,r.width=e.width,r.height=e.height,r.class=g,r.rx=3,r.ry=3;const y=jt(p,r);if(e.rectData=r,e.properties!=null&&e.properties.icon){const x=e.properties.icon.trim();x.charAt(0)==="@"?We(p,r.x+r.width-20,r.y+10,x.substr(1)):qe(p,r.x+r.width-20,r.y+10,x)}$t(o)(e.description,p,r.x,r.y,r.width,r.height,{class:"actor"},o);let u=e.height;if(y.node){const x=y.node().getBBox();e.height=x.height,u=x.height}return u},v0=function(t,e,o,i){const s=i?e.stopy:e.starty,n=e.x+e.width/2,l=s+80;t.lower(),i||(st++,t.append("line").attr("id","actor"+st).attr("x1",n).attr("y1",l).attr("x2",n).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),e.actorCnt=st);const h=t.append("g");h.attr("class","actor-man");const p=Rt();p.x=e.x,p.y=s,p.fill="#eaeaea",p.width=e.width,p.height=e.height,p.class="actor",p.rx=3,p.ry=3,h.append("line").attr("id","actor-man-torso"+st).attr("x1",n).attr("y1",s+25).attr("x2",n).attr("y2",s+45),h.append("line").attr("id","actor-man-arms"+st).attr("x1",n-gt/2).attr("y1",s+33).attr("x2",n+gt/2).attr("y2",s+33),h.append("line").attr("x1",n-gt/2).attr("y1",s+60).attr("x2",n).attr("y2",s+45),h.append("line").attr("x1",n).attr("y1",s+45).attr("x2",n+gt/2-2).attr("y2",s+60);const r=h.append("circle");r.attr("cx",e.x+e.width/2),r.attr("cy",s+10),r.attr("r",15),r.attr("width",e.width),r.attr("height",e.height);const g=h.node().getBBox();return e.height=g.height,$t(o)(e.description,h,p.x,p.y+35,p.width,p.height,{class:"actor"},o),e.height},_0=function(t,e,o,i){switch(e.type){case"actor":return v0(t,e,o,i);case"participant":return w0(t,e,o,i)}},k0=function(t,e,o){const s=t.append("g");Ee(s,e),e.name&&$t(o)(e.name,s,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},o),s.lower()},P0=function(t){return t.append("g")},L0=function(t,e,o,i,s){const n=Rt(),l=e.anchored;n.x=e.startx,n.y=e.starty,n.class="activation"+s%3,n.width=e.stopx-e.startx,n.height=o-e.starty,jt(l,n)},I0=function(t,e,o,i){const{boxMargin:s,boxTextMargin:n,labelBoxHeight:l,labelBoxWidth:h,messageFontFamily:p,messageFontSize:r,messageFontWeight:g}=i,y=t.append("g"),u=function(k,N,D,S){return y.append("line").attr("x1",k).attr("y1",N).attr("x2",D).attr("y2",S).attr("class","loopLine")};u(e.startx,e.starty,e.stopx,e.starty),u(e.stopx,e.starty,e.stopx,e.stopy),u(e.startx,e.stopy,e.stopx,e.stopy),u(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(k){u(e.startx,k.y,e.stopx,k.y).style("stroke-dasharray","3, 3")});let x=Xt();x.text=o,x.x=e.startx,x.y=e.starty,x.fontFamily=p,x.fontSize=r,x.fontWeight=g,x.anchor="middle",x.valign="middle",x.tspan=!1,x.width=h||50,x.height=l||20,x.textMargin=n,x.class="labelText",Te(y,x),x=be(),x.text=e.title,x.x=e.startx+h/2+(e.stopx-e.startx)/2,x.y=e.starty+s+n,x.anchor="middle",x.valign="middle",x.textMargin=n,x.class="loopText",x.fontFamily=p,x.fontSize=r,x.fontWeight=g,x.wrap=!0;let b=wt(y,x);return e.sectionTitles!==void 0&&e.sectionTitles.forEach(function(k,N){if(k.message){x.text=k.message,x.x=e.startx+(e.stopx-e.startx)/2,x.y=e.sections[N].y+s+n,x.class="loopText",x.anchor="middle",x.valign="middle",x.tspan=!1,x.fontFamily=p,x.fontSize=r,x.fontWeight=g,x.wrap=e.wrap,b=wt(y,x);let D=Math.round(b.map(S=>(S._groups||S)[0][0].getBBox().height).reduce((S,W)=>S+W));e.sections[N].height+=D-(s+n)}}),e.height=Math.round(e.stopy-e.starty),y},Ee=function(t,e){Fe(t,e)},A0=function(t){t.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")},N0=function(t){t.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")},S0=function(t){t.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")},M0=function(t){t.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")},R0=function(t){t.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")},D0=function(t){t.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)},V0=function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",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")},be=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}},C0=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},$t=function(){function t(s,n,l,h,p,r,g){const y=n.append("text").attr("x",l+p/2).attr("y",h+r/2+5).style("text-anchor","middle").text(s);i(y,g)}function e(s,n,l,h,p,r,g,y){const{actorFontSize:u,actorFontFamily:x,actorFontWeight:b}=y,[k,N]=le(u),D=s.split(w.lineBreakRegex);for(let S=0;St.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(t){this.boxes.push(t)},addActor:function(t){this.actors.push(t)},addLoop:function(t){this.loops.push(t)},addMessage:function(t){this.messages.push(t)},addNote:function(t){this.notes.push(t)},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,we(pt())},updateVal:function(t,e,o,i){t[e]===void 0?t[e]=o:t[e]=i(o,t[e])},updateBounds:function(t,e,o,i){const s=this;let n=0;function l(h){return function(r){n++;const g=s.sequenceItems.length-n+1;s.updateVal(r,"starty",e-g*a.boxMargin,Math.min),s.updateVal(r,"stopy",i+g*a.boxMargin,Math.max),s.updateVal(f.data,"startx",t-g*a.boxMargin,Math.min),s.updateVal(f.data,"stopx",o+g*a.boxMargin,Math.max),h!=="activation"&&(s.updateVal(r,"startx",t-g*a.boxMargin,Math.min),s.updateVal(r,"stopx",o+g*a.boxMargin,Math.max),s.updateVal(f.data,"starty",e-g*a.boxMargin,Math.min),s.updateVal(f.data,"stopy",i+g*a.boxMargin,Math.max))}}this.sequenceItems.forEach(l()),this.activations.forEach(l("activation"))},insert:function(t,e,o,i){const s=w.getMin(t,o),n=w.getMax(t,o),l=w.getMin(e,i),h=w.getMax(e,i);this.updateVal(f.data,"startx",s,Math.min),this.updateVal(f.data,"starty",l,Math.min),this.updateVal(f.data,"stopx",n,Math.max),this.updateVal(f.data,"stopy",h,Math.max),this.updateBounds(s,l,n,h)},newActivation:function(t,e,o){const i=o[t.from.actor],s=Vt(t.from.actor).length||0,n=i.x+i.width/2+(s-1)*a.activationWidth/2;this.activations.push({startx:n,starty:this.verticalPos+2,stopx:n+a.activationWidth,stopy:void 0,actor:t.from.actor,anchored:C.anchorElement(e)})},endActivation:function(t){const e=this.activations.map(function(o){return o.actor}).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},createLoop:function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},newLoop:function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},addSectionToLoop:function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:f.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=w.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},B0=function(t,e){f.bumpVerticalPos(a.boxMargin),e.height=a.boxMargin,e.starty=f.getVerticalPos();const o=Rt();o.x=e.startx,o.y=e.starty,o.width=e.width||a.width,o.class="note";const i=t.append("g"),s=C.drawRect(i,o),n=Xt();n.x=e.startx,n.y=e.starty,n.width=o.width,n.dy="1em",n.text=e.message,n.class="noteText",n.fontFamily=a.noteFontFamily,n.fontSize=a.noteFontSize,n.fontWeight=a.noteFontWeight,n.anchor=a.noteAlign,n.textMargin=a.noteMargin,n.valign="center";const l=wt(i,n),h=Math.round(l.map(p=>(p._groups||p)[0][0].getBBox().height).reduce((p,r)=>p+r));s.attr("height",h+2*a.noteMargin),e.height+=h+2*a.noteMargin,f.bumpVerticalPos(h+2*a.noteMargin),e.stopy=e.starty+h+2*a.noteMargin,e.stopx=e.startx+o.width,f.insert(e.startx,e.starty,e.stopx,e.stopy),f.models.addNote(e)},Tt=t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),bt=t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),Kt=t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight});function Y0(t,e){f.bumpVerticalPos(10);const{startx:o,stopx:i,message:s}=e,n=w.splitBreaks(s).length,l=B.calculateTextDimensions(s,Tt(a)),h=l.height/n;e.height+=h,f.bumpVerticalPos(h);let p,r=l.height-10;const g=l.width;if(o===i){p=f.getVerticalPos()+r,a.rightAngles||(r+=a.boxMargin,p=f.getVerticalPos()+r),r+=30;const y=w.getMax(g/2,a.width/2);f.insert(o-y,f.getVerticalPos()-10+r,i+y,f.getVerticalPos()+30+r)}else r+=a.boxMargin,p=f.getVerticalPos()+r,f.insert(o,p-10,i,p);return f.bumpVerticalPos(r),e.height+=r,e.stopy=e.starty+e.height,f.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),p}const F0=function(t,e,o,i){const{startx:s,stopx:n,starty:l,message:h,type:p,sequenceIndex:r,sequenceVisible:g}=e,y=B.calculateTextDimensions(h,Tt(a)),u=Xt();u.x=s,u.y=l+10,u.width=n-s,u.class="messageText",u.dy="1em",u.text=h,u.fontFamily=a.messageFontFamily,u.fontSize=a.messageFontSize,u.fontWeight=a.messageFontWeight,u.anchor=a.messageAlign,u.valign="center",u.textMargin=a.wrapPadding,u.tspan=!1,wt(t,u);const x=y.width;let b;s===n?a.rightAngles?b=t.append("path").attr("d",`M ${s},${o} H ${s+w.getMax(a.width/2,x/2)} V ${o+25} H ${s}`):b=t.append("path").attr("d","M "+s+","+o+" C "+(s+60)+","+(o-10)+" "+(s+60)+","+(o+30)+" "+s+","+(o+20)):(b=t.append("line"),b.attr("x1",s),b.attr("y1",o),b.attr("x2",n),b.attr("y2",o)),p===i.db.LINETYPE.DOTTED||p===i.db.LINETYPE.DOTTED_CROSS||p===i.db.LINETYPE.DOTTED_POINT||p===i.db.LINETYPE.DOTTED_OPEN?(b.style("stroke-dasharray","3, 3"),b.attr("class","messageLine1")):b.attr("class","messageLine0");let k="";a.arrowMarkerAbsolute&&(k=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,k=k.replace(/\(/g,"\\("),k=k.replace(/\)/g,"\\)")),b.attr("stroke-width",2),b.attr("stroke","none"),b.style("fill","none"),(p===i.db.LINETYPE.SOLID||p===i.db.LINETYPE.DOTTED)&&b.attr("marker-end","url("+k+"#arrowhead)"),(p===i.db.LINETYPE.SOLID_POINT||p===i.db.LINETYPE.DOTTED_POINT)&&b.attr("marker-end","url("+k+"#filled-head)"),(p===i.db.LINETYPE.SOLID_CROSS||p===i.db.LINETYPE.DOTTED_CROSS)&&b.attr("marker-end","url("+k+"#crosshead)"),(g||a.showSequenceNumbers)&&(b.attr("marker-start","url("+k+"#sequencenumber)"),t.append("text").attr("x",s).attr("y",o+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(r))},W0=function(t,e,o,i,s,n,l){let h=0,p=0,r,g=0;for(const y of i){const u=e[y],x=u.box;r&&r!=x&&(l||f.models.addBox(r),p+=a.boxMargin+r.margin),x&&x!=r&&(l||(x.x=h+p,x.y=s),p+=x.margin),u.width=u.width||a.width,u.height=w.getMax(u.height||a.height,a.height),u.margin=u.margin||a.actorMargin,g=w.getMax(g,u.height),o[u.name]&&(p+=u.width/2),u.x=h+p,u.starty=f.getVerticalPos(),f.insert(u.x,s,u.x+u.width,u.height),h+=u.width+p,u.box&&(u.box.width=h+x.margin-u.box.x),p=u.margin,r=u.box,f.models.addActor(u)}r&&!l&&f.models.addBox(r),f.bumpVerticalPos(g)},Gt=function(t,e,o,i){if(i){let s=0;f.bumpVerticalPos(a.boxMargin*2);for(const n of o){const l=e[n];l.stopy||(l.stopy=f.getVerticalPos());const h=C.drawActor(t,l,a,!0);s=w.getMax(s,h)}f.bumpVerticalPos(s+a.boxMargin)}else for(const s of o){const n=e[s];C.drawActor(t,n,a,!1)}},me=function(t,e,o,i){let s=0,n=0;for(const l of o){const h=e[l],p=U0(h),r=C.drawPopup(t,h,p,a,a.forceMenus,i);r.height>s&&(s=r.height),r.width+h.x>n&&(n=r.width+h.x)}return{maxHeight:s,maxWidth:n}},we=function(t){Ve(a,t),t.fontFamily&&(a.actorFontFamily=a.noteFontFamily=a.messageFontFamily=t.fontFamily),t.fontSize&&(a.actorFontSize=a.noteFontSize=a.messageFontSize=t.fontSize),t.fontWeight&&(a.actorFontWeight=a.noteFontWeight=a.messageFontWeight=t.fontWeight)},Vt=function(t){return f.activations.filter(function(e){return e.actor===t})},ae=function(t,e){const o=e[t],i=Vt(t),s=i.reduce(function(l,h){return w.getMin(l,h.startx)},o.x+o.width/2),n=i.reduce(function(l,h){return w.getMax(l,h.stopx)},o.x+o.width/2);return[s,n]};function nt(t,e,o,i,s){f.bumpVerticalPos(o);let n=i;if(e.id&&e.message&&t[e.id]){const l=t[e.id].width,h=Tt(a);e.message=B.wrapLabel(`[${e.message}]`,l-2*a.wrapPadding,h),e.width=l,e.wrap=!0;const p=B.calculateTextDimensions(e.message,h),r=w.getMax(p.height,a.labelBoxHeight);n=i+r,G.debug(`${r} - ${e.message}`)}s(e),f.bumpVerticalPos(n)}function q0(t,e,o,i,s,n,l){function h(r,g){r.x{E.add(L.from),E.add(L.to)}),b=b.filter(L=>E.has(L))}W0(r,g,y,b,0,k,!1);const M=J0(k,g,W,i);C.insertArrowHead(r),C.insertArrowCrossHead(r),C.insertArrowFilledHead(r),C.insertSequenceNumber(r);function it(E,L){const I=f.endActivation(E);I.starty+18>L&&(I.starty=L-6,L+=12),C.drawActivation(r,I,L,a,Vt(E.from.actor).length),f.insert(I.startx,L-10,I.stopx,L)}let z=1,X=1;const Q=[],j=[];k.forEach(function(E,L){let I,P,U;switch(E.type){case i.db.LINETYPE.NOTE:f.resetVerticalPos(),P=E.noteModel,B0(r,P);break;case i.db.LINETYPE.ACTIVE_START:f.newActivation(E,r,g);break;case i.db.LINETYPE.ACTIVE_END:it(E,f.getVerticalPos());break;case i.db.LINETYPE.LOOP_START:nt(M,E,a.boxMargin,a.boxMargin+a.boxTextMargin,A=>f.newLoop(A));break;case i.db.LINETYPE.LOOP_END:I=f.endLoop(),C.drawLoop(r,I,"loop",a),f.bumpVerticalPos(I.stopy-f.getVerticalPos()),f.models.addLoop(I);break;case i.db.LINETYPE.RECT_START:nt(M,E,a.boxMargin,a.boxMargin,A=>f.newLoop(void 0,A.message));break;case i.db.LINETYPE.RECT_END:I=f.endLoop(),j.push(I),f.models.addLoop(I),f.bumpVerticalPos(I.stopy-f.getVerticalPos());break;case i.db.LINETYPE.OPT_START:nt(M,E,a.boxMargin,a.boxMargin+a.boxTextMargin,A=>f.newLoop(A));break;case i.db.LINETYPE.OPT_END:I=f.endLoop(),C.drawLoop(r,I,"opt",a),f.bumpVerticalPos(I.stopy-f.getVerticalPos()),f.models.addLoop(I);break;case i.db.LINETYPE.ALT_START:nt(M,E,a.boxMargin,a.boxMargin+a.boxTextMargin,A=>f.newLoop(A));break;case i.db.LINETYPE.ALT_ELSE:nt(M,E,a.boxMargin+a.boxTextMargin,a.boxMargin,A=>f.addSectionToLoop(A));break;case i.db.LINETYPE.ALT_END:I=f.endLoop(),C.drawLoop(r,I,"alt",a),f.bumpVerticalPos(I.stopy-f.getVerticalPos()),f.models.addLoop(I);break;case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:nt(M,E,a.boxMargin,a.boxMargin+a.boxTextMargin,A=>f.newLoop(A)),f.saveVerticalPos();break;case i.db.LINETYPE.PAR_AND:nt(M,E,a.boxMargin+a.boxTextMargin,a.boxMargin,A=>f.addSectionToLoop(A));break;case i.db.LINETYPE.PAR_END:I=f.endLoop(),C.drawLoop(r,I,"par",a),f.bumpVerticalPos(I.stopy-f.getVerticalPos()),f.models.addLoop(I);break;case i.db.LINETYPE.AUTONUMBER:z=E.message.start||z,X=E.message.step||X,E.message.visible?i.db.enableSequenceNumbers():i.db.disableSequenceNumbers();break;case i.db.LINETYPE.CRITICAL_START:nt(M,E,a.boxMargin,a.boxMargin+a.boxTextMargin,A=>f.newLoop(A));break;case i.db.LINETYPE.CRITICAL_OPTION:nt(M,E,a.boxMargin+a.boxTextMargin,a.boxMargin,A=>f.addSectionToLoop(A));break;case i.db.LINETYPE.CRITICAL_END:I=f.endLoop(),C.drawLoop(r,I,"critical",a),f.bumpVerticalPos(I.stopy-f.getVerticalPos()),f.models.addLoop(I);break;case i.db.LINETYPE.BREAK_START:nt(M,E,a.boxMargin,a.boxMargin+a.boxTextMargin,A=>f.newLoop(A));break;case i.db.LINETYPE.BREAK_END:I=f.endLoop(),C.drawLoop(r,I,"break",a),f.bumpVerticalPos(I.stopy-f.getVerticalPos()),f.models.addLoop(I);break;default:try{U=E.msgModel,U.starty=f.getVerticalPos(),U.sequenceIndex=z,U.sequenceVisible=i.db.showSequenceNumbers();const A=Y0(r,U);q0(E,U,A,L,g,y,u),Q.push({messageModel:U,lineStartY:A}),f.models.addMessage(U)}catch(A){G.error("error while drawing message",A)}}[i.db.LINETYPE.SOLID_OPEN,i.db.LINETYPE.DOTTED_OPEN,i.db.LINETYPE.SOLID,i.db.LINETYPE.DOTTED,i.db.LINETYPE.SOLID_CROSS,i.db.LINETYPE.DOTTED_CROSS,i.db.LINETYPE.SOLID_POINT,i.db.LINETYPE.DOTTED_POINT].includes(E.type)&&(z=z+X)}),G.debug("createdActors",y),G.debug("destroyedActors",u),Gt(r,g,b,!1),Q.forEach(E=>F0(r,E.messageModel,E.lineStartY,i)),a.mirrorActors&&Gt(r,g,b,!0),j.forEach(E=>C.drawBackgroundRect(r,E)),ye(r,g,b,a),f.models.boxes.forEach(function(E){E.height=f.getVerticalPos()-E.y,f.insert(E.x,E.y,E.x+E.width,E.height),E.startx=E.x,E.starty=E.y,E.stopx=E.startx+E.width,E.stopy=E.starty+E.height,E.stroke="rgb(0,0,0, 0.5)",C.drawBox(r,E,a)}),D&&f.bumpVerticalPos(a.boxMargin);const F=me(r,g,b,p),{bounds:O}=f.getBounds();let q=O.stopy-O.starty;q{const l=t[n];l.wrap&&(l.description=B.wrapLabel(l.description,a.width-2*a.wrapPadding,Kt(a)));const h=B.calculateTextDimensions(l.description,Kt(a));l.width=l.wrap?a.width:w.getMax(a.width,h.width+2*a.wrapPadding),l.height=l.wrap?w.getMax(h.height,a.height):a.height,i=w.getMax(i,l.height)});for(const n in e){const l=t[n];if(!l)continue;const h=t[l.nextActor];if(!h){const y=e[n]+a.actorMargin-l.width/2;l.margin=w.getMax(y,a.actorMargin);continue}const r=e[n]+a.actorMargin-l.width/2-h.width/2;l.margin=w.getMax(r,a.actorMargin)}let s=0;return o.forEach(n=>{const l=Tt(a);let h=n.actorKeys.reduce((g,y)=>g+=t[y].width+(t[y].margin||0),0);h-=2*a.boxTextMargin,n.wrap&&(n.name=B.wrapLabel(n.name,h-2*a.wrapPadding,l));const p=B.calculateTextDimensions(n.name,l);s=w.getMax(p.height,s);const r=w.getMax(h,p.width+2*a.wrapPadding);if(n.margin=a.boxTextMargin,hn.textMaxHeight=s),w.getMax(i,a.height)}const G0=function(t,e,o){const i=e[t.from].x,s=e[t.to].x,n=t.wrap&&t.message;let l=B.calculateTextDimensions(n?B.wrapLabel(t.message,a.width,bt(a)):t.message,bt(a));const h={width:n?a.width:w.getMax(a.width,l.width+2*a.noteMargin),height:0,startx:e[t.from].x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===o.db.PLACEMENT.RIGHTOF?(h.width=n?w.getMax(a.width,l.width):w.getMax(e[t.from].width/2+e[t.to].width/2,l.width+2*a.noteMargin),h.startx=i+(e[t.from].width+a.actorMargin)/2):t.placement===o.db.PLACEMENT.LEFTOF?(h.width=n?w.getMax(a.width,l.width+2*a.noteMargin):w.getMax(e[t.from].width/2+e[t.to].width/2,l.width+2*a.noteMargin),h.startx=i-h.width+(e[t.from].width-a.actorMargin)/2):t.to===t.from?(l=B.calculateTextDimensions(n?B.wrapLabel(t.message,w.getMax(a.width,e[t.from].width),bt(a)):t.message,bt(a)),h.width=n?w.getMax(a.width,e[t.from].width):w.getMax(e[t.from].width,a.width,l.width+2*a.noteMargin),h.startx=i+(e[t.from].width-h.width)/2):(h.width=Math.abs(i+e[t.from].width/2-(s+e[t.to].width/2))+a.actorMargin,h.startx=iu.actor).lastIndexOf(r.from.actor);delete f.activations.splice(y,1)[0]}break}r.placement!==void 0?(h=G0(r,e,i),r.noteModel=h,n.forEach(y=>{l=y,l.from=w.getMin(l.from,h.startx),l.to=w.getMax(l.to,h.startx+h.width),l.width=w.getMax(l.width,Math.abs(l.from-l.to))-a.labelBoxWidth})):(p=X0(r,e,i),r.msgModel=p,p.startx&&p.stopx&&n.length>0&&n.forEach(y=>{if(l=y,p.startx===p.stopx){const u=e[r.from],x=e[r.to];l.from=w.getMin(u.x-p.width/2,u.x-u.width/2,l.from),l.to=w.getMax(x.x+p.width/2,x.x+u.width/2,l.to),l.width=w.getMax(l.width,Math.abs(l.to-l.from))-a.labelBoxWidth}else l.from=w.getMin(p.startx,l.from),l.to=w.getMax(p.stopx,l.to),l.width=w.getMax(l.width,p.width)-a.labelBoxWidth}))}),f.activations=[],G.debug("Loop type widths:",s),s},Z0={bounds:f,drawActors:Gt,drawActorsPopup:me,setConf:we,draw:z0},ei={parser:ze,db:f0,renderer:Z0,styles:x0};export{ei as diagram}; diff --git a/pr-333/assets/chunks/stateDiagram-b1c07dc6.b4bbe013.js b/pr-333/assets/chunks/stateDiagram-b1c07dc6.b4bbe013.js deleted file mode 100644 index 762d1b257..000000000 --- a/pr-333/assets/chunks/stateDiagram-b1c07dc6.b4bbe013.js +++ /dev/null @@ -1 +0,0 @@ -import{p as P,d as N,s as W}from"./styles-f626f8de.93151a23.js";import{c as t,h as H,l as b,i as R,j as T,a5 as v,y as U}from"../app.1f62ceb3.js";import{G as C,l as F}from"./layout.c9cae6cc.js";import{l as $}from"./line.e2bfcddf.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const O=e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),X=e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),J=(e,i)=>{const o=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=o.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),o},Y=(e,i)=>{const o=function(l,m,w){const E=l.append("tspan").attr("x",2*t().state.padding).text(m);w||E.attr("dy",t().state.textHeight)},s=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),g=s.height,p=e.append("text").attr("x",t().state.padding).attr("y",g+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,r=!0;i.descriptions.forEach(function(l){a||(o(p,l,r),r=!1),a=!1});const y=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+g+t().state.dividerMargin/2).attr("y2",t().state.padding+g+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),d=Math.max(x.width,s.width);return y.attr("x2",d+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",d+2*t().state.padding).attr("height",x.height+g+2*t().state.padding).attr("rx",t().state.radius),e},I=(e,i,o)=>{const c=t().state.padding,s=2*t().state.padding,g=e.node().getBBox(),p=g.width,a=g.x,r=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=r.node().getBBox().width+s;let d=Math.max(x,p);d===p&&(d=d+s);let l;const m=e.node().getBBox();i.doc,l=a-c,x>p&&(l=(p-d)/2+c),Math.abs(a-m.x)p&&(l=a-(x-p)/2);const w=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",l).attr("y",w).attr("class",o?"alt-composit":"composit").attr("width",d).attr("height",m.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),r.attr("x",l+c),x<=p&&r.attr("x",a+(d-s)/2-x/2+c),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",d).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",d).attr("height",m.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},_=e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),q=(e,i)=>{let o=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let s=o;o=c,c=s}return e.append("rect").style("stroke","black").style("fill","black").attr("width",o).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},Z=(e,i,o,c)=>{let s=0;const g=c.append("text");g.style("text-anchor","start"),g.attr("class","noteText");let p=e.replace(/\r\n/g,"
");p=p.replace(/\n/g,"
");const a=p.split(T.lineBreakRegex);let r=1.25*t().state.noteMargin;for(const y of a){const x=y.trim();if(x.length>0){const d=g.append("tspan");if(d.text(x),r===0){const l=d.node().getBBox();r+=l.height}s+=r,d.attr("x",i+t().state.noteMargin),d.attr("y",o+s+1.25*t().state.noteMargin)}}return{textWidth:g.node().getBBox().width,textHeight:s}},j=(e,i)=>{i.attr("class","state-note");const o=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:s,textHeight:g}=Z(e,0,0,c);return o.attr("height",g+2*t().state.noteMargin),o.attr("width",s+t().state.noteMargin*2),o},L=function(e,i){const o=i.id,c={id:o,label:i.id,width:0,height:0},s=e.append("g").attr("id",o).attr("class","stateGroup");i.type==="start"&&O(s),i.type==="end"&&_(s),(i.type==="fork"||i.type==="join")&&q(s,i),i.type==="note"&&j(i.note.text,s),i.type==="divider"&&X(s),i.type==="default"&&i.descriptions.length===0&&J(s,i),i.type==="default"&&i.descriptions.length>0&&Y(s,i);const g=s.node().getBBox();return c.width=g.width+2*t().state.padding,c.height=g.height+2*t().state.padding,c};let G=0;const K=function(e,i,o){const c=function(r){switch(r){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}};i.points=i.points.filter(r=>!Number.isNaN(r.y));const s=i.points,g=$().x(function(r){return r.x}).y(function(r){return r.y}).curve(v),p=e.append("path").attr("d",g(s)).attr("id","edge"+G).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replace(/\(/g,"\\("),a=a.replace(/\)/g,"\\)")),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),o.title!==void 0){const r=e.append("g").attr("class","stateLabel"),{x:y,y:x}=U.calcLabelPosition(i.points),d=T.getRows(o.title);let l=0;const m=[];let w=0,E=0;for(let u=0;u<=d.length;u++){const h=r.append("text").attr("text-anchor","middle").text(d[u]).attr("x",y).attr("y",x+l),f=h.node().getBBox();w=Math.max(w,f.width),E=Math.min(E,f.x),b.info(f.x,y,x+l),l===0&&(l=h.node().getBBox().height,b.info("Title height",l,x)),m.push(h)}let k=l*d.length;if(d.length>1){const u=(d.length-1)*l*.5;m.forEach((h,f)=>h.attr("y",x+f*l-u)),k=l*d.length}const n=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",y-w/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",w+t().state.padding).attr("height",k+t().state.padding),b.info(n)}G++};let B;const z={},Q=function(){},V=function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},D=function(e,i,o,c){B=t().state;const s=t().securityLevel;let g;s==="sandbox"&&(g=H("#i"+i));const p=s==="sandbox"?H(g.nodes()[0].contentDocument.body):H("body"),a=s==="sandbox"?g.nodes()[0].contentDocument:document;b.debug("Rendering diagram "+e);const r=p.select(`[id='${i}']`);V(r);const y=c.db.getRootDoc();A(y,r,void 0,!1,p,a,c);const x=B.padding,d=r.node().getBBox(),l=d.width+x*2,m=d.height+x*2,w=l*1.75;R(r,m,w,B.useMaxWidth),r.attr("viewBox",`${d.x-B.padding} ${d.y-B.padding} `+l+" "+m)},tt=e=>e?e.length*B.fontSizeFactor:1,A=(e,i,o,c,s,g,p)=>{const a=new C({compound:!0,multigraph:!0});let r,y=!0;for(r=0;r{const f=h.parentElement;let S=0,M=0;f&&(f.parentElement&&(S=f.parentElement.getBBox().width),M=parseInt(f.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",S-M-8)})):b.debug("No Node "+n+": "+JSON.stringify(a.node(n)))});let E=w.getBBox();a.edges().forEach(function(n){n!==void 0&&a.edge(n)!==void 0&&(b.debug("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(a.edge(n))),K(i,a.edge(n),a.edge(n).relation))}),E=w.getBBox();const k={id:o||"root",label:o||"root",width:0,height:0};return k.width=E.width+2*B.padding,k.height=E.height+2*B.padding,b.debug("Doc rendered",k,a),k},et={setConf:Q,draw:D},lt={parser:P,db:N,renderer:et,styles:W,init:e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,N.clear()}};export{lt as diagram}; diff --git a/pr-333/assets/chunks/stateDiagram-v2-7c93469e.830525d1.js b/pr-333/assets/chunks/stateDiagram-v2-7c93469e.830525d1.js deleted file mode 100644 index d388b3057..000000000 --- a/pr-333/assets/chunks/stateDiagram-v2-7c93469e.830525d1.js +++ /dev/null @@ -1 +0,0 @@ -import{p as Q,d as B,s as X,D as H,a as Z,S as j,b as F,c as I}from"./styles-f626f8de.93151a23.js";import{G as tt}from"./layout.c9cae6cc.js";import{l,c as g,h as x,y as et,i as ot,j as w}from"../app.1f62ceb3.js";import{r as st}from"./index-4c4adb72.f92dce56.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";import"./edges-b00f0ec2.6d3248f9.js";import"./createText-285e50b4.e45d4ac7.js";import"./svgDraw-5d8a058e.0c833b4b.js";import"./line.e2bfcddf.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const A="rect",C="rectWithTitle",nt="start",ct="end",it="divider",rt="roundedWithTitle",lt="note",at="noteGroup",_="statediagram",dt="state",Et=`${_}-${dt}`,U="transition",St="note",Tt="note-edge",pt=`${U} ${Tt}`,_t=`${_}-${St}`,ut="cluster",Dt=`${_}-${ut}`,ft="cluster-alt",bt=`${_}-${ft}`,V="parent",Y="note",ht="state",N="----",At=`${N}${Y}`,M=`${N}${V}`,W="fill:none",z="fill: #333",m="c",q="text",K="normal";let y={},E=0;const yt=function(t){const n=Object.keys(t);for(const e of n)t[e]},gt=function(t,n){l.trace("Extracting classes"),n.db.clear();try{return n.parser.parse(t),n.db.extract(n.db.getRootDocV2()),n.db.getClasses()}catch(e){return e}};function $t(t){return t==null?"":t.classes?t.classes.join(" "):""}function R(t="",n=0,e="",c=N){const i=e!==null&&e.length>0?`${c}${e}`:"";return`${ht}-${t}${i}-${n}`}const h=(t,n,e,c,i,r)=>{const o=e.id,u=$t(c[o]);if(o!=="root"){let T=A;e.start===!0&&(T=nt),e.start===!1&&(T=ct),e.type!==H&&(T=e.type),y[o]||(y[o]={id:o,shape:T,description:w.sanitizeText(o,g()),classes:`${u} ${Et}`});const s=y[o];e.description&&(Array.isArray(s.description)?(s.shape=C,s.description.push(e.description)):s.description.length>0?(s.shape=C,s.description===o?s.description=[e.description]:s.description=[s.description,e.description]):(s.shape=A,s.description=e.description),s.description=w.sanitizeTextOrArray(s.description,g())),s.description.length===1&&s.shape===C&&(s.shape=A),!s.type&&e.doc&&(l.info("Setting cluster for ",o,G(e)),s.type="group",s.dir=G(e),s.shape=e.type===Z?it:rt,s.classes=s.classes+" "+Dt+" "+(r?bt:""));const p={labelStyle:"",shape:s.shape,labelText:s.description,classes:s.classes,style:"",id:o,dir:s.dir,domId:R(o,E),type:s.type,padding:15};if(p.centerLabel=!0,e.note){const a={labelStyle:"",shape:lt,labelText:e.note.text,classes:_t,style:"",id:o+At+"-"+E,domId:R(o,E,Y),type:s.type,padding:15},d={labelStyle:"",shape:at,labelText:e.note.text,classes:s.classes,style:"",id:o+M,domId:R(o,E,V),type:"group",padding:0};E++;const D=o+M;t.setNode(D,d),t.setNode(a.id,a),t.setNode(o,p),t.setParent(o,D),t.setParent(a.id,D);let S=o,f=a.id;e.note.position==="left of"&&(S=a.id,f=o),t.setEdge(S,f,{arrowhead:"none",arrowType:"",style:W,labelStyle:"",classes:pt,arrowheadStyle:z,labelpos:m,labelType:q,thickness:K})}else t.setNode(o,p)}n&&n.id!=="root"&&(l.trace("Setting node ",o," to be child of its parent ",n.id),t.setParent(o,n.id)),e.doc&&(l.trace("Adding nodes children "),xt(t,e,e.doc,c,i,!r))},xt=(t,n,e,c,i,r)=>{l.trace("items",e),e.forEach(o=>{switch(o.stmt){case F:h(t,n,o,c,i,r);break;case H:h(t,n,o,c,i,r);break;case j:{h(t,n,o.state1,c,i,r),h(t,n,o.state2,c,i,r);const u={id:"edge"+E,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:W,labelStyle:"",label:w.sanitizeText(o.description,g()),arrowheadStyle:z,labelpos:m,labelType:q,thickness:K,classes:U};t.setEdge(o.state1.id,o.state2.id,u,E),E++}break}})},G=(t,n=I)=>{let e=n;if(t.doc)for(let c=0;c{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,B.clear()}};export{Vt as diagram}; diff --git a/pr-333/assets/chunks/styles-88ad4441.77dd9b47.js b/pr-333/assets/chunks/styles-88ad4441.77dd9b47.js deleted file mode 100644 index 1fec90f3d..000000000 --- a/pr-333/assets/chunks/styles-88ad4441.77dd9b47.js +++ /dev/null @@ -1,160 +0,0 @@ -import{s as He,g as We,a as qe,b as Je,c as R,v as Ze,x as $e,m as et,z as tt,l as st,j as De,y as Ve,h as M}from"../app.1f62ceb3.js";var Be=function(){var e=function(v,n,r,c){for(r=r||{},c=v.length;c--;r[v[c]]=n);return r},u=[1,34],l=[1,35],o=[1,36],h=[1,37],b=[1,9],g=[1,8],_=[1,19],D=[1,20],z=[1,21],Y=[1,40],L=[1,41],K=[1,27],j=[1,25],Q=[1,26],X=[1,32],H=[1,33],W=[1,28],q=[1,29],J=[1,30],Z=[1,31],f=[1,45],d=[1,42],E=[1,43],C=[1,44],m=[1,46],pe=[1,24],a=[1,16,24],$=[1,60],ee=[1,61],te=[1,62],se=[1,63],ie=[1,64],fe=[1,65],de=[1,66],ue=[1,16,24,52],Ne=[1,77],w=[1,16,24,27,28,36,50,52,55,68,69,70,71,72,73,74,79,81],ne=[1,16,24,27,28,34,36,50,52,55,59,68,69,70,71,72,73,74,79,81,94,96,97,98,99],Le=[1,86],re=[28,94,96,97,98,99],V=[28,73,74,94,96,97,98,99],Ie=[28,68,69,70,71,72,94,96,97,98,99],Ee=[1,99],Ce=[1,16,24,50,52,55],ae=[1,16,24,36],xe=[8,9,10,11,19,23,44,46,48,53,57,58,60,61,63,65,75,76,78,82,94,96,97,98,99],ke={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,statements:6,direction:7,direction_tb:8,direction_bt:9,direction_rl:10,direction_lr:11,graphConfig:12,openDirective:13,typeDirective:14,closeDirective:15,NEWLINE:16,":":17,argDirective:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,CLASS_DIAGRAM:23,EOF:24,statement:25,classLabel:26,SQS:27,STR:28,SQE:29,namespaceName:30,alphaNumToken:31,className:32,classLiteralName:33,GENERICTYPE:34,relationStatement:35,LABEL:36,namespaceStatement:37,classStatement:38,methodStatement:39,annotationStatement:40,clickStatement:41,cssClassStatement:42,noteStatement:43,acc_title:44,acc_title_value:45,acc_descr:46,acc_descr_value:47,acc_descr_multiline_value:48,namespaceIdentifier:49,STRUCT_START:50,classStatements:51,STRUCT_STOP:52,NAMESPACE:53,classIdentifier:54,STYLE_SEPARATOR:55,members:56,CLASS:57,ANNOTATION_START:58,ANNOTATION_END:59,MEMBER:60,SEPARATOR:61,relation:62,NOTE_FOR:63,noteText:64,NOTE:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,CSSCLASS:82,commentToken:83,textToken:84,graphCodeTokens:85,textNoTagsToken:86,TAGSTART:87,TAGEND:88,"==":89,"--":90,PCT:91,DEFAULT:92,SPACE:93,MINUS:94,keywords:95,UNICODE_TEXT:96,NUM:97,ALPHA:98,BQUOTE_STR:99,$accept:0,$end:1},terminals_:{2:"error",8:"direction_tb",9:"direction_bt",10:"direction_rl",11:"direction_lr",16:"NEWLINE",17:":",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",23:"CLASS_DIAGRAM",24:"EOF",27:"SQS",28:"STR",29:"SQE",34:"GENERICTYPE",36:"LABEL",44:"acc_title",45:"acc_title_value",46:"acc_descr",47:"acc_descr_value",48:"acc_descr_multiline_value",50:"STRUCT_START",52:"STRUCT_STOP",53:"NAMESPACE",55:"STYLE_SEPARATOR",57:"CLASS",58:"ANNOTATION_START",59:"ANNOTATION_END",60:"MEMBER",61:"SEPARATOR",63:"NOTE_FOR",65:"NOTE",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"CSSCLASS",85:"graphCodeTokens",87:"TAGSTART",88:"TAGEND",89:"==",90:"--",91:"PCT",92:"DEFAULT",93:"SPACE",94:"MINUS",95:"keywords",96:"UNICODE_TEXT",97:"NUM",98:"ALPHA",99:"BQUOTE_STR"},productions_:[0,[3,1],[3,2],[3,1],[7,1],[7,1],[7,1],[7,1],[4,1],[5,4],[5,6],[13,1],[14,1],[18,1],[15,1],[12,4],[6,1],[6,2],[6,3],[26,3],[30,1],[30,2],[32,1],[32,1],[32,2],[32,2],[32,2],[25,1],[25,2],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,2],[25,2],[25,1],[37,4],[37,5],[49,2],[51,1],[51,2],[51,3],[38,1],[38,3],[38,4],[38,6],[54,2],[54,3],[40,4],[56,1],[56,2],[39,1],[39,2],[39,1],[39,1],[35,3],[35,4],[35,4],[35,5],[43,3],[43,2],[62,3],[62,2],[62,2],[62,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[41,3],[41,4],[41,3],[41,4],[41,4],[41,5],[41,3],[41,4],[41,4],[41,5],[41,4],[41,5],[41,5],[41,6],[42,3],[83,1],[83,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[86,1],[86,1],[86,1],[86,1],[31,1],[31,1],[31,1],[31,1],[33,1],[64,1]],performAction:function(n,r,c,i,A,t,G){var s=t.length-1;switch(A){case 4:i.setDirection("TB");break;case 5:i.setDirection("BT");break;case 6:i.setDirection("RL");break;case 7:i.setDirection("LR");break;case 11:i.parseDirective("%%{","open_directive");break;case 12:i.parseDirective(t[s],"type_directive");break;case 13:t[s]=t[s].trim().replace(/'/g,'"'),i.parseDirective(t[s],"arg_directive");break;case 14:i.parseDirective("}%%","close_directive","class");break;case 19:this.$=t[s-1];break;case 20:case 22:case 23:this.$=t[s];break;case 21:case 24:this.$=t[s-1]+t[s];break;case 25:case 26:this.$=t[s-1]+"~"+t[s]+"~";break;case 27:i.addRelation(t[s]);break;case 28:t[s-1].title=i.cleanupLabel(t[s]),i.addRelation(t[s-1]);break;case 37:this.$=t[s].trim(),i.setAccTitle(this.$);break;case 38:case 39:this.$=t[s].trim(),i.setAccDescription(this.$);break;case 40:i.addClassesToNamespace(t[s-3],t[s-1]);break;case 41:i.addClassesToNamespace(t[s-4],t[s-1]);break;case 42:this.$=t[s],i.addNamespace(t[s]);break;case 43:this.$=[t[s]];break;case 44:this.$=[t[s-1]];break;case 45:t[s].unshift(t[s-2]),this.$=t[s];break;case 47:i.setCssClass(t[s-2],t[s]);break;case 48:i.addMembers(t[s-3],t[s-1]);break;case 49:i.setCssClass(t[s-5],t[s-3]),i.addMembers(t[s-5],t[s-1]);break;case 50:this.$=t[s],i.addClass(t[s]);break;case 51:this.$=t[s-1],i.addClass(t[s-1]),i.setClassLabel(t[s-1],t[s]);break;case 52:i.addAnnotation(t[s],t[s-2]);break;case 53:this.$=[t[s]];break;case 54:t[s].push(t[s-1]),this.$=t[s];break;case 55:break;case 56:i.addMember(t[s-1],i.cleanupLabel(t[s]));break;case 57:break;case 58:break;case 59:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 60:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 61:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 62:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 63:i.addNote(t[s],t[s-1]);break;case 64:i.addNote(t[s]);break;case 65:this.$={type1:t[s-2],type2:t[s],lineType:t[s-1]};break;case 66:this.$={type1:"none",type2:t[s],lineType:t[s-1]};break;case 67:this.$={type1:t[s-1],type2:"none",lineType:t[s]};break;case 68:this.$={type1:"none",type2:"none",lineType:t[s]};break;case 69:this.$=i.relationType.AGGREGATION;break;case 70:this.$=i.relationType.EXTENSION;break;case 71:this.$=i.relationType.COMPOSITION;break;case 72:this.$=i.relationType.DEPENDENCY;break;case 73:this.$=i.relationType.LOLLIPOP;break;case 74:this.$=i.lineType.LINE;break;case 75:this.$=i.lineType.DOTTED_LINE;break;case 76:case 82:this.$=t[s-2],i.setClickEvent(t[s-1],t[s]);break;case 77:case 83:this.$=t[s-3],i.setClickEvent(t[s-2],t[s-1]),i.setTooltip(t[s-2],t[s]);break;case 78:this.$=t[s-2],i.setLink(t[s-1],t[s]);break;case 79:this.$=t[s-3],i.setLink(t[s-2],t[s-1],t[s]);break;case 80:this.$=t[s-3],i.setLink(t[s-2],t[s-1]),i.setTooltip(t[s-2],t[s]);break;case 81:this.$=t[s-4],i.setLink(t[s-3],t[s-2],t[s]),i.setTooltip(t[s-3],t[s-1]);break;case 84:this.$=t[s-3],i.setClickEvent(t[s-2],t[s-1],t[s]);break;case 85:this.$=t[s-4],i.setClickEvent(t[s-3],t[s-2],t[s-1]),i.setTooltip(t[s-3],t[s]);break;case 86:this.$=t[s-3],i.setLink(t[s-2],t[s]);break;case 87:this.$=t[s-4],i.setLink(t[s-3],t[s-1],t[s]);break;case 88:this.$=t[s-4],i.setLink(t[s-3],t[s-1]),i.setTooltip(t[s-3],t[s]);break;case 89:this.$=t[s-5],i.setLink(t[s-4],t[s-2],t[s]),i.setTooltip(t[s-4],t[s-1]);break;case 90:i.setCssClass(t[s-1],t[s]);break}},table:[{3:1,4:2,5:3,6:4,7:18,8:u,9:l,10:o,11:h,12:5,13:6,19:b,23:g,25:7,31:38,32:22,33:39,35:10,37:11,38:12,39:13,40:14,41:15,42:16,43:17,44:_,46:D,48:z,49:23,53:Y,54:24,57:L,58:K,60:j,61:Q,63:X,65:H,75:W,76:q,78:J,82:Z,94:f,96:d,97:E,98:C,99:m},{1:[3]},{1:[2,1]},{3:47,4:2,5:3,6:4,7:18,8:u,9:l,10:o,11:h,12:5,13:6,19:b,23:g,25:7,31:38,32:22,33:39,35:10,37:11,38:12,39:13,40:14,41:15,42:16,43:17,44:_,46:D,48:z,49:23,53:Y,54:24,57:L,58:K,60:j,61:Q,63:X,65:H,75:W,76:q,78:J,82:Z,94:f,96:d,97:E,98:C,99:m},{1:[2,3]},{1:[2,8]},{14:48,20:[1,49]},e(pe,[2,16],{16:[1,50]}),{16:[1,51]},{20:[2,11]},e(a,[2,27],{36:[1,52]}),e(a,[2,29]),e(a,[2,30]),e(a,[2,31]),e(a,[2,32]),e(a,[2,33]),e(a,[2,34]),e(a,[2,35]),e(a,[2,36]),{45:[1,53]},{47:[1,54]},e(a,[2,39]),e(a,[2,55],{62:55,66:58,67:59,28:[1,56],36:[1,57],68:$,69:ee,70:te,71:se,72:ie,73:fe,74:de}),{50:[1,67]},e(ue,[2,46],{50:[1,69],55:[1,68]}),e(a,[2,57]),e(a,[2,58]),{31:70,94:f,96:d,97:E,98:C},{31:38,32:71,33:39,94:f,96:d,97:E,98:C,99:m},{31:38,32:72,33:39,94:f,96:d,97:E,98:C,99:m},{31:38,32:73,33:39,94:f,96:d,97:E,98:C,99:m},{28:[1,74]},{31:38,32:75,33:39,94:f,96:d,97:E,98:C,99:m},{28:Ne,64:76},e(a,[2,4]),e(a,[2,5]),e(a,[2,6]),e(a,[2,7]),e(w,[2,22],{31:38,33:39,32:78,34:[1,79],94:f,96:d,97:E,98:C,99:m}),e(w,[2,23],{34:[1,80]}),{30:81,31:82,94:f,96:d,97:E,98:C},{31:38,32:83,33:39,94:f,96:d,97:E,98:C,99:m},e(ne,[2,104]),e(ne,[2,105]),e(ne,[2,106]),e(ne,[2,107]),e([1,16,24,27,28,34,36,50,52,55,68,69,70,71,72,73,74,79,81],[2,108]),{1:[2,2]},{15:84,17:[1,85],22:Le},e([17,22],[2,12]),e(pe,[2,17],{25:7,35:10,37:11,38:12,39:13,40:14,41:15,42:16,43:17,7:18,32:22,49:23,54:24,31:38,33:39,6:87,8:u,9:l,10:o,11:h,44:_,46:D,48:z,53:Y,57:L,58:K,60:j,61:Q,63:X,65:H,75:W,76:q,78:J,82:Z,94:f,96:d,97:E,98:C,99:m}),{6:88,7:18,8:u,9:l,10:o,11:h,25:7,31:38,32:22,33:39,35:10,37:11,38:12,39:13,40:14,41:15,42:16,43:17,44:_,46:D,48:z,49:23,53:Y,54:24,57:L,58:K,60:j,61:Q,63:X,65:H,75:W,76:q,78:J,82:Z,94:f,96:d,97:E,98:C,99:m},e(a,[2,28]),e(a,[2,37]),e(a,[2,38]),{28:[1,90],31:38,32:89,33:39,94:f,96:d,97:E,98:C,99:m},{62:91,66:58,67:59,68:$,69:ee,70:te,71:se,72:ie,73:fe,74:de},e(a,[2,56]),{67:92,73:fe,74:de},e(re,[2,68],{66:93,68:$,69:ee,70:te,71:se,72:ie}),e(V,[2,69]),e(V,[2,70]),e(V,[2,71]),e(V,[2,72]),e(V,[2,73]),e(Ie,[2,74]),e(Ie,[2,75]),{16:[1,95],38:96,51:94,54:24,57:L},{31:97,94:f,96:d,97:E,98:C},{56:98,60:Ee},{59:[1,100]},{28:[1,101]},{28:[1,102]},{79:[1,103],81:[1,104]},{31:105,94:f,96:d,97:E,98:C},{28:Ne,64:106},e(a,[2,64]),e(a,[2,109]),e(w,[2,24]),e(w,[2,25]),e(w,[2,26]),{50:[2,42]},{30:107,31:82,50:[2,20],94:f,96:d,97:E,98:C},e(Ce,[2,50],{26:108,27:[1,109]}),{16:[1,110]},{18:111,21:[1,112]},{16:[2,14]},e(pe,[2,18]),{24:[1,113]},e(ae,[2,59]),{31:38,32:114,33:39,94:f,96:d,97:E,98:C,99:m},{28:[1,116],31:38,32:115,33:39,94:f,96:d,97:E,98:C,99:m},e(re,[2,67],{66:117,68:$,69:ee,70:te,71:se,72:ie}),e(re,[2,66]),{52:[1,118]},{38:96,51:119,54:24,57:L},{16:[1,120],52:[2,43]},e(ue,[2,47],{50:[1,121]}),{52:[1,122]},{52:[2,53],56:123,60:Ee},{31:38,32:124,33:39,94:f,96:d,97:E,98:C,99:m},e(a,[2,76],{28:[1,125]}),e(a,[2,78],{28:[1,127],77:[1,126]}),e(a,[2,82],{28:[1,128],80:[1,129]}),{28:[1,130]},e(a,[2,90]),e(a,[2,63]),{50:[2,21]},e(Ce,[2,51]),{28:[1,131]},e(xe,[2,9]),{15:132,22:Le},{22:[2,13]},{1:[2,15]},e(ae,[2,61]),e(ae,[2,60]),{31:38,32:133,33:39,94:f,96:d,97:E,98:C,99:m},e(re,[2,65]),e(a,[2,40]),{52:[1,134]},{38:96,51:135,52:[2,44],54:24,57:L},{56:136,60:Ee},e(ue,[2,48]),{52:[2,54]},e(a,[2,52]),e(a,[2,77]),e(a,[2,79]),e(a,[2,80],{77:[1,137]}),e(a,[2,83]),e(a,[2,84],{28:[1,138]}),e(a,[2,86],{28:[1,140],77:[1,139]}),{29:[1,141]},{16:[1,142]},e(ae,[2,62]),e(a,[2,41]),{52:[2,45]},{52:[1,143]},e(a,[2,81]),e(a,[2,85]),e(a,[2,87]),e(a,[2,88],{77:[1,144]}),e(Ce,[2,19]),e(xe,[2,10]),e(ue,[2,49]),e(a,[2,89])],defaultActions:{2:[2,1],4:[2,3],5:[2,8],9:[2,11],47:[2,2],81:[2,42],86:[2,14],107:[2,21],112:[2,13],113:[2,15],123:[2,54],135:[2,45]},parseError:function(n,r){if(r.recoverable)this.trace(n);else{var c=new Error(n);throw c.hash=r,c}},parse:function(n){var r=this,c=[0],i=[],A=[null],t=[],G=this.table,s="",ce=0,Oe=0,Ke=2,Re=1,je=t.slice.call(arguments,1),k=Object.create(this.lexer),I={yy:{}};for(var me in this.yy)Object.prototype.hasOwnProperty.call(this.yy,me)&&(I.yy[me]=this.yy[me]);k.setInput(n,I.yy),I.yy.lexer=k,I.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var be=k.yylloc;t.push(be);var Qe=k.options&&k.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Xe(){var y;return y=i.pop()||k.lex()||Re,typeof y!="number"&&(y instanceof Array&&(i=y,y=i.pop()),y=r.symbols_[y]||y),y}for(var F,x,B,Fe,O={},le,T,Pe,oe;;){if(x=c[c.length-1],this.defaultActions[x]?B=this.defaultActions[x]:((F===null||typeof F>"u")&&(F=Xe()),B=G[x]&&G[x][F]),typeof B>"u"||!B.length||!B[0]){var _e="";oe=[];for(le in G[x])this.terminals_[le]&&le>Ke&&oe.push("'"+this.terminals_[le]+"'");k.showPosition?_e="Parse error on line "+(ce+1)+`: -`+k.showPosition()+` -Expecting `+oe.join(", ")+", got '"+(this.terminals_[F]||F)+"'":_e="Parse error on line "+(ce+1)+": Unexpected "+(F==Re?"end of input":"'"+(this.terminals_[F]||F)+"'"),this.parseError(_e,{text:k.match,token:this.terminals_[F]||F,line:k.yylineno,loc:be,expected:oe})}if(B[0]instanceof Array&&B.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+F);switch(B[0]){case 1:c.push(F),A.push(k.yytext),t.push(k.yylloc),c.push(B[1]),F=null,Oe=k.yyleng,s=k.yytext,ce=k.yylineno,be=k.yylloc;break;case 2:if(T=this.productions_[B[1]][1],O.$=A[A.length-T],O._$={first_line:t[t.length-(T||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(T||1)].first_column,last_column:t[t.length-1].last_column},Qe&&(O._$.range=[t[t.length-(T||1)].range[0],t[t.length-1].range[1]]),Fe=this.performAction.apply(O,[s,Oe,ce,I.yy,B[1],A,t].concat(je)),typeof Fe<"u")return Fe;T&&(c=c.slice(0,-1*T*2),A=A.slice(0,-1*T),t=t.slice(0,-1*T)),c.push(this.productions_[B[1]][0]),A.push(O.$),t.push(O._$),Pe=G[c[c.length-2]][c[c.length-1]],c.push(Pe);break;case 3:return!0}}return!0}},Ye=function(){var v={EOF:1,parseError:function(r,c){if(this.yy.parser)this.yy.parser.parseError(r,c);else throw new Error(r)},setInput:function(n,r){return this.yy=r||this.yy||{},this._input=n,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var r=n.match(/(?:\r\n?|\n).*/g);return r?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},unput:function(n){var r=n.length,c=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===i.length?this.yylloc.first_column:0)+i[i.length-c.length].length-c[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-r]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var n=this.pastInput(),r=new Array(n.length+1).join("-");return n+this.upcomingInput()+` -`+r+"^"},test_match:function(n,r){var c,i,A;if(this.options.backtrack_lexer&&(A={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(A.yylloc.range=this.yylloc.range.slice(0))),i=n[0].match(/(?:\r\n?|\n).*/g),i&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+n[0].length},this.yytext+=n[0],this.match+=n[0],this.matches=n,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(n[0].length),this.matched+=n[0],c=this.performAction.call(this,this.yy,this,r,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack){for(var t in A)this[t]=A[t];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var n,r,c,i;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),t=0;tr[0].length)){if(r=c,i=t,this.options.backtrack_lexer){if(n=this.test_match(c,A[t]),n!==!1)return n;if(this._backtrack){r=!1;continue}else return!1}else if(!this.options.flex)break}return r?(n=this.test_match(r,A[i]),n!==!1?n:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var r=this.next();return r||this.lex()},begin:function(r){this.conditionStack.push(r)},popState:function(){var r=this.conditionStack.length-1;return r>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(r){return r=this.conditionStack.length-1-Math.abs(r||0),r>=0?this.conditionStack[r]:"INITIAL"},pushState:function(r){this.begin(r)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(r,c,i,A){switch(i){case 0:return this.begin("open_directive"),19;case 1:return 8;case 2:return 9;case 3:return 10;case 4:return 11;case 5:return this.begin("type_directive"),20;case 6:return this.popState(),this.begin("arg_directive"),17;case 7:return this.popState(),this.popState(),22;case 8:return 21;case 9:break;case 10:break;case 11:return this.begin("acc_title"),44;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),46;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:this.popState();break;case 17:return"acc_descr_multiline_value";case 18:return 16;case 19:break;case 20:return 23;case 21:return 23;case 22:return"EDGE_STATE";case 23:this.begin("callback_name");break;case 24:this.popState();break;case 25:this.popState(),this.begin("callback_args");break;case 26:return 79;case 27:this.popState();break;case 28:return 80;case 29:this.popState();break;case 30:return"STR";case 31:this.begin("string");break;case 32:return this.begin("namespace"),53;case 33:return this.popState(),16;case 34:break;case 35:return this.begin("namespace-body"),50;case 36:return this.popState(),52;case 37:return"EOF_IN_STRUCT";case 38:return 16;case 39:break;case 40:return"EDGE_STATE";case 41:return this.begin("class"),57;case 42:return this.popState(),16;case 43:break;case 44:return this.popState(),this.popState(),52;case 45:return this.begin("class-body"),50;case 46:return this.popState(),52;case 47:return"EOF_IN_STRUCT";case 48:return"EDGE_STATE";case 49:return"OPEN_IN_STRUCT";case 50:break;case 51:return"MEMBER";case 52:return 82;case 53:return 75;case 54:return 76;case 55:return 78;case 56:return 63;case 57:return 65;case 58:return 58;case 59:return 59;case 60:return 81;case 61:this.popState();break;case 62:return"GENERICTYPE";case 63:this.begin("generic");break;case 64:this.popState();break;case 65:return"BQUOTE_STR";case 66:this.begin("bqstring");break;case 67:return 77;case 68:return 77;case 69:return 77;case 70:return 77;case 71:return 69;case 72:return 69;case 73:return 71;case 74:return 71;case 75:return 70;case 76:return 68;case 77:return 72;case 78:return 73;case 79:return 74;case 80:return 36;case 81:return 55;case 82:return 94;case 83:return"DOT";case 84:return"PLUS";case 85:return 91;case 86:return"EQUALS";case 87:return"EQUALS";case 88:return 98;case 89:return 27;case 90:return 29;case 91:return"PUNCTUATION";case 92:return 97;case 93:return 96;case 94:return 93;case 95:return 24}},rules:[/^(?:%%\{)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[31,36,37,38,39,40,41,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},namespace:{rules:[31,32,33,34,35,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},"class-body":{rules:[31,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},class:{rules:[31,42,43,44,45,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},acc_descr_multiline:{rules:[16,17,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},acc_descr:{rules:[14,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},acc_title:{rules:[12,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},arg_directive:{rules:[7,8,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},type_directive:{rules:[6,7,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},open_directive:{rules:[5,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},callback_args:{rules:[27,28,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},callback_name:{rules:[24,25,26,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},href:{rules:[31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},struct:{rules:[31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},generic:{rules:[31,52,53,54,55,56,57,58,59,60,61,62,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},bqstring:{rules:[31,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},string:{rules:[29,30,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,13,15,18,19,20,21,22,23,31,32,41,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!0}}};return v}();ke.lexer=Ye;function ge(){this.yy={}}return ge.prototype=ke,ke.Parser=ge,new ge}();Be.parser=Be;const Lt=Be,Ae="classId-";let Se=[],p={},he=[],we=0,N={},Te=0,U=[];const S=e=>De.sanitizeText(e,R()),it=function(e,u,l){et.parseDirective(this,e,u,l)},P=function(e){let u="",l=e;if(e.indexOf("~")>0){const o=e.split("~");l=S(o[0]),u=S(o[1])}return{className:l,type:u}},ut=function(e,u){u&&(u=S(u));const{className:l}=P(e);p[l].label=u},ye=function(e){const u=P(e);p[u.className]===void 0&&(p[u.className]={id:u.className,type:u.type,label:u.className,cssClasses:[],methods:[],members:[],annotations:[],domId:Ae+u.className+"-"+we},we++)},Ge=function(e){if(e in p)return p[e].domId;throw new Error("Class not found: "+e)},nt=function(){Se=[],p={},he=[],U=[],U.push(Ue),N={},Te=0,tt()},rt=function(e){return p[e]},at=function(){return p},ct=function(){return Se},lt=function(){return he},ot=function(e){st.debug("Adding relation: "+JSON.stringify(e)),ye(e.id1),ye(e.id2),e.id1=P(e.id1).className,e.id2=P(e.id2).className,e.relationTitle1=De.sanitizeText(e.relationTitle1.trim(),R()),e.relationTitle2=De.sanitizeText(e.relationTitle2.trim(),R()),Se.push(e)},ht=function(e,u){const l=P(e).className;p[l].annotations.push(u)},Me=function(e,u){const l=P(e).className,o=p[l];if(typeof u=="string"){const h=u.trim();h.startsWith("<<")&&h.endsWith(">>")?o.annotations.push(S(h.substring(2,h.length-2))):h.indexOf(")")>0?o.methods.push(S(h)):h&&o.members.push(S(h))}},At=function(e,u){Array.isArray(u)&&(u.reverse(),u.forEach(l=>Me(e,l)))},pt=function(e,u){const l={id:`note${he.length}`,class:u,text:e};he.push(l)},ft=function(e){return e.startsWith(":")&&(e=e.substring(1)),S(e.trim())},ve=function(e,u){e.split(",").forEach(function(l){let o=l;l[0].match(/\d/)&&(o=Ae+o),p[o]!==void 0&&p[o].cssClasses.push(u)})},dt=function(e,u){e.split(",").forEach(function(l){u!==void 0&&(p[l].tooltip=S(u))})},Et=function(e,u){return u?N[u].classes[e].tooltip:p[e].tooltip},Ct=function(e,u,l){const o=R();e.split(",").forEach(function(h){let b=h;h[0].match(/\d/)&&(b=Ae+b),p[b]!==void 0&&(p[b].link=Ve.formatUrl(u,o),o.securityLevel==="sandbox"?p[b].linkTarget="_top":typeof l=="string"?p[b].linkTarget=S(l):p[b].linkTarget="_blank")}),ve(e,"clickable")},kt=function(e,u,l){e.split(",").forEach(function(o){gt(o,u,l),p[o].haveCallback=!0}),ve(e,"clickable")},gt=function(e,u,l){if(R().securityLevel!=="loose"||u===void 0)return;const h=e;if(p[h]!==void 0){const b=Ge(h);let g=[];if(typeof l=="string"){g=l.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let _=0;_")),h.classed("hover",!0)}).on("mouseout",function(){u.transition().duration(500).style("opacity",0),M(this).classed("hover",!1)})};U.push(Ue);let ze="TB";const _t=()=>ze,Dt=e=>{ze=e},Bt=function(e){N[e]===void 0&&(N[e]={id:e,classes:{},children:{},domId:Ae+e+"-"+Te},Te++)},Tt=function(e){return N[e]},yt=function(){return N},St=function(e,u){N[e]!==void 0&&u.map(l=>{p[l].parent=e,N[e].classes[l]=p[l]})},It={parseDirective:it,setAccTitle:He,getAccTitle:We,getAccDescription:qe,setAccDescription:Je,getConfig:()=>R().class,addClass:ye,bindFunctions:mt,clear:nt,getClass:rt,getClasses:at,getNotes:lt,addAnnotation:ht,addNote:pt,getRelations:ct,addRelation:ot,getDirection:_t,setDirection:Dt,addMember:Me,addMembers:At,cleanupLabel:ft,lineType:bt,relationType:Ft,setClickEvent:kt,setCssClass:ve,setLink:Ct,getTooltip:Et,setTooltip:dt,lookUpDomId:Ge,setDiagramTitle:Ze,getDiagramTitle:$e,setClassLabel:ut,addNamespace:Bt,addClassesToNamespace:St,getNamespace:Tt,getNamespaces:yt},vt=e=>`g.classGroup text { - fill: ${e.nodeBorder}; - fill: ${e.classText}; - stroke: none; - font-family: ${e.fontFamily}; - font-size: 10px; - - .title { - font-weight: bolder; - } - -} - -.nodeLabel, .edgeLabel { - color: ${e.classText}; -} -.edgeLabel .label rect { - fill: ${e.mainBkg}; -} -.label text { - fill: ${e.classText}; -} -.edgeLabel .label span { - background: ${e.mainBkg}; -} - -.classTitle { - font-weight: bolder; -} -.node rect, - .node circle, - .node ellipse, - .node polygon, - .node path { - fill: ${e.mainBkg}; - stroke: ${e.nodeBorder}; - stroke-width: 1px; - } - - -.divider { - stroke: ${e.nodeBorder}; - stroke-width: 1; -} - -g.clickable { - cursor: pointer; -} - -g.classGroup rect { - fill: ${e.mainBkg}; - stroke: ${e.nodeBorder}; -} - -g.classGroup line { - stroke: ${e.nodeBorder}; - stroke-width: 1; -} - -.classLabel .box { - stroke: none; - stroke-width: 0; - fill: ${e.mainBkg}; - opacity: 0.5; -} - -.classLabel .label { - fill: ${e.nodeBorder}; - font-size: 10px; -} - -.relation { - stroke: ${e.lineColor}; - stroke-width: 1; - fill: none; -} - -.dashed-line{ - stroke-dasharray: 3; -} - -.dotted-line{ - stroke-dasharray: 1 2; -} - -#compositionStart, .composition { - fill: ${e.lineColor} !important; - stroke: ${e.lineColor} !important; - stroke-width: 1; -} - -#compositionEnd, .composition { - fill: ${e.lineColor} !important; - stroke: ${e.lineColor} !important; - stroke-width: 1; -} - -#dependencyStart, .dependency { - fill: ${e.lineColor} !important; - stroke: ${e.lineColor} !important; - stroke-width: 1; -} - -#dependencyStart, .dependency { - fill: ${e.lineColor} !important; - stroke: ${e.lineColor} !important; - stroke-width: 1; -} - -#extensionStart, .extension { - fill: ${e.mainBkg} !important; - stroke: ${e.lineColor} !important; - stroke-width: 1; -} - -#extensionEnd, .extension { - fill: ${e.mainBkg} !important; - stroke: ${e.lineColor} !important; - stroke-width: 1; -} - -#aggregationStart, .aggregation { - fill: ${e.mainBkg} !important; - stroke: ${e.lineColor} !important; - stroke-width: 1; -} - -#aggregationEnd, .aggregation { - fill: ${e.mainBkg} !important; - stroke: ${e.lineColor} !important; - stroke-width: 1; -} - -#lollipopStart, .lollipop { - fill: ${e.mainBkg} !important; - stroke: ${e.lineColor} !important; - stroke-width: 1; -} - -#lollipopEnd, .lollipop { - fill: ${e.mainBkg} !important; - stroke: ${e.lineColor} !important; - stroke-width: 1; -} - -.edgeTerminals { - font-size: 11px; -} - -.classTitleText { - text-anchor: middle; - font-size: 18px; - fill: ${e.textColor}; -} -`,xt=vt;export{It as d,Lt as p,xt as s}; diff --git a/pr-333/assets/chunks/styles-f626f8de.93151a23.js b/pr-333/assets/chunks/styles-f626f8de.93151a23.js deleted file mode 100644 index 0184e6447..000000000 --- a/pr-333/assets/chunks/styles-f626f8de.93151a23.js +++ /dev/null @@ -1,207 +0,0 @@ -import{c as Y,g as Ht,s as Xt,a as Kt,b as Wt,v as Jt,x as qt,m as Qt,l as v,j as ht,z as Zt,aH as te}from"../app.1f62ceb3.js";var mt=function(){var t=function(D,r,a,i){for(a=a||{},i=D.length;i--;a[D[i]]=r);return a},s=[1,2],n=[1,3],h=[1,5],u=[1,7],f=[2,5],p=[1,15],x=[1,17],d=[1,21],k=[1,22],T=[1,23],G=[1,24],R=[1,37],j=[1,25],U=[1,26],z=[1,27],M=[1,28],H=[1,29],X=[1,32],K=[1,33],W=[1,34],J=[1,35],q=[1,36],Q=[1,39],Z=[1,40],tt=[1,41],et=[1,42],w=[1,38],Ct=[1,45],o=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],st=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],ut=[1,4,5,7,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],At=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],dt={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,directive:6,SD:7,document:8,line:9,statement:10,classDefStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,class:42,CLASSENTITY_IDS:43,STYLECLASS:44,openDirective:45,typeDirective:46,closeDirective:47,":":48,argDirective:49,direction_tb:50,direction_bt:51,direction_rl:52,direction_lr:53,eol:54,";":55,EDGE_STATE:56,STYLE_SEPARATOR:57,left_of:58,right_of:59,open_directive:60,type_directive:61,arg_directive:62,close_directive:63,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",7:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"class",43:"CLASSENTITY_IDS",44:"STYLECLASS",48:":",50:"direction_tb",51:"direction_bt",52:"direction_rl",53:"direction_lr",55:";",56:"EDGE_STATE",57:"STYLE_SEPARATOR",58:"left_of",59:"right_of",60:"open_directive",61:"type_directive",62:"arg_directive",63:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[10,1],[10,2],[10,2],[10,1],[11,3],[11,3],[12,3],[6,3],[6,5],[32,1],[32,1],[32,1],[32,1],[54,1],[54,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1],[45,1],[46,1],[49,1],[47,1]],performAction:function(r,a,i,l,y,e,B){var c=e.length-1;switch(y){case 4:return l.setRootDoc(e[c]),e[c];case 5:this.$=[];break;case 6:e[c]!="nl"&&(e[c-1].push(e[c]),this.$=e[c-1]);break;case 7:case 8:this.$=e[c];break;case 9:this.$="nl";break;case 12:this.$=e[c];break;case 13:const $=e[c-1];$.description=l.trimColon(e[c]),this.$=$;break;case 14:this.$={stmt:"relation",state1:e[c-2],state2:e[c]};break;case 15:const pt=l.trimColon(e[c]);this.$={stmt:"relation",state1:e[c-3],state2:e[c-1],description:pt};break;case 19:this.$={stmt:"state",id:e[c-3],type:"default",description:"",doc:e[c-1]};break;case 20:var C=e[c],O=e[c-2].trim();if(e[c].match(":")){var it=e[c].split(":");C=it[0],O=[O,it[1]]}this.$={stmt:"state",id:C,type:"default",description:O};break;case 21:this.$={stmt:"state",id:e[c-3],type:"default",description:e[c-5],doc:e[c-1]};break;case 22:this.$={stmt:"state",id:e[c],type:"fork"};break;case 23:this.$={stmt:"state",id:e[c],type:"join"};break;case 24:this.$={stmt:"state",id:e[c],type:"choice"};break;case 25:this.$={stmt:"state",id:l.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:e[c-1].trim(),note:{position:e[c-2].trim(),text:e[c].trim()}};break;case 30:this.$=e[c].trim(),l.setAccTitle(this.$);break;case 31:case 32:this.$=e[c].trim(),l.setAccDescription(this.$);break;case 33:case 34:this.$={stmt:"classDef",id:e[c-1].trim(),classes:e[c].trim()};break;case 35:this.$={stmt:"applyClass",id:e[c-1].trim(),styleClass:e[c].trim()};break;case 38:l.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:l.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:l.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:l.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:e[c].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:e[c-2].trim(),classes:[e[c].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:e[c-2].trim(),classes:[e[c].trim()],type:"default",description:""};break;case 50:l.parseDirective("%%{","open_directive");break;case 51:l.parseDirective(e[c],"type_directive");break;case 52:e[c]=e[c].trim().replace(/'/g,'"'),l.parseDirective(e[c],"arg_directive");break;case 53:l.parseDirective("}%%","close_directive","state");break}},table:[{3:1,4:s,5:n,6:4,7:h,45:6,60:u},{1:[3]},{3:8,4:s,5:n,6:4,7:h,45:6,60:u},{3:9,4:s,5:n,6:4,7:h,45:6,60:u},{3:10,4:s,5:n,6:4,7:h,45:6,60:u},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],f,{8:11}),{46:12,61:[1,13]},{61:[2,50]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:p,5:x,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:k,19:T,22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},{47:43,48:[1,44],63:Ct},t([48,63],[2,51]),t(o,[2,6]),{6:30,10:46,11:18,12:19,13:20,16:d,17:k,19:T,22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},t(o,[2,8]),t(o,[2,9]),t(o,[2,10]),t(o,[2,11]),t(o,[2,12],{14:[1,47],15:[1,48]}),t(o,[2,16]),{18:[1,49]},t(o,[2,18],{20:[1,50]}),{23:[1,51]},t(o,[2,22]),t(o,[2,23]),t(o,[2,24]),t(o,[2,25]),{30:52,31:[1,53],58:[1,54],59:[1,55]},t(o,[2,28]),t(o,[2,29]),{34:[1,56]},{36:[1,57]},t(o,[2,32]),{39:[1,58],41:[1,59]},{43:[1,60]},t(st,[2,44],{57:[1,61]}),t(st,[2,45],{57:[1,62]}),t(o,[2,38]),t(o,[2,39]),t(o,[2,40]),t(o,[2,41]),t(ut,[2,36]),{49:63,62:[1,64]},t(ut,[2,53]),t(o,[2,7]),t(o,[2,13]),{13:65,24:R,56:w},t(o,[2,17]),t(At,f,{8:66}),{24:[1,67]},{24:[1,68]},{23:[1,69]},{24:[2,48]},{24:[2,49]},t(o,[2,30]),t(o,[2,31]),{40:[1,70]},{40:[1,71]},{44:[1,72]},{24:[1,73]},{24:[1,74]},{47:75,63:Ct},{63:[2,52]},t(o,[2,14],{14:[1,76]}),{4:p,5:x,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:k,19:T,21:[1,77],22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},t(o,[2,20],{20:[1,78]}),{31:[1,79]},{24:[1,80]},t(o,[2,33]),t(o,[2,34]),t(o,[2,35]),t(st,[2,46]),t(st,[2,47]),t(ut,[2,37]),t(o,[2,15]),t(o,[2,19]),t(At,f,{8:81}),t(o,[2,26]),t(o,[2,27]),{4:p,5:x,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:k,19:T,21:[1,82],22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},t(o,[2,21])],defaultActions:{7:[2,50],8:[2,1],9:[2,2],10:[2,3],54:[2,48],55:[2,49],64:[2,52]},parseError:function(r,a){if(a.recoverable)this.trace(r);else{var i=new Error(r);throw i.hash=a,i}},parse:function(r){var a=this,i=[0],l=[],y=[null],e=[],B=this.table,c="",C=0,O=0,it=2,$=1,pt=e.slice.call(arguments,1),S=Object.create(this.lexer),A={yy:{}};for(var yt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,yt)&&(A.yy[yt]=this.yy[yt]);S.setInput(r,A.yy),A.yy.lexer=S,A.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var St=S.yylloc;e.push(St);var zt=S.options&&S.options.ranges;typeof A.yy.parseError=="function"?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(){var E;return E=l.pop()||S.lex()||$,typeof E!="number"&&(E instanceof Array&&(l=E,E=l.pop()),E=a.symbols_[E]||E),E}for(var _,L,m,gt,N={},rt,b,Lt,nt;;){if(L=i[i.length-1],this.defaultActions[L]?m=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=Mt()),m=B[L]&&B[L][_]),typeof m>"u"||!m.length||!m[0]){var _t="";nt=[];for(rt in B[L])this.terminals_[rt]&&rt>it&&nt.push("'"+this.terminals_[rt]+"'");S.showPosition?_t="Parse error on line "+(C+1)+`: -`+S.showPosition()+` -Expecting `+nt.join(", ")+", got '"+(this.terminals_[_]||_)+"'":_t="Parse error on line "+(C+1)+": Unexpected "+(_==$?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(_t,{text:S.match,token:this.terminals_[_]||_,line:S.yylineno,loc:St,expected:nt})}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+L+", token: "+_);switch(m[0]){case 1:i.push(_),y.push(S.yytext),e.push(S.yylloc),i.push(m[1]),_=null,O=S.yyleng,c=S.yytext,C=S.yylineno,St=S.yylloc;break;case 2:if(b=this.productions_[m[1]][1],N.$=y[y.length-b],N._$={first_line:e[e.length-(b||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(b||1)].first_column,last_column:e[e.length-1].last_column},zt&&(N._$.range=[e[e.length-(b||1)].range[0],e[e.length-1].range[1]]),gt=this.performAction.apply(N,[c,O,C,A.yy,m[1],y,e].concat(pt)),typeof gt<"u")return gt;b&&(i=i.slice(0,-1*b*2),y=y.slice(0,-1*b),e=e.slice(0,-1*b)),i.push(this.productions_[m[1]][0]),y.push(N.$),e.push(N._$),Lt=B[i[i.length-2]][i[i.length-1]],i.push(Lt);break;case 3:return!0}}return!0}},Ut=function(){var D={EOF:1,parseError:function(a,i){if(this.yy.parser)this.yy.parser.parseError(a,i);else throw new Error(a)},setInput:function(r,a){return this.yy=a||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var a=r.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var a=r.length,i=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var l=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var y=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===l.length?this.yylloc.first_column:0)+l[l.length-i.length].length-i[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[y[0],y[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),a=new Array(r.length+1).join("-");return r+this.upcomingInput()+` -`+a+"^"},test_match:function(r,a){var i,l,y;if(this.options.backtrack_lexer&&(y={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(y.yylloc.range=this.yylloc.range.slice(0))),l=r[0].match(/(?:\r\n?|\n).*/g),l&&(this.yylineno+=l.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:l?l[l.length-1].length-l[l.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],i=this.performAction.call(this,this.yy,this,a,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var e in y)this[e]=y[e];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,a,i,l;this._more||(this.yytext="",this.match="");for(var y=this._currentRules(),e=0;ea[0].length)){if(a=i,l=e,this.options.backtrack_lexer){if(r=this.test_match(i,y[e]),r!==!1)return r;if(this._backtrack){a=!1;continue}else return!1}else if(!this.options.flex)break}return a?(r=this.test_match(a,y[l]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return a||this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){var a=this.conditionStack.length-1;return a>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(a){return a=this.conditionStack.length-1-Math.abs(a||0),a>=0?this.conditionStack[a]:"INITIAL"},pushState:function(a){this.begin(a)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(a,i,l,y){switch(l){case 0:return 41;case 1:return 50;case 2:return 51;case 3:return 52;case 4:return 53;case 5:return this.begin("open_directive"),60;case 6:return this.begin("type_directive"),61;case 7:return this.popState(),this.begin("arg_directive"),48;case 8:return this.popState(),this.popState(),63;case 9:return 62;case 10:break;case 11:break;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:break;case 17:return this.pushState("SCALE"),17;case 18:return 18;case 19:this.popState();break;case 20:return this.begin("acc_title"),33;case 21:return this.popState(),"acc_title_value";case 22:return this.begin("acc_descr"),35;case 23:return this.popState(),"acc_descr_value";case 24:this.begin("acc_descr_multiline");break;case 25:this.popState();break;case 26:return"acc_descr_multiline_value";case 27:return this.pushState("CLASSDEF"),38;case 28:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 29:return this.popState(),this.pushState("CLASSDEFID"),39;case 30:return this.popState(),40;case 31:return this.pushState("CLASS"),42;case 32:return this.popState(),this.pushState("CLASS_STYLE"),43;case 33:return this.popState(),44;case 34:return this.pushState("SCALE"),17;case 35:return 18;case 36:this.popState();break;case 37:this.pushState("STATE");break;case 38:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),25;case 39:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),26;case 40:return this.popState(),i.yytext=i.yytext.slice(0,-10).trim(),27;case 41:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),25;case 42:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),26;case 43:return this.popState(),i.yytext=i.yytext.slice(0,-10).trim(),27;case 44:return 50;case 45:return 51;case 46:return 52;case 47:return 53;case 48:this.pushState("STATE_STRING");break;case 49:return this.pushState("STATE_ID"),"AS";case 50:return this.popState(),"ID";case 51:this.popState();break;case 52:return"STATE_DESCR";case 53:return 19;case 54:this.popState();break;case 55:return this.popState(),this.pushState("struct"),20;case 56:break;case 57:return this.popState(),21;case 58:break;case 59:return this.begin("NOTE"),29;case 60:return this.popState(),this.pushState("NOTE_ID"),58;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:this.popState(),this.pushState("FLOATING_NOTE");break;case 63:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 64:break;case 65:return"NOTE_TEXT";case 66:return this.popState(),"ID";case 67:return this.popState(),this.pushState("NOTE_TEXT"),24;case 68:return this.popState(),i.yytext=i.yytext.substr(2).trim(),31;case 69:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),31;case 70:return 7;case 71:return 7;case 72:return 16;case 73:return 56;case 74:return 24;case 75:return i.yytext=i.yytext.trim(),14;case 76:return 15;case 77:return 28;case 78:return 57;case 79:return 5;case 80:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[14,15],inclusive:!1},close_directive:{rules:[14,15],inclusive:!1},arg_directive:{rules:[8,9,14,15],inclusive:!1},type_directive:{rules:[7,8,14,15],inclusive:!1},open_directive:{rules:[6,14,15],inclusive:!1},struct:{rules:[14,15,27,31,37,44,45,46,47,56,57,58,59,73,74,75,76,77],inclusive:!1},FLOATING_NOTE_ID:{rules:[66],inclusive:!1},FLOATING_NOTE:{rules:[63,64,65],inclusive:!1},NOTE_TEXT:{rules:[68,69],inclusive:!1},NOTE_ID:{rules:[67],inclusive:!1},NOTE:{rules:[60,61,62],inclusive:!1},CLASS_STYLE:{rules:[33],inclusive:!1},CLASS:{rules:[32],inclusive:!1},CLASSDEFID:{rules:[30],inclusive:!1},CLASSDEF:{rules:[28,29],inclusive:!1},acc_descr_multiline:{rules:[25,26],inclusive:!1},acc_descr:{rules:[23],inclusive:!1},acc_title:{rules:[21],inclusive:!1},SCALE:{rules:[18,19,35,36],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[50],inclusive:!1},STATE_STRING:{rules:[51,52],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[14,15,38,39,40,41,42,43,48,49,53,54,55],inclusive:!1},ID:{rules:[14,15],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,10,11,12,13,15,16,17,20,22,24,27,31,34,37,55,59,70,71,72,73,74,75,76,78,79,80],inclusive:!0}}};return D}();dt.lexer=Ut;function ft(){this.yy={}}return ft.prototype=dt,dt.Parser=ft,new ft}();mt.parser=mt;const Ie=mt,ee="LR",Oe="TB",Tt="state",Rt="relation",se="classDef",ie="applyClass",vt="default",re="divider",xt="[*]",wt="start",Bt=xt,$t="end",It="color",Ot="fill",ne="bgFill",ae=",";function Pt(){return{}}let Vt=ee,lt=[],P=Pt();const Ft=()=>({relations:[],states:{},documents:{}});let ot={root:Ft()},g=ot.root,V=0,Nt=0;const ce={LINE:0,DOTTED_LINE:1},le={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},at=t=>JSON.parse(JSON.stringify(t)),oe=function(t,s,n){Qt.parseDirective(this,t,s,n)},he=t=>{v.info("Setting root doc",t),lt=t},ue=()=>lt,ct=(t,s,n)=>{if(s.stmt===Rt)ct(t,s.state1,!0),ct(t,s.state2,!1);else if(s.stmt===Tt&&(s.id==="[*]"?(s.id=n?t.id+"_start":t.id+"_end",s.start=n):s.id=s.id.trim()),s.doc){const h=[];let u=[],f;for(f=0;f0&&u.length>0){const p={stmt:Tt,id:te(),type:"divider",doc:at(u)};h.push(at(p)),s.doc=h}s.doc.forEach(p=>ct(s,p,!0))}},de=()=>(ct({id:"root"},{id:"root",doc:lt},!0),{id:"root",doc:lt}),fe=t=>{let s;t.doc?s=t.doc:s=t,v.info(s),Yt(!0),v.info("Extract",s),s.forEach(n=>{switch(n.stmt){case Tt:I(n.id.trim(),n.type,n.doc,n.description,n.note,n.classes,n.styles,n.textStyles);break;case Rt:Gt(n.state1,n.state2,n.description);break;case se:jt(n.id.trim(),n.classes);break;case ie:Dt(n.id.trim(),n.styleClass);break}})},I=function(t,s=vt,n=null,h=null,u=null,f=null,p=null,x=null){const d=t==null?void 0:t.trim();g.states[d]===void 0?(v.info("Adding state ",d,h),g.states[d]={id:d,descriptions:[],type:s,doc:n,note:u,classes:[],styles:[],textStyles:[]}):(g.states[d].doc||(g.states[d].doc=n),g.states[d].type||(g.states[d].type=s)),h&&(v.info("Setting state description",d,h),typeof h=="string"&&Et(d,h.trim()),typeof h=="object"&&h.forEach(k=>Et(d,k.trim()))),u&&(g.states[d].note=u,g.states[d].note.text=ht.sanitizeText(g.states[d].note.text,Y())),f&&(v.info("Setting state classes",d,f),(typeof f=="string"?[f]:f).forEach(T=>Dt(d,T.trim()))),p&&(v.info("Setting state styles",d,p),(typeof p=="string"?[p]:p).forEach(T=>Ee(d,T.trim()))),x&&(v.info("Setting state styles",d,p),(typeof x=="string"?[x]:x).forEach(T=>ve(d,T.trim())))},Yt=function(t){ot={root:Ft()},g=ot.root,V=0,P=Pt(),t||Zt()},F=function(t){return g.states[t]},pe=function(){return g.states},ye=function(){v.info("Documents = ",ot)},Se=function(){return g.relations};function kt(t=""){let s=t;return t===xt&&(V++,s=`${wt}${V}`),s}function bt(t="",s=vt){return t===xt?wt:s}function ge(t=""){let s=t;return t===Bt&&(V++,s=`${$t}${V}`),s}function _e(t="",s=vt){return t===Bt?$t:s}function me(t,s,n){let h=kt(t.id.trim()),u=bt(t.id.trim(),t.type),f=kt(s.id.trim()),p=bt(s.id.trim(),s.type);I(h,u,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),I(f,p,s.doc,s.description,s.note,s.classes,s.styles,s.textStyles),g.relations.push({id1:h,id2:f,relationTitle:ht.sanitizeText(n,Y())})}const Gt=function(t,s,n){if(typeof t=="object")me(t,s,n);else{const h=kt(t.trim()),u=bt(t),f=ge(s.trim()),p=_e(s);I(h,u),I(f,p),g.relations.push({id1:h,id2:f,title:ht.sanitizeText(n,Y())})}},Et=function(t,s){const n=g.states[t],h=s.startsWith(":")?s.replace(":","").trim():s;n.descriptions.push(ht.sanitizeText(h,Y()))},Te=function(t){return t.substring(0,1)===":"?t.substr(2).trim():t.trim()},ke=()=>(Nt++,"divider-id-"+Nt),jt=function(t,s=""){P[t]===void 0&&(P[t]={id:t,styles:[],textStyles:[]});const n=P[t];s!=null&&s.split(ae).forEach(h=>{const u=h.replace(/([^;]*);/,"$1").trim();if(h.match(It)){const p=u.replace(Ot,ne).replace(It,Ot);n.textStyles.push(p)}n.styles.push(u)})},be=function(){return P},Dt=function(t,s){t.split(",").forEach(function(n){let h=F(n);if(h===void 0){const u=n.trim();I(u),h=F(u)}h.classes.push(s)})},Ee=function(t,s){const n=F(t);n!==void 0&&n.textStyles.push(s)},ve=function(t,s){const n=F(t);n!==void 0&&n.textStyles.push(s)},xe=()=>Vt,De=t=>{Vt=t},Ce=t=>t&&t[0]===":"?t.substr(1).trim():t.trim(),Ne={parseDirective:oe,getConfig:()=>Y().state,addState:I,clear:Yt,getState:F,getStates:pe,getRelations:Se,getClasses:be,getDirection:xe,addRelation:Gt,getDividerId:ke,setDirection:De,cleanupLabel:Te,lineType:ce,relationType:le,logDocuments:ye,getRootDoc:ue,setRootDoc:he,getRootDocV2:de,extract:fe,trimColon:Ce,getAccTitle:Ht,setAccTitle:Xt,getAccDescription:Kt,setAccDescription:Wt,addStyleClass:jt,setCssClass:Dt,addDescription:Et,setDiagramTitle:Jt,getDiagramTitle:qt},Ae=t=>` -defs #statediagram-barbEnd { - fill: ${t.transitionColor}; - stroke: ${t.transitionColor}; - } -g.stateGroup text { - fill: ${t.nodeBorder}; - stroke: none; - font-size: 10px; -} -g.stateGroup text { - fill: ${t.textColor}; - stroke: none; - font-size: 10px; - -} -g.stateGroup .state-title { - font-weight: bolder; - fill: ${t.stateLabelColor}; -} - -g.stateGroup rect { - fill: ${t.mainBkg}; - stroke: ${t.nodeBorder}; -} - -g.stateGroup line { - stroke: ${t.lineColor}; - stroke-width: 1; -} - -.transition { - stroke: ${t.transitionColor}; - stroke-width: 1; - fill: none; -} - -.stateGroup .composit { - fill: ${t.background}; - border-bottom: 1px -} - -.stateGroup .alt-composit { - fill: #e0e0e0; - border-bottom: 1px -} - -.state-note { - stroke: ${t.noteBorderColor}; - fill: ${t.noteBkgColor}; - - text { - fill: ${t.noteTextColor}; - stroke: none; - font-size: 10px; - } -} - -.stateLabel .box { - stroke: none; - stroke-width: 0; - fill: ${t.mainBkg}; - opacity: 0.5; -} - -.edgeLabel .label rect { - fill: ${t.labelBackgroundColor}; - opacity: 0.5; -} -.edgeLabel .label text { - fill: ${t.transitionLabelColor||t.tertiaryTextColor}; -} -.label div .edgeLabel { - color: ${t.transitionLabelColor||t.tertiaryTextColor}; -} - -.stateLabel text { - fill: ${t.stateLabelColor}; - font-size: 10px; - font-weight: bold; -} - -.node circle.state-start { - fill: ${t.specialStateColor}; - stroke: ${t.specialStateColor}; -} - -.node .fork-join { - fill: ${t.specialStateColor}; - stroke: ${t.specialStateColor}; -} - -.node circle.state-end { - fill: ${t.innerEndBackground}; - stroke: ${t.background}; - stroke-width: 1.5 -} -.end-state-inner { - fill: ${t.compositeBackground||t.background}; - // stroke: ${t.background}; - stroke-width: 1.5 -} - -.node rect { - fill: ${t.stateBkg||t.mainBkg}; - stroke: ${t.stateBorder||t.nodeBorder}; - stroke-width: 1px; -} -.node polygon { - fill: ${t.mainBkg}; - stroke: ${t.stateBorder||t.nodeBorder};; - stroke-width: 1px; -} -#statediagram-barbEnd { - fill: ${t.lineColor}; -} - -.statediagram-cluster rect { - fill: ${t.compositeTitleBackground}; - stroke: ${t.stateBorder||t.nodeBorder}; - stroke-width: 1px; -} - -.cluster-label, .nodeLabel { - color: ${t.stateLabelColor}; -} - -.statediagram-cluster rect.outer { - rx: 5px; - ry: 5px; -} -.statediagram-state .divider { - stroke: ${t.stateBorder||t.nodeBorder}; -} - -.statediagram-state .title-state { - rx: 5px; - ry: 5px; -} -.statediagram-cluster.statediagram-cluster .inner { - fill: ${t.compositeBackground||t.background}; -} -.statediagram-cluster.statediagram-cluster-alt .inner { - fill: ${t.altBackground?t.altBackground:"#efefef"}; -} - -.statediagram-cluster .inner { - rx:0; - ry:0; -} - -.statediagram-state rect.basic { - rx: 5px; - ry: 5px; -} -.statediagram-state rect.divider { - stroke-dasharray: 10,10; - fill: ${t.altBackground?t.altBackground:"#efefef"}; -} - -.note-edge { - stroke-dasharray: 5; -} - -.statediagram-note rect { - fill: ${t.noteBkgColor}; - stroke: ${t.noteBorderColor}; - stroke-width: 1px; - rx: 0; - ry: 0; -} -.statediagram-note rect { - fill: ${t.noteBkgColor}; - stroke: ${t.noteBorderColor}; - stroke-width: 1px; - rx: 0; - ry: 0; -} - -.statediagram-note text { - fill: ${t.noteTextColor}; -} - -.statediagram-note .nodeLabel { - color: ${t.noteTextColor}; -} -.statediagram .edgeLabel { - color: red; // ${t.noteTextColor}; -} - -#dependencyStart, #dependencyEnd { - fill: ${t.lineColor}; - stroke: ${t.lineColor}; - stroke-width: 1; -} - -.statediagramTitleText { - text-anchor: middle; - font-size: 18px; - fill: ${t.textColor}; -} -`,Re=Ae;export{vt as D,Rt as S,re as a,Tt as b,Oe as c,Ne as d,Ie as p,Re as s}; diff --git a/pr-333/assets/chunks/styles-ff678862.2647e455.js b/pr-333/assets/chunks/styles-ff678862.2647e455.js deleted file mode 100644 index b0d10fcc3..000000000 --- a/pr-333/assets/chunks/styles-ff678862.2647e455.js +++ /dev/null @@ -1,110 +0,0 @@ -import{i as V,G as M}from"./layout.c9cae6cc.js";import{_ as I,$ as R,a0 as F,a1 as U,a2 as X,X as H,p as N,l as u,q as W,c as $,j as G,r as C,o as E,h as _,y as J,t as K,a3 as Q}from"../app.1f62ceb3.js";import{f as Y}from"./flowDb-8f9fc471.4d6324c9.js";import{r as Z}from"./index-4c4adb72.f92dce56.js";function j(e){return typeof e=="string"?new I([document.querySelectorAll(e)],[document.documentElement]):new I([F(e)],R)}const O=(e,l)=>U.lang.round(X.parse(e)[l]),ee=O;function ue(e,l){return!!e.children(l).length}function we(e){return L(e.v)+":"+L(e.w)+":"+L(e.name)}var te=/:/g;function L(e){return e?String(e).replace(te,"\\:"):""}function re(e,l){l&&e.attr("style",l)}function he(e,l,c){l&&e.attr("class",l).attr("class",c+" "+e.attr("class"))}function ye(e,l){var c=l.graph();if(V(c)){var a=c.transition;if(H(a))return a(e)}return e}function le(e,l){var c=e.append("foreignObject").attr("width","100000"),a=c.append("xhtml:div");a.attr("xmlns","http://www.w3.org/1999/xhtml");var i=l.label;switch(typeof i){case"function":a.insert(i);break;case"object":a.insert(function(){return i});break;default:a.html(i)}re(a,l.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap");var d=a.node().getBoundingClientRect();return c.attr("width",d.width).attr("height",d.height),c}const z={},ae=function(e){const l=Object.keys(e);for(const c of l)z[c]=e[c]},q=function(e,l,c,a,i,d){const w=a.select(`[id="${c}"]`);Object.keys(e).forEach(function(p){const r=e[p];let g="default";r.classes.length>0&&(g=r.classes.join(" ")),g=g+" flowchart-label";const h=N(r.styles);let t=r.text!==void 0?r.text:r.id,s;if(u.info("vertex",r,r.labelType),r.labelType==="markdown")u.info("vertex",r,r.labelType);else if(W($().flowchart.htmlLabels)){const m={label:t.replace(/fa[blrs]?:fa-[\w-]+/g,k=>``)};s=le(w,m).node(),s.parentNode.removeChild(s)}else{const m=i.createElementNS("http://www.w3.org/2000/svg","text");m.setAttribute("style",h.labelStyle.replace("color:","fill:"));const k=t.split(G.lineBreakRegex);for(const T of k){const v=i.createElementNS("http://www.w3.org/2000/svg","tspan");v.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),v.setAttribute("dy","1em"),v.setAttribute("x","1"),v.textContent=T,m.appendChild(v)}s=m}let b=0,o="";switch(r.type){case"round":b=5,o="rect";break;case"square":o="rect";break;case"diamond":o="question";break;case"hexagon":o="hexagon";break;case"odd":o="rect_left_inv_arrow";break;case"lean_right":o="lean_right";break;case"lean_left":o="lean_left";break;case"trapezoid":o="trapezoid";break;case"inv_trapezoid":o="inv_trapezoid";break;case"odd_right":o="rect_left_inv_arrow";break;case"circle":o="circle";break;case"ellipse":o="ellipse";break;case"stadium":o="stadium";break;case"subroutine":o="subroutine";break;case"cylinder":o="cylinder";break;case"group":o="rect";break;case"doublecircle":o="doublecircle";break;default:o="rect"}l.setNode(r.id,{labelStyle:h.labelStyle,shape:o,labelText:t,labelType:r.labelType,rx:b,ry:b,class:g,style:h.style,id:r.id,link:r.link,linkTarget:r.linkTarget,tooltip:d.db.getTooltip(r.id)||"",domId:d.db.lookUpDomId(r.id),haveCallback:r.haveCallback,width:r.type==="group"?500:void 0,dir:r.dir,type:r.type,props:r.props,padding:$().flowchart.padding}),u.info("setNode",{labelStyle:h.labelStyle,labelType:r.labelType,shape:o,labelText:t,rx:b,ry:b,class:g,style:h.style,id:r.id,domId:d.db.lookUpDomId(r.id),width:r.type==="group"?500:void 0,type:r.type,dir:r.dir,props:r.props,padding:$().flowchart.padding})})},P=function(e,l,c){u.info("abc78 edges = ",e);let a=0,i={},d,w;if(e.defaultStyle!==void 0){const n=N(e.defaultStyle);d=n.style,w=n.labelStyle}e.forEach(function(n){a++;const p="L-"+n.start+"-"+n.end;i[p]===void 0?(i[p]=0,u.info("abc78 new entry",p,i[p])):(i[p]++,u.info("abc78 new entry",p,i[p]));let r=p+"-"+i[p];u.info("abc78 new link id to be used is",p,r,i[p]);const g="LS-"+n.start,h="LE-"+n.end,t={style:"",labelStyle:""};switch(t.minlen=n.length||1,n.type==="arrow_open"?t.arrowhead="none":t.arrowhead="normal",t.arrowTypeStart="arrow_open",t.arrowTypeEnd="arrow_open",n.type){case"double_arrow_cross":t.arrowTypeStart="arrow_cross";case"arrow_cross":t.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":t.arrowTypeStart="arrow_point";case"arrow_point":t.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":t.arrowTypeStart="arrow_circle";case"arrow_circle":t.arrowTypeEnd="arrow_circle";break}let s="",b="";switch(n.stroke){case"normal":s="fill:none;",d!==void 0&&(s=d),w!==void 0&&(b=w),t.thickness="normal",t.pattern="solid";break;case"dotted":t.thickness="normal",t.pattern="dotted",t.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":t.thickness="thick",t.pattern="solid",t.style="stroke-width: 3.5px;fill:none;";break;case"invisible":t.thickness="invisible",t.pattern="solid",t.style="stroke-width: 0;fill:none;";break}if(n.style!==void 0){const o=N(n.style);s=o.style,b=o.labelStyle}t.style=t.style+=s,t.labelStyle=t.labelStyle+=b,n.interpolate!==void 0?t.curve=C(n.interpolate,E):e.defaultInterpolate!==void 0?t.curve=C(e.defaultInterpolate,E):t.curve=C(z.curve,E),n.text===void 0?n.style!==void 0&&(t.arrowheadStyle="fill: #333"):(t.arrowheadStyle="fill: #333",t.labelpos="c"),t.labelType=n.labelType,t.label=n.text.replace(G.lineBreakRegex,` -`),n.style===void 0&&(t.style=t.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),t.labelStyle=t.labelStyle.replace("color:","fill:"),t.id=r,t.classes="flowchart-link "+g+" "+h,l.setEdge(n.start,n.end,t,a)})},oe=function(e,l){u.info("Extracting classes"),l.db.clear();try{return l.parse(e),l.db.getClasses()}catch{return}},ne=async function(e,l,c,a){u.info("Drawing flowchart"),a.db.clear(),Y.setGen("gen-2"),a.parser.parse(e);let i=a.db.getDirection();i===void 0&&(i="TD");const{securityLevel:d,flowchart:w}=$(),n=w.nodeSpacing||50,p=w.rankSpacing||50;let r;d==="sandbox"&&(r=_("#i"+l));const g=d==="sandbox"?_(r.nodes()[0].contentDocument.body):_("body"),h=d==="sandbox"?r.nodes()[0].contentDocument:document,t=new M({multigraph:!0,compound:!0}).setGraph({rankdir:i,nodesep:n,ranksep:p,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let s;const b=a.db.getSubGraphs();u.info("Subgraphs - ",b);for(let f=b.length-1;f>=0;f--)s=b[f],u.info("Subgraph - ",s),a.db.addVertex(s.id,{text:s.title,type:s.labelType},"group",void 0,s.classes,s.dir);const o=a.db.getVertices(),m=a.db.getEdges();u.info("Edges",m);let k=0;for(k=b.length-1;k>=0;k--){s=b[k],j("cluster").append("text");for(let f=0;f{const c=ee,a=c(e,"r"),i=c(e,"g"),d=c(e,"b");return Q(a,i,d,l)},ie=e=>`.label { - font-family: ${e.fontFamily}; - color: ${e.nodeTextColor||e.textColor}; - } - .cluster-label text { - fill: ${e.titleColor}; - } - .cluster-label span,p { - color: ${e.titleColor}; - } - - .label text,span,p { - fill: ${e.nodeTextColor||e.textColor}; - color: ${e.nodeTextColor||e.textColor}; - } - - .node rect, - .node circle, - .node ellipse, - .node polygon, - .node path { - fill: ${e.mainBkg}; - stroke: ${e.nodeBorder}; - stroke-width: 1px; - } - .flowchart-label text { - text-anchor: middle; - } - // .flowchart-label .text-outer-tspan { - // text-anchor: middle; - // } - // .flowchart-label .text-inner-tspan { - // text-anchor: start; - // } - - .node .label { - text-align: center; - } - .node.clickable { - cursor: pointer; - } - - .arrowheadPath { - fill: ${e.arrowheadColor}; - } - - .edgePath .path { - stroke: ${e.lineColor}; - stroke-width: 2.0px; - } - - .flowchart-link { - stroke: ${e.lineColor}; - fill: none; - } - - .edgeLabel { - background-color: ${e.edgeLabelBackground}; - rect { - opacity: 0.5; - background-color: ${e.edgeLabelBackground}; - fill: ${e.edgeLabelBackground}; - } - text-align: center; - } - - /* For html labels only */ - .labelBkg { - background-color: ${se(e.edgeLabelBackground,.5)}; - // background-color: - } - - .cluster rect { - fill: ${e.clusterBkg}; - stroke: ${e.clusterBorder}; - stroke-width: 1px; - } - - .cluster text { - fill: ${e.titleColor}; - } - - .cluster span,p { - color: ${e.titleColor}; - } - /* .cluster div { - color: ${e.titleColor}; - } */ - - div.mermaidTooltip { - position: absolute; - text-align: center; - max-width: 200px; - padding: 2px; - font-family: ${e.fontFamily}; - font-size: 12px; - background: ${e.tertiaryColor}; - border: 1px solid ${e.border2}; - border-radius: 2px; - pointer-events: none; - z-index: 100; - } - - .flowchartTitleText { - text-anchor: middle; - font-size: 18px; - fill: ${e.textColor}; - } -`,ke=ie;export{re as a,le as b,ye as c,he as d,we as e,ge as f,ke as g,ue as i,j as s}; diff --git a/pr-333/assets/chunks/svgDraw-5d8a058e.0c833b4b.js b/pr-333/assets/chunks/svgDraw-5d8a058e.0c833b4b.js deleted file mode 100644 index 5e018ff48..000000000 --- a/pr-333/assets/chunks/svgDraw-5d8a058e.0c833b4b.js +++ /dev/null @@ -1,2 +0,0 @@ -import{a5 as k,y as v,l as B,a7 as N}from"../app.1f62ceb3.js";import{l as I}from"./line.e2bfcddf.js";let S=0;const O=function(i,e,t,a,r){const o=function(d){switch(d){case r.db.relationType.AGGREGATION:return"aggregation";case r.db.relationType.EXTENSION:return"extension";case r.db.relationType.COMPOSITION:return"composition";case r.db.relationType.DEPENDENCY:return"dependency";case r.db.relationType.LOLLIPOP:return"lollipop"}};e.points=e.points.filter(d=>!Number.isNaN(d.y));const l=e.points,g=I().x(function(d){return d.x}).y(function(d){return d.y}).curve(k),s=i.append("path").attr("d",g(l)).attr("id","edge"+S).attr("class","relation");let p="";a.arrowMarkerAbsolute&&(p=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,p=p.replace(/\(/g,"\\("),p=p.replace(/\)/g,"\\)")),t.relation.lineType==1&&s.attr("class","relation dashed-line"),t.relation.lineType==10&&s.attr("class","relation dotted-line"),t.relation.type1!=="none"&&s.attr("marker-start","url("+p+"#"+o(t.relation.type1)+"Start)"),t.relation.type2!=="none"&&s.attr("marker-end","url("+p+"#"+o(t.relation.type2)+"End)");let h,n;const c=e.points.length;let b=v.calcLabelPosition(e.points);h=b.x,n=b.y;let x,m,f,T;if(c%2!==0&&c>1){let d=v.calcCardinalityPosition(t.relation.type1!=="none",e.points,e.points[0]),w=v.calcCardinalityPosition(t.relation.type2!=="none",e.points,e.points[c-1]);B.debug("cardinality_1_point "+JSON.stringify(d)),B.debug("cardinality_2_point "+JSON.stringify(w)),x=d.x,m=d.y,f=w.x,T=w.y}if(t.title!==void 0){const d=i.append("g").attr("class","classLabel"),w=d.append("text").attr("class","label").attr("x",h).attr("y",n).attr("fill","red").attr("text-anchor","middle").text(t.title);window.label=w;const y=w.node().getBBox();d.insert("rect",":first-child").attr("class","box").attr("x",y.x-a.padding/2).attr("y",y.y-a.padding/2).attr("width",y.width+a.padding).attr("height",y.height+a.padding)}B.info("Rendering relation "+JSON.stringify(t)),t.relationTitle1!==void 0&&t.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",x).attr("y",m).attr("fill","black").attr("font-size","6").text(t.relationTitle1),t.relationTitle2!==void 0&&t.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",f).attr("y",T).attr("fill","black").attr("font-size","6").text(t.relationTitle2),S++},P=function(i,e,t,a){B.debug("Rendering class ",e,t);const r=e.id,o={id:r,label:e.id,width:0,height:0},l=i.append("g").attr("id",a.db.lookUpDomId(r)).attr("class","classGroup");let g;e.link?g=l.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",t.textHeight+t.padding).attr("x",0):g=l.append("text").attr("y",t.textHeight+t.padding).attr("x",0);let s=!0;e.annotations.forEach(function(u){const H=g.append("tspan").text("«"+u+"»");s||H.attr("dy",t.textHeight),s=!1});let p=E(e);const h=g.append("tspan").text(p).attr("class","title");s||h.attr("dy",t.textHeight);const n=g.node().getBBox().height,c=l.append("line").attr("x1",0).attr("y1",t.padding+n+t.dividerMargin/2).attr("y2",t.padding+n+t.dividerMargin/2),b=l.append("text").attr("x",t.padding).attr("y",n+t.dividerMargin+t.textHeight).attr("fill","white").attr("class","classText");s=!0,e.members.forEach(function(u){_(b,u,s,t),s=!1});const x=b.node().getBBox(),m=l.append("line").attr("x1",0).attr("y1",t.padding+n+t.dividerMargin+x.height).attr("y2",t.padding+n+t.dividerMargin+x.height),f=l.append("text").attr("x",t.padding).attr("y",n+2*t.dividerMargin+x.height+t.textHeight).attr("fill","white").attr("class","classText");s=!0,e.methods.forEach(function(u){_(f,u,s,t),s=!1});const T=l.node().getBBox();var d=" ";e.cssClasses.length>0&&(d=d+e.cssClasses.join(" "));const y=l.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",T.width+2*t.padding).attr("height",T.height+t.padding+.5*t.dividerMargin).attr("class",d).node().getBBox().width;return g.node().childNodes.forEach(function(u){u.setAttribute("x",(y-u.getBBox().width)/2)}),e.tooltip&&g.insert("title").text(e.tooltip),c.attr("x2",y),m.attr("x2",y),o.width=y,o.height=T.height+t.padding+.5*t.dividerMargin,o},E=function(i){let e=i.id;return i.type&&(e+="<"+i.type+">"),e},A=function(i,e,t,a){B.debug("Rendering note ",e,t);const r=e.id,o={id:r,text:e.text,width:0,height:0},l=i.append("g").attr("id",r).attr("class","classGroup");let g=l.append("text").attr("y",t.textHeight+t.padding).attr("x",0);const s=JSON.parse(`"${e.text}"`).split(` -`);s.forEach(function(c){B.debug(`Adding line: ${c}`),g.append("tspan").text(c).attr("class","title").attr("dy",t.textHeight)});const p=l.node().getBBox(),n=l.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",p.width+2*t.padding).attr("height",p.height+s.length*t.textHeight+t.padding+.5*t.dividerMargin).node().getBBox().width;return g.node().childNodes.forEach(function(c){c.setAttribute("x",(n-c.getBBox().width)/2)}),o.width=n,o.height=p.height+s.length*t.textHeight+t.padding+.5*t.dividerMargin,o},M=function(i){let e="",t="",a="",r="",o=i.substring(0,1),l=i.substring(i.length-1,i.length);o.match(/[#+~-]/)&&(r=o);let g=/[\s\w)~]/;l.match(g)||(t=C(l));const s=r===""?0:1;let p=t===""?i.length:i.length-1;i=i.substring(s,p);const h=i.indexOf("("),n=i.indexOf(")");if(h>1&&n>h&&n<=i.length){let b=i.substring(0,h).trim();const x=i.substring(h+1,n);if(e=r+b+"("+N(x.trim())+")",n/gi," "),n=e.append("text");n.attr("x",t.x),n.attr("y",t.y),n.attr("class","legend"),n.style("text-anchor",t.anchor),t.class!==void 0&&n.attr("class",t.class);const s=n.append("tspan");return s.attr("x",t.x+t.textMargin*2),s.text(r),n},d=function(e,t,r,n){const s=e.append("image");s.attr("x",t),s.attr("y",r);var i=a(n);s.attr("xlink:href",i)},f=function(e,t,r,n){const s=e.append("use");s.attr("x",t),s.attr("y",r);const i=a(n);s.attr("xlink:href","#"+i)},h=function(){return{x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}},g=function(){return{x:0,y:0,width:100,height:100,fill:void 0,anchor:void 0,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}};export{c as a,f as b,d as c,l as d,g as e,x as f,h as g}; diff --git a/pr-333/assets/chunks/theme.c87e84a0.js b/pr-333/assets/chunks/theme.c87e84a0.js deleted file mode 100644 index d73e86fa0..000000000 --- a/pr-333/assets/chunks/theme.c87e84a0.js +++ /dev/null @@ -1,7 +0,0 @@ -import{d as y,o as r,c as l,r as v,n as A,a as H,t as N,_ as g,b as P,w as p,e as m,T as Ie,u as Ct,i as At,P as Bt,f as Ne,g as V,h as L,j as F,k as _,l as i,p as j,m as G,q as xt,s as Ot,v as Ht,x as Ce,y as Et,z as U,A as ie,B as Dt,C as zt,D as le,E as it,F as ee,G as ke,H as Ae,I as Be,J as Ft,K as Q,L as C,M as O,N as oe,O as h,Q as X,R as lt,S as Pe,U as pe,V as xe,W as ct,X as jt,Y as qe,Z as Gt,$ as Rt,a0 as fe,a1 as Ut,a2 as Wt,a3 as Kt,a4 as qt}from"./framework.8df7efef.js";const Yt=y({__name:"VPBadge",props:{text:{},type:{}},setup(t){return(e,n)=>(r(),l("span",{class:A(["VPBadge",e.type??"tip"])},[v(e.$slots,"default",{},()=>[H(N(e.text),1)],!0)],2))}});const Jt=g(Yt,[["__scopeId","data-v-7a7936a3"]]),Xt={key:0,class:"VPBackdrop"},Qt=y({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(t){return(e,n)=>(r(),P(Ie,{name:"fade"},{default:p(()=>[e.show?(r(),l("div",Xt)):m("",!0)]),_:1}))}});const Zt=g(Qt,[["__scopeId","data-v-54a304ca"]]),T=Ct;function en(t,e){let n,o=!1;return()=>{n&&clearTimeout(n),o?n=setTimeout(t,e):(t(),o=!0,setTimeout(()=>{o=!1},e))}}function Le(t){return/^\//.test(t)?t:`/${t}`}function se(t){if(At(t))return t.replace(Bt,"");const{site:e}=T(),{pathname:n,search:o,hash:s}=new URL(t,"http://a.com"),a=n.endsWith("/")||n.endsWith(".html")?t:t.replace(/(?:(^\.+)\/)?.*$/,`$1${n.replace(/(\.md)?$/,e.value.cleanUrls?"":".html")}${o}${s}`);return Ne(a)}function ce({removeCurrent:t=!0,correspondingLink:e=!1}={}){const{site:n,localeIndex:o,page:s,theme:a}=T(),u=V(()=>{var c,f;return{label:(c=n.value.locales[o.value])==null?void 0:c.label,link:((f=n.value.locales[o.value])==null?void 0:f.link)||(o.value==="root"?"/":`/${o.value}/`)}});return{localeLinks:V(()=>Object.entries(n.value.locales).flatMap(([c,f])=>t&&u.value.label===f.label?[]:{text:f.label,link:tn(f.link||(c==="root"?"/":`/${c}/`),a.value.i18nRouting!==!1&&e,s.value.relativePath.slice(u.value.link.length-1),!n.value.cleanUrls)})),currentLang:u}}function tn(t,e,n,o){return e?t.replace(/\/$/,"")+Le(n.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):t}const nn=t=>(j("data-v-1bc323a9"),t=t(),G(),t),on={class:"NotFound"},sn={class:"code"},an={class:"title"},rn=nn(()=>_("div",{class:"divider"},null,-1)),ln={class:"quote"},cn={class:"action"},un=["href","aria-label"],dn=y({__name:"NotFound",setup(t){const{site:e,theme:n}=T(),{localeLinks:o}=ce({removeCurrent:!1}),s=L("/");return F(()=>{var u;const a=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");o.value.length&&(s.value=((u=o.value.find(({link:d})=>d.startsWith(a)))==null?void 0:u.link)||o.value[0].link)}),(a,u)=>{var d,c,f,b,$;return r(),l("div",on,[_("p",sn,N(((d=i(n).notFound)==null?void 0:d.code)??"404"),1),_("h1",an,N(((c=i(n).notFound)==null?void 0:c.title)??"PAGE NOT FOUND"),1),rn,_("blockquote",ln,N(((f=i(n).notFound)==null?void 0:f.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),_("div",cn,[_("a",{class:"link",href:i(Ne)(s.value),"aria-label":((b=i(n).notFound)==null?void 0:b.linkLabel)??"go to home"},N((($=i(n).notFound)==null?void 0:$.linkText)??"Take me home"),9,un)])])}}});const _n=g(dn,[["__scopeId","data-v-1bc323a9"]]);function Oe(t){return xt()?(Ot(t),!0):!1}function R(t){return typeof t=="function"?t():i(t)}const ut=typeof window<"u",ae=()=>{},Ye=vn();function vn(){var t;return ut&&((t=window==null?void 0:window.navigator)==null?void 0:t.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent)}function pn(t,e){function n(...o){return new Promise((s,a)=>{Promise.resolve(t(()=>e.apply(this,o),{fn:e,thisArg:this,args:o})).then(s).catch(a)})}return n}const dt=t=>t();function fn(t,e={}){let n,o,s=ae;const a=d=>{clearTimeout(d),s(),s=ae};return d=>{const c=R(t),f=R(e.maxWait);return n&&a(n),c<=0||f!==void 0&&f<=0?(o&&(a(o),o=null),Promise.resolve(d())):new Promise((b,$)=>{s=e.rejectOnCancel?$:b,f&&!o&&(o=setTimeout(()=>{n&&a(n),o=null,b(d())},f)),n=setTimeout(()=>{o&&a(o),o=null,b(d())},c)})}}function hn(t=dt){const e=L(!0);function n(){e.value=!1}function o(){e.value=!0}const s=(...a)=>{e.value&&t(...a)};return{isActive:Ce(e),pause:n,resume:o,eventFilter:s}}function mn(...t){if(t.length!==1)return Ht(...t);const e=t[0];return typeof e=="function"?Ce(Et(()=>({get:e,set:ae}))):L(e)}var Je=Object.getOwnPropertySymbols,gn=Object.prototype.hasOwnProperty,yn=Object.prototype.propertyIsEnumerable,bn=(t,e)=>{var n={};for(var o in t)gn.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&Je)for(var o of Je(t))e.indexOf(o)<0&&yn.call(t,o)&&(n[o]=t[o]);return n};function _t(t,e,n={}){const o=n,{eventFilter:s=dt}=o,a=bn(o,["eventFilter"]);return U(t,pn(s,e),a)}var $n=Object.defineProperty,kn=Object.defineProperties,Pn=Object.getOwnPropertyDescriptors,me=Object.getOwnPropertySymbols,vt=Object.prototype.hasOwnProperty,pt=Object.prototype.propertyIsEnumerable,Xe=(t,e,n)=>e in t?$n(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,wn=(t,e)=>{for(var n in e||(e={}))vt.call(e,n)&&Xe(t,n,e[n]);if(me)for(var n of me(e))pt.call(e,n)&&Xe(t,n,e[n]);return t},Vn=(t,e)=>kn(t,Pn(e)),Sn=(t,e)=>{var n={};for(var o in t)vt.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&me)for(var o of me(t))e.indexOf(o)<0&&pt.call(t,o)&&(n[o]=t[o]);return n};function Fl(t,e,n={}){const o=n,{debounce:s=0,maxWait:a=void 0}=o,u=Sn(o,["debounce","maxWait"]);return _t(t,e,Vn(wn({},u),{eventFilter:fn(s,{maxWait:a})}))}var Ln=Object.defineProperty,Mn=Object.defineProperties,Tn=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,ft=Object.prototype.hasOwnProperty,ht=Object.prototype.propertyIsEnumerable,Qe=(t,e,n)=>e in t?Ln(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,In=(t,e)=>{for(var n in e||(e={}))ft.call(e,n)&&Qe(t,n,e[n]);if(ge)for(var n of ge(e))ht.call(e,n)&&Qe(t,n,e[n]);return t},Nn=(t,e)=>Mn(t,Tn(e)),Cn=(t,e)=>{var n={};for(var o in t)ft.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&ge)for(var o of ge(t))e.indexOf(o)<0&&ht.call(t,o)&&(n[o]=t[o]);return n};function An(t,e,n={}){const o=n,{eventFilter:s}=o,a=Cn(o,["eventFilter"]),{eventFilter:u,pause:d,resume:c,isActive:f}=hn(s);return{stop:_t(t,e,Nn(In({},a),{eventFilter:u})),pause:d,resume:c,isActive:f}}function jl(t,e,n){let o;zt(n)?o={evaluating:n}:o=n||{};const{lazy:s=!1,evaluating:a=void 0,shallow:u=!0,onError:d=ae}=o,c=L(!s),f=u?le(e):L(e);let b=0;return ie(async $=>{if(!c.value)return;b++;const I=b;let S=!1;a&&Promise.resolve().then(()=>{a.value=!0});try{const k=await t(M=>{$(()=>{a&&(a.value=!1),S||M()})});I===b&&(f.value=k)}catch(k){d(k)}finally{a&&I===b&&(a.value=!1),S=!0}}),s?V(()=>(c.value=!0,f.value)):f}function Bn(t){var e;const n=R(t);return(e=n==null?void 0:n.$el)!=null?e:n}const K=ut?window:void 0;function re(...t){let e,n,o,s;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,o,s]=t,e=K):[e,n,o,s]=t,!e)return ae;Array.isArray(n)||(n=[n]),Array.isArray(o)||(o=[o]);const a=[],u=()=>{a.forEach(b=>b()),a.length=0},d=(b,$,I,S)=>(b.addEventListener($,I,S),()=>b.removeEventListener($,I,S)),c=U(()=>[Bn(e),R(s)],([b,$])=>{u(),b&&a.push(...n.flatMap(I=>o.map(S=>d(b,I,S,$))))},{immediate:!0,flush:"post"}),f=()=>{c(),u()};return Oe(f),f}function xn(t){return typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):()=>!0}function Ze(...t){let e,n,o={};t.length===3?(e=t[0],n=t[1],o=t[2]):t.length===2?typeof t[1]=="object"?(e=!0,n=t[0],o=t[1]):(e=t[0],n=t[1]):(e=!0,n=t[0]);const{target:s=K,eventName:a="keydown",passive:u=!1,dedupe:d=!1}=o,c=xn(e);return re(s,a,b=>{b.repeat&&R(d)||c(b)&&n(b)},u)}function On(){const t=L(!1);return Dt()&&F(()=>{t.value=!0}),t}function Hn(t){const e=On();return V(()=>(e.value,!!t()))}function Me(t,e={}){const{window:n=K}=e,o=Hn(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const a=L(!1),u=f=>{a.value=f.matches},d=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",u):s.removeListener(u))},c=ie(()=>{o.value&&(d(),s=n.matchMedia(R(t)),"addEventListener"in s?s.addEventListener("change",u):s.addListener(u),a.value=s.matches)});return Oe(()=>{c(),d(),s=void 0}),a}const _e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},ve="__vueuse_ssr_handlers__",En=Dn();function Dn(){return ve in _e||(_e[ve]=_e[ve]||{}),_e[ve]}function zn(t,e){return En[t]||e}function Fn(t){return t==null?"any":t instanceof Set?"set":t instanceof Map?"map":t instanceof Date?"date":typeof t=="boolean"?"boolean":typeof t=="string"?"string":typeof t=="object"?"object":Number.isNaN(t)?"any":"number"}var jn=Object.defineProperty,et=Object.getOwnPropertySymbols,Gn=Object.prototype.hasOwnProperty,Rn=Object.prototype.propertyIsEnumerable,tt=(t,e,n)=>e in t?jn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,nt=(t,e)=>{for(var n in e||(e={}))Gn.call(e,n)&&tt(t,n,e[n]);if(et)for(var n of et(e))Rn.call(e,n)&&tt(t,n,e[n]);return t};const Un={boolean:{read:t=>t==="true",write:t=>String(t)},object:{read:t=>JSON.parse(t),write:t=>JSON.stringify(t)},number:{read:t=>Number.parseFloat(t),write:t=>String(t)},any:{read:t=>t,write:t=>String(t)},string:{read:t=>t,write:t=>String(t)},map:{read:t=>new Map(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t.entries()))},set:{read:t=>new Set(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t))},date:{read:t=>new Date(t),write:t=>t.toISOString()}},ot="vueuse-storage";function mt(t,e,n,o={}){var s;const{flush:a="pre",deep:u=!0,listenToStorageChanges:d=!0,writeDefaults:c=!0,mergeDefaults:f=!1,shallow:b,window:$=K,eventFilter:I,onError:S=B=>{console.error(B)}}=o,k=(b?le:L)(e);if(!n)try{n=zn("getDefaultStorage",()=>{var B;return(B=K)==null?void 0:B.localStorage})()}catch(B){S(B)}if(!n)return k;const M=R(e),w=Fn(M),x=(s=o.serializer)!=null?s:Un[w],{pause:z,resume:D}=An(k,()=>ue(k.value),{flush:a,deep:u,eventFilter:I});return $&&d&&(re($,"storage",Ve),re($,ot,Nt)),Ve(),k;function ue(B){try{if(B==null)n.removeItem(t);else{const E=x.write(B),Y=n.getItem(t);Y!==E&&(n.setItem(t,E),$&&$.dispatchEvent(new CustomEvent(ot,{detail:{key:t,oldValue:Y,newValue:E,storageArea:n}})))}}catch(E){S(E)}}function de(B){const E=B?B.newValue:n.getItem(t);if(E==null)return c&&M!==null&&n.setItem(t,x.write(M)),M;if(!B&&f){const Y=x.read(E);return typeof f=="function"?f(Y,M):w==="object"&&!Array.isArray(Y)?nt(nt({},M),Y):Y}else return typeof E!="string"?E:x.read(E)}function Nt(B){Ve(B.detail)}function Ve(B){if(!(B&&B.storageArea!==n)){if(B&&B.key==null){k.value=M;return}if(!(B&&B.key!==t)){z();try{k.value=de(B)}catch(E){S(E)}finally{B?it(D):D()}}}}}function Gl(t,e,n={}){const{window:o=K}=n;return mt(t,e,o==null?void 0:o.localStorage,n)}function gt(t){const e=window.getComputedStyle(t);if(e.overflowX==="scroll"||e.overflowY==="scroll"||e.overflowX==="auto"&&t.clientWidth1?!0:(e.preventDefault&&e.preventDefault(),!1)}function Rl(t,e=!1){const n=L(e);let o=null,s;U(mn(t),d=>{if(d){const c=d;s=c.style.overflow,n.value&&(c.style.overflow="hidden")}},{immediate:!0});const a=()=>{const d=R(t);!d||n.value||(Ye&&(o=re(d,"touchmove",c=>{Wn(c)},{passive:!1})),d.style.overflow="hidden",n.value=!0)},u=()=>{const d=R(t);!d||!n.value||(Ye&&(o==null||o()),d.style.overflow=s,n.value=!1)};return Oe(u),V({get(){return n.value},set(d){d?a():u()}})}function Ul(t,e,n={}){const{window:o=K}=n;return mt(t,e,o==null?void 0:o.sessionStorage,n)}function yt({window:t=K}={}){if(!t)return{x:L(0),y:L(0)};const e=L(t.scrollX),n=L(t.scrollY);return re(t,"scroll",()=>{e.value=t.scrollX,n.value=t.scrollY},{capture:!1,passive:!0}),{x:e,y:n}}function bt(t,e){if(Array.isArray(t))return he(t);if(t==null)return[];e=Le(e);const n=Object.keys(t).sort((s,a)=>a.split("/").length-s.split("/").length).find(s=>e.startsWith(Le(s))),o=n?t[n]:[];return Array.isArray(o)?he(o):he(o.items,o.base)}function Kn(t){const e=[];let n=0;for(const o in t){const s=t[o];if(s.items){n=e.push(s);continue}e[n]||e.push({items:[]}),e[n].items.push(s)}return e}function qn(t){const e=[];function n(o){for(const s of o)s.text&&s.link&&e.push({text:s.text,link:s.link,docFooterText:s.docFooterText}),s.items&&n(s.items)}return n(t),e}function Te(t,e){return Array.isArray(e)?e.some(n=>Te(t,n)):ee(t,e.link)?!0:e.items?Te(t,e.items):!1}function he(t,e){return[...t].map(n=>{const o={...n},s=o.base||e;return s&&o.link&&(o.link=s+o.link),o.items&&(o.items=he(o.items,s)),o})}function W(){const{frontmatter:t,page:e,theme:n}=T(),o=Me("(min-width: 960px)"),s=L(!1),a=V(()=>{const k=n.value.sidebar,M=e.value.relativePath;return k?bt(k,M):[]}),u=V(()=>t.value.sidebar!==!1&&a.value.length>0&&t.value.layout!=="home"),d=V(()=>c?t.value.aside==null?n.value.aside==="left":t.value.aside==="left":!1),c=V(()=>t.value.layout==="home"?!1:t.value.aside!=null?!!t.value.aside:n.value.aside!==!1),f=V(()=>u.value&&o.value),b=V(()=>u.value?Kn(a.value):[]);function $(){s.value=!0}function I(){s.value=!1}function S(){s.value?I():$()}return{isOpen:s,sidebar:a,sidebarGroups:b,hasSidebar:u,hasAside:c,leftAside:d,isSidebarEnabled:f,open:$,close:I,toggle:S}}function Yn(t,e){let n;ie(()=>{n=t.value?document.activeElement:void 0}),F(()=>{window.addEventListener("keyup",o)}),Ae(()=>{window.removeEventListener("keyup",o)});function o(s){s.key==="Escape"&&t.value&&(e(),n==null||n.focus())}}const $t=L(ke?location.hash:"");ke&&window.addEventListener("hashchange",()=>{$t.value=location.hash});function Jn(t){const{page:e}=T(),n=L(!1),o=V(()=>t.value.collapsed!=null),s=V(()=>!!t.value.link),a=L(!1),u=()=>{a.value=ee(e.value.relativePath,t.value.link)};U([e,t,$t],u),F(u);const d=V(()=>a.value?!0:t.value.items?Te(e.value.relativePath,t.value.items):!1),c=V(()=>!!(t.value.items&&t.value.items.length));ie(()=>{n.value=!!(o.value&&t.value.collapsed)}),Be(()=>{(a.value||d.value)&&(n.value=!1)});function f(){o.value&&(n.value=!n.value)}return{collapsed:n,collapsible:o,isLink:s,isActiveLink:a,hasActiveLink:d,hasChildren:c,toggle:f}}function Xn(){const{hasSidebar:t}=W(),e=Me("(min-width: 960px)"),n=Me("(min-width: 1280px)");return{isAsideEnabled:V(()=>!n.value&&!e.value?!1:t.value?n.value:e.value)}}const Qn=71;function He(t){return typeof t.outline=="object"&&!Array.isArray(t.outline)&&t.outline.label||t.outlineTitle||"On this page"}function Ee(t){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const o=Number(n.tagName[1]);return{title:Zn(n),link:"#"+n.id,level:o}});return eo(e,t)}function Zn(t){let e="";for(const n of t.childNodes)if(n.nodeType===1){if(n.classList.contains("VPBadge")||n.classList.contains("header-anchor"))continue;e+=n.textContent}else n.nodeType===3&&(e+=n.textContent);return e.trim()}function eo(t,e){if(e===!1)return[];const n=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[o,s]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;t=t.filter(u=>u.level>=o&&u.level<=s);const a=[];e:for(let u=0;u=0;c--){const f=t[c];if(f.level{requestAnimationFrame(a),window.addEventListener("scroll",o)}),Ft(()=>{u(location.hash)}),Ae(()=>{window.removeEventListener("scroll",o)});function a(){if(!n.value)return;const d=[].slice.call(t.value.querySelectorAll(".outline-link")),c=[].slice.call(document.querySelectorAll(".content .header-anchor")).filter(S=>d.some(k=>k.hash===S.hash&&S.offsetParent!==null)),f=window.scrollY,b=window.innerHeight,$=document.body.offsetHeight,I=Math.abs(f+b-$)<1;if(c.length&&I){u(c[c.length-1].hash);return}for(let S=0;S{const s=Q("VPDocOutlineItem",!0);return r(),l("ul",{class:A(n.root?"root":"nested")},[(r(!0),l(C,null,O(n.headers,({children:a,link:u,title:d})=>(r(),l("li",null,[_("a",{class:"outline-link",href:u,onClick:e,title:d},N(d),9,oo),a!=null&&a.length?(r(),P(s,{key:0,headers:a},null,8,["headers"])):m("",!0)]))),256))],2)}}});const De=g(so,[["__scopeId","data-v-463da30f"]]),ao=t=>(j("data-v-c834746b"),t=t(),G(),t),ro={class:"content"},io={class:"outline-title"},lo={"aria-labelledby":"doc-outline-aria-label"},co=ao(()=>_("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),uo=y({__name:"VPDocAsideOutline",setup(t){const{frontmatter:e,theme:n}=T(),o=le([]);oe(()=>{o.value=Ee(e.value.outline??n.value.outline)});const s=L(),a=L();return to(s,a),(u,d)=>(r(),l("div",{class:A(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:s},[_("div",ro,[_("div",{class:"outline-marker",ref_key:"marker",ref:a},null,512),_("div",io,N(i(He)(i(n))),1),_("nav",lo,[co,h(De,{headers:o.value,root:!0},null,8,["headers"])])])],2))}});const _o=g(uo,[["__scopeId","data-v-c834746b"]]),vo={class:"VPDocAsideCarbonAds"},po=y({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(t){const e=()=>null;return(n,o)=>(r(),l("div",vo,[h(i(e),{"carbon-ads":n.carbonAds},null,8,["carbon-ads"])]))}}),fo=t=>(j("data-v-cb998dce"),t=t(),G(),t),ho={class:"VPDocAside"},mo=fo(()=>_("div",{class:"spacer"},null,-1)),go=y({__name:"VPDocAside",setup(t){const{theme:e}=T();return(n,o)=>(r(),l("div",ho,[v(n.$slots,"aside-top",{},void 0,!0),v(n.$slots,"aside-outline-before",{},void 0,!0),h(_o),v(n.$slots,"aside-outline-after",{},void 0,!0),mo,v(n.$slots,"aside-ads-before",{},void 0,!0),i(e).carbonAds?(r(),P(po,{key:0,"carbon-ads":i(e).carbonAds},null,8,["carbon-ads"])):m("",!0),v(n.$slots,"aside-ads-after",{},void 0,!0),v(n.$slots,"aside-bottom",{},void 0,!0)]))}});const yo=g(go,[["__scopeId","data-v-cb998dce"]]);function bo(){const{theme:t,page:e}=T();return V(()=>{const{text:n="Edit this page",pattern:o=""}=t.value.editLink||{};let s;return typeof o=="function"?s=o(e.value):s=o.replace(/:path/g,e.value.filePath),{url:s,text:n}})}function $o(){const{page:t,theme:e,frontmatter:n}=T();return V(()=>{var c,f,b,$,I,S,k,M;const o=bt(e.value.sidebar,t.value.relativePath),s=qn(o),a=s.findIndex(w=>ee(t.value.relativePath,w.link)),u=((c=e.value.docFooter)==null?void 0:c.prev)===!1&&!n.value.prev||n.value.prev===!1,d=((f=e.value.docFooter)==null?void 0:f.next)===!1&&!n.value.next||n.value.next===!1;return{prev:u?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??((b=s[a-1])==null?void 0:b.docFooterText)??(($=s[a-1])==null?void 0:$.text),link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??((I=s[a-1])==null?void 0:I.link)},next:d?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??((S=s[a+1])==null?void 0:S.docFooterText)??((k=s[a+1])==null?void 0:k.text),link:(typeof n.value.next=="object"?n.value.next.link:void 0)??((M=s[a+1])==null?void 0:M.link)}}})}const ko={},Po={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},wo=_("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),Vo=_("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),So=[wo,Vo];function Lo(t,e){return r(),l("svg",Po,So)}const Mo=g(ko,[["render",Lo]]),q=y({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(t){const e=t,n=V(()=>e.tag??(e.href?"a":"span")),o=V(()=>e.href&<.test(e.href));return(s,a)=>(r(),P(X(n.value),{class:A(["VPLink",{link:s.href,"vp-external-link-icon":o.value,"no-icon":s.noIcon}]),href:s.href?i(se)(s.href):void 0,target:s.target??(o.value?"_blank":void 0),rel:s.rel??(o.value?"noreferrer":void 0)},{default:p(()=>[v(s.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),To={class:"VPLastUpdated"},Io=["datetime"],No=y({__name:"VPDocFooterLastUpdated",setup(t){const{theme:e,page:n}=T(),o=V(()=>new Date(n.value.lastUpdated)),s=V(()=>o.value.toISOString()),a=L("");return F(()=>{ie(()=>{var u;a.value=new Intl.DateTimeFormat(void 0,((u=e.value.lastUpdated)==null?void 0:u.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(o.value)})}),(u,d)=>{var c;return r(),l("p",To,[H(N(((c=i(e).lastUpdated)==null?void 0:c.text)||i(e).lastUpdatedText||"Last updated")+": ",1),_("time",{datetime:s.value},N(a.value),9,Io)])}}});const Co=g(No,[["__scopeId","data-v-b89b6307"]]),Ao={key:0,class:"VPDocFooter"},Bo={key:0,class:"edit-info"},xo={key:0,class:"edit-link"},Oo={key:1,class:"last-updated"},Ho={key:1,class:"prev-next"},Eo={class:"pager"},Do=["href"],zo=["innerHTML"],Fo=["innerHTML"],jo={class:"pager"},Go=["href"],Ro=["innerHTML"],Uo=["innerHTML"],Wo=y({__name:"VPDocFooter",setup(t){const{theme:e,page:n,frontmatter:o}=T(),s=bo(),a=$o(),u=V(()=>e.value.editLink&&o.value.editLink!==!1),d=V(()=>n.value.lastUpdated&&o.value.lastUpdated!==!1),c=V(()=>u.value||d.value||a.value.prev||a.value.next);return(f,b)=>{var $,I,S,k,M,w;return c.value?(r(),l("footer",Ao,[v(f.$slots,"doc-footer-before",{},void 0,!0),u.value||d.value?(r(),l("div",Bo,[u.value?(r(),l("div",xo,[h(q,{class:"edit-link-button",href:i(s).url,"no-icon":!0},{default:p(()=>[h(Mo,{class:"edit-link-icon","aria-label":"edit icon"}),H(" "+N(i(s).text),1)]),_:1},8,["href"])])):m("",!0),d.value?(r(),l("div",Oo,[h(Co)])):m("",!0)])):m("",!0),($=i(a).prev)!=null&&$.link||(I=i(a).next)!=null&&I.link?(r(),l("nav",Ho,[_("div",Eo,[(S=i(a).prev)!=null&&S.link?(r(),l("a",{key:0,class:"pager-link prev",href:i(se)(i(a).prev.link)},[_("span",{class:"desc",innerHTML:((k=i(e).docFooter)==null?void 0:k.prev)||"Previous page"},null,8,zo),_("span",{class:"title",innerHTML:i(a).prev.text},null,8,Fo)],8,Do)):m("",!0)]),_("div",jo,[(M=i(a).next)!=null&&M.link?(r(),l("a",{key:0,class:"pager-link next",href:i(se)(i(a).next.link)},[_("span",{class:"desc",innerHTML:((w=i(e).docFooter)==null?void 0:w.next)||"Next page"},null,8,Ro),_("span",{class:"title",innerHTML:i(a).next.text},null,8,Uo)],8,Go)):m("",!0)])])):m("",!0)])):m("",!0)}}});const Ko=g(Wo,[["__scopeId","data-v-5774f702"]]),qo={},Yo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Jo=_("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),Xo=[Jo];function Qo(t,e){return r(),l("svg",Yo,Xo)}const ze=g(qo,[["render",Qo]]),Zo={key:0,class:"VPDocOutlineDropdown"},es={key:0,class:"items"},ts=y({__name:"VPDocOutlineDropdown",setup(t){const{frontmatter:e,theme:n}=T(),o=L(!1);oe(()=>{o.value=!1});const s=le([]);return oe(()=>{s.value=Ee(e.value.outline??n.value.outline)}),(a,u)=>s.value.length>0?(r(),l("div",Zo,[_("button",{onClick:u[0]||(u[0]=d=>o.value=!o.value),class:A({open:o.value})},[H(N(i(He)(i(n)))+" ",1),h(ze,{class:"icon"})],2),o.value?(r(),l("div",es,[h(De,{headers:s.value},null,8,["headers"])])):m("",!0)])):m("",!0)}});const ns=g(ts,[["__scopeId","data-v-0bc40447"]]),os=t=>(j("data-v-a3c25e27"),t=t(),G(),t),ss={class:"container"},as=os(()=>_("div",{class:"aside-curtain"},null,-1)),rs={class:"aside-container"},is={class:"aside-content"},ls={class:"content"},cs={class:"content-container"},us={class:"main"},ds=y({__name:"VPDoc",setup(t){const{theme:e}=T(),n=Pe(),{hasSidebar:o,hasAside:s,leftAside:a}=W(),u=V(()=>n.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,c)=>{const f=Q("Content");return r(),l("div",{class:A(["VPDoc",{"has-sidebar":i(o),"has-aside":i(s)}])},[v(d.$slots,"doc-top",{},void 0,!0),_("div",ss,[i(s)?(r(),l("div",{key:0,class:A(["aside",{"left-aside":i(a)}])},[as,_("div",rs,[_("div",is,[h(yo,null,{"aside-top":p(()=>[v(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[v(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[v(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[v(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[v(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[v(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):m("",!0),_("div",ls,[_("div",cs,[v(d.$slots,"doc-before",{},void 0,!0),h(ns),_("main",us,[h(f,{class:A(["vp-doc",[u.value,i(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),h(Ko,null,{"doc-footer-before":p(()=>[v(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),v(d.$slots,"doc-after",{},void 0,!0)])])]),v(d.$slots,"doc-bottom",{},void 0,!0)],2)}}});const _s=g(ds,[["__scopeId","data-v-a3c25e27"]]),vs=y({__name:"VPButton",props:{tag:{},size:{},theme:{},text:{},href:{}},setup(t){const e=t,n=V(()=>[e.size??"medium",e.theme??"brand"]),o=V(()=>e.href&<.test(e.href)),s=V(()=>e.tag?e.tag:e.href?"a":"button");return(a,u)=>(r(),P(X(s.value),{class:A(["VPButton",n.value]),href:a.href?i(se)(a.href):void 0,target:o.value?"_blank":void 0,rel:o.value?"noreferrer":void 0},{default:p(()=>[H(N(a.text),1)]),_:1},8,["class","href","target","rel"]))}});const ps=g(vs,[["__scopeId","data-v-fa1633a1"]]),fs=["src","alt"],hs=y({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(t){return(e,n)=>{const o=Q("VPImage",!0);return e.image?(r(),l(C,{key:0},[typeof e.image=="string"||"src"in e.image?(r(),l("img",pe({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:i(Ne)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,fs)):(r(),l(C,{key:1},[h(o,pe({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),h(o,pe({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):m("",!0)}}});const Fe=g(hs,[["__scopeId","data-v-ab19afbb"]]),ms=t=>(j("data-v-5a3e9999"),t=t(),G(),t),gs={class:"container"},ys={class:"main"},bs={key:0,class:"name"},$s=["innerHTML"],ks=["innerHTML"],Ps=["innerHTML"],ws={key:0,class:"actions"},Vs={key:0,class:"image"},Ss={class:"image-container"},Ls=ms(()=>_("div",{class:"image-bg"},null,-1)),Ms=y({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(t){const e=xe("hero-image-slot-exists");return(n,o)=>(r(),l("div",{class:A(["VPHero",{"has-image":n.image||i(e)}])},[_("div",gs,[_("div",ys,[v(n.$slots,"home-hero-info",{},()=>[n.name?(r(),l("h1",bs,[_("span",{innerHTML:n.name,class:"clip"},null,8,$s)])):m("",!0),n.text?(r(),l("p",{key:1,innerHTML:n.text,class:"text"},null,8,ks)):m("",!0),n.tagline?(r(),l("p",{key:2,innerHTML:n.tagline,class:"tagline"},null,8,Ps)):m("",!0)],!0),n.actions?(r(),l("div",ws,[(r(!0),l(C,null,O(n.actions,s=>(r(),l("div",{key:s.link,class:"action"},[h(ps,{tag:"a",size:"medium",theme:s.theme,text:s.text,href:s.link},null,8,["theme","text","href"])]))),128))])):m("",!0)]),n.image||i(e)?(r(),l("div",Vs,[_("div",Ss,[Ls,v(n.$slots,"home-hero-image",{},()=>[n.image?(r(),P(Fe,{key:0,class:"image-src",image:n.image},null,8,["image"])):m("",!0)],!0)])])):m("",!0)])],2))}});const Ts=g(Ms,[["__scopeId","data-v-5a3e9999"]]),Is=y({__name:"VPHomeHero",setup(t){const{frontmatter:e}=T();return(n,o)=>i(e).hero?(r(),P(Ts,{key:0,class:"VPHomeHero",name:i(e).hero.name,text:i(e).hero.text,tagline:i(e).hero.tagline,image:i(e).hero.image,actions:i(e).hero.actions},{"home-hero-info":p(()=>[v(n.$slots,"home-hero-info")]),"home-hero-image":p(()=>[v(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):m("",!0)}}),Ns={},Cs={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},As=_("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),Bs=[As];function xs(t,e){return r(),l("svg",Cs,Bs)}const Os=g(Ns,[["render",xs]]),Hs={class:"box"},Es=["innerHTML"],Ds=["innerHTML"],zs=["innerHTML"],Fs={key:3,class:"link-text"},js={class:"link-text-value"},Gs=y({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{}},setup(t){return(e,n)=>(r(),P(q,{class:"VPFeature",href:e.link,rel:e.rel,"no-icon":!0,tag:e.link?"a":"div"},{default:p(()=>[_("article",Hs,[typeof e.icon=="object"?(r(),P(Fe,{key:0,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(r(),l("div",{key:1,class:"icon",innerHTML:e.icon},null,8,Es)):m("",!0),_("h2",{class:"title",innerHTML:e.title},null,8,Ds),e.details?(r(),l("p",{key:2,class:"details",innerHTML:e.details},null,8,zs)):m("",!0),e.linkText?(r(),l("div",Fs,[_("p",js,[H(N(e.linkText)+" ",1),h(Os,{class:"link-text-icon"})])])):m("",!0)])]),_:1},8,["href","rel","tag"]))}});const Rs=g(Gs,[["__scopeId","data-v-aeb6d69c"]]),Us={key:0,class:"VPFeatures"},Ws={class:"container"},Ks={class:"items"},qs=y({__name:"VPFeatures",props:{features:{}},setup(t){const e=t,n=V(()=>{const o=e.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,s)=>o.features?(r(),l("div",Us,[_("div",Ws,[_("div",Ks,[(r(!0),l(C,null,O(o.features,a=>(r(),l("div",{key:a.title,class:A(["item",[n.value]])},[h(Rs,{icon:a.icon,title:a.title,details:a.details,link:a.link,"link-text":a.linkText,rel:a.rel},null,8,["icon","title","details","link","link-text","rel"])],2))),128))])])])):m("",!0)}});const Ys=g(qs,[["__scopeId","data-v-7e232fde"]]),Js=y({__name:"VPHomeFeatures",setup(t){const{frontmatter:e}=T();return(n,o)=>i(e).features?(r(),P(Ys,{key:0,class:"VPHomeFeatures",features:i(e).features},null,8,["features"])):m("",!0)}}),Xs={class:"VPHome"},Qs=y({__name:"VPHome",setup(t){return(e,n)=>{const o=Q("Content");return r(),l("div",Xs,[v(e.$slots,"home-hero-before",{},void 0,!0),h(Is,null,{"home-hero-info":p(()=>[v(e.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[v(e.$slots,"home-hero-image",{},void 0,!0)]),_:3}),v(e.$slots,"home-hero-after",{},void 0,!0),v(e.$slots,"home-features-before",{},void 0,!0),h(Js),v(e.$slots,"home-features-after",{},void 0,!0),h(o)])}}});const Zs=g(Qs,[["__scopeId","data-v-20eabd3a"]]),ea={},ta={class:"VPPage"};function na(t,e){const n=Q("Content");return r(),l("div",ta,[v(t.$slots,"page-top"),h(n),v(t.$slots,"page-bottom")])}const oa=g(ea,[["render",na]]),sa=y({__name:"VPContent",setup(t){const{page:e,frontmatter:n}=T(),{hasSidebar:o}=W();return(s,a)=>(r(),l("div",{class:A(["VPContent",{"has-sidebar":i(o),"is-home":i(n).layout==="home"}]),id:"VPContent"},[i(e).isNotFound?v(s.$slots,"not-found",{key:0},()=>[h(_n)],!0):i(n).layout==="page"?(r(),P(oa,{key:1},{"page-top":p(()=>[v(s.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[v(s.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(n).layout==="home"?(r(),P(Zs,{key:2},{"home-hero-before":p(()=>[v(s.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":p(()=>[v(s.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[v(s.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[v(s.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[v(s.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[v(s.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(n).layout&&i(n).layout!=="doc"?(r(),P(X(i(n).layout),{key:3})):(r(),P(_s,{key:4},{"doc-top":p(()=>[v(s.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[v(s.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":p(()=>[v(s.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[v(s.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[v(s.$slots,"doc-after",{},void 0,!0)]),"aside-top":p(()=>[v(s.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":p(()=>[v(s.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[v(s.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[v(s.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[v(s.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":p(()=>[v(s.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}});const aa=g(sa,[["__scopeId","data-v-3cf691b6"]]),ra={class:"container"},ia=["innerHTML"],la=["innerHTML"],ca=y({__name:"VPFooter",setup(t){const{theme:e,frontmatter:n}=T(),{hasSidebar:o}=W();return(s,a)=>i(e).footer&&i(n).footer!==!1?(r(),l("footer",{key:0,class:A(["VPFooter",{"has-sidebar":i(o)}])},[_("div",ra,[i(e).footer.message?(r(),l("p",{key:0,class:"message",innerHTML:i(e).footer.message},null,8,ia)):m("",!0),i(e).footer.copyright?(r(),l("p",{key:1,class:"copyright",innerHTML:i(e).footer.copyright},null,8,la)):m("",!0)])],2)):m("",!0)}});const ua=g(ca,[["__scopeId","data-v-e4279f1c"]]),da={class:"header"},_a={class:"outline"},va=y({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(t){const e=t,{theme:n}=T(),o=L(!1),s=L(0),a=L();oe(()=>{o.value=!1});function u(){o.value=!o.value,s.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function d(f){f.target.classList.contains("outline-link")&&(a.value&&(a.value.style.transition="none"),it(()=>{o.value=!1}))}function c(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(f,b)=>(r(),l("div",{class:"VPLocalNavOutlineDropdown",style:ct({"--vp-vh":s.value+"px"})},[f.headers.length>0?(r(),l("button",{key:0,onClick:u,class:A({open:o.value})},[H(N(i(He)(i(n)))+" ",1),h(ze,{class:"icon"})],2)):(r(),l("button",{key:1,onClick:c},N(i(n).returnToTopLabel||"Return to top"),1)),h(Ie,{name:"flyout"},{default:p(()=>[o.value?(r(),l("div",{key:0,ref_key:"items",ref:a,class:"items",onClick:d},[_("div",da,[_("a",{class:"top-link",href:"#",onClick:c},N(i(n).returnToTopLabel||"Return to top"),1)]),_("div",_a,[h(De,{headers:f.headers},null,8,["headers"])])],512)):m("",!0)]),_:1})],4))}});const pa=g(va,[["__scopeId","data-v-e8ae7d87"]]),fa={},ha={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ma=_("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),ga=_("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),ya=_("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),ba=_("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),$a=[ma,ga,ya,ba];function ka(t,e){return r(),l("svg",ha,$a)}const Pa=g(fa,[["render",ka]]),wa=["aria-expanded"],Va={class:"menu-text"},Sa=y({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(t){const{theme:e,frontmatter:n}=T(),{hasSidebar:o}=W(),{y:s}=yt(),a=le([]),u=L(0);F(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),oe(()=>{a.value=Ee(n.value.outline??e.value.outline)});const d=V(()=>a.value.length===0&&!o.value),c=V(()=>({VPLocalNav:!0,fixed:d.value,"reached-top":s.value>=u.value}));return(f,b)=>i(n).layout!=="home"&&(!d.value||i(s)>=u.value)?(r(),l("div",{key:0,class:A(c.value)},[i(o)?(r(),l("button",{key:0,class:"menu","aria-expanded":f.open,"aria-controls":"VPSidebarNav",onClick:b[0]||(b[0]=$=>f.$emit("open-menu"))},[h(Pa,{class:"menu-icon"}),_("span",Va,N(i(e).sidebarMenuLabel||"Menu"),1)],8,wa)):m("",!0),h(pa,{headers:a.value,navHeight:u.value},null,8,["headers","navHeight"])],2)):m("",!0)}});const La=g(Sa,[["__scopeId","data-v-693d654a"]]);function Ma(){const t=L(!1);function e(){t.value=!0,window.addEventListener("resize",s)}function n(){t.value=!1,window.removeEventListener("resize",s)}function o(){t.value?n():e()}function s(){window.outerWidth>=768&&n()}const a=Pe();return U(()=>a.path,n),{isScreenOpen:t,openScreen:e,closeScreen:n,toggleScreen:o}}const Ta={},Ia={class:"VPSwitch",type:"button",role:"switch"},Na={class:"check"},Ca={key:0,class:"icon"};function Aa(t,e){return r(),l("button",Ia,[_("span",Na,[t.$slots.default?(r(),l("span",Ca,[v(t.$slots,"default",{},void 0,!0)])):m("",!0)])])}const Ba=g(Ta,[["render",Aa],["__scopeId","data-v-92d8f6fb"]]),xa={},Oa={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Ha=jt('',9),Ea=[Ha];function Da(t,e){return r(),l("svg",Oa,Ea)}const za=g(xa,[["render",Da]]),Fa={},ja={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Ga=_("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),Ra=[Ga];function Ua(t,e){return r(),l("svg",ja,Ra)}const Wa=g(Fa,[["render",Ua]]),Ka=y({__name:"VPSwitchAppearance",setup(t){const{site:e,isDark:n}=T(),o=L(!1),s=ke?a():()=>{};F(()=>{o.value=document.documentElement.classList.contains("dark")});function a(){const u=window.matchMedia("(prefers-color-scheme: dark)"),d=document.documentElement.classList;let c=localStorage.getItem(qe),f=e.value.appearance==="dark"&&c==null||(c==="auto"||c==null?u.matches:c==="dark");u.onchange=I=>{c==="auto"&&$(f=I.matches)};function b(){$(f=!f),c=f?u.matches?"auto":"dark":u.matches?"light":"auto",localStorage.setItem(qe,c)}function $(I){const S=document.createElement("style");S.type="text/css",S.appendChild(document.createTextNode(`:not(.VPSwitchAppearance):not(.VPSwitchAppearance *) { - -webkit-transition: none !important; - -moz-transition: none !important; - -o-transition: none !important; - -ms-transition: none !important; - transition: none !important; -}`)),document.head.appendChild(S),o.value=I,d[I?"add":"remove"]("dark"),window.getComputedStyle(S).opacity,document.head.removeChild(S)}return b}return U(o,u=>{n.value=u}),(u,d)=>(r(),P(Ba,{title:"toggle dark mode",class:"VPSwitchAppearance","aria-checked":o.value,onClick:i(s)},{default:p(()=>[h(za,{class:"sun"}),h(Wa,{class:"moon"})]),_:1},8,["aria-checked","onClick"]))}});const je=g(Ka,[["__scopeId","data-v-a99ed743"]]),qa={key:0,class:"VPNavBarAppearance"},Ya=y({__name:"VPNavBarAppearance",setup(t){const{site:e}=T();return(n,o)=>i(e).appearance?(r(),l("div",qa,[h(je)])):m("",!0)}});const Ja=g(Ya,[["__scopeId","data-v-5e9f0637"]]),Ge=L();let kt=!1,Se=0;function Xa(t){const e=L(!1);if(ke){!kt&&Qa(),Se++;const n=U(Ge,o=>{var s,a,u;o===t.el.value||(s=t.el.value)!=null&&s.contains(o)?(e.value=!0,(a=t.onFocus)==null||a.call(t)):(e.value=!1,(u=t.onBlur)==null||u.call(t))});Ae(()=>{n(),Se--,Se||Za()})}return Ce(e)}function Qa(){document.addEventListener("focusin",Pt),kt=!0,Ge.value=document.activeElement}function Za(){document.removeEventListener("focusin",Pt)}function Pt(){Ge.value=document.activeElement}const er={},tr={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},nr=_("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),or=[nr];function sr(t,e){return r(),l("svg",tr,or)}const wt=g(er,[["render",sr]]),ar={},rr={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ir=_("circle",{cx:"12",cy:"12",r:"2"},null,-1),lr=_("circle",{cx:"19",cy:"12",r:"2"},null,-1),cr=_("circle",{cx:"5",cy:"12",r:"2"},null,-1),ur=[ir,lr,cr];function dr(t,e){return r(),l("svg",rr,ur)}const _r=g(ar,[["render",dr]]),vr={class:"VPMenuLink"},pr=y({__name:"VPMenuLink",props:{item:{}},setup(t){const{page:e}=T();return(n,o)=>(r(),l("div",vr,[h(q,{class:A({active:i(ee)(i(e).relativePath,n.item.activeMatch||n.item.link,!!n.item.activeMatch)}),href:n.item.link,target:n.item.target,rel:n.item.rel},{default:p(()=>[H(N(n.item.text),1)]),_:1},8,["class","href","target","rel"])]))}});const we=g(pr,[["__scopeId","data-v-2a4d50e5"]]),fr={class:"VPMenuGroup"},hr={key:0,class:"title"},mr=y({__name:"VPMenuGroup",props:{text:{},items:{}},setup(t){return(e,n)=>(r(),l("div",fr,[e.text?(r(),l("p",hr,N(e.text),1)):m("",!0),(r(!0),l(C,null,O(e.items,o=>(r(),l(C,null,["link"in o?(r(),P(we,{key:0,item:o},null,8,["item"])):m("",!0)],64))),256))]))}});const gr=g(mr,[["__scopeId","data-v-a6b0397c"]]),yr={class:"VPMenu"},br={key:0,class:"items"},$r=y({__name:"VPMenu",props:{items:{}},setup(t){return(e,n)=>(r(),l("div",yr,[e.items?(r(),l("div",br,[(r(!0),l(C,null,O(e.items,o=>(r(),l(C,{key:o.text},["link"in o?(r(),P(we,{key:0,item:o},null,8,["item"])):(r(),P(gr,{key:1,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):m("",!0),v(e.$slots,"default",{},void 0,!0)]))}});const kr=g($r,[["__scopeId","data-v-e42ed9b3"]]),Pr=["aria-expanded","aria-label"],wr={key:0,class:"text"},Vr=["innerHTML"],Sr={class:"menu"},Lr=y({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(t){const e=L(!1),n=L();Xa({el:n,onBlur:o});function o(){e.value=!1}return(s,a)=>(r(),l("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:a[1]||(a[1]=u=>e.value=!0),onMouseleave:a[2]||(a[2]=u=>e.value=!1)},[_("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":s.label,onClick:a[0]||(a[0]=u=>e.value=!e.value)},[s.button||s.icon?(r(),l("span",wr,[s.icon?(r(),P(X(s.icon),{key:0,class:"option-icon"})):m("",!0),s.button?(r(),l("span",{key:1,innerHTML:s.button},null,8,Vr)):m("",!0),h(wt,{class:"text-icon"})])):(r(),P(_r,{key:1,class:"icon"}))],8,Pr),_("div",Sr,[h(kr,{items:s.items},{default:p(()=>[v(s.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}});const Re=g(Lr,[["__scopeId","data-v-6b19ffdd"]]),Mr={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',slack:'Slack',twitter:'Twitter',youtube:'YouTube'},Tr=["href","aria-label","innerHTML"],Ir=y({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(t){const e=t,n=V(()=>typeof e.icon=="object"?e.icon.svg:Mr[e.icon]);return(o,s)=>(r(),l("a",{class:"VPSocialLink no-icon",href:o.link,"aria-label":o.ariaLabel??(typeof o.icon=="string"?o.icon:""),target:"_blank",rel:"noopener",innerHTML:n.value},null,8,Tr))}});const Nr=g(Ir,[["__scopeId","data-v-16cf740a"]]),Cr={class:"VPSocialLinks"},Ar=y({__name:"VPSocialLinks",props:{links:{}},setup(t){return(e,n)=>(r(),l("div",Cr,[(r(!0),l(C,null,O(e.links,({link:o,icon:s,ariaLabel:a})=>(r(),P(Nr,{key:o,icon:s,link:o,ariaLabel:a},null,8,["icon","link","ariaLabel"]))),128))]))}});const Ue=g(Ar,[["__scopeId","data-v-e71e869c"]]),Br={key:0,class:"group translations"},xr={class:"trans-title"},Or={key:1,class:"group"},Hr={class:"item appearance"},Er={class:"label"},Dr={class:"appearance-action"},zr={key:2,class:"group"},Fr={class:"item social-links"},jr=y({__name:"VPNavBarExtra",setup(t){const{site:e,theme:n}=T(),{localeLinks:o,currentLang:s}=ce({correspondingLink:!0}),a=V(()=>o.value.length&&s.value.label||e.value.appearance||n.value.socialLinks);return(u,d)=>a.value?(r(),P(Re,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:p(()=>[i(o).length&&i(s).label?(r(),l("div",Br,[_("p",xr,N(i(s).label),1),(r(!0),l(C,null,O(i(o),c=>(r(),P(we,{key:c.link,item:c},null,8,["item"]))),128))])):m("",!0),i(e).appearance?(r(),l("div",Or,[_("div",Hr,[_("p",Er,N(i(n).darkModeSwitchLabel||"Appearance"),1),_("div",Dr,[h(je)])])])):m("",!0),i(n).socialLinks?(r(),l("div",zr,[_("div",Fr,[h(Ue,{class:"social-links-list",links:i(n).socialLinks},null,8,["links"])])])):m("",!0)]),_:1})):m("",!0)}});const Gr=g(jr,[["__scopeId","data-v-c8c2ae4b"]]),Rr=t=>(j("data-v-6bee1efd"),t=t(),G(),t),Ur=["aria-expanded"],Wr=Rr(()=>_("span",{class:"container"},[_("span",{class:"top"}),_("span",{class:"middle"}),_("span",{class:"bottom"})],-1)),Kr=[Wr],qr=y({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(t){return(e,n)=>(r(),l("button",{type:"button",class:A(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=o=>e.$emit("click"))},Kr,10,Ur))}});const Yr=g(qr,[["__scopeId","data-v-6bee1efd"]]),Jr=["innerHTML"],Xr=y({__name:"VPNavBarMenuLink",props:{item:{}},setup(t){const{page:e}=T();return(n,o)=>(r(),P(q,{class:A({VPNavBarMenuLink:!0,active:i(ee)(i(e).relativePath,n.item.activeMatch||n.item.link,!!n.item.activeMatch)}),href:n.item.link,target:n.item.target,rel:n.item.rel,tabindex:"0"},{default:p(()=>[_("span",{innerHTML:n.item.text},null,8,Jr)]),_:1},8,["class","href","target","rel"]))}});const Qr=g(Xr,[["__scopeId","data-v-e5ab8091"]]),Zr=y({__name:"VPNavBarMenuGroup",props:{item:{}},setup(t){const{page:e}=T();return(n,o)=>(r(),P(Re,{class:A({VPNavBarMenuGroup:!0,active:i(ee)(i(e).relativePath,n.item.activeMatch,!!n.item.activeMatch)}),button:n.item.text,items:n.item.items},null,8,["class","button","items"]))}}),ei=t=>(j("data-v-f732b5d0"),t=t(),G(),t),ti={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},ni=ei(()=>_("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),oi=y({__name:"VPNavBarMenu",setup(t){const{theme:e}=T();return(n,o)=>i(e).nav?(r(),l("nav",ti,[ni,(r(!0),l(C,null,O(i(e).nav,s=>(r(),l(C,{key:s.text},["link"in s?(r(),P(Qr,{key:0,item:s},null,8,["item"])):(r(),P(Zr,{key:1,item:s},null,8,["item"]))],64))),128))])):m("",!0)}});const si=g(oi,[["__scopeId","data-v-f732b5d0"]]);const ai={type:"button",class:"DocSearch DocSearch-Button","aria-label":"Search"},ri={class:"DocSearch-Button-Container"},ii=_("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20","aria-label":"search icon"},[_("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),li={class:"DocSearch-Button-Placeholder"},ci=_("span",{class:"DocSearch-Button-Keys"},[_("kbd",{class:"DocSearch-Button-Key"}),_("kbd",{class:"DocSearch-Button-Key"},"K")],-1),at=y({__name:"VPNavBarSearchButton",props:{placeholder:{}},setup(t){return(e,n)=>(r(),l("button",ai,[_("span",ri,[ii,_("span",li,N(e.placeholder),1)]),ci]))}});const ui={id:"local-search"},di={key:1,id:"docsearch"},_i=y({__name:"VPNavBarSearch",setup(t){const e=Gt(()=>Rt(()=>import("./VPLocalSearchBox.61c02a9f.js"),["assets/chunks/VPLocalSearchBox.61c02a9f.js","assets/chunks/framework.8df7efef.js"])),n=()=>null,{theme:o,localeIndex:s}=T(),a=L(!1),u=L(!1),d=V(()=>{var M,w,x,z,D,ue,de;const k=((M=o.value.search)==null?void 0:M.options)??o.value.algolia;return((D=(z=(x=(w=k==null?void 0:k.locales)==null?void 0:w[s.value])==null?void 0:x.translations)==null?void 0:z.button)==null?void 0:D.buttonText)||((de=(ue=k==null?void 0:k.translations)==null?void 0:ue.button)==null?void 0:de.buttonText)||"Search"});F(()=>{});function c(){a.value||(a.value=!0,setTimeout(f,16))}function f(){const k=new Event("keydown");k.key="k",k.metaKey=!0,window.dispatchEvent(k),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||f()},16)}function b(k){const M=k.target,w=M.tagName;return M.isContentEditable||w==="INPUT"||w==="SELECT"||w==="TEXTAREA"}const $=L(!1);Ze("k",k=>{(k.ctrlKey||k.metaKey)&&(k.preventDefault(),$.value=!0)}),Ze("/",k=>{b(k)||(k.preventDefault(),$.value=!0)});const I=L("'Meta'");F(()=>{I.value=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"'⌘'":"'Ctrl'"});const S="local";return(k,M)=>{var w;return r(),l("div",{class:"VPNavBarSearch",style:ct({"--vp-meta-key":I.value})},[i(S)==="local"?(r(),l(C,{key:0},[$.value?(r(),P(i(e),{key:0,placeholder:d.value,onClose:M[0]||(M[0]=x=>$.value=!1)},null,8,["placeholder"])):m("",!0),_("div",ui,[h(at,{placeholder:d.value,onClick:M[1]||(M[1]=x=>$.value=!0)},null,8,["placeholder"])])],64)):i(S)==="algolia"?(r(),l(C,{key:1},[a.value?(r(),P(i(n),{key:0,algolia:((w=i(o).search)==null?void 0:w.options)??i(o).algolia,onVnodeBeforeMount:M[2]||(M[2]=x=>u.value=!0)},null,8,["algolia"])):m("",!0),u.value?m("",!0):(r(),l("div",di,[h(at,{placeholder:d.value,onClick:c},null,8,["placeholder"])]))],64)):m("",!0)],4)}}});const vi=y({__name:"VPNavBarSocialLinks",setup(t){const{theme:e}=T();return(n,o)=>i(e).socialLinks?(r(),P(Ue,{key:0,class:"VPNavBarSocialLinks",links:i(e).socialLinks},null,8,["links"])):m("",!0)}});const pi=g(vi,[["__scopeId","data-v-ef6192dc"]]),fi=["href"],hi=y({__name:"VPNavBarTitle",setup(t){const{site:e,theme:n}=T(),{hasSidebar:o}=W(),{currentLang:s}=ce();return(a,u)=>(r(),l("div",{class:A(["VPNavBarTitle",{"has-sidebar":i(o)}])},[_("a",{class:"title",href:i(n).logoLink??i(se)(i(s).link)},[v(a.$slots,"nav-bar-title-before",{},void 0,!0),i(n).logo?(r(),P(Fe,{key:0,class:"logo",image:i(n).logo},null,8,["image"])):m("",!0),i(n).siteTitle?(r(),l(C,{key:1},[H(N(i(n).siteTitle),1)],64)):i(n).siteTitle===void 0?(r(),l(C,{key:2},[H(N(i(e).title),1)],64)):m("",!0),v(a.$slots,"nav-bar-title-after",{},void 0,!0)],8,fi)],2))}});const mi=g(hi,[["__scopeId","data-v-2973dbb4"]]),gi={},yi={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},bi=_("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),$i=_("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),ki=[bi,$i];function Pi(t,e){return r(),l("svg",yi,ki)}const Vt=g(gi,[["render",Pi]]),wi={class:"items"},Vi={class:"title"},Si=y({__name:"VPNavBarTranslations",setup(t){const{theme:e}=T(),{localeLinks:n,currentLang:o}=ce({correspondingLink:!0});return(s,a)=>i(n).length&&i(o).label?(r(),P(Re,{key:0,class:"VPNavBarTranslations",icon:Vt,label:i(e).langMenuLabel||"Change language"},{default:p(()=>[_("div",wi,[_("p",Vi,N(i(o).label),1),(r(!0),l(C,null,O(i(n),u=>(r(),P(we,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):m("",!0)}});const Li=g(Si,[["__scopeId","data-v-ff4524ae"]]),Mi=t=>(j("data-v-c8ceaf10"),t=t(),G(),t),Ti={class:"container"},Ii={class:"title"},Ni={class:"content"},Ci=Mi(()=>_("div",{class:"curtain"},null,-1)),Ai={class:"content-body"},Bi=y({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(t){const{y:e}=yt(),{hasSidebar:n}=W(),{frontmatter:o}=T(),s=L({});return Be(()=>{var a;s.value={"has-sidebar":n.value,top:((a=o.value)==null?void 0:a.layout)==="home"&&e.value===0}}),(a,u)=>(r(),l("div",{class:A(["VPNavBar",s.value])},[_("div",Ti,[_("div",Ii,[h(mi,null,{"nav-bar-title-before":p(()=>[v(a.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[v(a.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),_("div",Ni,[Ci,_("div",Ai,[v(a.$slots,"nav-bar-content-before",{},void 0,!0),h(_i,{class:"search"}),h(si,{class:"menu"}),h(Li,{class:"translations"}),h(Ja,{class:"appearance"}),h(pi,{class:"social-links"}),h(Gr,{class:"extra"}),v(a.$slots,"nav-bar-content-after",{},void 0,!0),h(Yr,{class:"hamburger",active:a.isScreenOpen,onClick:u[0]||(u[0]=d=>a.$emit("toggle-screen"))},null,8,["active"])])])])],2))}});const xi=g(Bi,[["__scopeId","data-v-c8ceaf10"]]);function Oi(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e1),Z=[],be=!1,Ke=-1,te=void 0,J=void 0,ne=void 0,St=function(e){return Z.some(function(n){return!!(n.options.allowTouchMove&&n.options.allowTouchMove(e))})},$e=function(e){var n=e||window.event;return St(n.target)||n.touches.length>1?!0:(n.preventDefault&&n.preventDefault(),!1)},Hi=function(e){if(ne===void 0){var n=!!e&&e.reserveScrollBarGap===!0,o=window.innerWidth-document.documentElement.clientWidth;if(n&&o>0){var s=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);ne=document.body.style.paddingRight,document.body.style.paddingRight=s+o+"px"}}te===void 0&&(te=document.body.style.overflow,document.body.style.overflow="hidden")},Ei=function(){ne!==void 0&&(document.body.style.paddingRight=ne,ne=void 0),te!==void 0&&(document.body.style.overflow=te,te=void 0)},Di=function(){return window.requestAnimationFrame(function(){if(J===void 0){J={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var e=window,n=e.scrollY,o=e.scrollX,s=e.innerHeight;document.body.style.position="fixed",document.body.style.top=-n,document.body.style.left=-o,setTimeout(function(){return window.requestAnimationFrame(function(){var a=s-window.innerHeight;a&&n>=s&&(document.body.style.top=-(n+a))})},300)}})},zi=function(){if(J!==void 0){var e=-parseInt(document.body.style.top,10),n=-parseInt(document.body.style.left,10);document.body.style.position=J.position,document.body.style.top=J.top,document.body.style.left=J.left,window.scrollTo(n,e),J=void 0}},Fi=function(e){return e?e.scrollHeight-e.scrollTop<=e.clientHeight:!1},ji=function(e,n){var o=e.targetTouches[0].clientY-Ke;return St(e.target)?!1:n&&n.scrollTop===0&&o>0||Fi(n)&&o<0?$e(e):(e.stopPropagation(),!0)},Lt=function(e,n){if(!e){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!Z.some(function(s){return s.targetElement===e})){var o={targetElement:e,options:n||{}};Z=[].concat(Oi(Z),[o]),ye?Di():Hi(n),ye&&(e.ontouchstart=function(s){s.targetTouches.length===1&&(Ke=s.targetTouches[0].clientY)},e.ontouchmove=function(s){s.targetTouches.length===1&&ji(s,e)},be||(document.addEventListener("touchmove",$e,We?{passive:!1}:void 0),be=!0))}},Mt=function(){ye&&(Z.forEach(function(e){e.targetElement.ontouchstart=null,e.targetElement.ontouchmove=null}),be&&(document.removeEventListener("touchmove",$e,We?{passive:!1}:void 0),be=!1),Ke=-1),ye?zi():Ei(),Z=[]};const Gi=y({__name:"VPNavScreenMenuLink",props:{item:{}},setup(t){const e=xe("close-screen");return(n,o)=>(r(),P(q,{class:"VPNavScreenMenuLink",href:n.item.link,target:n.item.target,rel:n.item.rel,onClick:i(e)},{default:p(()=>[H(N(n.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}});const Ri=g(Gi,[["__scopeId","data-v-08b49756"]]),Ui={},Wi={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Ki=_("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),qi=[Ki];function Yi(t,e){return r(),l("svg",Wi,qi)}const Ji=g(Ui,[["render",Yi]]),Xi=y({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(t){const e=xe("close-screen");return(n,o)=>(r(),P(q,{class:"VPNavScreenMenuGroupLink",href:n.item.link,target:n.item.target,rel:n.item.rel,onClick:i(e)},{default:p(()=>[H(N(n.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}});const Tt=g(Xi,[["__scopeId","data-v-97083fb3"]]),Qi={class:"VPNavScreenMenuGroupSection"},Zi={key:0,class:"title"},el=y({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(t){return(e,n)=>(r(),l("div",Qi,[e.text?(r(),l("p",Zi,N(e.text),1)):m("",!0),(r(!0),l(C,null,O(e.items,o=>(r(),P(Tt,{key:o.text,item:o},null,8,["item"]))),128))]))}});const tl=g(el,[["__scopeId","data-v-f60dbfa7"]]),nl=["aria-controls","aria-expanded"],ol={class:"button-text"},sl=["id"],al={key:1,class:"group"},rl=y({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(t){const e=t,n=L(!1),o=V(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function s(){n.value=!n.value}return(a,u)=>(r(),l("div",{class:A(["VPNavScreenMenuGroup",{open:n.value}])},[_("button",{class:"button","aria-controls":o.value,"aria-expanded":n.value,onClick:s},[_("span",ol,N(a.text),1),h(Ji,{class:"button-icon"})],8,nl),_("div",{id:o.value,class:"items"},[(r(!0),l(C,null,O(a.items,d=>(r(),l(C,{key:d.text},["link"in d?(r(),l("div",{key:d.text,class:"item"},[h(Tt,{item:d},null,8,["item"])])):(r(),l("div",al,[h(tl,{text:d.text,items:d.items},null,8,["text","items"])]))],64))),128))],8,sl)],2))}});const il=g(rl,[["__scopeId","data-v-10e00a88"]]),ll={key:0,class:"VPNavScreenMenu"},cl=y({__name:"VPNavScreenMenu",setup(t){const{theme:e}=T();return(n,o)=>i(e).nav?(r(),l("nav",ll,[(r(!0),l(C,null,O(i(e).nav,s=>(r(),l(C,{key:s.text},["link"in s?(r(),P(Ri,{key:0,item:s},null,8,["item"])):(r(),P(il,{key:1,text:s.text||"",items:s.items},null,8,["text","items"]))],64))),128))])):m("",!0)}}),ul={key:0,class:"VPNavScreenAppearance"},dl={class:"text"},_l=y({__name:"VPNavScreenAppearance",setup(t){const{site:e,theme:n}=T();return(o,s)=>i(e).appearance?(r(),l("div",ul,[_("p",dl,N(i(n).darkModeSwitchLabel||"Appearance"),1),h(je)])):m("",!0)}});const vl=g(_l,[["__scopeId","data-v-0dc5cf49"]]),pl={class:"list"},fl=y({__name:"VPNavScreenTranslations",setup(t){const{localeLinks:e,currentLang:n}=ce({correspondingLink:!0}),o=L(!1);function s(){o.value=!o.value}return(a,u)=>i(e).length&&i(n).label?(r(),l("div",{key:0,class:A(["VPNavScreenTranslations",{open:o.value}])},[_("button",{class:"title",onClick:s},[h(Vt,{class:"icon lang"}),H(" "+N(i(n).label)+" ",1),h(wt,{class:"icon chevron"})]),_("ul",pl,[(r(!0),l(C,null,O(i(e),d=>(r(),l("li",{key:d.link,class:"item"},[h(q,{class:"link",href:d.link},{default:p(()=>[H(N(d.text),1)]),_:2},1032,["href"])]))),128))])],2)):m("",!0)}});const hl=g(fl,[["__scopeId","data-v-41505286"]]),ml=y({__name:"VPNavScreenSocialLinks",setup(t){const{theme:e}=T();return(n,o)=>i(e).socialLinks?(r(),P(Ue,{key:0,class:"VPNavScreenSocialLinks",links:i(e).socialLinks},null,8,["links"])):m("",!0)}}),gl={class:"container"},yl=y({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(t){const e=L(null);function n(){Lt(e.value,{reserveScrollBarGap:!0})}function o(){Mt()}return(s,a)=>(r(),P(Ie,{name:"fade",onEnter:n,onAfterLeave:o},{default:p(()=>[s.open?(r(),l("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[_("div",gl,[v(s.$slots,"nav-screen-content-before",{},void 0,!0),h(cl,{class:"menu"}),h(hl,{class:"translations"}),h(vl,{class:"appearance"}),h(ml,{class:"social-links"}),v(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):m("",!0)]),_:3}))}});const bl=g(yl,[["__scopeId","data-v-dc785598"]]),$l={class:"VPNav"},kl=y({__name:"VPNav",setup(t){const{isScreenOpen:e,closeScreen:n,toggleScreen:o}=Ma();return fe("close-screen",n),(s,a)=>(r(),l("header",$l,[h(xi,{"is-screen-open":i(e),onToggleScreen:i(o)},{"nav-bar-title-before":p(()=>[v(s.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[v(s.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[v(s.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[v(s.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),h(bl,{open:i(e)},{"nav-screen-content-before":p(()=>[v(s.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[v(s.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])]))}});const Pl=g(kl,[["__scopeId","data-v-5bdc5df3"]]),wl=t=>(j("data-v-c356ab37"),t=t(),G(),t),Vl=["role","tabindex"],Sl=wl(()=>_("div",{class:"indicator"},null,-1)),Ll=["onKeydown"],Ml={key:1,class:"items"},Tl=y({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(t){const e=t,{collapsed:n,collapsible:o,isLink:s,isActiveLink:a,hasActiveLink:u,hasChildren:d,toggle:c}=Jn(V(()=>e.item)),f=V(()=>d.value?"section":"div"),b=V(()=>s.value?"a":"div"),$=V(()=>d.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),I=V(()=>s.value?void 0:"button"),S=V(()=>[[`level-${e.depth}`],{collapsible:o.value},{collapsed:n.value},{"is-link":s.value},{"is-active":a.value},{"has-active":u.value}]);function k(w){"key"in w&&w.key!=="Enter"||!e.item.link&&c()}function M(){e.item.link&&c()}return(w,x)=>{const z=Q("VPSidebarItem",!0);return r(),P(X(f.value),{class:A(["VPSidebarItem",S.value])},{default:p(()=>[w.item.text?(r(),l("div",pe({key:0,class:"item",role:I.value},Ut(w.item.items?{click:k,keydown:k}:{},!0),{tabindex:w.item.items&&0}),[Sl,w.item.link?(r(),P(q,{key:0,tag:b.value,class:"link",href:w.item.link},{default:p(()=>[(r(),P(X($.value),{class:"text",innerHTML:w.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href"])):(r(),P(X($.value),{key:1,class:"text",innerHTML:w.item.text},null,8,["innerHTML"])),w.item.collapsed!=null?(r(),l("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:M,onKeydown:Wt(M,["enter"]),tabindex:"0"},[h(ze,{class:"caret-icon"})],40,Ll)):m("",!0)],16,Vl)):m("",!0),w.item.items&&w.item.items.length?(r(),l("div",Ml,[w.depth<5?(r(!0),l(C,{key:0},O(w.item.items,D=>(r(),P(z,{key:D.text,item:D,depth:w.depth+1},null,8,["item","depth"]))),128)):m("",!0)])):m("",!0)]),_:1},8,["class"])}}});const Il=g(Tl,[["__scopeId","data-v-c356ab37"]]),It=t=>(j("data-v-b04a928c"),t=t(),G(),t),Nl=It(()=>_("div",{class:"curtain"},null,-1)),Cl={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Al=It(()=>_("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Bl=y({__name:"VPSidebar",props:{open:{type:Boolean}},setup(t){const e=t,{sidebarGroups:n,hasSidebar:o}=W();let s=L(null);function a(){Lt(s.value,{reserveScrollBarGap:!0})}function u(){Mt()}return Be(async()=>{var d;e.open?(a(),(d=s.value)==null||d.focus()):u()}),(d,c)=>i(o)?(r(),l("aside",{key:0,class:A(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:s,onClick:c[0]||(c[0]=Kt(()=>{},["stop"]))},[Nl,_("nav",Cl,[Al,v(d.$slots,"sidebar-nav-before",{},void 0,!0),(r(!0),l(C,null,O(i(n),f=>(r(),l("div",{key:f.text,class:"group"},[h(Il,{item:f,depth:0},null,8,["item"])]))),128)),v(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):m("",!0)}});const xl=g(Bl,[["__scopeId","data-v-b04a928c"]]),Ol=y({__name:"VPSkipLink",setup(t){const e=Pe(),n=L();U(()=>e.path,()=>n.value.focus());function o({target:s}){const a=document.getElementById(decodeURIComponent(s.hash).slice(1));if(a){const u=()=>{a.removeAttribute("tabindex"),a.removeEventListener("blur",u)};a.setAttribute("tabindex","-1"),a.addEventListener("blur",u),a.focus(),window.scrollTo(0,0)}}return(s,a)=>(r(),l(C,null,[_("span",{ref_key:"backToTop",ref:n,tabindex:"-1"},null,512),_("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o}," Skip to content ")],64))}});const Hl=g(Ol,[["__scopeId","data-v-9c8615dd"]]),El=y({__name:"Layout",setup(t){const{isOpen:e,open:n,close:o}=W(),s=Pe();U(()=>s.path,o),Yn(e,o),fe("close-sidebar",o),fe("is-sidebar-open",e);const{frontmatter:a}=T(),u=qt(),d=V(()=>!!u["home-hero-image"]);return fe("hero-image-slot-exists",d),(c,f)=>{const b=Q("Content");return i(a).layout!==!1?(r(),l("div",{key:0,class:A(["Layout",i(a).pageClass])},[v(c.$slots,"layout-top",{},void 0,!0),h(Hl),h(Zt,{class:"backdrop",show:i(e),onClick:i(o)},null,8,["show","onClick"]),i(a).navbar!==!1?(r(),P(Pl,{key:0},{"nav-bar-title-before":p(()=>[v(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[v(c.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[v(c.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[v(c.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":p(()=>[v(c.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[v(c.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3})):m("",!0),h(La,{open:i(e),onOpenMenu:i(n)},null,8,["open","onOpenMenu"]),h(xl,{open:i(e)},{"sidebar-nav-before":p(()=>[v(c.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":p(()=>[v(c.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),h(aa,null,{"page-top":p(()=>[v(c.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[v(c.$slots,"page-bottom",{},void 0,!0)]),"not-found":p(()=>[v(c.$slots,"not-found",{},void 0,!0)]),"home-hero-before":p(()=>[v(c.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":p(()=>[v(c.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[v(c.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[v(c.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[v(c.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[v(c.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":p(()=>[v(c.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[v(c.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[v(c.$slots,"doc-after",{},void 0,!0)]),"doc-top":p(()=>[v(c.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[v(c.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":p(()=>[v(c.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[v(c.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[v(c.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[v(c.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[v(c.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[v(c.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),h(ua),v(c.$slots,"layout-bottom",{},void 0,!0)],2)):(r(),P(b,{key:1}))}}});const Dl=g(El,[["__scopeId","data-v-324e8308"]]);const Wl={Layout:Dl,enhanceApp:({app:t})=>{t.component("Badge",Jt)}};function Kl(t,e){const{localeIndex:n}=T();function o(s){var S,k;const a=s.split("."),u=t&&typeof t=="object",d=u&&((k=(S=t.locales)==null?void 0:S[n.value])==null?void 0:k.translations)||null,c=u&&t.translations||null;let f=d,b=c,$=e;const I=a.pop();for(const M of a){let w=null;const x=$==null?void 0:$[M];x&&(w=$=x);const z=b==null?void 0:b[M];z&&(w=b=z);const D=f==null?void 0:f[M];D&&(w=f=D),x||($=w),z||(b=w),D||(f=w)}return(f==null?void 0:f[I])??(b==null?void 0:b[I])??($==null?void 0:$[I])??""}return o}export{Oe as a,T as b,jl as c,Ul as d,Gl as e,Kl as f,re as g,Rl as h,Ze as o,Wl as t,Bn as u,Fl as w}; diff --git a/pr-333/assets/chunks/timeline-definition-491ea63c.466d23d2.js b/pr-333/assets/chunks/timeline-definition-491ea63c.466d23d2.js deleted file mode 100644 index 35372ef6c..000000000 --- a/pr-333/assets/chunks/timeline-definition-491ea63c.466d23d2.js +++ /dev/null @@ -1,61 +0,0 @@ -import{aK as bt,aL as vt,z as kt,c as wt,l as I,h as q,t as St,aM as Et,aN as Tt,aO as It}from"../app.1f62ceb3.js";import{a as nt}from"./arc.81630743.js";import"./framework.8df7efef.js";import"./theme.c87e84a0.js";import"./path.53f90ab3.js";var Y=function(){var n=function(x,r,c,h){for(c=c||{},h=x.length;h--;c[x[h]]=r);return c},t=[1,2],e=[1,5],s=[6,9,11,17,18,20,22,23,26,27,28],i=[1,15],o=[1,16],a=[1,17],p=[1,18],y=[1,19],g=[1,23],b=[1,24],m=[1,27],v=[4,6,9,11,17,18,20,22,23,26,27,28],E={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,title:17,acc_title:18,acc_title_value:19,acc_descr:20,acc_descr_value:21,acc_descr_multiline_value:22,section:23,period_statement:24,event_statement:25,period:26,event:27,open_directive:28,type_directive:29,arg_directive:30,close_directive:31,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"acc_title",19:"acc_title_value",20:"acc_descr",21:"acc_descr_value",22:"acc_descr_multiline_value",23:"section",26:"period",27:"event",28:"open_directive",29:"type_directive",30:"arg_directive",31:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,2],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[24,1],[25,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(r,c,h,d,u,l,M){var f=l.length-1;switch(u){case 1:return l[f-1];case 3:this.$=[];break;case 4:l[f-1].push(l[f]),this.$=l[f-1];break;case 5:case 6:this.$=l[f];break;case 7:case 8:this.$=[];break;case 11:d.getCommonDb().setDiagramTitle(l[f].substr(6)),this.$=l[f].substr(6);break;case 12:this.$=l[f].trim(),d.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=l[f].trim(),d.getCommonDb().setAccDescription(this.$);break;case 15:d.addSection(l[f].substr(8)),this.$=l[f].substr(8);break;case 19:d.addTask(l[f],0,""),this.$=l[f];break;case 20:d.addEvent(l[f].substr(2)),this.$=l[f];break;case 21:d.parseDirective("%%{","open_directive");break;case 22:d.parseDirective(l[f],"type_directive");break;case 23:l[f]=l[f].trim().replace(/'/g,'"'),d.parseDirective(l[f],"arg_directive");break;case 24:d.parseDirective("}%%","close_directive","timeline");break}},table:[{3:1,4:t,7:3,12:4,28:e},{1:[3]},n(s,[2,3],{5:6}),{3:7,4:t,7:3,12:4,28:e},{13:8,29:[1,9]},{29:[2,21]},{6:[1,10],7:22,8:11,9:[1,12],10:13,11:[1,14],12:4,17:i,18:o,20:a,22:p,23:y,24:20,25:21,26:g,27:b,28:e},{1:[2,2]},{14:25,15:[1,26],31:m},n([15,31],[2,22]),n(s,[2,8],{1:[2,1]}),n(s,[2,4]),{7:22,10:28,12:4,17:i,18:o,20:a,22:p,23:y,24:20,25:21,26:g,27:b,28:e},n(s,[2,6]),n(s,[2,7]),n(s,[2,11]),{19:[1,29]},{21:[1,30]},n(s,[2,14]),n(s,[2,15]),n(s,[2,16]),n(s,[2,17]),n(s,[2,18]),n(s,[2,19]),n(s,[2,20]),{11:[1,31]},{16:32,30:[1,33]},{11:[2,24]},n(s,[2,5]),n(s,[2,12]),n(s,[2,13]),n(v,[2,9]),{14:34,31:m},{31:[2,23]},{11:[1,35]},n(v,[2,10])],defaultActions:{5:[2,21],7:[2,2],27:[2,24],33:[2,23]},parseError:function(r,c){if(c.recoverable)this.trace(r);else{var h=new Error(r);throw h.hash=c,h}},parse:function(r){var c=this,h=[0],d=[],u=[null],l=[],M=this.table,f="",C=0,K=0,z=2,w=1,L=l.slice.call(arguments,1),_=Object.create(this.lexer),$={yy:{}};for(var A in this.yy)Object.prototype.hasOwnProperty.call(this.yy,A)&&($.yy[A]=this.yy[A]);_.setInput(r,$.yy),$.yy.lexer=_,$.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var O=_.yylloc;l.push(O);var J=_.options&&_.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _t(){var H;return H=d.pop()||_.lex()||w,typeof H!="number"&&(H instanceof Array&&(d=H,H=d.pop()),H=c.symbols_[H]||H),H}for(var T,V,N,Q,F={},j,P,et,G;;){if(V=h[h.length-1],this.defaultActions[V]?N=this.defaultActions[V]:((T===null||typeof T>"u")&&(T=_t()),N=M[V]&&M[V][T]),typeof N>"u"||!N.length||!N[0]){var X="";G=[];for(j in M[V])this.terminals_[j]&&j>z&&G.push("'"+this.terminals_[j]+"'");_.showPosition?X="Parse error on line "+(C+1)+`: -`+_.showPosition()+` -Expecting `+G.join(", ")+", got '"+(this.terminals_[T]||T)+"'":X="Parse error on line "+(C+1)+": Unexpected "+(T==w?"end of input":"'"+(this.terminals_[T]||T)+"'"),this.parseError(X,{text:_.match,token:this.terminals_[T]||T,line:_.yylineno,loc:O,expected:G})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+V+", token: "+T);switch(N[0]){case 1:h.push(T),u.push(_.yytext),l.push(_.yylloc),h.push(N[1]),T=null,K=_.yyleng,f=_.yytext,C=_.yylineno,O=_.yylloc;break;case 2:if(P=this.productions_[N[1]][1],F.$=u[u.length-P],F._$={first_line:l[l.length-(P||1)].first_line,last_line:l[l.length-1].last_line,first_column:l[l.length-(P||1)].first_column,last_column:l[l.length-1].last_column},J&&(F._$.range=[l[l.length-(P||1)].range[0],l[l.length-1].range[1]]),Q=this.performAction.apply(F,[f,K,C,$.yy,N[1],u,l].concat(L)),typeof Q<"u")return Q;P&&(h=h.slice(0,-1*P*2),u=u.slice(0,-1*P),l=l.slice(0,-1*P)),h.push(this.productions_[N[1]][0]),u.push(F.$),l.push(F._$),et=M[h[h.length-2]][h[h.length-1]],h.push(et);break;case 3:return!0}}return!0}},S=function(){var x={EOF:1,parseError:function(c,h){if(this.yy.parser)this.yy.parser.parseError(c,h);else throw new Error(c)},setInput:function(r,c){return this.yy=c||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var c=r.match(/(?:\r\n?|\n).*/g);return c?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var c=r.length,h=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-c),this.offset-=c;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===d.length?this.yylloc.first_column:0)+d[d.length-h.length].length-h[0].length:this.yylloc.first_column-c},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-c]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),c=new Array(r.length+1).join("-");return r+this.upcomingInput()+` -`+c+"^"},test_match:function(r,c){var h,d,u;if(this.options.backtrack_lexer&&(u={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(u.yylloc.range=this.yylloc.range.slice(0))),d=r[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],h=this.performAction.call(this,this.yy,this,c,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),h)return h;if(this._backtrack){for(var l in u)this[l]=u[l];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,c,h,d;this._more||(this.yytext="",this.match="");for(var u=this._currentRules(),l=0;lc[0].length)){if(c=h,d=l,this.options.backtrack_lexer){if(r=this.test_match(h,u[l]),r!==!1)return r;if(this._backtrack){c=!1;continue}else return!1}else if(!this.options.flex)break}return c?(r=this.test_match(c,u[d]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var c=this.next();return c||this.lex()},begin:function(c){this.conditionStack.push(c)},popState:function(){var c=this.conditionStack.length-1;return c>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(c){return c=this.conditionStack.length-1-Math.abs(c||0),c>=0?this.conditionStack[c]:"INITIAL"},pushState:function(c){this.begin(c)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(c,h,d,u){switch(d){case 0:return this.begin("open_directive"),28;case 1:return this.begin("type_directive"),29;case 2:return this.popState(),this.begin("arg_directive"),15;case 3:return this.popState(),this.popState(),31;case 4:return 30;case 5:break;case 6:break;case 7:return 11;case 8:break;case 9:break;case 10:return 4;case 11:return 17;case 12:return this.begin("acc_title"),18;case 13:return this.popState(),"acc_title_value";case 14:return this.begin("acc_descr"),20;case 15:return this.popState(),"acc_descr_value";case 16:this.begin("acc_descr_multiline");break;case 17:this.popState();break;case 18:return"acc_descr_multiline_value";case 19:return 23;case 20:return 27;case 21:return 26;case 22:return 6;case 23:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/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,/^(?:section\s[^#:\n;]+)/i,/^(?::\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},acc_descr_multiline:{rules:[17,18],inclusive:!1},acc_descr:{rules:[15],inclusive:!1},acc_title:{rules:[13],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,14,16,19,20,21,22,23],inclusive:!0}}};return x}();E.lexer=S;function k(){this.yy={}}return k.prototype=E,E.Parser=k,new k}();Y.parser=Y;const $t=Y;let W="",at=0;const D=[],U=[],B=[],ct=()=>bt,lt=(n,t,e)=>{vt(globalThis,n,t,e)},ot=function(){D.length=0,U.length=0,W="",B.length=0,kt()},ht=function(n){W=n,D.push(n)},dt=function(){return D},ut=function(){let n=it();const t=100;let e=0;for(;!n&&ee.id===at-1).events.push(n)},gt=function(n){const t={section:W,type:W,description:n,task:n,classes:[]};U.push(t)},it=function(){const n=function(e){return B[e].processed};let t=!0;for(const[e,s]of B.entries())n(e),t=t&&s.processed;return t},Nt={clear:ot,getCommonDb:ct,addSection:ht,getSections:dt,getTasks:ut,addTask:pt,addTaskOrg:gt,addEvent:yt,parseDirective:lt},Mt=Object.freeze(Object.defineProperty({__proto__:null,addEvent:yt,addSection:ht,addTask:pt,addTaskOrg:gt,clear:ot,default:Nt,getCommonDb:ct,getSections:dt,getTasks:ut,parseDirective:lt},Symbol.toStringTag,{value:"Module"})),Lt=12,Z=function(n,t){const e=n.append("rect");return e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),e.attr("rx",t.rx),e.attr("ry",t.ry),t.class!==void 0&&e.attr("class",t.class),e},At=function(n,t){const s=n.append("circle").attr("cx",t.cx).attr("cy",t.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=n.append("g");i.append("circle").attr("cx",t.cx-15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",t.cx+15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function o(y){const g=nt().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);y.append("path").attr("class","mouth").attr("d",g).attr("transform","translate("+t.cx+","+(t.cy+2)+")")}function a(y){const g=nt().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);y.append("path").attr("class","mouth").attr("d",g).attr("transform","translate("+t.cx+","+(t.cy+7)+")")}function p(y){y.append("line").attr("class","mouth").attr("stroke",2).attr("x1",t.cx-5).attr("y1",t.cy+7).attr("x2",t.cx+5).attr("y2",t.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return t.score>3?o(i):t.score<3?a(i):p(i),s},Pt=function(n,t){const e=n.append("circle");return e.attr("cx",t.cx),e.attr("cy",t.cy),e.attr("class","actor-"+t.pos),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("r",t.r),e.class!==void 0&&e.attr("class",e.class),t.title!==void 0&&e.append("title").text(t.title),e},ft=function(n,t){const e=t.text.replace(//gi," "),s=n.append("text");s.attr("x",t.x),s.attr("y",t.y),s.attr("class","legend"),s.style("text-anchor",t.anchor),t.class!==void 0&&s.attr("class",t.class);const i=s.append("tspan");return i.attr("x",t.x+t.textMargin*2),i.text(e),s},Ht=function(n,t){function e(i,o,a,p,y){return i+","+o+" "+(i+a)+","+o+" "+(i+a)+","+(o+p-y)+" "+(i+a-y*1.2)+","+(o+p)+" "+i+","+(o+p)}const s=n.append("polygon");s.attr("points",e(t.x,t.y,50,20,7)),s.attr("class","labelBox"),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,ft(n,t)},Ct=function(n,t,e){const s=n.append("g"),i=tt();i.x=t.x,i.y=t.y,i.fill=t.fill,i.width=e.width,i.height=e.height,i.class="journey-section section-type-"+t.num,i.rx=3,i.ry=3,Z(s,i),mt(e)(t.text,s,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+t.num},e,t.colour)};let st=-1;const zt=function(n,t,e){const s=t.x+e.width/2,i=n.append("g");st++;const o=300+5*30;i.append("line").attr("id","task"+st).attr("x1",s).attr("y1",t.y).attr("x2",s).attr("y2",o).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),At(i,{cx:s,cy:300+(5-t.score)*30,score:t.score});const a=tt();a.x=t.x,a.y=t.y,a.fill=t.fill,a.width=e.width,a.height=e.height,a.class="task task-type-"+t.num,a.rx=3,a.ry=3,Z(i,a),t.x+14,mt(e)(t.task,i,a.x,a.y,a.width,a.height,{class:"task"},e,t.colour)},Vt=function(n,t){Z(n,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,class:"rect"}).lower()},Rt=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},tt=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},mt=function(){function n(i,o,a,p,y,g,b,m){const v=o.append("text").attr("x",a+y/2).attr("y",p+g/2+5).style("font-color",m).style("text-anchor","middle").text(i);s(v,b)}function t(i,o,a,p,y,g,b,m,v){const{taskFontSize:E,taskFontFamily:S}=m,k=i.split(//gi);for(let x=0;x)/).reverse(),i,o=[],a=1.1,p=e.attr("y"),y=parseFloat(e.attr("dy")),g=e.text(null).append("tspan").attr("x",0).attr("y",p).attr("dy",y+"em");for(let b=0;bt||i==="
")&&(o.pop(),g.text(o.join(" ").trim()),i==="
"?o=[""]:o=[i],g=e.append("tspan").attr("x",0).attr("y",p).attr("dy",a+"em").text(i))})}const Wt=function(n,t,e,s){const i=e%Lt-1,o=n.append("g");t.section=i,o.attr("class",(t.class?t.class+" ":"")+"timeline-node "+("section-"+i));const a=o.append("g"),p=o.append("g"),g=p.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(xt,t.width).node().getBBox(),b=s.fontSize&&s.fontSize.replace?s.fontSize.replace("px",""):s.fontSize;return t.height=g.height+b*1.1*.5+t.padding,t.height=Math.max(t.height,t.maxHeight),t.width=t.width+2*t.padding,p.attr("transform","translate("+t.width/2+", "+t.padding/2+")"),Ot(a,t,i),t},Bt=function(n,t,e){const s=n.append("g"),o=s.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(xt,t.width).node().getBBox(),a=e.fontSize&&e.fontSize.replace?e.fontSize.replace("px",""):e.fontSize;return s.remove(),o.height+a*1.1*.5+t.padding},Ot=function(n,t,e){n.append("path").attr("id","node-"+t.id).attr("class","node-bkg node-"+t.type).attr("d",`M0 ${t.height-5} v${-t.height+2*5} q0,-5 5,-5 h${t.width-2*5} q5,0 5,5 v${t.height-5} H0 Z`),n.append("line").attr("class","node-line-"+e).attr("x1",0).attr("y1",t.height).attr("x2",t.width).attr("y2",t.height)},R={drawRect:Z,drawCircle:Pt,drawSection:Ct,drawText:ft,drawLabel:Ht,drawTask:zt,drawBackgroundRect:Vt,getTextObj:Rt,getNoteRect:tt,initGraphics:Ft,drawNode:Wt,getVirtualNodeHeight:Bt},jt=function(n,t,e,s){var i,o;const a=wt(),p=a.leftMargin??50;I.debug("timeline",s.db);const y=a.securityLevel;let g;y==="sandbox"&&(g=q("#i"+t));const m=(y==="sandbox"?q(g.nodes()[0].contentDocument.body):q("body")).select("#"+t);m.append("g");const v=s.db.getTasks(),E=s.db.getCommonDb().getDiagramTitle();I.debug("task",v),R.initGraphics(m);const S=s.db.getSections();I.debug("sections",S);let k=0,x=0,r=0,c=0,h=50+p,d=50;c=50;let u=0,l=!0;S.forEach(function(z){const w={number:u,descr:z,section:u,width:150,padding:20,maxHeight:k},L=R.getVirtualNodeHeight(m,w,a);I.debug("sectionHeight before draw",L),k=Math.max(k,L+20)});let M=0,f=0;I.debug("tasks.length",v.length);for(const[z,w]of v.entries()){const L={number:z,descr:w,section:w.section,width:150,padding:20,maxHeight:x},_=R.getVirtualNodeHeight(m,L,a);I.debug("taskHeight before draw",_),x=Math.max(x,_+20),M=Math.max(M,w.events.length);let $=0;for(let A=0;A0?S.forEach(z=>{const w=v.filter(A=>A.section===z),L={number:u,descr:z,section:u,width:200*Math.max(w.length,1)-50,padding:20,maxHeight:k};I.debug("sectionNode",L);const _=m.append("g"),$=R.drawNode(_,L,u,a);I.debug("sectionNode output",$),_.attr("transform",`translate(${h}, ${c})`),d+=k+50,w.length>0&&rt(m,w,u,h,d,x,a,M,f,k,!1),h+=200*Math.max(w.length,1),d=c,u++}):(l=!1,rt(m,v,u,h,d,x,a,M,f,k,!0));const C=m.node().getBBox();I.debug("bounds",C),E&&m.append("text").text(E).attr("x",C.width/2-p).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),r=l?k+x+150:x+100,m.append("g").attr("class","lineWrapper").append("line").attr("x1",p).attr("y1",r).attr("x2",C.width+3*p).attr("y2",r).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),St(void 0,m,((i=a.timeline)==null?void 0:i.padding)??50,((o=a.timeline)==null?void 0:o.useMaxWidth)??!1)},rt=function(n,t,e,s,i,o,a,p,y,g,b){var m;for(const v of t){const E={descr:v.task,section:e,number:e,width:150,padding:20,maxHeight:o};I.debug("taskNode",E);const S=n.append("g").attr("class","taskWrapper"),x=R.drawNode(S,E,e,a).height;if(I.debug("taskHeight after draw",x),S.attr("transform",`translate(${s}, ${i})`),o=Math.max(o,x),v.events){const r=n.append("g").attr("class","lineWrapper");let c=o;i+=100,c=c+Gt(n,v.events,e,s,i,a),i-=100,r.append("line").attr("x1",s+190/2).attr("y1",i+o).attr("x2",s+190/2).attr("y2",i+o+(b?o:g)+y+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}s=s+200,b&&!((m=a.timeline)!=null&&m.disableMulticolor)&&e++}i=i-10},Gt=function(n,t,e,s,i,o){let a=0;const p=i;i=i+100;for(const y of t){const g={descr:y,section:e,number:e,width:150,padding:20,maxHeight:50};I.debug("eventNode",g);const b=n.append("g").attr("class","eventWrapper"),v=R.drawNode(b,g,e,o).height;a=a+v,b.attr("transform",`translate(${s}, ${i})`),i=i+10+v}return i=p,a},qt={setConf:()=>{},draw:jt},Ut=n=>{let t="";for(let e=0;e` - .edge { - stroke-width: 3; - } - ${Ut(n)} - .section-root rect, .section-root path, .section-root circle { - fill: ${n.git0}; - } - .section-root text { - fill: ${n.gitBranchLabel0}; - } - .icon-container { - height:100%; - display: flex; - justify-content: center; - align-items: center; - } - .edge { - fill: none; - } - .eventWrapper { - filter: brightness(120%); - } -`,Kt=Zt,te={db:Mt,renderer:qt,parser:$t,styles:Kt};export{te as diagram}; diff --git a/pr-333/assets/chunks/virtual_mermaid-config.ade1a5ba.js b/pr-333/assets/chunks/virtual_mermaid-config.ade1a5ba.js deleted file mode 100644 index effcb9650..000000000 --- a/pr-333/assets/chunks/virtual_mermaid-config.ade1a5ba.js +++ /dev/null @@ -1 +0,0 @@ -const e={securityLevel:"loose",startOnLoad:!1};export{e as default}; diff --git a/pr-333/assets/index.md.07c3d70b.js b/pr-333/assets/index.md.07c3d70b.js deleted file mode 100644 index 2cbf55896..000000000 --- a/pr-333/assets/index.md.07c3d70b.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as o}from"./chunks/framework.8df7efef.js";const p=JSON.parse('{"title":"","titleTemplate":":title","description":"","frontmatter":{"layout":"home","titleTemplate":":title","hero":{"name":"Rollkit","text":"The open modular framework for sovereign rollups","tagline":"Build rollups with interchangeable software to preserve sovereignty","image":{"src":"/logo-big.svg","alt":"Rollkit"},"actions":[{"theme":"brand","text":"Starter Rollup","link":"/tutorials/gm-world"},{"theme":"alt","text":"Introduction","link":"/learn/intro"}]},"features":[{"title":"Shared security","details":"Rollups inherit security from the consensus and data availability layer","link":"/learn/about#why-rollkit","icon":"🔐"},{"title":"Scalable","details":"With off-chain execution, rollups have their own dedicated computational resources","link":"/learn/stack","icon":"📈"},{"title":"Flexible","details":"Freedom to configure the execution environment and other components","link":"/learn/intro","icon":"⚙️"},{"title":"Easy to deploy","details":"Deploy a rollup with only a few command lines","link":"/tutorials/overview","icon":"🛸"}],"head":[["meta",{"name":"og:title","content":"Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1711045903000}'),i={name:"index.md"};function l(a,n,r,s,c,d){return t(),o("div")}const u=e(i,[["render",l]]);export{p as __pageData,u as default}; diff --git a/pr-333/assets/index.md.07c3d70b.lean.js b/pr-333/assets/index.md.07c3d70b.lean.js deleted file mode 100644 index 2cbf55896..000000000 --- a/pr-333/assets/index.md.07c3d70b.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as o}from"./chunks/framework.8df7efef.js";const p=JSON.parse('{"title":"","titleTemplate":":title","description":"","frontmatter":{"layout":"home","titleTemplate":":title","hero":{"name":"Rollkit","text":"The open modular framework for sovereign rollups","tagline":"Build rollups with interchangeable software to preserve sovereignty","image":{"src":"/logo-big.svg","alt":"Rollkit"},"actions":[{"theme":"brand","text":"Starter Rollup","link":"/tutorials/gm-world"},{"theme":"alt","text":"Introduction","link":"/learn/intro"}]},"features":[{"title":"Shared security","details":"Rollups inherit security from the consensus and data availability layer","link":"/learn/about#why-rollkit","icon":"🔐"},{"title":"Scalable","details":"With off-chain execution, rollups have their own dedicated computational resources","link":"/learn/stack","icon":"📈"},{"title":"Flexible","details":"Freedom to configure the execution environment and other components","link":"/learn/intro","icon":"⚙️"},{"title":"Easy to deploy","details":"Deploy a rollup with only a few command lines","link":"/tutorials/overview","icon":"🛸"}],"head":[["meta",{"name":"og:title","content":"Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1711045903000}'),i={name:"index.md"};function l(a,n,r,s,c,d){return t(),o("div")}const u=e(i,[["render",l]]);export{p as __pageData,u as default}; diff --git a/pr-333/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2 b/pr-333/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2 deleted file mode 100644 index 2a6872967..000000000 Binary files a/pr-333/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2 and /dev/null differ diff --git a/pr-333/assets/inter-italic-cyrillic.ea42a392.woff2 b/pr-333/assets/inter-italic-cyrillic.ea42a392.woff2 deleted file mode 100644 index f64035158..000000000 Binary files a/pr-333/assets/inter-italic-cyrillic.ea42a392.woff2 and /dev/null differ diff --git a/pr-333/assets/inter-italic-greek-ext.4fbe9427.woff2 b/pr-333/assets/inter-italic-greek-ext.4fbe9427.woff2 deleted file mode 100644 index 002189603..000000000 Binary files a/pr-333/assets/inter-italic-greek-ext.4fbe9427.woff2 and /dev/null differ diff --git a/pr-333/assets/inter-italic-greek.8f4463c4.woff2 b/pr-333/assets/inter-italic-greek.8f4463c4.woff2 deleted file mode 100644 index 71c265f85..000000000 Binary files a/pr-333/assets/inter-italic-greek.8f4463c4.woff2 and /dev/null differ diff --git a/pr-333/assets/inter-italic-latin-ext.bd8920cc.woff2 b/pr-333/assets/inter-italic-latin-ext.bd8920cc.woff2 deleted file mode 100644 index 9c1b9440e..000000000 Binary files a/pr-333/assets/inter-italic-latin-ext.bd8920cc.woff2 and /dev/null differ diff --git a/pr-333/assets/inter-italic-latin.bd3b6f56.woff2 b/pr-333/assets/inter-italic-latin.bd3b6f56.woff2 deleted file mode 100644 index 01fcf2072..000000000 Binary files a/pr-333/assets/inter-italic-latin.bd3b6f56.woff2 and /dev/null differ diff --git a/pr-333/assets/inter-italic-vietnamese.6ce511fb.woff2 b/pr-333/assets/inter-italic-vietnamese.6ce511fb.woff2 deleted file mode 100644 index e4f788ee0..000000000 Binary files a/pr-333/assets/inter-italic-vietnamese.6ce511fb.woff2 and /dev/null differ diff --git a/pr-333/assets/inter-roman-cyrillic-ext.e75737ce.woff2 b/pr-333/assets/inter-roman-cyrillic-ext.e75737ce.woff2 deleted file mode 100644 index 28593ccb8..000000000 Binary files a/pr-333/assets/inter-roman-cyrillic-ext.e75737ce.woff2 and /dev/null differ diff --git a/pr-333/assets/inter-roman-cyrillic.5f2c6c8c.woff2 b/pr-333/assets/inter-roman-cyrillic.5f2c6c8c.woff2 deleted file mode 100644 index a20adc161..000000000 Binary files a/pr-333/assets/inter-roman-cyrillic.5f2c6c8c.woff2 and /dev/null differ diff --git a/pr-333/assets/inter-roman-greek-ext.ab0619bc.woff2 b/pr-333/assets/inter-roman-greek-ext.ab0619bc.woff2 deleted file mode 100644 index e3b0be76d..000000000 Binary files a/pr-333/assets/inter-roman-greek-ext.ab0619bc.woff2 and /dev/null differ diff --git a/pr-333/assets/inter-roman-greek.d5a6d92a.woff2 b/pr-333/assets/inter-roman-greek.d5a6d92a.woff2 deleted file mode 100644 index f790e047d..000000000 Binary files a/pr-333/assets/inter-roman-greek.d5a6d92a.woff2 and /dev/null differ diff --git a/pr-333/assets/inter-roman-latin-ext.0030eebd.woff2 b/pr-333/assets/inter-roman-latin-ext.0030eebd.woff2 deleted file mode 100644 index 715bd903b..000000000 Binary files a/pr-333/assets/inter-roman-latin-ext.0030eebd.woff2 and /dev/null differ diff --git a/pr-333/assets/inter-roman-latin.2ed14f66.woff2 b/pr-333/assets/inter-roman-latin.2ed14f66.woff2 deleted file mode 100644 index a540b7afe..000000000 Binary files a/pr-333/assets/inter-roman-latin.2ed14f66.woff2 and /dev/null differ diff --git a/pr-333/assets/inter-roman-vietnamese.14ce25a6.woff2 b/pr-333/assets/inter-roman-vietnamese.14ce25a6.woff2 deleted file mode 100644 index 5a9f9cb9c..000000000 Binary files a/pr-333/assets/inter-roman-vietnamese.14ce25a6.woff2 and /dev/null differ diff --git a/pr-333/assets/learn_about.md.fd7ea49a.js b/pr-333/assets/learn_about.md.fd7ea49a.js deleted file mode 100644 index 934296288..000000000 --- a/pr-333/assets/learn_about.md.fd7ea49a.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as a,X as o}from"./chunks/framework.8df7efef.js";const y=JSON.parse('{"title":"About Rollkit","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"About Rollkit | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/about.md","filePath":"learn/about.md","lastUpdated":1711045903000}'),i={name:"learn/about.md"},l=o('

About Rollkit

Our mission is to empower developers to quickly innovate and create entire new classes of rollups with minimal tradeoffs. We're setting the bar high for developers' flexibility and ability to customize rollups however they see fit.

TIP

In order to use Rollkit, it's important to have some familiarity with Cosmos SDK. You can get up to speed on Cosmos SDK by visiting their official documentation page.

If you're familiar with Rollkit, you may want to skip to the tutorials section.

What is Rollkit?

Rollkit is a rollup framework that gives developers the freedom to deploy rollups throughout the modular stack, opening new possibilities for rapid experimentation and innovation.

The Rollkit framework features a modular node that can run rollups and exposes an ABCI-compatible client interface, which can be used as a substitute for CometBFT in any ABCI-compatible blockchain application. By default, the node utilizes Celestia as the data availability (DA) layer, however other data availability layers can be integrated.

Rollkit can currently be used to deploy sovereign rollups or sovereign settlement layers. In the future, we intend to support settled (not sovereign) rollups that settle to another settlement layer.

Rollkit is built as an open-source framework, so that developers can easily modify it to suit their applications.

Our goal is to empower developers to quickly innovate and create new classes of rollups with minimal trade-offs, and to make deploying a new chain as easy as deploying a smart contract.

What problems is Rollkit solving?

1. Scalability and customizability

Deploying your decentralized application as a smart contract on a shared blockchain has many limitations. Your smart contract has to share computational resources with every other application, so scalability is limited.

Plus, you're restricted to the execution environment that the shared blockchain uses, so developer flexibility is limited.

2. Security and time to market

Deploying a new chain might sound like the perfect solution for the problems listed above. While it's somewhat true, deploying a new layer 1 chain presents a complex set of challenges and trade-offs for developers looking to build blockchain products.

Deploying a new layer 1 requires significant resources, including time, capital, and expertise, which can be a barrier to entry for some developers.

In order to secure the network, developers must bootstrap a sufficiently secure set of validators, incurring the overhead of managing a full consensus network. This requires paying validators with inflationary tokens, putting the business sustainability of the network at risk. A strong community and network effect are also critical for success, but can be challenging to achieve as the network must gain widespread adoption to be secure and valuable.

In a potential future with millions of chains, it's unlikely all of those chains will be able to sustainably attract a sufficiently secure and decentralized validator set.

Why Rollkit?

Rollkit solves the challenges encountered during the deployment of a smart contract or a new layer 1, by minimizing these tradeoffs through the implementation of rollup chains (rollups).

With Rollkit, developers can benefit from:

  • Shared security: Rollups inherit security from a data availability layer, by posting blocks to it. Rollups reduce the trust assumptions placed on rollup sequencers by allowing full nodes to download and verify the transactions in the blocks posted by the sequencer. For optimistic or zk rollups, in case of fraudulent blocks, full nodes can generate fraud or zk proofs, which they can share with the rest of the network, including light nodes. Our roadmap includes the ability for light clients to receive and verify proofs, so that everyday users can enjoy high security guarantees.

  • Scalability: Rollkit rollups are deployed on specialized data availability layers like Celestia, which directly leverages the scalability of the DA layer. Additionally, rollup transactions are executed off-chain rather than the data availability layer. This means rollups have their own dedicated computational resources, rather than sharing computational resources with other applications.

  • Customizability: Rollkit is built as an open source modular framework, to make it easier for developers to reuse the four main components and customize their rollups. These components are data availability layers, execution environments, proof systems, and sequencer schemes. The components used by the Rollkit stack are customizable.

  • Faster time to market: Rollkit eliminates the need to bootstrap a validator set, manage a consensus network, incur high economic costs, and face other trade-offs that come with deploying a new layer 1. Rollkit's goal is to make deploying a rollup as easy as it is to deploy a smart contract, cutting the time it takes to bring blockchain products to market from months or even years to just minutes.

  • Sovereignty: Rollkit also enables developers to deploy sovereign rollups for cases where communities require sovereignty.

How can you use Rollkit?

As briefly mentioned above, Rollkit could be used in many different ways. From sovereign rollups, to settlement layers, and in the future even to L3s.

Rollup with any execution environment

Rollkit gives developers the flexibility to use pre-existing ABCI-compatible state machines or create a custom state machine tailored to their rollup needs. Rollkit does not restrict the use of any specific virtual machine, allowing developers to experiment and bring innovative applications to life.

Sovereign rollup with Cosmos SDK

Similarly to how developers utilize the Cosmos SDK to build a sovereign layer 1 chain, the Cosmos SDK could be utilized to create a Rollkit-compatible rollup chain. Cosmos-SDK has great documentation and tooling that developers can leverage to learn.

Another possibility is taking an existing layer 1 built with the Cosmos SDK and deploying it as a Rollkit rollup. This can provide a great opportunity for experimentation and growth.

Build a settlement layer

Settlement layers are ideal for developers who want to avoid deploying sovereign rollups. They provide a platform for rollups to verify proofs and resolve disputes. Additionally, they act as a hub for rollups to facilitate trust-minimized token transfers and liquidity sharing between rollups that share the same settlement layer. Think of settlement layers as a special type of execution layer.

When can you use Rollkit?

As of today, Rollkit is still in the MVP stages. The framework currently provides a centralized sequencer, an execution interface (ABCI or Cosmos SDK), and a connection to a data availability layer (Celestia).

We're currently working on implementing many new and exciting features such as light nodes and state fraud proofs.

Head down to the next section (Rollkit stack) to learn more about what's coming for Rollkit. If you're ready to start building, you can skip to the Tutorials section.

Spoiler alert, whichever you choose, it's going to be a great rabbit hole!

',36),r=[l];function s(n,c,h,u,p,d){return t(),a("div",null,r)}const f=e(i,[["render",s]]);export{y as __pageData,f as default}; diff --git a/pr-333/assets/learn_about.md.fd7ea49a.lean.js b/pr-333/assets/learn_about.md.fd7ea49a.lean.js deleted file mode 100644 index b1ca80c8b..000000000 --- a/pr-333/assets/learn_about.md.fd7ea49a.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as a,X as o}from"./chunks/framework.8df7efef.js";const y=JSON.parse('{"title":"About Rollkit","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"About Rollkit | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/about.md","filePath":"learn/about.md","lastUpdated":1711045903000}'),i={name:"learn/about.md"},l=o("",36),r=[l];function s(n,c,h,u,p,d){return t(),a("div",null,r)}const f=e(i,[["render",s]]);export{y as __pageData,f as default}; diff --git a/pr-333/assets/learn_based-pessimistic-rollup.md.2ebc600f.js b/pr-333/assets/learn_based-pessimistic-rollup.md.2ebc600f.js deleted file mode 100644 index dba807baa..000000000 --- a/pr-333/assets/learn_based-pessimistic-rollup.md.2ebc600f.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o,K as r,o as e,c as i,b as l,w as a,a5 as n,X as t,O as d,a as h}from"./chunks/framework.8df7efef.js";const B=JSON.parse('{"title":"Basic Rollup","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Basic Rollup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/based-pessimistic-rollup.md","filePath":"learn/based-pessimistic-rollup.md","lastUpdated":1711045903000}'),c={name:"learn/based-pessimistic-rollup.md"},p=t('

Basic Rollup

Description

The simplest way to build a Rollup. You delegate Aggregation to the DA-Layer. Every Rollup node has to replay all the transactions in the rollup in order to check and update to the newest state.

Design

Here is an example of what this design could look like:

',5),u=t('

Aggregation

The DA-Layer is the Aggregator. It does Inclusion and Ordering.

Header Production

Each Full Node has to execute all transactions. There are no Light Nodes in this system so there is no need to produce a rollup header.

Censorship Resistance

Based rollups enjoy the same censorship resistance as the DA-Layer.

Liveness

Based rollups enjoys the same liveness guarantees as the DA-Layer (Based Rollups).

Rollup Light Nodes

This design has no Rollup Light Nodes.

Smallest Trust-Minimized Setup

DA-Layer Light Node + Rollup Full Node

',12);function m(_,g,A,b,f,T){const s=r("Mermaid");return e(),i("div",null,[p,(e(),l(n,null,{default:a(()=>[d(s,{id:"mermaid-15",graph:"graph%20TB%0A%20%20U%5B%22User%22%5D%20--%3E%20T%5B%22Transaction%22%5D%0A%20%20T%20--%3E%20A%5B%22DA%20Layer%22%5D%0A%20%20%0A%20%20A%20--%3E%20B%5B%22Ordered%20Batch%22%5D%0A%20%20B%20--%3E%20FN%5B%22Rollup%20Full%20Node%22%5D%0A%0A%20%20style%20U%20stroke%3AcurrentColor%2C%20fill%3A%23FFA07A%0A%20%20style%20A%20stroke%3AcurrentColor%2C%20fill%3A%20%2387CEFA%0A%20%20style%20FN%20stroke%3AcurrentColor%2C%20fill%3A%2398FB98%0A"})]),fallback:a(()=>[h(" Loading... ")]),_:1})),u])}const q=o(c,[["render",m]]);export{B as __pageData,q as default}; diff --git a/pr-333/assets/learn_based-pessimistic-rollup.md.2ebc600f.lean.js b/pr-333/assets/learn_based-pessimistic-rollup.md.2ebc600f.lean.js deleted file mode 100644 index 5dd3bfc9d..000000000 --- a/pr-333/assets/learn_based-pessimistic-rollup.md.2ebc600f.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o,K as r,o as e,c as i,b as l,w as a,a5 as n,X as t,O as d,a as h}from"./chunks/framework.8df7efef.js";const B=JSON.parse('{"title":"Basic Rollup","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Basic Rollup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/based-pessimistic-rollup.md","filePath":"learn/based-pessimistic-rollup.md","lastUpdated":1711045903000}'),c={name:"learn/based-pessimistic-rollup.md"},p=t("",5),u=t("",12);function m(_,g,A,b,f,T){const s=r("Mermaid");return e(),i("div",null,[p,(e(),l(n,null,{default:a(()=>[d(s,{id:"mermaid-15",graph:"graph%20TB%0A%20%20U%5B%22User%22%5D%20--%3E%20T%5B%22Transaction%22%5D%0A%20%20T%20--%3E%20A%5B%22DA%20Layer%22%5D%0A%20%20%0A%20%20A%20--%3E%20B%5B%22Ordered%20Batch%22%5D%0A%20%20B%20--%3E%20FN%5B%22Rollup%20Full%20Node%22%5D%0A%0A%20%20style%20U%20stroke%3AcurrentColor%2C%20fill%3A%23FFA07A%0A%20%20style%20A%20stroke%3AcurrentColor%2C%20fill%3A%20%2387CEFA%0A%20%20style%20FN%20stroke%3AcurrentColor%2C%20fill%3A%2398FB98%0A"})]),fallback:a(()=>[h(" Loading... ")]),_:1})),u])}const q=o(c,[["render",m]]);export{B as __pageData,q as default}; diff --git a/pr-333/assets/learn_basic-rollup.md.01dcb8d0.js b/pr-333/assets/learn_basic-rollup.md.01dcb8d0.js deleted file mode 100644 index 3f31fafc0..000000000 --- a/pr-333/assets/learn_basic-rollup.md.01dcb8d0.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o,K as i,o as e,c as l,b as s,w as a,a5 as n,X as t,O as c,a as d}from"./chunks/framework.8df7efef.js";const D=JSON.parse('{"title":"Basic Rollup","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Basic Rollup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/basic-rollup.md","filePath":"learn/basic-rollup.md","lastUpdated":1711045903000}'),h={name:"learn/basic-rollup.md"},u=t('

Basic Rollup

Description

The User submits a transaction to the Aggregator. After Aggregation, the Rollup Full Node can use the Batch and apply the changes to the state.

During the Header Production, the Header is generated with some security grantees. The Rollup Light Node can consume the Header and validate those security guarantees.

Diagram

Here is an example of what this design could look like:

',6),p=t('

Aggregation

TBD

Header Production

TBD

Censorship Resistance

TBD

Liveness

TBD

Rollup Light Nodes

TBD

Smallest Trust-Minimized Setup

TBD

',12);function m(A,g,_,B,b,f){const r=i("Mermaid");return e(),l("div",null,[u,(e(),s(n,null,{default:a(()=>[c(r,{id:"mermaid-18",graph:"graph%20TB%0A%20%20U%5B%22User%22%5D%20--%3E%20T%5B%22Transaction%22%5D%0A%20%20T%20--%3E%20A%5B%22Aggregator%22%5D%0A%20%20%0A%20%20A%20--%3E%20B%5B%22Batch%22%5D%0A%20%20B%20--%3E%20HP%5B%22Header%20Producer%22%5D%0A%20%20B%20--%3E%20FN%5B%22Rollup%20Full%20Node%22%5D%0A%20%20%0A%20%20HP%20--%3E%20H%5B%22Header%2B%22%5D%0A%20%20H%20--%3E%20LN%5B%22Rollup%20Light%20Node%22%5D%0A%0A%20%20style%20U%20stroke%3AcurrentColor%2C%20fill%3A%23FFA07A%0A%20%20style%20FN%20stroke%3AcurrentColor%2C%20fill%3A%2398FB98%0A%20%20style%20LN%20stroke%3AcurrentColor%2C%20fill%3A%23D8BFD8%0A%20%20style%20A%20stroke%3AcurrentColor%2C%20fill%3A%20%2387CEFA%0A%20%20style%20HP%20stroke%3AcurrentColor%2C%20fill%3A%23FA8072%0A"})]),fallback:a(()=>[d(" Loading... ")]),_:1})),p])}const P=o(h,[["render",m]]);export{D as __pageData,P as default}; diff --git a/pr-333/assets/learn_basic-rollup.md.01dcb8d0.lean.js b/pr-333/assets/learn_basic-rollup.md.01dcb8d0.lean.js deleted file mode 100644 index dc5daed51..000000000 --- a/pr-333/assets/learn_basic-rollup.md.01dcb8d0.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o,K as i,o as e,c as l,b as s,w as a,a5 as n,X as t,O as c,a as d}from"./chunks/framework.8df7efef.js";const D=JSON.parse('{"title":"Basic Rollup","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Basic Rollup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/basic-rollup.md","filePath":"learn/basic-rollup.md","lastUpdated":1711045903000}'),h={name:"learn/basic-rollup.md"},u=t("",6),p=t("",12);function m(A,g,_,B,b,f){const r=i("Mermaid");return e(),l("div",null,[u,(e(),s(n,null,{default:a(()=>[c(r,{id:"mermaid-18",graph:"graph%20TB%0A%20%20U%5B%22User%22%5D%20--%3E%20T%5B%22Transaction%22%5D%0A%20%20T%20--%3E%20A%5B%22Aggregator%22%5D%0A%20%20%0A%20%20A%20--%3E%20B%5B%22Batch%22%5D%0A%20%20B%20--%3E%20HP%5B%22Header%20Producer%22%5D%0A%20%20B%20--%3E%20FN%5B%22Rollup%20Full%20Node%22%5D%0A%20%20%0A%20%20HP%20--%3E%20H%5B%22Header%2B%22%5D%0A%20%20H%20--%3E%20LN%5B%22Rollup%20Light%20Node%22%5D%0A%0A%20%20style%20U%20stroke%3AcurrentColor%2C%20fill%3A%23FFA07A%0A%20%20style%20FN%20stroke%3AcurrentColor%2C%20fill%3A%2398FB98%0A%20%20style%20LN%20stroke%3AcurrentColor%2C%20fill%3A%23D8BFD8%0A%20%20style%20A%20stroke%3AcurrentColor%2C%20fill%3A%20%2387CEFA%0A%20%20style%20HP%20stroke%3AcurrentColor%2C%20fill%3A%23FA8072%0A"})]),fallback:a(()=>[d(" Loading... ")]),_:1})),p])}const P=o(h,[["render",m]]);export{D as __pageData,P as default}; diff --git a/pr-333/assets/learn_building-and-deploying-a-rollup.md.6bbdc0a8.js b/pr-333/assets/learn_building-and-deploying-a-rollup.md.6bbdc0a8.js deleted file mode 100644 index 7de7a34bf..000000000 --- a/pr-333/assets/learn_building-and-deploying-a-rollup.md.6bbdc0a8.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as a,X as l}from"./chunks/framework.8df7efef.js";const m=JSON.parse('{"title":"🗞️ Building a rollup and testnet deployment","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🗞️ Building a rollup and testnet deployment | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/building-and-deploying-a-rollup.md","filePath":"learn/building-and-deploying-a-rollup.md","lastUpdated":1711045903000}'),r={name:"learn/building-and-deploying-a-rollup.md"},o=l('

🗞️ Building a rollup and testnet deployment

The following tutorials will help you get started building Cosmos-SDK and EVM applications that connect to Celestia's data availability (DA) layer via Rollkit to Celestia's Mocha testnet or Arabica devnet. We call those chains Sovereign Rollups.

You can get started with the following tutorials:

1. Beginner

2️. Intermediate

3️. Advanced

💻 Support

The tutorials will explore developing with Rollkit, which is still in Alpha stage. If you run into bugs, please write a Github issue or let us know in our Telegram. Furthermore, while Rollkit allows you to build sovereign rollups on Celestia, it currently does not support fraud proofs yet and is therefore running in "pessimistic" mode, where nodes would need to re-execute the transactions to check the validity of the chain (i.e. a full node). Furthermore, Rollkit currently only supports a single sequencer.

',11),i=[o];function n(s,d,u,p,c,h){return t(),a("div",null,i)}const f=e(r,[["render",n]]);export{m as __pageData,f as default}; diff --git a/pr-333/assets/learn_building-and-deploying-a-rollup.md.6bbdc0a8.lean.js b/pr-333/assets/learn_building-and-deploying-a-rollup.md.6bbdc0a8.lean.js deleted file mode 100644 index 8f9965765..000000000 --- a/pr-333/assets/learn_building-and-deploying-a-rollup.md.6bbdc0a8.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as a,X as l}from"./chunks/framework.8df7efef.js";const m=JSON.parse('{"title":"🗞️ Building a rollup and testnet deployment","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🗞️ Building a rollup and testnet deployment | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/building-and-deploying-a-rollup.md","filePath":"learn/building-and-deploying-a-rollup.md","lastUpdated":1711045903000}'),r={name:"learn/building-and-deploying-a-rollup.md"},o=l("",11),i=[o];function n(s,d,u,p,c,h){return t(),a("div",null,i)}const f=e(r,[["render",n]]);export{m as __pageData,f as default}; diff --git a/pr-333/assets/learn_intro.md.1f9e657b.js b/pr-333/assets/learn_intro.md.1f9e657b.js deleted file mode 100644 index 76ab589eb..000000000 --- a/pr-333/assets/learn_intro.md.1f9e657b.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o,c as a,X as l}from"./chunks/framework.8df7efef.js";const m=JSON.parse('{"title":"Introduction to Rollkit","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Introduction to Rollkit | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/intro.md","filePath":"learn/intro.md","lastUpdated":1711045903000}'),r={name:"learn/intro.md"},i=l('

Introduction to Rollkit

Welcome to the Rollkit docs. We're happy you made it here!

Rollkit is the open modular framework for sovereign rollups.

Our mission is to empower developers to quickly innovate and create entire new classes of rollups with minimal tradeoffs.

We're setting the bar high for developers' flexibility and ability to customize rollups however they see fit.

TIP

In order to use Rollkit, it's important to have some familiarity with Cosmos SDK. You can get up to speed on Cosmos SDK by visiting their official documentation page.

If you're familiar with Rollkit, you may want to skip to the tutorials section.

Table of contents

Introduction

Learn

Rollup Wiki

Tutorials

Beginner

Intermediate

Advanced

Guides

Blog

',25),t=[i];function n(s,d,u,c,p,h){return o(),a("div",null,t)}const w=e(r,[["render",n]]);export{m as __pageData,w as default}; diff --git a/pr-333/assets/learn_intro.md.1f9e657b.lean.js b/pr-333/assets/learn_intro.md.1f9e657b.lean.js deleted file mode 100644 index 1199a138b..000000000 --- a/pr-333/assets/learn_intro.md.1f9e657b.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o,c as a,X as l}from"./chunks/framework.8df7efef.js";const m=JSON.parse('{"title":"Introduction to Rollkit","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Introduction to Rollkit | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/intro.md","filePath":"learn/intro.md","lastUpdated":1711045903000}'),r={name:"learn/intro.md"},i=l("",25),t=[i];function n(s,d,u,c,p,h){return o(),a("div",null,t)}const w=e(r,[["render",n]]);export{m as __pageData,w as default}; diff --git a/pr-333/assets/learn_overview.md.326354a4.js b/pr-333/assets/learn_overview.md.326354a4.js deleted file mode 100644 index cb000726b..000000000 --- a/pr-333/assets/learn_overview.md.326354a4.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as a,c as t,X as o}from"./chunks/framework.8df7efef.js";const v=JSON.parse('{"title":"Learn","description":"This page provides an overview of the key concepts and guides related to Rollkit. It serves as a reference for understanding the Rollkit stack, transaction flow, building with Rollkit, and more.","frontmatter":{"description":"This page provides an overview of the key concepts and guides related to Rollkit. It serves as a reference for understanding the Rollkit stack, transaction flow, building with Rollkit, and more.","head":[["meta",{"name":"og:title","content":"Learn | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/overview.md","filePath":"learn/overview.md","lastUpdated":1711045903000}'),r={name:"learn/overview.md"},n=o('

Learn

This category provides an overview of the key concepts and guides related to Rollkit. It serves as a reference for understanding the Rollkit stack, transaction flow, building with Rollkit, a glossary, and more.

Table of contents

',4),l=[n];function i(s,c,d,h,p,f){return a(),t("div",null,l)}const k=e(r,[["render",i]]);export{v as __pageData,k as default}; diff --git a/pr-333/assets/learn_overview.md.326354a4.lean.js b/pr-333/assets/learn_overview.md.326354a4.lean.js deleted file mode 100644 index 5e348dc08..000000000 --- a/pr-333/assets/learn_overview.md.326354a4.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as a,c as t,X as o}from"./chunks/framework.8df7efef.js";const v=JSON.parse('{"title":"Learn","description":"This page provides an overview of the key concepts and guides related to Rollkit. It serves as a reference for understanding the Rollkit stack, transaction flow, building with Rollkit, and more.","frontmatter":{"description":"This page provides an overview of the key concepts and guides related to Rollkit. It serves as a reference for understanding the Rollkit stack, transaction flow, building with Rollkit, and more.","head":[["meta",{"name":"og:title","content":"Learn | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/overview.md","filePath":"learn/overview.md","lastUpdated":1711045903000}'),r={name:"learn/overview.md"},n=o("",4),l=[n];function i(s,c,d,h,p,f){return a(),t("div",null,l)}const k=e(r,[["render",i]]);export{v as __pageData,k as default}; diff --git a/pr-333/assets/learn_pessimistic-rollup-with-a-shared-sequencer.md.468be78f.js b/pr-333/assets/learn_pessimistic-rollup-with-a-shared-sequencer.md.468be78f.js deleted file mode 100644 index 3b76139db..000000000 --- a/pr-333/assets/learn_pessimistic-rollup-with-a-shared-sequencer.md.468be78f.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,K as i,o as e,c as o,b as n,w as a,a5 as h,X as t,O as l,a as d}from"./chunks/framework.8df7efef.js";const y=JSON.parse('{"title":"Pessimistic Rollup with a Shared Sequencer","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Pessimistic Rollup with a Shared Sequencer | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/pessimistic-rollup-with-a-shared-sequencer.md","filePath":"learn/pessimistic-rollup-with-a-shared-sequencer.md","lastUpdated":1711045903000}'),c={name:"learn/pessimistic-rollup-with-a-shared-sequencer.md"},u=t('

Pessimistic Rollup with a Shared Sequencer

Description

This is a pessimistic Rollup using a Shared Sequencer. This design follows the Forum Post originating the Shared Sequencer Design. We assume the only canonical way to order the transactions are through the Shared Sequencer. All transactions have to be ordered by the Shared Sequencer and other batches are ignored.

Design

Here is an example of what this design could look like:

',5),p=t('

Aggregation

The Shared Sequencer Aggregates Transactions and posts the ordered Batch to the underlying DA-Layer.

To unlock a web2 equivalent UX, the shared sequencers […] can provide fast soft commitments. These soft commitments provide some arbitrary promise of the final ordering of transactions, and can be used to create prematurely updated versions of the state. As soon as the block data has been confirmed to be posted on the base layer, the state can be considered final.

The Shared Sequencer does Inclusion and Ordering.

Header Production

Each Full Node has to execute all transactions. There are no Light Nodes in this system so there is no need to produce a rollup header.

Censorship Resistance

Lets assume $L_{ss}$ is the liveness of the Shared Sequencer and the $L_{da}$ is the liveness of the DA-Layer. Then the liveness of this scheme is $L = Min[L_{ss},L_{da}]$ saying if one of the Systems has a liveness failure the Rollup has a liveness failure. If the Shared Sequencer fails then we cannot proceed with the Rollup. If the DA-Layer fails we could continue with the Shared Sequencers Soft Commitments. We would inherit the consensuses and data-availability from the Shared Sequencer which would be worse than the original Data-Availability Layer.

Liveness

Based rollups enjoys the same liveness guarantees as the DA-Layer (Based Rollups).

Rollup Light Nodes

N/A

Smallest Trust-Minimized Setup

DA-Layer Light Node + Shared Sequencer Light Node + Rollup Full Node

We need a Shared Sequencer Light Node to validate the Headers of the Shared Sequencer. We made an assumption in the beginning that the order is fixed by the ordering of the shared sequencer. The Shared Sequencer will have a cryptographic commitment of the order of the Transaction inside the Shared Sequencer Header. This way we can confirm that the batch that we receive or read from the DA-Layer is the one created by the Shared Sequencer.

',15);function m(g,S,f,A,q,_){const r=i("Mermaid");return e(),o("div",null,[u,(e(),n(h,null,{default:a(()=>[l(r,{id:"mermaid-15",graph:"graph%20TB%0A%20%20U%5B%22User%22%5D%20--%3E%20T%5B%22Transaction%22%5D%20--%3E%20SA%5B%22Shared%20Aggregator%22%5D%0A%0A%20%20subgraph%20A%5B%22Aggregator%22%5D%0A%20%20%20%20SA%20--%3E%20OB1%5B%22Ordered%20Batch%22%5D%20--%3E%20DAL%5B%22DA-Layer%22%5D%0A%20%20%20%20SA%20--%3E%20OB2%5B%22Soft%20Committed%20Ordered%20Batch%20%5Cn%20%26%20Shared%20Aggregator%20Header%2B%22%5D%0A%20%20end%0A%20%20%0A%20%20OB2%20--%3E%20FN%5B%22Rollup%20Full%20Node%22%5D%0A%20%20DAL%20--%3E%20OB3%5B%22Ordered%20Batch%22%5D%20--%3E%20FN%0A%0A%20%20style%20U%20stroke%3AcurrentColor%2C%20fill%3A%23FFA07A%0A%20%20style%20SA%20stroke%3AcurrentColor%2C%20fill%3A%2387CEFA%0A%20%20style%20FN%20stroke%3AcurrentColor%2C%20fill%3A%2398FB98%0A%20%20style%20DAL%20stroke%3AcurrentColor%2C%20fill%3A%23D8BFD8%0A"})]),fallback:a(()=>[d(" Loading... ")]),_:1})),p])}const D=s(c,[["render",m]]);export{y as __pageData,D as default}; diff --git a/pr-333/assets/learn_pessimistic-rollup-with-a-shared-sequencer.md.468be78f.lean.js b/pr-333/assets/learn_pessimistic-rollup-with-a-shared-sequencer.md.468be78f.lean.js deleted file mode 100644 index dffd02f00..000000000 --- a/pr-333/assets/learn_pessimistic-rollup-with-a-shared-sequencer.md.468be78f.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,K as i,o as e,c as o,b as n,w as a,a5 as h,X as t,O as l,a as d}from"./chunks/framework.8df7efef.js";const y=JSON.parse('{"title":"Pessimistic Rollup with a Shared Sequencer","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Pessimistic Rollup with a Shared Sequencer | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/pessimistic-rollup-with-a-shared-sequencer.md","filePath":"learn/pessimistic-rollup-with-a-shared-sequencer.md","lastUpdated":1711045903000}'),c={name:"learn/pessimistic-rollup-with-a-shared-sequencer.md"},u=t("",5),p=t("",15);function m(g,S,f,A,q,_){const r=i("Mermaid");return e(),o("div",null,[u,(e(),n(h,null,{default:a(()=>[l(r,{id:"mermaid-15",graph:"graph%20TB%0A%20%20U%5B%22User%22%5D%20--%3E%20T%5B%22Transaction%22%5D%20--%3E%20SA%5B%22Shared%20Aggregator%22%5D%0A%0A%20%20subgraph%20A%5B%22Aggregator%22%5D%0A%20%20%20%20SA%20--%3E%20OB1%5B%22Ordered%20Batch%22%5D%20--%3E%20DAL%5B%22DA-Layer%22%5D%0A%20%20%20%20SA%20--%3E%20OB2%5B%22Soft%20Committed%20Ordered%20Batch%20%5Cn%20%26%20Shared%20Aggregator%20Header%2B%22%5D%0A%20%20end%0A%20%20%0A%20%20OB2%20--%3E%20FN%5B%22Rollup%20Full%20Node%22%5D%0A%20%20DAL%20--%3E%20OB3%5B%22Ordered%20Batch%22%5D%20--%3E%20FN%0A%0A%20%20style%20U%20stroke%3AcurrentColor%2C%20fill%3A%23FFA07A%0A%20%20style%20SA%20stroke%3AcurrentColor%2C%20fill%3A%2387CEFA%0A%20%20style%20FN%20stroke%3AcurrentColor%2C%20fill%3A%2398FB98%0A%20%20style%20DAL%20stroke%3AcurrentColor%2C%20fill%3A%23D8BFD8%0A"})]),fallback:a(()=>[d(" Loading... ")]),_:1})),p])}const D=s(c,[["render",m]]);export{y as __pageData,D as default}; diff --git a/pr-333/assets/learn_readme.md.ed0c2ffc.js b/pr-333/assets/learn_readme.md.ed0c2ffc.js deleted file mode 100644 index 54fb15f7f..000000000 --- a/pr-333/assets/learn_readme.md.ed0c2ffc.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as e,o as t,c as a,X as l}from"./chunks/framework.8df7efef.js";const m=JSON.parse('{"title":"Rollkit","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Rollkit | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/readme.md","filePath":"learn/readme.md","lastUpdated":1711045903000}'),r={name:"learn/readme.md"},o=l(`

Rollkit

A modular framework for rollups, with an ABCI-compatible client interface. For more in-depth information about Rollkit, please visit our website.

build-and-test
golangci-lint
Go Report Card
codecov
GoDoc

Building from source

Requires Go version >= 1.20.

To build:

sh
git clone https://github.com/rollkit/rollkit.git
-cd rollkit
-go build -v ./...

Building with Rollkit

While Rollkit is a modular framework that aims to be compatible with a wide range of data availability layers, settlement layers, and execution environments, the most supported development environment is building on Celestia as a data availability layer.

Building on Celestia

There are currently 2 ways to build on Celestia:

  1. Using a local development environment with local-celestia-devnet
  2. Using the Arabica or Mocha Celestia testnet

Compatibility

networkrollkitcelestia-nodecelestia-app
local-celestia-devnetv0.10.5v0.11.0v1.1.0
arabicav0.10.5v0.11.0v1.1.0
rollkit/cosmos-sdkrollkit/cometbftrollkit
v0.47.3-rollkit-v0.10.5-no-fraud-proofsv0.37.2v0.10.5
v0.50.0-rc.0-rollkit-v0.11.0-rc1-no-fraud-proofsv0.38.0-rc3v0.11.0-rc1

Local development environment

The Rollkit v0.10.5 release is compatible with the local-celestia-devnet v0.11.0 release. This version combination is compatible with celestia-app v1.1.0 and celestia-node v0.11.0.

Arabica devnet and Mocha testnet

The Rollkit v0.10.5 release is compatible with arabica-10 devnet mocha-4 testnet which are running celestia-app v1.1.0 and celestia-node v0.11.0.

Cometbft v0.38.x and Cosmos-SDK v0.50.x

The Rollkit v0.11.0-rc1 release is compatible with Cometbft v0.38.0-rc3 and Cosmos-SDK v0.50.0-rc.0. However, there is no support by ignite for launching a compatible app (e.g. gm app) and Rollkit is working on building a gm app for testing this release (WIP).

Tools

  1. Install golangci-lint
  2. Install markdownlint
  3. Install hadolint
  4. Install yamllint

Helpful commands

sh
# Run unit tests
-make test
-
-# Generate protobuf files (requires Docker)
-make proto-gen
-
-# Run linters (requires golangci-lint, markdownlint, hadolint, and yamllint)
-make lint
-
-# Lint protobuf files (requires Docker and buf)
-make proto-lint

Contributing

We welcome your contributions! Everyone is welcome to contribute, whether it's in the form of code, documentation, bug reports, feature requests, or anything else.

If you're looking for issues to work on, try looking at the good first issue list. Issues with this tag are suitable for a new external contributor and is a great way to find something you can help with!

See the contributing guide for more details.

Please join our Community Discord to ask questions, discuss your ideas, and connect with other contributors.

Dependency graph

To see our progress and a possible future of Rollkit visit our Dependency Graph.

Code of Conduct

See our Code of Conduct here.

`,34),s=[o];function n(i,c,p,h,d,b){return t(),a("div",null,s)}const u=e(r,[["render",n]]);export{m as __pageData,u as default}; diff --git a/pr-333/assets/learn_readme.md.ed0c2ffc.lean.js b/pr-333/assets/learn_readme.md.ed0c2ffc.lean.js deleted file mode 100644 index 6514e68dd..000000000 --- a/pr-333/assets/learn_readme.md.ed0c2ffc.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as a,X as l}from"./chunks/framework.8df7efef.js";const m=JSON.parse('{"title":"Rollkit","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Rollkit | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/readme.md","filePath":"learn/readme.md","lastUpdated":1711045903000}'),r={name:"learn/readme.md"},o=l("",34),s=[o];function n(i,c,p,h,d,b){return t(),a("div",null,s)}const u=e(r,[["render",n]]);export{m as __pageData,u as default}; diff --git a/pr-333/assets/learn_rollup-glossary.md.2dc97737.js b/pr-333/assets/learn_rollup-glossary.md.2dc97737.js deleted file mode 100644 index cf9fe5285..000000000 --- a/pr-333/assets/learn_rollup-glossary.md.2dc97737.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as e,c as o,X as t}from"./chunks/framework.8df7efef.js";const b=JSON.parse('{"title":"Rollup glossary","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Rollup glossary | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/rollup-glossary.md","filePath":"learn/rollup-glossary.md","lastUpdated":1711045903000}'),r={name:"learn/rollup-glossary.md"},l=t('

Rollup glossary

A wiki of terms to define different Rollup designs and terminology:

Terminology

Aggregation

Aggregation is the process of batching transactions into one batch. A batch of transactions consists of one or more transactions.

Based rollup

A based rollup is a rollup that delegates aggregation to a DA-Layer.

Execution

Execution is the process by which the transactions in the blockchain are processed and their effects are applied to the state of the blockchain.

Header production

Header production is the process of creating the Rollup header backed by specific security properties.

Inclusion

Inclusion is the process by which a transaction is accepted into the blockchain.

Ordering

Ordering is the process of arranging transactions in a specific sequence in the blockchain.

Pessimistic rollup

A pessimistic rollup is a rollup that only supports full nodes that replay all the transactions in the rollup to check its validity.

Rollup Block

A rollup block is a data structure representing the Blockchain at a certain height. It consists of Rollup Data and Rollup Headers.

Rollup Data

Rollup data is either a batch of transactions or the state difference between transaction batches.

Rollup Header

is metadata about the block which at minimum includes a commitment to the transactions in that block.

Rollups

Rollups are blockchains that post their Transaction Data to another blockchain and inherit its consensus and data availability.

Sequencing

Sequencing is the process of aggregation and header production.

',27),i=[l];function n(s,c,h,p,d,u){return e(),o("div",null,i)}const f=a(r,[["render",n]]);export{b as __pageData,f as default}; diff --git a/pr-333/assets/learn_rollup-glossary.md.2dc97737.lean.js b/pr-333/assets/learn_rollup-glossary.md.2dc97737.lean.js deleted file mode 100644 index 01d063b6b..000000000 --- a/pr-333/assets/learn_rollup-glossary.md.2dc97737.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as e,c as o,X as t}from"./chunks/framework.8df7efef.js";const b=JSON.parse('{"title":"Rollup glossary","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Rollup glossary | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/rollup-glossary.md","filePath":"learn/rollup-glossary.md","lastUpdated":1711045903000}'),r={name:"learn/rollup-glossary.md"},l=t("",27),i=[l];function n(s,c,h,p,d,u){return e(),o("div",null,i)}const f=a(r,[["render",n]]);export{b as __pageData,f as default}; diff --git a/pr-333/assets/learn_stack.md.db0bfec0.js b/pr-333/assets/learn_stack.md.db0bfec0.js deleted file mode 100644 index d4c4abbd9..000000000 --- a/pr-333/assets/learn_stack.md.db0bfec0.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as l,K as i,o,c as n,b as s,w as a,a5 as c,k as e,a as t,X as d,O as h}from"./chunks/framework.8df7efef.js";const C=JSON.parse('{"title":"Rollkit stack","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Rollkit stack | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/stack.md","filePath":"learn/stack.md","lastUpdated":1711045903000}'),p={name:"learn/stack.md"},u=e("h1",{id:"rollkit-stack",tabindex:"-1"},[t("Rollkit stack "),e("a",{class:"header-anchor",href:"#rollkit-stack","aria-label":'Permalink to "Rollkit stack"'},"​")],-1),f=e("p",null,"This page will cover the main components of Rollkit.",-1),m=e("p",null,"Rollup sequencer nodes collect transactions from users, aggregate them into blocks, and post the blocks onto a data availability (DA) layer (such as Celestia) to be ordered and finalized. Full nodes execute and verify rollup blocks, and in the case of an optimistic rollup, propagate fraud proofs when needed. Light clients will receive headers, verify proofs (fraud, zk, etc), and authenticate trust-minimized queries about the state.",-1),g=e("h2",{id:"application-structure",tabindex:"-1"},[t("Application structure "),e("a",{class:"header-anchor",href:"#application-structure","aria-label":'Permalink to "Application structure"'},"​")],-1),b=d('

ABCI interface

Rollkit is a fully functional Application BlockChain Interface (ABCI) client software. It can be used as a CometBFT replacement for any ABCI application. Thanks to this compatibility, you can use tools like abci-cli to test and debug your rollup.

Cosmos SDK

Would you like to change your Cosmos SDK application to a Rollkit rollup? No problem! You need to replace the Cosmos SDK Go dependency with a Rollkit-enabled version, which can be found at the rollkit/cosmos-sdk repository.

Note the rollkit/cosmos-sdk repository follows the release branches of upstream Cosmos SDK, but with the bonus of using Rollkit instead of CometBFT as the ABCI client.

And don't forget to replace another dependency, CometBFT, with rollkit/cometbft, which has an enhanced ABCI interface that includes the methods needed for state fraud proofs.

Data availability

Data availability (DA) can be accessed using generic interfaces. This design allows for seamless integration with any DA layer. New implementations can be plugged in programmatically, without a need to fork Rollkit.

The DataAvailabilityLayerClient interface includes essential lifecycle methods (Init, Start, Stop) as well as data availability methods (SubmitBlocks, RetrieveBlocks).

The BlockRetriever interface serves to enable syncing of full nodes from the data availability layer. It's important to keep in mind that there is no direct correlation between the DA layer block height and the rollup height. Each DA layer block may contain an arbitrary number of rollup blocks.

Celestia

Celestia is an example of a data availability integration implemented for Rollkit. It's using the Celestia Node API via the rollkit/celestia-da package. To deploy a Rollkit rollup on Celestia you also have to run a Celestia light node.

Use of other data availability (DA) layers is also supported by Rollkit, and research integrations for Bitcoin, Mock, gRPC are works in progress. New DA layer integrations can be added by using the go-da interface.

Node components

Mempool

The mempool is inspired by the CometBFT mempool. By default, transactions are handled in a First Come, First Served (FCFS) manner. Ordering of transactions can be implemented on the application level; currently this is possible by returning a priority on CheckTx, and once we support ABCI++ it is also possible via PrepareProposal and the application mempool.

Block manager

The block manager contains routines AggregationLoop, RetrieveLoop, and SyncLoop that communicate through Go channels. These Go routines are ran when a Rollkit node starts up (OnStart). Only the sequencer nodes run AggregationLoop which controls the frequency of block production for a rollup with a timer as per the BlockTime in BlockManager.

All nodes run SyncLoop which looks for the following operations:

  • Receive block headers: block headers are received through a channel HeaderInCh and Rollkit nodes attempt to verify the block with the corresponding block data.
  • Receive block data: block bodies are received through a channel blockInCh and Rollkit nodes attempt to verify the block.
  • Signal RetrieveLoop with timer as per the DABlockTime in BlockManager.

All nodes also run RetrieveLoop which is responsible for interacting with the data availability layer. It checks the last updated DAHeight to retrieve a block with timer DABlockTime signaled by SyncLoop. Note that the start height of the DA layer for the rollup, DAStartHeight, is configurable in BlockManager.

RPC

Rollkit's RPC fully implements the CometBFT RPC interfaces and APIs for querying:

  • Information about the rollup node: information such as node's health, status, and network info.
  • The rollup blockchain: getting information about the rollup blockchain such as blocks and block headers.
  • The rollup transactions: getting transaction information and broadcasting raw transactions, with search capabilities.
  • ABCI: rollup application information.

The following RPC protocols are currently supported:

  • URI over HTTP
  • JSON-RPC over HTTP
  • JSON-RPC over WebSockets

P2P layer

Rollkit's P2P layer enables direct communication between rollup nodes. It's used to gossip transactions, headers of newly created blocks, and state fraud proofs. The P2P layer is implemented using libp2p.

Rollkit uses DHT-based active peer discovery. Starting a node connects to pre-configured bootstrap peers, and advertises its namespace ID in the DHT. This solution is flexible, because multiple rollup networks may reuse the same DHT/bootstrap nodes, but specific rollup network might decide to use dedicated nodes as well.

Rollkit node types

Rollkit nodes are implemented in the node package.

Full node

Full nodes verify all blocks, and produce fraud proofs for optimistic rollups. Since they fully verify all rollup blocks, they don't rely on fraud or validity proofs for security.

Light node (work in progress)

Light nodes are light-weight rollup nodes that authenticate block headers, and can be secured by fraud proofs or validity proofs. They're recommended for average users on low-resource devices. Users running light nodes can make trust-minimized queries about the rollup's state. Currently, Rollkit light nodes are still under development.

Sequencer node

Rollups can utilize sequencer nodes. Sequencers are block producers for rollups, responsible for aggregating transactions into blocks, and typically executing transactions to produce a state root, used by the rollup's light clients.

Rollkit plans to support multiple different pluggable sequencer schemes:

Deploy in one-clickFaster soft-confirmations than L1Control over rollup's transaction orderingAtomic composability with other rollupsCensorship resistanceImplementation Status
Centralized sequencerRequires spinning up a sequencerYes ✅Yes ✅No ❌Eventual ⏳*✅ Implemented!
Decentralized sequencerRequires spinning up a sequencer setYes ✅Yes ✅No ❌Real-time ⚡️Planned
Shared decentralized sequencerYes ✅Yes ✅No ❌Yes ✅Real-time ⚡️Planned
Pure fork-choice ruleYes ✅No ❌Maybe 🟡Maybe 🟡Eventual ⏳Planned

"Pure fork-choice rule" refers to any rollup without privileged sequencers, e.g. nodes defer to the data availability layer for ordering and apply a "first-come-first-serve" fork-choice rule.

* implementation of this property is in progress.

State validity modes

Pessimistic (full nodes only)

A pessimistic rollup is a rollup that only supports full nodes that replay all the transactions in the rollup in order to check its validity. Rollkit supports pessimistic rollups by default.

Pessimistic rollups are similar to how Tether uses Bitcoin as a data availability layer via OmniLayer.

Optimistic (fraud proofs) (work in progress)

Rollkit's current design consists of a single sequencer that posts blocks to the DA layer, and multiple (optional) full nodes. Sequencers gossip block headers to full nodes and full nodes fetch posted blocks from the DA layer. Full nodes then execute transactions in these blocks to update their state, and gossip block headers over the P2P network to Rollkit light nodes.

Once state fraud proofs are enabled, when a block contains a fraudulent state transition, Rollkit full nodes can detect it by comparing intermediate state roots (ISRs) between transactions, and generate a state fraud proof that can be gossiped over the P2P network to Rollkit light nodes. These Rollkit light nodes can then use this state fraud proof to verify whether a fraudulent state transition occurred or not by themselves.

Overall, state fraud proofs will enable trust-minimization between full nodes and light nodes as long as there is at least one honest full node in the system that will generate state fraud proofs.

Note that Rollkit state fraud proofs are still a work in progress and will require new methods on top of ABCI, specifically, GenerateFraudProof, VerifyFraudProof, and GetAppHash.

You can find current detailed design and the remaining work needed to push state fraud proofs towards completion in this Architecture Decision Record (ADR).

Validity (ZK proofs)

Validity (ZK) rollups are planned, but not currently supported by Rollkit.

',54);function k(y,v,w,x,q,R){const r=i("Mermaid");return o(),n("div",null,[u,f,m,g,(o(),s(c,null,{default:a(()=>[h(r,{id:"mermaid-12",graph:"graph%20TD%0A%20%20%20%20A%5BRollkit%20Rollup%5D%0A%20%20%20%20B%5BRollkit%5D%0A%20%20%20%20C%5BData%20Availability%20Chain%5D%0A%20%20%20%20%0A%20%20%20%20A%20%3C--%3E%7CABCI%7C%20B%0A%20%20%20%20B%20%3C--%3E%7CDA%20API%7C%20C%0A"})]),fallback:a(()=>[t(" Loading... ")]),_:1})),b])}const _=l(p,[["render",k]]);export{C as __pageData,_ as default}; diff --git a/pr-333/assets/learn_stack.md.db0bfec0.lean.js b/pr-333/assets/learn_stack.md.db0bfec0.lean.js deleted file mode 100644 index a46e540b9..000000000 --- a/pr-333/assets/learn_stack.md.db0bfec0.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as l,K as i,o,c as n,b as s,w as a,a5 as c,k as e,a as t,X as d,O as h}from"./chunks/framework.8df7efef.js";const C=JSON.parse('{"title":"Rollkit stack","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Rollkit stack | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/stack.md","filePath":"learn/stack.md","lastUpdated":1711045903000}'),p={name:"learn/stack.md"},u=e("h1",{id:"rollkit-stack",tabindex:"-1"},[t("Rollkit stack "),e("a",{class:"header-anchor",href:"#rollkit-stack","aria-label":'Permalink to "Rollkit stack"'},"​")],-1),f=e("p",null,"This page will cover the main components of Rollkit.",-1),m=e("p",null,"Rollup sequencer nodes collect transactions from users, aggregate them into blocks, and post the blocks onto a data availability (DA) layer (such as Celestia) to be ordered and finalized. Full nodes execute and verify rollup blocks, and in the case of an optimistic rollup, propagate fraud proofs when needed. Light clients will receive headers, verify proofs (fraud, zk, etc), and authenticate trust-minimized queries about the state.",-1),g=e("h2",{id:"application-structure",tabindex:"-1"},[t("Application structure "),e("a",{class:"header-anchor",href:"#application-structure","aria-label":'Permalink to "Application structure"'},"​")],-1),b=d("",54);function k(y,v,w,x,q,R){const r=i("Mermaid");return o(),n("div",null,[u,f,m,g,(o(),s(c,null,{default:a(()=>[h(r,{id:"mermaid-12",graph:"graph%20TD%0A%20%20%20%20A%5BRollkit%20Rollup%5D%0A%20%20%20%20B%5BRollkit%5D%0A%20%20%20%20C%5BData%20Availability%20Chain%5D%0A%20%20%20%20%0A%20%20%20%20A%20%3C--%3E%7CABCI%7C%20B%0A%20%20%20%20B%20%3C--%3E%7CDA%20API%7C%20C%0A"})]),fallback:a(()=>[t(" Loading... ")]),_:1})),b])}const _=l(p,[["render",k]]);export{C as __pageData,_ as default}; diff --git a/pr-333/assets/learn_transaction-flow.md.a6e88b76.js b/pr-333/assets/learn_transaction-flow.md.a6e88b76.js deleted file mode 100644 index ef60f73c5..000000000 --- a/pr-333/assets/learn_transaction-flow.md.a6e88b76.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r,K as d,o as t,c,b as n,w as o,a5 as l,X as h,k as a,a as e,O as s}from"./chunks/framework.8df7efef.js";const D=JSON.parse('{"title":"Transaction flow","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Transaction flow | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/transaction-flow.md","filePath":"learn/transaction-flow.md","lastUpdated":1711045903000}'),u={name:"learn/transaction-flow.md"},p=h('

Transaction flow

Rollup users use a light node to communicate with the rollup P2P network for two primary reasons:

  • submitting transactions
  • gossipping headers and fraud proofs

WARNING

Light nodes are still a work in progress.

Here's what the typical transaction flow looks like:

Transaction submission

',6),f=a("h2",{id:"transaction-validation-and-processing",tabindex:"-1"},[e("Transaction validation and processing "),a("a",{class:"header-anchor",href:"#transaction-validation-and-processing","aria-label":'Permalink to "Transaction validation and processing"'},"​")],-1),m=a("h2",{id:"block-processing",tabindex:"-1"},[e("Block processing "),a("a",{class:"header-anchor",href:"#block-processing","aria-label":'Permalink to "Block processing"'},"​")],-1),A=a("h2",{id:"fraud-proof-gossip-and-forking",tabindex:"-1"},[e("Fraud proof gossip and forking "),a("a",{class:"header-anchor",href:"#fraud-proof-gossip-and-forking","aria-label":'Permalink to "Fraud proof gossip and forking"'},"​")],-1),g=a("p",null,"To transact, users submit a transaction to their light node, which gossips the transaction to a full node. Before adding the transaction to their mempool, the full node checks its validity. Valid transactions are included in the mempool, while invalid ones are refused, and the user's transaction will not be processed.",-1),b=a("p",null,"If the transaction is valid and has been included in the mempool, the sequencer can add it to a rollup block, which is then submitted to the data availability (DA) layer. This results in a successful transaction flow for the user, and the state of the rollup is updated accordingly.",-1),k=a("p",null,"After the block is submitted to the DA layer, the full nodes download and validate the block. However, there is a possibility that the sequencer may maliciously submit a block to the DA layer with invalid transactions or state. In such cases, the full nodes of the rollup chain will consider the block invalid. In the case of an optimistic rollup, if they find the block invalid, they generate fraud proofs and gossip them in the P2P network among other full and light nodes.",-1),_=a("p",null,[e("As a result, the rollup chain will halt, and the network will decide to fork the chain through social consensus. In the future, when a decentralized sequencer scheme is in place, additional options will be available, such as slashing the sequencer or selecting another full node as the sequencer. However, in any case, a new block must be created and submitted to the DA layer. You can read more about sequencer nodes "),a("a",{href:"/docs-preview/pr-333/learn/stack#sequencer-node"},"here"),e(".")],-1);function w(E,N,v,F,y,T){const i=d("Mermaid");return t(),c("div",null,[p,(t(),n(l,null,{default:o(()=>[s(i,{id:"mermaid-29",graph:"sequenceDiagram%0A%20%20%20%20participant%20User%0A%20%20%20%20participant%20LightNode%0A%20%20%20%20participant%20FullNode%0A%20%20%20%20%0A%20%20%20%20User-%3E%3ELightNode%3A%20Submit%20Transaction%0A%20%20%20%20LightNode-%3E%3EFullNode%3A%20Gossip%20Transaction%0A%20%20%20%20FullNode--%3E%3EUser%3A%20Refuse%20(if%20invalid)%0A"})]),fallback:o(()=>[e(" Loading... ")]),_:1})),f,(t(),n(l,null,{default:o(()=>[s(i,{id:"mermaid-33",graph:"sequenceDiagram%0A%20%20%20%20participant%20FullNode%0A%20%20%20%20participant%20Sequencer%0A%0A%20%20%20%20FullNode-%3E%3EFullNode%3A%20Check%20Validity%0A%20%20%20%20FullNode-%3E%3EFullNode%3A%20Add%20to%20Mempool%20(if%20valid)%0A%20%20%20%20FullNode--%3E%3EUser%3A%20Transaction%20Processed%20(if%20valid)%0A%20%20%20%20FullNode-%3E%3ESequencer%3A%20Inform%20about%20Valid%20Transaction%0A%20%20%20%20Sequencer-%3E%3EDALayer%3A%20Add%20to%20Rollup%20Block%0A"})]),fallback:o(()=>[e(" Loading... ")]),_:1})),m,(t(),n(l,null,{default:o(()=>[s(i,{id:"mermaid-37",graph:"sequenceDiagram%0A%20%20%20%20participant%20DALayer%0A%20%20%20%20participant%20FullNode%0A%20%20%20%20participant%20RollupChain%0A%0A%20%20%20%20DALayer-%3E%3ERollupChain%3A%20Update%20State%0A%20%20%20%20DALayer-%3E%3EFullNode%3A%20Download%20%26%20Validate%20Block%0A%20%20%20%20FullNode-%3E%3EFullNode%3A%20Generate%20Fraud%20Proofs%20(if%20invalid)%0A"})]),fallback:o(()=>[e(" Loading... ")]),_:1})),A,(t(),n(l,null,{default:o(()=>[s(i,{id:"mermaid-41",graph:"sequenceDiagram%0A%20%20%20%20participant%20FullNode%0A%20%20%20%20participant%20LightNode%0A%20%20%20%20participant%20RollupChain%0A%0A%20%20%20%20FullNode-%3E%3ELightNode%3A%20Gossip%20Fraud%20Proofs%20(if%20invalid)%0A%20%20%20%20RollupChain-%3E%3ERollupChain%3A%20Halt%20%26%20Decide%20to%20Fork%20(if%20invalid)%0A%20%20%20%20RollupChain-%3E%3EDALayer%3A%20Submit%20New%20Block%20(after%20fork)%0A"})]),fallback:o(()=>[e(" Loading... ")]),_:1})),g,b,k,_])}const P=r(u,[["render",w]]);export{D as __pageData,P as default}; diff --git a/pr-333/assets/learn_transaction-flow.md.a6e88b76.lean.js b/pr-333/assets/learn_transaction-flow.md.a6e88b76.lean.js deleted file mode 100644 index a52ce100f..000000000 --- a/pr-333/assets/learn_transaction-flow.md.a6e88b76.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r,K as d,o as t,c,b as n,w as o,a5 as l,X as h,k as a,a as e,O as s}from"./chunks/framework.8df7efef.js";const D=JSON.parse('{"title":"Transaction flow","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Transaction flow | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/transaction-flow.md","filePath":"learn/transaction-flow.md","lastUpdated":1711045903000}'),u={name:"learn/transaction-flow.md"},p=h("",6),f=a("h2",{id:"transaction-validation-and-processing",tabindex:"-1"},[e("Transaction validation and processing "),a("a",{class:"header-anchor",href:"#transaction-validation-and-processing","aria-label":'Permalink to "Transaction validation and processing"'},"​")],-1),m=a("h2",{id:"block-processing",tabindex:"-1"},[e("Block processing "),a("a",{class:"header-anchor",href:"#block-processing","aria-label":'Permalink to "Block processing"'},"​")],-1),A=a("h2",{id:"fraud-proof-gossip-and-forking",tabindex:"-1"},[e("Fraud proof gossip and forking "),a("a",{class:"header-anchor",href:"#fraud-proof-gossip-and-forking","aria-label":'Permalink to "Fraud proof gossip and forking"'},"​")],-1),g=a("p",null,"To transact, users submit a transaction to their light node, which gossips the transaction to a full node. Before adding the transaction to their mempool, the full node checks its validity. Valid transactions are included in the mempool, while invalid ones are refused, and the user's transaction will not be processed.",-1),b=a("p",null,"If the transaction is valid and has been included in the mempool, the sequencer can add it to a rollup block, which is then submitted to the data availability (DA) layer. This results in a successful transaction flow for the user, and the state of the rollup is updated accordingly.",-1),k=a("p",null,"After the block is submitted to the DA layer, the full nodes download and validate the block. However, there is a possibility that the sequencer may maliciously submit a block to the DA layer with invalid transactions or state. In such cases, the full nodes of the rollup chain will consider the block invalid. In the case of an optimistic rollup, if they find the block invalid, they generate fraud proofs and gossip them in the P2P network among other full and light nodes.",-1),_=a("p",null,[e("As a result, the rollup chain will halt, and the network will decide to fork the chain through social consensus. In the future, when a decentralized sequencer scheme is in place, additional options will be available, such as slashing the sequencer or selecting another full node as the sequencer. However, in any case, a new block must be created and submitted to the DA layer. You can read more about sequencer nodes "),a("a",{href:"/docs-preview/pr-333/learn/stack#sequencer-node"},"here"),e(".")],-1);function w(E,N,v,F,y,T){const i=d("Mermaid");return t(),c("div",null,[p,(t(),n(l,null,{default:o(()=>[s(i,{id:"mermaid-29",graph:"sequenceDiagram%0A%20%20%20%20participant%20User%0A%20%20%20%20participant%20LightNode%0A%20%20%20%20participant%20FullNode%0A%20%20%20%20%0A%20%20%20%20User-%3E%3ELightNode%3A%20Submit%20Transaction%0A%20%20%20%20LightNode-%3E%3EFullNode%3A%20Gossip%20Transaction%0A%20%20%20%20FullNode--%3E%3EUser%3A%20Refuse%20(if%20invalid)%0A"})]),fallback:o(()=>[e(" Loading... ")]),_:1})),f,(t(),n(l,null,{default:o(()=>[s(i,{id:"mermaid-33",graph:"sequenceDiagram%0A%20%20%20%20participant%20FullNode%0A%20%20%20%20participant%20Sequencer%0A%0A%20%20%20%20FullNode-%3E%3EFullNode%3A%20Check%20Validity%0A%20%20%20%20FullNode-%3E%3EFullNode%3A%20Add%20to%20Mempool%20(if%20valid)%0A%20%20%20%20FullNode--%3E%3EUser%3A%20Transaction%20Processed%20(if%20valid)%0A%20%20%20%20FullNode-%3E%3ESequencer%3A%20Inform%20about%20Valid%20Transaction%0A%20%20%20%20Sequencer-%3E%3EDALayer%3A%20Add%20to%20Rollup%20Block%0A"})]),fallback:o(()=>[e(" Loading... ")]),_:1})),m,(t(),n(l,null,{default:o(()=>[s(i,{id:"mermaid-37",graph:"sequenceDiagram%0A%20%20%20%20participant%20DALayer%0A%20%20%20%20participant%20FullNode%0A%20%20%20%20participant%20RollupChain%0A%0A%20%20%20%20DALayer-%3E%3ERollupChain%3A%20Update%20State%0A%20%20%20%20DALayer-%3E%3EFullNode%3A%20Download%20%26%20Validate%20Block%0A%20%20%20%20FullNode-%3E%3EFullNode%3A%20Generate%20Fraud%20Proofs%20(if%20invalid)%0A"})]),fallback:o(()=>[e(" Loading... ")]),_:1})),A,(t(),n(l,null,{default:o(()=>[s(i,{id:"mermaid-41",graph:"sequenceDiagram%0A%20%20%20%20participant%20FullNode%0A%20%20%20%20participant%20LightNode%0A%20%20%20%20participant%20RollupChain%0A%0A%20%20%20%20FullNode-%3E%3ELightNode%3A%20Gossip%20Fraud%20Proofs%20(if%20invalid)%0A%20%20%20%20RollupChain-%3E%3ERollupChain%3A%20Halt%20%26%20Decide%20to%20Fork%20(if%20invalid)%0A%20%20%20%20RollupChain-%3E%3EDALayer%3A%20Submit%20New%20Block%20(after%20fork)%0A"})]),fallback:o(()=>[e(" Loading... ")]),_:1})),g,b,k,_])}const P=r(u,[["render",w]]);export{D as __pageData,P as default}; diff --git a/pr-333/assets/style.fa060385.css b/pr-333/assets/style.fa060385.css deleted file mode 100644 index 723c7ed94..000000000 --- a/pr-333/assets/style.fa060385.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/docs-preview/pr-333/assets/inter-roman-cyrillic.5f2c6c8c.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/docs-preview/pr-333/assets/inter-roman-cyrillic-ext.e75737ce.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/docs-preview/pr-333/assets/inter-roman-greek.d5a6d92a.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/docs-preview/pr-333/assets/inter-roman-greek-ext.ab0619bc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/docs-preview/pr-333/assets/inter-roman-latin.2ed14f66.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/docs-preview/pr-333/assets/inter-roman-latin-ext.0030eebd.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/docs-preview/pr-333/assets/inter-roman-vietnamese.14ce25a6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/docs-preview/pr-333/assets/inter-italic-cyrillic.ea42a392.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/docs-preview/pr-333/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/docs-preview/pr-333/assets/inter-italic-greek.8f4463c4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/docs-preview/pr-333/assets/inter-italic-greek-ext.4fbe9427.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/docs-preview/pr-333/assets/inter-italic-latin.bd3b6f56.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/docs-preview/pr-333/assets/inter-italic-latin-ext.bd8920cc.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/docs-preview/pr-333/assets/inter-italic-vietnamese.6ce511fb.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-gray: #8e8e93;--vp-c-text-light-1: rgba(60, 60, 67);--vp-c-text-light-2: rgba(60, 60, 67, .75);--vp-c-text-light-3: rgba(60, 60, 67, .33);--vp-c-text-dark-1: rgba(255, 255, 245, .86);--vp-c-text-dark-2: rgba(235, 235, 245, .6);--vp-c-text-dark-3: rgba(235, 235, 245, .38);--vp-c-sponsor: #db2777}:root{--vp-c-bg: #ffffff;--vp-c-bg-elv: #ffffff;--vp-c-bg-elv-up: #ffffff;--vp-c-bg-elv-down: #f6f6f7;--vp-c-bg-elv-mute: #f6f6f7;--vp-c-bg-soft: #f6f6f7;--vp-c-bg-soft-up: #f9f9fa;--vp-c-bg-soft-down: #e3e3e5;--vp-c-bg-soft-mute: #e3e3e5;--vp-c-bg-alt: #f6f6f7;--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white);--vp-c-text-1: var(--vp-c-text-light-1);--vp-c-text-2: var(--vp-c-text-light-2);--vp-c-text-3: var(--vp-c-text-light-3);--vp-c-text-inverse-1: var(--vp-c-text-dark-1);--vp-c-text-inverse-2: var(--vp-c-text-dark-2);--vp-c-text-inverse-3: var(--vp-c-text-dark-3);--vp-c-text-code: #476582;--vp-c-mute: #eeeef0;--vp-c-mute-light: #f3f3f9;--vp-c-mute-lighter: #f9f9fa;--vp-c-mute-dark: #e3e3e5;--vp-c-mute-darker: #d7d7d9;--vp-c-brand: #4565d8;--vp-c-brand-light: #708fff;--vp-c-brand-lighter: #a4b2ff;--vp-c-brand-lightest: #ecefff;--vp-c-brand-dark: #4565d8;--vp-c-brand-darker: #23459f;--vp-c-brand-darkest: #132f59;--vp-c-brand-dimm-1: rgba(112, 143, 255, .05);--vp-c-brand-dimm-2: rgba(112, 143, 255, .2);--vp-c-brand-dimm-3: rgba(112, 143, 255, .5);--vp-c-green: #10b981;--vp-c-green-light: #34d399;--vp-c-green-lighter: #6ee7b7;--vp-c-green-dark: #059669;--vp-c-green-darker: #047857;--vp-c-green-dimm-1: rgba(16, 185, 129, .05);--vp-c-green-dimm-2: rgba(16, 185, 129, .2);--vp-c-green-dimm-3: rgba(16, 185, 129, .5);--vp-c-yellow: #d97706;--vp-c-yellow-light: #f59e0b;--vp-c-yellow-lighter: #fbbf24;--vp-c-yellow-lightest: #fcd34d;--vp-c-yellow-dark: #b45309;--vp-c-yellow-darker: #92400e;--vp-c-yellow-darkest: #6c3d08;--vp-c-yellow-dimm-1: rgba(234, 179, 8, .05);--vp-c-yellow-dimm-2: rgba(234, 179, 8, .2);--vp-c-yellow-dimm-3: rgba(234, 179, 8, .5);--vp-c-red: #f43f5e;--vp-c-red-light: #fb7185;--vp-c-red-lighter: #fda4af;--vp-c-red-lightest: #fdd6e0;--vp-c-red-dark: #e11d48;--vp-c-red-darker: #be123c;--vp-c-red-darkest: #9f1239;--vp-c-red-dimm-1: rgba(244, 63, 94, .05);--vp-c-red-dimm-2: rgba(244, 63, 94, .2);--vp-c-red-dimm-3: rgba(244, 63, 94, .5)}.dark{--vp-c-bg: #1e1e20;--vp-c-bg-elv: #252529;--vp-c-bg-elv-up: #323238;--vp-c-bg-elv-down: #1e1e20;--vp-c-bg-elv-mute: #323238;--vp-c-bg-soft: #252529;--vp-c-bg-soft-up: #323238;--vp-c-bg-soft-down: #1e1e20;--vp-c-bg-soft-mute: #323238;--vp-c-bg-alt: #161618;--vp-c-border: rgba(82, 82, 89, .68);--vp-c-divider: rgba(82, 82, 89, .32);--vp-c-gutter: #000000;--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black);--vp-c-text-1: var(--vp-c-text-dark-1);--vp-c-text-2: var(--vp-c-text-dark-2);--vp-c-text-3: var(--vp-c-text-dark-3);--vp-c-text-inverse-1: var(--vp-c-text-light-1);--vp-c-text-inverse-2: var(--vp-c-text-light-2);--vp-c-text-inverse-3: var(--vp-c-text-light-3);--vp-c-text-code: #c9def1;--vp-c-mute: #323238;--vp-c-mute-light: #3a3a3c;--vp-c-mute-lighter: #505053;--vp-c-mute-dark: #222226;--vp-c-mute-darker: #505053;--vp-c-brand: #708fff;--vp-c-brand-light: #a4b2ff;--vp-c-brand-lighter: #a4c8ff;--vp-c-brand-lightest: #ecefff;--vp-c-brand-dark: #4565d8;--vp-c-brand-darker: #23459f;--vp-c-brand-darkest: #132f59;--vp-c-brand-dimm-1: rgba(112, 143, 255, .05);--vp-c-brand-dimm-2: rgba(112, 143, 255, .2);--vp-c-brand-dimm-3: rgba(112, 143, 255, .5);--vp-c-green: #10b981;--vp-c-green-light: #34d399;--vp-c-green-lighter: #6ee7b7;--vp-c-green-lightest: #a7f3d0;--vp-c-green-dark: #059669;--vp-c-green-darker: #047857;--vp-c-green-darkest: #065f46;--vp-c-green-dimm-1: rgba(16, 185, 129, .05);--vp-c-green-dimm-2: rgba(16, 185, 129, .2);--vp-c-green-dimm-3: rgba(16, 185, 129, .5);--vp-c-yellow: #d1a336;--vp-c-yellow-light: #f8e3a1;--vp-c-yellow-lighter: #fff0c0;--vp-c-yellow-lightest: #fff7dc;--vp-c-yellow-dark: #b45309;--vp-c-yellow-darker: #92400e;--vp-c-yellow-darkest: #6c3d08;--vp-c-yellow-dimm-1: rgba(234, 179, 8, .05);--vp-c-yellow-dimm-2: rgba(234, 179, 8, .2);--vp-c-yellow-dimm-3: rgba(234, 179, 8, .5);--vp-c-red: #f43f5e;--vp-c-red-light: #fb7185;--vp-c-red-lighter: #fda4af;--vp-c-red-lightest: #fdd6e0;--vp-c-red-dark: #e11d48;--vp-c-red-darker: #be123c;--vp-c-red-darkest: #9f1239;--vp-c-red-dimm-1: rgba(244, 63, 94, .05);--vp-c-red-dimm-2: rgba(244, 63, 94, .2);--vp-c-red-dimm-3: rgba(244, 63, 94, .5)}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-local-nav: 10;--vp-z-index-nav: 20;--vp-z-index-layout-top: 30;--vp-z-index-backdrop: 40;--vp-z-index-sidebar: 50;--vp-z-index-footer: 60}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-c-code-dimm: var(--vp-c-text-dark-3);--vp-code-block-color: var(--vp-c-text-dark-1);--vp-code-block-bg: #161618;--vp-code-block-bg-light: #1e1e20;--vp-code-block-divider-color: #000000;--vp-code-line-highlight-color: rgba(0, 0, 0, .5);--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-line-diff-add-color: var(--vp-c-green-dimm-2);--vp-code-line-diff-add-symbol-color: var(--vp-c-green);--vp-code-line-diff-remove-color: var(--vp-c-red-dimm-2);--vp-code-line-diff-remove-symbol-color: var(--vp-c-red);--vp-code-line-warning-color: var(--vp-c-yellow-dimm-2);--vp-code-line-error-color: var(--vp-c-red-dimm-2);--vp-code-copy-code-border-color: transparent;--vp-code-copy-code-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-active-text: var(--vp-c-text-dark-2);--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-dark-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-bar-color: var(--vp-c-brand)}.dark{--vp-code-block-bg: #161618}:root:not(.dark) .vp-adaptive-theme{--vp-c-code-dimm: var(--vp-c-text-2);--vp-code-block-color: var(--vp-c-text-1);--vp-code-block-bg: #f8f8f8;--vp-code-block-divider-color: var(--vp-c-divider);--vp-code-line-highlight-color: #ececec;--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-copy-code-bg: #e2e2e2;--vp-code-copy-code-hover-bg: #dcdcdc;--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-tab-divider: var(--vp-c-divider);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1)}:root{--vp-button-brand-border: var(--vp-c-brand);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-dark);--vp-button-brand-hover-border: var(--vp-c-brand-light);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-darker);--vp-button-brand-active-border: var(--vp-c-brand-light);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-darkest);--vp-button-alt-border: var(--vp-c-border);--vp-button-alt-text: var(--vp-c-neutral);--vp-button-alt-bg: var(--vp-c-mute);--vp-button-alt-hover-border: var(--vp-c-border);--vp-button-alt-hover-text: var(--vp-c-neutral);--vp-button-alt-hover-bg: var(--vp-c-mute-dark);--vp-button-alt-active-border: var(--vp-c-border);--vp-button-alt-active-text: var(--vp-c-neutral);--vp-button-alt-active-bg: var(--vp-c-mute-darker);--vp-button-sponsor-border: var(--vp-c-gray-light-3);--vp-button-sponsor-text: var(--vp-c-text-light-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}.dark{--vp-button-sponsor-border: var(--vp-c-gray-dark-1);--vp-button-sponsor-text: var(--vp-c-text-dark-2)}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: var(--vp-c-border);--vp-custom-block-info-text: var(--vp-c-text-2);--vp-custom-block-info-bg: var(--vp-c-bg-soft);--vp-custom-block-info-code-bg: var(--vp-c-mute);--vp-custom-block-tip-border: var(--vp-c-brand);--vp-custom-block-tip-text: var(--vp-c-brand);--vp-custom-block-tip-bg: var(--vp-c-bg-soft);--vp-custom-block-tip-code-bg: var(--vp-c-mute);--vp-custom-block-warning-border: var(--vp-c-yellow);--vp-custom-block-warning-text: var(--vp-c-yellow);--vp-custom-block-warning-bg: var(--vp-c-bg-soft);--vp-custom-block-warning-code-bg: var(--vp-c-mute);--vp-custom-block-danger-border: var(--vp-c-red);--vp-custom-block-danger-text: var(--vp-c-red);--vp-custom-block-danger-bg: var(--vp-c-bg-soft);--vp-custom-block-danger-code-bg: var(--vp-c-mute);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-details-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-hover-border-color: var(--vp-c-gray);--vp-input-switch-bg-color: var(--vp-c-mute)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: var(--vp-c-border);--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-mute);--vp-badge-tip-border: var(--vp-c-brand);--vp-badge-tip-text: var(--vp-c-brand);--vp-badge-tip-bg: var(--vp-c-brand-dimm-1);--vp-badge-warning-border: var(--vp-c-yellow);--vp-badge-warning-text: var(--vp-c-yellow);--vp-badge-warning-bg: var(--vp-c-yellow-dimm-1);--vp-badge-danger-border: var(--vp-c-red);--vp-badge-danger-text: var(--vp-c-red);--vp-badge-danger-bg: var(--vp-c-red-dimm-1)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand);--vp-local-search-highlight-bg: var(--vp-c-green-lighter);--vp-local-search-highlight-text: var(--vp-c-black)}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);direction:ltr;font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline dotted;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.dark .vp-code-light{display:none}html:not(.dark) .vp-code-dark{display:none}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:1px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand)}.vp-doc a:hover{text-decoration:underline dotted;text-underline-offset:2px}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block a{color:inherit;font-weight:600}.vp-doc .custom-block code{font-size:var(--vp-custom-block-code-font-size);font-weight:700;color:inherit}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;color:var(--vp-c-text-code);background-color:var(--vp-c-mute);transition:color .5s,background-color .5s}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc a>code{color:var(--vp-c-brand)}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;left:-65px;display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;width:64px;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:"Copied"}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-c-code-dimm);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-bg-soft-down)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge[data-v-7a7936a3]{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:600;transform:translateY(-2px)}.vp-doc h1>.VPBadge[data-v-7a7936a3]{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge[data-v-7a7936a3]{margin-top:3px;line-height:20px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge[data-v-7a7936a3]{line-height:20px;vertical-align:middle}.vp-doc h4>.VPBadge[data-v-7a7936a3],.vp-doc h5>.VPBadge[data-v-7a7936a3],.vp-doc h6>.VPBadge[data-v-7a7936a3]{vertical-align:middle;line-height:18px}.VPBadge.info[data-v-7a7936a3]{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip[data-v-7a7936a3]{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning[data-v-7a7936a3]{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger[data-v-7a7936a3]{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-54a304ca]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-54a304ca],.VPBackdrop.fade-leave-to[data-v-54a304ca]{opacity:0}.VPBackdrop.fade-leave-active[data-v-54a304ca]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-54a304ca]{display:none}}.NotFound[data-v-1bc323a9]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-1bc323a9]{padding:96px 32px 168px}}.code[data-v-1bc323a9]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-1bc323a9]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-1bc323a9]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-1bc323a9]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-1bc323a9]{padding-top:20px}.link[data-v-1bc323a9]{display:inline-block;border:1px solid var(--vp-c-brand);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:border-color .25s,color .25s}.link[data-v-1bc323a9]:hover{border-color:var(--vp-c-brand-dark);color:var(--vp-c-brand-dark)}.root[data-v-463da30f]{position:relative;z-index:1}.nested[data-v-463da30f]{padding-left:16px}.outline-link[data-v-463da30f]{display:block;line-height:28px;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s;font-weight:400}.outline-link[data-v-463da30f]:hover,.outline-link.active[data-v-463da30f]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-463da30f]{padding-left:13px}.VPDocAsideOutline[data-v-c834746b]{display:none}.VPDocAsideOutline.has-outline[data-v-c834746b]{display:block}.content[data-v-c834746b]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-c834746b]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:1px;height:18px;background-color:var(--vp-c-brand);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-c834746b]{letter-spacing:.4px;line-height:28px;font-size:13px;font-weight:600}.VPDocAside[data-v-cb998dce]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-cb998dce]{flex-grow:1}.VPDocAside[data-v-cb998dce] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-cb998dce] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-cb998dce] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-b89b6307]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-b89b6307]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-5774f702]{margin-top:64px}.edit-info[data-v-5774f702]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-5774f702]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-5774f702]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.edit-link-button[data-v-5774f702]:hover{color:var(--vp-c-brand-dark)}.edit-link-icon[data-v-5774f702]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-5774f702]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-5774f702]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-5774f702]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-5774f702]:hover{border-color:var(--vp-c-brand)}.pager-link.next[data-v-5774f702]{margin-left:auto;text-align:right}.desc[data-v-5774f702]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-5774f702]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.VPDocOutlineDropdown[data-v-0bc40447]{margin-bottom:48px}.VPDocOutlineDropdown button[data-v-0bc40447]{display:block;font-size:14px;font-weight:500;line-height:24px;border:1px solid var(--vp-c-border);padding:4px 12px;color:var(--vp-c-text-2);background-color:var(--vp-c-mute);border-radius:8px;transition:color .5s}.VPDocOutlineDropdown button[data-v-0bc40447]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPDocOutlineDropdown button.open[data-v-0bc40447]{color:var(--vp-c-text-1)}.icon[data-v-0bc40447]{display:inline-block;vertical-align:middle;width:16px;height:16px;fill:currentColor}[data-v-0bc40447] .outline-link{font-size:14px;font-weight:400}.open>.icon[data-v-0bc40447]{transform:rotate(90deg)}.items[data-v-0bc40447]{margin-top:12px;border-left:1px solid var(--vp-c-divider)}.VPDoc[data-v-a3c25e27]{padding:32px 24px 96px;width:100%}.VPDoc .VPDocOutlineDropdown[data-v-a3c25e27]{display:none}@media (min-width: 960px) and (max-width: 1279px){.VPDoc .VPDocOutlineDropdown[data-v-a3c25e27]{display:block}}@media (min-width: 768px){.VPDoc[data-v-a3c25e27]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-a3c25e27]{padding:32px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-a3c25e27]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-a3c25e27]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-a3c25e27]{display:flex;justify-content:center}.VPDoc .aside[data-v-a3c25e27]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-a3c25e27]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-a3c25e27]{max-width:1104px}}.container[data-v-a3c25e27]{margin:0 auto;width:100%}.aside[data-v-a3c25e27]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-a3c25e27]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-a3c25e27]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 32px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-a3c25e27]::-webkit-scrollbar{display:none}.aside-curtain[data-v-a3c25e27]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-a3c25e27]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 32px));padding-bottom:32px}.content[data-v-a3c25e27]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-a3c25e27]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-a3c25e27]{order:1;margin:0;min-width:640px}}.content-container[data-v-a3c25e27]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-a3c25e27]{max-width:688px}.external-link-icon-enabled[data-v-a3c25e27] :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.VPButton[data-v-fa1633a1]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-fa1633a1]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-fa1633a1]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-fa1633a1]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-fa1633a1]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-fa1633a1]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-fa1633a1]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-fa1633a1]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-fa1633a1]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-fa1633a1]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-fa1633a1]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-fa1633a1]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-fa1633a1]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-ab19afbb]{display:none}.dark .VPImage.light[data-v-ab19afbb]{display:none}.VPHero[data-v-5a3e9999]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-5a3e9999]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-5a3e9999]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-5a3e9999]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-5a3e9999]{flex-direction:row}}.main[data-v-5a3e9999]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-5a3e9999]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-5a3e9999]{text-align:left}}@media (min-width: 960px){.main[data-v-5a3e9999]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-5a3e9999]{max-width:592px}}.name[data-v-5a3e9999],.text[data-v-5a3e9999]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-5a3e9999],.VPHero.has-image .text[data-v-5a3e9999]{margin:0 auto}.name[data-v-5a3e9999]{color:var(--vp-home-hero-name-color)}.clip[data-v-5a3e9999]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-5a3e9999],.text[data-v-5a3e9999]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-5a3e9999],.text[data-v-5a3e9999]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-5a3e9999],.VPHero.has-image .text[data-v-5a3e9999]{margin:0}}.tagline[data-v-5a3e9999]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-5a3e9999]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-5a3e9999]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-5a3e9999]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-5a3e9999]{margin:0}}.actions[data-v-5a3e9999]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-5a3e9999]{justify-content:center}@media (min-width: 640px){.actions[data-v-5a3e9999]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-5a3e9999]{justify-content:flex-start}}.action[data-v-5a3e9999]{flex-shrink:0;padding:6px}.image[data-v-5a3e9999]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-5a3e9999]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-5a3e9999]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-5a3e9999]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-5a3e9999]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-5a3e9999]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-5a3e9999]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-5a3e9999]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-5a3e9999]{width:320px;height:320px}}[data-v-5a3e9999] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-5a3e9999] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-5a3e9999] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-aeb6d69c]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-aeb6d69c]:hover{border-color:var(--vp-c-brand);background-color:var(--vp-c-bg-soft-up)}.box[data-v-aeb6d69c]{display:flex;flex-direction:column;padding:24px;height:100%}.VPFeature[data-v-aeb6d69c] .VPImage{margin-bottom:20px}.icon[data-v-aeb6d69c]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-bg-soft-down);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-aeb6d69c]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-aeb6d69c]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-aeb6d69c]{padding-top:8px}.link-text-value[data-v-aeb6d69c]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand)}.link-text-icon[data-v-aeb6d69c]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-7e232fde]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-7e232fde]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-7e232fde]{padding:0 64px}}.container[data-v-7e232fde]{margin:0 auto;max-width:1152px}.items[data-v-7e232fde]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-7e232fde]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-7e232fde],.item.grid-4[data-v-7e232fde],.item.grid-6[data-v-7e232fde]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-7e232fde],.item.grid-4[data-v-7e232fde]{width:50%}.item.grid-3[data-v-7e232fde],.item.grid-6[data-v-7e232fde]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-7e232fde]{width:25%}}.VPHome[data-v-20eabd3a]{padding-bottom:96px}.VPHome[data-v-20eabd3a] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-20eabd3a]{padding-bottom:128px}}.VPContent[data-v-3cf691b6]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-3cf691b6]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-3cf691b6]{margin:0}@media (min-width: 960px){.VPContent[data-v-3cf691b6]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-3cf691b6]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-3cf691b6]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-e4279f1c]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-e4279f1c]{display:none}@media (min-width: 768px){.VPFooter[data-v-e4279f1c]{padding:32px}}.container[data-v-e4279f1c]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-e4279f1c],.copyright[data-v-e4279f1c]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-e8ae7d87]{padding:12px 20px 11px}.VPLocalNavOutlineDropdown button[data-v-e8ae7d87]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-e8ae7d87]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-e8ae7d87]{color:var(--vp-c-text-1)}.icon[data-v-e8ae7d87]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-e8ae7d87] .outline-link{font-size:14px;padding:2px 0}.open>.icon[data-v-e8ae7d87]{transform:rotate(90deg)}.items[data-v-e8ae7d87]{position:absolute;top:64px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}.header[data-v-e8ae7d87]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-e8ae7d87]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand)}.outline[data-v-e8ae7d87]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-e8ae7d87]{transition:all .2s ease-out}.flyout-leave-active[data-v-e8ae7d87]{transition:all .15s ease-in}.flyout-enter-from[data-v-e8ae7d87],.flyout-leave-to[data-v-e8ae7d87]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-693d654a]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--vp-c-gutter);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-693d654a]{position:fixed}.VPLocalNav.reached-top[data-v-693d654a]{border-top-color:transparent}@media (min-width: 960px){.VPLocalNav[data-v-693d654a]{display:none}}.menu[data-v-693d654a]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-693d654a]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-693d654a]{padding:0 32px}}.menu-icon[data-v-693d654a]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-693d654a]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-693d654a]{padding:12px 32px 11px}}.VPSwitch[data-v-92d8f6fb]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s}.VPSwitch[data-v-92d8f6fb]:hover{border-color:var(--vp-input-hover-border-color)}.check[data-v-92d8f6fb]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s}.icon[data-v-92d8f6fb]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-92d8f6fb] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-92d8f6fb] svg{fill:var(--vp-c-text-1);transition:opacity .25s}.sun[data-v-a99ed743]{opacity:1}.moon[data-v-a99ed743],.dark .sun[data-v-a99ed743]{opacity:0}.dark .moon[data-v-a99ed743]{opacity:1}.dark .VPSwitchAppearance[data-v-a99ed743] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-5e9f0637]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-5e9f0637]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-2a4d50e5]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-2a4d50e5]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-2a4d50e5]:hover{color:var(--vp-c-brand);background-color:var(--vp-c-bg-elv-mute)}.link.active[data-v-2a4d50e5]{color:var(--vp-c-brand)}.VPMenuGroup[data-v-a6b0397c]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-a6b0397c]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-a6b0397c]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-a6b0397c]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-e42ed9b3]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-e42ed9b3] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-e42ed9b3] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-e42ed9b3] .group:last-child{padding-bottom:0}.VPMenu[data-v-e42ed9b3] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-e42ed9b3] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-e42ed9b3] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-e42ed9b3] .action{padding-left:24px}.VPFlyout[data-v-6b19ffdd]{position:relative}.VPFlyout[data-v-6b19ffdd]:hover{color:var(--vp-c-brand);transition:color .25s}.VPFlyout:hover .text[data-v-6b19ffdd]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-6b19ffdd]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-6b19ffdd]{color:var(--vp-c-brand)}.VPFlyout.active:hover .text[data-v-6b19ffdd]{color:var(--vp-c-brand-dark)}.VPFlyout:hover .menu[data-v-6b19ffdd],.button[aria-expanded=true]+.menu[data-v-6b19ffdd]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-6b19ffdd]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-6b19ffdd]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-6b19ffdd]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-6b19ffdd]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-6b19ffdd]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-6b19ffdd]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-6b19ffdd]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-16cf740a]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-16cf740a]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-16cf740a]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-e71e869c]{display:flex;justify-content:center}.VPNavBarExtra[data-v-c8c2ae4b]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-c8c2ae4b]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-c8c2ae4b]{display:none}}.trans-title[data-v-c8c2ae4b]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-c8c2ae4b],.item.social-links[data-v-c8c2ae4b]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-c8c2ae4b]{min-width:176px}.appearance-action[data-v-c8c2ae4b]{margin-right:-2px}.social-links-list[data-v-c8c2ae4b]{margin:-4px -8px}.VPNavBarHamburger[data-v-6bee1efd]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-6bee1efd]{display:none}}.container[data-v-6bee1efd]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-6bee1efd]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-6bee1efd]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-6bee1efd]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-6bee1efd]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-6bee1efd]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-6bee1efd]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-6bee1efd],.VPNavBarHamburger.active:hover .middle[data-v-6bee1efd],.VPNavBarHamburger.active:hover .bottom[data-v-6bee1efd]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-6bee1efd],.middle[data-v-6bee1efd],.bottom[data-v-6bee1efd]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-6bee1efd]{top:0;left:0;transform:translate(0)}.middle[data-v-6bee1efd]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-6bee1efd]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-e5ab8091]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-e5ab8091],.VPNavBarMenuLink[data-v-e5ab8091]:hover{color:var(--vp-c-brand)}.VPNavBarMenu[data-v-f732b5d0]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-f732b5d0]{display:flex}}/*! @docsearch/css 3.5.1 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.DocSearch{--docsearch-primary-color: var(--vp-c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark .DocSearch{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-bg-soft-mute);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:1px;letter-spacing:-12px;color:transparent}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:var(--vp-meta-key);font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-bg-soft-mute)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-ef6192dc]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-ef6192dc]{display:flex;align-items:center}}.title[data-v-2973dbb4]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-2973dbb4]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-2973dbb4]{border-bottom-color:var(--vp-c-divider)}}[data-v-2973dbb4] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-ff4524ae]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-ff4524ae]{display:flex;align-items:center}}.title[data-v-ff4524ae]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-c8ceaf10]{position:relative;border-bottom:1px solid transparent;padding:0 8px 0 24px;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap}@media (min-width: 768px){.VPNavBar[data-v-c8ceaf10]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar[data-v-c8ceaf10]{padding:0}.VPNavBar[data-v-c8ceaf10]:not(.has-sidebar):not(.top){border-bottom-color:var(--vp-c-gutter);background-color:var(--vp-nav-bg-color)}}.container[data-v-c8ceaf10]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-c8ceaf10],.container>.content[data-v-c8ceaf10]{pointer-events:none}.container[data-v-c8ceaf10] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-c8ceaf10]{max-width:100%}}.title[data-v-c8ceaf10]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-c8ceaf10]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-c8ceaf10]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-c8ceaf10]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-c8ceaf10]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-c8ceaf10]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-c8ceaf10]{display:flex;justify-content:flex-end;align-items:center;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.top) .content-body[data-v-c8ceaf10]{position:relative;background-color:var(--vp-nav-bg-color)}}@media (max-width: 767px){.content-body[data-v-c8ceaf10]{column-gap:.5rem}}.menu+.translations[data-v-c8ceaf10]:before,.menu+.appearance[data-v-c8ceaf10]:before,.menu+.social-links[data-v-c8ceaf10]:before,.translations+.appearance[data-v-c8ceaf10]:before,.appearance+.social-links[data-v-c8ceaf10]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-c8ceaf10]:before,.translations+.appearance[data-v-c8ceaf10]:before{margin-right:16px}.appearance+.social-links[data-v-c8ceaf10]:before{margin-left:16px}.social-links[data-v-c8ceaf10]{margin-right:-8px}@media (min-width: 960px){.VPNavBar.has-sidebar .curtain[data-v-c8ceaf10]{position:absolute;right:0;bottom:-31px;width:calc(100% - var(--vp-sidebar-width));height:32px}.VPNavBar.has-sidebar .curtain[data-v-c8ceaf10]:before{display:block;width:100%;height:32px;background:linear-gradient(var(--vp-c-bg),transparent 70%);content:""}}@media (min-width: 1440px){.VPNavBar.has-sidebar .curtain[data-v-c8ceaf10]{width:calc(100% - ((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width)))}}.VPNavScreenMenuLink[data-v-08b49756]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-08b49756]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupLink[data-v-97083fb3]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-97083fb3]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupSection[data-v-f60dbfa7]{display:block}.title[data-v-f60dbfa7]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-10e00a88]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-10e00a88]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-10e00a88]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-10e00a88]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-10e00a88]{padding-bottom:6px;color:var(--vp-c-brand)}.VPNavScreenMenuGroup.open .button-icon[data-v-10e00a88]{transform:rotate(45deg)}.button[data-v-10e00a88]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-10e00a88]:hover{color:var(--vp-c-brand)}.button-icon[data-v-10e00a88]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-10e00a88]:first-child{padding-top:0}.group+.group[data-v-10e00a88],.group+.item[data-v-10e00a88]{padding-top:4px}.VPNavScreenAppearance[data-v-0dc5cf49]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-0dc5cf49]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenTranslations[data-v-41505286]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-41505286]{height:auto}.title[data-v-41505286]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-41505286]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-41505286]{margin-right:8px}.icon.chevron[data-v-41505286]{margin-left:4px}.list[data-v-41505286]{padding:4px 0 0 24px}.link[data-v-41505286]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-dc785598]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-dc785598],.VPNavScreen.fade-leave-active[data-v-dc785598]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-dc785598],.VPNavScreen.fade-leave-active .container[data-v-dc785598]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-dc785598],.VPNavScreen.fade-leave-to[data-v-dc785598]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-dc785598],.VPNavScreen.fade-leave-to .container[data-v-dc785598]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-dc785598]{display:none}}.container[data-v-dc785598]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-dc785598],.menu+.appearance[data-v-dc785598],.translations+.appearance[data-v-dc785598]{margin-top:24px}.menu+.social-links[data-v-dc785598]{margin-top:16px}.appearance+.social-links[data-v-dc785598]{margin-top:16px}.VPNav[data-v-5bdc5df3]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-5bdc5df3]{position:fixed}}.VPSidebarItem.level-0[data-v-c356ab37]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-c356ab37]{padding-bottom:10px}.item[data-v-c356ab37]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-c356ab37]{cursor:pointer}.indicator[data-v-c356ab37]{position:absolute;top:6px;bottom:6px;left:-17px;width:1px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-c356ab37],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-c356ab37],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-c356ab37],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-c356ab37]{background-color:var(--vp-c-brand)}.link[data-v-c356ab37]{display:flex;align-items:center;flex-grow:1}.text[data-v-c356ab37]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-c356ab37]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-c356ab37],.VPSidebarItem.level-2 .text[data-v-c356ab37],.VPSidebarItem.level-3 .text[data-v-c356ab37],.VPSidebarItem.level-4 .text[data-v-c356ab37],.VPSidebarItem.level-5 .text[data-v-c356ab37]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-c356ab37],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-c356ab37],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-c356ab37],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-c356ab37],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-c356ab37],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-c356ab37]{color:var(--vp-c-brand)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-c356ab37],.VPSidebarItem.level-1.has-active>.item>.text[data-v-c356ab37],.VPSidebarItem.level-2.has-active>.item>.text[data-v-c356ab37],.VPSidebarItem.level-3.has-active>.item>.text[data-v-c356ab37],.VPSidebarItem.level-4.has-active>.item>.text[data-v-c356ab37],.VPSidebarItem.level-5.has-active>.item>.text[data-v-c356ab37],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-c356ab37],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-c356ab37],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-c356ab37],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-c356ab37],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-c356ab37],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-c356ab37]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-c356ab37],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-c356ab37],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-c356ab37],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-c356ab37],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-c356ab37],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-c356ab37]{color:var(--vp-c-brand)}.caret[data-v-c356ab37]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-c356ab37]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-c356ab37]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-c356ab37]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-c356ab37]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-c356ab37],.VPSidebarItem.level-2 .items[data-v-c356ab37],.VPSidebarItem.level-3 .items[data-v-c356ab37],.VPSidebarItem.level-4 .items[data-v-c356ab37],.VPSidebarItem.level-5 .items[data-v-c356ab37]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-c356ab37]{display:none}.VPSidebar[data-v-b04a928c]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-b04a928c]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-b04a928c]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-b04a928c]{z-index:1;padding-top:var(--vp-nav-height);padding-bottom:128px;width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-b04a928c]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-b04a928c]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-b04a928c]{outline:0}.group+.group[data-v-b04a928c]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-b04a928c]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-9c8615dd]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-9c8615dd]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-9c8615dd]{top:14px;left:16px}}.Layout[data-v-324e8308]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-978bd032]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-978bd032]{margin:0 auto;max-width:1152px}.love[data-v-978bd032]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-978bd032]{width:28px;height:28px;fill:currentColor}.message[data-v-978bd032]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-978bd032]{padding-top:32px}.action[data-v-978bd032]{padding-top:40px;text-align:center}.VPTeamPage[data-v-b1cfd8dc]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-b1cfd8dc]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-b1cfd8dc-s],.VPTeamMembers+.VPTeamPageSection[data-v-b1cfd8dc-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-b1cfd8dc-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-b1cfd8dc-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-b1cfd8dc-s],.VPTeamMembers+.VPTeamPageSection[data-v-b1cfd8dc-s]{margin-top:96px}}.VPTeamMembers[data-v-b1cfd8dc-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-b1cfd8dc-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-b1cfd8dc-s]{padding:0 64px}}.VPTeamPageTitle[data-v-46c5e327]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-46c5e327]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-46c5e327]{padding:80px 64px 48px}}.title[data-v-46c5e327]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-46c5e327]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-46c5e327]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-46c5e327]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-3bf2e850]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-3bf2e850]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-3bf2e850]{padding:0 64px}}.title[data-v-3bf2e850]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-3bf2e850]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-3bf2e850]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-3bf2e850]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-3bf2e850]{padding-top:40px}.VPTeamMembersItem[data-v-b0e83e62]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-b0e83e62]{padding:32px}.VPTeamMembersItem.small .data[data-v-b0e83e62]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-b0e83e62]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-b0e83e62]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-b0e83e62]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-b0e83e62]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-b0e83e62]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-b0e83e62]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-b0e83e62]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-b0e83e62]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-b0e83e62]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-b0e83e62]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-b0e83e62]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-b0e83e62]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-b0e83e62]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-b0e83e62]{text-align:center}.avatar[data-v-b0e83e62]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-b0e83e62]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-b0e83e62]{margin:0;font-weight:600}.affiliation[data-v-b0e83e62]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-b0e83e62]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-b0e83e62]:hover{color:var(--vp-c-brand)}.desc[data-v-b0e83e62]{margin:0 auto}.desc[data-v-b0e83e62] a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.links[data-v-b0e83e62]{display:flex;justify-content:center;height:56px}.sp-link[data-v-b0e83e62]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-b0e83e62]:hover,.sp .sp-link.link[data-v-b0e83e62]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-b0e83e62]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-6927e48e]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-6927e48e]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-6927e48e]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-6927e48e]{max-width:876px}.VPTeamMembers.medium .container[data-v-6927e48e]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-6927e48e]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-6927e48e]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-6927e48e]{max-width:760px}.container[data-v-6927e48e]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-c-brand: #00B590;--vp-c-brand-light: #2DC6A5;--vp-c-brand-lighter: #59DEBB;--vp-c-brand-lightest: #88F3D3;--vp-c-brand-dark: #009A7E;--vp-c-brand-darker: #00866B;--vp-c-brand-dimm: rgba(0, 181, 144, .08)}:root{--vp-button-brand-border: var(--vp-c-brand-light);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-light);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-light);--vp-button-brand-active-border: var(--vp-c-brand-light);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-button-brand-bg)}:root{--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient( 120deg, #00C7A0 30%, #3FA9F5 );--vp-home-hero-image-background-image: linear-gradient( -45deg, #00C7A0 50%, #3FA9F5 50% );--vp-home-hero-image-filter: blur(40px)}@media (min-width: 640px){:root{--vp-home-hero-image-filter: blur(56px)}}@media (min-width: 960px){:root{--vp-home-hero-image-filter: blur(72px)}}:root{--vp-custom-block-tip-border: var(--vp-c-brand);--vp-custom-block-tip-text: var(--vp-c-brand-darker);--vp-custom-block-tip-bg: var(--vp-c-brand-dimm)}.dark{--vp-custom-block-tip-border: var(--vp-c-brand);--vp-custom-block-tip-text: var(--vp-c-brand-lightest);--vp-custom-block-tip-bg: var(--vp-c-brand-dimm)}.DocSearch{--docsearch-primary-color: var(--vp-c-brand) !important}.VPLocalSearchBox[data-v-58c4b8ff]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-58c4b8ff]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-58c4b8ff]{position:relative;padding:12px;margin:64px auto;display:flex;flex-direction:column;gap:16px;background:var(--vp-local-search-bg);width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);border-radius:6px}@media (max-width: 767px){.shell[data-v-58c4b8ff]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-58c4b8ff]{border:1px solid var(--vp-c-divider);border-radius:4px;display:flex;align-items:center;padding:0 12px;cursor:text}@media (max-width: 767px){.search-bar[data-v-58c4b8ff]{padding:0 8px}}.search-bar[data-v-58c4b8ff]:focus-within{border-color:var(--vp-c-brand)}.search-icon[data-v-58c4b8ff]{margin:8px}@media (max-width: 767px){.search-icon[data-v-58c4b8ff]{display:none}}.search-input[data-v-58c4b8ff]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-58c4b8ff]{padding:6px 4px}}.search-actions[data-v-58c4b8ff]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-58c4b8ff]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-58c4b8ff]{display:none}}.search-actions button[data-v-58c4b8ff]{padding:8px}.search-actions button[data-v-58c4b8ff]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-58c4b8ff]{color:var(--vp-c-brand)}.search-actions button.clear-button[data-v-58c4b8ff]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-58c4b8ff]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-58c4b8ff]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-58c4b8ff]{display:none}}.search-keyboard-shortcuts kbd[data-v-58c4b8ff]{background:rgba(128,128,128,.1);border-radius:4px;padding:3px 6px;min-width:24px;display:inline-block;text-align:center;vertical-align:middle;border:1px solid rgba(128,128,128,.15);box-shadow:0 2px 2px #0000001a}.results[data-v-58c4b8ff]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-58c4b8ff]{display:flex;align-items:center;gap:8px;border-radius:4px;transition:none;line-height:1rem;border:solid 2px var(--vp-local-search-result-border);outline:none}.result>div[data-v-58c4b8ff]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-58c4b8ff]{margin:8px}}.titles[data-v-58c4b8ff]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-58c4b8ff]{display:flex;align-items:center;gap:4px}.title.main[data-v-58c4b8ff]{font-weight:500}.title-icon[data-v-58c4b8ff]{opacity:.5;font-weight:500;color:var(--vp-c-brand)}.title svg[data-v-58c4b8ff]{opacity:.5}.result.selected[data-v-58c4b8ff]{--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-58c4b8ff]{position:relative}.excerpt[data-v-58c4b8ff]{opacity:75%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;opacity:.5;margin-top:4px}.result.selected .excerpt[data-v-58c4b8ff]{opacity:1}.excerpt[data-v-58c4b8ff] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-58c4b8ff] mark,.excerpt[data-v-58c4b8ff] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-58c4b8ff] .vp-code-group .tabs{display:none}.excerpt[data-v-58c4b8ff] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-58c4b8ff]{position:absolute;bottom:-1px;left:0;width:100%;height:8px;background:linear-gradient(transparent,var(--vp-local-search-result-bg));z-index:1000}.excerpt-gradient-top[data-v-58c4b8ff]{position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vp-local-search-result-bg),transparent);z-index:1000}.result.selected .titles[data-v-58c4b8ff],.result.selected .title-icon[data-v-58c4b8ff]{color:var(--vp-c-brand)!important}.no-results[data-v-58c4b8ff]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-58c4b8ff]{flex:none} diff --git a/pr-333/assets/tutorials_bitcoin.md.dfb188d0.js b/pr-333/assets/tutorials_bitcoin.md.dfb188d0.js deleted file mode 100644 index ab145ddae..000000000 --- a/pr-333/assets/tutorials_bitcoin.md.dfb188d0.js +++ /dev/null @@ -1,121 +0,0 @@ -import{_ as s}from"./chunks/rollkit-bitcoin-1.9f1a021b.js";import{_ as a,o as n,c as l,X as o}from"./chunks/framework.8df7efef.js";const h=JSON.parse('{"title":"Bitcoin rollup tutorial","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Bitcoin rollup tutorial | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/bitcoin.md","filePath":"tutorials/bitcoin.md","lastUpdated":1711045903000}'),p={name:"tutorials/bitcoin.md"},e=o('

Bitcoin rollup tutorial

☀️Introduction

In this tutorial, we will explore how to use Rollkit to create sovereign rollups on Bitcoin. First, we will install Bitcoin Core to run a local testnet. Then, we will install and set up a Rollkit node to work with Bitcoin as a data availability layer. Lastly, we'll look at how to create a custom EVM execution environment and how to deploy a sovereign rollup on Bitcoin using Rollkit.

By the end of this tutorial, you will have a good understanding of how Rollkit works and how to create sovereign rollups on Bitcoin using Rollkit. You will also have the knowledge and skills needed to customize Rollkit with different execution environments and data availability layers, opening up new possibilities for creating scalable and efficient blockchain applications.

Read more in our blog post.

rollkit-bitcoin

📖 The stack

Sovereign rollups on Bitcoin are made possible through a module that allows Rollkit rollups to use Bitcoin for data availability. This integration opens up possibilities for developers to create rollups with arbitrary execution environments that inherit Bitcoin’s data availability guarantees and security guarantees.

The Taproot upgrade and Ordinals usage of Bitcoin for publishing arbitrary data made it possible to integrate Bitcoin as a data availability layer into Rollkit. The modular design of Rollkit allows for easy integration of new data availability layers, making it possible to deploy sovereign rollups on Bitcoin.

The goal of Rollkit is to make it easy to build and customize rollups, enabling developers to build sovereign rollups on Bitcoin or customize Rollkit with different execution environments and data availability layers.

💻 Prerequisites

An Ubuntu machine with:

  • 8GB RAM
  • 160 GB SSD
  • Ubuntu 22.10
  • 4 core AMD CPU

🛠️ Dependency setup

First, make sure to update and upgrade the OS:

bash
sudo apt update && sudo apt upgrade -y

These are essential packages that are necessary to execute many tasks like downloading files, compiling, and monitoring the nodes:

bash
sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential git make ncdu snapd npm -y

Now, we will install the remaining dependencies.

🏃 Golang

We will use golang to build and run our test networks. Install it for AMD with these commands:

bash
ver="1.19.1"
-cd $HOME
-wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
-sudo rm -rf /usr/local/go
-sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
-rm "go$ver.linux-amd64.tar.gz"
-echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
-source $HOME/.bash_profile
-go version

⚒️ Foundry

Install Foundry:

bash
curl -L https://foundry.paradigm.xyz/ | bash

Set the path:

bash
source /root/.bashrc

Run this to finish the installation of Foundry:

bash
foundryup

🪙 Install Bitcoin

Running the rollup requires a local regtest Bitcoin node. You can set this up by running the following commands.

Install Bitcoin Core:

bash
sudo snap install bitcoin-core

Check version:

bash
bitcoin-core.cli --version

🟢 Running a local Bitcoin network

Set up the config for regtest (local network):

bash
bitcoin-core.daemon "-chain=regtest" "-rpcport=18332" "-rpcuser=rpcuser" "-rpcpassword=rpcpass" "-fallbackfee=0.000001" "-txindex=1"

👛 Create a wallet for the chain

Open up a new terminal and run the following to create a wallet:

bash
bitcoin-core.cli -regtest -rpcport=18332 -rpcuser=rpcuser -rpcpassword=rpcpass createwallet w1

Your output will look like:

console
{
-  "name": "w1",
-  "warning": ""
-}

🎬 Start generating blocks

Now, generate a new address and mine 101 blocks:

bash
export COINBASE=$(bitcoin-core.cli -regtest -rpcport=18332 -rpcuser=rpcuser -rpcpassword=rpcpass getnewaddress)
-bitcoin-core.cli -regtest -rpcport=18332 -rpcuser=rpcuser -rpcpassword=rpcpass generatetoaddress 101 $COINBASE

Next, we'll mine a block every second.

Add this script and remember where you placed it, I am putting it in my root directory:

shell
# Script to generate a new block every second
-# Put this script at the root of your unpacked folder
-#!/bin/bash
-
-echo "Generating a block every second. Press [CTRL+C] to stop.."
-
-address=\`bitcoin-core.cli -regtest -rpcport=18332 -rpcuser=rpcuser -rpcpassword=rpcpass getnewaddress\`
-
-while :
-do
-        echo "Generate a new block \`date '+%d/%m/%Y %H:%M:%S'\`"
-        bitcoin-core.cli -regtest -rpcport=18332 -rpcuser=rpcuser -rpcpassword=rpcpass generatetoaddress 1 $address
-        sleep 1
-done

Run the following from where you placed your start.sh script. Start generating blocks by running:

bash
bash start.sh

🧊 Block height

Check the current block height:

bash
bitcoin-core.cli -regtest -rpcport=18332 -rpcuser=rpcuser -rpcpassword=rpcpass getblockcount

Your output will look similar to below:

bash
4980

Set a variable for the common flags being used:

bash
export FLAGS="-regtest -rpcport=18332 -rpcuser=rpcuser -rpcpassword=rpcpass"

🧊 Block hash

Check the latest block hash:

bash
bitcoin-core.cli $FLAGS getblockhash 4980

Your output will be the block hash of the height you first queried:

bash
1d7e98aec3085b615c7c71659768fa42e774a87ab5981597e99794d240fb3db5

Set the block hash as a variable:

bash
export HASH=1d7e98aec3085b615c7c71659768fa42e774a87ab5981597e99794d240fb3db5

🧊 Block header

Now to get the block header, run the following command (be sure to replace the hash with yours):

bash
bitcoin-core.cli $FLAGS getblockheader $HASH

Now to finish the exercise, query the height from the block header and the hash:

bash
bitcoin-core.cli $FLAGS getblockheader $HASH | jq '.height'

🎬 Restarting the local network

In the case that you are starting your regtest network again, you can use the following command to clear the old chain history:

bash
rm -rf \${LOCATION OF .bitcoin folder}

🏃‍♀️ Running the Ethermint rollup

DANGER

The Ethermint tutorial is currently not supported.

Clone Ethermint:

bash
git clone https://github.com/celestiaorg/ethermint.git
-cd ethermint
-git checkout bitcoin-da
-make install

Initialize the chain:

bash
bash init.sh

Set variables for starting the chain:

bash
export NAMESPACE=$(openssl rand -hex 8)

Start the chain:

bash
ethermintd start --rollkit.aggregator --rollkit.da_layer bitcoin --rollkit.da_config='{"host":"127.0.0.1:18332","user":"rpcuser","pass":"rpcpass","http_post_mode":true,"disable_tls":true}' --rollkit.namespace_id $NAMESPACE --rollkit.da_start_height 1

Congratulations! Now that you have your Ethermint and Bitcoin rollup running, you're ready to deploy some smart contracts to the EVM!

⚡️ Initialize development environment

First, be sure you have installed Foundry on your local development environment.

Next, create a new project and change into the directory:

bash
forge init bitcoin-ethermint-app
-cd bitcoin-ethermint-app

Foundry has created an example smart contract located at src/Counter.sol.

TIP

We will run the commands for the Foundry portion of this tutorial in the ~/bitcoin-ethermint-app/ directory.

📒 Updating the contract and tests

Let's update the contracts to include a basic counter example. Open the Counter.sol file in the src directory and add the following code:

solidity
// SPDX-License-Identifier: MIT
-pragma solidity ^0.8.13;
-
-contract Counter {
-    int private count;
-    
-    constructor(int _count) {
-        count = _count;
-    }
-
-    function incrementCounter() public {
-        count += 1;
-    }
-    function decrementCounter() public {
-        count -= 1;
-    }
-
-    function getCount() public view returns (int) {
-        return count;
-    }
-}

Next, let's create a test for this contract.

Open test/Counter.T.Sol and update the code with the following:

solidity
// SPDX-License-Identifier: MIT
-pragma solidity ^0.8.13;
-
-import "forge-std/Test.sol";
-import 'src/Counter.sol';
-
-contract CounterTest is Test {
-    Counter counter;
-    function setUp() public {
-        counter = new Counter(10);
-    }
-
-    function testGetCount() public {
-        int value = counter.getCount();
-        assertEq(value, 10);
-        emit log_int(value);
-    }
-
-    function testIncrement() public {
-        counter.incrementCounter();
-        counter.incrementCounter();
-        int value = counter.getCount();
-        assertEq(value, 12);
-        emit log_int(value);
-    }
-
-    function testDecrement() public {
-        counter.decrementCounter();
-        int value = counter.getCount();
-        assertEq(value, 9);
-        emit log_int(value);
-    }
-}

Foundry uses Dappsys Test to provide basic logging and assertion functionality. It's included in the Forge Standard Library.

Here, we are using assertEq to assert equality. You can view all of the assertion functions available here.

Next, we can test the contract using Forge with the following command:

bash
forge test -vv

A successful test will have output similar to the following:

bash
[] Compiling...
-[] Installing solc version 0.8.17
-[] Successfully installed solc 0.8.17
-[] Compiling 18 files with 0.8.17
-[] Solc 0.8.17 finished in 3.59s
-Compiler run successful
-
-Running 3 tests for test/Counter.t.sol:ContractTest
-[PASS] testDecrement() (gas: 12350)
-Logs:
-  9
-
-[PASS] testGetCount() (gas: 8510)
-Logs:
-  10
-
-[PASS] testIncrement() (gas: 13285)
-Logs:
-  12
-
-Test result: ok. 3 passed; 0 failed; finished in 2.24ms

📜 Updating the deployment script

Now that we've tested the contract, let's try deploying it locally using Solidity Scripting.

To do so, update the deloyment script at script/Counter.s.sol with the following code:

solidity
// SPDX-License-Identifier: MIT
-pragma solidity ^0.8.13;
-
-import "forge-std/Script.sol";
-
-import {Counter} from "src/Counter.sol";
-
-contract CounterScript is Script {
-    function setUp() public {}
-
-    function run() public {
-        vm.startBroadcast();
-        new Counter(10);
-        vm.stopBroadcast();
-    }
-}

Now we can use this script to deploy our smart contract to either a live or test network.

🏠 Deploying locally

Next start Anvil, the local testnet:

bash
anvil --port 9545

Once started, Anvil will give you a local RPC endpoint as well as a handful of Private Keys and Accounts that you can use.

Set ANVIL_KEY with one of the private keys generated by running:

bash
export ANVIL_KEY=<anvil-private-key>

And set the RPC URL as an environment variable:

bash
export RPC_URL=http://127.0.0.1:9545

We can now use the local RPC along with one of the private keys to deploy locally:

bash
forge script script/Counter.s.sol:CounterScript --fork-url \\
-$RPC_URL  --private-key $ANVIL_KEY --broadcast

Once the contract has been deployed locally, Anvil will log out the contract address.

Next, set the contract address as an environment variable:

bash
export CONTRACT_ADDRESS=<contract-address>

We can then test sending transactions to it with cast send.

bash
cast send $CONTRACT_ADDRESS "incrementCounter()" \\
---private-key $ANVIL_KEY --rpc-url $RPC_URL

We can then perform read operations with cast call:

bash
cast call $CONTRACT_ADDRESS "getCount()(int)" --rpc-url $RPC_URL

🧪 Deploying to the Ethermint sovereign rollup

Now that we've deployed and tested locally, we can deploy to our Ethermint chain.

First, we will need to export the private key generated by the ethermint init.sh script:

bash
PRIVATE_KEY=$(ethermintd keys unsafe-export-eth-key mykey --keyring-backend test)

NOTE: Here, the key name from init.sh is mykey but you can modify the init.sh to change the name of your key.

Now, we can start deploying the smart contract to our Ethermint chain.

To do so, run the following script:

bash
forge script script/Counter.s.sol:CounterScript \\
---rpc-url http://127.0.0.1:8545 --private-key $PRIVATE_KEY --broadcast

Set the contract address in the output as the CONTRACT_ADDRESS variable:

bash
export CONTRACT_ADDRESS=<new-contract-address>

Once the contract has been deployed to the Ethermint rollup, we can use cast send to test sending transactions to it:

bash
cast send $CONTRACT_ADDRESS "incrementCounter()" \\
---rpc-url http://127.0.0.1:8545 --private-key $PRIVATE_KEY

We can then perform read operations with cast call:

bash
cast call $CONTRACT_ADDRESS "getCount()(int)" --rpc-url http://127.0.0.1:8545
`,138),t=[e];function c(r,i,C,y,D,A){return n(),l("div",null,t)}const u=a(p,[["render",c]]);export{h as __pageData,u as default}; diff --git a/pr-333/assets/tutorials_bitcoin.md.dfb188d0.lean.js b/pr-333/assets/tutorials_bitcoin.md.dfb188d0.lean.js deleted file mode 100644 index ff8492839..000000000 --- a/pr-333/assets/tutorials_bitcoin.md.dfb188d0.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s}from"./chunks/rollkit-bitcoin-1.9f1a021b.js";import{_ as a,o as n,c as l,X as o}from"./chunks/framework.8df7efef.js";const h=JSON.parse('{"title":"Bitcoin rollup tutorial","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Bitcoin rollup tutorial | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/bitcoin.md","filePath":"tutorials/bitcoin.md","lastUpdated":1711045903000}'),p={name:"tutorials/bitcoin.md"},e=o("",138),t=[e];function c(r,i,C,y,D,A){return n(),l("div",null,t)}const u=a(p,[["render",c]]);export{h as __pageData,u as default}; diff --git a/pr-333/assets/tutorials_block-times.md.c034b5f3.js b/pr-333/assets/tutorials_block-times.md.c034b5f3.js deleted file mode 100644 index 9c84c0e55..000000000 --- a/pr-333/assets/tutorials_block-times.md.c034b5f3.js +++ /dev/null @@ -1,3 +0,0 @@ -import{_ as s,o as e,c as a,X as o}from"./chunks/framework.8df7efef.js";const u=JSON.parse('{"title":"How to change speed of block production","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to change speed of block production | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/block-times.md","filePath":"tutorials/block-times.md","lastUpdated":1711045903000}'),t={name:"tutorials/block-times.md"},l=o(`

How to change speed of block production

If you have gone through both the GM world and the Full and sequencer node rollup setup already, you're now ready to experiment with faster block times.

In your gmd start [args...] command, you will need to add a flag and then the argument for block time.

The flag is:

bash
--rollkit.block_time 1s

Where 1s can be adjusted to the speed of your choosing.

Here is an example:

bash
# start the chain
-gmd start [existing flags...] 
-gmd start [existing flags...] --rollkit.block_time 1s 

In the above example, we've changed it to one second blocks. Alternatively, you could slow your rollup down to 30 seconds:

bash
--rollkit.block_time 30s

Or speed it up even more, to sub-second block times (100 milliseconds):

bash
--rollkit.block_time 0.1ms
`,12),n=[l];function p(c,r,i,d,h,C){return e(),a("div",null,n)}const m=s(t,[["render",p]]);export{u as __pageData,m as default}; diff --git a/pr-333/assets/tutorials_block-times.md.c034b5f3.lean.js b/pr-333/assets/tutorials_block-times.md.c034b5f3.lean.js deleted file mode 100644 index b3de6e8ac..000000000 --- a/pr-333/assets/tutorials_block-times.md.c034b5f3.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as e,c as a,X as o}from"./chunks/framework.8df7efef.js";const u=JSON.parse('{"title":"How to change speed of block production","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to change speed of block production | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/block-times.md","filePath":"tutorials/block-times.md","lastUpdated":1711045903000}'),t={name:"tutorials/block-times.md"},l=o("",12),n=[l];function p(c,r,i,d,h,C){return e(),a("div",null,n)}const m=s(t,[["render",p]]);export{u as __pageData,m as default}; diff --git a/pr-333/assets/tutorials_cosmwasm.md.f723be59.js b/pr-333/assets/tutorials_cosmwasm.md.f723be59.js deleted file mode 100644 index cffddc254..000000000 --- a/pr-333/assets/tutorials_cosmwasm.md.f723be59.js +++ /dev/null @@ -1,89 +0,0 @@ -import{_ as s,o as a,c as n,X as o}from"./chunks/framework.8df7efef.js";const d=JSON.parse('{"title":"🗞️ CosmWasm rollup","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🗞️ CosmWasm rollup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/cosmwasm.md","filePath":"tutorials/cosmwasm.md","lastUpdated":1711045903000}'),l={name:"tutorials/cosmwasm.md"},e=o(`

🗞️ CosmWasm rollup

CosmWasm is a smart contracting platform built for the Cosmos ecosystem by making use of WebAssembly (Wasm) to build smart contracts for Cosmos-SDK. In this tutorial, we will be exploring how to integrate CosmWasm with Celestia's data availability layer using Rollkit.

TIP

This tutorial will explore developing with Rollkit, which is still in Alpha stage. If you run into bugs, please write a Github Issue ticket or let us know in our Telegram.

Learn how to restart your rollup.

WARNING

The script for this tutorial is built for Celestia's Mocha testnet.

You can learn more about CosmWasm here.

The smart contract we will use for this tutorial is one provided by the CosmWasm team for Nameservice purchasing.

You can check out the contract here.

How to write the Rust smart contract for Nameservice is outside the scope of this tutorial. In the future we will add more tutorials for writing CosmWasm smart contracts for Celestia.

💻 CosmWasm dependency installations

🛠️ Environment setup

For this tutorial, we will be using curl and jq as helpful tools. You can follow the guide on installing them here.

🏃 Golang dependency

The Golang version used for this tutorial is v1.19+

You can install Golang by following our tutorial here.

🦀 Rust installation

🔨 Rustup

First, before installing Rust, you would need to install rustup.

On Mac and Linux systems, here are the commands for installing it:

bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

TIP

You will see a note similar to below after installing Rust:

bash
Rust is installed now. Great!
-
-To get started you may need to restart your current shell.
-This would reload your PATH environment variable to include
-Cargo's bin directory ($HOME/.cargo/bin).
-
-To configure your current shell, run: 
-source "$HOME/.cargo/env" 

If you don't follow the guidance, you won't be able to continue with the tutorial!

After installation, follow the commands here to setup Rust.

bash
rustup default stable
-cargo version
-
-rustup target list --installed
-rustup target add wasm32-unknown-unknown

Your output should look similar to below:

bash
info: using existing install for 'stable-aarch64-apple-darwin'
-info: default toolchain set to 'stable-aarch64-apple-darwin'
-
-  stable-aarch64-apple-darwin unchanged - rustc 1.74.0 (79e9716c9 2023-11-13)
-
-cargo 1.74.0 (ecb9851af 2023-10-18)
-aarch64-apple-darwin
-wasm32-unknown-unknown
-info: downloading component 'rust-std' for 'wasm32-unknown-unknown'
-info: installing component 'rust-std' for 'wasm32-unknown-unknown'

🐳 Docker installation

We will be using Docker later in this tutorial for compiling a smart contract to use a small footprint. We recommend installing Docker on your machine.

Examples on how to install it on Linux are found here. Find the right instructions specific for your OS here.

💻 Wasmd installation

Here, we are going to pull down the wasmd repository and replace CometBFT with Rollkit. Rollkit is a drop-in replacement for CometBFT that allows Cosmos-SDK applications to connect to Celestia's data availability network.

bash
git clone https://github.com/CosmWasm/wasmd.git
-cd wasmd
-git checkout tags/v0.50.0
-go mod edit -replace github.com/cosmos/cosmos-sdk=github.com/rollkit/cosmos-sdk@v0.50.1-rollkit-v0.11.19-no-fraud-proofs
-go mod tidy -compat=1.17
-go get github.com/bufbuild/buf@latest
-go mod download

Now, comment out lines 902-904 in app/app.go:

go
if err != nil {
-  panic(err)
-}

This is a temporary fix until CosmWasm/wasmd#1785 is resolved.

And build the binary:

bash
make install

✨ Celestia node

You will need a light node running with test tokens on Mocha testnet in order to complete this tutorial. Complete the tutorial and start up your node.

Be sure you have initialized your node before trying to start it. Your start command should look similar to:

bash
celestia light start --p2p.network mocha

After you have synced your node and funded it from the faucet, you will need to stop it with "Control + C".

Then, restart it with celestia-da using the following command:

bash
docker run -d \\
--e NODE_TYPE=light \\
--e P2P_NETWORK=mocha \\
--p 26650:26650 \\
--p 26658:26658 \\
--p 26659:26659 \\
--v $HOME/.celestia-light-mocha-4/:/home/celestia/.celestia-light-mocha-4/ \\
-ghcr.io/rollkit/celestia-da:v0.12.10 \\
-celestia-da light start \\
---p2p.network=mocha \\
---da.grpc.namespace=0000636f736d7761736d \\
---da.grpc.listen=0.0.0.0:26650 \\
---core.ip rpc-mocha.pops.one \\
---gateway

TIP

You can either use the default 0000636f736d7761736d, "cosmwasm" in plaintext, namespace above, or set your own by using a command similar to this (or, you could get creative 😎):

bash
openssl rand -hex 10

Learn more about namespaces

🌌 Setting up your environment for CosmWasm on Celestia

Now the wasmd binary is built, we need to setup a local network that communicates between wasmd and Rollkit.

🗞️ Initializing CosmWasm rollup with a bash script

We have a handy init.sh found in this repo here.

We can copy it over to our directory with the following commands:

bash
# From inside the \`wasmd\` directory
-wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/cosmwasm/init.sh

This copies over our init.sh script to initialize our CosmWasm rollup.

You can view the contents of the script to see how we initialize the CosmWasm Rollup.

You can initialize the script with the following command:

bash
bash init.sh

With that, we have kickstarted our wasmd network!

View your rollup by finding your namespace or account Celenium.

View the example rollup's namespace on Celenium.

💠 Optional: see what's inside the script

You can skip this section, but it is important to know how Rollkit is initializing the cosmwasm rollup.

View the script here.

📒 Contract deployment on CosmWasm with Rollkit

🤖 Compile the smart contract

In a new terminal instance, we will run the following commands to pull down the Nameservice smart contract and compile it:

bash
git clone https://github.com/InterWasm/cw-contracts
-cd cw-contracts
-cd contracts/nameservice
-cargo wasm

The compiled contract is outputted to: target/wasm32-unknown-unknown/release/cw_nameservice.wasm.

🧪 Unit tests

If we want to run tests, we can do so with the following command in the ~/cw-contracts/contracts/nameservice directory:

bash
cargo unit-test

🏎️ Optimized smart contract

Because we are deploying the compiled smart contract to wasmd, we want it to be as small as possible.

The CosmWasm team provides a tool called rust-optimizer, which requires Docker in order to compile.

Run the following command in the ~/cw-contracts/contracts/nameservice directory:

bash
sudo docker run --rm -v "$(pwd)":/code \\
-  --mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target \\
-  --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \\
-  cosmwasm/rust-optimizer:0.12.6
bash
sudo docker run --platform linux/arm64 --rm -v "$(pwd)":/code \\
-  --mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target \\
-  --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \\
-  cosmwasm/rust-optimizer-arm64:0.12.8

This will place the optimized Wasm bytecode at artifacts/cw_nameservice.wasm.

🚀 Contract deployment

Let's now deploy our smart contract!

Run the following in the ~/cw-contracts/contracts/nameservice directory:

bash
TX_HASH=$(wasmd tx wasm store artifacts/cw_nameservice.wasm --from celeswasm-key --keyring-backend test --chain-id celeswasm --gas-prices 0uwasm --gas auto --gas-adjustment 1.3 --node http://127.0.0.1:26657 --output json -y | jq -r '.txhash') && echo $TX_HASH
bash
TX_HASH=$(wasmd tx wasm store artifacts/cw_nameservice-aarch64.wasm --from celeswasm-key --keyring-backend test --chain-id celeswasm --gas-prices 0uwasm --gas auto --gas-adjustment 1.3 --node http://127.0.0.1:26657 --output json -y | jq -r '.txhash') && echo $TX_HASH

This will get you the transaction hash for the smart contract deployment. Given we are using Rollkit, there will be a delay on the transaction being included due to Rollkit waiting on Celestia's data availability layer to confirm the block has been included before submitting a new block.

DANGER

If you run into errors with variables on the previous command, or commands in the remainder of the tutorial, cross-reference the variables in the command with the variables in the init.sh script.

🌟 Contract interaction on CosmWasm with Celestia

In the previous steps, we have stored out contract's tx hash in an environment variable for later use.

Because of the longer time periods of submitting transactions via Rollkit due to waiting on Celestia's data availability layer to confirm block inclusion, we will need to query our tx hash directly to get information about it.

🔎 Contract querying

Let's start by querying our transaction hash for its code ID:

bash
CODE_ID=$(wasmd query tx --type=hash $TX_HASH --chain-id celeswasm --node http://127.0.0.1:26657 --output json | jq -r '.logs[0].events[-1].attributes[0].value')
-echo $CODE_ID

This will give us back the Code ID of the deployed contract.

In our case, since it's the first contract deployed on our local network, the value is 1.

Now, we can take a look at the contracts instantiated by this Code ID:

bash
wasmd query wasm list-contract-by-code $CODE_ID --chain-id celeswasm --node http://127.0.0.1:26657 --output json

We get the following output:

json
{"contracts":[],"pagination":{"next_key":null,"total":"0"}}

📃 Contract instantiation

We start instantiating the contract by writing up the following INIT message for nameservice contract. Here, we are specifying that purchase_price of a name is 100uwasm and transfer_price is 999uwasm.

bash
INIT='{"purchase_price":{"amount":"100","denom":"uwasm"},"transfer_price":{"amount":"999","denom":"uwasm"}}'
-wasmd tx wasm instantiate $CODE_ID "$INIT" --from celeswasm-key --keyring-backend test --label "name service" --chain-id celeswasm --gas-prices 0uwasm --gas auto --gas-adjustment 1.3 -y --no-admin --node http://127.0.0.1:26657

📄 Contract interaction

Now that we instantiated it, we can interact further with the contract:

bash
wasmd query wasm list-contract-by-code $CODE_ID --chain-id celeswasm --output json --node http://127.0.0.1:26657
-CONTRACT=$(wasmd query wasm list-contract-by-code $CODE_ID --chain-id celeswasm --output json --node http://127.0.0.1:26657 | jq -r '.contracts[-1]')
-echo $CONTRACT
-
-wasmd query wasm contract --node http://127.0.0.1:26657 $CONTRACT --chain-id celeswasm
-wasmd query bank balances --node http://127.0.0.1:26657 $CONTRACT --chain-id celeswasm

This allows us to see the contract address, contract details, and bank balances.

Your output will look similar to below:

bash
{"contracts":["wasm14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9s0phg4d"],"pagination":{"next_key":null,"total":"0"}}
-wasm14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9s0phg4d
-address: wasm14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9s0phg4d
-contract_info:
-  admin: ""
-  code_id: "1"
-  created: null
-  creator: wasm1y9ceqvnsnm9xtcdmhrjvv4rslgwfzmrzky2c5z
-  extension: null
-  ibc_port_id: ""
-  label: name service
-balances: []
-pagination:
-  next_key: null
-  total: "0"

Now, let's register a name to the contract for our wallet address:

bash
REGISTER='{"register":{"name":"fred"}}'
-wasmd tx wasm execute $CONTRACT "$REGISTER" --amount 100uwasm --from celeswasm-key --chain-id celeswasm --gas-prices 0uwasm --gas auto --gas-adjustment 1.3 --node http://127.0.0.1:26657 --keyring-backend test -y

Your output will look similar to below:

bash
DEIP --keyring-backend test -y
-gas estimate: 167533
-code: 0
-codespace: ""
-data: ""
-events: []
-gas_used: "0"
-gas_wanted: "0"
-height: "0"
-info: ""
-logs: []
-raw_log: '[]'
-timestamp: ""
-tx: null
-txhash: C147257485B72E7FFA5FDB943C94CE951A37817554339586FFD645AD2AA397C3

If you try to register the same name again, you'll see an expected error:

bash
Error: rpc error: code = Unknown desc = rpc error: code = Unknown desc = failed to execute message; message index: 0: Name has been taken (name fred): execute wasm contract failed [CosmWasm/wasmd/x/wasm/keeper/keeper.go:364] With gas wanted: '0' and gas used: '123809' : unknown request

Next, query the owner of the name record:

bash
NAME_QUERY='{"resolve_record": {"name": "fred"}}'
-wasmd query wasm contract-state smart $CONTRACT "$NAME_QUERY" --chain-id celeswasm --node http://127.0.0.1:26657 --output json

You'll see the owner's address in a JSON response:

bash
{"data":{"address":"wasm1y9ceqvnsnm9xtcdmhrjvv4rslgwfzmrzky2c5z"}}

With that, we have instantiated and interacted with the CosmWasm nameservice smart contract using Celestia!

`,111),t=[e];function p(c,r,i,C,y,D){return a(),n("div",null,t)}const u=s(l,[["render",p]]);export{d as __pageData,u as default}; diff --git a/pr-333/assets/tutorials_cosmwasm.md.f723be59.lean.js b/pr-333/assets/tutorials_cosmwasm.md.f723be59.lean.js deleted file mode 100644 index 50447f00a..000000000 --- a/pr-333/assets/tutorials_cosmwasm.md.f723be59.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as n,X as o}from"./chunks/framework.8df7efef.js";const d=JSON.parse('{"title":"🗞️ CosmWasm rollup","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🗞️ CosmWasm rollup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/cosmwasm.md","filePath":"tutorials/cosmwasm.md","lastUpdated":1711045903000}'),l={name:"tutorials/cosmwasm.md"},e=o("",111),t=[e];function p(c,r,i,C,y,D){return a(),n("div",null,t)}const u=s(l,[["render",p]]);export{d as __pageData,u as default}; diff --git a/pr-333/assets/tutorials_full-and-sequencer-node.md.31167990.js b/pr-333/assets/tutorials_full-and-sequencer-node.md.31167990.js deleted file mode 100644 index dd3f35088..000000000 --- a/pr-333/assets/tutorials_full-and-sequencer-node.md.31167990.js +++ /dev/null @@ -1,25 +0,0 @@ -import{_ as s,o as a,c as n,X as l}from"./chunks/framework.8df7efef.js";const A=JSON.parse('{"title":"Full and sequencer node rollup setup","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Full and sequencer node rollup setup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/full-and-sequencer-node.md","filePath":"tutorials/full-and-sequencer-node.md","lastUpdated":1711045903000}'),o={name:"tutorials/full-and-sequencer-node.md"},e=l(`

Full and sequencer node rollup setup

This guide will cover how to set up the GM world rollup example as a multi-node network using a full and sequencer node.

About

This guide is using a feature released in v0.10.2 that uses go-header, which uses libp2p that syncs blocks over a peer-to-peer (p2p) network.

This is the same way that celestia-node syncs blocks over p2p.

Prerequisites

First, you'll need to complete the GM world tutorial.

In this demo, we'll be using the local-celestia-devnet setup used in part 1.

Getting started

For running a full node, you will need to update DA_HEIGHT and P2P_ID manually. You can retrieve namespace and height from your terminal output from when you ran the init-local.sh script.

They will be printed before your chain starts:

txt
______         _  _  _     _  _
-| ___ \\       | || || |   (_)| |
-| |_/ /  ___  | || || | __ _ | |_
-|    /  / _ \\ | || || |/ /| || __|
-| |\\ \\ | (_) || || ||   < | || |_
-\\_| \\_| \\___/ |_||_||_|\\_\\|_| \\__|
-
-
- Your DA_BLOCK_HEIGHT is 5 

Clone the script

Now, clone the script for the full node:

bash
# From inside the \`gm\` directory
-cd $HOME/gm
-wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/gm/init-full-node.sh

Set DA height

Next, you can open the script and set your namespace and DA height from above:

sh
DA_BLOCK_HEIGHT=your-block-height 
-DA_BLOCK_HEIGHT=5 
-P2P_ID="your-p2p-id"

Update the p2p address

Next, we'll update the p2p address.

Once your sequencer starts producing blocks, it will show the p2p address, beginning with 12D:

bash
3:55PM INF port binded module=x/ibc/port port=icahost
-3:55PM INF claimed capability capability=2 module=icahost name=ports/icahost
-3:55PM INF service start impl=RPC module=server msg={}
-3:55PM INF service start impl=Node module=server msg={}
-3:55PM INF starting P2P client module=server
-3:55PM INF serving HTTP listen address={"IP":"127.0.0.1","Port":36657,"Zone":""} module=server
-3:55PM INF listening on address=/ip4/10.0.0.171/tcp/36656/p2p/12D3KooWCmfJLkQjZUArWpNUDJSezeFiLYzCULXe1dEKY6ZpXZpk module=p2p 
-3:55PM INF listening on address=/ip4/127.0.0.1/tcp/36656/p2p/12D3KooWCmfJLkQjZUArWpNUDJSezeFiLYzCULXe1dEKY6ZpXZpk module=p2p 
-3:55PM INF no seed nodes - only listening for connections module=p2p
-3:55PM INF starting Celestia Data Availability Layer Client baseURL=http://localhost:26658 module=da_client

In your init-full-node.sh script, you will now set the P2P_ADDRESS variable for your script to use:

bash
DA_BLOCK_HEIGHT=5
-P2P_ID="your-p2p-id" 
-P2P_ID="12D3KooWCmfJLkQjZUArWpNUDJSezeFiLYzCULXe1dEKY6ZpXZpk" 

Start the full node

Now run your full node with the script:

bash
# from the gm directory
-bash init-full-node.sh

Congratulations! You will now have a full node running alongside your Rollkit sequencer.

`,28),p=[e];function t(r,c,C,i,y,D){return a(),n("div",null,p)}const u=s(o,[["render",t]]);export{A as __pageData,u as default}; diff --git a/pr-333/assets/tutorials_full-and-sequencer-node.md.31167990.lean.js b/pr-333/assets/tutorials_full-and-sequencer-node.md.31167990.lean.js deleted file mode 100644 index 65b9ab73d..000000000 --- a/pr-333/assets/tutorials_full-and-sequencer-node.md.31167990.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as n,X as l}from"./chunks/framework.8df7efef.js";const A=JSON.parse('{"title":"Full and sequencer node rollup setup","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Full and sequencer node rollup setup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/full-and-sequencer-node.md","filePath":"tutorials/full-and-sequencer-node.md","lastUpdated":1711045903000}'),o={name:"tutorials/full-and-sequencer-node.md"},e=l("",28),p=[e];function t(r,c,C,i,y,D){return a(),n("div",null,p)}const u=s(o,[["render",t]]);export{A as __pageData,u as default}; diff --git a/pr-333/assets/tutorials_gas-price.md.42969bc8.js b/pr-333/assets/tutorials_gas-price.md.42969bc8.js deleted file mode 100644 index c168c9309..000000000 --- a/pr-333/assets/tutorials_gas-price.md.42969bc8.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as a,c as s,X as t}from"./chunks/framework.8df7efef.js";const _=JSON.parse('{"title":"How to configure gas price","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to configure gas price | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/gas-price.md","filePath":"tutorials/gas-price.md","lastUpdated":1711045903000}'),o={name:"tutorials/gas-price.md"},n=t('

How to configure gas price

In most cases, the gas price can be left to the defaults, which ensures that the price is greater than the minimum gas price accepted by the core node.

The gas price can also be configured manually with the flag --rollkit.da_gas_price:

bash
gmd start --rollkit.da_gas_price=0.1 [existing flags...]

This configures the rollup to always use the fixed gas price of 0.1utia/gas.

When running a rollup against a live network, the gas price may see occasional spikes during periods of high mempool congestion.

To avoid such transient blob submission failures, the flag --rollkit.da_gas_multiplier may be used:

bash
gmd start --rollkit.da_gas_price=0.1 --rollkit.da_gas_multiplier=1.2 [...]

This configures the rollup to keep increasing the gas price by a factor of 1.2x of the previous price until the transaction is accepted by the core node.

When the blob submission transaction eventually succeeds, the gas price will gradually return to the default, decreasing by the same factor.

The gas multiplier will only be used if the gas price has been manually configured.

',11),l=[n];function i(c,r,p,g,d,h){return a(),s("div",null,l)}const f=e(o,[["render",i]]);export{_ as __pageData,f as default}; diff --git a/pr-333/assets/tutorials_gas-price.md.42969bc8.lean.js b/pr-333/assets/tutorials_gas-price.md.42969bc8.lean.js deleted file mode 100644 index 52aaac279..000000000 --- a/pr-333/assets/tutorials_gas-price.md.42969bc8.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as a,c as s,X as t}from"./chunks/framework.8df7efef.js";const _=JSON.parse('{"title":"How to configure gas price","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to configure gas price | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/gas-price.md","filePath":"tutorials/gas-price.md","lastUpdated":1711045903000}'),o={name:"tutorials/gas-price.md"},n=t("",11),l=[n];function i(c,r,p,g,d,h){return a(),s("div",null,l)}const f=e(o,[["render",i]]);export{_ as __pageData,f as default}; diff --git a/pr-333/assets/tutorials_gm-world-frontend.md.772e4c0f.js b/pr-333/assets/tutorials_gm-world-frontend.md.772e4c0f.js deleted file mode 100644 index b1631f887..000000000 --- a/pr-333/assets/tutorials_gm-world-frontend.md.772e4c0f.js +++ /dev/null @@ -1,129 +0,0 @@ -import{_ as s,o as n,c as a,X as o}from"./chunks/framework.8df7efef.js";const l="/docs-preview/pr-333/gm/cca-3.png",p="/docs-preview/pr-333/gm/cca.png",e="/docs-preview/pr-333/gm/cca-2.png",h=JSON.parse('{"title":"GM world frontend tutorial","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"GM world frontend tutorial | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/gm-world-frontend.md","filePath":"tutorials/gm-world-frontend.md","lastUpdated":1711045903000}'),t={name:"tutorials/gm-world-frontend.md"},c=o(`

GM world frontend tutorial

In this tutorial, we'll learn how to use Cosmology to create a frontend for our GM world rollup.

Cosmology enables developers to build web3 apps in the Interchain Ecosystem. With Cosmology, it's simple to begin building apps that communicate with Cosmos SDK and CosmWasm chains.

We'll be using create-cosmos-app in this tutorial to scaffold a frontend and add the chain information for our rollup.

In the end, you'll have something that looks like this demo (repo).

Getting started

In order to complete this tutorial you will need to have completed the GM world tutorial. This requires a running rollup on your local machine.

Setting up the frontend

Now that you have your rollup running, you are ready to scaffold the frontend! In your terminal, first install create-cosmos-app:

bash
npm install -g create-cosmos-app

Now scaffold an app:

bash
create-cosmos-app

In this tutorial, we're using the following setting and your output will look similar to this if everything is successful:

bash
? [name] Enter your new app name gm-world
-Cloning into 'gm-world'...
-? [template] which template connect-multi-chain
-yarn install v1.22.19
-[1/4] Resolving packages...
-[2/4] Fetching packages...
-[3/4] Linking dependencies...
-[4/4] Building fresh packages...
-success Saved lockfile.
-Done in 42.23s.
-
-
-                 |              _   _
-     ===         |.===.        '\\-//\`
-    (o o)        {}o o{}        (o o)
-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-
-
-✨ Have fun! Now you can start on your project ⚛️
-
-Now, run this command:
-
-cd ./gm-world && yarn dev

Follow the instructions at the end of the output to start your app:

bash
cd ./gm-world && yarn dev

cca-3.png

Adding your GM portal chain to the config

First, we'll need to make some changes with the default config.

We need to add the array of chains that we would like to test in the components/wallet.tsx file on underneath imports:

tsx
const allowedChains = [
-  'gmrollup',
-  'celestiatestnet',
-  'celestiatestnet2',
-  'celestiatestnet3',
-];

In chainOptions change chainRecords this to show only the allowed chains from your array:

tsx
chainRecords
-      .filter((chainRecord) => allowedChains.includes(chainRecord.name))
-      .map((chainRecord) => {

Now you're ready to see only the chains you've selected, but first, we need to set up the config for gmrollup!

In the config directory, create a new file called chain.ts. This will be your config for your GM rollup.

In that file, put the following:

tsx
export const chain = {
-    "$schema": "../../chain.schema.json",
-    "chain_name": "gmrollup",
-    "chain_id": "gm",
-    "pretty_name": "my gm rollup",
-    "status": "live",
-    "network_type": "testnet",
-    "bech32_prefix": "gm",
-    "daemon_name": "gmd",
-    "node_home": "$HOME/.gm",
-    "key_algos": [
-      "secp256k1"
-    ],
-    "slip44": 118,
-    "fees": {
-      "fee_tokens": [
-        {
-          "denom": "ustake",
-          "fixed_min_gas_price": 0
-        }
-      ]
-    },
-    "apis": {
-      "rpc": [
-        {
-          "address": "http://localhost:26657",
-          "provider": "JCS"
-        }
-      ],
-      "rest": [
-        {
-          "address": "http://localhost:1317",
-          "provider": "JCS"
-        }
-      ]
-    },
-    "beta": true,
-  }

Create a new file in config called assetlist.ts and add the following:

tsx
export const assetlist = {
-    "$schema": "../../assetlist.schema.json",
-    "chain_name": "gmrollup",
-    "assets": [
-      {
-        "description": "",
-        "denom_units": [
-          {
-            "denom": "ustake",
-            "exponent": 0
-          },
-          {
-            "denom": "stake",
-            "exponent": 6
-          }
-        ],
-        "base": "stake",
-        "name": "GM rollup",
-        "display": "stake",
-        "symbol": "STAKE",
-        "logo_URIs": {
-          "svg": "https://raw.githubusercontent.com/jcstein/gm-portal/b030ce3fe548d188fbacb6b932d7e51dc7afd65e/frontend/public/gm.svg"
-        }
-      }
-    ]
-  }

Create a new file in config directory called defaults.ts:

tsx
import { assets } from 'chain-registry';
-import { AssetList, Asset } from '@chain-registry/types';
-
-export const defaultChainName = 'gmrollup';
-
-export const getChainAssets = (chainName: string = defaultChainName) => {
-  return assets.find((chain) => chain.chain_name === chainName) as AssetList;
-};
-
-export const getCoin = (chainName: string = defaultChainName) => {
-  const chainAssets = getChainAssets(chainName);
-  return chainAssets.assets[0] as Asset;
-};

In _app.tsx you can now import assetlist and chain with your new GM config!

tsx
# other imports
-import { chain } from "../config/chain"
-import { assetlist } from "../config/assetlist"
-
-# rest of code

Then, modify your ChainProvider:

tsx
<ChainProvider
-        chains={[...chains, chain]}
-        assetLists={[...assets, assetlist]}
-        wallets={[...keplrWallets, ...cosmostationWallets, ...leapWallets]}
-        walletConnectOptions={{
-          signClient: {
-            projectId: 'a8510432ebb71e6948cfd6cde54b70f7',
-            relayUrl: 'wss://relay.walletconnect.org',
-            metadata: {
-              name: 'Celestia + Cosmos SDK',
-              description: 'Celestia + Cosmos SDK',
-              url: 'https://docs.celestia.org/',
-              icons: [],
-            },
-          },
-        }}
-        endpointOptions={{
-          isLazy: true
-        }}
-        wrappedWithChakra={true}
-        signerOptions={signerOptions}
-      >

You may notice that we added:

tsx
endpointOptions={{isLazy: true}}

This will save our localhost RPC from being overridden.

Congratulations! You now have a frontend for your rollup. What features do you want to add now?

You may notice that the icons for Celestia testnets are not loading, this is due to an outdated version of the chain registry.

cca.png

To update these, you can use your terminal:

bash
cd $HOME && cd gm-world
-yarn upgrade-interactive --latest

Use arrow keys and the spacebar to select it@cosmos-kit/core, @cosmos-kit/cosmostation, @cosmos-kit/keplr, @cosmos-kit/leap and @cosmos-kit/react.

Now use enter to upgrade the dependencies!

Head back to your frontend and take a look, you should see the updated icons.

cca-2.png

',47),r=[c];function D(y,F,C,i,A,d){return n(),a("div",null,r)}const g=s(t,[["render",D]]);export{h as __pageData,g as default}; diff --git a/pr-333/assets/tutorials_gm-world-frontend.md.772e4c0f.lean.js b/pr-333/assets/tutorials_gm-world-frontend.md.772e4c0f.lean.js deleted file mode 100644 index ec72bc73e..000000000 --- a/pr-333/assets/tutorials_gm-world-frontend.md.772e4c0f.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as n,c as a,X as o}from"./chunks/framework.8df7efef.js";const l="/docs-preview/pr-333/gm/cca-3.png",p="/docs-preview/pr-333/gm/cca.png",e="/docs-preview/pr-333/gm/cca-2.png",h=JSON.parse('{"title":"GM world frontend tutorial","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"GM world frontend tutorial | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/gm-world-frontend.md","filePath":"tutorials/gm-world-frontend.md","lastUpdated":1711045903000}'),t={name:"tutorials/gm-world-frontend.md"},c=o("",47),r=[c];function D(y,F,C,i,A,d){return n(),a("div",null,r)}const g=s(t,[["render",D]]);export{h as __pageData,g as default}; diff --git a/pr-333/assets/tutorials_gm-world-mainnet.md.eb350b9b.js b/pr-333/assets/tutorials_gm-world-mainnet.md.eb350b9b.js deleted file mode 100644 index dcbc5910e..000000000 --- a/pr-333/assets/tutorials_gm-world-mainnet.md.eb350b9b.js +++ /dev/null @@ -1,15 +0,0 @@ -import{_ as a,o as e,c as s,X as n}from"./chunks/framework.8df7efef.js";const y=JSON.parse('{"title":"GM world rollup: Part 3","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"GM world rollup: Part 3 | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/gm-world-mainnet.md","filePath":"tutorials/gm-world-mainnet.md","lastUpdated":1711045903000}'),t={name:"tutorials/gm-world-mainnet.md"},o=n(`

GM world rollup: Part 3

This tutorial is part 3 of the GM world rollup tutorials. In this tutorial, it is expected that you've completed part 1 and part 2 of the tutorial and are familiar with running a local rollup devnet and posting to a Celestia testnet.

Deploying to Celestia Mainnet Beta

🪶 Run a Celestia light node

  1. Fully sync and fund a light node on Arabica devnet (arabica-11). Follow instructions to install and start your Celestia data availability layer light node selecting the Arabica network. You can find instructions to install and run the node. After the node is synced, stop the light node.

  2. Use celestia-da to connect to Rollkit. Your node does not need to be running when you start celestia-da.

    Run this command to start celestia-da and your Celestia light node with state access (using the --core.ip string flag). This time, on celestia, which is the chain ID for Mainnet Beta:

    bash
    docker run -d \\
    --e NODE_TYPE=light \\
    --e P2P_NETWORK=celestia \\
    --p 26650:26650 \\
    --p 26658:26658 \\
    --p 26659:26659 \\
    --v $HOME/.celestia-light/:/home/celestia/.celestia-light/ \\
    -ghcr.io/rollkit/celestia-da:v0.12.10 \\
    -celestia-da light start \\
    ---p2p.network=celestia \\
    ---da.grpc.namespace=000000676d776f726c64 \\
    ---da.grpc.listen=0.0.0.0:26650 \\
    ---core.ip rpc.celestia.pops.one \\
    ---gateway

    TIP

    You can either use the default 000000474d776f726c64, "GMworld" in plaintext, namespace above, or set your own by using a command similar to this (or, you could get creative 😎):

    bash
    openssl rand -hex 10

    Learn more about namespaces

After you have Go and Ignite CLI installed, and celestia-da running on your machine, you're ready to run your own sovereign rollup.

Clear previous chain history

Before starting the rollup, we need to remove the old project folders:

bash
rm -r $HOME/go/bin/gmd && rm -rf $HOME/.gm

Start the rollup on mainnet

For this portion, you will need to stop the rollup that you have running from parts 1 and 2 of the tutorial, using Control + C in the terminal.

  1. Download the script for deploying to Celestia's Mainnet Beta:

    bash
    # From inside the \`gm\` directory
    -wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/gm/init-mainnet.sh
  2. Ensure that the account for your light node is funded.

  3. Run the init-mainnet.sh script:

    bash
    bash init-mainnet.sh
  4. Watch as your rollup posts blocks to Celestia!

  5. View your rollup by finding your namespace or account Celenium.

View the example rollup's namespace on Celenium.

Restarting your rollup

When you ran init-mainnet.sh, the script generated a script called restart-mainnet.sh in the $HOME/gm directory for you to use to restart your rollup.

In order to do so, restart celestia-da and then run:

bash
bash restart-mainnet.sh

Next steps

Congratulations! You have a Rollkit rollup running on Celestia's Mainnet Beta.

If you're interested in setting up a full node alongside your sequencer, see the Full and sequencer node rollup setup tutorial.

`,20),l=[o];function r(p,i,c,d,h,u){return e(),s("div",null,l)}const g=a(t,[["render",r]]);export{y as __pageData,g as default}; diff --git a/pr-333/assets/tutorials_gm-world-mainnet.md.eb350b9b.lean.js b/pr-333/assets/tutorials_gm-world-mainnet.md.eb350b9b.lean.js deleted file mode 100644 index 39b27c07a..000000000 --- a/pr-333/assets/tutorials_gm-world-mainnet.md.eb350b9b.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as e,c as s,X as n}from"./chunks/framework.8df7efef.js";const y=JSON.parse('{"title":"GM world rollup: Part 3","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"GM world rollup: Part 3 | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/gm-world-mainnet.md","filePath":"tutorials/gm-world-mainnet.md","lastUpdated":1711045903000}'),t={name:"tutorials/gm-world-mainnet.md"},o=n("",20),l=[o];function r(p,i,c,d,h,u){return e(),s("div",null,l)}const g=a(t,[["render",r]]);export{y as __pageData,g as default}; diff --git a/pr-333/assets/tutorials_gm-world-testnet.md.93c1eaf7.js b/pr-333/assets/tutorials_gm-world-testnet.md.93c1eaf7.js deleted file mode 100644 index 3cabc99f5..000000000 --- a/pr-333/assets/tutorials_gm-world-testnet.md.93c1eaf7.js +++ /dev/null @@ -1,46 +0,0 @@ -import{_ as s,o as a,c as e,X as o}from"./chunks/framework.8df7efef.js";const n="/docs-preview/pr-333/gm/gm.png",A=JSON.parse('{"title":"GM world rollup: Part 2","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"GM world rollup: Part 2 | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/gm-world-testnet.md","filePath":"tutorials/gm-world-testnet.md","lastUpdated":1711045903000}'),l={name:"tutorials/gm-world-testnet.md"},t=o(`

GM world rollup: Part 2

Deploying to a Celestia testnet

This tutorial is part 2 of the GM world rollup tutorials. In this tutorial, it is expected that you've completed part 1 of the tutorial and are familiar with running a local rollup devnet.

The script for this tutorial is built for Celestia's Arabica devnet.

🪶 Run a Celestia light node

  1. Fully sync and fund a light node on Arabica devnet (arabica-11). Follow instructions to install and start your Celestia data availability layer light node selecting the Arabica network. You can find instructions to install and run the node. After the node is synced, stop the light node.

  2. Use celestia-da to connect to Rollkit. Your node does not need to be running when you start celestia-da. To start celestia-da and your light node, run this command:

bash
docker run -d \\
--e NODE_TYPE=light \\
--e P2P_NETWORK=arabica \\
--p 26650:26650 \\
--p 26658:26658 \\
--p 26659:26659 \\
--v $HOME/.celestia-light-arabica-11/:/home/celestia/.celestia-light-arabica-11/ \\
-ghcr.io/rollkit/celestia-da:v0.12.10 \\
-celestia-da light start \\
---p2p.network=arabica \\
---da.grpc.namespace=000008e5f679bf7116cb \\
---da.grpc.listen=0.0.0.0:26650 \\
---core.ip validator-1.celestia-arabica-11.com \\
---gateway

TIP

You can either use the default 000008e5f679bf7116cb namespace above, or set your own by using a command similar to this (or, you could get creative 😎):

bash
openssl rand -hex 10

Learn more about namespaces .

After you have Go and Ignite CLI installed, and celestia-da running on your machine, you're ready to run your own sovereign rollup.

🟢 Start your sovereign rollup

We have a handy init-testnet.sh found in this repo.

We can copy it over to our directory with the following commands:

bash
# From inside the \`gm\` directory
-wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/gm/init-testnet.sh

This copies over our init-testnet.sh script to initialize our gm rollup.

You can view the contents of the script to see how we initialize the gm rollup.

Clear previous chain history

Before starting the rollup, we need to remove the old project folders:

bash
rm -r $HOME/go/bin/gmd && rm -rf $HOME/.gm

Start the new chain

Now, you can initialize the script with the following command:

bash
bash init-testnet.sh

View your rollup by finding your namespace or account an Arabica devnet explorer.

With that, we have kickstarted our second gmd rollup!

Optional: Restarting your rollup

If you'd like to stop and restart your rollup for development purposes, you're in luck!

When you ran init-testnet.sh, the script generated a script called restart-testnet.sh in the $HOME/gm directory for you to use to restart your rollup.

In order to do so, restart celestia-da and then run:

bash
bash restart-testnet.sh

Optional: Add a "GM world" query

💬 Say gm world

Now, we're going to get our blockchain to say gm world! - in order to do so you need to make the following changes:

  • Modify a protocol buffer file
  • Create a keeper query function that returns data

Protocol buffer files contain proto RPC calls that define Cosmos SDK queries and message handlers, and proto messages that define Cosmos SDK types. The RPC calls are also responsible for exposing an HTTP API.

The Keeper is required for each Cosmos SDK module and is an abstraction for modifying the state of the blockchain. Keeper functions allow us to query or write to the state.

✋ Create your first query

Open a new terminal instance that is not the same that you started the chain in.

In your new terminal, cd into the gm directory and run this command to create the gm query:

bash
ignite scaffold query gm --response text

Response:

bash
modify proto/gm/gm/query.proto
-modify x/gm/client/cli/query.go
-create x/gm/client/cli/query_gm.go
-create x/gm/keeper/query_gm.go
-
-🎉 Created a query \`gm\`.

What just happened? query accepts the name of the query (gm), an optional list of request parameters (empty in this tutorial), and an optional comma-separated list of response field with a --response flag (text in this tutorial).

Navigate to the gm/proto/gm/gm/query.proto file, you’ll see that Gm RPC has been added to the Query service:

proto
service Query {
-  rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {
-    option (google.api.http).get = "/gm/gm/params";
-  }
- rpc Gm(QueryGmRequest) returns (QueryGmResponse) {
-  option (google.api.http).get = "/gm/gm/gm";
- }
-}

The Gm RPC for the Query service:

  • is responsible for returning a text string
  • Accepts request parameters (QueryGmRequest)
  • Returns response of type QueryGmResponse
  • The option defines the endpoint that is used by gRPC to generate an HTTP API
📨 Query request and response types

In the same file, we will find:

  • QueryGmRequest is empty because it does not require parameters
  • QueryGmResponse contains text that is returned from the chain
proto
message QueryGmRequest {
-}
-
-message QueryGmResponse {
-  string text = 1;
-}
👋 Gm keeper function

The gm/x/gm/keeper/query_gm.go file contains the Gm keeper function that handles the query and returns data.

go
func (k Keeper) Gm(goCtx context.Context, req *types.QueryGmRequest) (*types.QueryGmResponse, error) {
-	if req == nil {
-		return nil, status.Error(codes.InvalidArgument, "invalid request")
-	}
-	ctx := sdk.UnwrapSDKContext(goCtx)
-	_ = ctx
-	return &types.QueryGmResponse{}, nil
-}

The Gm function performs the following actions:

  • Makes a basic check on the request and throws an error if it’s nil
  • Stores context in a ctx variable that contains information about the environment of the request
  • Returns a response of type QueryGmResponse

Currently, the response is empty and you'll need to update the keeper function.

Our query.proto file defines that the response accepts text. Use your text editor to modify the keeper function in gm/x/gm/keeper/query_gm.go .

go
func (k Keeper) Gm(goCtx context.Context, req *types.QueryGmRequest) (*types.QueryGmResponse, error) {
-	if req == nil {
-		return nil, status.Error(codes.InvalidArgument, "invalid request")
-	}
-	ctx := sdk.UnwrapSDKContext(goCtx)
-	_ = ctx
-	return &types.QueryGmResponse{Text: "gm world!"}, nil 
-}

The query command has also scaffolded x/gm/client/cli/query_gm.go that implements a CLI equivalent of the gm query and mounted this command in x/gm/client/cli/query.go.

Restart your rollup

Restart your rollup by running the init-testnet.sh script again.

Query your rollup

In a separate window, run the following command:

bash
gmd q gm gm

We will get the following JSON response:

bash
text: gm world!

gm.png

Next steps

Congratulations 🎉 you've successfully built your first rollup and queried it!

In the next tutorial, you'll learn how to post data to Celestia's Mainnet Beta.

If you're interested in setting up a full node alongside your sequencer, see the Full and sequencer node rollup setup tutorial.

',70),p=[t];function r(c,i,y,C,d,D){return a(),e("div",null,p)}const h=s(l,[["render",r]]);export{A as __pageData,h as default}; diff --git a/pr-333/assets/tutorials_gm-world-testnet.md.93c1eaf7.lean.js b/pr-333/assets/tutorials_gm-world-testnet.md.93c1eaf7.lean.js deleted file mode 100644 index f667223d0..000000000 --- a/pr-333/assets/tutorials_gm-world-testnet.md.93c1eaf7.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as e,X as o}from"./chunks/framework.8df7efef.js";const n="/docs-preview/pr-333/gm/gm.png",A=JSON.parse('{"title":"GM world rollup: Part 2","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"GM world rollup: Part 2 | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/gm-world-testnet.md","filePath":"tutorials/gm-world-testnet.md","lastUpdated":1711045903000}'),l={name:"tutorials/gm-world-testnet.md"},t=o("",70),p=[t];function r(c,i,y,C,d,D){return a(),e("div",null,p)}const h=s(l,[["render",r]]);export{A as __pageData,h as default}; diff --git a/pr-333/assets/tutorials_gm-world.md.2c157fe5.js b/pr-333/assets/tutorials_gm-world.md.2c157fe5.js deleted file mode 100644 index 3154be6ee..000000000 --- a/pr-333/assets/tutorials_gm-world.md.2c157fe5.js +++ /dev/null @@ -1,130 +0,0 @@ -import{_ as s,o as a,c as n,X as l}from"./chunks/framework.8df7efef.js";const d=JSON.parse('{"title":"GM world rollup: Part 1","description":"Build a sovereign rollup with Ignite CLI, Celestia and Rollkit locally and on a testnet","frontmatter":{"description":"Build a sovereign rollup with Ignite CLI, Celestia and Rollkit locally and on a testnet","head":[["meta",{"name":"og:title","content":"GM world rollup: Part 1 | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/gm-world.md","filePath":"tutorials/gm-world.md","lastUpdated":1711045903000}'),o={name:"tutorials/gm-world.md"},p=l(`

GM world rollup: Part 1

Building a rollup locally

🌅 Introduction

This tutorial will guide you through building a sovereign gm-world rollup using Rollkit, using Celestia’s data availability and consensus layer to submit Rollkit blocks.

We'll cover setting up Ignite CLI, building a Cosmos-SDK application-specific rollup blockchain, and posting data to Celestia. First, we will test on a local DA network, then to a live testnet, and lastly to mainnet.

  1. Part 1 (This page): Run your rollup and post DA to a local devnet, and make sure everything works as expected.
  2. Part 2: Deploy the rollup, posting to a DA testnet. Confirm again that everything is functioning properly.
  3. Part 3: Deploy your rollup to the DA layer's mainnet.

The Cosmos SDK is a framework for building blockchain applications. The Cosmos Ecosystem uses Inter-Blockchain Communication (IBC) to allow blockchains to communicate with one another.

TIP

This tutorial will explore developing with Rollkit, which is still in Alpha stage. If you run into bugs, please write a Github Issue ticket or let us know in our Telegram.

Learn how to restart your rollup.

🤔 What is GM?

GM means good morning. It's GM o'clock somewhere, so there's never a bad time to say GM, Gm, or gm. You can think of "GM" as the new version of "hello world".

Dependencies

Next, head either to Linux setup or MacOS setup.

Linux setup

🏃 Install Golang on Linux

Celestia-App, Celestia-Node, and Cosmos-SDK are written in the Golang programming language. You will need Golang to build and run them.

You can install Golang here.

🔥 Install Ignite CLI on Linux

First, you will need to create /usr/local/bin if you have not already:

bash
sudo mkdir -p -m 775 /usr/local/bin

Run this command in your terminal to install Ignite CLI:

bash
curl https://get.ignite.com/cli@v28.1.0! | bash

TIP

✋ On some machines, you may run into permissions errors like the one below. You can resolve this error by following the guidance here or below.

bash
# Error
-jcs @ ~ % curl https://get.ignite.com/cli@v28.1.0! | bash
-
-
-  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
-                                 Dload  Upload   Total   Spent    Left  Speed
-100  3967    0  3967    0     0  16847      0 --:--:-- --:--:-- --:--:-- 17475
-Installing ignite v28.1.0..... 
-######################################################################## 100.0% 
-mv: rename ./ignite to /usr/local/bin/ignite: Permission denied 
-============ 
-Error: mv failed 

The following command will resolve the permissions error:

bash
sudo curl https://get.ignite.com/cli@v28.1.0! | bash

A successful installation will return something similar to the response below:

bash
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
-                                 Dload  Upload   Total   Spent    Left  Speed
-100  4073    0  4073    0     0   4363      0 --:--:-- --:--:-- --:--:--  4379
-Installing ignite v28.1.0..... 
-######################################################################## 100.0% 
-Password:
-Installed at /usr/local/bin/ignite 

Verify you’ve installed Ignite CLI by running:

bash
ignite version

The response that you receive should look something like this:

bash
jcs @ ~ % ignite version 
-Ignite CLI version: v28.1.0 
-Ignite CLI build date: 2023-12-23T08:29:07Z
-Ignite CLI source hash: 4bb56d0cf73d16303221d8d1ffdd3ec395682813
-Ignite CLI config version: v1
-Cosmos SDK version: v0.50.1
-Your OS:  darwin
-Your arch:  arm64
-Your Node.js version: v20.4.0
-Your go version: go version go1.21.5 darwin/arm64
-Your uname -a:  Darwin Joshs-MacBook-Air.local 22.5.0 Darwin Kernel Version 22.5.0: Thu Jun  8 22:21:34 PDT 2023; root:xnu-8796.121.3~7/RELEASE_ARM64_T8112 arm64
-Your cwd:  /Users/joshstein
-Is on Gitpod:  false

Your development environment is setup! Now, head to part 1.

macOS setup

🏃 Install Golang on macOS

Celestia-App, Celestia-Node, and Cosmos-SDK are written in the Golang programming language. You will need Golang to build and run them.

You can install Golang here.

🔥 Install Ignite CLI on macOS

First, you will need to create /usr/local/bin if you have not already:

bash
sudo mkdir -p -m 775 /usr/local/bin

Run this command in your terminal to install Ignite CLI:

bash
curl https://get.ignite.com/cli@v28.1.0! | bash

TIP

✋ On some machines, you may run into permissions errors like the one below. You can resolve this error by following the guidance here or below.

bash
# Error
-jcs @ ~ % curl https://get.ignite.com/cli@v28.1.0! | bash
-
-
-  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
-                                 Dload  Upload   Total   Spent    Left  Speed
-100  3967    0  3967    0     0  16847      0 --:--:-- --:--:-- --:--:-- 17475
-Installing ignite v28.1.0..... 
-######################################################################## 100.0% 
-mv: rename ./ignite to /usr/local/bin/ignite: Permission denied 
-============ 
-Error: mv failed 

The following command will resolve the permissions error:

bash
sudo curl https://get.ignite.com/cli@v28.1.0! | sudo bash

A successful installation will return something similar the response below:

bash
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
-                                 Dload  Upload   Total   Spent    Left  Speed
-100  3967    0  3967    0     0  15586      0 --:--:-- --:--:-- --:--:-- 15931
-Installing ignite v28.1.0..... 
-######################################################################## 100.0% 
-Installed at /usr/local/bin/ignite 

Verify you’ve installed Ignite CLI by running:

bash
ignite version

The response that you receive should look something like this:

bash
jcs @ ~ % ignite version 
-Ignite CLI version:  v28.1.0
-Ignite CLI build date:  2023-12-23T08:29:07Z
-Ignite CLI source hash:  4bb56d0cf73d16303221d8d1ffdd3ec395682813
-Ignite CLI config version: v1
-Cosmos SDK version:  v0.50.1
-Your OS:   darwin
-Your arch:   arm64
-Your Node.js version:  v20.4.0
-Your go version:  go version go1.21.5 darwin/arm64
-Your uname -a:   Darwin Joshs-MacBook-Air.local 22.5.0 Darwin Kernel Version 22.5.0: Thu Jun  8 22:21:34 PDT 2023; root:xnu-8796.121.3~7/RELEASE_ARM64_T8112 arm64
-Your cwd:  /Users/joshstein
-Is on Gitpod:  false

🍺 Install Homebrew on macOS

Homebrew will allow us to install dependencies for our Mac:

bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Be sure to run the commands similar to the output below from the successful installation:

bash
==> Next steps:
-- Run these three commands in your terminal to add Homebrew to your PATH:
-    echo '# Set PATH, MANPATH, etc., for Homebrew.' >> /Users/joshstein/.zprofile
-    echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/joshstein/.zprofile
-    eval "$(/opt/homebrew/bin/brew shellenv)"

🏃 Install wget on macOS

wget is an Internet file retriever:

bash
brew install wget

Your development environment is setup! Now, head to part 1.

Part 1

This part of the tutorial will teach developers how to easily run a local data availability (DA) devnet on their own machine (or in the cloud). Running a local devnet for DA to test your rollup is the recommended first step before deploying to a testnet. This eliminates the need for testnet tokens and deploying to a testnet until you are ready.

WARNING

Part 1 of the tutorial has only been tested on an AMD machine running Ubuntu 22.10 x64.

Whether you're a developer simply testing things on your laptop or using a virtual machine in the cloud, this process can be done on any machine of your choosing. We tested out the Devnet section (part 1) on a machine with the following specs:

  • Memory: 1 GB RAM
  • CPU: Single Core AMD
  • Disk: 25 GB SSD Storage
  • OS: Ubuntu 22.10 x64

💻 Prerequisites

  • Docker installed on your machine

🏠 Running local devnet with a Rollkit rollup

First, run the local-celestia-devnet by running the following command:

bash
docker run -t -i \\
-    -p 26650:26650 -p 26657:26657 -p 26658:26658 -p 26659:26659 -p 9090:9090 \\
-    ghcr.io/rollkit/local-celestia-devnet:v0.12.7

The docker image automatically creates a NAMESPACE_ID (as shown below) while starting the celestia-da server. If you want to set your own NAMESPACE_ID, set the env variable CELESTIA_NAMESPACE.

bash
CELESTIA_NAMESPACE=0000$(openssl rand -hex 8)

The port 26650 is where the celestia-da server is run (which also runs a Celestia DA bridge node).

🏗️ Building your sovereign rollup

Now that you have a Celestia devnet running, we are ready to use Golang to build and run our Cosmos-SDK blockchain.

The Ignite CLI comes with scaffolding commands to make development of blockchains quicker by creating everything that is needed to start a new Cosmos SDK blockchain.

Check your version:

bash
ignite version

Open a new tab or window in your terminal and run this command to scaffold your rollup. Scaffold the chain:

bash
cd $HOME
-ignite scaffold chain gm --address-prefix gm

TIP

The --address-prefix gm flag will change the address prefix from cosmos to gm. Read more on the Cosmos docs.

The response will look similar to below:

WARNING

Do not run ignite chain serve as we will build the chain later in the tutorial.

bash
jcs @ ~ % ignite scaffold chain gm --address-prefix gm
-
-⭐️ Successfully created a new blockchain 'gm'. 
-👉 Get started with the following commands: 
-
- % cd gm 
- % ignite chain serve
-
-Documentation: https://docs.ignite.com

This command has created a Cosmos SDK blockchain in the gm directory. The gm directory contains a fully functional blockchain. The following standard Cosmos SDK modules have been imported:

  • staking - for delegated Proof-of-Stake (PoS) consensus mechanism
  • bank - for fungible token transfers between accounts
  • gov - for on-chain governance
  • mint - for minting new units of staking token
  • nft - for creating, transferring, and updating NFTs
  • and more

Change to the gm directory:

bash
cd gm

You can learn more about the gm directory’s file structure here. Most of our work in this tutorial will happen in the x directory.

🗞️ Install Rollkit

To swap out CometBFT for Rollkit, run the following command from inside the gm directory:

bash
go mod edit -replace github.com/cosmos/cosmos-sdk=github.com/rollkit/cosmos-sdk@v0.50.1-rollkit-v0.11.19-no-fraud-proofs
-go mod tidy
-go get github.com/bufbuild/buf@latest
-go mod download

▶️ Start your rollup

Download the init-local.sh script to start the chain:

bash
# From inside the \`gm\` directory
-wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/gm/init-local.sh

Run the init-local.sh script:

WARNING

In order to run init-local.sh you need to have the jq command line tool installed. You can install it by running sudo apt-get install jq on Ubuntu or brew install jq on MacOS.

bash
bash init-local.sh

TIP

If you get errors of gmd not found, you may need to add the go/bin directory to your PATH. You can do this by running export PATH=$PATH:$HOME/go/bin and then running the init-local.sh script again.

This will start your rollup, connected to the local Celestia devnet you have running.

Now let's explore a bit.

TIP

If you are restarting your rollup, you'll need to clear the old chain history and binary:

bash
rm -rf $HOME/.gm
-rm $HOME/go/bin/gmd

🔑 Keys

List your keys:

bash
gmd keys list --keyring-backend test

You should see an output like the following

bash
- address: gm1sa3xvrkvwhktjppxzaayst7s7z4ar06rk37jq7 
-  name: gm-key-2 
-  pubkey: '{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AlXXb6Op8DdwCejeYkGWbF4G3pDLDO+rYiVWKPKuvYaz"}'
-  type: local
-- address: gm13nf52x452c527nycahthqq4y9phcmvat9nejl2 
-  name: gm-key 
-  pubkey: '{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AwigPerY+eeC2WAabA6iW1AipAQora5Dwmo1SnMnjavt"}'
-  type: local

💸 Transactions

Now we can test sending a transaction from one of our keys to the other. We can do that with the following command:

bash
gmd tx bank send [from_key_or_address] [to_address] [amount] [flags]

Set your keys as variables to make it easier to add the address:

bash
export KEY1=gm1sa3xvrkvwhktjppxzaayst7s7z4ar06rk37jq7
-export KEY2=gm13nf52x452c527nycahthqq4y9phcmvat9nejl2

So using our information from the keys command, we can construct the transaction command like so to send 42069stake from one address to another:

bash
gmd tx bank send $KEY1 $KEY2 42069stake --keyring-backend test \\
---node tcp://127.0.0.1:36657 --chain-id gm --fees 5000stake

TIP

We're using the --node [ip:port] flag to point to port 36657, which is the custom port we used in the init-local.sh script to avoid clashing with 26657 on local-celestia-devnet. We set it here:

bash
--rpc.laddr tcp://127.0.0.1:36657

You'll be prompted to accept the transaction:

bash
auth_info:
-  fee:
-    amount: []
-    gas_limit: "200000"
-    granter: ""
-    payer: ""
-  signer_infos: []
-  tip: null
-body:
-  extension_options: []
-  memo: ""
-  messages:
-  - '@type': /cosmos.bank.v1beta1.MsgSend
-    amount:
-    - amount: "42069"
-      denom: stake
-    from_address: gm1sa3xvrkvwhktjppxzaayst7s7z4ar06rk37jq7
-    to_address: gm13nf52x452c527nycahthqq4y9phcmvat9nejl2
-  non_critical_extension_options: []
-  timeout_height: "0"
-signatures: []
-confirm transaction before signing and broadcasting [y/N]: 

Type y if you'd like to confirm and sign the transaction. Then, you'll see the confirmation:

bash
code: 0
-codespace: ""
-data: ""
-events: []
-gas_used: "0"
-gas_wanted: "0"
-height: "0"
-info: ""
-logs: []
-raw_log: '[]'
-timestamp: ""
-tx: null
-txhash: 677CAF6C80B85ACEF6F9EC7906FB3CB021322AAC78B015FA07D5112F2F824BFF

⚖️ Balances

Then, query your balance:

bash
gmd query bank balances $KEY2 --node tcp://127.0.0.1:36657

This is the key that received the balance, so it should have increased past the initial STAKING_AMOUNT:

bash
balances: 
-- amount: "10000000000000000000042069" 
-  denom: stake
-pagination:
-  next_key: null
-  total: "0"

The other key, should have decreased in balance:

bash
gmd query bank balances $KEY1 --node tcp://127.0.0.1:36657

Response:

bash
balances: 
-- amount: "9999999999999999999957931" 
-  denom: stake
-pagination:
-  next_key: null
-  total: "0"

Next steps

Congratulations! You've built a local rollup that posts to a local Celestia devnet. In the next tutorial, you can learn how to post data to Celestia's Arabica devnet.

`,125),e=[p];function t(c,r,C,y,i,A){return a(),n("div",null,e)}const h=s(o,[["render",t]]);export{d as __pageData,h as default}; diff --git a/pr-333/assets/tutorials_gm-world.md.2c157fe5.lean.js b/pr-333/assets/tutorials_gm-world.md.2c157fe5.lean.js deleted file mode 100644 index 0f6428dfd..000000000 --- a/pr-333/assets/tutorials_gm-world.md.2c157fe5.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as n,X as l}from"./chunks/framework.8df7efef.js";const d=JSON.parse('{"title":"GM world rollup: Part 1","description":"Build a sovereign rollup with Ignite CLI, Celestia and Rollkit locally and on a testnet","frontmatter":{"description":"Build a sovereign rollup with Ignite CLI, Celestia and Rollkit locally and on a testnet","head":[["meta",{"name":"og:title","content":"GM world rollup: Part 1 | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/gm-world.md","filePath":"tutorials/gm-world.md","lastUpdated":1711045903000}'),o={name:"tutorials/gm-world.md"},p=l("",125),e=[p];function t(c,r,C,y,i,A){return a(),n("div",null,e)}const h=s(o,[["render",t]]);export{d as __pageData,h as default}; diff --git a/pr-333/assets/tutorials_ibc-connection.md.13ada158.js b/pr-333/assets/tutorials_ibc-connection.md.13ada158.js deleted file mode 100644 index 4c5794904..000000000 --- a/pr-333/assets/tutorials_ibc-connection.md.13ada158.js +++ /dev/null @@ -1,108 +0,0 @@ -import{_ as s,o as a,c as n,X as o}from"./chunks/framework.8df7efef.js";const F=JSON.parse('{"title":"IBC connection tutorial","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"IBC connection tutorial | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/ibc-connection.md","filePath":"tutorials/ibc-connection.md","lastUpdated":1711045903000}'),l={name:"tutorials/ibc-connection.md"},p=o(`

IBC connection tutorial

In this tutorial, we'll learn how to use an Inter-Blockchain Communication (IBC) Protocol relayer to create an IBC connection between a GM world rollup and an Osmosis local testnet.

Disclaimer

This initial version of IBC has high trust assumptions where receiving chains only verify the signature of the single rollup sequencer. This is the initial step towards the direction of trust-minimized IBC light clients, next steps include verifying DA inclusion proofs and adding fraud/zk proof verification. Learn more on ibc-go issue 5112.

💻 Pre-requisites

Software requirements

  • Docker running on your machine
  • Go version ≥ 1.21.0
  • Ignite version ≥ v28.2.0

Run a GM rollup chain

Before you can create an IBC connection, you need to start a local-celestia-devnet instance in a separate terminal:

bash
docker run -t -i --platform linux/amd64 -p 26650:26650 -p 26657:26657 -p 26658:26658 -p 26659:26659 -p 9090:9090 ghcr.io/rollkit/local-celestia-devnet:v0.12.7

WARNING

You will need to use Ignite v28.2.0, which you can install with:

bash
curl https://get.ignite.com/cli@v28.2.0! | bash

Scaffold the GM chain:

bash
cd $HOME
-ignite scaffold chain gm --address-prefix gm

Change into the gm directory and install Rollkit with IBC compatibility:

bash
cd gm
-go mod edit -replace github.com/cosmos/cosmos-sdk=github.com/rollkit/cosmos-sdk@v0.50.1-rollkit-v0.12.0-rc0-no-fraud-proofs
-go mod tidy
-go get github.com/bufbuild/buf@latest
-go mod download

Now download the script to run the GM chain:

bash
wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/gm/init-local.sh

Run the GM rollup:

bash
bash init-local.sh

Run your local-osmosis-testnet

Install Osmosis binary

bash
cd $HOME
-git clone https://github.com/osmosis-labs/osmosis
-cd osmosis
-git checkout v21.0.1
-make install

Run local-osmosis-testnet

You also need to start local-osmosis-testnet in a separate terminal by downloading and running this script:

bash
wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/ibc/init-osmosis-local.sh

Run the script:

bash
bash init-osmosis-local.sh

This will start your local Osmosis testnet, we'll create IBC connection between this testnet and GM chain in the next step.

NOTE: Here, the key's name from init-osmosis-local.sh is mykey and osmosis-relay but you can modify this script to change the name of your key.

TIP

We're using the --rpc.addr [ip:port] flag to point to port 46657, which is the custom port to avoid conflicts with other running chains.

Funds

The following private key has funds on your Osmosis chain:

bash
Keyname: osmosis-relay
-Address: osmo1vvl79phavqruppr6f5zy4ypxy7znshrqm390ll
-Mnemonic: "milk verify alley price trust come maple will suit hood clay exotic"

The following private key has funds on your GM rollup chain:

bash
Keyname: gm-relay
-Address: gm1vvl79phavqruppr6f5zy4ypxy7znshrqam48qy
-Mnemonic: "milk verify alley price trust come maple will suit hood clay exotic"

Setup relayer, create IBC connection and start relaying packets

A relayer is like a middleman for blockchains in the IBC protocol. Instead of directly talking to each other, blockchains communicate through relayers. These relayers keep an eye on the paths that are open between different blockchains. When there's something new or changed, the relayer makes sure the message gets sent to the right place on the other blockchain.

Apart from just passing messages, a relayer can also set up new paths between blockchains. This involves creating clients, connections, and channels, which are like communication channels between the blockchains. So, in simpler terms, a relayer makes sure blockchains can talk to each other smoothly.

Install relayer

bash
cd $HOME
-git clone https://github.com/cosmos/relayer
-cd relayer
-git checkout v2.4.2
-make install

Verify your rly version with rly version:

bash
rly version

It should return:

bash
version: 2.4.2
-commit: 259b1278264180a2aefc2085f1b55753849c4815
-cosmos-sdk: v0.47.5
-go: go1.21.4 darwin/arm64

Setup relayer config

Firstly, generate an empty config file with this command:

bash
rly config init

Afterward, replace the content of the file at $HOME/.relayer/config/config.yaml with the following configuration using any text editor you prefer.

yaml
global:
-    api-listen-addr: :5183
-    timeout: 10s
-    memo: ""
-    light-cache-size: 20
-chains:
-    osmo-local:
-        type: cosmos
-        value:
-            key-directory: /root/.relayer/keys/osmosis-testnet-1
-            key: default
-            chain-id: osmosis-testnet-1
-            rpc-addr: http://localhost:46657 
-            account-prefix: osmo
-            keyring-backend: test
-            gas-adjustment: 1.5
-            gas-prices: 0.1uosmo
-            min-gas-amount: 100000
-            max-gas-amount: 1000000
-            debug: true
-            timeout: 20s
-            block-timeout: ""
-            output-format: json
-            sign-mode: direct
-            extra-codecs: []
-            coin-type: 118
-            signing-algorithm: ""
-            broadcast-mode: batch
-            min-loop-duration: 0s
-            extension-options: []
-            feegrants: null
-    gm-local:
-        type: cosmos
-        value:
-            key-directory: /root/.relayer/keys/test
-            key: default
-            chain-id: gm
-            rpc-addr: http://localhost:36657
-            account-prefix: gm
-            keyring-backend: test
-            gas-adjustment: 1.5
-            gas-prices: 0.1stake
-            min-gas-amount: 100000
-            max-gas-amount: 1000000
-            debug: true
-            timeout: 20s
-            block-timeout: ""
-            output-format: json
-            sign-mode: direct
-            extra-codecs: []
-            coin-type: 118
-            signing-algorithm: ""
-            broadcast-mode: batch
-            min-loop-duration: 0s
-            extension-options: []
-            feegrants: null
-paths: {}

Create relayer account

Add keys for each chain with this command

The mnemonic-words are the mnemonics you received when initializing the local node. Ensure that each wallet has tokens to start relaying.

bash
rly keys restore osmo-local default "milk verify alley price trust come maple will suit hood clay exotic"
-rly keys restore gm-local default "milk verify alley price trust come maple will suit hood clay exotic"

Create IBC channel

Create a new blank path to be used in generating a new path (connection and client) between two chains

bash
rly paths new osmosis-testnet-1 gm osmo-gm

and then you can create channel with this command

bash
rly transact link osmo-gm

This is a triple whammy; it creates a client, connection, and channel all in one command.

Alternatively, you may create them one by one using these commands:

bash
rly transact clients osmo-local gm-local osmo-gm
-rly transact connection osmo-gm
-rly transact channel osmo-gm --src-port transfer --dst-port transfer --order unordered --version ics20-1

At the end, it should return something like this :

bash
2024-02-15T09:22:04.062649Z info Connection handshake termination candidate {"path_name": "osmo-gm", "chain_id": "gm", "client_id": "07-tendermint-0", "termination_client_id": "07-tendermint-0", "observed_client_id": "07-tendermint-0", "termination_counterparty_client_id": "07-tendermint-0", "observed_counterparty_client_id": "07-tendermint-0"}
-2024-02-15T09:22:04.062667Z info Found termination condition for connection handshake {"path_name": "osmo-gm", "chain_id": "gm", "client_id": "07-tendermint-0"}
-2024-02-15T09:22:04.069040Z info Starting event processor for channel handshake {"src_chain_id": "osmosis-testnet-1", "src_port_id": "transfer", "dst_chain_id": "gm", "dst_port_id": "transfer"}
-2024-02-15T09:22:04.070364Z info Chain is in sync {"chain_name": "gm-local", "chain_id": "gm"}
-2024-02-15T09:22:04.070389Z info Chain is in sync {"chain_name": "osmo-local", "chain_id": "osmosis-testnet-1"}
-2024-02-15T09:22:10.310493Z info Successful transaction {"provider_type": "cosmos", "chain_id": "osmosis-testnet-1", "gas_used": 165662, "fees": "24023uosmo", "fee_payer": "osmo1vvl79phavqruppr6f5zy4ypxy7znshrqm390ll", "height": 12, "msg_types": ["/ibc.core.client.v1.MsgUpdateClient", "/ibc.core.channel.v1.MsgChannelOpenInit"], "tx_hash": "D7E7E6EC0299C120C0E32167C11F0B60921EF88CC6524345BCEB3B266EF727AA"}
-2024-02-15T09:22:15.293348Z info Successful transaction {"provider_type": "cosmos", "chain_id": "gm", "gas_used": 171590, "fees": "6510stake", "fee_payer": "gm1vvl79phavqruppr6f5zy4ypxy7znshrqam48qy", "height": 61, "msg_types": ["/ibc.core.client.v1.MsgUpdateClient", "/ibc.core.channel.v1.MsgChannelOpenTry"], "tx_hash": "DE5F15D2CEB85278FA916185A01FBA5DA604563462893288EC7A8745FB597B96"}
-2024-02-15T09:22:18.300397Z info Successful transaction {"provider_type": "cosmos", "chain_id": "osmosis-testnet-1", "gas_used": 126689, "fees": "18177uosmo", "fee_payer": "osmo1vvl79phavqruppr6f5zy4ypxy7znshrqm390ll", "height": 14, "msg_types": ["/ibc.core.client.v1.MsgUpdateClient", "/ibc.core.channel.v1.MsgChannelOpenAck"], "tx_hash": "CB1FA1D3309513FC6C8599606DEFE75164F4CAE2ABD101D78133B287862A5ACA"}
-2024-02-15T09:22:19.078583Z info Successfully created new channel {"chain_name": "osmo-local", "chain_id": "osmosis-testnet-1", "channel_id": "channel-0", "connection_id": "connection-0", "port_id": "transfer"}
-2024-02-15T09:22:23.296353Z info Successful transaction {"provider_type": "cosmos", "chain_id": "gm", "gas_used": 124972, "fees": "4762stake", "fee_payer": "gm1vvl79phavqruppr6f5zy4ypxy7znshrqam48qy", "height": 69, "msg_types": ["/ibc.core.client.v1.MsgUpdateClient", "/ibc.core.channel.v1.MsgChannelOpenConfirm"], "tx_hash": "B917289EC7566B57B2D0EC759F2E703DBD652F9044362E78C05C4F6DF8FD7AC7"}
-2024-02-15T09:22:24.080924Z info Successfully created new channel {"chain_name": "gm-local", "chain_id": "gm", "channel_id": "channel-0", "connection_id": "connection-0", "port_id": "transfer"}[!code focus]
-2024-02-15T09:22:24.080992Z info Channel handshake termination candidate {"path_name": "osmo-gm", "chain_id": "gm", "client_id": "07-tendermint-0", "termination_port_id": "transfer", "observed_port_id": "transfer", "termination_counterparty_port_id": "transfer", "observed_counterparty_port_id": "transfer"}
-2024-02-15T09:22:24.080998Z info Found termination condition for channel handshake {"path_name": "osmo-gm", "chain_id": "gm", "client_id": "07-tendermint-0"}

TIP

Notice your channel_id, you need to specify it when you make the IBC transfer transaction in next step!

Start relaying packets

After completing all these steps, you can start relaying with:

bash
rly start

IBC transfer of tokens between osmosis-testnet-1 and gm is now possible.

Transfer token from rollup chain to osmosis-local

Make an ibc-transfer transaction. This tx will transfer 1000000stake from gm-key to receiver address in your local-osmosis chain.

Set your keys and channel ID as variables:

bash
OSMO_KEY=osmo1vvl79phavqruppr6f5zy4ypxy7znshrqm390ll
-GM_KEY=gm1vvl79phavqruppr6f5zy4ypxy7znshrqam48qy
-CHANNEL_ID=channel-0
bash
gmd tx ibc-transfer transfer transfer $CHANNEL_ID $OSMO_KEY 42069stake --node tcp://localhost:36657 --chain-id gm --from gm-key --keyring-backend test --fees 5000stake

Then check the balance of the receiver address to see if the token has been relayed or not.

bash
osmosisd query bank balances $OSMO_KEY --node tcp://localhost:46657 --chain-id osmosis-testnet-1

The balances query command should return something like this:

bash
balances:
-- amount: "42069"
-  denom: ibc/C053D637CCA2A2BA030E2C5EE1B28A16F71CCB0E45E8BE52766DC1B241B77878
-- amount: "100000000999876914"
-  denom: uosmo
-- amount: "100000000000000"
-  denom: utest
-pagination:
-  next_key: null
-  total: "0"

TIP

ibc/64BA6E31FE887D66C6F8F31C7B1A80C7CA179239677B4088BB55F5EA07DBE273 is corresponding IBC denom in osmosis-testnet for native denom stake in GM chain. Your hash will be different than this and specific to your channel.

Transfer token back from osmosis-local to rollup chain

Set your channel hash from the last step:

bash
IBC_DENOM_STRING=ibc/64BA6E31FE887D66C6F8F31C7B1A80C7CA179239677B4088BB55F5EA07DBE273

Make an ibc-transfer transaction:

bash
osmosisd tx ibc-transfer transfer transfer $CHANNEL_ID $GM_KEY 42069$IBC_DENOM_STRING --node tcp://localhost:46657 --chain-id osmosis-testnet-1 --from osmosis-relay --fees 500uosmo

And then check the balances of the receiver address to see if the token has been relayed or not:

bash
gmd query bank balances $GM_KEY --node tcp://localhost:36657

The balances query command should return something like this, which is close to the original balance, minus some gas fees:

bash
gmd query bank balances $GM_KEY --node tcp://localhost:36657
-balances:
-- amount: "9999999999999999999897679"
-  denom: stake
-pagination:
-  total: "1"
`,87),e=[p];function t(c,r,y,C,D,i){return a(),n("div",null,e)}const u=s(l,[["render",t]]);export{F as __pageData,u as default}; diff --git a/pr-333/assets/tutorials_ibc-connection.md.13ada158.lean.js b/pr-333/assets/tutorials_ibc-connection.md.13ada158.lean.js deleted file mode 100644 index bdad40c92..000000000 --- a/pr-333/assets/tutorials_ibc-connection.md.13ada158.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as n,X as o}from"./chunks/framework.8df7efef.js";const F=JSON.parse('{"title":"IBC connection tutorial","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"IBC connection tutorial | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/ibc-connection.md","filePath":"tutorials/ibc-connection.md","lastUpdated":1711045903000}'),l={name:"tutorials/ibc-connection.md"},p=o("",87),e=[p];function t(c,r,y,C,D,i){return a(),n("div",null,e)}const u=s(l,[["render",t]]);export{F as __pageData,u as default}; diff --git a/pr-333/assets/tutorials_lazy-sequencing.md.62177772.js b/pr-333/assets/tutorials_lazy-sequencing.md.62177772.js deleted file mode 100644 index 6a32a02df..000000000 --- a/pr-333/assets/tutorials_lazy-sequencing.md.62177772.js +++ /dev/null @@ -1,3 +0,0 @@ -import{_ as a,o as s,c as e,X as n}from"./chunks/framework.8df7efef.js";const h=JSON.parse('{"title":"How to use lazy sequencing (aggregation)","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to use lazy sequencing (aggregation) | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/lazy-sequencing.md","filePath":"tutorials/lazy-sequencing.md","lastUpdated":1711045903000}'),t={name:"tutorials/lazy-sequencing.md"},o=n(`

How to use lazy sequencing (aggregation)

In this guide, we'll go over how to use lazy sequencing.

This feature was introduced in Rollkit v0.7.0 and allows rollup operators to wait for transactions to build blocks. This prevents the rollup from building empty blocks.

To turn on lazy sequencing, add the following flag to your start command:

bash
--rollkit.lazy_aggregator

An example command would look like this:

bash
# start the chain
-gmd start [existing flags...] 
-gmd start [existing flags...] --rollkit.lazy_aggregator 
`,7),l=[o];function i(p,r,c,g,d,u){return s(),e("div",null,l)}const _=a(t,[["render",i]]);export{h as __pageData,_ as default}; diff --git a/pr-333/assets/tutorials_lazy-sequencing.md.62177772.lean.js b/pr-333/assets/tutorials_lazy-sequencing.md.62177772.lean.js deleted file mode 100644 index b2ab61bb0..000000000 --- a/pr-333/assets/tutorials_lazy-sequencing.md.62177772.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as e,X as n}from"./chunks/framework.8df7efef.js";const h=JSON.parse('{"title":"How to use lazy sequencing (aggregation)","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to use lazy sequencing (aggregation) | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/lazy-sequencing.md","filePath":"tutorials/lazy-sequencing.md","lastUpdated":1711045903000}'),t={name:"tutorials/lazy-sequencing.md"},o=n("",7),l=[o];function i(p,r,c,g,d,u){return s(),e("div",null,l)}const _=a(t,[["render",i]]);export{h as __pageData,_ as default}; diff --git a/pr-333/assets/tutorials_overview.md.d89bc8d6.js b/pr-333/assets/tutorials_overview.md.d89bc8d6.js deleted file mode 100644 index d5a7bda14..000000000 --- a/pr-333/assets/tutorials_overview.md.d89bc8d6.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as r,c as o,X as t}from"./chunks/framework.8df7efef.js";const v=JSON.parse('{"title":"Tutorials","description":"This page provides a comprehensive overview of tutorials and guides available for Rollkit.","frontmatter":{"description":"This page provides a comprehensive overview of tutorials and guides available for Rollkit.","head":[["meta",{"name":"og:title","content":"Tutorials | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/overview.md","filePath":"tutorials/overview.md","lastUpdated":1711045903000}'),l={name:"tutorials/overview.md"},i=t('

Tutorials

Welcome to the Rollkit tutorials section! Here, you'll find a wide range of tutorials and guides designed to help you understand and effectively use Rollkit, the open modular framework for sovereign rollups.

Whether you're a beginner just starting out, an intermediate user looking to expand your knowledge, or an advanced user seeking to delve into more complex topics, we've got you covered. Our tutorials are categorized based on the level of expertise required, so you can easily find the resources that best suit your needs.

In this section, you'll find:

💻 Support

The tutorials will explore developing with Rollkit, which is still in Alpha stage. If you run into bugs, please write a Github issue or let us know in our Telegram. Furthermore, while Rollkit allows you to build sovereign rollups on Celestia, it currently does not support fraud proofs yet and is therefore running in "pessimistic" mode, where nodes would need to re-execute the transactions to check the validity of the chain (i.e. a full node). Furthermore, Rollkit currently only supports a single sequencer.

',7),a=[i];function s(n,u,p,d,c,h){return r(),o("div",null,a)}const w=e(l,[["render",s]]);export{v as __pageData,w as default}; diff --git a/pr-333/assets/tutorials_overview.md.d89bc8d6.lean.js b/pr-333/assets/tutorials_overview.md.d89bc8d6.lean.js deleted file mode 100644 index 3fdd32912..000000000 --- a/pr-333/assets/tutorials_overview.md.d89bc8d6.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as r,c as o,X as t}from"./chunks/framework.8df7efef.js";const v=JSON.parse('{"title":"Tutorials","description":"This page provides a comprehensive overview of tutorials and guides available for Rollkit.","frontmatter":{"description":"This page provides a comprehensive overview of tutorials and guides available for Rollkit.","head":[["meta",{"name":"og:title","content":"Tutorials | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/overview.md","filePath":"tutorials/overview.md","lastUpdated":1711045903000}'),l={name:"tutorials/overview.md"},i=t("",7),a=[i];function s(n,u,p,d,c,h){return r(),o("div",null,a)}const w=e(l,[["render",s]]);export{v as __pageData,w as default}; diff --git a/pr-333/assets/tutorials_polaris-evm.md.f17d4010.js b/pr-333/assets/tutorials_polaris-evm.md.f17d4010.js deleted file mode 100644 index f83efbd33..000000000 --- a/pr-333/assets/tutorials_polaris-evm.md.f17d4010.js +++ /dev/null @@ -1,61 +0,0 @@ -import{_ as s,o as a,c as n,X as o}from"./chunks/framework.8df7efef.js";const l="/docs-preview/pr-333/polaris-evm/polaris-start-site.png",e="/docs-preview/pr-333/polaris-evm/polaris-evm.png",u=JSON.parse('{"title":"Polaris EVM and Rollkit","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Polaris EVM and Rollkit | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/polaris-evm.md","filePath":"tutorials/polaris-evm.md","lastUpdated":1711045903000}'),p={name:"tutorials/polaris-evm.md"},t=o(`

Polaris EVM and Rollkit

This tutorial provides step-by-step instructions for running the Polaris EVM using Rollkit. Polaris EVM is a version of the Ethereum Virtual Machine (EVM) that is designed to run the Berachain network. This version has been modified to use Celestia as a data availability layer. This integration uses a local-celestia-devnet. Rollkit is used to deploy a Polaris EVM rollup without needing to set up a data availability and consensus network.

TIP

Learn how to restart your rollup.

Prerequisites

Before you can run Polaris EVM using Rollkit, you need to have the following software installed on your machine:

  • Docker running on your machine
  • Go version >= 1.21.0

Run a local-celestia-devnet

Before you can start Polaris EVM, you need to start a local-celestia-devnet instance in a separate terminal:

bash
docker run -t -i --platform linux/amd64 -p 26650:26650 -p 26657:26657 -p 26658:26658 -p 26659:26659 -p 9090:9090 ghcr.io/rollkit/local-celestia-devnet:v0.12.6

Clone the repo

To get started, clone the Polaris repository and switch to the Rollkit branch:

bash
cd $HOME
-git clone https://github.com/berachain/polaris.git
-cd polaris && git checkout rollkit

Install Foundry

bash
curl -L https://foundry.paradigm.xyz | bash

Start the Polaris EVM using Rollkit

Then start the chain in your first terminal:

bash
cd $HOME/polaris && foundryup
-make start

Congratulations

You now have a Polaris EVM Rollkit rollup running! The rollup logs will begin to look similar to this:

bash
7:58PM INF submitting block to DA layer height=11 module=BlockManager 
-7:58PM INF successfully submitted Rollkit block to DA layer daHeight=30 module=BlockManager rollkitHeight=11 
-7:58PM INF prune start height=11 module=server
-7:58PM INF prune end height=11 module=server
-7:58PM INF indexed block events height=11 module=txindex
-7:58PM INF Creating and publishing block height=12 module=BlockManager 
-7:58PM INF preparing evm block module=polaris-geth seal_hash=0x314b131b1d4117445091b25240eaf420cdbdcf9f653eabd1d95aa0dab3cd1359
-7:58PM INF finalizing evm block block_hash=0x5207a1ff35540dafe70565d3a95ed07f6c9b1ed9114f93c6c47ee0a1c0d4cc2e module=polaris-geth num_txs=0
-7:58PM INF finalized block block_app_hash=AC959F089C21DC617275E0AB35E77DC3839C9597ECFDECDAD6C924EC49B1EB07 height=12 module=BlockManager num_txs_res=0 num_val_updates=0
-7:58PM INF executed block app_hash="���\\b�!�aru��5�}���������$�I��\\a" height=12 module=BlockManager

Funds

The following private key has funds on your Polaris chain:

bash
Address: 0x20f33CE90A13a4b5E7697E3544c3083B8F8A51D4
-PrivateKey: 0xfffdbb37105441e14b0ee6330d855d8504ff39e705c3afa8f859ac9865f99306

Just deploy a smart contract to get started! If you'd like to learn how to deploy your own GM Portal (as an ooga booga portal) you can follow the remainder of this tutorial.

Frontend

Now we will make a frontend with a smart contract on our Polaris EVM rollup. First, clone the GM Portal repository and check out to the Polaris branch (ooga booga portal):

bash
cd $HOME
-git clone https://github.com/jcstein/gm-portal.git
-cd gm-portal && git checkout polaris

Deploy the ooga booga portal contract

Next, you will deploy the smart contract. Export the funded private key and RPC URL:

bash
export PRIVATE_KEY=0xfffdbb37105441e14b0ee6330d855d8504ff39e705c3afa8f859ac9865f99306
-export RPC_URL=http://localhost:8545

Use Foundry to deploy the contract to your EVM:

bash
cd contracts
-forge script script/GmPortal.s.sol:GmPortalScript --rpc-url $RPC_URL --private-key $PRIVATE_KEY --broadcast

A successful deployment's output will look similar to:

bash
forge script script/GmPortal.s.sol:GmPortalScript --rpc-url $RPC_URL --private-key $PRIVATE_KEY --broadcast
-[] Compiling...
-[] Compiling 18 files with 0.8.20
-[] Solc 0.8.20 finished in 1.52s
-Compiler run successful!
-Script ran successfully.
-
-== Logs ==
-  i am a smart contract on Polaris EVM x Rollkit. gm!
-
-[...]
-
-##
-Waiting for receipts.
- [00:00:00] [######################] 1/1 receipts (0.0s)
-##### 2061
-  [Success]Hash: 0xa174e9389633972458e6dce431d84736e0709e9406c1c3b14b5fa9ae0cdd6860
-Contract Address: 0x18Df82C7E422A42D47345Ed86B0E935E9718eBda 
-Block: 682
-Paid: 0.001528707003566983 ETH (509569 gas * 3.000000007 gwei)
-
-[...]

From the contract deployment output, export your contract address:

bash
export CONTRACT_ADDRESS=0x18Df82C7E422A42D47345Ed86B0E935E9718eBda

Interact with the contract

Send an "ooga booga" to the contract:

bash
cast send $CONTRACT_ADDRESS \\
-"gm(string)" "ooga booga" \\
---private-key $PRIVATE_KEY \\
---rpc-url $RPC_URL

Get total (hex-encoded) GMs (ooga boogas):

bash
cast call $CONTRACT_ADDRESS "getTotalGms()" --rpc-url $RPC_URL

Start and update the frontend

Now, change into the frontend directory:

bash
cd $HOME/gm-portal/frontend
-yarn && yarn dev

polaris-evm

Now, your frontend is running! We'll display and interact with our smart contract on our frontend.

First, you will need to change the contract address on gm-portal/frontend/src/App.tsx to your contract address from above before you can interact with the contract on the frontend:

TIP

Only if you changed the contract, you will need to update the ABI in gm-portal/frontend/GmPortal.json from gm-portal/contracts/out/GmPortal.sol/GmPortal.json. This can be done with:

bash
cd $HOME
-cp gm-portal/contracts/out/GmPortal.sol/GmPortal.json gm-portal/frontend

Interact with the frontend

In order to interact with the contract on the frontend, you'll need to fund an account that you have in your Ethereum wallet or add the private key from above into your wallet.

To transfer to an external account, use this command:

bash
export RECEIVER=<receiver ETH address>
-cast send --private-key $PRIVATE_KEY $RECEIVER --value 1ether --rpc-url $RPC_URL

If you are in a different terminal than the one you set the private key in originally, you may need to set it again.

Now, login with your wallet that you funded, and post a ooga booga on your ooga booga portal!

polaris-evm

Running Polaris EVM with a Celestia light node

In this portion of the tutorial, we will go over running Polaris x Rollkit using a Celestia light node to post data to Mocha testnet. These steps can be used for Mainnet Beta and Arabica devnet, too, you'll just need to change the network in the --p2p.network string flag and your RPC.

TIP

Before using RPC methods through the CLI, you'll need to set your auth token.

In order to successfully post and retrieve data to and from Celestia's Mocha testnet, your light node will need to be fully synced. You can check the status by using the das.SamplingStats method using the CLI.

Your node will also need to be funded with testnet TIA, which you can obtain by retrieving your account address and visiting a faucet.

Start your light node

  1. Fully sync and fund a light node on Celestia's Mocha testnet (mocha-4). Follow instructions to install and start your Celestia data availability layer light node selecting the Mocha network. You can find instructions to install and run the node. After the node is synced, stop the light node.

  2. Use celestia-da to connect to Rollkit. Your node does not need to be running when you start celestia-da. To start celestia-da and your light node, run this command:

TIP

You can either use the default 000000506f6c61726973 namespace below, or set your own by using a command similar to this to generate one (or, you could get creative 😎):

bash
openssl rand -hex 10

Learn more about namespaces .

bash
docker run -d \\
--e NODE_TYPE=light \\
--e P2P_NETWORK=mocha \\
--p 26650:26650 \\
--p 26658:26658 \\
--p 26659:26659 \\
--v $HOME/.celestia-light-mocha-4/:/home/celestia/.celestia-light-mocha-4/ \\
-ghcr.io/rollkit/celestia-da:v0.12.10 \\
-celestia-da light start \\
---p2p.network=mocha \\
---da.grpc.namespace=000000506f6c61726973 \\
---da.grpc.listen=0.0.0.0:26650 \\
---core.ip rpc-mocha.pops.one \\
---gateway

Setup Polaris script

First, ensure you're on the correct branch of Polaris:

bash
cd $HOME/polaris && git checkout rollkit

Before starting your rollup, you'll want to make a change in $HOME/polaris/e2e/testapp/entrypoint.sh to point to the right DA start height:

bash
# set the data availability layer's block height from local-celestia-devnet
-DA_BLOCK_HEIGHT=$(docker exec $(docker ps -q) celestia header local-head --token $AUTH_TOKEN | jq '.result.header.height' -r) 
-DA_BLOCK_HEIGHT=$(curl https://rpc-mocha.pops.one/block |jq -r '.result.block.header.height') 

Start the EVM rollup

Change into the Polaris directory in your terminal:

bash
cd $HOME/polaris
-make start

Congratulations! Your light node is now posting your rollup's data to Celestia's Mocha testnet.

Find an explorer to view the default namespace in the tutorial or search for your own namespace on Celenium.

`,74),r=[t];function c(C,i,y,D,A,d){return a(),n("div",null,r)}const g=s(p,[["render",c]]);export{u as __pageData,g as default}; diff --git a/pr-333/assets/tutorials_polaris-evm.md.f17d4010.lean.js b/pr-333/assets/tutorials_polaris-evm.md.f17d4010.lean.js deleted file mode 100644 index 52369605e..000000000 --- a/pr-333/assets/tutorials_polaris-evm.md.f17d4010.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as n,X as o}from"./chunks/framework.8df7efef.js";const l="/docs-preview/pr-333/polaris-evm/polaris-start-site.png",e="/docs-preview/pr-333/polaris-evm/polaris-evm.png",u=JSON.parse('{"title":"Polaris EVM and Rollkit","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Polaris EVM and Rollkit | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/polaris-evm.md","filePath":"tutorials/polaris-evm.md","lastUpdated":1711045903000}'),p={name:"tutorials/polaris-evm.md"},t=o("",74),r=[t];function c(C,i,y,D,A,d){return a(),n("div",null,r)}const g=s(p,[["render",c]]);export{u as __pageData,g as default}; diff --git a/pr-333/assets/tutorials_recipe-book.md.56ed2648.js b/pr-333/assets/tutorials_recipe-book.md.56ed2648.js deleted file mode 100644 index 70c60f006..000000000 --- a/pr-333/assets/tutorials_recipe-book.md.56ed2648.js +++ /dev/null @@ -1,202 +0,0 @@ -import{_ as s,o as a,c as n,X as e}from"./chunks/framework.8df7efef.js";const p="/docs-preview/pr-333/recipes/recipe-start.gif",l="/docs-preview/pr-333/recipes/recipes.gif",o="/docs-preview/pr-333/recipes/query.gif",h=JSON.parse('{"title":"🥗 Recipe Book rollup","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🥗 Recipe Book rollup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/recipe-book.md","filePath":"tutorials/recipe-book.md","lastUpdated":1711045903000}'),t={name:"tutorials/recipe-book.md"},c=e(`

🥗 Recipe Book rollup

📖 Overview

In this tutorial, we are going to build a blockchain for your favorite recipes. The goal of this tutorial is to create a Rollkit rollup with a module that allows you to write and read data to and from your application-specific blockchain. The end user will be able to submit new recipes and read them from the blockchain.

In the GM world tutorial, we defined a new API endpoint and modified a keeper query function to return static data. In this tutorial, we will be modifying the state with transactions (Cosmos SDK messages) that are routed to a module and its message handlers, which are sent to the recipes blockchain.

TIP

This tutorial will explore developing with Rollkit, which is still in Alpha stage. If you run into bugs, please write a Github Issue ticket or let us know in our Telegram.

Learn how to restart your rollup.

WARNING

The script for this tutorial is built for Celestia's Arabica devnet.

💻 Prerequisites

🏗 Scaffolding your rollup

🔥 Use Ignite CLI to scaffold a recipes rollup

Run the following command to scaffold your recipes chain using Ignite CLI:

bash
ignite scaffold chain recipes --address-prefix recipes

Your new recipes chain has been scaffolded and --address-prefix recipes allows the address prefix to be recipes instead of cosmos.

Change into the recipes directory:

bash
cd recipes

💎 Installing Rollkit

To swap out CometBFT for Rollkit, run the following commands:

bash
go mod edit -replace github.com/cosmos/cosmos-sdk=github.com/rollkit/cosmos-sdk@v0.50.1-rollkit-v0.11.19-no-fraud-proofs
-go mod tidy
-go get github.com/bufbuild/buf@latest
-go mod download

💬 Message types

✨ Create message types

Create a message type and its handler with the message command:

bash
ignite scaffold message createRecipe dish ingredients

Response:

bash
modify proto/recipes/recipes/tx.proto
-modify x/recipes/client/cli/tx.go
-create x/recipes/client/cli/tx_create_recipe.go
-create x/recipes/keeper/msg_server_create_recipe.go
-modify x/recipes/module_simulation.go
-create x/recipes/simulation/create_recipe.go
-modify x/recipes/types/codec.go
-create x/recipes/types/message_create_recipe.go
-create x/recipes/types/message_create_recipe_test.go
-
-🎉 Created a message \`createRecipe\`.

Head to your recipes/proto/recipes/recipes/tx.proto file and you will see the MsgCreateRecipe has been created. Add uint64 id = 1; to the MsgCreateRecipeResponse function:

proto
message MsgCreateRecipeResponse {
-  uint64 id = 1; 
-}

🤿 Diving deeper into the message code

Looking further into the message, we can see that MsgCreateRecipe has 3 fields: creator, dish, and ingredients.

proto
message MsgCreateRecipe {
-  string creator = 1;
-  string dish = 2;
-  string ingredients = 3;
-}

We can also see that the CreateRecipe RPC has already been added to the Msg service:

proto
service Msg {
-  rpc CreateRecipe(MsgCreateRecipe) returns (MsgCreateRecipeResponse);
-}

📕 Define messages logic

Navigate to recipes/x/recipes/keeper/msg_server_create_recipe.go. For our recipes chain, we want the dish and ingredients to be written to the blockchain’s state as a new recipe. Add the following code to the CreateRecipe function underneath the imports:

go
func (k msgServer) CreateRecipe(goCtx context.Context, msg *types.MsgCreateRecipe) (*types.MsgCreateRecipeResponse, error) {
-  // Get the context
-  ctx := sdk.UnwrapSDKContext(goCtx)
-
-  // Create variable of type Recipe
-  var recipe = types.Recipe{
-     Creator: msg.Creator,
-     Dish: msg.Dish,
-     Ingredients: msg.Ingredients,
-  }
-
-  // Add a recipe to the store and get back the ID
-  id := k.AppendRecipe(ctx, recipe)
-
-  // Return the ID of the recipe
-  return &types.MsgCreateRecipeResponse{Id: id}, nil
-}

You will see errors in your text editor, which we will resolve in the next step.

🔁 Keepers

📗 Define Recipe type and AppendRecipe keeper method

Create a file recipes/proto/recipes/recipes/recipe.proto and define the Recipe message:

go
syntax = "proto3";
-
-package recipes.recipes;
-
-option go_package = "recipes/x/recipes/types";
-
-message Recipe {
-  string creator = 1;
-  uint64 id = 2;
-  string dish = 3; 
-  string ingredients = 4; 
-}

📘 Define keeper methods

Now you’ll define your AppendRecipe keeper method.

Create the recipes/x/recipes/keeper/recipe.go file. The AppendRecipe function is a placeholder to brainstorm how to implement it:

go
package keeper
-
-import (
-  "encoding/binary"
-
-  "github.com/cosmos/cosmos-sdk/store/prefix"
-  sdk "github.com/cosmos/cosmos-sdk/types"
-
-  "recipes/x/recipes/types"
-)
-
-// func (k Keeper) AppendRecipe() uint64 {
-//    count := k.GetRecipeCount()
-//    store.Set()
-//    k.SetRecipeCount()
-//    return count
-// }

Add these prefixes to the recipes/x/recipes/types/keys.go file in the const and add a comment for your reference:

go
const (
-  //...
-
-  // Keep track of the index of recipes  
-  RecipeKey      = "Recipe-value-"
-  RecipeCountKey = "Recipe-count-"
-)

Next, implement GetRecipeCount in the recipes/x/recipes/keeper/recipe.go file:

go
func (k Keeper) GetRecipeCount(ctx sdk.Context) uint64 {
-  // Get the store using storeKey (which is "recipes") and RecipeCountKey (which is "Recipe-count-")
-  store := prefix.NewStore(ctx.KVStore(k.storeKey), []byte(types.RecipeCountKey))
-  
-  // Convert the RecipeCountKey to bytes
-  byteKey := []byte(types.RecipeCountKey)
-  
-  // Get the value of the count
-  bz := store.Get(byteKey)
-  
-  // Return zero if the count value is not found (for example, it's the first recipe)
-  if bz == nil {
-    return 0
-  }
-  
-  // Convert the count into a uint64
-  return binary.BigEndian.Uint64(bz)
-}

And then SetRecipeCount:

go
func (k Keeper) SetRecipeCount(ctx sdk.Context, count uint64) {
-  // Get the store using storeKey (which is "recipes") and RecipeCountKey (which is "Recipe-count-")
-  store := prefix.NewStore(ctx.KVStore(k.storeKey), []byte(types.RecipeCountKey))
-  
-  // Convert the RecipeCountKey to bytes
-  byteKey := []byte(types.RecipeCountKey)
-  
-  // Convert count from uint64 to string and get bytes
-  bz := make([]byte, 8)
-  binary.BigEndian.PutUint64(bz, count)
-  
-  // Set the value of Recipe-count- to count
-  store.Set(byteKey, bz)
-}

Now you’re ready to implement the AppendRecipe function at the top of the file above GetRecipeCount and SetRecipeCount:

go
func (k Keeper) AppendRecipe (ctx sdk.Context, recipe types.Recipe) uint64 {
-  // Get the current number of recipes in the store
-  count := k.GetRecipeCount(ctx)
-  
-  // Assign an ID to the recipe based on the number of recipes in the store
-  recipe.Id = count
-  
-  // Get the store
-  store := prefix.NewStore(ctx.KVStore(k.storeKey), []byte(types.RecipeKey))
-  
-  // Convert the recipe ID into bytes
-  byteKey := make([]byte, 8)
-  binary.BigEndian.PutUint64(byteKey, recipe.Id)
-  
-  // Marshal the recipe into bytes
-  appendedValue := k.cdc.MustMarshal(&recipe)
-  
-  // Insert the recipe bytes using recipe ID as a key
-  store.Set(byteKey, appendedValue)
-  
-  // Update the recipe count
-  k.SetRecipeCount(ctx, count+1)
-  return count
-}

Now you have implemented all the code required to create new recipes and store them on-chain. When a transaction that contains a message type MsgCreateRecipe is broadcast, the message is routed to the recipes module.

  • k.CreateRecipe calls AppendRecipe, which gets the recipe count, adds a recipe using the count as the ID, increments the count, and returns the ID

🍽️ Querying recipes

🖥 Query recipes

In order to query your recipes, scaffold a query with Ignite:

bash
ignite scaffold query dishes --response dish,ingredients

A response on a successful scaffold will look like this:

bash
modify proto/recipes/recipes/query.proto
-modify x/recipes/client/cli/query.go
-create x/recipes/client/cli/query_dishes.go
-create x/recipes/keeper/query_dishes.go
-
-🎉 Created a query \`dishes\`.

In the proto/recipes/recipes/query.proto file import:

proto
import "recipes/recipes/recipe.proto";

Add pagination to the recipe request:

proto
message QueryDishesRequest {
-  // Adding pagination to request
-  cosmos.base.query.v1beta1.PageRequest pagination = 1;
-}

Add pagination to the recipe response:

proto
message QueryDishesResponse {
-  // Returning a list of recipes
-  repeated Recipe Recipe = 1;
-
-  // Adding pagination to response
-  cosmos.base.query.v1beta1.PageResponse pagination = 2;
-}

In order to implement recipe querying logic in recipes/x/recipes/keeper/query_dishes.go, delete the file contents and replace them with:

go
package keeper
-
-import (
-  "context"
-  "github.com/cosmos/cosmos-sdk/store/prefix"
-  sdk "github.com/cosmos/cosmos-sdk/types"
-  "github.com/cosmos/cosmos-sdk/types/query"
-  "google.golang.org/grpc/codes"
-  "google.golang.org/grpc/status"
-
-  "recipes/x/recipes/types"
-)
-
-func (k Keeper) Dishes(c context.Context, req *types.QueryDishesRequest) (*types.QueryDishesResponse, error) {
-  // Throw an error if request is nil
-  if req == nil {
-    return nil, status.Error(codes.InvalidArgument, "invalid request")
-  }
-
-  // Define a variable that will store a list of recipes
-  var dishes []*types.Recipe
-
-  // Get context with the information about the environment
-  ctx := sdk.UnwrapSDKContext(c)
-
-  // Get the key-value module store using the store key (in our case store key is "chain")
-  store := ctx.KVStore(k.storeKey)
-
-  // Get the part of the store that keeps recipes (using recipe key, which is "Recipe-value-")
-  recipeStore := prefix.NewStore(store, []byte(types.RecipeKey))
-
-  // Paginate the recipes store based on PageRequest
-  pageRes, err := query.Paginate(recipeStore, req.Pagination, func(key []byte, value []byte) error {
-    var dish types.Recipe
-    if err := k.cdc.Unmarshal(value, &dish); err != nil {
-      return err
-    }
-
-    dishes = append(dishes, &dish)
-
-    return nil
-  })
-
-  // Throw an error if pagination failed
-  if err != nil {
-    return nil, status.Error(codes.Internal, err.Error())
-  }
-
-  // Return a struct containing a list of recipes and pagination info
-  return &types.QueryDishesResponse{Recipe: dishes, Pagination: pageRes}, nil
-}

👩‍🍳 Running the recipes rollup

✨ Run a Celestia light node

Follow instructions to install and start your Celestia Data Availability layer Light Node selecting the Arabica Devnet. You can find instructions to install and run the node here.

After you have Go and Ignite CLI installed, and your Celestia Light Node running on your machine, you're ready to build, test, and launch your own sovereign rollup.

Be sure you have initialized your node before trying to start it. Your start command should look similar to:

bash
celestia light start --p2p.network arabica

After you have synced your node and funded it from the faucet, you will need to stop it with "Control + C".

Then, restart it with celestia-da using the following command:

bash
docker run -d \\
--e NODE_TYPE=light \\
--e P2P_NETWORK=arabica \\
--p 26650:26650 \\
--p 26658:26658 \\
--p 26659:26659 \\
--v $HOME/.celestia-light-arabica-11/:/home/celestia/.celestia-light-arabica-11/ \\
-ghcr.io/rollkit/celestia-da:v0.12.10 \\
-celestia-da light start \\
---p2p.network=arabica \\
---da.grpc.namespace=00000072656369706573 \\
---da.grpc.listen=0.0.0.0:26650 \\
---core.ip validator-1.celestia-arabica-11.com \\
---gateway

TIP

You can either use the default 00000072656369706573, "recipes" in plaintext, namespace above, or set your own by using a command similar to this (or, you could get creative 😎):

bash
openssl rand -hex 10

Learn more about namespaces

🗞️ Start the recipes rollup

We have a handy init.sh found in this repo here.

We can copy it over to our directory with the following commands:

bash
# From inside the \`recipes\` directory
-wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/recipes/init.sh

This copies over our init.sh script to initialize our Recipes Rollup.

You can view the contents of the script to see how we initialize the Recipes Rollup.

🟢 From your project working directory (recipes/), start the chain with:

bash
bash init.sh

With that, we have kickstarted our recipesd network!

recipe-start.gif

Find your account address on an Arabica explorer to see your PayForBlobs transactions.

Open another teminal instance. Now, create your first recipe in the command line by sending a transaction from recipes-key, when prompted, confirm the transaction by entering y:

bash
recipesd tx recipes create-recipe salad "spinach, mandarin oranges, sliced almonds, smoked gouda, citrus vinaigrette" --from recipes-key --keyring-backend test

recipes.gif

⌨️ Query your recipes with the CLI

To query all of the on-chain recipes:

bash
recipesd q recipes dishes

query.gif

🎉 Congratulations, again! You have now successfully built a recipe book rollup.

',96),r=[c];function i(y,D,C,A,F,d){return a(),n("div",null,r)}const g=s(t,[["render",i]]);export{h as __pageData,g as default}; diff --git a/pr-333/assets/tutorials_recipe-book.md.56ed2648.lean.js b/pr-333/assets/tutorials_recipe-book.md.56ed2648.lean.js deleted file mode 100644 index f1ce9d557..000000000 --- a/pr-333/assets/tutorials_recipe-book.md.56ed2648.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as n,X as e}from"./chunks/framework.8df7efef.js";const p="/docs-preview/pr-333/recipes/recipe-start.gif",l="/docs-preview/pr-333/recipes/recipes.gif",o="/docs-preview/pr-333/recipes/query.gif",h=JSON.parse('{"title":"🥗 Recipe Book rollup","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🥗 Recipe Book rollup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/recipe-book.md","filePath":"tutorials/recipe-book.md","lastUpdated":1711045903000}'),t={name:"tutorials/recipe-book.md"},c=e("",96),r=[c];function i(y,D,C,A,F,d){return a(),n("div",null,r)}const g=s(t,[["render",i]]);export{h as __pageData,g as default}; diff --git a/pr-333/assets/tutorials_restart-rollup.md.feac225a.js b/pr-333/assets/tutorials_restart-rollup.md.feac225a.js deleted file mode 100644 index 9f4b12120..000000000 --- a/pr-333/assets/tutorials_restart-rollup.md.feac225a.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as s,o as a,c as o,X as e}from"./chunks/framework.8df7efef.js";const d=JSON.parse('{"title":"🔄 How to restart your rollup","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🔄 How to restart your rollup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/restart-rollup.md","filePath":"tutorials/restart-rollup.md","lastUpdated":1711045903000}'),l={name:"tutorials/restart-rollup.md"},n=e(`

🔄 How to restart your rollup

This guide will teach you how to restart your Rollkit rollup.

Restart rollup

This section covers the case where you need to restart your rollup.

In order to restart your rollup, you will need to run the <your-binary>d start [...args] command for your rollup. This is the example for the GM world tutorial.

For the GM world tutorial, you can restart the chain by running the restart-local.sh script that was generated by init-local.sh.

Use the DA_START_HEIGHT, NAMESPACE, and AUTH_TOKEN variables from your original start command.

Using the gmd rollup as an example, you can add something similar to your respective start script to make it easier to save variables for later use:

bash
# the rest of your init script
-
-# create a restart-local.sh file to restart the chain later
-rm restart-local.sh
-echo "DA_BLOCK_HEIGHT=$DA_BLOCK_HEIGHT" >> restart-local.sh
-echo "NAMESPACE=$NAMESPACE" >> restart-local.sh
-echo "AUTH_TOKEN=$AUTH_TOKEN" >> restart-local.sh
-echo "gmd start --rollkit.aggregator --rollkit.da_address=\\":26650\\" --rollkit.da_start_height \\$DA_BLOCK_HEIGHT --rpc.laddr tcp://127.0.0.1:36657 --grpc.address 127.0.0.1:9290 --p2p.laddr \\"0.0.0.0:36656\\"" >> restart-local.sh

Restart rollup after running out of funds

This section covers the case that the node that you are using to post blocks to your DA and consensus layer runs out of funds (tokens), and you need to restart your rollup.

In this example, we're using Celestia's Mocha testnet and running a GM world rollup. In this example, our Celestia DA light node ran out of Mocha testnet TIA and we are unable to post new blocks to Celestia due to a Code: 19 error. This error is defined by Cosmos SDK as:

go
// ErrTxInMempoolCache defines an ABCI typed error where a tx already exists in the mempool.
-ErrTxInMempoolCache = Register(RootCodespace, 19, "tx already in mempool")

In order to get around this error, and the same error on other Rollkit rollups, you will need to re-fund your Celestia account and increase the gas fee. This will override the transaction that is stuck in the mempool.

If you top up the balance of your node and don't increase the gas fee, you will still encounter the Code: 19 error because there is a transaction (posting block to DA) that is duplicate to one that already exists. In order to get around this, you'll need to increase the gas fee and restart the chain.

🟠 Errors in this example

This is what the errors will look like if your DA node runs out of funding or you restart the chain without changing the gas fee:

bash
4:51PM INF submitting block to DA layer height=28126 module=BlockManager
-4:51PM ERR DA layer submission failed error="Codespace: 'sdk', Code: 19, Message: " attempt=1 module=BlockManager
-4:51PM ERR DA layer submission failed Error="Codespace: 'sdk', Code: 19, Message: " attempt=2 module=BlockManager
-4:51PM ERR DA layer submission failed error="Codespace: 'sdk', Code: 19, Message: " attempt=3 module=BlockManager

💰 Re-fund your account

First, you'll need to send more tokens to the account running your Celestia node. If you didn't keep track of your key, you can run the following to get your address:

bash
cd $HOME && cd celestia-node
-./cel-key list --keyring-backend test --node.type light --p2p.network <network>

🛑 Stopping your rollup

You can stop your gm chain (or other Rollkit rollup) by using Control + C in your terminal where the node is running.

⛽ Increase the gas fee

To reiterate, before restarting the chain, you will need to increase the gas fee in order to avoid a Code: 19 error:

bash
gmd start --rollkit.aggregator --rollkit.da_address=":26650" --rollkit.da_start_height $DA_BLOCK_HEIGHT --rpc.laddr tcp://127.0.0.1:36657 --grpc.address 127.0.0.1:9290 --p2p.laddr "0.0.0.0:36656"

🔁 Restarting your rollup

Follow the restart rollup section above.

🛢️ Reduce gas fee & restart again

In order to save your TIA, we also recommend stopping the chain with Control + C, changing the gas fee back to the default (in our case, 8000 utia) and restarting the chain:

bash
gmd start --rollkit.aggregator --rollkit.da_address=":26650" --rollkit.da_start_height $DA_BLOCK_HEIGHT --rpc.laddr tcp://127.0.0.1:36657 --grpc.address 127.0.0.1:9290 --p2p.laddr "0.0.0.0:36656"

🎊 Congrats! You've successfully restarted your Rollkit rollup after running out of TIA.

`,32),t=[n];function r(p,c,C,y,i,D){return a(),o("div",null,t)}const A=s(l,[["render",r]]);export{d as __pageData,A as default}; diff --git a/pr-333/assets/tutorials_restart-rollup.md.feac225a.lean.js b/pr-333/assets/tutorials_restart-rollup.md.feac225a.lean.js deleted file mode 100644 index 8171497f3..000000000 --- a/pr-333/assets/tutorials_restart-rollup.md.feac225a.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as o,X as e}from"./chunks/framework.8df7efef.js";const d=JSON.parse('{"title":"🔄 How to restart your rollup","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🔄 How to restart your rollup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/restart-rollup.md","filePath":"tutorials/restart-rollup.md","lastUpdated":1711045903000}'),l={name:"tutorials/restart-rollup.md"},n=e("",32),t=[n];function r(p,c,C,y,i,D){return a(),o("div",null,t)}const A=s(l,[["render",r]]);export{d as __pageData,A as default}; diff --git a/pr-333/assets/tutorials_rollup-docker.md.91ae217d.js b/pr-333/assets/tutorials_rollup-docker.md.91ae217d.js deleted file mode 100644 index 32e1cec24..000000000 --- a/pr-333/assets/tutorials_rollup-docker.md.91ae217d.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as o,X as r}from"./chunks/framework.8df7efef.js";const k=JSON.parse('{"title":"Starter Rollup with Docker","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Starter Rollup with Docker | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/rollup-docker.md","filePath":"tutorials/rollup-docker.md","lastUpdated":1711045903000}'),a={name:"tutorials/rollup-docker.md"},l=r('

Starter Rollup with Docker

This tutorial will guide you through starting a Rollkit rollup with Docker.

Prerequisites

  • Docker installed on your machine

Clone the repository

First, clone the rollup-docker repository and change into the directory:

bash
git clone https://github.com/rollkit/rollup-docker.git && cd rollup-docker
',7),s=[l];function n(i,c,p,h,d,u){return t(),o("div",null,s)}const m=e(a,[["render",n]]);export{k as __pageData,m as default}; diff --git a/pr-333/assets/tutorials_rollup-docker.md.91ae217d.lean.js b/pr-333/assets/tutorials_rollup-docker.md.91ae217d.lean.js deleted file mode 100644 index c3ace0699..000000000 --- a/pr-333/assets/tutorials_rollup-docker.md.91ae217d.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as o,X as r}from"./chunks/framework.8df7efef.js";const k=JSON.parse('{"title":"Starter Rollup with Docker","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Starter Rollup with Docker | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/rollup-docker.md","filePath":"tutorials/rollup-docker.md","lastUpdated":1711045903000}'),a={name:"tutorials/rollup-docker.md"},l=r("",7),s=[l];function n(i,c,p,h,d,u){return t(),o("div",null,s)}const m=e(a,[["render",n]]);export{k as __pageData,m as default}; diff --git a/pr-333/assets/tutorials_starter-rollup.md.c53d83e5.js b/pr-333/assets/tutorials_starter-rollup.md.c53d83e5.js deleted file mode 100644 index 592ef5c14..000000000 --- a/pr-333/assets/tutorials_starter-rollup.md.c53d83e5.js +++ /dev/null @@ -1,9 +0,0 @@ -import{_ as s,o as a,c as l,X as o}from"./chunks/framework.8df7efef.js";const h=JSON.parse('{"title":"Starter Rollup","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Starter Rollup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/starter-rollup.md","filePath":"tutorials/starter-rollup.md","lastUpdated":1711045903000}'),n={name:"tutorials/starter-rollup.md"},e=o(`

Starter Rollup

In this tutorial, you will learn how to build a Rollkit rollup that uses a local Celestia devnet for consensus and data availability. This is the first-stop for developers building on Rollkit.

This is built for MacOS and has been tested on an M1 and M2 Mac.

Prerequisites

  • Docker running on your machine

Clone the repo

First, clone the starter repository and change into the $HOME/gm-starter repository:

bash
git clone https://github.com/rollkit/gm-starter.git && cd gm-starter

Run a local-celestia-devnet

In a second terminal instance, start the local-celestia-devnet:

bash
docker run -i -t --platform linux/amd64 -p 26657:26657 -p 26658:26658 -p 26659:26659 ghcr.io/rollkit/local-celestia-devnet:v0.11.0

When passing the --rollkit.da_config flag later in the tutorial, it will require \`auth_token\`\` to be passed in. The auth token with write permission is required to submit blobs and can be obtained from the logs on local-celestia-devnet before the bridge node starts.

bash
WARNING: Keep this auth token secret **DO NOT** log this auth token outside of development. CELESTIA_NODE_AUTH_TOKEN=
-
-WARNING: Celestia custom network specified. Only use this option if the node is freshly created and initialized.
-**DO NOT** run a custom network over an already-existing node store!
-
-eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBbGxvdyI6WyJwdWJsaWMiLCJyZWFkIiwid3JpdGUiLCJhZG1pbiJdfQ.a_-CStbScoe_ot8Z1K9YaccvhngeieiSBdgO4uObuvI 

The auth token is the last string, which you can now set as a variable. (It's long, so don't forget to copy the whole thing!):

bash
export AUTH_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBbGxvdyI6WyJwdWJsaWMiLCJyZWFkIiwid3JpdGUiLCJhZG1pbiJdfQ.a_-CStbScoe_ot8Z1K9YaccvhngeieiSBdgO4uObuvI

Start the Starter Rollup

bash
bash init-local.sh

The rollup logs will begin to look similar to this:

bash
3:35PM INF submitting block to DA layer height=1 module=BlockManager
-3:35PM INF successfully submitted Rollkit block to DA layer daHeight=148 module=BlockManager rollkitHeight=1
-3:35PM INF commit synced commit=436F6D6D697449447B5B3230302031373020313933203836203730203334203139302031353220383220313432203133342034382032333520343920363220313720323131203133312032343720313133203634203933203134372032332031353920323435203931203133342031342031333520323138203138355D3A317D
-3:35PM INF indexed block height=1 module=txindex

Next steps

In the next tutorial, you'll learn how to build the GM world rollup using Ignite CLI.

`,21),p=[e];function t(r,c,C,i,y,D){return a(),l("div",null,p)}const d=s(n,[["render",t]]);export{h as __pageData,d as default}; diff --git a/pr-333/assets/tutorials_starter-rollup.md.c53d83e5.lean.js b/pr-333/assets/tutorials_starter-rollup.md.c53d83e5.lean.js deleted file mode 100644 index 131036e98..000000000 --- a/pr-333/assets/tutorials_starter-rollup.md.c53d83e5.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as l,X as o}from"./chunks/framework.8df7efef.js";const h=JSON.parse('{"title":"Starter Rollup","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Starter Rollup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/starter-rollup.md","filePath":"tutorials/starter-rollup.md","lastUpdated":1711045903000}'),n={name:"tutorials/starter-rollup.md"},e=o("",21),p=[e];function t(r,c,C,i,y,D){return a(),l("div",null,p)}const d=s(n,[["render",t]]);export{h as __pageData,d as default}; diff --git a/pr-333/assets/tutorials_wordle.md.0339c1f5.js b/pr-333/assets/tutorials_wordle.md.0339c1f5.js deleted file mode 100644 index 9c3e7a9f4..000000000 --- a/pr-333/assets/tutorials_wordle.md.0339c1f5.js +++ /dev/null @@ -1,221 +0,0 @@ -import{_ as s,o as a,c as n,X as o}from"./chunks/framework.8df7efef.js";const l="/docs-preview/pr-333/wordle/wordle.png",d=JSON.parse('{"title":"🕹️ Wordle app","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🕹️ Wordle app | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/wordle.md","filePath":"tutorials/wordle.md","lastUpdated":1711045903000}'),e={name:"tutorials/wordle.md"},p=o('

🕹️ Wordle app

wordle-app

This tutorial guide will go over building a cosmos-sdk app for Rollkit, the Sovereign-Rollup implementation of CometBFT, for the popular game Wordle.

This tutorial will go over how to setup Rollkit in the Ignite CLI and use it to build the game. The tutorial will go over the simple design, as well as conclude with future implementations and ideas to extend this codebase.

TIP

This tutorial will explore developing with Rollkit, which is still in Alpha stage. If you run into bugs, please write a Github Issue ticket or let us know in our Telegram.

Learn how to restart your rollup.

WARNING

The script for this tutorial is built for Celestia's Arabica devnet.

💻 Pre-requisites

Given this tutorial is targeted for developers who are experienced in Cosmos-SDK, we recommend you go over the following tutorials in Ignite to understand all the different components in Cosmos-SDK before proceeding with this tutorial.

You do not have to do those guides in order to follow this Wordle tutorial, but doing so helps you understand the architecture of Cosmos-SDK better.

📖 Design implementation

The rules of Wordle are simple: You have to guess the word of the day.

Key Points to Consider:

  • The word is a five-letter word.
  • You have 6 guesses.
  • Every 24 hours, there’s a new word.

The GUI for Wordle shows you a few indicators: a green highlight on a letter in a certain position means that’s the correct letter for the Wordle in the right position. A yellow highlight means it’s a correct letter for the Wordle included in the wrong position. A grey highlight means the letter isn’t part of the Wordle.

For simplicity of the design, we will avoid those hints, although there are ways to extend this codebase to implement that, which we will show at the end.

In this current design, we implement the following rules:

  • 1 Wordle can be submitted per day
  • Every address will have 6 tries to guess the word
  • It must be a five-letter word.
  • Whoever guesses the word correctly before their 6 tries are over gets an award of 100 WORDLE tokens.

We will go over the architecture to achieve this further in the guide. But for now, we will get started setting up our development environment.

⛓️ Ignite and scaffolding the wordle chain

🔥 Ignite

Ignite is an amazing CLI tool to help us get started building our own blockchains for cosmos-sdk apps. It provides lots of power toolings and scaffoldings for adding messages, types, and modules with a host of cosmos-sdk libraries provided.

You can read more about Ignite here.

To install Ignite, you can run this command in your terminal:

bash
curl https://get.ignite.com/cli@v28.1.0! | bash
-sudo mv ignite /usr/local/bin/

This installs Ignite CLI in your local machine. This tutorial uses a MacOS but it should work for Windows. For Windows users, check out the Ignite docs on installation for Windows machines.

Now, refresh your terminal using source or open a new terminal session for the change to take place.

If you run the following:

bash
ignite --help

You should see an output of help commands meaning Ignite was installed successfully!

⛓️ Scaffolding the wordle chain

Now, comes the fun part, creating a new blockchain! With Ignite, the process is pretty easy and straightforward.

Ignite CLI comes with several scaffolding commands that are designed to make development more straightforward by creating everything you need to build your blockchain.

First, we will use Ignite CLI to build the foundation of a fresh Cosmos SDK blockchain. Ignite minimizes how much blockchain code you must write yourself. If you are coming from the EVM-world, think of Ignite as a Cosmos-SDK version of Foundry or Hardhat but specifically designed to build blockchains.

We first run the following command to setup our project for our new blockchain, Wordle.

bash
ignite scaffold chain wordle --no-module

This command scaffolds a new chain directory called wordle in your local directory from which you ran the command. Notice that we passed the --no-module flag, this is because we will be creating the module after.

🗂️ Wordle directory

Now, it’s time to enter the directory:

bash
cd wordle

Inside you will see several directories and architecture for your cosmos-sdk blockchain.

File/directoryPurpose
app/Files that wire together the blockchain. The most important file is app.go that contains type definition of the blockchain and functions to create and initialize it.
cmd/The main package responsible for the CLI of compiled binary.
docs/Directory for project documentation. By default, an OpenAPI spec is generated.
proto/Protocol buffer files describing the data structure.
testutil/Helper functions for testing.
vue/A Vue 3 web app template.
x/Cosmos SDK modules and custom modules.
config.ymlA configuration file for customizing a chain in development.
readme.mdA readme file for your sovereign application-specific blockchain project.

Going over each one is outside the scope of this guide, but we encourage you to read about it here.

Most of the tutorial work will happen inside the x directory.

🛠️ Setting up Rollkit

Before we continue with building our Wordle App, we need to set up Rollkit on our codebase.

🗞️ Installing Rollkit

Run the following command inside the wordle directory.

bash
go mod edit -replace github.com/cosmos/cosmos-sdk=github.com/rollkit/cosmos-sdk@v0.50.1-rollkit-v0.11.19-no-fraud-proofs
-go mod tidy
-go get github.com/bufbuild/buf@latest
-go mod download

With that, we have Rollkit changes added to the project directory. Now, let's build the Wordle app!

✨ Creating the wordle module

For the Wordle module, we can add dependencies offered by Cosmos-SDK.

From the Cosmos-SDK docs, a module is defined as the following:

In a Cosmos SDK blockchain, application-specific logic is implemented in separate modules. Modules keep code easy to understand and reuse. Each module contains its own message and transaction processor, while the Cosmos SDK is responsible for routing each message to its respective module.

Many modules exist for slashing, validating, auth.

🔖 Scaffolding a module

We will be using the bank module dependency for transactions.

From the Cosmos-SDK docs, the bank module is defined as the following:

The bank module is responsible for handling multi-asset coin transfers between accounts and tracking special-case pseudo-transfers which must work differently with particular kinds of accounts (notably delegating/undelegating for vesting accounts). It exposes several interfaces with varying capabilities for secure interaction with other modules which must alter user balances.

We build the module with the bank dependency with the following command:

bash
ignite scaffold module wordle --dep bank

This will scaffold the Wordle module to our Wordle Chain project.

✉️ Messages

Messages allow us to process and submit information to our specific module.

From the Cosmos-SDK docs, messages are:

In the Cosmos SDK, messages are objects that are contained in transactions to trigger state transitions. Each Cosmos SDK module defines a list of messages and how to handle them.

For messages for Wordle, given our initial design, we will make 2 messages with ignite.

  • The first one is: SubmitWordle and it only passes the Wordle of the Day.
  • The second one is: SubmitGuess and it attempts to guess the submitted wordle. It also passes a word as a guess.

With these initial designs, we can start creating our messages!

💬 Scaffolding a message

To create the SubmitWordle message, we run the following command:

bash
ignite scaffold message submit-wordle word

This creates the submit-wordle message that takes in word as a parameter.

We now create the final message, SubmitGuess:

bash
ignite scaffold message submit-guess word

Here, we are passing a word as a guess with submit-guess.

🎨 Wordle types

For the next steps, we will be creating types to be used by the messages we created.

🏗️ Scaffolding wordle types

bash
ignite scaffold map wordle word submitter --no-message

This type is a map called Wordle with two values of word and submitter. submitter is the address of the person that submitted the Wordle.

The second type is the Guess type. It allows us to store the latest guess for each address that submitted a solution.

bash
ignite scaffold map guess word submitter count --no-message

Here, we are also storing count to count how many guesses this address submitted.

🔐 Keeper functions

Now it’s time to implement the Keeper functions for each message. From the Cosmos-SDK docs, Keeper is defined as the following:

The main core of a Cosmos SDK module is a piece called the keeper. The keeper handles interactions with the store, has references to other keepers for cross-module interactions, and contains most of the core functionality of a module.

Keeper is an abstraction on Cosmos that allows us to interact with the Key-Value store and change the state of the blockchain.

Here, it will help us outline the logic for each message we create.

📤 SubmitWordle function

We first start with the SubmitWordle function.

Open up the following file: x/wordle/keeper/msg_server_submit_wordle.go

Inside the following, replace the current code with the following code, which we will go over in a bit:

go
package keeper
-
-import (
-  "context"
-  "crypto/sha256"
-  "encoding/hex"
-  "wordle/x/wordle/types"
-  sdk "github.com/cosmos/cosmos-sdk/types"
-  sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
-  "time"
-  "unicode"
-  "github.com/cometbft/cometbft/crypto"
-)
-
-func (k msgServer) SubmitWordle(goCtx context.Context, msg *types.MsgSubmitWordle) (*types.MsgSubmitWordleResponse, error) {
-  ctx := sdk.UnwrapSDKContext(goCtx)
-  // Check to See the Wordle is 5 letters
-  if len(msg.Word) != 5 {
-    return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "Wordle Must Be A 5 Letter Word")
-  }
-  // Check to See Only Alphabets Are Passed for the Wordle
-  if !(IsLetter(msg.Word)) {
-    return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "Wordle Must Only Consist Of Letters In The Alphabet")
-  }
-
-  // Use Current Day to Create The Index of the Newly-Submitted Wordle of the Day
-  currentTime := time.Now().Local()
-  var currentTimeBytes = []byte(currentTime.Format("2006-01-02"))
-  var currentTimeHash = sha256.Sum256(currentTimeBytes)
-  var currentTimeHashString = hex.EncodeToString(currentTimeHash[:])
-  // Hash The Newly-Submitted Wordle of the Day
-  var submittedSolutionHash = sha256.Sum256([]byte(msg.Word))
-  var submittedSolutionHashString = hex.EncodeToString(submittedSolutionHash[:])
-
-  var wordle = types.Wordle{
-    Index:     currentTimeHashString,
-    Word:      submittedSolutionHashString,
-    Submitter: msg.Creator,
-  }
-
-  // Try to Get Wordle From KV Store Using Current Day as Key
-  // This Helps ensure only one Wordle is submitted per day
-  _, isFound := k.GetWordle(ctx, currentTimeHashString)
-  if isFound {
-    return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "Wordle of the Day is Already Submitted")
-  }
-  // Write Wordle to KV Store
-  k.SetWordle(ctx, wordle)
-  reward := sdk.Coins{sdk.NewInt64Coin("token", 100)}
-  // Escrow Reward
-  submitterAddress, _ := sdk.AccAddressFromBech32(msg.Creator)
-  moduleAcct := sdk.AccAddress(crypto.AddressHash([]byte(types.ModuleName)))
-  err := k.bankKeeper.SendCoins(ctx, submitterAddress, moduleAcct, reward)
-  if err != nil {
-    return nil, err
-  }
-  return &types.MsgSubmitWordleResponse{}, nil
-}
-
-func IsLetter(s string) bool {
-  for _, r := range s {
-    if !unicode.IsLetter(r) {
-      return false
-    }
-  }
-  return true
-}

Here in the SubmitWordle Keeper function, we are doing a few things:

  • We first ensure that a word submitted for Wordle of the Day is 5 letters long and only uses alphabets. That means no integers can be submitted in the string.
  • We then create a hash from the current day the moment the Wordle was submitted. We set this hash to the index of the Wordle type. This allows us to look up any guesses for this Wordle for subsequent guesses, which we will go over next.
  • We then check if the index for today’s date is currently empty or not. If it’s not empty, this means a Wordle has already been submitted. Remember, only one wordle can be submitted per day. Everyone else has to guess the submitted wordle.
  • We also have a helper function in there to check if a string only contains alphabet characters.

SubmitGuess function

The next Keeper function we will add is the following: x/wordle/keeper/msg_server_submit_guess.go

Open that file and replace its contents with the following code, which we will explain in a bit:

go
package keeper
-
-import (
-  "context"
-  "crypto/sha256"
-  "encoding/hex"
-  "wordle/x/wordle/types"
-  sdk "github.com/cosmos/cosmos-sdk/types"
-  sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
-  "strconv"
-  "time"
-  "github.com/cometbft/cometbft/crypto"
-)
-
-func (k msgServer) SubmitGuess(goCtx context.Context, msg *types.MsgSubmitGuess) (*types.MsgSubmitGuessResponse, error) {
-  ctx := sdk.UnwrapSDKContext(goCtx)
-  // Check Word is 5 Characters Long
-  if len(msg.Word) != 5 {
-    return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "Guess Must Be A 5 Letter Word!")
-  }
- 
-  // Check String Contains Alphabet Letters Only
-  if !(IsLetter(msg.Word)) {
-    return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "Guess Must Only Consist of Alphabet Letters!")
-  }
-
-  // Get Current Day to Pull Up Wordle of That Day As A Hash
-  currentTime := time.Now().Local()
-  var currentTimeBytes = []byte(currentTime.Format("2006-01-02"))
-  var currentTimeHash = sha256.Sum256(currentTimeBytes)
-  var currentTimeHashString = hex.EncodeToString(currentTimeHash[:])
-  wordle, isFound := k.GetWordle(ctx, currentTimeHashString)
-  if !isFound {
-    return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "Wordle of The Day Hasn't Been Submitted Yet. Feel Free to Submit One!")
-  }
-
-  // We Convert Current Day and Guesser to A Hash To Use As An Index For Today's Guesses For That Guesser
-  // That Way, A Person Can Guess 6 Times A Day For Each New Wordle Created
-  var currentTimeGuesserBytes = []byte(currentTime.Format("2006-01-02") + msg.Creator)
-  var currentTimeGuesserHash = sha256.Sum256(currentTimeGuesserBytes)
-  var currentTimeGuesserHashString = hex.EncodeToString(currentTimeGuesserHash[:])
-  // Hash The Guess To The Wordle
-  var submittedSolutionHash = sha256.Sum256([]byte(msg.Word))
-  var submittedSolutionHashString = hex.EncodeToString(submittedSolutionHash[:])
-
-  // Get the Latest Guess entry for this Submitter for the current Wordle of the Day
-  var count int
-  guess, isFound := k.GetGuess(ctx, currentTimeGuesserHashString)
-  if isFound {
-    // Check if Submitter Reached 6 Tries
-    if guess.Count == strconv.Itoa(6) {
-      return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "You Have Guessed The Maximum Amount of Times for The Day! Try Again Tomorrow With A New Wordle.")
-    }
-    currentCount, err := strconv.Atoi(guess.Count)
-    if err != nil {
-      panic(err)
-    }
-    count = currentCount
-  } else {
-    // Initialize Count Value If No Entry Exists for this Submitter for Today's Wordle
-    count = 0
-  }
-  // Increment Guess Count
-  count += 1
-  var newGuess = types.Guess{
-    Index:     currentTimeGuesserHashString,
-    Submitter: msg.Creator,
-    Word:      submittedSolutionHashString,
-    Count:     strconv.Itoa(count),
-  }
-  // Remove Current Guess Entry to be Updated With New Entry
-  k.RemoveGuess(ctx, currentTimeGuesserHashString)
-  // Add New Guess Entry
-  k.SetGuess(ctx, newGuess)
-  if !(wordle.Word == submittedSolutionHashString) {
-    return &types.MsgSubmitGuessResponse{Title: "Wrong Answer", Body: "Your Guess Was Wrong. Try Again"}, nil
-  } else {
-    // Setup Reward 
-    reward := sdk.Coins{sdk.NewInt64Coin("token", 100)}
-    // If Submitter Guesses Correctly
-    guesserAddress, _ := sdk.AccAddressFromBech32(msg.Creator)
-    moduleAcct := sdk.AccAddress(crypto.AddressHash([]byte(types.ModuleName)))
-    // Send Reward
-    err := k.bankKeeper.SendCoins(ctx, moduleAcct, guesserAddress, reward)
-    if err !=nil {
-      return nil, err
-    }
-    return &types.MsgSubmitGuessResponse{Title: "Correct", Body: "You Guessed The Wordle Correctly!"}, nil
-  }
-}

In the above code, we are doing the following things:

  • Here, we are doing initial checks again on the word to ensure it’s 5 characters and only alphabet characters are used, which can be refactored in the future or checked within the CLI commands.
  • We then get the Wordle of the Day by getting the hash string of the current day.
  • Next we create a hash string of current day and the Submitter. This allows us to create a Guess type with an index that uses the current day and the address of the submitter. This helps us when we face a new day and an address wants to guess the new wordle of the day. The index setup ensures they can continue guessing a new wordle every day up to the max of 6 tries per day.
  • We then check if that Guess type for the Submitter for today’s wordle did reach 6 counts. If it hasn’t, we increment the count. We then check if the guess is correct. We store the Guess type with the updated count to the state.

📦 Protobuf file

A few files need to be modified for this to work.

The first is proto/wordle/wordle/tx.proto.

Inside this file, fill in the empty MsgSubmitGuessResponse with the following code:

go
message MsgSubmitGuessResponse {
-  string title = 1;
-  string body = 2;
-}

Next file is x/wordle/types/expected_keepers.go

Here, we need to add the SendCoins method to the BankKeeper interface in order to allow sending the reward to the right guesser.

go
type BankKeeper interface {
-  SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error
-}

With that, we implemented all our Keeper functions! Time to compile the blockchain and take it out for a test drive.

⛓️ Run the wordle chain

🪶 Run a Celestia light node

Follow instructions to install and start your Celestia Data Availability layer Light Node selecting the Arabica Devnet. You can find instructions to install and run the node here.

After you have Go and Ignite CLI installed, and your Celestia Light Node running on your machine, you're ready to build, test, and launch your own sovereign rollup.

Be sure you have initialized your node before trying to start it. Your start command should look similar to:

bash
celestia light start --p2p.network arabica

After you have synced your node and funded it from the faucet, you will need to stop it to restart it with celestia-da.

To do so, use the following command:

bash
docker run -d \\
--e NODE_TYPE=light \\
--e P2P_NETWORK=arabica \\
--p 26650:26650 \\
--p 26658:26658 \\
--p 26659:26659 \\
--v $HOME/.celestia-light-arabica-11/:/home/celestia/.celestia-light-arabica-11/ \\
-ghcr.io/rollkit/celestia-da:v0.12.10 \\
-celestia-da light start \\
---p2p.network=arabica \\
---da.grpc.namespace=00000000776f72646c65 \\
---da.grpc.listen=0.0.0.0:26650 \\
---core.ip validator-1.celestia-arabica-11.com \\
---gateway

TIP

You can either use the default 00000000776f72646c65, "wordle" in plaintext, namespace above, or set your own by using a command similar to this (or, you could get creative 😎):

bash
openssl rand -hex 10

Learn more about namespaces

After you have Go and Ignite CLI installed, and your Celestia Light Node running on your machine, you're ready to build, test, and launch your own sovereign rollup.

🟢 Building and running wordle chain

We have a handy init.sh found in this repo here.

We can copy it over to our directory with the following commands:

bash
# From inside the \`wordle\` directory
-wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/wordle/init.sh

This copies over our init.sh script to initialize our Wordle Rollup.

You can view the contents of the script to see how we initialize the Wordle Rollup.

You can initialize the script with the following command:

bash
bash init.sh

With that, we have kickstarted our wordled network!

Find your account address on an Arabica explorer to see your PayForBlobs transactions.

In another window, run the following to submit a Wordle:

bash
wordled tx wordle submit-wordle giant --from wordle-key --keyring-backend test --chain-id wordle -b async -y

NOTE: We are submitting a transaction asynchronously to avoid any timeout errors. With Rollkit as a replacement to CometBFT, we need to wait for Celestia's Data-Availability network to ensure a block was included from Wordle, before proceeding to the next block. Currently, in Rollkit, the single aggregator is not moving forward with the next block production as long as it is trying to submit the current block to the DA network. In the future, with leader selection, block production and sync logic improves dramatically.

This will ask you to confirm the transaction with the following message:

json
{
-  "body":{
-    "messages":[
-       {
-          "@type":"/YazzyYaz.wordle.wordle.MsgSubmitWordle",
-          "creator":"cosmos17lk3fgutf00pd5s8zwz5fmefjsdv4wvzyg7d74",
-          "word":"giant"
-       }
-    ],
-    "memo":"",
-    "timeout_height":"0",
-    "extension_options":[
-    ],
-    "non_critical_extension_options":[
-    ]
-  },
-  "auth_info":{
-    "signer_infos":[
-    ],
-    "fee":{
-       "amount":[
-       ],
-       "gas_limit":"200000",
-       "payer":"",
-       "granter":""
-    }
-  },
-  "signatures":[
-  ]
-}

Cosmos-SDK will ask you to confirm the transaction here:

bash
confirm transaction before signing and broadcasting [y/N]:

Confirm with a Y.

You will then get a response with a transaction hash as shown here:

bash
code: 0
-codespace: ""
-data: ""
-events: []
-gas_used: "0"
-gas_wanted: "0"
-height: "0"
-info: ""
-logs: []
-raw_log: ""
-timestamp: ""
-tx: null
-txhash: F159E11116EC9505FC2C0D97E605357FEC0F3DAE06B57BFB17EA6A548905043E

Note, this does not mean the transaction was included in the block yet. Let's query the transaction hash to check whether it has been included in the block yet or if there are any errors.

bash
wordled query tx --type=hash F159E11116EC9505FC2C0D97E605357FEC0F3DAE06B57BFB17EA6A548905043E --chain-id wordle --output json | jq -r '.raw_log'

This should display an output like the following:

json
[{"events":[{"type":"message","attributes":[{"key":"action","value":"submit_wordle"
-}]}]}]

Test out a few things for fun:

bash
wordled tx wordle submit-guess 12345 --from wordle-key --keyring-backend test --chain-id wordle -b async -y

After confirming the transaction, query the txhash given the same way you did above. You will see the response shows an Invalid Error because you submitted integers.

Now try:

bash
wordled tx wordle submit-guess ABCDEFG --from wordle-key --keyring-backend test --chain-id wordle -b async -y

After confirming the transaction, query the txhash given the same way you did above. You will see the response shows an Invalid Error because you submitted a word larger than 5 characters.

Now try to submit another wordle even though one was already submitted

bash
wordled tx wordle submit-wordle meter --from wordle-key --keyring-backend test --chain-id wordle -b async -y

After submitting the transactions and confirming, query the txhash given the same way you did above. You will get an error that a wordle has already been submitted for the day.

Now let’s try to guess a five letter word:

bash
wordled tx wordle submit-guess least --from wordle-key --keyring-backend test --chain-id wordle -b async -y

After submitting the transactions and confirming, query the txhash given the same way you did above. Given you didn’t guess the correct word, it will increment the guess count for wordle-key's account.

We can verify this by querying the list:

bash
wordled q wordle list-guess --output json

This outputs all Guess objects submitted so far, with the index being today’s date and the address of the submitter.

With that, we implemented a basic example of Wordle using Cosmos-SDK and Ignite and Rollkit. Read on to how you can extend the code base.

🔮 Extending in the future

You can extend the codebase and improve this tutorial by checking out the repository here.

There are many ways this codebase can be extended:

  1. You can improve messaging around when you guess the correct word.
  2. You can hash the word prior to submitting it to the chain, ensuring the hashing is local so that it’s not revealed via front-running by others monitoring the plaintext string when it’s submitted on-chain.
  3. You can improve the UI in terminal using a nice interface for Wordle. Some examples are here.
  4. You can improve current date to stick to a specific timezone.
  5. You can create a bot that submits a wordle every day at a specific time.
  6. You can create a vue.js front-end with Ignite using example open-source repositories here and here.
`,166),t=[p];function r(c,D,i,y,C,F){return a(),n("div",null,t)}const u=s(e,[["render",r]]);export{d as __pageData,u as default}; diff --git a/pr-333/assets/tutorials_wordle.md.0339c1f5.lean.js b/pr-333/assets/tutorials_wordle.md.0339c1f5.lean.js deleted file mode 100644 index 8d9177e7d..000000000 --- a/pr-333/assets/tutorials_wordle.md.0339c1f5.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as n,X as o}from"./chunks/framework.8df7efef.js";const l="/docs-preview/pr-333/wordle/wordle.png",d=JSON.parse('{"title":"🕹️ Wordle app","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🕹️ Wordle app | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/wordle.md","filePath":"tutorials/wordle.md","lastUpdated":1711045903000}'),e={name:"tutorials/wordle.md"},p=o("",166),t=[p];function r(c,D,i,y,C,F){return a(),n("div",null,t)}const u=s(e,[["render",r]]);export{d as __pageData,u as default}; diff --git a/pr-333/bitcoin-rollkit/rollkit-bitcoin-1.png b/pr-333/bitcoin-rollkit/rollkit-bitcoin-1.png deleted file mode 100644 index a6e6635f2..000000000 Binary files a/pr-333/bitcoin-rollkit/rollkit-bitcoin-1.png and /dev/null differ diff --git a/pr-333/bitcoin-rollkit/rollkit-bitcoin-2.png b/pr-333/bitcoin-rollkit/rollkit-bitcoin-2.png deleted file mode 100644 index 15302188e..000000000 Binary files a/pr-333/bitcoin-rollkit/rollkit-bitcoin-2.png and /dev/null differ diff --git a/pr-333/bitcoin-rollkit/rollkit-bitcoin.png b/pr-333/bitcoin-rollkit/rollkit-bitcoin.png deleted file mode 100644 index 115d5f50d..000000000 Binary files a/pr-333/bitcoin-rollkit/rollkit-bitcoin.png and /dev/null differ diff --git a/pr-333/blog/introducing-rollkit.html b/pr-333/blog/introducing-rollkit.html deleted file mode 100644 index ba915a566..000000000 --- a/pr-333/blog/introducing-rollkit.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - Introducing Rollkit: a modular rollup framework | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Introducing Rollkit: a modular rollup framework

By Alex Beckett and Joseph Al-Chami

The original version of this blog post can be found on the Celestia blog.

Rollkit blog coverOriginally published on 21 February 2023

Today, we’re pleased to introduce Rollkit, previously known as Rollmint. Rollkit is a modular rollup framework that gives developers the freedom to deploy rollups throughout the modular stack, opening new possibilities for rapid experimentation and innovation.

Rollkit provides a modular node for running rollups on top of a data availability layer. It exposes an ABCI-compatible client interface that can be used as a replacement for CometBFT for any ABCI-compatible blockchain app, including Cosmos chains.

In development since 2021, Rollkit is now emerging as neutral and independent from the Celestia blockchain. Rollkit will serve as a community-led public good for the modular ecosystem going forward, with its own docs site at rollkit.dev.

Tl;dr:

  • You can now build with Rollkit on Celestia’s Mocha testnet. Check out the docs
  • You can customize rollups and plug-in arbitrary data availability and execution layers by leveraging Rollkit’s modular framework
  • Join our Rollkit developer calls that begin in April to help guide its development

Deploying a new chain is hard

Deploying your decentralized application as a smart contract on a shared blockchain means it will share computational resources and is restricted to that blockchain's execution environment. This limits your application's scalability and flexibility.

For that reason, many developers have turned to launching their own layer 1 chains using tools like CometBFT and the Cosmos SDK. However, deploying a new layer 1 chain presents its own set of complex challenges and trade-offs.

In order to deploy a new layer 1 chain, a developer must gather a set of validators to secure the chain, issue a token to compensate these validators, and continuously maintain the network infrastructure. This represents a huge cost in social coordination, time, capital and expertise. This cost prevents many developers from launching their own chains and innovation from progressing as quickly as it could.

Freedom to deploy

Rollups are the answer to this problem. Rollups provide similar advantages as a layer 1 blockchain but reduce the overhead of deploying and maintaining your own chain.

Rollkit comparison table

Rollups provide similar benefits to blockchain developers that cloud infrastructure provides for traditional web developers. Deploying a new layer 1 blockchain is like maintaining a physical server, slow and expensive. Rollups remove the need for blockchain developers to launch and maintain their own layer 1s to deploy their own chain.

With Rollkit, developers no longer have to worry about the complex challenges of deploying a new blockchain. Rollkit will do for rollup chains what CometBFT did for layer 1 chains. The way it works is that rollups leverage an underlying layer for consensus, so that developers don’t need to build their own consensus networks. Rollkit rollups inherit security from the data availability layer, eliminating the need for a full set of validators and reducing the technical barrier for developers.

Vision for Rollkit

In the spirit of modularity, Rollkit’s long-term vision is to give developers a variety of options to choose from so that they can easily plug-in, switch or replace features in Rollkit.

In a rapidly evolving industry like blockchain, time to market and the ability to rapidly experiment and innovate are critical. Rollkit’s customizable stack will enable developers to bring their products to market faster and with more flexibility.

Rollkit lego image

Execution environments

Rollkit will allow you to easily swap in different execution environments. Not fond of the Cosmos SDK? Try Rust with CosmWasm. Still like Solidity? Plug in the EVM. None of the options suit your needs? Modify or add your own execution environment without needing to rebuild your entire chain from scratch.

Sequencers

Rollkit will support multiple sequencing modes to suit your specific use case. A single sequencer might be all you need. If your application requires stronger liveness, you can opt for multiple sequencers using your own set or leverage a set of shared sequencers.

Proof schemes

Rollkit will support a multitude of proof schemes to ensure the execution of your rollup. Run your application in zk mode, optimistic mode with fraud proofs, or pessimistic mode without any proofs.

Rollup types

Rollkit will allow you to build a diverse range of rollups, including sovereign rollups, settlement rollups and settled rollups.

Rollkit is in an early stage of development and many features remain to be built to reach this vision. In its current state, Rollkit rollups are sovereign rollups with single sequencers, with support for a pessimistic mode and a work-in-progress optimistic mode. Integration tutorials are ready and available with Cosmos SDK, Ethermint, and CosmWasm.

We invite the community to collaborate with us to build new features. Each new team that joins the growing Rollkit community brings more firepower to ship new features that we all benefit from. This is the power of modularity in action.

Rollkit is neutral

Celestia Labs originally started developing Rollkit in 2021, when the modular ecosystem was nascent and general-purpose rollup software did not exist. We started building Rollkit out of necessity, because having general-purpose software for rollup chains was critical to the Celestia mission of making deploying a new chain as easy as deploying a smart contract.

Since 2021 several projects have also started building general-purpose execution layer rollup software for various use cases. This includes Eclipse (Solana VM rollups), Dymension (settled Cosmos rollups), Sovereign Labs (sovereign ZK rollups), and Optimism (EVM rollups).

To ensure Celestia remains a decentralized and credibly neutral data availability layer that treats all rollup software as first class citizens, we decided to spin out Rollkit from Celestia Labs into its own project with its own GitHub org and docs site.

This also means that Rollkit aims to be neutral to the underlying data availability layer. Rollkit is designed to allow developers to integrate other data availability layers besides Celestia via the data availability interface.

The Celestia Labs Execution Environments team is currently contributing to the initial and necessary components of Rollkit, and is calling for all developers to contribute to it.

Spinning out Rollkit will enable both Celestia and Rollkit to serve the entire modular ecosystem as public goods that are neutral and independent from each other, and not favor each other in the modular stack.

We believe that to create a positive-sum crypto ecosystem where modularism thrives over maximalism, it’s important that developers have access to neutral rollup frameworks that are treated as public goods. In order for crypto to move into mainstream adoption, the industry needs to work together to create foundational developer tooling that will help crypto to level up.

Next steps

Moving towards a community-led project means increased visibility, transparency and inclusivity. That’s why the Rollkit team will soon release a roadmap blog post to detail ongoing work and its purpose. The team will also hold regular public calls with community members to showcase recent developments, discuss the roadmap and gather feedback from developers building with Rollkit. Keep an eye out for a new announcement from Rollkit.

Learn more about how Rollkit works on the new Rollkit website (you're already on it!). And don’t forget to check out the Rollkit repo too.

Let’s build modular together.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/blog/lets-roll-community-call.html b/pr-333/blog/lets-roll-community-call.html deleted file mode 100644 index 4ab3be86e..000000000 --- a/pr-333/blog/lets-roll-community-call.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - Let's Roll - Rollkit's community call | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Let's Roll - Rollkit's community call

By Joseph Al-Chami

Rollkit blog coverOriginally published on 8 March 2023

Last Sunday, we released the first research implementation that allows Rollkit rollups to use Bitcoin for data availability.

This announcement has sparked a lot of curiosity and excitement in the community. Many developers are starting to imagine what the future of sovereign rollups could look like on Bitcoin and other data availability layers. They’re looking for ways to innovate using this integration, to replicate it on other layer 1 blockchains, to identify challenges and to suggest improvements.

We believe that there’s a lot of innovation to be done and a lot of challenges to be solved, and that together as a community, we can collaborate on building the future of rollup frameworks.

That’s why we’re happy to announce that we’re launching a Rollkit’s community call: Let’s Roll.

TL;DR

  • Rollkit is launching its community call, Let’s Roll. You can subscribe to the community calendar here

  • The first meeting is scheduled on Zoom for March 21, 2023, 6pm CET(12pm EST, 9am PST).

  • Builders using Rollkit can now present their projects at Let’s Roll. Reach out to us on Telegram

Just merge it

Rollup development is rapidly evolving, with new types of rollups such as sovereign and pessimistic rollups emerging, and with new possibilities of using layer 1-blockchains as data availability layers. Rollkit is at the forefront of the rollup movement offering a modular framework for rollups as an open-source public good.

However, Rollkit's true potential lies in its community of developers and users who bring their unique perspectives, skills, and expertise to the table. When Rollkit integrates a new data availability layer, its community members are best suited to improve this integration and use it in ways that truly benefit the community. Therefore, we invite developers from different communities and skill sets to join us and contribute to Rollkit’s development.

By contributing to Rollkit, we reduce fragmentation, duplicated features and bugs, and we ensure the continuous improvement of Rollkit. By doing that we forge a stronger and bigger community.

One framework is bigger than the sum of all its forks. Together we can build something for all developers and builders to easily use.

Our promise, as core contributors, is to do our best to make “just merge it” a reality. We strive to empower developers to contribute to Rollkit and ensure that their contributions are integrated.

That's why we believe it's time to bring our community together to share knowledge, collaborate on new ideas, and inspire each other to push the limits of what's possible with Rollkit.

What is Let’s Roll?

Let's Roll is a dynamic community-focused meeting that brings together all Rollkit’s contributors to drive the innovation and development of Rollkit.

This meeting serves as a platform for sharing knowledge, discussing the latest updates, and exploring new ideas. Rollkit's contributors will demonstrate the most recent features and advancements, while community members will have the chance to ask questions, provide feedback, and collaborate on new projects.

Building open source means encouraging collaboration and teamwork among all developers. Sharing code and ideas will help us build a better framework more efficiently.

The meeting will be hosted on Zoom. Subscribe to the following Google calendar so that you can be notified of future community calls.

Conclusion

Let's Roll is an exciting opportunity for the Rollkit community to come together, share ideas, and collaborate on the future of this powerful framework. With demos of the latest developments, a discussion of the roadmap and vision, and a dedicated Q&A and feedback session, Let's Roll is an opportunity to stay informed and engaged with the project.

We invite everyone interested in Rollkit and rollup development to join us. Your feedback, ideas, and input are essential to the success of Rollkit, and we look forward to seeing what we can achieve together.

So, join us, roll with us, and let's shape the future of rollup frameworks together.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/blog/overview.html b/pr-333/blog/overview.html deleted file mode 100644 index 1c3f0e5c9..000000000 --- a/pr-333/blog/overview.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - Blog | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/pr-333/blog/sovereign-rollups-on-bitcoin.html b/pr-333/blog/sovereign-rollups-on-bitcoin.html deleted file mode 100644 index bf96b4af5..000000000 --- a/pr-333/blog/sovereign-rollups-on-bitcoin.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - Sovereign rollups on Bitcoin with Rollkit | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Sovereign rollups on Bitcoin with Rollkit

By Rollkit

rollkit-bitcoinOriginally published on 5 March 2023

Last week, we introduced Rollkit, a modular framework for rollups. Today, we are proud to announce that Rollkit is the first rollup framework to support sovereign rollups on Bitcoin. An early research implementation allows Rollkit rollups to use Bitcoin for data availability.

Rollkit is opening the door for developers to create rollups with arbitrary execution environments that inherit Bitcoin’s data availability guarantees and re-org resistance. With the new integration it is now possible to run the EVM on Bitcoin as a Rollkit sovereign rollup. Sovereign rollups on Bitcoin not only expand the possibilities for rollups, but also have the potential to help bootstrap a healthy blockspace fee market on Bitcoin, enabling a more sustainable security budget.

Tl;dr

  • Sovereign rollups using Bitcoin for data availability are now a reality with Rollkit’s new early research integration.
  • Follow along with a demo of the EVM running on Bitcoin as a sovereign Rollkit rollup.
  • The implementation was possible due to Bitcoin's Taproot upgrade and Ordinals' usage of Bitcoin for publishing arbitrary data.

Posting data on Bitcoin with Taproot

On Feb. 1, 2023, the Luxor mining pool mined the largest Bitcoin block (#774628) ever, approximately 4 MB. Most of the blockspace was used to inscribe a Taproot Wizards NFT with Ordinals, a project that implements NFTs on Bitcoin by publishing the image data on-chain.

Bitcoin NFTs use Taproot witnesses to inscribe arbitrary data, enabled by Bitcoin's Taproot upgrade. Taproot witnesses provide a slightly better payload-to-data ratio than SegWit transactions. A standard transaction can include up to around 390kB of arbitrary data while still passing through the public mempool. A non-standard transaction, included by a miner directly without passing through the mempool, can include close to 4MB of arbitrary data. In short, with SegWit, it became viable to post big blobs of data to the Bitcoin blockchain.

Since then, the usage of Ordinals for NFT inscriptions and Taproot utilization has kicked off. Eric Wall found that at the time of his tweet, posting data on Bitcoin was 7x cheaper than Ethereum. Now that there are thousands of inscriptions on Bitcoin, it has become clear that sovereign rollups and an ecosystem of dapps on Bitcoin could become a reality. The missing piece: a rollup framework for easily integrating Bitcoin as a data availability layer.

Integrating Bitcoin as a data availability layer into Rollkit

Rollkit is a modular framework for rollups, where developers can plug-in custom execution layers and data availability layers. Initially, Rollkit only supported Celestia as an option for data availability and consensus. Now, Bitcoin is an option, thanks to an early research implementation of a Bitcoin data availability module for Rollkit. In this case, sovereign rollups manage their own execution and settlement while offloading consensus and data availability to Bitcoin.

rollkit-bitcoin-rollup

How Rollkit posts data to Bitcoin

To write and read data on Bitcoin, we make use of Taproot transactions. To facilitate this, we implemented a Go package called bitcoin-da that provides a reader/writer interface to Bitcoin. For details of how the interface works and how it uses Taproot, see the specs. The package can be re-used by any project that wants to read or write data on Bitcoin.

Rollkit was built with modularity at its core. It has a data availability interface so that developers can simply implement specific methods to add a new data availability layer. To add a data availability layer, implementers need to satisfy the DataAvailabilityLayerClient interface which defines the behavior of the data availability client, and the BlockRetriever interface which defines how blocks can be synced. These interfaces live in the da package. The most important methods in these interfaces are SubmitBlock and RetrieveBlock for reading and writing the blocks.

After implementing the Taproot reader/writer interface for Bitcoin (bitcoin-da), adding it as a data availability module for Rollkit took less than a day. We mostly only had to implement the SubmitBlock and RetrieveBlocks functions for Rollkit to call the Read and Write methods in bitcoin-da.

rollkit-bitcoin-rollup-2

EVM on Bitcoin demo

Rollkit supports custom execution layers, including EVM, CosmWasm, or the Cosmos SDK. To test the integration, we used Rollkit to run the EVM (using Ethermint) as a sovereign rollup on a local Bitcoin test network. See below for a demo.

Conclusion

As we move towards a future where sovereign communities will form around different applications, asking them to incur the high cost and overhead of deploying a layer 1 blockchain to be sovereign is not sustainable. Sovereign rollups fix this by making it possible to deploy a sovereign chain that inherits the data availability and consensus of another layer 1 chain such as Bitcoin.

Our goal with Rollkit is to make it easy to build and customize rollups. We invite you to play around Rollkit and build sovereign rollups on Bitcoin, or customize Rollkit with different execution environments and data availability layers. For details on how to run Rollkit with the Bitcoin data availability module, see the instructions here. Keep in mind that the integration is an early research implementation and it is not yet production-ready!

Modularism, not maximalism.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/color-scheme.png b/pr-333/color-scheme.png deleted file mode 100644 index 67ee71709..000000000 Binary files a/pr-333/color-scheme.png and /dev/null differ diff --git a/pr-333/favicon-dark.ico b/pr-333/favicon-dark.ico deleted file mode 100644 index 214b8332d..000000000 Binary files a/pr-333/favicon-dark.ico and /dev/null differ diff --git a/pr-333/favicon-dark.png b/pr-333/favicon-dark.png deleted file mode 100644 index 4f9269bcf..000000000 Binary files a/pr-333/favicon-dark.png and /dev/null differ diff --git a/pr-333/favicon-dark.svg b/pr-333/favicon-dark.svg deleted file mode 100644 index 142b30530..000000000 --- a/pr-333/favicon-dark.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/pr-333/favicon.png b/pr-333/favicon.png deleted file mode 100644 index 66e865511..000000000 Binary files a/pr-333/favicon.png and /dev/null differ diff --git a/pr-333/favicon.svg b/pr-333/favicon.svg deleted file mode 100644 index 53a4767ca..000000000 --- a/pr-333/favicon.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/pr-333/gm/cca-2.png b/pr-333/gm/cca-2.png deleted file mode 100644 index 251630f43..000000000 Binary files a/pr-333/gm/cca-2.png and /dev/null differ diff --git a/pr-333/gm/cca-3.png b/pr-333/gm/cca-3.png deleted file mode 100644 index ef51b418b..000000000 Binary files a/pr-333/gm/cca-3.png and /dev/null differ diff --git a/pr-333/gm/cca.png b/pr-333/gm/cca.png deleted file mode 100644 index f93f9e156..000000000 Binary files a/pr-333/gm/cca.png and /dev/null differ diff --git a/pr-333/gm/gm.png b/pr-333/gm/gm.png deleted file mode 100644 index 8fdc4b750..000000000 Binary files a/pr-333/gm/gm.png and /dev/null differ diff --git a/pr-333/hashmap.json b/pr-333/hashmap.json deleted file mode 100644 index e913afd58..000000000 --- a/pr-333/hashmap.json +++ /dev/null @@ -1 +0,0 @@ -{"blog_overview.md":"0538ef98","tutorials_block-times.md":"c034b5f3","index.md":"07c3d70b","tutorials_bitcoin.md":"dfb188d0","learn_about.md":"fd7ea49a","tutorials_lazy-sequencing.md":"62177772","tutorials_polaris-evm.md":"f17d4010","tutorials_starter-rollup.md":"c53d83e5","tutorials_restart-rollup.md":"feac225a","tutorials_recipe-book.md":"56ed2648","tutorials_overview.md":"d89bc8d6","learn_pessimistic-rollup-with-a-shared-sequencer.md":"468be78f","tutorials_gm-world-frontend.md":"772e4c0f","readme.md":"3a4e5b9c","blog_lets-roll-community-call.md":"dfa51eab","blog_introducing-rollkit.md":"be36f2db","learn_stack.md":"db0bfec0","tutorials_full-and-sequencer-node.md":"31167990","tutorials_gm-world-testnet.md":"93c1eaf7","tutorials_gas-price.md":"42969bc8","learn_based-pessimistic-rollup.md":"2ebc600f","learn_basic-rollup.md":"01dcb8d0","learn_building-and-deploying-a-rollup.md":"6bbdc0a8","learn_intro.md":"1f9e657b","tutorials_gm-world-mainnet.md":"eb350b9b","tutorials_cosmwasm.md":"f723be59","tutorials_gm-world.md":"2c157fe5","learn_transaction-flow.md":"a6e88b76","learn_rollup-glossary.md":"2dc97737","blog_sovereign-rollups-on-bitcoin.md":"4954e47d","learn_readme.md":"ed0c2ffc","tutorials_wordle.md":"0339c1f5","learn_overview.md":"326354a4","tutorials_rollup-docker.md":"91ae217d","tutorials_ibc-connection.md":"13ada158"} diff --git a/pr-333/index.html b/pr-333/index.html deleted file mode 100644 index 9ed81aade..000000000 --- a/pr-333/index.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/pr-333/introducing-rollkit/comparison-table.png b/pr-333/introducing-rollkit/comparison-table.png deleted file mode 100644 index 252ac9095..000000000 Binary files a/pr-333/introducing-rollkit/comparison-table.png and /dev/null differ diff --git a/pr-333/introducing-rollkit/rollkit-blog-cover.png b/pr-333/introducing-rollkit/rollkit-blog-cover.png deleted file mode 100644 index 8634814ae..000000000 Binary files a/pr-333/introducing-rollkit/rollkit-blog-cover.png and /dev/null differ diff --git a/pr-333/introducing-rollkit/rollkit-lego.png b/pr-333/introducing-rollkit/rollkit-lego.png deleted file mode 100644 index dd0d72027..000000000 Binary files a/pr-333/introducing-rollkit/rollkit-lego.png and /dev/null differ diff --git a/pr-333/learn/about.html b/pr-333/learn/about.html deleted file mode 100644 index 0870111d0..000000000 --- a/pr-333/learn/about.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - About Rollkit | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

About Rollkit

Our mission is to empower developers to quickly innovate and create entire new classes of rollups with minimal tradeoffs. We're setting the bar high for developers' flexibility and ability to customize rollups however they see fit.

TIP

In order to use Rollkit, it's important to have some familiarity with Cosmos SDK. You can get up to speed on Cosmos SDK by visiting their official documentation page.

If you're familiar with Rollkit, you may want to skip to the tutorials section.

What is Rollkit?

Rollkit is a rollup framework that gives developers the freedom to deploy rollups throughout the modular stack, opening new possibilities for rapid experimentation and innovation.

The Rollkit framework features a modular node that can run rollups and exposes an ABCI-compatible client interface, which can be used as a substitute for CometBFT in any ABCI-compatible blockchain application. By default, the node utilizes Celestia as the data availability (DA) layer, however other data availability layers can be integrated.

Rollkit can currently be used to deploy sovereign rollups or sovereign settlement layers. In the future, we intend to support settled (not sovereign) rollups that settle to another settlement layer.

Rollkit is built as an open-source framework, so that developers can easily modify it to suit their applications.

Our goal is to empower developers to quickly innovate and create new classes of rollups with minimal trade-offs, and to make deploying a new chain as easy as deploying a smart contract.

What problems is Rollkit solving?

1. Scalability and customizability

Deploying your decentralized application as a smart contract on a shared blockchain has many limitations. Your smart contract has to share computational resources with every other application, so scalability is limited.

Plus, you're restricted to the execution environment that the shared blockchain uses, so developer flexibility is limited.

2. Security and time to market

Deploying a new chain might sound like the perfect solution for the problems listed above. While it's somewhat true, deploying a new layer 1 chain presents a complex set of challenges and trade-offs for developers looking to build blockchain products.

Deploying a new layer 1 requires significant resources, including time, capital, and expertise, which can be a barrier to entry for some developers.

In order to secure the network, developers must bootstrap a sufficiently secure set of validators, incurring the overhead of managing a full consensus network. This requires paying validators with inflationary tokens, putting the business sustainability of the network at risk. A strong community and network effect are also critical for success, but can be challenging to achieve as the network must gain widespread adoption to be secure and valuable.

In a potential future with millions of chains, it's unlikely all of those chains will be able to sustainably attract a sufficiently secure and decentralized validator set.

Why Rollkit?

Rollkit solves the challenges encountered during the deployment of a smart contract or a new layer 1, by minimizing these tradeoffs through the implementation of rollup chains (rollups).

With Rollkit, developers can benefit from:

  • Shared security: Rollups inherit security from a data availability layer, by posting blocks to it. Rollups reduce the trust assumptions placed on rollup sequencers by allowing full nodes to download and verify the transactions in the blocks posted by the sequencer. For optimistic or zk rollups, in case of fraudulent blocks, full nodes can generate fraud or zk proofs, which they can share with the rest of the network, including light nodes. Our roadmap includes the ability for light clients to receive and verify proofs, so that everyday users can enjoy high security guarantees.

  • Scalability: Rollkit rollups are deployed on specialized data availability layers like Celestia, which directly leverages the scalability of the DA layer. Additionally, rollup transactions are executed off-chain rather than the data availability layer. This means rollups have their own dedicated computational resources, rather than sharing computational resources with other applications.

  • Customizability: Rollkit is built as an open source modular framework, to make it easier for developers to reuse the four main components and customize their rollups. These components are data availability layers, execution environments, proof systems, and sequencer schemes. The components used by the Rollkit stack are customizable.

  • Faster time to market: Rollkit eliminates the need to bootstrap a validator set, manage a consensus network, incur high economic costs, and face other trade-offs that come with deploying a new layer 1. Rollkit's goal is to make deploying a rollup as easy as it is to deploy a smart contract, cutting the time it takes to bring blockchain products to market from months or even years to just minutes.

  • Sovereignty: Rollkit also enables developers to deploy sovereign rollups for cases where communities require sovereignty.

How can you use Rollkit?

As briefly mentioned above, Rollkit could be used in many different ways. From sovereign rollups, to settlement layers, and in the future even to L3s.

Rollup with any execution environment

Rollkit gives developers the flexibility to use pre-existing ABCI-compatible state machines or create a custom state machine tailored to their rollup needs. Rollkit does not restrict the use of any specific virtual machine, allowing developers to experiment and bring innovative applications to life.

Sovereign rollup with Cosmos SDK

Similarly to how developers utilize the Cosmos SDK to build a sovereign layer 1 chain, the Cosmos SDK could be utilized to create a Rollkit-compatible rollup chain. Cosmos-SDK has great documentation and tooling that developers can leverage to learn.

Another possibility is taking an existing layer 1 built with the Cosmos SDK and deploying it as a Rollkit rollup. This can provide a great opportunity for experimentation and growth.

Build a settlement layer

Settlement layers are ideal for developers who want to avoid deploying sovereign rollups. They provide a platform for rollups to verify proofs and resolve disputes. Additionally, they act as a hub for rollups to facilitate trust-minimized token transfers and liquidity sharing between rollups that share the same settlement layer. Think of settlement layers as a special type of execution layer.

When can you use Rollkit?

As of today, Rollkit is still in the MVP stages. The framework currently provides a centralized sequencer, an execution interface (ABCI or Cosmos SDK), and a connection to a data availability layer (Celestia).

We're currently working on implementing many new and exciting features such as light nodes and state fraud proofs.

Head down to the next section (Rollkit stack) to learn more about what's coming for Rollkit. If you're ready to start building, you can skip to the Tutorials section.

Spoiler alert, whichever you choose, it's going to be a great rabbit hole!

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/learn/based-pessimistic-rollup.html b/pr-333/learn/based-pessimistic-rollup.html deleted file mode 100644 index 279f6dd86..000000000 --- a/pr-333/learn/based-pessimistic-rollup.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - Basic Rollup | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Basic Rollup

Description

The simplest way to build a Rollup. You delegate Aggregation to the DA-Layer. Every Rollup node has to replay all the transactions in the rollup in order to check and update to the newest state.

Design

Here is an example of what this design could look like:

null

Aggregation

The DA-Layer is the Aggregator. It does Inclusion and Ordering.

Header Production

Each Full Node has to execute all transactions. There are no Light Nodes in this system so there is no need to produce a rollup header.

Censorship Resistance

Based rollups enjoy the same censorship resistance as the DA-Layer.

Liveness

Based rollups enjoys the same liveness guarantees as the DA-Layer (Based Rollups).

Rollup Light Nodes

This design has no Rollup Light Nodes.

Smallest Trust-Minimized Setup

DA-Layer Light Node + Rollup Full Node

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/learn/basic-rollup.html b/pr-333/learn/basic-rollup.html deleted file mode 100644 index 21977e7a1..000000000 --- a/pr-333/learn/basic-rollup.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - Basic Rollup | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Basic Rollup

Description

The User submits a transaction to the Aggregator. After Aggregation, the Rollup Full Node can use the Batch and apply the changes to the state.

During the Header Production, the Header is generated with some security grantees. The Rollup Light Node can consume the Header and validate those security guarantees.

Diagram

Here is an example of what this design could look like:

null

Aggregation

TBD

Header Production

TBD

Censorship Resistance

TBD

Liveness

TBD

Rollup Light Nodes

TBD

Smallest Trust-Minimized Setup

TBD

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/learn/building-and-deploying-a-rollup.html b/pr-333/learn/building-and-deploying-a-rollup.html deleted file mode 100644 index 44dc8fe1c..000000000 --- a/pr-333/learn/building-and-deploying-a-rollup.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - 🗞️ Building a rollup and testnet deployment | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

🗞️ Building a rollup and testnet deployment

The following tutorials will help you get started building Cosmos-SDK and EVM applications that connect to Celestia's data availability (DA) layer via Rollkit to Celestia's Mocha testnet or Arabica devnet. We call those chains Sovereign Rollups.

You can get started with the following tutorials:

1. Beginner

2️. Intermediate

3️. Advanced

💻 Support

The tutorials will explore developing with Rollkit, which is still in Alpha stage. If you run into bugs, please write a Github issue or let us know in our Telegram. Furthermore, while Rollkit allows you to build sovereign rollups on Celestia, it currently does not support fraud proofs yet and is therefore running in "pessimistic" mode, where nodes would need to re-execute the transactions to check the validity of the chain (i.e. a full node). Furthermore, Rollkit currently only supports a single sequencer.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/learn/intro.html b/pr-333/learn/intro.html deleted file mode 100644 index 963280c22..000000000 --- a/pr-333/learn/intro.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - Introduction to Rollkit | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Introduction to Rollkit

Welcome to the Rollkit docs. We're happy you made it here!

Rollkit is the open modular framework for sovereign rollups.

Our mission is to empower developers to quickly innovate and create entire new classes of rollups with minimal tradeoffs.

We're setting the bar high for developers' flexibility and ability to customize rollups however they see fit.

TIP

In order to use Rollkit, it's important to have some familiarity with Cosmos SDK. You can get up to speed on Cosmos SDK by visiting their official documentation page.

If you're familiar with Rollkit, you may want to skip to the tutorials section.

Table of contents

Introduction

Learn

Rollup Wiki

Tutorials

Beginner

Intermediate

Advanced

Guides

Blog

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/learn/overview.html b/pr-333/learn/overview.html deleted file mode 100644 index f22d05ed4..000000000 --- a/pr-333/learn/overview.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - Learn | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/pr-333/learn/pessimistic-rollup-with-a-shared-sequencer.html b/pr-333/learn/pessimistic-rollup-with-a-shared-sequencer.html deleted file mode 100644 index df980f15f..000000000 --- a/pr-333/learn/pessimistic-rollup-with-a-shared-sequencer.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - Pessimistic Rollup with a Shared Sequencer | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Pessimistic Rollup with a Shared Sequencer

Description

This is a pessimistic Rollup using a Shared Sequencer. This design follows the Forum Post originating the Shared Sequencer Design. We assume the only canonical way to order the transactions are through the Shared Sequencer. All transactions have to be ordered by the Shared Sequencer and other batches are ignored.

Design

Here is an example of what this design could look like:

null

Aggregation

The Shared Sequencer Aggregates Transactions and posts the ordered Batch to the underlying DA-Layer.

To unlock a web2 equivalent UX, the shared sequencers […] can provide fast soft commitments. These soft commitments provide some arbitrary promise of the final ordering of transactions, and can be used to create prematurely updated versions of the state. As soon as the block data has been confirmed to be posted on the base layer, the state can be considered final.

The Shared Sequencer does Inclusion and Ordering.

Header Production

Each Full Node has to execute all transactions. There are no Light Nodes in this system so there is no need to produce a rollup header.

Censorship Resistance

Lets assume $L_{ss}$ is the liveness of the Shared Sequencer and the $L_{da}$ is the liveness of the DA-Layer. Then the liveness of this scheme is $L = Min[L_{ss},L_{da}]$ saying if one of the Systems has a liveness failure the Rollup has a liveness failure. If the Shared Sequencer fails then we cannot proceed with the Rollup. If the DA-Layer fails we could continue with the Shared Sequencers Soft Commitments. We would inherit the consensuses and data-availability from the Shared Sequencer which would be worse than the original Data-Availability Layer.

Liveness

Based rollups enjoys the same liveness guarantees as the DA-Layer (Based Rollups).

Rollup Light Nodes

N/A

Smallest Trust-Minimized Setup

DA-Layer Light Node + Shared Sequencer Light Node + Rollup Full Node

We need a Shared Sequencer Light Node to validate the Headers of the Shared Sequencer. We made an assumption in the beginning that the order is fixed by the ordering of the shared sequencer. The Shared Sequencer will have a cryptographic commitment of the order of the Transaction inside the Shared Sequencer Header. This way we can confirm that the batch that we receive or read from the DA-Layer is the one created by the Shared Sequencer.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/learn/readme.html b/pr-333/learn/readme.html deleted file mode 100644 index 5d23f126a..000000000 --- a/pr-333/learn/readme.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - Rollkit | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Rollkit

A modular framework for rollups, with an ABCI-compatible client interface. For more in-depth information about Rollkit, please visit our website.

build-and-test
golangci-lint
Go Report Card
codecov
GoDoc

Building from source

Requires Go version >= 1.20.

To build:

sh
git clone https://github.com/rollkit/rollkit.git
-cd rollkit
-go build -v ./...

Building with Rollkit

While Rollkit is a modular framework that aims to be compatible with a wide range of data availability layers, settlement layers, and execution environments, the most supported development environment is building on Celestia as a data availability layer.

Building on Celestia

There are currently 2 ways to build on Celestia:

  1. Using a local development environment with local-celestia-devnet
  2. Using the Arabica or Mocha Celestia testnet

Compatibility

networkrollkitcelestia-nodecelestia-app
local-celestia-devnetv0.10.5v0.11.0v1.1.0
arabicav0.10.5v0.11.0v1.1.0
rollkit/cosmos-sdkrollkit/cometbftrollkit
v0.47.3-rollkit-v0.10.5-no-fraud-proofsv0.37.2v0.10.5
v0.50.0-rc.0-rollkit-v0.11.0-rc1-no-fraud-proofsv0.38.0-rc3v0.11.0-rc1

Local development environment

The Rollkit v0.10.5 release is compatible with the local-celestia-devnet v0.11.0 release. This version combination is compatible with celestia-app v1.1.0 and celestia-node v0.11.0.

Arabica devnet and Mocha testnet

The Rollkit v0.10.5 release is compatible with arabica-10 devnet mocha-4 testnet which are running celestia-app v1.1.0 and celestia-node v0.11.0.

Cometbft v0.38.x and Cosmos-SDK v0.50.x

The Rollkit v0.11.0-rc1 release is compatible with Cometbft v0.38.0-rc3 and Cosmos-SDK v0.50.0-rc.0. However, there is no support by ignite for launching a compatible app (e.g. gm app) and Rollkit is working on building a gm app for testing this release (WIP).

Tools

  1. Install golangci-lint
  2. Install markdownlint
  3. Install hadolint
  4. Install yamllint

Helpful commands

sh
# Run unit tests
-make test
-
-# Generate protobuf files (requires Docker)
-make proto-gen
-
-# Run linters (requires golangci-lint, markdownlint, hadolint, and yamllint)
-make lint
-
-# Lint protobuf files (requires Docker and buf)
-make proto-lint

Contributing

We welcome your contributions! Everyone is welcome to contribute, whether it's in the form of code, documentation, bug reports, feature requests, or anything else.

If you're looking for issues to work on, try looking at the good first issue list. Issues with this tag are suitable for a new external contributor and is a great way to find something you can help with!

See the contributing guide for more details.

Please join our Community Discord to ask questions, discuss your ideas, and connect with other contributors.

Dependency graph

To see our progress and a possible future of Rollkit visit our Dependency Graph.

Code of Conduct

See our Code of Conduct here.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/learn/rollup-glossary.html b/pr-333/learn/rollup-glossary.html deleted file mode 100644 index d381e858c..000000000 --- a/pr-333/learn/rollup-glossary.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - Rollup glossary | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Rollup glossary

A wiki of terms to define different Rollup designs and terminology:

Terminology

Aggregation

Aggregation is the process of batching transactions into one batch. A batch of transactions consists of one or more transactions.

Based rollup

A based rollup is a rollup that delegates aggregation to a DA-Layer.

Execution

Execution is the process by which the transactions in the blockchain are processed and their effects are applied to the state of the blockchain.

Header production

Header production is the process of creating the Rollup header backed by specific security properties.

Inclusion

Inclusion is the process by which a transaction is accepted into the blockchain.

Ordering

Ordering is the process of arranging transactions in a specific sequence in the blockchain.

Pessimistic rollup

A pessimistic rollup is a rollup that only supports full nodes that replay all the transactions in the rollup to check its validity.

Rollup Block

A rollup block is a data structure representing the Blockchain at a certain height. It consists of Rollup Data and Rollup Headers.

Rollup Data

Rollup data is either a batch of transactions or the state difference between transaction batches.

Rollup Header

is metadata about the block which at minimum includes a commitment to the transactions in that block.

Rollups

Rollups are blockchains that post their Transaction Data to another blockchain and inherit its consensus and data availability.

Sequencing

Sequencing is the process of aggregation and header production.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/learn/stack.html b/pr-333/learn/stack.html deleted file mode 100644 index 3041459ba..000000000 --- a/pr-333/learn/stack.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - Rollkit stack | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Rollkit stack

This page will cover the main components of Rollkit.

Rollup sequencer nodes collect transactions from users, aggregate them into blocks, and post the blocks onto a data availability (DA) layer (such as Celestia) to be ordered and finalized. Full nodes execute and verify rollup blocks, and in the case of an optimistic rollup, propagate fraud proofs when needed. Light clients will receive headers, verify proofs (fraud, zk, etc), and authenticate trust-minimized queries about the state.

Application structure

null

ABCI interface

Rollkit is a fully functional Application BlockChain Interface (ABCI) client software. It can be used as a CometBFT replacement for any ABCI application. Thanks to this compatibility, you can use tools like abci-cli to test and debug your rollup.

Cosmos SDK

Would you like to change your Cosmos SDK application to a Rollkit rollup? No problem! You need to replace the Cosmos SDK Go dependency with a Rollkit-enabled version, which can be found at the rollkit/cosmos-sdk repository.

Note the rollkit/cosmos-sdk repository follows the release branches of upstream Cosmos SDK, but with the bonus of using Rollkit instead of CometBFT as the ABCI client.

And don't forget to replace another dependency, CometBFT, with rollkit/cometbft, which has an enhanced ABCI interface that includes the methods needed for state fraud proofs.

Data availability

Data availability (DA) can be accessed using generic interfaces. This design allows for seamless integration with any DA layer. New implementations can be plugged in programmatically, without a need to fork Rollkit.

The DataAvailabilityLayerClient interface includes essential lifecycle methods (Init, Start, Stop) as well as data availability methods (SubmitBlocks, RetrieveBlocks).

The BlockRetriever interface serves to enable syncing of full nodes from the data availability layer. It's important to keep in mind that there is no direct correlation between the DA layer block height and the rollup height. Each DA layer block may contain an arbitrary number of rollup blocks.

Celestia

Celestia is an example of a data availability integration implemented for Rollkit. It's using the Celestia Node API via the rollkit/celestia-da package. To deploy a Rollkit rollup on Celestia you also have to run a Celestia light node.

Use of other data availability (DA) layers is also supported by Rollkit, and research integrations for Bitcoin, Mock, gRPC are works in progress. New DA layer integrations can be added by using the go-da interface.

Node components

Mempool

The mempool is inspired by the CometBFT mempool. By default, transactions are handled in a First Come, First Served (FCFS) manner. Ordering of transactions can be implemented on the application level; currently this is possible by returning a priority on CheckTx, and once we support ABCI++ it is also possible via PrepareProposal and the application mempool.

Block manager

The block manager contains routines AggregationLoop, RetrieveLoop, and SyncLoop that communicate through Go channels. These Go routines are ran when a Rollkit node starts up (OnStart). Only the sequencer nodes run AggregationLoop which controls the frequency of block production for a rollup with a timer as per the BlockTime in BlockManager.

All nodes run SyncLoop which looks for the following operations:

  • Receive block headers: block headers are received through a channel HeaderInCh and Rollkit nodes attempt to verify the block with the corresponding block data.
  • Receive block data: block bodies are received through a channel blockInCh and Rollkit nodes attempt to verify the block.
  • Signal RetrieveLoop with timer as per the DABlockTime in BlockManager.

All nodes also run RetrieveLoop which is responsible for interacting with the data availability layer. It checks the last updated DAHeight to retrieve a block with timer DABlockTime signaled by SyncLoop. Note that the start height of the DA layer for the rollup, DAStartHeight, is configurable in BlockManager.

RPC

Rollkit's RPC fully implements the CometBFT RPC interfaces and APIs for querying:

  • Information about the rollup node: information such as node's health, status, and network info.
  • The rollup blockchain: getting information about the rollup blockchain such as blocks and block headers.
  • The rollup transactions: getting transaction information and broadcasting raw transactions, with search capabilities.
  • ABCI: rollup application information.

The following RPC protocols are currently supported:

  • URI over HTTP
  • JSON-RPC over HTTP
  • JSON-RPC over WebSockets

P2P layer

Rollkit's P2P layer enables direct communication between rollup nodes. It's used to gossip transactions, headers of newly created blocks, and state fraud proofs. The P2P layer is implemented using libp2p.

Rollkit uses DHT-based active peer discovery. Starting a node connects to pre-configured bootstrap peers, and advertises its namespace ID in the DHT. This solution is flexible, because multiple rollup networks may reuse the same DHT/bootstrap nodes, but specific rollup network might decide to use dedicated nodes as well.

Rollkit node types

Rollkit nodes are implemented in the node package.

Full node

Full nodes verify all blocks, and produce fraud proofs for optimistic rollups. Since they fully verify all rollup blocks, they don't rely on fraud or validity proofs for security.

Light node (work in progress)

Light nodes are light-weight rollup nodes that authenticate block headers, and can be secured by fraud proofs or validity proofs. They're recommended for average users on low-resource devices. Users running light nodes can make trust-minimized queries about the rollup's state. Currently, Rollkit light nodes are still under development.

Sequencer node

Rollups can utilize sequencer nodes. Sequencers are block producers for rollups, responsible for aggregating transactions into blocks, and typically executing transactions to produce a state root, used by the rollup's light clients.

Rollkit plans to support multiple different pluggable sequencer schemes:

Deploy in one-clickFaster soft-confirmations than L1Control over rollup's transaction orderingAtomic composability with other rollupsCensorship resistanceImplementation Status
Centralized sequencerRequires spinning up a sequencerYes ✅Yes ✅No ❌Eventual ⏳*✅ Implemented!
Decentralized sequencerRequires spinning up a sequencer setYes ✅Yes ✅No ❌Real-time ⚡️Planned
Shared decentralized sequencerYes ✅Yes ✅No ❌Yes ✅Real-time ⚡️Planned
Pure fork-choice ruleYes ✅No ❌Maybe 🟡Maybe 🟡Eventual ⏳Planned

"Pure fork-choice rule" refers to any rollup without privileged sequencers, e.g. nodes defer to the data availability layer for ordering and apply a "first-come-first-serve" fork-choice rule.

* implementation of this property is in progress.

State validity modes

Pessimistic (full nodes only)

A pessimistic rollup is a rollup that only supports full nodes that replay all the transactions in the rollup in order to check its validity. Rollkit supports pessimistic rollups by default.

Pessimistic rollups are similar to how Tether uses Bitcoin as a data availability layer via OmniLayer.

Optimistic (fraud proofs) (work in progress)

Rollkit's current design consists of a single sequencer that posts blocks to the DA layer, and multiple (optional) full nodes. Sequencers gossip block headers to full nodes and full nodes fetch posted blocks from the DA layer. Full nodes then execute transactions in these blocks to update their state, and gossip block headers over the P2P network to Rollkit light nodes.

Once state fraud proofs are enabled, when a block contains a fraudulent state transition, Rollkit full nodes can detect it by comparing intermediate state roots (ISRs) between transactions, and generate a state fraud proof that can be gossiped over the P2P network to Rollkit light nodes. These Rollkit light nodes can then use this state fraud proof to verify whether a fraudulent state transition occurred or not by themselves.

Overall, state fraud proofs will enable trust-minimization between full nodes and light nodes as long as there is at least one honest full node in the system that will generate state fraud proofs.

Note that Rollkit state fraud proofs are still a work in progress and will require new methods on top of ABCI, specifically, GenerateFraudProof, VerifyFraudProof, and GetAppHash.

You can find current detailed design and the remaining work needed to push state fraud proofs towards completion in this Architecture Decision Record (ADR).

Validity (ZK proofs)

Validity (ZK) rollups are planned, but not currently supported by Rollkit.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/learn/transaction-flow.html b/pr-333/learn/transaction-flow.html deleted file mode 100644 index 6ff08971a..000000000 --- a/pr-333/learn/transaction-flow.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - Transaction flow | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Transaction flow

Rollup users use a light node to communicate with the rollup P2P network for two primary reasons:

  • submitting transactions
  • gossipping headers and fraud proofs

WARNING

Light nodes are still a work in progress.

Here's what the typical transaction flow looks like:

Transaction submission

null

Transaction validation and processing

null

Block processing

null

Fraud proof gossip and forking

null

To transact, users submit a transaction to their light node, which gossips the transaction to a full node. Before adding the transaction to their mempool, the full node checks its validity. Valid transactions are included in the mempool, while invalid ones are refused, and the user's transaction will not be processed.

If the transaction is valid and has been included in the mempool, the sequencer can add it to a rollup block, which is then submitted to the data availability (DA) layer. This results in a successful transaction flow for the user, and the state of the rollup is updated accordingly.

After the block is submitted to the DA layer, the full nodes download and validate the block. However, there is a possibility that the sequencer may maliciously submit a block to the DA layer with invalid transactions or state. In such cases, the full nodes of the rollup chain will consider the block invalid. In the case of an optimistic rollup, if they find the block invalid, they generate fraud proofs and gossip them in the P2P network among other full and light nodes.

As a result, the rollup chain will halt, and the network will decide to fork the chain through social consensus. In the future, when a decentralized sequencer scheme is in place, additional options will be available, such as slashing the sequencer or selecting another full node as the sequencer. However, in any case, a new block must be created and submitted to the DA layer. You can read more about sequencer nodes here.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/lets-roll.jpg b/pr-333/lets-roll.jpg deleted file mode 100644 index 72682e907..000000000 Binary files a/pr-333/lets-roll.jpg and /dev/null differ diff --git a/pr-333/logo-big.svg b/pr-333/logo-big.svg deleted file mode 100644 index d0fa8289b..000000000 --- a/pr-333/logo-big.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - diff --git a/pr-333/logo-dark.svg b/pr-333/logo-dark.svg deleted file mode 100644 index afbf351cb..000000000 --- a/pr-333/logo-dark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/pr-333/logo.svg b/pr-333/logo.svg deleted file mode 100644 index bf1049f53..000000000 --- a/pr-333/logo.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/pr-333/polaris-evm/polaris-evm.png b/pr-333/polaris-evm/polaris-evm.png deleted file mode 100644 index 7ad9248a6..000000000 Binary files a/pr-333/polaris-evm/polaris-evm.png and /dev/null differ diff --git a/pr-333/polaris-evm/polaris-start-site.png b/pr-333/polaris-evm/polaris-start-site.png deleted file mode 100644 index a3bab7ce2..000000000 Binary files a/pr-333/polaris-evm/polaris-start-site.png and /dev/null differ diff --git a/pr-333/recipes/light-node.png b/pr-333/recipes/light-node.png deleted file mode 100644 index b5cf41dd9..000000000 Binary files a/pr-333/recipes/light-node.png and /dev/null differ diff --git a/pr-333/recipes/query.gif b/pr-333/recipes/query.gif deleted file mode 100644 index 5627a8338..000000000 Binary files a/pr-333/recipes/query.gif and /dev/null differ diff --git a/pr-333/recipes/query.png b/pr-333/recipes/query.png deleted file mode 100644 index 692a403fd..000000000 Binary files a/pr-333/recipes/query.png and /dev/null differ diff --git a/pr-333/recipes/recipe-start.gif b/pr-333/recipes/recipe-start.gif deleted file mode 100644 index 0a56b7eea..000000000 Binary files a/pr-333/recipes/recipe-start.gif and /dev/null differ diff --git a/pr-333/recipes/recipes.gif b/pr-333/recipes/recipes.gif deleted file mode 100644 index c1e0b4abb..000000000 Binary files a/pr-333/recipes/recipes.gif and /dev/null differ diff --git a/pr-333/recipes/send-tx.png b/pr-333/recipes/send-tx.png deleted file mode 100644 index 171d284c3..000000000 Binary files a/pr-333/recipes/send-tx.png and /dev/null differ diff --git a/pr-333/sitemap.xml b/pr-333/sitemap.xml deleted file mode 100644 index da46080d8..000000000 --- a/pr-333/sitemap.xml +++ /dev/null @@ -1 +0,0 @@ -https://rollkit.dev/README2024-03-21T18:31:43.000Zhttps://rollkit.dev/blog/introducing-rollkit2024-03-21T18:31:43.000Zhttps://rollkit.dev/blog/lets-roll-community-call2024-03-21T18:31:43.000Zhttps://rollkit.dev/blog/overview2024-03-21T18:31:43.000Zhttps://rollkit.dev/blog/sovereign-rollups-on-bitcoin2024-03-21T18:31:43.000Zhttps://rollkit.dev/2024-03-21T18:31:43.000Zhttps://rollkit.dev/learn/about2024-03-21T18:31:43.000Zhttps://rollkit.dev/learn/based-pessimistic-rollup2024-03-21T18:31:43.000Zhttps://rollkit.dev/learn/basic-rollup2024-03-21T18:31:43.000Zhttps://rollkit.dev/learn/building-and-deploying-a-rollup2024-03-21T18:31:43.000Zhttps://rollkit.dev/learn/intro2024-03-21T18:31:43.000Zhttps://rollkit.dev/learn/overview2024-03-21T18:31:43.000Zhttps://rollkit.dev/learn/pessimistic-rollup-with-a-shared-sequencer2024-03-21T18:31:43.000Zhttps://rollkit.dev/learn/readme2024-03-21T18:31:43.000Zhttps://rollkit.dev/learn/rollup-glossary2024-03-21T18:31:43.000Zhttps://rollkit.dev/learn/stack2024-03-21T18:31:43.000Zhttps://rollkit.dev/learn/transaction-flow2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/bitcoin2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/block-times2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/cosmwasm2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/full-and-sequencer-node2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/gas-price2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/gm-world-frontend2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/gm-world-mainnet2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/gm-world-testnet2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/gm-world2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/ibc-connection2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/lazy-sequencing2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/overview2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/polaris-evm2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/recipe-book2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/restart-rollup2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/rollup-docker2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/starter-rollup2024-03-21T18:31:43.000Zhttps://rollkit.dev/tutorials/wordle2024-03-21T18:31:43.000Z \ No newline at end of file diff --git a/pr-333/transaction-flow.png b/pr-333/transaction-flow.png deleted file mode 100644 index 50137bc26..000000000 Binary files a/pr-333/transaction-flow.png and /dev/null differ diff --git a/pr-333/tutorials/bitcoin.html b/pr-333/tutorials/bitcoin.html deleted file mode 100644 index 3db8fb715..000000000 --- a/pr-333/tutorials/bitcoin.html +++ /dev/null @@ -1,186 +0,0 @@ - - - - - - Bitcoin rollup tutorial | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Bitcoin rollup tutorial

☀️Introduction

In this tutorial, we will explore how to use Rollkit to create sovereign rollups on Bitcoin. First, we will install Bitcoin Core to run a local testnet. Then, we will install and set up a Rollkit node to work with Bitcoin as a data availability layer. Lastly, we'll look at how to create a custom EVM execution environment and how to deploy a sovereign rollup on Bitcoin using Rollkit.

By the end of this tutorial, you will have a good understanding of how Rollkit works and how to create sovereign rollups on Bitcoin using Rollkit. You will also have the knowledge and skills needed to customize Rollkit with different execution environments and data availability layers, opening up new possibilities for creating scalable and efficient blockchain applications.

Read more in our blog post.

rollkit-bitcoin

📖 The stack

Sovereign rollups on Bitcoin are made possible through a module that allows Rollkit rollups to use Bitcoin for data availability. This integration opens up possibilities for developers to create rollups with arbitrary execution environments that inherit Bitcoin’s data availability guarantees and security guarantees.

The Taproot upgrade and Ordinals usage of Bitcoin for publishing arbitrary data made it possible to integrate Bitcoin as a data availability layer into Rollkit. The modular design of Rollkit allows for easy integration of new data availability layers, making it possible to deploy sovereign rollups on Bitcoin.

The goal of Rollkit is to make it easy to build and customize rollups, enabling developers to build sovereign rollups on Bitcoin or customize Rollkit with different execution environments and data availability layers.

💻 Prerequisites

An Ubuntu machine with:

  • 8GB RAM
  • 160 GB SSD
  • Ubuntu 22.10
  • 4 core AMD CPU

🛠️ Dependency setup

First, make sure to update and upgrade the OS:

bash
sudo apt update && sudo apt upgrade -y

These are essential packages that are necessary to execute many tasks like downloading files, compiling, and monitoring the nodes:

bash
sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential git make ncdu snapd npm -y

Now, we will install the remaining dependencies.

🏃 Golang

We will use golang to build and run our test networks. Install it for AMD with these commands:

bash
ver="1.19.1"
-cd $HOME
-wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
-sudo rm -rf /usr/local/go
-sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
-rm "go$ver.linux-amd64.tar.gz"
-echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
-source $HOME/.bash_profile
-go version

⚒️ Foundry

Install Foundry:

bash
curl -L https://foundry.paradigm.xyz/ | bash

Set the path:

bash
source /root/.bashrc

Run this to finish the installation of Foundry:

bash
foundryup

🪙 Install Bitcoin

Running the rollup requires a local regtest Bitcoin node. You can set this up by running the following commands.

Install Bitcoin Core:

bash
sudo snap install bitcoin-core

Check version:

bash
bitcoin-core.cli --version

🟢 Running a local Bitcoin network

Set up the config for regtest (local network):

bash
bitcoin-core.daemon "-chain=regtest" "-rpcport=18332" "-rpcuser=rpcuser" "-rpcpassword=rpcpass" "-fallbackfee=0.000001" "-txindex=1"

👛 Create a wallet for the chain

Open up a new terminal and run the following to create a wallet:

bash
bitcoin-core.cli -regtest -rpcport=18332 -rpcuser=rpcuser -rpcpassword=rpcpass createwallet w1

Your output will look like:

console
{
-  "name": "w1",
-  "warning": ""
-}

🎬 Start generating blocks

Now, generate a new address and mine 101 blocks:

bash
export COINBASE=$(bitcoin-core.cli -regtest -rpcport=18332 -rpcuser=rpcuser -rpcpassword=rpcpass getnewaddress)
-bitcoin-core.cli -regtest -rpcport=18332 -rpcuser=rpcuser -rpcpassword=rpcpass generatetoaddress 101 $COINBASE

Next, we'll mine a block every second.

Add this script and remember where you placed it, I am putting it in my root directory:

shell
# Script to generate a new block every second
-# Put this script at the root of your unpacked folder
-#!/bin/bash
-
-echo "Generating a block every second. Press [CTRL+C] to stop.."
-
-address=`bitcoin-core.cli -regtest -rpcport=18332 -rpcuser=rpcuser -rpcpassword=rpcpass getnewaddress`
-
-while :
-do
-        echo "Generate a new block `date '+%d/%m/%Y %H:%M:%S'`"
-        bitcoin-core.cli -regtest -rpcport=18332 -rpcuser=rpcuser -rpcpassword=rpcpass generatetoaddress 1 $address
-        sleep 1
-done

Run the following from where you placed your start.sh script. Start generating blocks by running:

bash
bash start.sh

🧊 Block height

Check the current block height:

bash
bitcoin-core.cli -regtest -rpcport=18332 -rpcuser=rpcuser -rpcpassword=rpcpass getblockcount

Your output will look similar to below:

bash
4980

Set a variable for the common flags being used:

bash
export FLAGS="-regtest -rpcport=18332 -rpcuser=rpcuser -rpcpassword=rpcpass"

🧊 Block hash

Check the latest block hash:

bash
bitcoin-core.cli $FLAGS getblockhash 4980

Your output will be the block hash of the height you first queried:

bash
1d7e98aec3085b615c7c71659768fa42e774a87ab5981597e99794d240fb3db5

Set the block hash as a variable:

bash
export HASH=1d7e98aec3085b615c7c71659768fa42e774a87ab5981597e99794d240fb3db5

🧊 Block header

Now to get the block header, run the following command (be sure to replace the hash with yours):

bash
bitcoin-core.cli $FLAGS getblockheader $HASH

Now to finish the exercise, query the height from the block header and the hash:

bash
bitcoin-core.cli $FLAGS getblockheader $HASH | jq '.height'

🎬 Restarting the local network

In the case that you are starting your regtest network again, you can use the following command to clear the old chain history:

bash
rm -rf ${LOCATION OF .bitcoin folder}

🏃‍♀️ Running the Ethermint rollup

DANGER

The Ethermint tutorial is currently not supported.

Clone Ethermint:

bash
git clone https://github.com/celestiaorg/ethermint.git
-cd ethermint
-git checkout bitcoin-da
-make install

Initialize the chain:

bash
bash init.sh

Set variables for starting the chain:

bash
export NAMESPACE=$(openssl rand -hex 8)

Start the chain:

bash
ethermintd start --rollkit.aggregator --rollkit.da_layer bitcoin --rollkit.da_config='{"host":"127.0.0.1:18332","user":"rpcuser","pass":"rpcpass","http_post_mode":true,"disable_tls":true}' --rollkit.namespace_id $NAMESPACE --rollkit.da_start_height 1

Congratulations! Now that you have your Ethermint and Bitcoin rollup running, you're ready to deploy some smart contracts to the EVM!

⚡️ Initialize development environment

First, be sure you have installed Foundry on your local development environment.

Next, create a new project and change into the directory:

bash
forge init bitcoin-ethermint-app
-cd bitcoin-ethermint-app

Foundry has created an example smart contract located at src/Counter.sol.

TIP

We will run the commands for the Foundry portion of this tutorial in the ~/bitcoin-ethermint-app/ directory.

📒 Updating the contract and tests

Let's update the contracts to include a basic counter example. Open the Counter.sol file in the src directory and add the following code:

solidity
// SPDX-License-Identifier: MIT
-pragma solidity ^0.8.13;
-
-contract Counter {
-    int private count;
-    
-    constructor(int _count) {
-        count = _count;
-    }
-
-    function incrementCounter() public {
-        count += 1;
-    }
-    function decrementCounter() public {
-        count -= 1;
-    }
-
-    function getCount() public view returns (int) {
-        return count;
-    }
-}

Next, let's create a test for this contract.

Open test/Counter.T.Sol and update the code with the following:

solidity
// SPDX-License-Identifier: MIT
-pragma solidity ^0.8.13;
-
-import "forge-std/Test.sol";
-import 'src/Counter.sol';
-
-contract CounterTest is Test {
-    Counter counter;
-    function setUp() public {
-        counter = new Counter(10);
-    }
-
-    function testGetCount() public {
-        int value = counter.getCount();
-        assertEq(value, 10);
-        emit log_int(value);
-    }
-
-    function testIncrement() public {
-        counter.incrementCounter();
-        counter.incrementCounter();
-        int value = counter.getCount();
-        assertEq(value, 12);
-        emit log_int(value);
-    }
-
-    function testDecrement() public {
-        counter.decrementCounter();
-        int value = counter.getCount();
-        assertEq(value, 9);
-        emit log_int(value);
-    }
-}

Foundry uses Dappsys Test to provide basic logging and assertion functionality. It's included in the Forge Standard Library.

Here, we are using assertEq to assert equality. You can view all of the assertion functions available here.

Next, we can test the contract using Forge with the following command:

bash
forge test -vv

A successful test will have output similar to the following:

bash
[] Compiling...
-[] Installing solc version 0.8.17
-[] Successfully installed solc 0.8.17
-[] Compiling 18 files with 0.8.17
-[] Solc 0.8.17 finished in 3.59s
-Compiler run successful
-
-Running 3 tests for test/Counter.t.sol:ContractTest
-[PASS] testDecrement() (gas: 12350)
-Logs:
-  9
-
-[PASS] testGetCount() (gas: 8510)
-Logs:
-  10
-
-[PASS] testIncrement() (gas: 13285)
-Logs:
-  12
-
-Test result: ok. 3 passed; 0 failed; finished in 2.24ms

📜 Updating the deployment script

Now that we've tested the contract, let's try deploying it locally using Solidity Scripting.

To do so, update the deloyment script at script/Counter.s.sol with the following code:

solidity
// SPDX-License-Identifier: MIT
-pragma solidity ^0.8.13;
-
-import "forge-std/Script.sol";
-
-import {Counter} from "src/Counter.sol";
-
-contract CounterScript is Script {
-    function setUp() public {}
-
-    function run() public {
-        vm.startBroadcast();
-        new Counter(10);
-        vm.stopBroadcast();
-    }
-}

Now we can use this script to deploy our smart contract to either a live or test network.

🏠 Deploying locally

Next start Anvil, the local testnet:

bash
anvil --port 9545

Once started, Anvil will give you a local RPC endpoint as well as a handful of Private Keys and Accounts that you can use.

Set ANVIL_KEY with one of the private keys generated by running:

bash
export ANVIL_KEY=<anvil-private-key>

And set the RPC URL as an environment variable:

bash
export RPC_URL=http://127.0.0.1:9545

We can now use the local RPC along with one of the private keys to deploy locally:

bash
forge script script/Counter.s.sol:CounterScript --fork-url \
-$RPC_URL  --private-key $ANVIL_KEY --broadcast

Once the contract has been deployed locally, Anvil will log out the contract address.

Next, set the contract address as an environment variable:

bash
export CONTRACT_ADDRESS=<contract-address>

We can then test sending transactions to it with cast send.

bash
cast send $CONTRACT_ADDRESS "incrementCounter()" \
---private-key $ANVIL_KEY --rpc-url $RPC_URL

We can then perform read operations with cast call:

bash
cast call $CONTRACT_ADDRESS "getCount()(int)" --rpc-url $RPC_URL

🧪 Deploying to the Ethermint sovereign rollup

Now that we've deployed and tested locally, we can deploy to our Ethermint chain.

First, we will need to export the private key generated by the ethermint init.sh script:

bash
PRIVATE_KEY=$(ethermintd keys unsafe-export-eth-key mykey --keyring-backend test)

NOTE: Here, the key name from init.sh is mykey but you can modify the init.sh to change the name of your key.

Now, we can start deploying the smart contract to our Ethermint chain.

To do so, run the following script:

bash
forge script script/Counter.s.sol:CounterScript \
---rpc-url http://127.0.0.1:8545 --private-key $PRIVATE_KEY --broadcast

Set the contract address in the output as the CONTRACT_ADDRESS variable:

bash
export CONTRACT_ADDRESS=<new-contract-address>

Once the contract has been deployed to the Ethermint rollup, we can use cast send to test sending transactions to it:

bash
cast send $CONTRACT_ADDRESS "incrementCounter()" \
---rpc-url http://127.0.0.1:8545 --private-key $PRIVATE_KEY

We can then perform read operations with cast call:

bash
cast call $CONTRACT_ADDRESS "getCount()(int)" --rpc-url http://127.0.0.1:8545

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/tutorials/block-times.html b/pr-333/tutorials/block-times.html deleted file mode 100644 index ab11b9ba4..000000000 --- a/pr-333/tutorials/block-times.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - How to change speed of block production | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

How to change speed of block production

If you have gone through both the GM world and the Full and sequencer node rollup setup already, you're now ready to experiment with faster block times.

In your gmd start [args...] command, you will need to add a flag and then the argument for block time.

The flag is:

bash
--rollkit.block_time 1s

Where 1s can be adjusted to the speed of your choosing.

Here is an example:

bash
# start the chain
-gmd start [existing flags...] 
-gmd start [existing flags...] --rollkit.block_time 1s 

In the above example, we've changed it to one second blocks. Alternatively, you could slow your rollup down to 30 seconds:

bash
--rollkit.block_time 30s

Or speed it up even more, to sub-second block times (100 milliseconds):

bash
--rollkit.block_time 0.1ms

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/tutorials/cosmwasm.html b/pr-333/tutorials/cosmwasm.html deleted file mode 100644 index c2e3b8921..000000000 --- a/pr-333/tutorials/cosmwasm.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - 🗞️ CosmWasm rollup | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

🗞️ CosmWasm rollup

CosmWasm is a smart contracting platform built for the Cosmos ecosystem by making use of WebAssembly (Wasm) to build smart contracts for Cosmos-SDK. In this tutorial, we will be exploring how to integrate CosmWasm with Celestia's data availability layer using Rollkit.

TIP

This tutorial will explore developing with Rollkit, which is still in Alpha stage. If you run into bugs, please write a Github Issue ticket or let us know in our Telegram.

Learn how to restart your rollup.

WARNING

The script for this tutorial is built for Celestia's Mocha testnet.

You can learn more about CosmWasm here.

The smart contract we will use for this tutorial is one provided by the CosmWasm team for Nameservice purchasing.

You can check out the contract here.

How to write the Rust smart contract for Nameservice is outside the scope of this tutorial. In the future we will add more tutorials for writing CosmWasm smart contracts for Celestia.

💻 CosmWasm dependency installations

🛠️ Environment setup

For this tutorial, we will be using curl and jq as helpful tools. You can follow the guide on installing them here.

🏃 Golang dependency

The Golang version used for this tutorial is v1.19+

You can install Golang by following our tutorial here.

🦀 Rust installation

🔨 Rustup

First, before installing Rust, you would need to install rustup.

On Mac and Linux systems, here are the commands for installing it:

bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

TIP

You will see a note similar to below after installing Rust:

bash
Rust is installed now. Great!
-
-To get started you may need to restart your current shell.
-This would reload your PATH environment variable to include
-Cargo's bin directory ($HOME/.cargo/bin).
-
-To configure your current shell, run: 
-source "$HOME/.cargo/env" 

If you don't follow the guidance, you won't be able to continue with the tutorial!

After installation, follow the commands here to setup Rust.

bash
rustup default stable
-cargo version
-
-rustup target list --installed
-rustup target add wasm32-unknown-unknown

Your output should look similar to below:

bash
info: using existing install for 'stable-aarch64-apple-darwin'
-info: default toolchain set to 'stable-aarch64-apple-darwin'
-
-  stable-aarch64-apple-darwin unchanged - rustc 1.74.0 (79e9716c9 2023-11-13)
-
-cargo 1.74.0 (ecb9851af 2023-10-18)
-aarch64-apple-darwin
-wasm32-unknown-unknown
-info: downloading component 'rust-std' for 'wasm32-unknown-unknown'
-info: installing component 'rust-std' for 'wasm32-unknown-unknown'

🐳 Docker installation

We will be using Docker later in this tutorial for compiling a smart contract to use a small footprint. We recommend installing Docker on your machine.

Examples on how to install it on Linux are found here. Find the right instructions specific for your OS here.

💻 Wasmd installation

Here, we are going to pull down the wasmd repository and replace CometBFT with Rollkit. Rollkit is a drop-in replacement for CometBFT that allows Cosmos-SDK applications to connect to Celestia's data availability network.

bash
git clone https://github.com/CosmWasm/wasmd.git
-cd wasmd
-git checkout tags/v0.50.0
-go mod edit -replace github.com/cosmos/cosmos-sdk=github.com/rollkit/cosmos-sdk@v0.50.1-rollkit-v0.11.19-no-fraud-proofs
-go mod tidy -compat=1.17
-go get github.com/bufbuild/buf@latest
-go mod download

Now, comment out lines 902-904 in app/app.go:

go
if err != nil {
-  panic(err)
-}

This is a temporary fix until CosmWasm/wasmd#1785 is resolved.

And build the binary:

bash
make install

✨ Celestia node

You will need a light node running with test tokens on Mocha testnet in order to complete this tutorial. Complete the tutorial and start up your node.

Be sure you have initialized your node before trying to start it. Your start command should look similar to:

bash
celestia light start --p2p.network mocha

After you have synced your node and funded it from the faucet, you will need to stop it with "Control + C".

Then, restart it with celestia-da using the following command:

bash
docker run -d \
--e NODE_TYPE=light \
--e P2P_NETWORK=mocha \
--p 26650:26650 \
--p 26658:26658 \
--p 26659:26659 \
--v $HOME/.celestia-light-mocha-4/:/home/celestia/.celestia-light-mocha-4/ \
-ghcr.io/rollkit/celestia-da:v0.12.10 \
-celestia-da light start \
---p2p.network=mocha \
---da.grpc.namespace=0000636f736d7761736d \
---da.grpc.listen=0.0.0.0:26650 \
---core.ip rpc-mocha.pops.one \
---gateway

TIP

You can either use the default 0000636f736d7761736d, "cosmwasm" in plaintext, namespace above, or set your own by using a command similar to this (or, you could get creative 😎):

bash
openssl rand -hex 10

Learn more about namespaces

🌌 Setting up your environment for CosmWasm on Celestia

Now the wasmd binary is built, we need to setup a local network that communicates between wasmd and Rollkit.

🗞️ Initializing CosmWasm rollup with a bash script

We have a handy init.sh found in this repo here.

We can copy it over to our directory with the following commands:

bash
# From inside the `wasmd` directory
-wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/cosmwasm/init.sh

This copies over our init.sh script to initialize our CosmWasm rollup.

You can view the contents of the script to see how we initialize the CosmWasm Rollup.

You can initialize the script with the following command:

bash
bash init.sh

With that, we have kickstarted our wasmd network!

View your rollup by finding your namespace or account Celenium.

View the example rollup's namespace on Celenium.

💠 Optional: see what's inside the script

You can skip this section, but it is important to know how Rollkit is initializing the cosmwasm rollup.

View the script here.

📒 Contract deployment on CosmWasm with Rollkit

🤖 Compile the smart contract

In a new terminal instance, we will run the following commands to pull down the Nameservice smart contract and compile it:

bash
git clone https://github.com/InterWasm/cw-contracts
-cd cw-contracts
-cd contracts/nameservice
-cargo wasm

The compiled contract is outputted to: target/wasm32-unknown-unknown/release/cw_nameservice.wasm.

🧪 Unit tests

If we want to run tests, we can do so with the following command in the ~/cw-contracts/contracts/nameservice directory:

bash
cargo unit-test

🏎️ Optimized smart contract

Because we are deploying the compiled smart contract to wasmd, we want it to be as small as possible.

The CosmWasm team provides a tool called rust-optimizer, which requires Docker in order to compile.

Run the following command in the ~/cw-contracts/contracts/nameservice directory:

bash
sudo docker run --rm -v "$(pwd)":/code \
-  --mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target \
-  --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \
-  cosmwasm/rust-optimizer:0.12.6
bash
sudo docker run --platform linux/arm64 --rm -v "$(pwd)":/code \
-  --mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target \
-  --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \
-  cosmwasm/rust-optimizer-arm64:0.12.8

This will place the optimized Wasm bytecode at artifacts/cw_nameservice.wasm.

🚀 Contract deployment

Let's now deploy our smart contract!

Run the following in the ~/cw-contracts/contracts/nameservice directory:

bash
TX_HASH=$(wasmd tx wasm store artifacts/cw_nameservice.wasm --from celeswasm-key --keyring-backend test --chain-id celeswasm --gas-prices 0uwasm --gas auto --gas-adjustment 1.3 --node http://127.0.0.1:26657 --output json -y | jq -r '.txhash') && echo $TX_HASH
bash
TX_HASH=$(wasmd tx wasm store artifacts/cw_nameservice-aarch64.wasm --from celeswasm-key --keyring-backend test --chain-id celeswasm --gas-prices 0uwasm --gas auto --gas-adjustment 1.3 --node http://127.0.0.1:26657 --output json -y | jq -r '.txhash') && echo $TX_HASH

This will get you the transaction hash for the smart contract deployment. Given we are using Rollkit, there will be a delay on the transaction being included due to Rollkit waiting on Celestia's data availability layer to confirm the block has been included before submitting a new block.

DANGER

If you run into errors with variables on the previous command, or commands in the remainder of the tutorial, cross-reference the variables in the command with the variables in the init.sh script.

🌟 Contract interaction on CosmWasm with Celestia

In the previous steps, we have stored out contract's tx hash in an environment variable for later use.

Because of the longer time periods of submitting transactions via Rollkit due to waiting on Celestia's data availability layer to confirm block inclusion, we will need to query our tx hash directly to get information about it.

🔎 Contract querying

Let's start by querying our transaction hash for its code ID:

bash
CODE_ID=$(wasmd query tx --type=hash $TX_HASH --chain-id celeswasm --node http://127.0.0.1:26657 --output json | jq -r '.logs[0].events[-1].attributes[0].value')
-echo $CODE_ID

This will give us back the Code ID of the deployed contract.

In our case, since it's the first contract deployed on our local network, the value is 1.

Now, we can take a look at the contracts instantiated by this Code ID:

bash
wasmd query wasm list-contract-by-code $CODE_ID --chain-id celeswasm --node http://127.0.0.1:26657 --output json

We get the following output:

json
{"contracts":[],"pagination":{"next_key":null,"total":"0"}}

📃 Contract instantiation

We start instantiating the contract by writing up the following INIT message for nameservice contract. Here, we are specifying that purchase_price of a name is 100uwasm and transfer_price is 999uwasm.

bash
INIT='{"purchase_price":{"amount":"100","denom":"uwasm"},"transfer_price":{"amount":"999","denom":"uwasm"}}'
-wasmd tx wasm instantiate $CODE_ID "$INIT" --from celeswasm-key --keyring-backend test --label "name service" --chain-id celeswasm --gas-prices 0uwasm --gas auto --gas-adjustment 1.3 -y --no-admin --node http://127.0.0.1:26657

📄 Contract interaction

Now that we instantiated it, we can interact further with the contract:

bash
wasmd query wasm list-contract-by-code $CODE_ID --chain-id celeswasm --output json --node http://127.0.0.1:26657
-CONTRACT=$(wasmd query wasm list-contract-by-code $CODE_ID --chain-id celeswasm --output json --node http://127.0.0.1:26657 | jq -r '.contracts[-1]')
-echo $CONTRACT
-
-wasmd query wasm contract --node http://127.0.0.1:26657 $CONTRACT --chain-id celeswasm
-wasmd query bank balances --node http://127.0.0.1:26657 $CONTRACT --chain-id celeswasm

This allows us to see the contract address, contract details, and bank balances.

Your output will look similar to below:

bash
{"contracts":["wasm14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9s0phg4d"],"pagination":{"next_key":null,"total":"0"}}
-wasm14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9s0phg4d
-address: wasm14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9s0phg4d
-contract_info:
-  admin: ""
-  code_id: "1"
-  created: null
-  creator: wasm1y9ceqvnsnm9xtcdmhrjvv4rslgwfzmrzky2c5z
-  extension: null
-  ibc_port_id: ""
-  label: name service
-balances: []
-pagination:
-  next_key: null
-  total: "0"

Now, let's register a name to the contract for our wallet address:

bash
REGISTER='{"register":{"name":"fred"}}'
-wasmd tx wasm execute $CONTRACT "$REGISTER" --amount 100uwasm --from celeswasm-key --chain-id celeswasm --gas-prices 0uwasm --gas auto --gas-adjustment 1.3 --node http://127.0.0.1:26657 --keyring-backend test -y

Your output will look similar to below:

bash
DEIP --keyring-backend test -y
-gas estimate: 167533
-code: 0
-codespace: ""
-data: ""
-events: []
-gas_used: "0"
-gas_wanted: "0"
-height: "0"
-info: ""
-logs: []
-raw_log: '[]'
-timestamp: ""
-tx: null
-txhash: C147257485B72E7FFA5FDB943C94CE951A37817554339586FFD645AD2AA397C3

If you try to register the same name again, you'll see an expected error:

bash
Error: rpc error: code = Unknown desc = rpc error: code = Unknown desc = failed to execute message; message index: 0: Name has been taken (name fred): execute wasm contract failed [CosmWasm/wasmd/x/wasm/keeper/keeper.go:364] With gas wanted: '0' and gas used: '123809' : unknown request

Next, query the owner of the name record:

bash
NAME_QUERY='{"resolve_record": {"name": "fred"}}'
-wasmd query wasm contract-state smart $CONTRACT "$NAME_QUERY" --chain-id celeswasm --node http://127.0.0.1:26657 --output json

You'll see the owner's address in a JSON response:

bash
{"data":{"address":"wasm1y9ceqvnsnm9xtcdmhrjvv4rslgwfzmrzky2c5z"}}

With that, we have instantiated and interacted with the CosmWasm nameservice smart contract using Celestia!

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/tutorials/full-and-sequencer-node.html b/pr-333/tutorials/full-and-sequencer-node.html deleted file mode 100644 index 2c9741e07..000000000 --- a/pr-333/tutorials/full-and-sequencer-node.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - Full and sequencer node rollup setup | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Full and sequencer node rollup setup

This guide will cover how to set up the GM world rollup example as a multi-node network using a full and sequencer node.

About

This guide is using a feature released in v0.10.2 that uses go-header, which uses libp2p that syncs blocks over a peer-to-peer (p2p) network.

This is the same way that celestia-node syncs blocks over p2p.

Prerequisites

First, you'll need to complete the GM world tutorial.

In this demo, we'll be using the local-celestia-devnet setup used in part 1.

Getting started

For running a full node, you will need to update DA_HEIGHT and P2P_ID manually. You can retrieve namespace and height from your terminal output from when you ran the init-local.sh script.

They will be printed before your chain starts:

txt
______         _  _  _     _  _
-| ___ \       | || || |   (_)| |
-| |_/ /  ___  | || || | __ _ | |_
-|    /  / _ \ | || || |/ /| || __|
-| |\ \ | (_) || || ||   < | || |_
-\_| \_| \___/ |_||_||_|\_\|_| \__|
-
-
- Your DA_BLOCK_HEIGHT is 5 

Clone the script

Now, clone the script for the full node:

bash
# From inside the `gm` directory
-cd $HOME/gm
-wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/gm/init-full-node.sh

Set DA height

Next, you can open the script and set your namespace and DA height from above:

sh
DA_BLOCK_HEIGHT=your-block-height 
-DA_BLOCK_HEIGHT=5 
-P2P_ID="your-p2p-id"

Update the p2p address

Next, we'll update the p2p address.

Once your sequencer starts producing blocks, it will show the p2p address, beginning with 12D:

bash
3:55PM INF port binded module=x/ibc/port port=icahost
-3:55PM INF claimed capability capability=2 module=icahost name=ports/icahost
-3:55PM INF service start impl=RPC module=server msg={}
-3:55PM INF service start impl=Node module=server msg={}
-3:55PM INF starting P2P client module=server
-3:55PM INF serving HTTP listen address={"IP":"127.0.0.1","Port":36657,"Zone":""} module=server
-3:55PM INF listening on address=/ip4/10.0.0.171/tcp/36656/p2p/12D3KooWCmfJLkQjZUArWpNUDJSezeFiLYzCULXe1dEKY6ZpXZpk module=p2p 
-3:55PM INF listening on address=/ip4/127.0.0.1/tcp/36656/p2p/12D3KooWCmfJLkQjZUArWpNUDJSezeFiLYzCULXe1dEKY6ZpXZpk module=p2p 
-3:55PM INF no seed nodes - only listening for connections module=p2p
-3:55PM INF starting Celestia Data Availability Layer Client baseURL=http://localhost:26658 module=da_client

In your init-full-node.sh script, you will now set the P2P_ADDRESS variable for your script to use:

bash
DA_BLOCK_HEIGHT=5
-P2P_ID="your-p2p-id" 
-P2P_ID="12D3KooWCmfJLkQjZUArWpNUDJSezeFiLYzCULXe1dEKY6ZpXZpk" 

Start the full node

Now run your full node with the script:

bash
# from the gm directory
-bash init-full-node.sh

Congratulations! You will now have a full node running alongside your Rollkit sequencer.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/tutorials/gas-price.html b/pr-333/tutorials/gas-price.html deleted file mode 100644 index 2f81c8237..000000000 --- a/pr-333/tutorials/gas-price.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - How to configure gas price | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

How to configure gas price

In most cases, the gas price can be left to the defaults, which ensures that the price is greater than the minimum gas price accepted by the core node.

The gas price can also be configured manually with the flag --rollkit.da_gas_price:

bash
gmd start --rollkit.da_gas_price=0.1 [existing flags...]

This configures the rollup to always use the fixed gas price of 0.1utia/gas.

When running a rollup against a live network, the gas price may see occasional spikes during periods of high mempool congestion.

To avoid such transient blob submission failures, the flag --rollkit.da_gas_multiplier may be used:

bash
gmd start --rollkit.da_gas_price=0.1 --rollkit.da_gas_multiplier=1.2 [...]

This configures the rollup to keep increasing the gas price by a factor of 1.2x of the previous price until the transaction is accepted by the core node.

When the blob submission transaction eventually succeeds, the gas price will gradually return to the default, decreasing by the same factor.

The gas multiplier will only be used if the gas price has been manually configured.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/tutorials/gm-world-frontend.html b/pr-333/tutorials/gm-world-frontend.html deleted file mode 100644 index 96806cc57..000000000 --- a/pr-333/tutorials/gm-world-frontend.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - GM world frontend tutorial | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

GM world frontend tutorial

In this tutorial, we'll learn how to use Cosmology to create a frontend for our GM world rollup.

Cosmology enables developers to build web3 apps in the Interchain Ecosystem. With Cosmology, it's simple to begin building apps that communicate with Cosmos SDK and CosmWasm chains.

We'll be using create-cosmos-app in this tutorial to scaffold a frontend and add the chain information for our rollup.

In the end, you'll have something that looks like this demo (repo).

Getting started

In order to complete this tutorial you will need to have completed the GM world tutorial. This requires a running rollup on your local machine.

Setting up the frontend

Now that you have your rollup running, you are ready to scaffold the frontend! In your terminal, first install create-cosmos-app:

bash
npm install -g create-cosmos-app

Now scaffold an app:

bash
create-cosmos-app

In this tutorial, we're using the following setting and your output will look similar to this if everything is successful:

bash
? [name] Enter your new app name gm-world
-Cloning into 'gm-world'...
-? [template] which template connect-multi-chain
-yarn install v1.22.19
-[1/4] Resolving packages...
-[2/4] Fetching packages...
-[3/4] Linking dependencies...
-[4/4] Building fresh packages...
-success Saved lockfile.
-Done in 42.23s.
-
-
-                 |              _   _
-     ===         |.===.        '\-//`
-    (o o)        {}o o{}        (o o)
-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-
-
-✨ Have fun! Now you can start on your project ⚛️
-
-Now, run this command:
-
-cd ./gm-world && yarn dev

Follow the instructions at the end of the output to start your app:

bash
cd ./gm-world && yarn dev

cca-3.png

Adding your GM portal chain to the config

First, we'll need to make some changes with the default config.

We need to add the array of chains that we would like to test in the components/wallet.tsx file on underneath imports:

tsx
const allowedChains = [
-  'gmrollup',
-  'celestiatestnet',
-  'celestiatestnet2',
-  'celestiatestnet3',
-];

In chainOptions change chainRecords this to show only the allowed chains from your array:

tsx
chainRecords
-      .filter((chainRecord) => allowedChains.includes(chainRecord.name))
-      .map((chainRecord) => {

Now you're ready to see only the chains you've selected, but first, we need to set up the config for gmrollup!

In the config directory, create a new file called chain.ts. This will be your config for your GM rollup.

In that file, put the following:

tsx
export const chain = {
-    "$schema": "../../chain.schema.json",
-    "chain_name": "gmrollup",
-    "chain_id": "gm",
-    "pretty_name": "my gm rollup",
-    "status": "live",
-    "network_type": "testnet",
-    "bech32_prefix": "gm",
-    "daemon_name": "gmd",
-    "node_home": "$HOME/.gm",
-    "key_algos": [
-      "secp256k1"
-    ],
-    "slip44": 118,
-    "fees": {
-      "fee_tokens": [
-        {
-          "denom": "ustake",
-          "fixed_min_gas_price": 0
-        }
-      ]
-    },
-    "apis": {
-      "rpc": [
-        {
-          "address": "http://localhost:26657",
-          "provider": "JCS"
-        }
-      ],
-      "rest": [
-        {
-          "address": "http://localhost:1317",
-          "provider": "JCS"
-        }
-      ]
-    },
-    "beta": true,
-  }

Create a new file in config called assetlist.ts and add the following:

tsx
export const assetlist = {
-    "$schema": "../../assetlist.schema.json",
-    "chain_name": "gmrollup",
-    "assets": [
-      {
-        "description": "",
-        "denom_units": [
-          {
-            "denom": "ustake",
-            "exponent": 0
-          },
-          {
-            "denom": "stake",
-            "exponent": 6
-          }
-        ],
-        "base": "stake",
-        "name": "GM rollup",
-        "display": "stake",
-        "symbol": "STAKE",
-        "logo_URIs": {
-          "svg": "https://raw.githubusercontent.com/jcstein/gm-portal/b030ce3fe548d188fbacb6b932d7e51dc7afd65e/frontend/public/gm.svg"
-        }
-      }
-    ]
-  }

Create a new file in config directory called defaults.ts:

tsx
import { assets } from 'chain-registry';
-import { AssetList, Asset } from '@chain-registry/types';
-
-export const defaultChainName = 'gmrollup';
-
-export const getChainAssets = (chainName: string = defaultChainName) => {
-  return assets.find((chain) => chain.chain_name === chainName) as AssetList;
-};
-
-export const getCoin = (chainName: string = defaultChainName) => {
-  const chainAssets = getChainAssets(chainName);
-  return chainAssets.assets[0] as Asset;
-};

In _app.tsx you can now import assetlist and chain with your new GM config!

tsx
# other imports
-import { chain } from "../config/chain"
-import { assetlist } from "../config/assetlist"
-
-# rest of code

Then, modify your ChainProvider:

tsx
<ChainProvider
-        chains={[...chains, chain]}
-        assetLists={[...assets, assetlist]}
-        wallets={[...keplrWallets, ...cosmostationWallets, ...leapWallets]}
-        walletConnectOptions={{
-          signClient: {
-            projectId: 'a8510432ebb71e6948cfd6cde54b70f7',
-            relayUrl: 'wss://relay.walletconnect.org',
-            metadata: {
-              name: 'Celestia + Cosmos SDK',
-              description: 'Celestia + Cosmos SDK',
-              url: 'https://docs.celestia.org/',
-              icons: [],
-            },
-          },
-        }}
-        endpointOptions={{
-          isLazy: true
-        }}
-        wrappedWithChakra={true}
-        signerOptions={signerOptions}
-      >

You may notice that we added:

tsx
endpointOptions={{isLazy: true}}

This will save our localhost RPC from being overridden.

Congratulations! You now have a frontend for your rollup. What features do you want to add now?

You may notice that the icons for Celestia testnets are not loading, this is due to an outdated version of the chain registry.

cca.png

To update these, you can use your terminal:

bash
cd $HOME && cd gm-world
-yarn upgrade-interactive --latest

Use arrow keys and the spacebar to select it@cosmos-kit/core, @cosmos-kit/cosmostation, @cosmos-kit/keplr, @cosmos-kit/leap and @cosmos-kit/react.

Now use enter to upgrade the dependencies!

Head back to your frontend and take a look, you should see the updated icons.

cca-2.png

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/tutorials/gm-world-mainnet.html b/pr-333/tutorials/gm-world-mainnet.html deleted file mode 100644 index 898b2bbd6..000000000 --- a/pr-333/tutorials/gm-world-mainnet.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - GM world rollup: Part 3 | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

GM world rollup: Part 3

This tutorial is part 3 of the GM world rollup tutorials. In this tutorial, it is expected that you've completed part 1 and part 2 of the tutorial and are familiar with running a local rollup devnet and posting to a Celestia testnet.

Deploying to Celestia Mainnet Beta

🪶 Run a Celestia light node

  1. Fully sync and fund a light node on Arabica devnet (arabica-11). Follow instructions to install and start your Celestia data availability layer light node selecting the Arabica network. You can find instructions to install and run the node. After the node is synced, stop the light node.

  2. Use celestia-da to connect to Rollkit. Your node does not need to be running when you start celestia-da.

    Run this command to start celestia-da and your Celestia light node with state access (using the --core.ip string flag). This time, on celestia, which is the chain ID for Mainnet Beta:

    bash
    docker run -d \
    --e NODE_TYPE=light \
    --e P2P_NETWORK=celestia \
    --p 26650:26650 \
    --p 26658:26658 \
    --p 26659:26659 \
    --v $HOME/.celestia-light/:/home/celestia/.celestia-light/ \
    -ghcr.io/rollkit/celestia-da:v0.12.10 \
    -celestia-da light start \
    ---p2p.network=celestia \
    ---da.grpc.namespace=000000676d776f726c64 \
    ---da.grpc.listen=0.0.0.0:26650 \
    ---core.ip rpc.celestia.pops.one \
    ---gateway

    TIP

    You can either use the default 000000474d776f726c64, "GMworld" in plaintext, namespace above, or set your own by using a command similar to this (or, you could get creative 😎):

    bash
    openssl rand -hex 10

    Learn more about namespaces

After you have Go and Ignite CLI installed, and celestia-da running on your machine, you're ready to run your own sovereign rollup.

Clear previous chain history

Before starting the rollup, we need to remove the old project folders:

bash
rm -r $HOME/go/bin/gmd && rm -rf $HOME/.gm

Start the rollup on mainnet

For this portion, you will need to stop the rollup that you have running from parts 1 and 2 of the tutorial, using Control + C in the terminal.

  1. Download the script for deploying to Celestia's Mainnet Beta:

    bash
    # From inside the `gm` directory
    -wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/gm/init-mainnet.sh
  2. Ensure that the account for your light node is funded.

  3. Run the init-mainnet.sh script:

    bash
    bash init-mainnet.sh
  4. Watch as your rollup posts blocks to Celestia!

  5. View your rollup by finding your namespace or account Celenium.

View the example rollup's namespace on Celenium.

Restarting your rollup

When you ran init-mainnet.sh, the script generated a script called restart-mainnet.sh in the $HOME/gm directory for you to use to restart your rollup.

In order to do so, restart celestia-da and then run:

bash
bash restart-mainnet.sh

Next steps

Congratulations! You have a Rollkit rollup running on Celestia's Mainnet Beta.

If you're interested in setting up a full node alongside your sequencer, see the Full and sequencer node rollup setup tutorial.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/tutorials/gm-world-testnet.html b/pr-333/tutorials/gm-world-testnet.html deleted file mode 100644 index 04ce66194..000000000 --- a/pr-333/tutorials/gm-world-testnet.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - GM world rollup: Part 2 | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

GM world rollup: Part 2

Deploying to a Celestia testnet

This tutorial is part 2 of the GM world rollup tutorials. In this tutorial, it is expected that you've completed part 1 of the tutorial and are familiar with running a local rollup devnet.

The script for this tutorial is built for Celestia's Arabica devnet.

🪶 Run a Celestia light node

  1. Fully sync and fund a light node on Arabica devnet (arabica-11). Follow instructions to install and start your Celestia data availability layer light node selecting the Arabica network. You can find instructions to install and run the node. After the node is synced, stop the light node.

  2. Use celestia-da to connect to Rollkit. Your node does not need to be running when you start celestia-da. To start celestia-da and your light node, run this command:

bash
docker run -d \
--e NODE_TYPE=light \
--e P2P_NETWORK=arabica \
--p 26650:26650 \
--p 26658:26658 \
--p 26659:26659 \
--v $HOME/.celestia-light-arabica-11/:/home/celestia/.celestia-light-arabica-11/ \
-ghcr.io/rollkit/celestia-da:v0.12.10 \
-celestia-da light start \
---p2p.network=arabica \
---da.grpc.namespace=000008e5f679bf7116cb \
---da.grpc.listen=0.0.0.0:26650 \
---core.ip validator-1.celestia-arabica-11.com \
---gateway

TIP

You can either use the default 000008e5f679bf7116cb namespace above, or set your own by using a command similar to this (or, you could get creative 😎):

bash
openssl rand -hex 10

Learn more about namespaces .

After you have Go and Ignite CLI installed, and celestia-da running on your machine, you're ready to run your own sovereign rollup.

🟢 Start your sovereign rollup

We have a handy init-testnet.sh found in this repo.

We can copy it over to our directory with the following commands:

bash
# From inside the `gm` directory
-wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/gm/init-testnet.sh

This copies over our init-testnet.sh script to initialize our gm rollup.

You can view the contents of the script to see how we initialize the gm rollup.

Clear previous chain history

Before starting the rollup, we need to remove the old project folders:

bash
rm -r $HOME/go/bin/gmd && rm -rf $HOME/.gm

Start the new chain

Now, you can initialize the script with the following command:

bash
bash init-testnet.sh

View your rollup by finding your namespace or account an Arabica devnet explorer.

With that, we have kickstarted our second gmd rollup!

Optional: Restarting your rollup

If you'd like to stop and restart your rollup for development purposes, you're in luck!

When you ran init-testnet.sh, the script generated a script called restart-testnet.sh in the $HOME/gm directory for you to use to restart your rollup.

In order to do so, restart celestia-da and then run:

bash
bash restart-testnet.sh

Optional: Add a "GM world" query

💬 Say gm world

Now, we're going to get our blockchain to say gm world! - in order to do so you need to make the following changes:

  • Modify a protocol buffer file
  • Create a keeper query function that returns data

Protocol buffer files contain proto RPC calls that define Cosmos SDK queries and message handlers, and proto messages that define Cosmos SDK types. The RPC calls are also responsible for exposing an HTTP API.

The Keeper is required for each Cosmos SDK module and is an abstraction for modifying the state of the blockchain. Keeper functions allow us to query or write to the state.

✋ Create your first query

Open a new terminal instance that is not the same that you started the chain in.

In your new terminal, cd into the gm directory and run this command to create the gm query:

bash
ignite scaffold query gm --response text

Response:

bash
modify proto/gm/gm/query.proto
-modify x/gm/client/cli/query.go
-create x/gm/client/cli/query_gm.go
-create x/gm/keeper/query_gm.go
-
-🎉 Created a query `gm`.

What just happened? query accepts the name of the query (gm), an optional list of request parameters (empty in this tutorial), and an optional comma-separated list of response field with a --response flag (text in this tutorial).

Navigate to the gm/proto/gm/gm/query.proto file, you’ll see that Gm RPC has been added to the Query service:

proto
service Query {
-  rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {
-    option (google.api.http).get = "/gm/gm/params";
-  }
- rpc Gm(QueryGmRequest) returns (QueryGmResponse) {
-  option (google.api.http).get = "/gm/gm/gm";
- }
-}

The Gm RPC for the Query service:

  • is responsible for returning a text string
  • Accepts request parameters (QueryGmRequest)
  • Returns response of type QueryGmResponse
  • The option defines the endpoint that is used by gRPC to generate an HTTP API
📨 Query request and response types

In the same file, we will find:

  • QueryGmRequest is empty because it does not require parameters
  • QueryGmResponse contains text that is returned from the chain
proto
message QueryGmRequest {
-}
-
-message QueryGmResponse {
-  string text = 1;
-}
👋 Gm keeper function

The gm/x/gm/keeper/query_gm.go file contains the Gm keeper function that handles the query and returns data.

go
func (k Keeper) Gm(goCtx context.Context, req *types.QueryGmRequest) (*types.QueryGmResponse, error) {
-	if req == nil {
-		return nil, status.Error(codes.InvalidArgument, "invalid request")
-	}
-	ctx := sdk.UnwrapSDKContext(goCtx)
-	_ = ctx
-	return &types.QueryGmResponse{}, nil
-}

The Gm function performs the following actions:

  • Makes a basic check on the request and throws an error if it’s nil
  • Stores context in a ctx variable that contains information about the environment of the request
  • Returns a response of type QueryGmResponse

Currently, the response is empty and you'll need to update the keeper function.

Our query.proto file defines that the response accepts text. Use your text editor to modify the keeper function in gm/x/gm/keeper/query_gm.go .

go
func (k Keeper) Gm(goCtx context.Context, req *types.QueryGmRequest) (*types.QueryGmResponse, error) {
-	if req == nil {
-		return nil, status.Error(codes.InvalidArgument, "invalid request")
-	}
-	ctx := sdk.UnwrapSDKContext(goCtx)
-	_ = ctx
-	return &types.QueryGmResponse{Text: "gm world!"}, nil 
-}

The query command has also scaffolded x/gm/client/cli/query_gm.go that implements a CLI equivalent of the gm query and mounted this command in x/gm/client/cli/query.go.

Restart your rollup

Restart your rollup by running the init-testnet.sh script again.

Query your rollup

In a separate window, run the following command:

bash
gmd q gm gm

We will get the following JSON response:

bash
text: gm world!

gm.png

Next steps

Congratulations 🎉 you've successfully built your first rollup and queried it!

In the next tutorial, you'll learn how to post data to Celestia's Mainnet Beta.

If you're interested in setting up a full node alongside your sequencer, see the Full and sequencer node rollup setup tutorial.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/tutorials/gm-world.html b/pr-333/tutorials/gm-world.html deleted file mode 100644 index 5f532d88f..000000000 --- a/pr-333/tutorials/gm-world.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - GM world rollup: Part 1 | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

GM world rollup: Part 1

Building a rollup locally

🌅 Introduction

This tutorial will guide you through building a sovereign gm-world rollup using Rollkit, using Celestia’s data availability and consensus layer to submit Rollkit blocks.

We'll cover setting up Ignite CLI, building a Cosmos-SDK application-specific rollup blockchain, and posting data to Celestia. First, we will test on a local DA network, then to a live testnet, and lastly to mainnet.

  1. Part 1 (This page): Run your rollup and post DA to a local devnet, and make sure everything works as expected.
  2. Part 2: Deploy the rollup, posting to a DA testnet. Confirm again that everything is functioning properly.
  3. Part 3: Deploy your rollup to the DA layer's mainnet.

The Cosmos SDK is a framework for building blockchain applications. The Cosmos Ecosystem uses Inter-Blockchain Communication (IBC) to allow blockchains to communicate with one another.

TIP

This tutorial will explore developing with Rollkit, which is still in Alpha stage. If you run into bugs, please write a Github Issue ticket or let us know in our Telegram.

Learn how to restart your rollup.

🤔 What is GM?

GM means good morning. It's GM o'clock somewhere, so there's never a bad time to say GM, Gm, or gm. You can think of "GM" as the new version of "hello world".

Dependencies

Next, head either to Linux setup or MacOS setup.

Linux setup

🏃 Install Golang on Linux

Celestia-App, Celestia-Node, and Cosmos-SDK are written in the Golang programming language. You will need Golang to build and run them.

You can install Golang here.

🔥 Install Ignite CLI on Linux

First, you will need to create /usr/local/bin if you have not already:

bash
sudo mkdir -p -m 775 /usr/local/bin

Run this command in your terminal to install Ignite CLI:

bash
curl https://get.ignite.com/cli@v28.1.0! | bash

TIP

✋ On some machines, you may run into permissions errors like the one below. You can resolve this error by following the guidance here or below.

bash
# Error
-jcs @ ~ % curl https://get.ignite.com/cli@v28.1.0! | bash
-
-
-  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
-                                 Dload  Upload   Total   Spent    Left  Speed
-100  3967    0  3967    0     0  16847      0 --:--:-- --:--:-- --:--:-- 17475
-Installing ignite v28.1.0..... 
-######################################################################## 100.0% 
-mv: rename ./ignite to /usr/local/bin/ignite: Permission denied 
-============ 
-Error: mv failed 

The following command will resolve the permissions error:

bash
sudo curl https://get.ignite.com/cli@v28.1.0! | bash

A successful installation will return something similar to the response below:

bash
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
-                                 Dload  Upload   Total   Spent    Left  Speed
-100  4073    0  4073    0     0   4363      0 --:--:-- --:--:-- --:--:--  4379
-Installing ignite v28.1.0..... 
-######################################################################## 100.0% 
-Password:
-Installed at /usr/local/bin/ignite 

Verify you’ve installed Ignite CLI by running:

bash
ignite version

The response that you receive should look something like this:

bash
jcs @ ~ % ignite version 
-Ignite CLI version: v28.1.0 
-Ignite CLI build date: 2023-12-23T08:29:07Z
-Ignite CLI source hash: 4bb56d0cf73d16303221d8d1ffdd3ec395682813
-Ignite CLI config version: v1
-Cosmos SDK version: v0.50.1
-Your OS:  darwin
-Your arch:  arm64
-Your Node.js version: v20.4.0
-Your go version: go version go1.21.5 darwin/arm64
-Your uname -a:  Darwin Joshs-MacBook-Air.local 22.5.0 Darwin Kernel Version 22.5.0: Thu Jun  8 22:21:34 PDT 2023; root:xnu-8796.121.3~7/RELEASE_ARM64_T8112 arm64
-Your cwd:  /Users/joshstein
-Is on Gitpod:  false

Your development environment is setup! Now, head to part 1.

macOS setup

🏃 Install Golang on macOS

Celestia-App, Celestia-Node, and Cosmos-SDK are written in the Golang programming language. You will need Golang to build and run them.

You can install Golang here.

🔥 Install Ignite CLI on macOS

First, you will need to create /usr/local/bin if you have not already:

bash
sudo mkdir -p -m 775 /usr/local/bin

Run this command in your terminal to install Ignite CLI:

bash
curl https://get.ignite.com/cli@v28.1.0! | bash

TIP

✋ On some machines, you may run into permissions errors like the one below. You can resolve this error by following the guidance here or below.

bash
# Error
-jcs @ ~ % curl https://get.ignite.com/cli@v28.1.0! | bash
-
-
-  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
-                                 Dload  Upload   Total   Spent    Left  Speed
-100  3967    0  3967    0     0  16847      0 --:--:-- --:--:-- --:--:-- 17475
-Installing ignite v28.1.0..... 
-######################################################################## 100.0% 
-mv: rename ./ignite to /usr/local/bin/ignite: Permission denied 
-============ 
-Error: mv failed 

The following command will resolve the permissions error:

bash
sudo curl https://get.ignite.com/cli@v28.1.0! | sudo bash

A successful installation will return something similar the response below:

bash
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
-                                 Dload  Upload   Total   Spent    Left  Speed
-100  3967    0  3967    0     0  15586      0 --:--:-- --:--:-- --:--:-- 15931
-Installing ignite v28.1.0..... 
-######################################################################## 100.0% 
-Installed at /usr/local/bin/ignite 

Verify you’ve installed Ignite CLI by running:

bash
ignite version

The response that you receive should look something like this:

bash
jcs @ ~ % ignite version 
-Ignite CLI version:  v28.1.0
-Ignite CLI build date:  2023-12-23T08:29:07Z
-Ignite CLI source hash:  4bb56d0cf73d16303221d8d1ffdd3ec395682813
-Ignite CLI config version: v1
-Cosmos SDK version:  v0.50.1
-Your OS:   darwin
-Your arch:   arm64
-Your Node.js version:  v20.4.0
-Your go version:  go version go1.21.5 darwin/arm64
-Your uname -a:   Darwin Joshs-MacBook-Air.local 22.5.0 Darwin Kernel Version 22.5.0: Thu Jun  8 22:21:34 PDT 2023; root:xnu-8796.121.3~7/RELEASE_ARM64_T8112 arm64
-Your cwd:  /Users/joshstein
-Is on Gitpod:  false

🍺 Install Homebrew on macOS

Homebrew will allow us to install dependencies for our Mac:

bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Be sure to run the commands similar to the output below from the successful installation:

bash
==> Next steps:
-- Run these three commands in your terminal to add Homebrew to your PATH:
-    echo '# Set PATH, MANPATH, etc., for Homebrew.' >> /Users/joshstein/.zprofile
-    echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/joshstein/.zprofile
-    eval "$(/opt/homebrew/bin/brew shellenv)"

🏃 Install wget on macOS

wget is an Internet file retriever:

bash
brew install wget

Your development environment is setup! Now, head to part 1.

Part 1

This part of the tutorial will teach developers how to easily run a local data availability (DA) devnet on their own machine (or in the cloud). Running a local devnet for DA to test your rollup is the recommended first step before deploying to a testnet. This eliminates the need for testnet tokens and deploying to a testnet until you are ready.

WARNING

Part 1 of the tutorial has only been tested on an AMD machine running Ubuntu 22.10 x64.

Whether you're a developer simply testing things on your laptop or using a virtual machine in the cloud, this process can be done on any machine of your choosing. We tested out the Devnet section (part 1) on a machine with the following specs:

  • Memory: 1 GB RAM
  • CPU: Single Core AMD
  • Disk: 25 GB SSD Storage
  • OS: Ubuntu 22.10 x64

💻 Prerequisites

  • Docker installed on your machine

🏠 Running local devnet with a Rollkit rollup

First, run the local-celestia-devnet by running the following command:

bash
docker run -t -i \
-    -p 26650:26650 -p 26657:26657 -p 26658:26658 -p 26659:26659 -p 9090:9090 \
-    ghcr.io/rollkit/local-celestia-devnet:v0.12.7

The docker image automatically creates a NAMESPACE_ID (as shown below) while starting the celestia-da server. If you want to set your own NAMESPACE_ID, set the env variable CELESTIA_NAMESPACE.

bash
CELESTIA_NAMESPACE=0000$(openssl rand -hex 8)

The port 26650 is where the celestia-da server is run (which also runs a Celestia DA bridge node).

🏗️ Building your sovereign rollup

Now that you have a Celestia devnet running, we are ready to use Golang to build and run our Cosmos-SDK blockchain.

The Ignite CLI comes with scaffolding commands to make development of blockchains quicker by creating everything that is needed to start a new Cosmos SDK blockchain.

Check your version:

bash
ignite version

Open a new tab or window in your terminal and run this command to scaffold your rollup. Scaffold the chain:

bash
cd $HOME
-ignite scaffold chain gm --address-prefix gm

TIP

The --address-prefix gm flag will change the address prefix from cosmos to gm. Read more on the Cosmos docs.

The response will look similar to below:

WARNING

Do not run ignite chain serve as we will build the chain later in the tutorial.

bash
jcs @ ~ % ignite scaffold chain gm --address-prefix gm
-
-⭐️ Successfully created a new blockchain 'gm'. 
-👉 Get started with the following commands: 
-
- % cd gm 
- % ignite chain serve
-
-Documentation: https://docs.ignite.com

This command has created a Cosmos SDK blockchain in the gm directory. The gm directory contains a fully functional blockchain. The following standard Cosmos SDK modules have been imported:

  • staking - for delegated Proof-of-Stake (PoS) consensus mechanism
  • bank - for fungible token transfers between accounts
  • gov - for on-chain governance
  • mint - for minting new units of staking token
  • nft - for creating, transferring, and updating NFTs
  • and more

Change to the gm directory:

bash
cd gm

You can learn more about the gm directory’s file structure here. Most of our work in this tutorial will happen in the x directory.

🗞️ Install Rollkit

To swap out CometBFT for Rollkit, run the following command from inside the gm directory:

bash
go mod edit -replace github.com/cosmos/cosmos-sdk=github.com/rollkit/cosmos-sdk@v0.50.1-rollkit-v0.11.19-no-fraud-proofs
-go mod tidy
-go get github.com/bufbuild/buf@latest
-go mod download

▶️ Start your rollup

Download the init-local.sh script to start the chain:

bash
# From inside the `gm` directory
-wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/gm/init-local.sh

Run the init-local.sh script:

WARNING

In order to run init-local.sh you need to have the jq command line tool installed. You can install it by running sudo apt-get install jq on Ubuntu or brew install jq on MacOS.

bash
bash init-local.sh

TIP

If you get errors of gmd not found, you may need to add the go/bin directory to your PATH. You can do this by running export PATH=$PATH:$HOME/go/bin and then running the init-local.sh script again.

This will start your rollup, connected to the local Celestia devnet you have running.

Now let's explore a bit.

TIP

If you are restarting your rollup, you'll need to clear the old chain history and binary:

bash
rm -rf $HOME/.gm
-rm $HOME/go/bin/gmd

🔑 Keys

List your keys:

bash
gmd keys list --keyring-backend test

You should see an output like the following

bash
- address: gm1sa3xvrkvwhktjppxzaayst7s7z4ar06rk37jq7 
-  name: gm-key-2 
-  pubkey: '{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AlXXb6Op8DdwCejeYkGWbF4G3pDLDO+rYiVWKPKuvYaz"}'
-  type: local
-- address: gm13nf52x452c527nycahthqq4y9phcmvat9nejl2 
-  name: gm-key 
-  pubkey: '{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AwigPerY+eeC2WAabA6iW1AipAQora5Dwmo1SnMnjavt"}'
-  type: local

💸 Transactions

Now we can test sending a transaction from one of our keys to the other. We can do that with the following command:

bash
gmd tx bank send [from_key_or_address] [to_address] [amount] [flags]

Set your keys as variables to make it easier to add the address:

bash
export KEY1=gm1sa3xvrkvwhktjppxzaayst7s7z4ar06rk37jq7
-export KEY2=gm13nf52x452c527nycahthqq4y9phcmvat9nejl2

So using our information from the keys command, we can construct the transaction command like so to send 42069stake from one address to another:

bash
gmd tx bank send $KEY1 $KEY2 42069stake --keyring-backend test \
---node tcp://127.0.0.1:36657 --chain-id gm --fees 5000stake

TIP

We're using the --node [ip:port] flag to point to port 36657, which is the custom port we used in the init-local.sh script to avoid clashing with 26657 on local-celestia-devnet. We set it here:

bash
--rpc.laddr tcp://127.0.0.1:36657

You'll be prompted to accept the transaction:

bash
auth_info:
-  fee:
-    amount: []
-    gas_limit: "200000"
-    granter: ""
-    payer: ""
-  signer_infos: []
-  tip: null
-body:
-  extension_options: []
-  memo: ""
-  messages:
-  - '@type': /cosmos.bank.v1beta1.MsgSend
-    amount:
-    - amount: "42069"
-      denom: stake
-    from_address: gm1sa3xvrkvwhktjppxzaayst7s7z4ar06rk37jq7
-    to_address: gm13nf52x452c527nycahthqq4y9phcmvat9nejl2
-  non_critical_extension_options: []
-  timeout_height: "0"
-signatures: []
-confirm transaction before signing and broadcasting [y/N]: 

Type y if you'd like to confirm and sign the transaction. Then, you'll see the confirmation:

bash
code: 0
-codespace: ""
-data: ""
-events: []
-gas_used: "0"
-gas_wanted: "0"
-height: "0"
-info: ""
-logs: []
-raw_log: '[]'
-timestamp: ""
-tx: null
-txhash: 677CAF6C80B85ACEF6F9EC7906FB3CB021322AAC78B015FA07D5112F2F824BFF

⚖️ Balances

Then, query your balance:

bash
gmd query bank balances $KEY2 --node tcp://127.0.0.1:36657

This is the key that received the balance, so it should have increased past the initial STAKING_AMOUNT:

bash
balances: 
-- amount: "10000000000000000000042069" 
-  denom: stake
-pagination:
-  next_key: null
-  total: "0"

The other key, should have decreased in balance:

bash
gmd query bank balances $KEY1 --node tcp://127.0.0.1:36657

Response:

bash
balances: 
-- amount: "9999999999999999999957931" 
-  denom: stake
-pagination:
-  next_key: null
-  total: "0"

Next steps

Congratulations! You've built a local rollup that posts to a local Celestia devnet. In the next tutorial, you can learn how to post data to Celestia's Arabica devnet.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/tutorials/ibc-connection.html b/pr-333/tutorials/ibc-connection.html deleted file mode 100644 index 8233d0fe0..000000000 --- a/pr-333/tutorials/ibc-connection.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - IBC connection tutorial | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

IBC connection tutorial

In this tutorial, we'll learn how to use an Inter-Blockchain Communication (IBC) Protocol relayer to create an IBC connection between a GM world rollup and an Osmosis local testnet.

Disclaimer

This initial version of IBC has high trust assumptions where receiving chains only verify the signature of the single rollup sequencer. This is the initial step towards the direction of trust-minimized IBC light clients, next steps include verifying DA inclusion proofs and adding fraud/zk proof verification. Learn more on ibc-go issue 5112.

💻 Pre-requisites

Software requirements

  • Docker running on your machine
  • Go version ≥ 1.21.0
  • Ignite version ≥ v28.2.0

Run a GM rollup chain

Before you can create an IBC connection, you need to start a local-celestia-devnet instance in a separate terminal:

bash
docker run -t -i --platform linux/amd64 -p 26650:26650 -p 26657:26657 -p 26658:26658 -p 26659:26659 -p 9090:9090 ghcr.io/rollkit/local-celestia-devnet:v0.12.7

WARNING

You will need to use Ignite v28.2.0, which you can install with:

bash
curl https://get.ignite.com/cli@v28.2.0! | bash

Scaffold the GM chain:

bash
cd $HOME
-ignite scaffold chain gm --address-prefix gm

Change into the gm directory and install Rollkit with IBC compatibility:

bash
cd gm
-go mod edit -replace github.com/cosmos/cosmos-sdk=github.com/rollkit/cosmos-sdk@v0.50.1-rollkit-v0.12.0-rc0-no-fraud-proofs
-go mod tidy
-go get github.com/bufbuild/buf@latest
-go mod download

Now download the script to run the GM chain:

bash
wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/gm/init-local.sh

Run the GM rollup:

bash
bash init-local.sh

Run your local-osmosis-testnet

Install Osmosis binary

bash
cd $HOME
-git clone https://github.com/osmosis-labs/osmosis
-cd osmosis
-git checkout v21.0.1
-make install

Run local-osmosis-testnet

You also need to start local-osmosis-testnet in a separate terminal by downloading and running this script:

bash
wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/ibc/init-osmosis-local.sh

Run the script:

bash
bash init-osmosis-local.sh

This will start your local Osmosis testnet, we'll create IBC connection between this testnet and GM chain in the next step.

NOTE: Here, the key's name from init-osmosis-local.sh is mykey and osmosis-relay but you can modify this script to change the name of your key.

TIP

We're using the --rpc.addr [ip:port] flag to point to port 46657, which is the custom port to avoid conflicts with other running chains.

Funds

The following private key has funds on your Osmosis chain:

bash
Keyname: osmosis-relay
-Address: osmo1vvl79phavqruppr6f5zy4ypxy7znshrqm390ll
-Mnemonic: "milk verify alley price trust come maple will suit hood clay exotic"

The following private key has funds on your GM rollup chain:

bash
Keyname: gm-relay
-Address: gm1vvl79phavqruppr6f5zy4ypxy7znshrqam48qy
-Mnemonic: "milk verify alley price trust come maple will suit hood clay exotic"

Setup relayer, create IBC connection and start relaying packets

A relayer is like a middleman for blockchains in the IBC protocol. Instead of directly talking to each other, blockchains communicate through relayers. These relayers keep an eye on the paths that are open between different blockchains. When there's something new or changed, the relayer makes sure the message gets sent to the right place on the other blockchain.

Apart from just passing messages, a relayer can also set up new paths between blockchains. This involves creating clients, connections, and channels, which are like communication channels between the blockchains. So, in simpler terms, a relayer makes sure blockchains can talk to each other smoothly.

Install relayer

bash
cd $HOME
-git clone https://github.com/cosmos/relayer
-cd relayer
-git checkout v2.4.2
-make install

Verify your rly version with rly version:

bash
rly version

It should return:

bash
version: 2.4.2
-commit: 259b1278264180a2aefc2085f1b55753849c4815
-cosmos-sdk: v0.47.5
-go: go1.21.4 darwin/arm64

Setup relayer config

Firstly, generate an empty config file with this command:

bash
rly config init

Afterward, replace the content of the file at $HOME/.relayer/config/config.yaml with the following configuration using any text editor you prefer.

yaml
global:
-    api-listen-addr: :5183
-    timeout: 10s
-    memo: ""
-    light-cache-size: 20
-chains:
-    osmo-local:
-        type: cosmos
-        value:
-            key-directory: /root/.relayer/keys/osmosis-testnet-1
-            key: default
-            chain-id: osmosis-testnet-1
-            rpc-addr: http://localhost:46657 
-            account-prefix: osmo
-            keyring-backend: test
-            gas-adjustment: 1.5
-            gas-prices: 0.1uosmo
-            min-gas-amount: 100000
-            max-gas-amount: 1000000
-            debug: true
-            timeout: 20s
-            block-timeout: ""
-            output-format: json
-            sign-mode: direct
-            extra-codecs: []
-            coin-type: 118
-            signing-algorithm: ""
-            broadcast-mode: batch
-            min-loop-duration: 0s
-            extension-options: []
-            feegrants: null
-    gm-local:
-        type: cosmos
-        value:
-            key-directory: /root/.relayer/keys/test
-            key: default
-            chain-id: gm
-            rpc-addr: http://localhost:36657
-            account-prefix: gm
-            keyring-backend: test
-            gas-adjustment: 1.5
-            gas-prices: 0.1stake
-            min-gas-amount: 100000
-            max-gas-amount: 1000000
-            debug: true
-            timeout: 20s
-            block-timeout: ""
-            output-format: json
-            sign-mode: direct
-            extra-codecs: []
-            coin-type: 118
-            signing-algorithm: ""
-            broadcast-mode: batch
-            min-loop-duration: 0s
-            extension-options: []
-            feegrants: null
-paths: {}

Create relayer account

Add keys for each chain with this command

The mnemonic-words are the mnemonics you received when initializing the local node. Ensure that each wallet has tokens to start relaying.

bash
rly keys restore osmo-local default "milk verify alley price trust come maple will suit hood clay exotic"
-rly keys restore gm-local default "milk verify alley price trust come maple will suit hood clay exotic"

Create IBC channel

Create a new blank path to be used in generating a new path (connection and client) between two chains

bash
rly paths new osmosis-testnet-1 gm osmo-gm

and then you can create channel with this command

bash
rly transact link osmo-gm

This is a triple whammy; it creates a client, connection, and channel all in one command.

Alternatively, you may create them one by one using these commands:

bash
rly transact clients osmo-local gm-local osmo-gm
-rly transact connection osmo-gm
-rly transact channel osmo-gm --src-port transfer --dst-port transfer --order unordered --version ics20-1

At the end, it should return something like this :

bash
2024-02-15T09:22:04.062649Z info Connection handshake termination candidate {"path_name": "osmo-gm", "chain_id": "gm", "client_id": "07-tendermint-0", "termination_client_id": "07-tendermint-0", "observed_client_id": "07-tendermint-0", "termination_counterparty_client_id": "07-tendermint-0", "observed_counterparty_client_id": "07-tendermint-0"}
-2024-02-15T09:22:04.062667Z info Found termination condition for connection handshake {"path_name": "osmo-gm", "chain_id": "gm", "client_id": "07-tendermint-0"}
-2024-02-15T09:22:04.069040Z info Starting event processor for channel handshake {"src_chain_id": "osmosis-testnet-1", "src_port_id": "transfer", "dst_chain_id": "gm", "dst_port_id": "transfer"}
-2024-02-15T09:22:04.070364Z info Chain is in sync {"chain_name": "gm-local", "chain_id": "gm"}
-2024-02-15T09:22:04.070389Z info Chain is in sync {"chain_name": "osmo-local", "chain_id": "osmosis-testnet-1"}
-2024-02-15T09:22:10.310493Z info Successful transaction {"provider_type": "cosmos", "chain_id": "osmosis-testnet-1", "gas_used": 165662, "fees": "24023uosmo", "fee_payer": "osmo1vvl79phavqruppr6f5zy4ypxy7znshrqm390ll", "height": 12, "msg_types": ["/ibc.core.client.v1.MsgUpdateClient", "/ibc.core.channel.v1.MsgChannelOpenInit"], "tx_hash": "D7E7E6EC0299C120C0E32167C11F0B60921EF88CC6524345BCEB3B266EF727AA"}
-2024-02-15T09:22:15.293348Z info Successful transaction {"provider_type": "cosmos", "chain_id": "gm", "gas_used": 171590, "fees": "6510stake", "fee_payer": "gm1vvl79phavqruppr6f5zy4ypxy7znshrqam48qy", "height": 61, "msg_types": ["/ibc.core.client.v1.MsgUpdateClient", "/ibc.core.channel.v1.MsgChannelOpenTry"], "tx_hash": "DE5F15D2CEB85278FA916185A01FBA5DA604563462893288EC7A8745FB597B96"}
-2024-02-15T09:22:18.300397Z info Successful transaction {"provider_type": "cosmos", "chain_id": "osmosis-testnet-1", "gas_used": 126689, "fees": "18177uosmo", "fee_payer": "osmo1vvl79phavqruppr6f5zy4ypxy7znshrqm390ll", "height": 14, "msg_types": ["/ibc.core.client.v1.MsgUpdateClient", "/ibc.core.channel.v1.MsgChannelOpenAck"], "tx_hash": "CB1FA1D3309513FC6C8599606DEFE75164F4CAE2ABD101D78133B287862A5ACA"}
-2024-02-15T09:22:19.078583Z info Successfully created new channel {"chain_name": "osmo-local", "chain_id": "osmosis-testnet-1", "channel_id": "channel-0", "connection_id": "connection-0", "port_id": "transfer"}
-2024-02-15T09:22:23.296353Z info Successful transaction {"provider_type": "cosmos", "chain_id": "gm", "gas_used": 124972, "fees": "4762stake", "fee_payer": "gm1vvl79phavqruppr6f5zy4ypxy7znshrqam48qy", "height": 69, "msg_types": ["/ibc.core.client.v1.MsgUpdateClient", "/ibc.core.channel.v1.MsgChannelOpenConfirm"], "tx_hash": "B917289EC7566B57B2D0EC759F2E703DBD652F9044362E78C05C4F6DF8FD7AC7"}
-2024-02-15T09:22:24.080924Z info Successfully created new channel {"chain_name": "gm-local", "chain_id": "gm", "channel_id": "channel-0", "connection_id": "connection-0", "port_id": "transfer"}[!code focus]
-2024-02-15T09:22:24.080992Z info Channel handshake termination candidate {"path_name": "osmo-gm", "chain_id": "gm", "client_id": "07-tendermint-0", "termination_port_id": "transfer", "observed_port_id": "transfer", "termination_counterparty_port_id": "transfer", "observed_counterparty_port_id": "transfer"}
-2024-02-15T09:22:24.080998Z info Found termination condition for channel handshake {"path_name": "osmo-gm", "chain_id": "gm", "client_id": "07-tendermint-0"}

TIP

Notice your channel_id, you need to specify it when you make the IBC transfer transaction in next step!

Start relaying packets

After completing all these steps, you can start relaying with:

bash
rly start

IBC transfer of tokens between osmosis-testnet-1 and gm is now possible.

Transfer token from rollup chain to osmosis-local

Make an ibc-transfer transaction. This tx will transfer 1000000stake from gm-key to receiver address in your local-osmosis chain.

Set your keys and channel ID as variables:

bash
OSMO_KEY=osmo1vvl79phavqruppr6f5zy4ypxy7znshrqm390ll
-GM_KEY=gm1vvl79phavqruppr6f5zy4ypxy7znshrqam48qy
-CHANNEL_ID=channel-0
bash
gmd tx ibc-transfer transfer transfer $CHANNEL_ID $OSMO_KEY 42069stake --node tcp://localhost:36657 --chain-id gm --from gm-key --keyring-backend test --fees 5000stake

Then check the balance of the receiver address to see if the token has been relayed or not.

bash
osmosisd query bank balances $OSMO_KEY --node tcp://localhost:46657 --chain-id osmosis-testnet-1

The balances query command should return something like this:

bash
balances:
-- amount: "42069"
-  denom: ibc/C053D637CCA2A2BA030E2C5EE1B28A16F71CCB0E45E8BE52766DC1B241B77878
-- amount: "100000000999876914"
-  denom: uosmo
-- amount: "100000000000000"
-  denom: utest
-pagination:
-  next_key: null
-  total: "0"

TIP

ibc/64BA6E31FE887D66C6F8F31C7B1A80C7CA179239677B4088BB55F5EA07DBE273 is corresponding IBC denom in osmosis-testnet for native denom stake in GM chain. Your hash will be different than this and specific to your channel.

Transfer token back from osmosis-local to rollup chain

Set your channel hash from the last step:

bash
IBC_DENOM_STRING=ibc/64BA6E31FE887D66C6F8F31C7B1A80C7CA179239677B4088BB55F5EA07DBE273

Make an ibc-transfer transaction:

bash
osmosisd tx ibc-transfer transfer transfer $CHANNEL_ID $GM_KEY 42069$IBC_DENOM_STRING --node tcp://localhost:46657 --chain-id osmosis-testnet-1 --from osmosis-relay --fees 500uosmo

And then check the balances of the receiver address to see if the token has been relayed or not:

bash
gmd query bank balances $GM_KEY --node tcp://localhost:36657

The balances query command should return something like this, which is close to the original balance, minus some gas fees:

bash
gmd query bank balances $GM_KEY --node tcp://localhost:36657
-balances:
-- amount: "9999999999999999999897679"
-  denom: stake
-pagination:
-  total: "1"

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/tutorials/lazy-sequencing.html b/pr-333/tutorials/lazy-sequencing.html deleted file mode 100644 index 50acfb0db..000000000 --- a/pr-333/tutorials/lazy-sequencing.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - How to use lazy sequencing (aggregation) | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

How to use lazy sequencing (aggregation)

In this guide, we'll go over how to use lazy sequencing.

This feature was introduced in Rollkit v0.7.0 and allows rollup operators to wait for transactions to build blocks. This prevents the rollup from building empty blocks.

To turn on lazy sequencing, add the following flag to your start command:

bash
--rollkit.lazy_aggregator

An example command would look like this:

bash
# start the chain
-gmd start [existing flags...] 
-gmd start [existing flags...] --rollkit.lazy_aggregator 

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/tutorials/overview.html b/pr-333/tutorials/overview.html deleted file mode 100644 index 3e920b32f..000000000 --- a/pr-333/tutorials/overview.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - Tutorials | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Tutorials

Welcome to the Rollkit tutorials section! Here, you'll find a wide range of tutorials and guides designed to help you understand and effectively use Rollkit, the open modular framework for sovereign rollups.

Whether you're a beginner just starting out, an intermediate user looking to expand your knowledge, or an advanced user seeking to delve into more complex topics, we've got you covered. Our tutorials are categorized based on the level of expertise required, so you can easily find the resources that best suit your needs.

In this section, you'll find:

💻 Support

The tutorials will explore developing with Rollkit, which is still in Alpha stage. If you run into bugs, please write a Github issue or let us know in our Telegram. Furthermore, while Rollkit allows you to build sovereign rollups on Celestia, it currently does not support fraud proofs yet and is therefore running in "pessimistic" mode, where nodes would need to re-execute the transactions to check the validity of the chain (i.e. a full node). Furthermore, Rollkit currently only supports a single sequencer.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/tutorials/polaris-evm.html b/pr-333/tutorials/polaris-evm.html deleted file mode 100644 index 8a8ca4ffb..000000000 --- a/pr-333/tutorials/polaris-evm.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - Polaris EVM and Rollkit | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Polaris EVM and Rollkit

This tutorial provides step-by-step instructions for running the Polaris EVM using Rollkit. Polaris EVM is a version of the Ethereum Virtual Machine (EVM) that is designed to run the Berachain network. This version has been modified to use Celestia as a data availability layer. This integration uses a local-celestia-devnet. Rollkit is used to deploy a Polaris EVM rollup without needing to set up a data availability and consensus network.

TIP

Learn how to restart your rollup.

Prerequisites

Before you can run Polaris EVM using Rollkit, you need to have the following software installed on your machine:

  • Docker running on your machine
  • Go version >= 1.21.0

Run a local-celestia-devnet

Before you can start Polaris EVM, you need to start a local-celestia-devnet instance in a separate terminal:

bash
docker run -t -i --platform linux/amd64 -p 26650:26650 -p 26657:26657 -p 26658:26658 -p 26659:26659 -p 9090:9090 ghcr.io/rollkit/local-celestia-devnet:v0.12.6

Clone the repo

To get started, clone the Polaris repository and switch to the Rollkit branch:

bash
cd $HOME
-git clone https://github.com/berachain/polaris.git
-cd polaris && git checkout rollkit

Install Foundry

bash
curl -L https://foundry.paradigm.xyz | bash

Start the Polaris EVM using Rollkit

Then start the chain in your first terminal:

bash
cd $HOME/polaris && foundryup
-make start

Congratulations

You now have a Polaris EVM Rollkit rollup running! The rollup logs will begin to look similar to this:

bash
7:58PM INF submitting block to DA layer height=11 module=BlockManager 
-7:58PM INF successfully submitted Rollkit block to DA layer daHeight=30 module=BlockManager rollkitHeight=11 
-7:58PM INF prune start height=11 module=server
-7:58PM INF prune end height=11 module=server
-7:58PM INF indexed block events height=11 module=txindex
-7:58PM INF Creating and publishing block height=12 module=BlockManager 
-7:58PM INF preparing evm block module=polaris-geth seal_hash=0x314b131b1d4117445091b25240eaf420cdbdcf9f653eabd1d95aa0dab3cd1359
-7:58PM INF finalizing evm block block_hash=0x5207a1ff35540dafe70565d3a95ed07f6c9b1ed9114f93c6c47ee0a1c0d4cc2e module=polaris-geth num_txs=0
-7:58PM INF finalized block block_app_hash=AC959F089C21DC617275E0AB35E77DC3839C9597ECFDECDAD6C924EC49B1EB07 height=12 module=BlockManager num_txs_res=0 num_val_updates=0
-7:58PM INF executed block app_hash="���\b�!�aru��5�}���������$�I��\a" height=12 module=BlockManager

Funds

The following private key has funds on your Polaris chain:

bash
Address: 0x20f33CE90A13a4b5E7697E3544c3083B8F8A51D4
-PrivateKey: 0xfffdbb37105441e14b0ee6330d855d8504ff39e705c3afa8f859ac9865f99306

Just deploy a smart contract to get started! If you'd like to learn how to deploy your own GM Portal (as an ooga booga portal) you can follow the remainder of this tutorial.

Frontend

Now we will make a frontend with a smart contract on our Polaris EVM rollup. First, clone the GM Portal repository and check out to the Polaris branch (ooga booga portal):

bash
cd $HOME
-git clone https://github.com/jcstein/gm-portal.git
-cd gm-portal && git checkout polaris

Deploy the ooga booga portal contract

Next, you will deploy the smart contract. Export the funded private key and RPC URL:

bash
export PRIVATE_KEY=0xfffdbb37105441e14b0ee6330d855d8504ff39e705c3afa8f859ac9865f99306
-export RPC_URL=http://localhost:8545

Use Foundry to deploy the contract to your EVM:

bash
cd contracts
-forge script script/GmPortal.s.sol:GmPortalScript --rpc-url $RPC_URL --private-key $PRIVATE_KEY --broadcast

A successful deployment's output will look similar to:

bash
forge script script/GmPortal.s.sol:GmPortalScript --rpc-url $RPC_URL --private-key $PRIVATE_KEY --broadcast
-[] Compiling...
-[] Compiling 18 files with 0.8.20
-[] Solc 0.8.20 finished in 1.52s
-Compiler run successful!
-Script ran successfully.
-
-== Logs ==
-  i am a smart contract on Polaris EVM x Rollkit. gm!
-
-[...]
-
-##
-Waiting for receipts.
- [00:00:00] [######################] 1/1 receipts (0.0s)
-##### 2061
-  [Success]Hash: 0xa174e9389633972458e6dce431d84736e0709e9406c1c3b14b5fa9ae0cdd6860
-Contract Address: 0x18Df82C7E422A42D47345Ed86B0E935E9718eBda 
-Block: 682
-Paid: 0.001528707003566983 ETH (509569 gas * 3.000000007 gwei)
-
-[...]

From the contract deployment output, export your contract address:

bash
export CONTRACT_ADDRESS=0x18Df82C7E422A42D47345Ed86B0E935E9718eBda

Interact with the contract

Send an "ooga booga" to the contract:

bash
cast send $CONTRACT_ADDRESS \
-"gm(string)" "ooga booga" \
---private-key $PRIVATE_KEY \
---rpc-url $RPC_URL

Get total (hex-encoded) GMs (ooga boogas):

bash
cast call $CONTRACT_ADDRESS "getTotalGms()" --rpc-url $RPC_URL

Start and update the frontend

Now, change into the frontend directory:

bash
cd $HOME/gm-portal/frontend
-yarn && yarn dev

polaris-evm

Now, your frontend is running! We'll display and interact with our smart contract on our frontend.

First, you will need to change the contract address on gm-portal/frontend/src/App.tsx to your contract address from above before you can interact with the contract on the frontend:

TIP

Only if you changed the contract, you will need to update the ABI in gm-portal/frontend/GmPortal.json from gm-portal/contracts/out/GmPortal.sol/GmPortal.json. This can be done with:

bash
cd $HOME
-cp gm-portal/contracts/out/GmPortal.sol/GmPortal.json gm-portal/frontend

Interact with the frontend

In order to interact with the contract on the frontend, you'll need to fund an account that you have in your Ethereum wallet or add the private key from above into your wallet.

To transfer to an external account, use this command:

bash
export RECEIVER=<receiver ETH address>
-cast send --private-key $PRIVATE_KEY $RECEIVER --value 1ether --rpc-url $RPC_URL

If you are in a different terminal than the one you set the private key in originally, you may need to set it again.

Now, login with your wallet that you funded, and post a ooga booga on your ooga booga portal!

polaris-evm

Running Polaris EVM with a Celestia light node

In this portion of the tutorial, we will go over running Polaris x Rollkit using a Celestia light node to post data to Mocha testnet. These steps can be used for Mainnet Beta and Arabica devnet, too, you'll just need to change the network in the --p2p.network string flag and your RPC.

TIP

Before using RPC methods through the CLI, you'll need to set your auth token.

In order to successfully post and retrieve data to and from Celestia's Mocha testnet, your light node will need to be fully synced. You can check the status by using the das.SamplingStats method using the CLI.

Your node will also need to be funded with testnet TIA, which you can obtain by retrieving your account address and visiting a faucet.

Start your light node

  1. Fully sync and fund a light node on Celestia's Mocha testnet (mocha-4). Follow instructions to install and start your Celestia data availability layer light node selecting the Mocha network. You can find instructions to install and run the node. After the node is synced, stop the light node.

  2. Use celestia-da to connect to Rollkit. Your node does not need to be running when you start celestia-da. To start celestia-da and your light node, run this command:

TIP

You can either use the default 000000506f6c61726973 namespace below, or set your own by using a command similar to this to generate one (or, you could get creative 😎):

bash
openssl rand -hex 10

Learn more about namespaces .

bash
docker run -d \
--e NODE_TYPE=light \
--e P2P_NETWORK=mocha \
--p 26650:26650 \
--p 26658:26658 \
--p 26659:26659 \
--v $HOME/.celestia-light-mocha-4/:/home/celestia/.celestia-light-mocha-4/ \
-ghcr.io/rollkit/celestia-da:v0.12.10 \
-celestia-da light start \
---p2p.network=mocha \
---da.grpc.namespace=000000506f6c61726973 \
---da.grpc.listen=0.0.0.0:26650 \
---core.ip rpc-mocha.pops.one \
---gateway

Setup Polaris script

First, ensure you're on the correct branch of Polaris:

bash
cd $HOME/polaris && git checkout rollkit

Before starting your rollup, you'll want to make a change in $HOME/polaris/e2e/testapp/entrypoint.sh to point to the right DA start height:

bash
# set the data availability layer's block height from local-celestia-devnet
-DA_BLOCK_HEIGHT=$(docker exec $(docker ps -q) celestia header local-head --token $AUTH_TOKEN | jq '.result.header.height' -r) 
-DA_BLOCK_HEIGHT=$(curl https://rpc-mocha.pops.one/block |jq -r '.result.block.header.height') 

Start the EVM rollup

Change into the Polaris directory in your terminal:

bash
cd $HOME/polaris
-make start

Congratulations! Your light node is now posting your rollup's data to Celestia's Mocha testnet.

Find an explorer to view the default namespace in the tutorial or search for your own namespace on Celenium.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/tutorials/recipe-book.html b/pr-333/tutorials/recipe-book.html deleted file mode 100644 index cb129d48c..000000000 --- a/pr-333/tutorials/recipe-book.html +++ /dev/null @@ -1,266 +0,0 @@ - - - - - - 🥗 Recipe Book rollup | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

🥗 Recipe Book rollup

📖 Overview

In this tutorial, we are going to build a blockchain for your favorite recipes. The goal of this tutorial is to create a Rollkit rollup with a module that allows you to write and read data to and from your application-specific blockchain. The end user will be able to submit new recipes and read them from the blockchain.

In the GM world tutorial, we defined a new API endpoint and modified a keeper query function to return static data. In this tutorial, we will be modifying the state with transactions (Cosmos SDK messages) that are routed to a module and its message handlers, which are sent to the recipes blockchain.

TIP

This tutorial will explore developing with Rollkit, which is still in Alpha stage. If you run into bugs, please write a Github Issue ticket or let us know in our Telegram.

Learn how to restart your rollup.

WARNING

The script for this tutorial is built for Celestia's Arabica devnet.

💻 Prerequisites

🏗 Scaffolding your rollup

🔥 Use Ignite CLI to scaffold a recipes rollup

Run the following command to scaffold your recipes chain using Ignite CLI:

bash
ignite scaffold chain recipes --address-prefix recipes

Your new recipes chain has been scaffolded and --address-prefix recipes allows the address prefix to be recipes instead of cosmos.

Change into the recipes directory:

bash
cd recipes

💎 Installing Rollkit

To swap out CometBFT for Rollkit, run the following commands:

bash
go mod edit -replace github.com/cosmos/cosmos-sdk=github.com/rollkit/cosmos-sdk@v0.50.1-rollkit-v0.11.19-no-fraud-proofs
-go mod tidy
-go get github.com/bufbuild/buf@latest
-go mod download

💬 Message types

✨ Create message types

Create a message type and its handler with the message command:

bash
ignite scaffold message createRecipe dish ingredients

Response:

bash
modify proto/recipes/recipes/tx.proto
-modify x/recipes/client/cli/tx.go
-create x/recipes/client/cli/tx_create_recipe.go
-create x/recipes/keeper/msg_server_create_recipe.go
-modify x/recipes/module_simulation.go
-create x/recipes/simulation/create_recipe.go
-modify x/recipes/types/codec.go
-create x/recipes/types/message_create_recipe.go
-create x/recipes/types/message_create_recipe_test.go
-
-🎉 Created a message `createRecipe`.

Head to your recipes/proto/recipes/recipes/tx.proto file and you will see the MsgCreateRecipe has been created. Add uint64 id = 1; to the MsgCreateRecipeResponse function:

proto
message MsgCreateRecipeResponse {
-  uint64 id = 1; 
-}

🤿 Diving deeper into the message code

Looking further into the message, we can see that MsgCreateRecipe has 3 fields: creator, dish, and ingredients.

proto
message MsgCreateRecipe {
-  string creator = 1;
-  string dish = 2;
-  string ingredients = 3;
-}

We can also see that the CreateRecipe RPC has already been added to the Msg service:

proto
service Msg {
-  rpc CreateRecipe(MsgCreateRecipe) returns (MsgCreateRecipeResponse);
-}

📕 Define messages logic

Navigate to recipes/x/recipes/keeper/msg_server_create_recipe.go. For our recipes chain, we want the dish and ingredients to be written to the blockchain’s state as a new recipe. Add the following code to the CreateRecipe function underneath the imports:

go
func (k msgServer) CreateRecipe(goCtx context.Context, msg *types.MsgCreateRecipe) (*types.MsgCreateRecipeResponse, error) {
-  // Get the context
-  ctx := sdk.UnwrapSDKContext(goCtx)
-
-  // Create variable of type Recipe
-  var recipe = types.Recipe{
-     Creator: msg.Creator,
-     Dish: msg.Dish,
-     Ingredients: msg.Ingredients,
-  }
-
-  // Add a recipe to the store and get back the ID
-  id := k.AppendRecipe(ctx, recipe)
-
-  // Return the ID of the recipe
-  return &types.MsgCreateRecipeResponse{Id: id}, nil
-}

You will see errors in your text editor, which we will resolve in the next step.

🔁 Keepers

📗 Define Recipe type and AppendRecipe keeper method

Create a file recipes/proto/recipes/recipes/recipe.proto and define the Recipe message:

go
syntax = "proto3";
-
-package recipes.recipes;
-
-option go_package = "recipes/x/recipes/types";
-
-message Recipe {
-  string creator = 1;
-  uint64 id = 2;
-  string dish = 3; 
-  string ingredients = 4; 
-}

📘 Define keeper methods

Now you’ll define your AppendRecipe keeper method.

Create the recipes/x/recipes/keeper/recipe.go file. The AppendRecipe function is a placeholder to brainstorm how to implement it:

go
package keeper
-
-import (
-  "encoding/binary"
-
-  "github.com/cosmos/cosmos-sdk/store/prefix"
-  sdk "github.com/cosmos/cosmos-sdk/types"
-
-  "recipes/x/recipes/types"
-)
-
-// func (k Keeper) AppendRecipe() uint64 {
-//    count := k.GetRecipeCount()
-//    store.Set()
-//    k.SetRecipeCount()
-//    return count
-// }

Add these prefixes to the recipes/x/recipes/types/keys.go file in the const and add a comment for your reference:

go
const (
-  //...
-
-  // Keep track of the index of recipes  
-  RecipeKey      = "Recipe-value-"
-  RecipeCountKey = "Recipe-count-"
-)

Next, implement GetRecipeCount in the recipes/x/recipes/keeper/recipe.go file:

go
func (k Keeper) GetRecipeCount(ctx sdk.Context) uint64 {
-  // Get the store using storeKey (which is "recipes") and RecipeCountKey (which is "Recipe-count-")
-  store := prefix.NewStore(ctx.KVStore(k.storeKey), []byte(types.RecipeCountKey))
-  
-  // Convert the RecipeCountKey to bytes
-  byteKey := []byte(types.RecipeCountKey)
-  
-  // Get the value of the count
-  bz := store.Get(byteKey)
-  
-  // Return zero if the count value is not found (for example, it's the first recipe)
-  if bz == nil {
-    return 0
-  }
-  
-  // Convert the count into a uint64
-  return binary.BigEndian.Uint64(bz)
-}

And then SetRecipeCount:

go
func (k Keeper) SetRecipeCount(ctx sdk.Context, count uint64) {
-  // Get the store using storeKey (which is "recipes") and RecipeCountKey (which is "Recipe-count-")
-  store := prefix.NewStore(ctx.KVStore(k.storeKey), []byte(types.RecipeCountKey))
-  
-  // Convert the RecipeCountKey to bytes
-  byteKey := []byte(types.RecipeCountKey)
-  
-  // Convert count from uint64 to string and get bytes
-  bz := make([]byte, 8)
-  binary.BigEndian.PutUint64(bz, count)
-  
-  // Set the value of Recipe-count- to count
-  store.Set(byteKey, bz)
-}

Now you’re ready to implement the AppendRecipe function at the top of the file above GetRecipeCount and SetRecipeCount:

go
func (k Keeper) AppendRecipe (ctx sdk.Context, recipe types.Recipe) uint64 {
-  // Get the current number of recipes in the store
-  count := k.GetRecipeCount(ctx)
-  
-  // Assign an ID to the recipe based on the number of recipes in the store
-  recipe.Id = count
-  
-  // Get the store
-  store := prefix.NewStore(ctx.KVStore(k.storeKey), []byte(types.RecipeKey))
-  
-  // Convert the recipe ID into bytes
-  byteKey := make([]byte, 8)
-  binary.BigEndian.PutUint64(byteKey, recipe.Id)
-  
-  // Marshal the recipe into bytes
-  appendedValue := k.cdc.MustMarshal(&recipe)
-  
-  // Insert the recipe bytes using recipe ID as a key
-  store.Set(byteKey, appendedValue)
-  
-  // Update the recipe count
-  k.SetRecipeCount(ctx, count+1)
-  return count
-}

Now you have implemented all the code required to create new recipes and store them on-chain. When a transaction that contains a message type MsgCreateRecipe is broadcast, the message is routed to the recipes module.

  • k.CreateRecipe calls AppendRecipe, which gets the recipe count, adds a recipe using the count as the ID, increments the count, and returns the ID

🍽️ Querying recipes

🖥 Query recipes

In order to query your recipes, scaffold a query with Ignite:

bash
ignite scaffold query dishes --response dish,ingredients

A response on a successful scaffold will look like this:

bash
modify proto/recipes/recipes/query.proto
-modify x/recipes/client/cli/query.go
-create x/recipes/client/cli/query_dishes.go
-create x/recipes/keeper/query_dishes.go
-
-🎉 Created a query `dishes`.

In the proto/recipes/recipes/query.proto file import:

proto
import "recipes/recipes/recipe.proto";

Add pagination to the recipe request:

proto
message QueryDishesRequest {
-  // Adding pagination to request
-  cosmos.base.query.v1beta1.PageRequest pagination = 1;
-}

Add pagination to the recipe response:

proto
message QueryDishesResponse {
-  // Returning a list of recipes
-  repeated Recipe Recipe = 1;
-
-  // Adding pagination to response
-  cosmos.base.query.v1beta1.PageResponse pagination = 2;
-}

In order to implement recipe querying logic in recipes/x/recipes/keeper/query_dishes.go, delete the file contents and replace them with:

go
package keeper
-
-import (
-  "context"
-  "github.com/cosmos/cosmos-sdk/store/prefix"
-  sdk "github.com/cosmos/cosmos-sdk/types"
-  "github.com/cosmos/cosmos-sdk/types/query"
-  "google.golang.org/grpc/codes"
-  "google.golang.org/grpc/status"
-
-  "recipes/x/recipes/types"
-)
-
-func (k Keeper) Dishes(c context.Context, req *types.QueryDishesRequest) (*types.QueryDishesResponse, error) {
-  // Throw an error if request is nil
-  if req == nil {
-    return nil, status.Error(codes.InvalidArgument, "invalid request")
-  }
-
-  // Define a variable that will store a list of recipes
-  var dishes []*types.Recipe
-
-  // Get context with the information about the environment
-  ctx := sdk.UnwrapSDKContext(c)
-
-  // Get the key-value module store using the store key (in our case store key is "chain")
-  store := ctx.KVStore(k.storeKey)
-
-  // Get the part of the store that keeps recipes (using recipe key, which is "Recipe-value-")
-  recipeStore := prefix.NewStore(store, []byte(types.RecipeKey))
-
-  // Paginate the recipes store based on PageRequest
-  pageRes, err := query.Paginate(recipeStore, req.Pagination, func(key []byte, value []byte) error {
-    var dish types.Recipe
-    if err := k.cdc.Unmarshal(value, &dish); err != nil {
-      return err
-    }
-
-    dishes = append(dishes, &dish)
-
-    return nil
-  })
-
-  // Throw an error if pagination failed
-  if err != nil {
-    return nil, status.Error(codes.Internal, err.Error())
-  }
-
-  // Return a struct containing a list of recipes and pagination info
-  return &types.QueryDishesResponse{Recipe: dishes, Pagination: pageRes}, nil
-}

👩‍🍳 Running the recipes rollup

✨ Run a Celestia light node

Follow instructions to install and start your Celestia Data Availability layer Light Node selecting the Arabica Devnet. You can find instructions to install and run the node here.

After you have Go and Ignite CLI installed, and your Celestia Light Node running on your machine, you're ready to build, test, and launch your own sovereign rollup.

Be sure you have initialized your node before trying to start it. Your start command should look similar to:

bash
celestia light start --p2p.network arabica

After you have synced your node and funded it from the faucet, you will need to stop it with "Control + C".

Then, restart it with celestia-da using the following command:

bash
docker run -d \
--e NODE_TYPE=light \
--e P2P_NETWORK=arabica \
--p 26650:26650 \
--p 26658:26658 \
--p 26659:26659 \
--v $HOME/.celestia-light-arabica-11/:/home/celestia/.celestia-light-arabica-11/ \
-ghcr.io/rollkit/celestia-da:v0.12.10 \
-celestia-da light start \
---p2p.network=arabica \
---da.grpc.namespace=00000072656369706573 \
---da.grpc.listen=0.0.0.0:26650 \
---core.ip validator-1.celestia-arabica-11.com \
---gateway

TIP

You can either use the default 00000072656369706573, "recipes" in plaintext, namespace above, or set your own by using a command similar to this (or, you could get creative 😎):

bash
openssl rand -hex 10

Learn more about namespaces

🗞️ Start the recipes rollup

We have a handy init.sh found in this repo here.

We can copy it over to our directory with the following commands:

bash
# From inside the `recipes` directory
-wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/recipes/init.sh

This copies over our init.sh script to initialize our Recipes Rollup.

You can view the contents of the script to see how we initialize the Recipes Rollup.

🟢 From your project working directory (recipes/), start the chain with:

bash
bash init.sh

With that, we have kickstarted our recipesd network!

recipe-start.gif

Find your account address on an Arabica explorer to see your PayForBlobs transactions.

Open another teminal instance. Now, create your first recipe in the command line by sending a transaction from recipes-key, when prompted, confirm the transaction by entering y:

bash
recipesd tx recipes create-recipe salad "spinach, mandarin oranges, sliced almonds, smoked gouda, citrus vinaigrette" --from recipes-key --keyring-backend test

recipes.gif

⌨️ Query your recipes with the CLI

To query all of the on-chain recipes:

bash
recipesd q recipes dishes

query.gif

🎉 Congratulations, again! You have now successfully built a recipe book rollup.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/tutorials/restart-rollup.html b/pr-333/tutorials/restart-rollup.html deleted file mode 100644 index 968a0d1ae..000000000 --- a/pr-333/tutorials/restart-rollup.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - 🔄 How to restart your rollup | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

🔄 How to restart your rollup

This guide will teach you how to restart your Rollkit rollup.

Restart rollup

This section covers the case where you need to restart your rollup.

In order to restart your rollup, you will need to run the <your-binary>d start [...args] command for your rollup. This is the example for the GM world tutorial.

For the GM world tutorial, you can restart the chain by running the restart-local.sh script that was generated by init-local.sh.

Use the DA_START_HEIGHT, NAMESPACE, and AUTH_TOKEN variables from your original start command.

Using the gmd rollup as an example, you can add something similar to your respective start script to make it easier to save variables for later use:

bash
# the rest of your init script
-
-# create a restart-local.sh file to restart the chain later
-rm restart-local.sh
-echo "DA_BLOCK_HEIGHT=$DA_BLOCK_HEIGHT" >> restart-local.sh
-echo "NAMESPACE=$NAMESPACE" >> restart-local.sh
-echo "AUTH_TOKEN=$AUTH_TOKEN" >> restart-local.sh
-echo "gmd start --rollkit.aggregator --rollkit.da_address=\":26650\" --rollkit.da_start_height \$DA_BLOCK_HEIGHT --rpc.laddr tcp://127.0.0.1:36657 --grpc.address 127.0.0.1:9290 --p2p.laddr \"0.0.0.0:36656\"" >> restart-local.sh

Restart rollup after running out of funds

This section covers the case that the node that you are using to post blocks to your DA and consensus layer runs out of funds (tokens), and you need to restart your rollup.

In this example, we're using Celestia's Mocha testnet and running a GM world rollup. In this example, our Celestia DA light node ran out of Mocha testnet TIA and we are unable to post new blocks to Celestia due to a Code: 19 error. This error is defined by Cosmos SDK as:

go
// ErrTxInMempoolCache defines an ABCI typed error where a tx already exists in the mempool.
-ErrTxInMempoolCache = Register(RootCodespace, 19, "tx already in mempool")

In order to get around this error, and the same error on other Rollkit rollups, you will need to re-fund your Celestia account and increase the gas fee. This will override the transaction that is stuck in the mempool.

If you top up the balance of your node and don't increase the gas fee, you will still encounter the Code: 19 error because there is a transaction (posting block to DA) that is duplicate to one that already exists. In order to get around this, you'll need to increase the gas fee and restart the chain.

🟠 Errors in this example

This is what the errors will look like if your DA node runs out of funding or you restart the chain without changing the gas fee:

bash
4:51PM INF submitting block to DA layer height=28126 module=BlockManager
-4:51PM ERR DA layer submission failed error="Codespace: 'sdk', Code: 19, Message: " attempt=1 module=BlockManager
-4:51PM ERR DA layer submission failed Error="Codespace: 'sdk', Code: 19, Message: " attempt=2 module=BlockManager
-4:51PM ERR DA layer submission failed error="Codespace: 'sdk', Code: 19, Message: " attempt=3 module=BlockManager

💰 Re-fund your account

First, you'll need to send more tokens to the account running your Celestia node. If you didn't keep track of your key, you can run the following to get your address:

bash
cd $HOME && cd celestia-node
-./cel-key list --keyring-backend test --node.type light --p2p.network <network>

🛑 Stopping your rollup

You can stop your gm chain (or other Rollkit rollup) by using Control + C in your terminal where the node is running.

⛽ Increase the gas fee

To reiterate, before restarting the chain, you will need to increase the gas fee in order to avoid a Code: 19 error:

bash
gmd start --rollkit.aggregator --rollkit.da_address=":26650" --rollkit.da_start_height $DA_BLOCK_HEIGHT --rpc.laddr tcp://127.0.0.1:36657 --grpc.address 127.0.0.1:9290 --p2p.laddr "0.0.0.0:36656"

🔁 Restarting your rollup

Follow the restart rollup section above.

🛢️ Reduce gas fee & restart again

In order to save your TIA, we also recommend stopping the chain with Control + C, changing the gas fee back to the default (in our case, 8000 utia) and restarting the chain:

bash
gmd start --rollkit.aggregator --rollkit.da_address=":26650" --rollkit.da_start_height $DA_BLOCK_HEIGHT --rpc.laddr tcp://127.0.0.1:36657 --grpc.address 127.0.0.1:9290 --p2p.laddr "0.0.0.0:36656"

🎊 Congrats! You've successfully restarted your Rollkit rollup after running out of TIA.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/tutorials/rollup-docker.html b/pr-333/tutorials/rollup-docker.html deleted file mode 100644 index 626d2f383..000000000 --- a/pr-333/tutorials/rollup-docker.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - Starter Rollup with Docker | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Starter Rollup with Docker

This tutorial will guide you through starting a Rollkit rollup with Docker.

Prerequisites

  • Docker installed on your machine

Clone the repository

First, clone the rollup-docker repository and change into the directory:

bash
git clone https://github.com/rollkit/rollup-docker.git && cd rollup-docker

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/tutorials/starter-rollup.html b/pr-333/tutorials/starter-rollup.html deleted file mode 100644 index 8931cf6af..000000000 --- a/pr-333/tutorials/starter-rollup.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - Starter Rollup | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

Starter Rollup

In this tutorial, you will learn how to build a Rollkit rollup that uses a local Celestia devnet for consensus and data availability. This is the first-stop for developers building on Rollkit.

This is built for MacOS and has been tested on an M1 and M2 Mac.

Prerequisites

  • Docker running on your machine

Clone the repo

First, clone the starter repository and change into the $HOME/gm-starter repository:

bash
git clone https://github.com/rollkit/gm-starter.git && cd gm-starter

Run a local-celestia-devnet

In a second terminal instance, start the local-celestia-devnet:

bash
docker run -i -t --platform linux/amd64 -p 26657:26657 -p 26658:26658 -p 26659:26659 ghcr.io/rollkit/local-celestia-devnet:v0.11.0

When passing the --rollkit.da_config flag later in the tutorial, it will require `auth_token`` to be passed in. The auth token with write permission is required to submit blobs and can be obtained from the logs on local-celestia-devnet before the bridge node starts.

bash
WARNING: Keep this auth token secret **DO NOT** log this auth token outside of development. CELESTIA_NODE_AUTH_TOKEN=
-
-WARNING: Celestia custom network specified. Only use this option if the node is freshly created and initialized.
-**DO NOT** run a custom network over an already-existing node store!
-
-eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBbGxvdyI6WyJwdWJsaWMiLCJyZWFkIiwid3JpdGUiLCJhZG1pbiJdfQ.a_-CStbScoe_ot8Z1K9YaccvhngeieiSBdgO4uObuvI 

The auth token is the last string, which you can now set as a variable. (It's long, so don't forget to copy the whole thing!):

bash
export AUTH_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBbGxvdyI6WyJwdWJsaWMiLCJyZWFkIiwid3JpdGUiLCJhZG1pbiJdfQ.a_-CStbScoe_ot8Z1K9YaccvhngeieiSBdgO4uObuvI

Start the Starter Rollup

bash
bash init-local.sh

The rollup logs will begin to look similar to this:

bash
3:35PM INF submitting block to DA layer height=1 module=BlockManager
-3:35PM INF successfully submitted Rollkit block to DA layer daHeight=148 module=BlockManager rollkitHeight=1
-3:35PM INF commit synced commit=436F6D6D697449447B5B3230302031373020313933203836203730203334203139302031353220383220313432203133342034382032333520343920363220313720323131203133312032343720313133203634203933203134372032332031353920323435203931203133342031342031333520323138203138355D3A317D
-3:35PM INF indexed block height=1 module=txindex

Next steps

In the next tutorial, you'll learn how to build the GM world rollup using Ignite CLI.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/tutorials/wordle.html b/pr-333/tutorials/wordle.html deleted file mode 100644 index 4644f8608..000000000 --- a/pr-333/tutorials/wordle.html +++ /dev/null @@ -1,285 +0,0 @@ - - - - - - 🕹️ Wordle app | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Skip to content
On this page

🕹️ Wordle app

wordle-app

This tutorial guide will go over building a cosmos-sdk app for Rollkit, the Sovereign-Rollup implementation of CometBFT, for the popular game Wordle.

This tutorial will go over how to setup Rollkit in the Ignite CLI and use it to build the game. The tutorial will go over the simple design, as well as conclude with future implementations and ideas to extend this codebase.

TIP

This tutorial will explore developing with Rollkit, which is still in Alpha stage. If you run into bugs, please write a Github Issue ticket or let us know in our Telegram.

Learn how to restart your rollup.

WARNING

The script for this tutorial is built for Celestia's Arabica devnet.

💻 Pre-requisites

Given this tutorial is targeted for developers who are experienced in Cosmos-SDK, we recommend you go over the following tutorials in Ignite to understand all the different components in Cosmos-SDK before proceeding with this tutorial.

You do not have to do those guides in order to follow this Wordle tutorial, but doing so helps you understand the architecture of Cosmos-SDK better.

📖 Design implementation

The rules of Wordle are simple: You have to guess the word of the day.

Key Points to Consider:

  • The word is a five-letter word.
  • You have 6 guesses.
  • Every 24 hours, there’s a new word.

The GUI for Wordle shows you a few indicators: a green highlight on a letter in a certain position means that’s the correct letter for the Wordle in the right position. A yellow highlight means it’s a correct letter for the Wordle included in the wrong position. A grey highlight means the letter isn’t part of the Wordle.

For simplicity of the design, we will avoid those hints, although there are ways to extend this codebase to implement that, which we will show at the end.

In this current design, we implement the following rules:

  • 1 Wordle can be submitted per day
  • Every address will have 6 tries to guess the word
  • It must be a five-letter word.
  • Whoever guesses the word correctly before their 6 tries are over gets an award of 100 WORDLE tokens.

We will go over the architecture to achieve this further in the guide. But for now, we will get started setting up our development environment.

⛓️ Ignite and scaffolding the wordle chain

🔥 Ignite

Ignite is an amazing CLI tool to help us get started building our own blockchains for cosmos-sdk apps. It provides lots of power toolings and scaffoldings for adding messages, types, and modules with a host of cosmos-sdk libraries provided.

You can read more about Ignite here.

To install Ignite, you can run this command in your terminal:

bash
curl https://get.ignite.com/cli@v28.1.0! | bash
-sudo mv ignite /usr/local/bin/

This installs Ignite CLI in your local machine. This tutorial uses a MacOS but it should work for Windows. For Windows users, check out the Ignite docs on installation for Windows machines.

Now, refresh your terminal using source or open a new terminal session for the change to take place.

If you run the following:

bash
ignite --help

You should see an output of help commands meaning Ignite was installed successfully!

⛓️ Scaffolding the wordle chain

Now, comes the fun part, creating a new blockchain! With Ignite, the process is pretty easy and straightforward.

Ignite CLI comes with several scaffolding commands that are designed to make development more straightforward by creating everything you need to build your blockchain.

First, we will use Ignite CLI to build the foundation of a fresh Cosmos SDK blockchain. Ignite minimizes how much blockchain code you must write yourself. If you are coming from the EVM-world, think of Ignite as a Cosmos-SDK version of Foundry or Hardhat but specifically designed to build blockchains.

We first run the following command to setup our project for our new blockchain, Wordle.

bash
ignite scaffold chain wordle --no-module

This command scaffolds a new chain directory called wordle in your local directory from which you ran the command. Notice that we passed the --no-module flag, this is because we will be creating the module after.

🗂️ Wordle directory

Now, it’s time to enter the directory:

bash
cd wordle

Inside you will see several directories and architecture for your cosmos-sdk blockchain.

File/directoryPurpose
app/Files that wire together the blockchain. The most important file is app.go that contains type definition of the blockchain and functions to create and initialize it.
cmd/The main package responsible for the CLI of compiled binary.
docs/Directory for project documentation. By default, an OpenAPI spec is generated.
proto/Protocol buffer files describing the data structure.
testutil/Helper functions for testing.
vue/A Vue 3 web app template.
x/Cosmos SDK modules and custom modules.
config.ymlA configuration file for customizing a chain in development.
readme.mdA readme file for your sovereign application-specific blockchain project.

Going over each one is outside the scope of this guide, but we encourage you to read about it here.

Most of the tutorial work will happen inside the x directory.

🛠️ Setting up Rollkit

Before we continue with building our Wordle App, we need to set up Rollkit on our codebase.

🗞️ Installing Rollkit

Run the following command inside the wordle directory.

bash
go mod edit -replace github.com/cosmos/cosmos-sdk=github.com/rollkit/cosmos-sdk@v0.50.1-rollkit-v0.11.19-no-fraud-proofs
-go mod tidy
-go get github.com/bufbuild/buf@latest
-go mod download

With that, we have Rollkit changes added to the project directory. Now, let's build the Wordle app!

✨ Creating the wordle module

For the Wordle module, we can add dependencies offered by Cosmos-SDK.

From the Cosmos-SDK docs, a module is defined as the following:

In a Cosmos SDK blockchain, application-specific logic is implemented in separate modules. Modules keep code easy to understand and reuse. Each module contains its own message and transaction processor, while the Cosmos SDK is responsible for routing each message to its respective module.

Many modules exist for slashing, validating, auth.

🔖 Scaffolding a module

We will be using the bank module dependency for transactions.

From the Cosmos-SDK docs, the bank module is defined as the following:

The bank module is responsible for handling multi-asset coin transfers between accounts and tracking special-case pseudo-transfers which must work differently with particular kinds of accounts (notably delegating/undelegating for vesting accounts). It exposes several interfaces with varying capabilities for secure interaction with other modules which must alter user balances.

We build the module with the bank dependency with the following command:

bash
ignite scaffold module wordle --dep bank

This will scaffold the Wordle module to our Wordle Chain project.

✉️ Messages

Messages allow us to process and submit information to our specific module.

From the Cosmos-SDK docs, messages are:

In the Cosmos SDK, messages are objects that are contained in transactions to trigger state transitions. Each Cosmos SDK module defines a list of messages and how to handle them.

For messages for Wordle, given our initial design, we will make 2 messages with ignite.

  • The first one is: SubmitWordle and it only passes the Wordle of the Day.
  • The second one is: SubmitGuess and it attempts to guess the submitted wordle. It also passes a word as a guess.

With these initial designs, we can start creating our messages!

💬 Scaffolding a message

To create the SubmitWordle message, we run the following command:

bash
ignite scaffold message submit-wordle word

This creates the submit-wordle message that takes in word as a parameter.

We now create the final message, SubmitGuess:

bash
ignite scaffold message submit-guess word

Here, we are passing a word as a guess with submit-guess.

🎨 Wordle types

For the next steps, we will be creating types to be used by the messages we created.

🏗️ Scaffolding wordle types

bash
ignite scaffold map wordle word submitter --no-message

This type is a map called Wordle with two values of word and submitter. submitter is the address of the person that submitted the Wordle.

The second type is the Guess type. It allows us to store the latest guess for each address that submitted a solution.

bash
ignite scaffold map guess word submitter count --no-message

Here, we are also storing count to count how many guesses this address submitted.

🔐 Keeper functions

Now it’s time to implement the Keeper functions for each message. From the Cosmos-SDK docs, Keeper is defined as the following:

The main core of a Cosmos SDK module is a piece called the keeper. The keeper handles interactions with the store, has references to other keepers for cross-module interactions, and contains most of the core functionality of a module.

Keeper is an abstraction on Cosmos that allows us to interact with the Key-Value store and change the state of the blockchain.

Here, it will help us outline the logic for each message we create.

📤 SubmitWordle function

We first start with the SubmitWordle function.

Open up the following file: x/wordle/keeper/msg_server_submit_wordle.go

Inside the following, replace the current code with the following code, which we will go over in a bit:

go
package keeper
-
-import (
-  "context"
-  "crypto/sha256"
-  "encoding/hex"
-  "wordle/x/wordle/types"
-  sdk "github.com/cosmos/cosmos-sdk/types"
-  sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
-  "time"
-  "unicode"
-  "github.com/cometbft/cometbft/crypto"
-)
-
-func (k msgServer) SubmitWordle(goCtx context.Context, msg *types.MsgSubmitWordle) (*types.MsgSubmitWordleResponse, error) {
-  ctx := sdk.UnwrapSDKContext(goCtx)
-  // Check to See the Wordle is 5 letters
-  if len(msg.Word) != 5 {
-    return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "Wordle Must Be A 5 Letter Word")
-  }
-  // Check to See Only Alphabets Are Passed for the Wordle
-  if !(IsLetter(msg.Word)) {
-    return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "Wordle Must Only Consist Of Letters In The Alphabet")
-  }
-
-  // Use Current Day to Create The Index of the Newly-Submitted Wordle of the Day
-  currentTime := time.Now().Local()
-  var currentTimeBytes = []byte(currentTime.Format("2006-01-02"))
-  var currentTimeHash = sha256.Sum256(currentTimeBytes)
-  var currentTimeHashString = hex.EncodeToString(currentTimeHash[:])
-  // Hash The Newly-Submitted Wordle of the Day
-  var submittedSolutionHash = sha256.Sum256([]byte(msg.Word))
-  var submittedSolutionHashString = hex.EncodeToString(submittedSolutionHash[:])
-
-  var wordle = types.Wordle{
-    Index:     currentTimeHashString,
-    Word:      submittedSolutionHashString,
-    Submitter: msg.Creator,
-  }
-
-  // Try to Get Wordle From KV Store Using Current Day as Key
-  // This Helps ensure only one Wordle is submitted per day
-  _, isFound := k.GetWordle(ctx, currentTimeHashString)
-  if isFound {
-    return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "Wordle of the Day is Already Submitted")
-  }
-  // Write Wordle to KV Store
-  k.SetWordle(ctx, wordle)
-  reward := sdk.Coins{sdk.NewInt64Coin("token", 100)}
-  // Escrow Reward
-  submitterAddress, _ := sdk.AccAddressFromBech32(msg.Creator)
-  moduleAcct := sdk.AccAddress(crypto.AddressHash([]byte(types.ModuleName)))
-  err := k.bankKeeper.SendCoins(ctx, submitterAddress, moduleAcct, reward)
-  if err != nil {
-    return nil, err
-  }
-  return &types.MsgSubmitWordleResponse{}, nil
-}
-
-func IsLetter(s string) bool {
-  for _, r := range s {
-    if !unicode.IsLetter(r) {
-      return false
-    }
-  }
-  return true
-}

Here in the SubmitWordle Keeper function, we are doing a few things:

  • We first ensure that a word submitted for Wordle of the Day is 5 letters long and only uses alphabets. That means no integers can be submitted in the string.
  • We then create a hash from the current day the moment the Wordle was submitted. We set this hash to the index of the Wordle type. This allows us to look up any guesses for this Wordle for subsequent guesses, which we will go over next.
  • We then check if the index for today’s date is currently empty or not. If it’s not empty, this means a Wordle has already been submitted. Remember, only one wordle can be submitted per day. Everyone else has to guess the submitted wordle.
  • We also have a helper function in there to check if a string only contains alphabet characters.

SubmitGuess function

The next Keeper function we will add is the following: x/wordle/keeper/msg_server_submit_guess.go

Open that file and replace its contents with the following code, which we will explain in a bit:

go
package keeper
-
-import (
-  "context"
-  "crypto/sha256"
-  "encoding/hex"
-  "wordle/x/wordle/types"
-  sdk "github.com/cosmos/cosmos-sdk/types"
-  sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
-  "strconv"
-  "time"
-  "github.com/cometbft/cometbft/crypto"
-)
-
-func (k msgServer) SubmitGuess(goCtx context.Context, msg *types.MsgSubmitGuess) (*types.MsgSubmitGuessResponse, error) {
-  ctx := sdk.UnwrapSDKContext(goCtx)
-  // Check Word is 5 Characters Long
-  if len(msg.Word) != 5 {
-    return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "Guess Must Be A 5 Letter Word!")
-  }
- 
-  // Check String Contains Alphabet Letters Only
-  if !(IsLetter(msg.Word)) {
-    return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "Guess Must Only Consist of Alphabet Letters!")
-  }
-
-  // Get Current Day to Pull Up Wordle of That Day As A Hash
-  currentTime := time.Now().Local()
-  var currentTimeBytes = []byte(currentTime.Format("2006-01-02"))
-  var currentTimeHash = sha256.Sum256(currentTimeBytes)
-  var currentTimeHashString = hex.EncodeToString(currentTimeHash[:])
-  wordle, isFound := k.GetWordle(ctx, currentTimeHashString)
-  if !isFound {
-    return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "Wordle of The Day Hasn't Been Submitted Yet. Feel Free to Submit One!")
-  }
-
-  // We Convert Current Day and Guesser to A Hash To Use As An Index For Today's Guesses For That Guesser
-  // That Way, A Person Can Guess 6 Times A Day For Each New Wordle Created
-  var currentTimeGuesserBytes = []byte(currentTime.Format("2006-01-02") + msg.Creator)
-  var currentTimeGuesserHash = sha256.Sum256(currentTimeGuesserBytes)
-  var currentTimeGuesserHashString = hex.EncodeToString(currentTimeGuesserHash[:])
-  // Hash The Guess To The Wordle
-  var submittedSolutionHash = sha256.Sum256([]byte(msg.Word))
-  var submittedSolutionHashString = hex.EncodeToString(submittedSolutionHash[:])
-
-  // Get the Latest Guess entry for this Submitter for the current Wordle of the Day
-  var count int
-  guess, isFound := k.GetGuess(ctx, currentTimeGuesserHashString)
-  if isFound {
-    // Check if Submitter Reached 6 Tries
-    if guess.Count == strconv.Itoa(6) {
-      return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "You Have Guessed The Maximum Amount of Times for The Day! Try Again Tomorrow With A New Wordle.")
-    }
-    currentCount, err := strconv.Atoi(guess.Count)
-    if err != nil {
-      panic(err)
-    }
-    count = currentCount
-  } else {
-    // Initialize Count Value If No Entry Exists for this Submitter for Today's Wordle
-    count = 0
-  }
-  // Increment Guess Count
-  count += 1
-  var newGuess = types.Guess{
-    Index:     currentTimeGuesserHashString,
-    Submitter: msg.Creator,
-    Word:      submittedSolutionHashString,
-    Count:     strconv.Itoa(count),
-  }
-  // Remove Current Guess Entry to be Updated With New Entry
-  k.RemoveGuess(ctx, currentTimeGuesserHashString)
-  // Add New Guess Entry
-  k.SetGuess(ctx, newGuess)
-  if !(wordle.Word == submittedSolutionHashString) {
-    return &types.MsgSubmitGuessResponse{Title: "Wrong Answer", Body: "Your Guess Was Wrong. Try Again"}, nil
-  } else {
-    // Setup Reward 
-    reward := sdk.Coins{sdk.NewInt64Coin("token", 100)}
-    // If Submitter Guesses Correctly
-    guesserAddress, _ := sdk.AccAddressFromBech32(msg.Creator)
-    moduleAcct := sdk.AccAddress(crypto.AddressHash([]byte(types.ModuleName)))
-    // Send Reward
-    err := k.bankKeeper.SendCoins(ctx, moduleAcct, guesserAddress, reward)
-    if err !=nil {
-      return nil, err
-    }
-    return &types.MsgSubmitGuessResponse{Title: "Correct", Body: "You Guessed The Wordle Correctly!"}, nil
-  }
-}

In the above code, we are doing the following things:

  • Here, we are doing initial checks again on the word to ensure it’s 5 characters and only alphabet characters are used, which can be refactored in the future or checked within the CLI commands.
  • We then get the Wordle of the Day by getting the hash string of the current day.
  • Next we create a hash string of current day and the Submitter. This allows us to create a Guess type with an index that uses the current day and the address of the submitter. This helps us when we face a new day and an address wants to guess the new wordle of the day. The index setup ensures they can continue guessing a new wordle every day up to the max of 6 tries per day.
  • We then check if that Guess type for the Submitter for today’s wordle did reach 6 counts. If it hasn’t, we increment the count. We then check if the guess is correct. We store the Guess type with the updated count to the state.

📦 Protobuf file

A few files need to be modified for this to work.

The first is proto/wordle/wordle/tx.proto.

Inside this file, fill in the empty MsgSubmitGuessResponse with the following code:

go
message MsgSubmitGuessResponse {
-  string title = 1;
-  string body = 2;
-}

Next file is x/wordle/types/expected_keepers.go

Here, we need to add the SendCoins method to the BankKeeper interface in order to allow sending the reward to the right guesser.

go
type BankKeeper interface {
-  SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error
-}

With that, we implemented all our Keeper functions! Time to compile the blockchain and take it out for a test drive.

⛓️ Run the wordle chain

🪶 Run a Celestia light node

Follow instructions to install and start your Celestia Data Availability layer Light Node selecting the Arabica Devnet. You can find instructions to install and run the node here.

After you have Go and Ignite CLI installed, and your Celestia Light Node running on your machine, you're ready to build, test, and launch your own sovereign rollup.

Be sure you have initialized your node before trying to start it. Your start command should look similar to:

bash
celestia light start --p2p.network arabica

After you have synced your node and funded it from the faucet, you will need to stop it to restart it with celestia-da.

To do so, use the following command:

bash
docker run -d \
--e NODE_TYPE=light \
--e P2P_NETWORK=arabica \
--p 26650:26650 \
--p 26658:26658 \
--p 26659:26659 \
--v $HOME/.celestia-light-arabica-11/:/home/celestia/.celestia-light-arabica-11/ \
-ghcr.io/rollkit/celestia-da:v0.12.10 \
-celestia-da light start \
---p2p.network=arabica \
---da.grpc.namespace=00000000776f72646c65 \
---da.grpc.listen=0.0.0.0:26650 \
---core.ip validator-1.celestia-arabica-11.com \
---gateway

TIP

You can either use the default 00000000776f72646c65, "wordle" in plaintext, namespace above, or set your own by using a command similar to this (or, you could get creative 😎):

bash
openssl rand -hex 10

Learn more about namespaces

After you have Go and Ignite CLI installed, and your Celestia Light Node running on your machine, you're ready to build, test, and launch your own sovereign rollup.

🟢 Building and running wordle chain

We have a handy init.sh found in this repo here.

We can copy it over to our directory with the following commands:

bash
# From inside the `wordle` directory
-wget https://raw.githubusercontent.com/rollkit/docs/main/scripts/wordle/init.sh

This copies over our init.sh script to initialize our Wordle Rollup.

You can view the contents of the script to see how we initialize the Wordle Rollup.

You can initialize the script with the following command:

bash
bash init.sh

With that, we have kickstarted our wordled network!

Find your account address on an Arabica explorer to see your PayForBlobs transactions.

In another window, run the following to submit a Wordle:

bash
wordled tx wordle submit-wordle giant --from wordle-key --keyring-backend test --chain-id wordle -b async -y

NOTE: We are submitting a transaction asynchronously to avoid any timeout errors. With Rollkit as a replacement to CometBFT, we need to wait for Celestia's Data-Availability network to ensure a block was included from Wordle, before proceeding to the next block. Currently, in Rollkit, the single aggregator is not moving forward with the next block production as long as it is trying to submit the current block to the DA network. In the future, with leader selection, block production and sync logic improves dramatically.

This will ask you to confirm the transaction with the following message:

json
{
-  "body":{
-    "messages":[
-       {
-          "@type":"/YazzyYaz.wordle.wordle.MsgSubmitWordle",
-          "creator":"cosmos17lk3fgutf00pd5s8zwz5fmefjsdv4wvzyg7d74",
-          "word":"giant"
-       }
-    ],
-    "memo":"",
-    "timeout_height":"0",
-    "extension_options":[
-    ],
-    "non_critical_extension_options":[
-    ]
-  },
-  "auth_info":{
-    "signer_infos":[
-    ],
-    "fee":{
-       "amount":[
-       ],
-       "gas_limit":"200000",
-       "payer":"",
-       "granter":""
-    }
-  },
-  "signatures":[
-  ]
-}

Cosmos-SDK will ask you to confirm the transaction here:

bash
confirm transaction before signing and broadcasting [y/N]:

Confirm with a Y.

You will then get a response with a transaction hash as shown here:

bash
code: 0
-codespace: ""
-data: ""
-events: []
-gas_used: "0"
-gas_wanted: "0"
-height: "0"
-info: ""
-logs: []
-raw_log: ""
-timestamp: ""
-tx: null
-txhash: F159E11116EC9505FC2C0D97E605357FEC0F3DAE06B57BFB17EA6A548905043E

Note, this does not mean the transaction was included in the block yet. Let's query the transaction hash to check whether it has been included in the block yet or if there are any errors.

bash
wordled query tx --type=hash F159E11116EC9505FC2C0D97E605357FEC0F3DAE06B57BFB17EA6A548905043E --chain-id wordle --output json | jq -r '.raw_log'

This should display an output like the following:

json
[{"events":[{"type":"message","attributes":[{"key":"action","value":"submit_wordle"
-}]}]}]

Test out a few things for fun:

bash
wordled tx wordle submit-guess 12345 --from wordle-key --keyring-backend test --chain-id wordle -b async -y

After confirming the transaction, query the txhash given the same way you did above. You will see the response shows an Invalid Error because you submitted integers.

Now try:

bash
wordled tx wordle submit-guess ABCDEFG --from wordle-key --keyring-backend test --chain-id wordle -b async -y

After confirming the transaction, query the txhash given the same way you did above. You will see the response shows an Invalid Error because you submitted a word larger than 5 characters.

Now try to submit another wordle even though one was already submitted

bash
wordled tx wordle submit-wordle meter --from wordle-key --keyring-backend test --chain-id wordle -b async -y

After submitting the transactions and confirming, query the txhash given the same way you did above. You will get an error that a wordle has already been submitted for the day.

Now let’s try to guess a five letter word:

bash
wordled tx wordle submit-guess least --from wordle-key --keyring-backend test --chain-id wordle -b async -y

After submitting the transactions and confirming, query the txhash given the same way you did above. Given you didn’t guess the correct word, it will increment the guess count for wordle-key's account.

We can verify this by querying the list:

bash
wordled q wordle list-guess --output json

This outputs all Guess objects submitted so far, with the index being today’s date and the address of the submitter.

With that, we implemented a basic example of Wordle using Cosmos-SDK and Ignite and Rollkit. Read on to how you can extend the code base.

🔮 Extending in the future

You can extend the codebase and improve this tutorial by checking out the repository here.

There are many ways this codebase can be extended:

  1. You can improve messaging around when you guess the correct word.
  2. You can hash the word prior to submitting it to the chain, ensuring the hashing is local so that it’s not revealed via front-running by others monitoring the plaintext string when it’s submitted on-chain.
  3. You can improve the UI in terminal using a nice interface for Wordle. Some examples are here.
  4. You can improve current date to stick to a specific timezone.
  5. You can create a bot that submits a wordle every day at a specific time.
  6. You can create a vue.js front-end with Ignite using example open-source repositories here and here.

Released under the APACHE-2.0 License

- - - - \ No newline at end of file diff --git a/pr-333/wordle/wordle.png b/pr-333/wordle/wordle.png deleted file mode 100644 index cdb62ec05..000000000 Binary files a/pr-333/wordle/wordle.png and /dev/null differ