@budibase/server 3.20.5 → 3.20.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -759,7 +759,7 @@ attempted value: ${$a}
759
759
  `),create_component(ko.$$.fragment)},m(Io,$a){insert$1(Io,$o,$a),mount_component(ko,Io,$a),Eo=!0},p(Io,$a){const ya={};$a&1&&(ya.users=Io[0].sessions),ko.$set(ya)},i(Io){Eo||(transition_in(ko.$$.fragment,Io),Eo=!0)},o(Io){transition_out(ko.$$.fragment,Io),Eo=!1},d(Io){Io&&detach($o),destroy_component(ko,Io)}}}function create_default_slot_2$1$(So){let $o=So[0].deployed?"Published":"Unpublished",ko;return{c(){ko=text($o)},m(Eo,Io){insert$1(Eo,ko,Io)},p(Eo,Io){Io&1&&$o!==($o=Eo[0].deployed?"Published":"Unpublished")&&set_data(ko,$o)},d(Eo){Eo&&detach(ko)}}}function create_else_block$1m(So){let $o,ko;return $o=new Button({props:{size:"S",secondary:!0,$$slots:{default:[create_default_slot_1$2U]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&65536&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_if_block$3B(So){let $o,ko,Eo,Io,$a,ya;return ko=new Button({props:{size:"S",secondary:!0,$$slots:{default:[create_default_slot$4C]},$$scope:{ctx:So}}}),ko.$on("click",function(){is_function(So[1]||So[8])&&(So[1]||So[8]).apply(this,arguments)}),$a=new Icon({props:{size:"S",hoverable:!0,name:"dots-three"}}),$a.$on("click",So[9]),{c(){$o=element("div"),create_component(ko.$$.fragment),Eo=space$2(),Io=element("div"),create_component($a.$$.fragment),attr($o,"class","row-action"),attr(Io,"class","row-action")},m(wa,ka){insert$1(wa,$o,ka),mount_component(ko,$o,null),insert$1(wa,Eo,ka),insert$1(wa,Io,ka),mount_component($a,Io,null),ya=!0},p(wa,ka){So=wa;const Sa={};ka&65536&&(Sa.$$scope={dirty:ka,ctx:So}),ko.$set(Sa)},i(wa){ya||(transition_in(ko.$$.fragment,wa),transition_in($a.$$.fragment,wa),ya=!0)},o(wa){transition_out(ko.$$.fragment,wa),transition_out($a.$$.fragment,wa),ya=!1},d(wa){wa&&(detach($o),detach(Eo),detach(Io)),destroy_component(ko),destroy_component($a)}}}function create_default_slot_1$2U(So){let $o;return{c(){$o=text("View")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot$4C(So){let $o;return{c(){$o=text("Edit")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_fragment$7M(So){var sl,ul;let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta,Aa,Ia,Pa,Ra,Da,La,Na,Ba,Fa,za,Ua,Ha,Wa,ja,Ya,Xa;Io=new Icon({props:{size:"L",name:((sl=So[0].icon)==null?void 0:sl.name)||"squares-four",color:((ul=So[0].icon)==null?void 0:ul.color)||"var(--spectrum-global-color-gray-700)"}}),wa=new Body({props:{size:"M",weight:"500",$$slots:{default:[create_default_slot_3$1p]},$$scope:{ctx:So}}});const Za=[create_if_block_1$1V,create_if_block_2$1c,create_else_block_1$h],Ga=[];function Ka(al,dl){return al[5]&&al[2]?0:al[0].updatedAt?1:2}Oa=Ka(So),Ca=Ga[Oa]=Za[Oa](So),Aa=new Icon({props:{size:"L",name:So[0].deployed?"globe-check":"globe-slash"}}),Pa=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1$]},$$scope:{ctx:So}}});const tl=[create_if_block$3B,create_else_block$1m],nl=[];function rl(al,dl){return al[2]?0:1}Na=rl(So),Ba=nl[Na]=tl[Na](So),Ua=new FavouriteAppButton({props:{app:So[0],noWrap:!0}});let il={app:So[0]};return Wa=new AppContextMenuModals({props:il}),So[12](Wa),{c(){$o=element("div"),ko=element("div"),Eo=element("div"),create_component(Io.$$.fragment),$a=space$2(),ya=element("div"),create_component(wa.$$.fragment),ka=space$2(),Sa=element("div"),Ca.c(),Ea=space$2(),Ta=element("div"),create_component(Aa.$$.fragment),Ia=space$2(),create_component(Pa.$$.fragment),Ra=space$2(),Da=element("div"),La=element("div"),Ba.c(),Fa=space$2(),za=element("div"),create_component(Ua.$$.fragment),Ha=space$2(),create_component(Wa.$$.fragment),attr(Eo,"class","app-icon"),attr(ya,"class","name svelte-3qrsk1"),attr(ko,"class","title svelte-3qrsk1"),attr(Sa,"class","updated svelte-3qrsk1"),attr(Ta,"class","title app-status svelte-3qrsk1"),toggle_class(Ta,"deployed",So[0].deployed),attr(La,"class","app-row-actions svelte-3qrsk1"),attr(za,"class","favourite-icon svelte-3qrsk1"),attr(Da,"class","actions-wrap svelte-3qrsk1"),attr($o,"class","app-row svelte-3qrsk1"),toggle_class($o,"contextMenuOpen",So[6]),toggle_class($o,"unclickable",So[4]),toggle_class($o,"favourite",So[0].favourite)},m(al,dl){insert$1(al,$o,dl),append$2($o,ko),append$2(ko,Eo),mount_component(Io,Eo,null),append$2(ko,$a),append$2(ko,ya),mount_component(wa,ya,null),append$2($o,ka),append$2($o,Sa),Ga[Oa].m(Sa,null),append$2($o,Ea),append$2($o,Ta),mount_component(Aa,Ta,null),append$2(Ta,Ia),mount_component(Pa,Ta,null),append$2($o,Ra),append$2($o,Da),append$2(Da,La),nl[Na].m(La,null),append$2(Da,Fa),append$2(Da,za),mount_component(Ua,za,null),append$2($o,Ha),mount_component(Wa,$o,null),ja=!0,Ya||(Xa=[listen($o,"click",function(){is_function(So[1]||So[7])&&(So[1]||So[7]).apply(this,arguments)}),listen($o,"contextmenu",So[9])],Ya=!0)},p(al,[dl]){var Cl,wl;So=al;const gl={};dl&1&&(gl.name=((Cl=So[0].icon)==null?void 0:Cl.name)||"squares-four"),dl&1&&(gl.color=((wl=So[0].icon)==null?void 0:wl.color)||"var(--spectrum-global-color-gray-700)"),Io.$set(gl);const cl={};dl&65537&&(cl.$$scope={dirty:dl,ctx:So}),wa.$set(cl);let fl=Oa;Oa=Ka(So),Oa===fl?Ga[Oa].p(So,dl):(group_outros(),transition_out(Ga[fl],1,1,()=>{Ga[fl]=null}),check_outros(),Ca=Ga[Oa],Ca?Ca.p(So,dl):(Ca=Ga[Oa]=Za[Oa](So),Ca.c()),transition_in(Ca,1),Ca.m(Sa,null));const pl={};dl&1&&(pl.name=So[0].deployed?"globe-check":"globe-slash"),Aa.$set(pl);const ml={};dl&65537&&(ml.$$scope={dirty:dl,ctx:So}),Pa.$set(ml),(!ja||dl&1)&&toggle_class(Ta,"deployed",So[0].deployed);let vl=Na;Na=rl(So),Na===vl?nl[Na].p(So,dl):(group_outros(),transition_out(nl[vl],1,1,()=>{nl[vl]=null}),check_outros(),Ba=nl[Na],Ba?Ba.p(So,dl):(Ba=nl[Na]=tl[Na](So),Ba.c()),transition_in(Ba,1),Ba.m(La,null));const $l={};dl&1&&($l.app=So[0]),Ua.$set($l);const bl={};dl&1&&(bl.app=So[0]),Wa.$set(bl),(!ja||dl&64)&&toggle_class($o,"contextMenuOpen",So[6]),(!ja||dl&16)&&toggle_class($o,"unclickable",So[4]),(!ja||dl&1)&&toggle_class($o,"favourite",So[0].favourite)},i(al){ja||(transition_in(Io.$$.fragment,al),transition_in(wa.$$.fragment,al),transition_in(Ca),transition_in(Aa.$$.fragment,al),transition_in(Pa.$$.fragment,al),transition_in(Ba),transition_in(Ua.$$.fragment,al),transition_in(Wa.$$.fragment,al),ja=!0)},o(al){transition_out(Io.$$.fragment,al),transition_out(wa.$$.fragment,al),transition_out(Ca),transition_out(Aa.$$.fragment,al),transition_out(Pa.$$.fragment,al),transition_out(Ba),transition_out(Ua.$$.fragment,al),transition_out(Wa.$$.fragment,al),ja=!1},d(al){al&&detach($o),destroy_component(Io),destroy_component(wa),Ga[Oa].d(),destroy_component(Aa),destroy_component(Pa),nl[Na].d(),destroy_component(Ua),So[12](null),destroy_component(Wa),Ya=!1,run_all(Xa)}}}function instance$7M(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa;component_subscribe(So,goto,La=>ko(13,wa=La)),component_subscribe(So,auth,La=>ko(10,ka=La)),component_subscribe(So,contextMenuStore,La=>ko(11,Sa=La));let{app:Oa}=$o,{lockedAction:Ca}=$o,Ea;const Ta=()=>{$a?window.innerWidth<640?Ia():Aa():Pa()},Aa=()=>{wa(`../../workspace/${Oa.devId}`)},Ia=()=>{wa(`../../workspace/${Oa.devId}/settings`)},Pa=()=>{Oa.deployed&&Oa.url&&window.open(`/app${Oa.url}${Oa.defaultWorkspaceAppUrl}`,"_blank")},Ra=La=>{La.preventDefault(),La.stopPropagation();const Na=getAppContextMenuItems({app:Oa,onDuplicate:Ea==null?void 0:Ea.showDuplicateModal,onExportDev:Ea==null?void 0:Ea.showExportDevModal,onExportProd:Ea==null?void 0:Ea.showExportProdModal,onDelete:Ea==null?void 0:Ea.showDeleteModal});contextMenuStore.open(`${Oa.appId}-index`,Na,{x:La.clientX,y:La.clientY})};function Da(La){binding_callbacks[La?"unshift":"push"](()=>{Ea=La,ko(3,Ea)})}return So.$$set=La=>{"app"in La&&ko(0,Oa=La.app),"lockedAction"in La&&ko(1,Ca=La.lockedAction)},So.$$.update=()=>{var La;So.$$.dirty&2049&&ko(6,Eo=`${Oa.appId}-index`===Sa.id),So.$$.dirty&1&&ko(5,Io=(La=Oa.sessions)==null?void 0:La.length),So.$$.dirty&1025&&ko(2,$a=isBuilder(ka.user,Oa==null?void 0:Oa.devId)),So.$$.dirty&5&&ko(4,ya=!$a&&!Oa.deployed)},[Oa,Ca,$a,Ea,ya,Io,Eo,Ta,Aa,Ra,ka,Sa,Da]}class AppRow extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7M,create_fragment$7M,safe_not_equal,{app:0,lockedAction:1})}}const TemplatesModal_svelte_svelte_type_style_lang="";function get_each_context$1B(So,$o,ko){const Eo=So.slice();return Eo[7]=$o[ko],Eo}function create_each_block$1B(So){let $o,ko,Eo,Io,$a,ya;ko=new TemplateCard({props:{name:So[7].name,imageSrc:So[7].image,backgroundColour:So[7].background,icon:So[7].icon,description:So[7].description,overlayEnabled:!So[1],isLoading:So[1],isSelected:So[2]===So[7].key}});function wa(){return So[6](So[7])}return{c(){$o=element("button"),create_component(ko.$$.fragment),Eo=space$2(),attr($o,"class","template-wrapper svelte-1oa332f"),$o.disabled=So[1],toggle_class($o,"loading",So[1]),toggle_class($o,"selected",So[2]===So[7].key)},m(ka,Sa){insert$1(ka,$o,Sa),mount_component(ko,$o,null),append$2($o,Eo),Io=!0,$a||(ya=listen($o,"click",wa),$a=!0)},p(ka,Sa){So=ka;const Oa={};Sa&1&&(Oa.name=So[7].name),Sa&1&&(Oa.imageSrc=So[7].image),Sa&1&&(Oa.backgroundColour=So[7].background),Sa&1&&(Oa.icon=So[7].icon),Sa&1&&(Oa.description=So[7].description),Sa&2&&(Oa.overlayEnabled=!So[1]),Sa&2&&(Oa.isLoading=So[1]),Sa&5&&(Oa.isSelected=So[2]===So[7].key),ko.$set(Oa),(!Io||Sa&2)&&($o.disabled=So[1]),(!Io||Sa&2)&&toggle_class($o,"loading",So[1]),(!Io||Sa&5)&&toggle_class($o,"selected",So[2]===So[7].key)},i(ka){Io||(transition_in(ko.$$.fragment,ka),Io=!0)},o(ka){transition_out(ko.$$.fragment,ka),Io=!1},d(ka){ka&&detach($o),destroy_component(ko),$a=!1,ya()}}}function create_default_slot_1$2T(So){let $o,ko,Eo=ensure_array_like(So[0]),Io=[];for(let ya=0;ya<Eo.length;ya+=1)Io[ya]=create_each_block$1B(get_each_context$1B(So,Eo,ya));const $a=ya=>transition_out(Io[ya],1,1,()=>{Io[ya]=null});return{c(){$o=element("div");for(let ya=0;ya<Io.length;ya+=1)Io[ya].c();attr($o,"class","template-grid svelte-1oa332f")},m(ya,wa){insert$1(ya,$o,wa);for(let ka=0;ka<Io.length;ka+=1)Io[ka]&&Io[ka].m($o,null);ko=!0},p(ya,wa){if(wa&15){Eo=ensure_array_like(ya[0]);let ka;for(ka=0;ka<Eo.length;ka+=1){const Sa=get_each_context$1B(ya,Eo,ka);Io[ka]?(Io[ka].p(Sa,wa),transition_in(Io[ka],1)):(Io[ka]=create_each_block$1B(Sa),Io[ka].c(),transition_in(Io[ka],1),Io[ka].m($o,null))}for(group_outros(),ka=Eo.length;ka<Io.length;ka+=1)$a(ka);check_outros()}},i(ya){if(!ko){for(let wa=0;wa<Eo.length;wa+=1)transition_in(Io[wa]);ko=!0}},o(ya){Io=Io.filter(Boolean);for(let wa=0;wa<Io.length;wa+=1)transition_out(Io[wa]);ko=!1},d(ya){ya&&detach($o),destroy_each(Io,ya)}}}function create_default_slot$4B(So){let $o,ko;return $o=new Layout$l({props:{noPadding:!0,gap:"M",$$slots:{default:[create_default_slot_1$2T]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&1031&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_fragment$7L(So){let $o,ko;return $o=new ModalContent({props:{title:"Choose a starting template",size:"XL",showCancelButton:!1,showConfirmButton:!1,$$slots:{default:[create_default_slot$4B]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&1031&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function instance$7L(So,$o,ko){let Eo;component_subscribe(So,templates,Oa=>ko(5,Eo=Oa));let{onSelectTemplate:Io}=$o,$a=[],ya=!1,wa=null;const ka=async Oa=>{if(!ya){ko(1,ya=!0),ko(2,wa=Oa.key);try{await Io(Oa)}catch(Ca){throw ko(1,ya=!1),ko(2,wa=null),Ca}}},Sa=Oa=>ka(Oa);return So.$$set=Oa=>{"onSelectTemplate"in Oa&&ko(4,Io=Oa.onSelectTemplate)},So.$$.update=()=>{if(So.$$.dirty&32){const Oa=Eo;ko(0,$a=(Oa==null?void 0:Oa.filter(Ca=>Ca.new))||[])}},[$a,ya,wa,ka,Io,Eo,Sa]}class TemplatesModal extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7L,create_fragment$7L,safe_not_equal,{onSelectTemplate:4})}}const HeroBanner_svelte_svelte_type_style_lang="";function create_if_block$3A(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta,Aa,Ia,Pa,Ra,Da;Io=new Icon({props:{name:"x",size:"S"}});const La=So[10].default,Na=create_slot(La,So,So[9],null);let Ba=So[1]&&create_if_block_1$1U(So);return{c(){$o=element("div"),ko=element("div"),Eo=element("div"),create_component(Io.$$.fragment),$a=space$2(),ya=element("div"),wa=element("h1"),ka=text(So[0]),Sa=space$2(),Oa=element("p"),Na&&Na.c(),Ca=space$2(),Ba&&Ba.c(),Ea=space$2(),Ta=element("img"),attr(Eo,"class","close-button svelte-n4h2dg"),attr(wa,"class","svelte-n4h2dg"),attr(Oa,"class","svelte-n4h2dg"),attr(ya,"class","text svelte-n4h2dg"),src_url_equal(Ta.src,Aa=So[3])||attr(Ta,"src",Aa),attr(Ta,"alt","hero"),attr(Ta,"class","svelte-n4h2dg"),attr(ko,"class","hero svelte-n4h2dg"),set_style(ko,"--color",So[4]),attr($o,"class","hero-wrapper svelte-n4h2dg")},m(Fa,za){insert$1(Fa,$o,za),append$2($o,ko),append$2(ko,Eo),mount_component(Io,Eo,null),append$2(ko,$a),append$2(ko,ya),append$2(ya,wa),append$2(wa,ka),append$2(ya,Sa),append$2(ya,Oa),Na&&Na.m(Oa,null),append$2(ya,Ca),Ba&&Ba.m(ya,null),append$2(ko,Ea),append$2(ko,Ta),Pa=!0,Ra||(Da=listen(Eo,"click",So[7]),Ra=!0)},p(Fa,za){(!Pa||za&1)&&set_data(ka,Fa[0]),Na&&Na.p&&(!Pa||za&512)&&update_slot_base(Na,La,Fa,Fa[9],Pa?get_slot_changes(La,Fa[9],za,null):get_all_dirty_from_scope(Fa[9]),null),Fa[1]?Ba?(Ba.p(Fa,za),za&2&&transition_in(Ba,1)):(Ba=create_if_block_1$1U(Fa),Ba.c(),transition_in(Ba,1),Ba.m(ya,null)):Ba&&(group_outros(),transition_out(Ba,1,1,()=>{Ba=null}),check_outros()),(!Pa||za&8&&!src_url_equal(Ta.src,Aa=Fa[3]))&&attr(Ta,"src",Aa),(!Pa||za&16)&&set_style(ko,"--color",Fa[4])},i(Fa){Pa||(transition_in(Io.$$.fragment,Fa),transition_in(Na,Fa),transition_in(Ba),Fa&&add_render_callback(()=>{Pa&&(Ia||(Ia=create_bidirectional_transition($o,slide,{duration:300},!0)),Ia.run(1))}),Pa=!0)},o(Fa){transition_out(Io.$$.fragment,Fa),transition_out(Na,Fa),transition_out(Ba),Fa&&(Ia||(Ia=create_bidirectional_transition($o,slide,{duration:300},!1)),Ia.run(0)),Pa=!1},d(Fa){Fa&&detach($o),destroy_component(Io),Na&&Na.d(Fa),Ba&&Ba.d(),Fa&&Ia&&Ia.end(),Ra=!1,Da()}}}function create_if_block_1$1U(So){let $o,ko,Eo,Io,$a;return ko=new Icon({props:{name:"book-open-text",size:"L",weight:"bold",color:"white"}}),{c(){$o=element("a"),create_component(ko.$$.fragment),Eo=space$2(),Io=text(So[1]),attr($o,"href",So[2]),attr($o,"class","button svelte-n4h2dg"),attr($o,"target","_blank")},m(ya,wa){insert$1(ya,$o,wa),mount_component(ko,$o,null),append$2($o,Eo),append$2($o,Io),$a=!0},p(ya,wa){(!$a||wa&2)&&set_data(Io,ya[1]),(!$a||wa&4)&&attr($o,"href",ya[2])},i(ya){$a||(transition_in(ko.$$.fragment,ya),$a=!0)},o(ya){transition_out(ko.$$.fragment,ya),$a=!1},d(ya){ya&&detach($o),destroy_component(ko)}}}function create_fragment$7K(So){let $o,ko,Eo=So[6]&&create_if_block$3A(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m(Io,$a){Eo&&Eo.m(Io,$a),insert$1(Io,$o,$a),ko=!0},p(Io,[$a]){Io[6]?Eo?(Eo.p(Io,$a),$a&64&&transition_in(Eo,1)):(Eo=create_if_block$3A(Io),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o)):Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros())},i(Io){ko||(transition_in(Eo),ko=!0)},o(Io){transition_out(Eo),ko=!1},d(Io){Io&&detach($o),Eo&&Eo.d(Io)}}}function instance$7K(So,$o,ko){let Eo,Io,$a=noop$5,ya=()=>($a(),$a=subscribe(Eo,Pa=>ko(6,Io=Pa)),Eo);So.$$.on_destroy.push(()=>$a());let{$$slots:wa={},$$scope:ka}=$o,{title:Sa}=$o,{linkTitle:Oa=void 0}=$o,{linkHref:Ca="#"}=$o,{image:Ea}=$o,{color:Ta}=$o,{key:Aa}=$o;const Ia=()=>{bannerStore.closeBanner(Aa)};return So.$$set=Pa=>{"title"in Pa&&ko(0,Sa=Pa.title),"linkTitle"in Pa&&ko(1,Oa=Pa.linkTitle),"linkHref"in Pa&&ko(2,Ca=Pa.linkHref),"image"in Pa&&ko(3,Ea=Pa.image),"color"in Pa&&ko(4,Ta=Pa.color),"key"in Pa&&ko(8,Aa=Pa.key),"$$scope"in Pa&&ko(9,ka=Pa.$$scope)},So.$$.update=()=>{So.$$.dirty&256&&ya(ko(5,Eo=bannerStore.shouldDisplayBanner(Aa)))},[Sa,Oa,Ca,Ea,Ta,Eo,Io,Ia,Aa,ka,wa]}class HeroBanner extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7K,create_fragment$7K,safe_not_equal,{title:0,linkTitle:1,linkHref:2,image:3,color:4,key:8})}}var BannerType=(So=>(So.APPS="APPS",So.AUTOMATIONS="AUTOMATIONS",So.PORTAL="PORTAL",So))(BannerType||{});const index_svelte_svelte_type_style_lang$l="";function get_each_context$1A(So,$o,ko){const Eo=So.slice();return Eo[46]=$o[ko],Eo}function get_each_context_1$t(So,$o,ko){const Eo=So.slice();return Eo[49]=$o[ko],Eo}function get_each_context_2$9(So,$o,ko){const Eo=So.slice();return Eo[49]=$o[ko],Eo}function create_default_slot_12$a(So){let $o;return{c(){$o=text(`Previously, Budibase centered everything around building a single app. With
760
760
  Workspaces, that changes. Now, you can group multiple apps, automations, and
761
761
  data sources together within a single workspace. Existing apps now have their
762
- own workspace.`)},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_each_block_2$9(So){let $o,ko;function Eo(){return So[27](So[49])}function Io(){return So[28](So[49])}return $o=new Notification({props:{wide:!0,dismissable:!0,action:Eo,type:"error",icon:"warning",actionMessage:So[18](So[10][So[49]])>1?"View errors":"View error",message:So[19](So[49])}}),$o.$on("dismiss",Io),{c(){create_component($o.$$.fragment)},m($a,ya){mount_component($o,$a,ya),ko=!0},p($a,ya){So=$a;const wa={};ya[0]&1024&&(wa.action=Eo),ya[0]&1024&&(wa.actionMessage=So[18](So[10][So[49]])>1?"View errors":"View error"),ya[0]&1024&&(wa.message=So[19](So[49])),$o.$set(wa)},i($a){ko||(transition_in($o.$$.fragment,$a),ko=!0)},o($a){transition_out($o.$$.fragment,$a),ko=!1},d($a){destroy_component($o,$a)}}}function create_each_block_1$t(So){let $o,ko;function Eo(){return So[29](So[49])}function Io(){return So[30](So[49])}return $o=new Notification({props:{wide:!0,dismissable:!0,action:Eo,type:"error",icon:"warning",actionMessage:So[18](So[11][So[49]])>1?"View errors":"View error",message:So[21](So[49])}}),$o.$on("dismiss",Io),{c(){create_component($o.$$.fragment)},m($a,ya){mount_component($o,$a,ya),ko=!0},p($a,ya){So=$a;const wa={};ya[0]&2048&&(wa.action=Eo),ya[0]&2048&&(wa.actionMessage=So[18](So[11][So[49]])>1?"View errors":"View error"),ya[0]&2048&&(wa.message=So[21](So[49])),$o.$set(wa)},i($a){ko||(transition_in($o.$$.fragment,$a),ko=!0)},o($a){transition_out($o.$$.fragment,$a),ko=!1},d($a){destroy_component($o,$a)}}}function create_default_slot_11$b(So){let $o;return{c(){$o=text(So[13])},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo[0]&8192&&set_data($o,ko[13])},d(ko){ko&&detach($o)}}}function create_default_slot_10$e(So){let $o;return{c(){$o=text("Below you'll find the list of workspaces that you have access to")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_9$h(So){let $o,ko,Eo,Io;return $o=new Heading({props:{size:"M",$$slots:{default:[create_default_slot_11$b]},$$scope:{ctx:So}}}),Eo=new Body({props:{size:"M",$$slots:{default:[create_default_slot_10$e]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment),ko=space$2(),create_component(Eo.$$.fragment)},m($a,ya){mount_component($o,$a,ya),insert$1($a,ko,ya),mount_component(Eo,$a,ya),Io=!0},p($a,ya){const wa={};ya[0]&8192|ya[1]&8388608&&(wa.$$scope={dirty:ya,ctx:$a}),$o.$set(wa);const ka={};ya[1]&8388608&&(ka.$$scope={dirty:ya,ctx:$a}),Eo.$set(ka)},i($a){Io||(transition_in($o.$$.fragment,$a),transition_in(Eo.$$.fragment,$a),Io=!0)},o($a){transition_out($o.$$.fragment,$a),transition_out(Eo.$$.fragment,$a),Io=!1},d($a){$a&&detach(ko),destroy_component($o,$a),destroy_component(Eo,$a)}}}function create_else_block$1l(So){let $o,ko,Eo,Io,$a,ya;return $a=new Body({props:{weight:"700",$$slots:{default:[create_default_slot_8$m]},$$scope:{ctx:So}}}),{c(){$o=element("div"),ko=element("img"),Io=space$2(),create_component($a.$$.fragment),attr(ko,"class","spaceman"),attr(ko,"alt","spaceman"),src_url_equal(ko.src,Eo=Logo)||attr(ko,"src",Eo),attr(ko,"width","100px"),attr($o,"class","no-apps svelte-1x4sm22")},m(wa,ka){insert$1(wa,$o,ka),append$2($o,ko),append$2($o,Io),mount_component($a,$o,null),ya=!0},p(wa,ka){const Sa={};ka[1]&8388608&&(Sa.$$scope={dirty:ka,ctx:wa}),$a.$set(Sa)},i(wa){ya||(transition_in($a.$$.fragment,wa),ya=!0)},o(wa){transition_out($a.$$.fragment,wa),ya=!1},d(wa){wa&&detach($o),destroy_component($a)}}}function create_if_block_1$1T(So){let $o,ko;return $o=new Layout$l({props:{noPadding:!0,gap:"L",$$slots:{default:[create_default_slot_4$14]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io[0]&49262|Io[1]&8388608&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot_8$m(So){let $o;return{c(){$o=text("You haven't been given access to any apps yet")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_if_block_2$1b(So){var ya;let $o,ko,Eo,Io;ko=new Button({props:{size:"M",cta:!0,$$slots:{default:[create_default_slot_7$r]},$$scope:{ctx:So}}}),ko.$on("click",So[16]||So[22]);let $a=((ya=So[14].apps)==null?void 0:ya.length)>0&&create_if_block_3$R(So);return{c(){$o=element("div"),create_component(ko.$$.fragment),Eo=space$2(),$a&&$a.c(),attr($o,"class","buttons svelte-1x4sm22")},m(wa,ka){insert$1(wa,$o,ka),mount_component(ko,$o,null),append$2($o,Eo),$a&&$a.m($o,null),Io=!0},p(wa,ka){var Oa;const Sa={};ka[1]&8388608&&(Sa.$$scope={dirty:ka,ctx:wa}),ko.$set(Sa),((Oa=wa[14].apps)==null?void 0:Oa.length)>0?$a?($a.p(wa,ka),ka[0]&16384&&transition_in($a,1)):($a=create_if_block_3$R(wa),$a.c(),transition_in($a,1),$a.m($o,null)):$a&&(group_outros(),transition_out($a,1,1,()=>{$a=null}),check_outros())},i(wa){Io||(transition_in(ko.$$.fragment,wa),transition_in($a),Io=!0)},o(wa){transition_out(ko.$$.fragment,wa),transition_out($a),Io=!1},d(wa){wa&&detach($o),destroy_component(ko),$a&&$a.d()}}}function create_default_slot_7$r(So){let $o;return{c(){$o=text("Create new workspace")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_if_block_3$R(So){let $o,ko,Eo,Io=!So[5].offlineMode&&create_if_block_4$C(So);return ko=new Button({props:{size:"M",secondary:!0,$$slots:{default:[create_default_slot_5$O]},$$scope:{ctx:So}}}),ko.$on("click",So[16]||So[23]),{c(){Io&&Io.c(),$o=space$2(),create_component(ko.$$.fragment)},m($a,ya){Io&&Io.m($a,ya),insert$1($a,$o,ya),mount_component(ko,$a,ya),Eo=!0},p($a,ya){$a[5].offlineMode?Io&&(group_outros(),transition_out(Io,1,1,()=>{Io=null}),check_outros()):Io?(Io.p($a,ya),ya[0]&32&&transition_in(Io,1)):(Io=create_if_block_4$C($a),Io.c(),transition_in(Io,1),Io.m($o.parentNode,$o));const wa={};ya[1]&8388608&&(wa.$$scope={dirty:ya,ctx:$a}),ko.$set(wa)},i($a){Eo||(transition_in(Io),transition_in(ko.$$.fragment,$a),Eo=!0)},o($a){transition_out(Io),transition_out(ko.$$.fragment,$a),Eo=!1},d($a){$a&&detach($o),Io&&Io.d($a),destroy_component(ko,$a)}}}function create_if_block_4$C(So){let $o,ko;return $o=new Button({props:{size:"M",secondary:!0,$$slots:{default:[create_default_slot_6$D]},$$scope:{ctx:So}}}),$o.$on("click",function(){is_function(So[16]||So[1].show)&&(So[16]||So[1].show).apply(this,arguments)}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){So=Eo;const $a={};Io[1]&8388608&&($a.$$scope={dirty:Io,ctx:So}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot_6$D(So){let $o;return{c(){$o=text("View templates")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_5$O(So){let $o;return{c(){$o=text("Import workspace")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_each_block$1A(So,$o){let ko,Eo,Io;return Eo=new AppRow({props:{app:$o[46],lockedAction:$o[16]}}),{key:So,first:null,c(){ko=empty$4(),create_component(Eo.$$.fragment),this.first=ko},m($a,ya){insert$1($a,ko,ya),mount_component(Eo,$a,ya),Io=!0},p($a,ya){$o=$a;const wa={};ya[0]&8&&(wa.app=$o[46]),Eo.$set(wa)},i($a){Io||(transition_in(Eo.$$.fragment,$a),Io=!0)},o($a){transition_out(Eo.$$.fragment,$a),Io=!1},d($a){$a&&detach(ko),destroy_component(Eo,$a)}}}function create_default_slot_4$14(So){let $o,ko=So[6].user&&canCreateApps(So[6].user),Eo,Io,$a,ya,wa,ka,Sa,Oa=[],Ca=new Map,Ea,Ta=ko&&create_if_block_2$1b(So);$a=new Select_1$1({props:{autoWidth:!0,value:So[15],placeholder:null,options:[{label:"Sort by name",value:"name"},{label:"Sort by recently updated",value:"updated"},{label:"Sort by status",value:"status"}]}}),$a.$on("change",So[31]),wa=new Search_1({props:{placeholder:"Search"}}),wa.$on("input",So[32]),wa.$on("change",So[33]);let Aa=ensure_array_like(So[3]);const Ia=Pa=>Pa[46].appId;for(let Pa=0;Pa<Aa.length;Pa+=1){let Ra=get_each_context$1A(So,Aa,Pa),Da=Ia(Ra);Ca.set(Da,Oa[Pa]=create_each_block$1A(Da,Ra))}return{c(){$o=element("div"),Ta&&Ta.c(),Eo=space$2(),Io=element("div"),create_component($a.$$.fragment),ya=space$2(),create_component(wa.$$.fragment),ka=space$2(),Sa=element("div");for(let Pa=0;Pa<Oa.length;Pa+=1)Oa[Pa].c();attr(Io,"class","app-actions svelte-1x4sm22"),attr($o,"class","title svelte-1x4sm22"),attr(Sa,"class","app-table svelte-1x4sm22")},m(Pa,Ra){insert$1(Pa,$o,Ra),Ta&&Ta.m($o,null),append$2($o,Eo),append$2($o,Io),mount_component($a,Io,null),append$2(Io,ya),mount_component(wa,Io,null),insert$1(Pa,ka,Ra),insert$1(Pa,Sa,Ra);for(let Da=0;Da<Oa.length;Da+=1)Oa[Da]&&Oa[Da].m(Sa,null);Ea=!0},p(Pa,Ra){Ra[0]&64&&(ko=Pa[6].user&&canCreateApps(Pa[6].user)),ko?Ta?(Ta.p(Pa,Ra),Ra[0]&64&&transition_in(Ta,1)):(Ta=create_if_block_2$1b(Pa),Ta.c(),transition_in(Ta,1),Ta.m($o,Eo)):Ta&&(group_outros(),transition_out(Ta,1,1,()=>{Ta=null}),check_outros());const Da={};Ra[0]&32768&&(Da.value=Pa[15]),$a.$set(Da),Ra[0]&65544&&(Aa=ensure_array_like(Pa[3]),group_outros(),Oa=update_keyed_each(Oa,Ra,Ia,1,Pa,Aa,Ca,Sa,outro_and_destroy_block,create_each_block$1A,null,get_each_context$1A),check_outros())},i(Pa){if(!Ea){transition_in(Ta),transition_in($a.$$.fragment,Pa),transition_in(wa.$$.fragment,Pa);for(let Ra=0;Ra<Aa.length;Ra+=1)transition_in(Oa[Ra]);Ea=!0}},o(Pa){transition_out(Ta),transition_out($a.$$.fragment,Pa),transition_out(wa.$$.fragment,Pa);for(let Ra=0;Ra<Oa.length;Ra+=1)transition_out(Oa[Ra]);Ea=!1},d(Pa){Pa&&(detach($o),detach(ka),detach(Sa)),Ta&&Ta.d(),destroy_component($a),destroy_component(wa);for(let Ra=0;Ra<Oa.length;Ra+=1)Oa[Ra].d()}}}function create_if_block$3z(So){let $o,ko,Eo,Io,$a,ya,wa,ka;return wa=new Spinner({props:{size:"10"}}),{c(){$o=element("div"),ko=element("img"),Io=space$2(),$a=element("p"),$a.textContent="Creating your Budibase app from your selected template...",ya=space$2(),create_component(wa.$$.fragment),attr(ko,"class","img-logo img-size svelte-1x4sm22"),attr(ko,"alt","logo"),src_url_equal(ko.src,Eo=Logo)||attr(ko,"src",Eo),attr($o,"class","empty-wrapper svelte-1x4sm22")},m(Sa,Oa){insert$1(Sa,$o,Oa),append$2($o,ko),append$2($o,Io),append$2($o,$a),append$2($o,ya),mount_component(wa,$o,null),ka=!0},i(Sa){ka||(transition_in(wa.$$.fragment,Sa),ka=!0)},o(Sa){transition_out(wa.$$.fragment,Sa),ka=!1},d(Sa){Sa&&detach($o),destroy_component(wa)}}}function create_default_slot_3$1o(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea=ensure_array_like(Object.keys(So[10]||{})),Ta=[];for(let Fa=0;Fa<Ea.length;Fa+=1)Ta[Fa]=create_each_block_2$9(get_each_context_2$9(So,Ea,Fa));const Aa=Fa=>transition_out(Ta[Fa],1,1,()=>{Ta[Fa]=null});let Ia=ensure_array_like(Object.keys(So[11]||{})),Pa=[];for(let Fa=0;Fa<Ia.length;Fa+=1)Pa[Fa]=create_each_block_1$t(get_each_context_1$t(So,Ia,Fa));const Ra=Fa=>transition_out(Pa[Fa],1,1,()=>{Pa[Fa]=null});$a=new Layout$l({props:{noPadding:!0,gap:"XS",$$slots:{default:[create_default_slot_9$h]},$$scope:{ctx:So}}});const Da=[create_if_block_1$1T,create_else_block$1l],La=[];function Na(Fa,za){return Fa[14].apps.length?0:1}wa=Na(So),ka=La[wa]=Da[wa](So);let Ba=So[9]&&create_if_block$3z();return{c(){for(let Fa=0;Fa<Ta.length;Fa+=1)Ta[Fa].c();$o=space$2();for(let Fa=0;Fa<Pa.length;Fa+=1)Pa[Fa].c();ko=space$2(),Eo=element("div"),Io=element("div"),create_component($a.$$.fragment),ya=space$2(),ka.c(),Sa=space$2(),Ba&&Ba.c(),Oa=empty$4(),attr(Io,"class","welcome"),attr(Eo,"class","title svelte-1x4sm22")},m(Fa,za){for(let Ua=0;Ua<Ta.length;Ua+=1)Ta[Ua]&&Ta[Ua].m(Fa,za);insert$1(Fa,$o,za);for(let Ua=0;Ua<Pa.length;Ua+=1)Pa[Ua]&&Pa[Ua].m(Fa,za);insert$1(Fa,ko,za),insert$1(Fa,Eo,za),append$2(Eo,Io),mount_component($a,Io,null),insert$1(Fa,ya,za),La[wa].m(Fa,za),insert$1(Fa,Sa,za),Ba&&Ba.m(Fa,za),insert$1(Fa,Oa,za),Ca=!0},p(Fa,za){if(za[0]&918528){Ea=ensure_array_like(Object.keys(Fa[10]||{}));let Wa;for(Wa=0;Wa<Ea.length;Wa+=1){const ja=get_each_context_2$9(Fa,Ea,Wa);Ta[Wa]?(Ta[Wa].p(ja,za),transition_in(Ta[Wa],1)):(Ta[Wa]=create_each_block_2$9(ja),Ta[Wa].c(),transition_in(Ta[Wa],1),Ta[Wa].m($o.parentNode,$o))}for(group_outros(),Wa=Ea.length;Wa<Ta.length;Wa+=1)Aa(Wa);check_outros()}if(za[0]&3409920){Ia=ensure_array_like(Object.keys(Fa[11]||{}));let Wa;for(Wa=0;Wa<Ia.length;Wa+=1){const ja=get_each_context_1$t(Fa,Ia,Wa);Pa[Wa]?(Pa[Wa].p(ja,za),transition_in(Pa[Wa],1)):(Pa[Wa]=create_each_block_1$t(ja),Pa[Wa].c(),transition_in(Pa[Wa],1),Pa[Wa].m(ko.parentNode,ko))}for(group_outros(),Wa=Ia.length;Wa<Pa.length;Wa+=1)Ra(Wa);check_outros()}const Ua={};za[0]&8192|za[1]&8388608&&(Ua.$$scope={dirty:za,ctx:Fa}),$a.$set(Ua);let Ha=wa;wa=Na(Fa),wa===Ha?La[wa].p(Fa,za):(group_outros(),transition_out(La[Ha],1,1,()=>{La[Ha]=null}),check_outros(),ka=La[wa],ka?ka.p(Fa,za):(ka=La[wa]=Da[wa](Fa),ka.c()),transition_in(ka,1),ka.m(Sa.parentNode,Sa)),Fa[9]?Ba?za[0]&512&&transition_in(Ba,1):(Ba=create_if_block$3z(),Ba.c(),transition_in(Ba,1),Ba.m(Oa.parentNode,Oa)):Ba&&(group_outros(),transition_out(Ba,1,1,()=>{Ba=null}),check_outros())},i(Fa){if(!Ca){for(let za=0;za<Ea.length;za+=1)transition_in(Ta[za]);for(let za=0;za<Ia.length;za+=1)transition_in(Pa[za]);transition_in($a.$$.fragment,Fa),transition_in(ka),transition_in(Ba),Ca=!0}},o(Fa){Ta=Ta.filter(Boolean);for(let za=0;za<Ta.length;za+=1)transition_out(Ta[za]);Pa=Pa.filter(Boolean);for(let za=0;za<Pa.length;za+=1)transition_out(Pa[za]);transition_out($a.$$.fragment,Fa),transition_out(ka),transition_out(Ba),Ca=!1},d(Fa){Fa&&(detach($o),detach(ko),detach(Eo),detach(ya),detach(Sa),detach(Oa)),destroy_each(Ta,Fa),destroy_each(Pa,Fa),destroy_component($a),La[wa].d(Fa),Ba&&Ba.d(Fa)}}}function create_default_slot_2$1_(So){let $o,ko;return $o=new Layout$l({props:{noPadding:!0,gap:"L",$$slots:{default:[create_default_slot_3$1o]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io[0]&61038|Io[1]&8388608&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot_1$2S(So){let $o,ko;return $o=new CreateAppModal({props:{key:So[4].showImportModal?"import":So[4].showCreateModal?"create":"none"}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io[0]&16&&($a.key=Eo[4].showImportModal?"import":Eo[4].showCreateModal?"create":"none"),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot$4A(So){let $o,ko;return $o=new TemplatesModal({props:{onSelectTemplate:So[25]}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p:noop$5,i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_fragment$7J(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea;$o=new HeroBanner({props:{title:"Workspaces are live",linkTitle:"Learn about workspaces",linkHref:"https://budibase.com/blog/updates/workspaces/",color:"var(--spectrum-global-color-gray-100)",image:"https://res.cloudinary.com/daog6scxm/image/upload/w_1200,h_800/v1628152378/1.%20Illustrations/Scene_4_web_version_izudxc.avif",key:BannerType.PORTAL,$$slots:{default:[create_default_slot_12$a]},$$scope:{ctx:So}}}),Eo=new Page({props:{$$slots:{default:[create_default_slot_2$1_]},$$scope:{ctx:So}}});let Ta={padding:!1,width:"600px",$$slots:{default:[create_default_slot_1$2S]},$$scope:{ctx:So}};$a=new Modal({props:Ta}),So[34]($a),$a.$on("hide",So[24]);let Aa={$$slots:{default:[create_default_slot$4A]},$$scope:{ctx:So}};wa=new Modal({props:Aa}),So[35](wa);let Ia={};Sa=new AppLimitModal({props:Ia}),So[36](Sa);let Pa={onConfirm:So[37]};return Ca=new AccountLockedModal({props:Pa}),So[38](Ca),{c(){create_component($o.$$.fragment),ko=space$2(),create_component(Eo.$$.fragment),Io=space$2(),create_component($a.$$.fragment),ya=space$2(),create_component(wa.$$.fragment),ka=space$2(),create_component(Sa.$$.fragment),Oa=space$2(),create_component(Ca.$$.fragment)},m(Ra,Da){mount_component($o,Ra,Da),insert$1(Ra,ko,Da),mount_component(Eo,Ra,Da),insert$1(Ra,Io,Da),mount_component($a,Ra,Da),insert$1(Ra,ya,Da),mount_component(wa,Ra,Da),insert$1(Ra,ka,Da),mount_component(Sa,Ra,Da),insert$1(Ra,Oa,Da),mount_component(Ca,Ra,Da),Ea=!0},p(Ra,Da){const La={};Da[1]&8388608&&(La.$$scope={dirty:Da,ctx:Ra}),$o.$set(La);const Na={};Da[0]&61038|Da[1]&8388608&&(Na.$$scope={dirty:Da,ctx:Ra}),Eo.$set(Na);const Ba={};Da[0]&16|Da[1]&8388608&&(Ba.$$scope={dirty:Da,ctx:Ra}),$a.$set(Ba);const Fa={};Da[1]&8388608&&(Fa.$$scope={dirty:Da,ctx:Ra}),wa.$set(Fa);const za={};Sa.$set(za);const Ua={};Da[0]&4096&&(Ua.onConfirm=Ra[37]),Ca.$set(Ua)},i(Ra){Ea||(transition_in($o.$$.fragment,Ra),transition_in(Eo.$$.fragment,Ra),transition_in($a.$$.fragment,Ra),transition_in(wa.$$.fragment,Ra),transition_in(Sa.$$.fragment,Ra),transition_in(Ca.$$.fragment,Ra),Ea=!0)},o(Ra){transition_out($o.$$.fragment,Ra),transition_out(Eo.$$.fragment,Ra),transition_out($a.$$.fragment,Ra),transition_out(wa.$$.fragment,Ra),transition_out(Sa.$$.fragment,Ra),transition_out(Ca.$$.fragment,Ra),Ea=!1},d(Ra){Ra&&(detach(ko),detach(Io),detach(ya),detach(ka),detach(Oa)),destroy_component($o,Ra),destroy_component(Eo,Ra),So[34](null),destroy_component($a,Ra),So[35](null),destroy_component(wa,Ra),So[36](null),destroy_component(Sa,Ra),So[38](null),destroy_component(Ca,Ra)}}}function instance$7J(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta;component_subscribe(So,licensing,Cl=>ko(39,ya=Cl)),component_subscribe(So,goto,Cl=>ko(40,wa=Cl)),component_subscribe(So,appsStore,Cl=>ko(14,ka=Cl)),component_subscribe(So,appCreationStore,Cl=>ko(4,Sa=Cl)),component_subscribe(So,enrichedApps,Cl=>ko(26,Oa=Cl)),component_subscribe(So,admin,Cl=>ko(5,Ca=Cl)),component_subscribe(So,auth,Cl=>ko(6,Ea=Cl)),component_subscribe(So,sortBy,Cl=>ko(15,Ta=Cl));let Aa,Ia,Pa,Ra,Da="",La=!1,Na,Ba;const Fa=(Cl,wl)=>Cl==null?void 0:Cl.filter(Al=>{var Dl,Gl;const Ll=(Dl=wl==null?void 0:wl.trim())==null?void 0:Dl.replace(/\s/g,"");return Ll?(Gl=Al==null?void 0:Al.name)==null?void 0:Gl.toLowerCase().includes(Ll.toLowerCase()):!0}),za=ya!=null&&ya.errUserLimit?()=>Pa.show():null,Ua=Cl=>{const wl={};for(let Al of Cl)Al.automationErrors&&Wa(Al.automationErrors)>0&&(wl[Al.devId]=Al.automationErrors);return wl},Ha=Cl=>{const wl=Object.keys(Na[Cl]||{})[0];wl&&wa(`/builder/workspace/${Cl}/automation/${wl}`)},Wa=Cl=>Object.values(Cl).reduce((wl,Al)=>wl+Al.length,0),ja=Cl=>{const wl=Oa.find(Ll=>Ll.devId===Cl),Al=Na[Cl];return`${wl.name} - Automation error (${Wa(Al)})`},Ya=Cl=>{const wl={};for(const Al of Cl)Al.backupErrors&&Wa(Al.backupErrors)>0&&(wl[Al.devId]=Al.backupErrors);return wl},Xa=Cl=>{Object.keys(Ba[Cl]||{})[0]&&wa(`/builder/workspace/${Cl}/settings/backups`)},Za=Cl=>{const wl=Oa.find(Ll=>Ll.devId===Cl),Al=Ba[Cl];return`${wl.name} - Backup error (${Wa(Al)})`},Ga=async()=>{var Cl;((Cl=ya==null?void 0:ya.usageMetrics)==null?void 0:Cl.apps)>=100?Ia.show():appCreationStore.showCreateModal()},Ka=()=>{var Cl;((Cl=ya==null?void 0:ya.usageMetrics)==null?void 0:Cl.apps)>=100?Ia.show():appCreationStore.showImportModal()},tl=async()=>{try{const Cl=Sa.template;if(!(Cl!=null&&Cl.key)){notifications.error("No template selected");return}const wl=jl=>jl.replace(/\w\S*/g,Rl=>Rl.charAt(0).toUpperCase()+Rl.substr(1).toLowerCase());let Ll=Cl.key.split("/")[1].replace(/-/g," ");Ll=wl(Ll);const Dl=Ll.toLowerCase().replace(/\s+/g,"-"),Gl=jl=>ka.apps.some(Rl=>Rl.name===jl),Ol=jl=>ka.apps.some(Rl=>{var ql;return((ql=Rl.url)==null?void 0:ql.replace(/^\//,""))===jl});let ic=1,zl=Ll,Ml=Dl;for(;Gl(zl)||Ol(Ml);)ic++,zl=`${Ll} ${ic}`,Ml=`${Dl}-${ic}`;let Kl=new FormData;Kl.append("name",zl),Kl.append("url",Ml),Kl.append("useTemplate","true"),Kl.append("templateKey",Cl.key),Kl.append("isOnboarding","false");const Ul=await API.createApp(Kl),Yl=await API.fetchAppPackage(Ul.instance._id);await initialise(Yl),await admin.init(),await API.updateOwnMetadata({roleId:"BASIC"}),await auth.setInitInfo({}),wa(`/builder/workspace/${Ul.instance._id}`)}catch(Cl){notifications.error(`Error creating app - ${Cl.message}`)}},nl=()=>{appCreationStore.hideCreateModal(),appCreationStore.hideImportModal(),appCreationStore.hideTemplatesModal(),appCreationStore.clearTemplate()};function rl(Cl){var Al;const wl=Cl.split("/");if(wl.length===2&&wl[0]==="app"){if(((Al=ya==null?void 0:ya.usageMetrics)==null?void 0:Al.apps)>=100){Ia.show();return}appCreationStore.setTemplate({key:Cl}),tl()}else notifications.error("Your Template URL is invalid. Please try another.")}const il=Cl=>{var wl;if(((wl=ya==null?void 0:ya.usageMetrics)==null?void 0:wl.apps)>=100){Ia.show();return}appCreationStore.setTemplate(Cl),appCreationStore.hideTemplatesModal(),tl()};onMount(async()=>{try{const Cl=await auth.getInitInfo();Cl!=null&&Cl.init_template&&(ko(9,La=!0),rl(Cl.init_template)),za&&za(),await templates.load()}catch{notifications.error("Error getting init info")}});const sl=Cl=>Ha(Cl),ul=async Cl=>{const wl=Object.keys(Na[Cl]||{})[0];wl&&(await automationStore.actions.clearLogErrors({appId:Cl,automationId:wl}),await appsStore.load())},al=Cl=>Xa(Cl),dl=async Cl=>{Object.keys(Ba[Cl]||{})[0]&&(await backups.clearBackupErrors(Cl),await appsStore.load())},gl=Cl=>{appsStore.updateSort(Cl.detail)},cl=Cl=>{ko(2,Da=Cl.target.value)},fl=Cl=>{Cl.detail||ko(2,Da=null)};function pl(Cl){binding_callbacks[Cl?"unshift":"push"](()=>{Aa=Cl,ko(0,Aa)})}function ml(Cl){binding_callbacks[Cl?"unshift":"push"](()=>{Ra=Cl,ko(1,Ra)})}function vl(Cl){binding_callbacks[Cl?"unshift":"push"](()=>{Ia=Cl,ko(7,Ia)})}const $l=()=>$a?licensing.goToUpgradePage():licensing.goToPricingPage();function bl(Cl){binding_callbacks[Cl?"unshift":"push"](()=>{Pa=Cl,ko(8,Pa)})}return So.$$.update=()=>{var Cl;So.$$.dirty[0]&64&&ko(13,Eo=`Welcome ${((Cl=Ea==null?void 0:Ea.user)==null?void 0:Cl.firstName)||"back"}`),So.$$.dirty[0]&67108868&&ko(3,Io=Fa(Oa,Da)),So.$$.dirty[0]&8&&ko(10,Na=Ua(Io||[])),So.$$.dirty[0]&8&&ko(11,Ba=Ya(Io||[])),So.$$.dirty[0]&96&&ko(12,$a=Ea.accountPortalAccess&&Ca.cloud),So.$$.dirty[0]&17&&(Sa.showCreateModal||Sa.showImportModal)&&Aa&&Aa.show(),So.$$.dirty[0]&18&&Sa.showTemplatesModal&&Ra&&Ra.show()},[Aa,Ra,Da,Io,Sa,Ca,Ea,Ia,Pa,La,Na,Ba,$a,Eo,ka,Ta,za,Ha,Wa,ja,Xa,Za,Ga,Ka,nl,il,Oa,sl,ul,al,dl,gl,cl,fl,pl,ml,vl,$l,bl]}let Workspaces$1=class extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7J,create_fragment$7J,safe_not_equal,{},null,[-1,-1])}};const index_svelte_svelte_type_style_lang$k="";function create_else_block$1k(So){let $o,ko,Eo,Io,$a;return ko=new Body({props:{size:"M",$$slots:{default:[create_default_slot_2$1Z]},$$scope:{ctx:So}}}),Io=new Button({props:{size:"L",cta:!0,$$slots:{default:[create_default_slot_1$2R]},$$scope:{ctx:So}}}),Io.$on("click",So[2]),{c(){$o=element("div"),create_component(ko.$$.fragment),Eo=space$2(),create_component(Io.$$.fragment),attr($o,"class","content svelte-n432aj")},m(ya,wa){insert$1(ya,$o,wa),mount_component(ko,$o,null),append$2($o,Eo),mount_component(Io,$o,null),$a=!0},p(ya,wa){const ka={};wa&18&&(ka.$$scope={dirty:wa,ctx:ya}),ko.$set(ka);const Sa={};wa&16&&(Sa.$$scope={dirty:wa,ctx:ya}),Io.$set(Sa)},i(ya){$a||(transition_in(ko.$$.fragment,ya),transition_in(Io.$$.fragment,ya),$a=!0)},o(ya){transition_out(ko.$$.fragment,ya),transition_out(Io.$$.fragment,ya),$a=!1},d(ya){ya&&detach($o),destroy_component(ko),destroy_component(Io)}}}function create_if_block$3y(So){let $o,ko,Eo,Io,$a;return ko=new Spinner({props:{size:"10"}}),Io=new Body({props:{size:"M",$$slots:{default:[create_default_slot$4z]},$$scope:{ctx:So}}}),{c(){$o=element("div"),create_component(ko.$$.fragment),Eo=space$2(),create_component(Io.$$.fragment),attr($o,"class","content svelte-n432aj")},m(ya,wa){insert$1(ya,$o,wa),mount_component(ko,$o,null),append$2($o,Eo),mount_component(Io,$o,null),$a=!0},p(ya,wa){const ka={};wa&16&&(ka.$$scope={dirty:wa,ctx:ya}),Io.$set(ka)},i(ya){$a||(transition_in(ko.$$.fragment,ya),transition_in(Io.$$.fragment,ya),$a=!0)},o(ya){transition_out(ko.$$.fragment,ya),transition_out(Io.$$.fragment,ya),$a=!1},d(ya){ya&&detach($o),destroy_component(ko),destroy_component(Io)}}}function create_default_slot_2$1Z(So){let $o;return{c(){$o=text(So[1])},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo&2&&set_data($o,ko[1])},d(ko){ko&&detach($o)}}}function create_default_slot_1$2R(So){let $o;return{c(){$o=text("Try again")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot$4z(So){let $o;return{c(){$o=text("Setting up your workspace...")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_fragment$7I(So){let $o,ko,Eo,Io;const $a=[create_if_block$3y,create_else_block$1k],ya=[];function wa(ka,Sa){return ka[0]?0:1}return ko=wa(So),Eo=ya[ko]=$a[ko](So),{c(){$o=element("div"),Eo.c(),attr($o,"class","container svelte-n432aj")},m(ka,Sa){insert$1(ka,$o,Sa),ya[ko].m($o,null),Io=!0},p(ka,[Sa]){let Oa=ko;ko=wa(ka),ko===Oa?ya[ko].p(ka,Sa):(group_outros(),transition_out(ya[Oa],1,1,()=>{ya[Oa]=null}),check_outros(),Eo=ya[ko],Eo?Eo.p(ka,Sa):(Eo=ya[ko]=$a[ko](ka),Eo.c()),transition_in(Eo,1),Eo.m($o,null))},i(ka){Io||(transition_in(Eo),Io=!0)},o(ka){transition_out(Eo),Io=!1},d(ka){ka&&detach($o),ya[ko].d()}}}const DEFAULT_ONBOARDING_NAME="My first app",DEFAULT_ONBOARDING_URL="my-first-app";function instance$7I(So,$o,ko){let Eo;component_subscribe(So,goto,wa=>ko(3,Eo=wa));let Io=!0,$a=null;const ya=async()=>{ko(0,Io=!0),ko(1,$a=null);try{const wa=new FormData;wa.append("name",DEFAULT_ONBOARDING_NAME),wa.append("url",DEFAULT_ONBOARDING_URL),wa.append("useTemplate","false"),wa.append("isOnboarding","true");const ka=await API.createApp(wa),Sa=await API.fetchAppPackage(ka.instance._id);await initialise(Sa),await admin.init(),await auth.setInitInfo({});const Oa=Sa.screens.find(Ea=>{var Ta;return(Ta=Ea.routing)==null?void 0:Ta.homeScreen}),Ca=Oa!=null&&Oa.workspaceAppId&&(Oa!=null&&Oa._id)?buildBuilderWorkspaceDesignRoute({applicationId:ka.instance._id,workspaceAppId:Oa.workspaceAppId,screenId:Oa._id}):buildBuilderWorkspaceRoute({applicationId:ka.instance._id});Eo(Ca)}catch(wa){ko(0,Io=!1);const ka=(wa==null?void 0:wa.message)||"There was a problem creating your app";ko(1,$a=ka),notifications.error(ka)}};return onMount(()=>{ya()}),[Io,$a,ya]}class Onboarding extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7I,create_fragment$7I,safe_not_equal,{})}}const _layout_svelte_svelte_type_style_lang$5="";function create_if_block$3x(So){let $o,ko;const Eo=So[2].default,Io=create_slot(Eo,So,So[1],null);return{c(){$o=element("div"),Io&&Io.c(),attr($o,"class","page svelte-tsq03j")},m($a,ya){insert$1($a,$o,ya),Io&&Io.m($o,null),ko=!0},p($a,ya){Io&&Io.p&&(!ko||ya&2)&&update_slot_base(Io,Eo,$a,$a[1],ko?get_slot_changes(Eo,$a[1],ya,null):get_all_dirty_from_scope($a[1]),null)},i($a){ko||(transition_in(Io,$a),ko=!0)},o($a){transition_out(Io,$a),ko=!1},d($a){$a&&detach($o),Io&&Io.d($a)}}}function create_fragment$7H(So){let $o,ko,Eo=So[0]&&create_if_block$3x(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m(Io,$a){Eo&&Eo.m(Io,$a),insert$1(Io,$o,$a),ko=!0},p(Io,[$a]){Io[0]?Eo?(Eo.p(Io,$a),$a&1&&transition_in(Eo,1)):(Eo=create_if_block$3x(Io),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o)):Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros())},i(Io){ko||(transition_in(Eo),ko=!0)},o(Io){transition_out(Eo),ko=!1},d(Io){Io&&detach($o),Eo&&Eo.d(Io)}}}function instance$7H(So,$o,ko){var Ca;let Eo,Io,$a,ya,wa;component_subscribe(So,redirect,Ea=>ko(3,Eo=Ea)),component_subscribe(So,auth,Ea=>ko(4,Io=Ea)),component_subscribe(So,appsStore,Ea=>ko(5,$a=Ea)),component_subscribe(So,templates,Ea=>ko(6,ya=Ea)),component_subscribe(So,admin,Ea=>ko(7,wa=Ea));let{$$slots:ka={},$$scope:Sa}=$o,Oa=!!((Ca=$a.apps)!=null&&Ca.length);return onMount(async()=>{try{const Ea=[licensing.init()];wa.offlineMode||Ea.push(templates.load()),Ea.push(groups.init()),await Promise.all(Ea),!wa.offlineMode&&(ya==null?void 0:ya.length)===0&&notifications.error("There was a problem loading quick start templates"),!$a.apps.length&&hasBuilderPermissions(Io.user)&&Eo("./onboarding")}catch{notifications.error("Error loading apps and templates")}ko(0,Oa=!0)}),So.$$set=Ea=>{"$$scope"in Ea&&ko(1,Sa=Ea.$$scope)},[Oa,Sa,ka]}let Layout$h=class extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7H,create_fragment$7H,safe_not_equal,{})}};const Breadcrumb_svelte_svelte_type_style_lang="";function create_else_block$1j(So){let $o,ko,Eo,Io;return{c(){$o=element("span"),ko=text(So[1]),attr($o,"class","svelte-13om1ke")},m($a,ya){insert$1($a,$o,ya),append$2($o,ko),Eo||(Io=listen($o,"click",So[3]),Eo=!0)},p($a,ya){ya&2&&set_data(ko,$a[1])},d($a){$a&&detach($o),Eo=!1,Io()}}}function create_if_block$3w(So){let $o,ko;return{c(){$o=element("a"),ko=text(So[1]),attr($o,"href",So[0]),attr($o,"class","svelte-13om1ke")},m(Eo,Io){insert$1(Eo,$o,Io),append$2($o,ko)},p(Eo,Io){Io&2&&set_data(ko,Eo[1]),Io&1&&attr($o,"href",Eo[0])},d(Eo){Eo&&detach($o)}}}function create_fragment$7G(So){let $o,ko,Eo,Io;function $a(ka,Sa){return typeof ka[2]!="function"?create_if_block$3w:create_else_block$1j}let ya=$a(So),wa=ya(So);return Eo=new Icon({props:{name:"caret-right"}}),{c(){$o=element("div"),wa.c(),ko=space$2(),create_component(Eo.$$.fragment),attr($o,"class","crumb svelte-13om1ke")},m(ka,Sa){insert$1(ka,$o,Sa),wa.m($o,null),append$2($o,ko),mount_component(Eo,$o,null),Io=!0},p(ka,[Sa]){ya===(ya=$a(ka))&&wa?wa.p(ka,Sa):(wa.d(1),wa=ya(ka),wa&&(wa.c(),wa.m($o,ko)))},i(ka){Io||(transition_in(Eo.$$.fragment,ka),Io=!0)},o(ka){transition_out(Eo.$$.fragment,ka),Io=!1},d(ka){ka&&detach($o),wa.d(),destroy_component(Eo)}}}function instance$7G(So,$o,ko){let{url:Eo=void 0}=$o,{text:Io=void 0}=$o,{onClick:$a=void 0}=$o;const ya=wa=>$a(wa);return So.$$set=wa=>{"url"in wa&&ko(0,Eo=wa.url),"text"in wa&&ko(1,Io=wa.text),"onClick"in wa&&ko(2,$a=wa.onClick)},[Eo,Io,$a,ya]}class Breadcrumb extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7G,create_fragment$7G,safe_not_equal,{url:0,text:1,onClick:2})}}const Breadcrumbs_svelte_svelte_type_style_lang="";function create_fragment$7F(So){let $o,ko;const Eo=So[1].default,Io=create_slot(Eo,So,So[0],null);return{c(){$o=element("div"),Io&&Io.c(),attr($o,"class","svelte-t964sm")},m($a,ya){insert$1($a,$o,ya),Io&&Io.m($o,null),ko=!0},p($a,[ya]){Io&&Io.p&&(!ko||ya&1)&&update_slot_base(Io,Eo,$a,$a[0],ko?get_slot_changes(Eo,$a[0],ya,null):get_all_dirty_from_scope($a[0]),null)},i($a){ko||(transition_in(Io,$a),ko=!0)},o($a){transition_out(Io,$a),ko=!1},d($a){$a&&detach($o),Io&&Io.d($a)}}}function instance$7F(So,$o,ko){let{$$slots:Eo={},$$scope:Io}=$o;return So.$$set=$a=>{"$$scope"in $a&&ko(0,Io=$a.$$scope)},[Io,Eo]}class Breadcrumbs extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7F,create_fragment$7F,safe_not_equal,{})}}const Header_svelte_svelte_type_style_lang="",Content_svelte_svelte_type_style_lang="",SideNavItem_svelte_svelte_type_style_lang="";function create_else_block$1i(So){let $o,ko=(So[0]||"")+"",Eo,Io,$a;return{c(){$o=element("div"),Eo=text(ko),attr($o,"class","text svelte-1hh32w7"),toggle_class($o,"active",So[2]),toggle_class($o,"disabled",So[3])},m(ya,wa){insert$1(ya,$o,wa),append$2($o,Eo),Io||($a=listen($o,"click",So[5]),Io=!0)},p(ya,wa){wa&1&&ko!==(ko=(ya[0]||"")+"")&&set_data(Eo,ko),wa&4&&toggle_class($o,"active",ya[2]),wa&8&&toggle_class($o,"disabled",ya[3])},d(ya){ya&&detach($o),Io=!1,$a()}}}function create_if_block$3v(So){let $o,ko=(So[0]||"")+"",Eo,Io,$a;return{c(){$o=element("a"),Eo=text(ko),attr($o,"class","text svelte-1hh32w7"),attr($o,"href",So[1]),toggle_class($o,"active",So[2]),toggle_class($o,"disabled",So[3])},m(ya,wa){insert$1(ya,$o,wa),append$2($o,Eo),Io||($a=listen($o,"click",So[4]),Io=!0)},p(ya,wa){wa&1&&ko!==(ko=(ya[0]||"")+"")&&set_data(Eo,ko),wa&2&&attr($o,"href",ya[1]),wa&4&&toggle_class($o,"active",ya[2]),wa&8&&toggle_class($o,"disabled",ya[3])},d(ya){ya&&detach($o),Io=!1,$a()}}}function create_fragment$7E(So){let $o;function ko($a,ya){return $a[1]?create_if_block$3v:create_else_block$1i}let Eo=ko(So),Io=Eo(So);return{c(){$o=element("div"),Io.c(),attr($o,"class","side-nav-item svelte-1hh32w7")},m($a,ya){insert$1($a,$o,ya),Io.m($o,null)},p($a,[ya]){Eo===(Eo=ko($a))&&Io?Io.p($a,ya):(Io.d(1),Io=Eo($a),Io&&(Io.c(),Io.m($o,null)))},i:noop$5,o:noop$5,d($a){$a&&detach($o),Io.d()}}}function instance$7E(So,$o,ko){let{text:Eo=""}=$o,{url:Io=""}=$o,{active:$a=!1}=$o,{disabled:ya=!1}=$o;function wa(Sa){bubble.call(this,So,Sa)}function ka(Sa){bubble.call(this,So,Sa)}return So.$$set=Sa=>{"text"in Sa&&ko(0,Eo=Sa.text),"url"in Sa&&ko(1,Io=Sa.url),"active"in Sa&&ko(2,$a=Sa.active),"disabled"in Sa&&ko(3,ya=Sa.disabled)},[Eo,Io,$a,ya,wa,ka]}class SideNavItem extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7E,create_fragment$7E,safe_not_equal,{text:0,url:1,active:2,disabled:3})}}const SideNav_svelte_svelte_type_style_lang$1="";function create_if_block$3u(So){let $o,ko;return{c(){$o=element("div"),ko=text(So[0]),attr($o,"class","title svelte-14ilt20")},m(Eo,Io){insert$1(Eo,$o,Io),append$2($o,ko)},p(Eo,Io){Io&1&&set_data(ko,Eo[0])},d(Eo){Eo&&detach($o)}}}function create_fragment$7D(So){let $o,ko,Eo,Io=So[0]&&create_if_block$3u(So);const $a=So[2].default,ya=create_slot($a,So,So[1],null);return{c(){$o=element("div"),Io&&Io.c(),ko=space$2(),ya&&ya.c(),attr($o,"class","side-nav svelte-14ilt20")},m(wa,ka){insert$1(wa,$o,ka),Io&&Io.m($o,null),append$2($o,ko),ya&&ya.m($o,null),Eo=!0},p(wa,[ka]){wa[0]?Io?Io.p(wa,ka):(Io=create_if_block$3u(wa),Io.c(),Io.m($o,ko)):Io&&(Io.d(1),Io=null),ya&&ya.p&&(!Eo||ka&2)&&update_slot_base(ya,$a,wa,wa[1],Eo?get_slot_changes($a,wa[1],ka,null):get_all_dirty_from_scope(wa[1]),null)},i(wa){Eo||(transition_in(ya,wa),Eo=!0)},o(wa){transition_out(ya,wa),Eo=!1},d(wa){wa&&detach($o),Io&&Io.d(),ya&&ya.d(wa)}}}function instance$7D(So,$o,ko){let{$$slots:Eo={},$$scope:Io}=$o,{title:$a=""}=$o;return So.$$set=ya=>{"title"in ya&&ko(0,$a=ya.title),"$$scope"in ya&&ko(1,Io=ya.$$scope)},[$a,Io,Eo]}let SideNav$1=class extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7D,create_fragment$7D,safe_not_equal,{title:0})}};const Logo_svelte_svelte_type_style_lang="";function create_fragment$7C(So){let $o,ko,Eo,Io;return{c(){$o=element("img"),src_url_equal($o.src,ko=So[0].logoUrl||BBLogo)||attr($o,"src",ko),attr($o,"alt","Budibase Logo"),attr($o,"class","svelte-19hn6ob")},m($a,ya){insert$1($a,$o,ya),Eo||(Io=listen($o,"click",So[2]),Eo=!0)},p($a,[ya]){ya&1&&!src_url_equal($o.src,ko=$a[0].logoUrl||BBLogo)&&attr($o,"src",ko)},i:noop$5,o:noop$5,d($a){$a&&detach($o),Eo=!1,Io()}}}function instance$7C(So,$o,ko){let Eo,Io;return component_subscribe(So,organisation,ya=>ko(0,Eo=ya)),component_subscribe(So,goto,ya=>ko(1,Io=ya)),[Eo,Io,()=>Io("./workspaces")]}class Logo_1 extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7C,create_fragment$7C,safe_not_equal,{})}}const MobileMenu_svelte_svelte_type_style_lang="";function get_each_context$1z(So,$o,ko){const Eo=So.slice();return Eo[6]=$o[ko].title,Eo[7]=$o[ko].subPages,Eo}function get_each_context_1$s(So,$o,ko){const Eo=So.slice();return Eo[6]=$o[ko].title,Eo[10]=$o[ko].href,Eo}function get_each_context_2$8(So,$o,ko){const Eo=So.slice();return Eo[6]=$o[ko].title,Eo[10]=$o[ko].href,Eo[7]=$o[ko].subPages,Eo}function create_if_block_2$1a(So){let $o,ko,Eo,Io,$a;return{c(){$o=element("div"),attr($o,"class","mobile-nav-underlay svelte-tof9hg")},m(ya,wa){insert$1(ya,$o,wa),Eo=!0,Io||($a=listen($o,"click",So[3]),Io=!0)},p:noop$5,i(ya){Eo||(ya&&add_render_callback(()=>{Eo&&(ko||(ko=create_bidirectional_transition($o,fade,{duration:130},!0)),ko.run(1))}),Eo=!0)},o(ya){ya&&(ko||(ko=create_bidirectional_transition($o,fade,{duration:130},!1)),ko.run(0)),Eo=!1},d(ya){ya&&detach($o),ya&&ko&&ko.end(),Io=!1,$a()}}}function create_if_block_1$1S(So){let $o,ko;return $o=new SideNavItem({props:{text:So[6],url:So[10],active:So[2](So[10])}}),$o.$on("click",So[3]),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&2&&($a.text=Eo[6]),Io&2&&($a.url=Eo[10]),Io&6&&($a.active=Eo[2](Eo[10])),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_each_block_2$8(So){var Io;let $o,ko,Eo=!((Io=So[7])!=null&&Io.length)&&create_if_block_1$1S(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m($a,ya){Eo&&Eo.m($a,ya),insert$1($a,$o,ya),ko=!0},p($a,ya){var wa;(wa=$a[7])!=null&&wa.length?Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros()):Eo?(Eo.p($a,ya),ya&2&&transition_in(Eo,1)):(Eo=create_if_block_1$1S($a),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o))},i($a){ko||(transition_in(Eo),ko=!0)},o($a){transition_out(Eo),ko=!1},d($a){$a&&detach($o),Eo&&Eo.d($a)}}}function create_if_block$3t(So){let $o,ko=So[6]+"",Eo,Io,$a,ya,wa=ensure_array_like(So[7]),ka=[];for(let Oa=0;Oa<wa.length;Oa+=1)ka[Oa]=create_each_block_1$s(get_each_context_1$s(So,wa,Oa));const Sa=Oa=>transition_out(ka[Oa],1,1,()=>{ka[Oa]=null});return{c(){$o=element("div"),Eo=text(ko),Io=space$2();for(let Oa=0;Oa<ka.length;Oa+=1)ka[Oa].c();$a=empty$4(),attr($o,"class","category svelte-tof9hg")},m(Oa,Ca){insert$1(Oa,$o,Ca),append$2($o,Eo),insert$1(Oa,Io,Ca);for(let Ea=0;Ea<ka.length;Ea+=1)ka[Ea]&&ka[Ea].m(Oa,Ca);insert$1(Oa,$a,Ca),ya=!0},p(Oa,Ca){if((!ya||Ca&2)&&ko!==(ko=Oa[6]+"")&&set_data(Eo,ko),Ca&14){wa=ensure_array_like(Oa[7]);let Ea;for(Ea=0;Ea<wa.length;Ea+=1){const Ta=get_each_context_1$s(Oa,wa,Ea);ka[Ea]?(ka[Ea].p(Ta,Ca),transition_in(ka[Ea],1)):(ka[Ea]=create_each_block_1$s(Ta),ka[Ea].c(),transition_in(ka[Ea],1),ka[Ea].m($a.parentNode,$a))}for(group_outros(),Ea=wa.length;Ea<ka.length;Ea+=1)Sa(Ea);check_outros()}},i(Oa){if(!ya){for(let Ca=0;Ca<wa.length;Ca+=1)transition_in(ka[Ca]);ya=!0}},o(Oa){ka=ka.filter(Boolean);for(let Ca=0;Ca<ka.length;Ca+=1)transition_out(ka[Ca]);ya=!1},d(Oa){Oa&&(detach($o),detach(Io),detach($a)),destroy_each(ka,Oa)}}}function create_each_block_1$s(So){let $o,ko;return $o=new SideNavItem({props:{text:So[6],url:So[10],active:So[2](So[10])}}),$o.$on("click",So[3]),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&2&&($a.text=Eo[6]),Io&2&&($a.url=Eo[10]),Io&6&&($a.active=Eo[2](Eo[10])),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_each_block$1z(So){var Io;let $o,ko,Eo=((Io=So[7])==null?void 0:Io.length)&&create_if_block$3t(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m($a,ya){Eo&&Eo.m($a,ya),insert$1($a,$o,ya),ko=!0},p($a,ya){var wa;(wa=$a[7])!=null&&wa.length?Eo?(Eo.p($a,ya),ya&2&&transition_in(Eo,1)):(Eo=create_if_block$3t($a),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o)):Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros())},i($a){ko||(transition_in(Eo),ko=!0)},o($a){transition_out(Eo),ko=!1},d($a){$a&&detach($o),Eo&&Eo.d($a)}}}function create_default_slot_2$1Y(So){let $o,ko,Eo,Io=ensure_array_like(So[1]),$a=[];for(let Oa=0;Oa<Io.length;Oa+=1)$a[Oa]=create_each_block_2$8(get_each_context_2$8(So,Io,Oa));const ya=Oa=>transition_out($a[Oa],1,1,()=>{$a[Oa]=null});let wa=ensure_array_like(So[1]),ka=[];for(let Oa=0;Oa<wa.length;Oa+=1)ka[Oa]=create_each_block$1z(get_each_context$1z(So,wa,Oa));const Sa=Oa=>transition_out(ka[Oa],1,1,()=>{ka[Oa]=null});return{c(){for(let Oa=0;Oa<$a.length;Oa+=1)$a[Oa].c();$o=space$2();for(let Oa=0;Oa<ka.length;Oa+=1)ka[Oa].c();ko=empty$4()},m(Oa,Ca){for(let Ea=0;Ea<$a.length;Ea+=1)$a[Ea]&&$a[Ea].m(Oa,Ca);insert$1(Oa,$o,Ca);for(let Ea=0;Ea<ka.length;Ea+=1)ka[Ea]&&ka[Ea].m(Oa,Ca);insert$1(Oa,ko,Ca),Eo=!0},p(Oa,Ca){if(Ca&14){Io=ensure_array_like(Oa[1]);let Ea;for(Ea=0;Ea<Io.length;Ea+=1){const Ta=get_each_context_2$8(Oa,Io,Ea);$a[Ea]?($a[Ea].p(Ta,Ca),transition_in($a[Ea],1)):($a[Ea]=create_each_block_2$8(Ta),$a[Ea].c(),transition_in($a[Ea],1),$a[Ea].m($o.parentNode,$o))}for(group_outros(),Ea=Io.length;Ea<$a.length;Ea+=1)ya(Ea);check_outros()}if(Ca&14){wa=ensure_array_like(Oa[1]);let Ea;for(Ea=0;Ea<wa.length;Ea+=1){const Ta=get_each_context$1z(Oa,wa,Ea);ka[Ea]?(ka[Ea].p(Ta,Ca),transition_in(ka[Ea],1)):(ka[Ea]=create_each_block$1z(Ta),ka[Ea].c(),transition_in(ka[Ea],1),ka[Ea].m(ko.parentNode,ko))}for(group_outros(),Ea=wa.length;Ea<ka.length;Ea+=1)Sa(Ea);check_outros()}},i(Oa){if(!Eo){for(let Ca=0;Ca<Io.length;Ca+=1)transition_in($a[Ca]);for(let Ca=0;Ca<wa.length;Ca+=1)transition_in(ka[Ca]);Eo=!0}},o(Oa){$a=$a.filter(Boolean);for(let Ca=0;Ca<$a.length;Ca+=1)transition_out($a[Ca]);ka=ka.filter(Boolean);for(let Ca=0;Ca<ka.length;Ca+=1)transition_out(ka[Ca]);Eo=!1},d(Oa){Oa&&(detach($o),detach(ko)),destroy_each($a,Oa),destroy_each(ka,Oa)}}}function create_default_slot_1$2Q(So){let $o;return{c(){$o=text("Settings")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot$4y(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta;return ko=new Logo_1({}),Io=new SideNav$1({props:{$$slots:{default:[create_default_slot_2$1Y]},$$scope:{ctx:So}}}),wa=new ActionButton({props:{quiet:!0,icon:"sliders",$$slots:{default:[create_default_slot_1$2Q]},$$scope:{ctx:So}}}),wa.$on("click",So[4]),Oa=new UpgradeButton({}),Oa.$on("click",So[3]),{c(){$o=element("div"),create_component(ko.$$.fragment),Eo=space$2(),create_component(Io.$$.fragment),$a=space$2(),ya=element("div"),create_component(wa.$$.fragment),ka=space$2(),Sa=element("div"),create_component(Oa.$$.fragment)},m(Aa,Ia){insert$1(Aa,$o,Ia),mount_component(ko,$o,null),insert$1(Aa,Eo,Ia),mount_component(Io,Aa,Ia),insert$1(Aa,$a,Ia),insert$1(Aa,ya,Ia),mount_component(wa,ya,null),insert$1(Aa,ka,Ia),insert$1(Aa,Sa,Ia),mount_component(Oa,Sa,null),Ca=!0,Ea||(Ta=listen($o,"click",So[3]),Ea=!0)},p(Aa,Ia){const Pa={};Ia&32774&&(Pa.$$scope={dirty:Ia,ctx:Aa}),Io.$set(Pa);const Ra={};Ia&32768&&(Ra.$$scope={dirty:Ia,ctx:Aa}),wa.$set(Ra)},i(Aa){Ca||(transition_in(ko.$$.fragment,Aa),transition_in(Io.$$.fragment,Aa),transition_in(wa.$$.fragment,Aa),transition_in(Oa.$$.fragment,Aa),Ca=!0)},o(Aa){transition_out(ko.$$.fragment,Aa),transition_out(Io.$$.fragment,Aa),transition_out(wa.$$.fragment,Aa),transition_out(Oa.$$.fragment,Aa),Ca=!1},d(Aa){Aa&&(detach($o),detach(Eo),detach($a),detach(ya),detach(ka),detach(Sa)),destroy_component(ko),destroy_component(Io,Aa),destroy_component(wa),destroy_component(Oa),Ea=!1,Ta()}}}function create_fragment$7B(So){let $o,ko,Eo,Io,$a=So[0]&&create_if_block_2$1a(So);return Eo=new Layout$l({props:{noPadding:!0,gap:"M",$$slots:{default:[create_default_slot$4y]},$$scope:{ctx:So}}}),{c(){$a&&$a.c(),$o=space$2(),ko=element("div"),create_component(Eo.$$.fragment),attr(ko,"class","mobile-nav svelte-tof9hg"),toggle_class(ko,"visible",So[0])},m(ya,wa){$a&&$a.m(ya,wa),insert$1(ya,$o,wa),insert$1(ya,ko,wa),mount_component(Eo,ko,null),Io=!0},p(ya,[wa]){ya[0]?$a?($a.p(ya,wa),wa&1&&transition_in($a,1)):($a=create_if_block_2$1a(ya),$a.c(),transition_in($a,1),$a.m($o.parentNode,$o)):$a&&(group_outros(),transition_out($a,1,1,()=>{$a=null}),check_outros());const ka={};wa&32774&&(ka.$$scope={dirty:wa,ctx:ya}),Eo.$set(ka),(!Io||wa&1)&&toggle_class(ko,"visible",ya[0])},i(ya){Io||(transition_in($a),transition_in(Eo.$$.fragment,ya),Io=!0)},o(ya){transition_out($a),transition_out(Eo.$$.fragment,ya),Io=!1},d(ya){ya&&(detach($o),detach(ko)),$a&&$a.d(ya),destroy_component(Eo)}}}function instance$7B(So,$o,ko){let Eo,Io;component_subscribe(So,menu,Sa=>ko(1,Eo=Sa)),component_subscribe(So,isActive,Sa=>ko(2,Io=Sa));let{visible:$a=!1}=$o;const ya=createEventDispatcher(),wa=()=>ya("close"),ka=()=>bb.settings();return So.$$set=Sa=>{"visible"in Sa&&ko(0,$a=Sa.visible)},[$a,Eo,Io,wa,ka]}class MobileMenu extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7B,create_fragment$7B,safe_not_equal,{visible:0})}}function create_default_slot$4x(So){let $o,ko,Eo;function Io(ya){So[1](ya)}let $a={options:ThemeOptions,placeholder:null,getOptionLabel:func$I,getOptionValue:func_1$z};return So[0].theme!==void 0&&($a.value=So[0].theme),$o=new Select_1$1({props:$a}),binding_callbacks.push(()=>bind$3($o,"value",Io)),{c(){create_component($o.$$.fragment)},m(ya,wa){mount_component($o,ya,wa),Eo=!0},p(ya,wa){const ka={};!ko&&wa&1&&(ko=!0,ka.value=ya[0].theme,add_flush_callback(()=>ko=!1)),$o.$set(ka)},i(ya){Eo||(transition_in($o.$$.fragment,ya),Eo=!0)},o(ya){transition_out($o.$$.fragment,ya),Eo=!1},d(ya){destroy_component($o,ya)}}}function create_fragment$7A(So){let $o,ko;return $o=new ModalContent({props:{title:"Theme",$$slots:{default:[create_default_slot$4x]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&5&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}const func$I=So=>So.name,func_1$z=So=>So.id;function instance$7A(So,$o,ko){let Eo;component_subscribe(So,themeStore$1,$a=>ko(0,Eo=$a));function Io($a){So.$$.not_equal(Eo.theme,$a)&&(Eo.theme=$a,themeStore$1.set(Eo))}return[Eo,Io]}class ThemeModal extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7A,create_fragment$7A,safe_not_equal,{})}}function create_default_slot_1$2P(So){let $o;return{c(){$o=text("Your API key for accessing the Budibase public API:")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot$4w(So){let $o,ko,Eo,Io,$a;$o=new Body({props:{size:"S",$$slots:{default:[create_default_slot_1$2P]},$$scope:{ctx:So}}});function ya(ka){So[2](ka)}let wa={};return So[0]!==void 0&&(wa.value=So[0]),Eo=new CopyInput({props:wa}),binding_callbacks.push(()=>bind$3(Eo,"value",ya)),{c(){create_component($o.$$.fragment),ko=space$2(),create_component(Eo.$$.fragment)},m(ka,Sa){mount_component($o,ka,Sa),insert$1(ka,ko,Sa),mount_component(Eo,ka,Sa),$a=!0},p(ka,Sa){const Oa={};Sa&8&&(Oa.$$scope={dirty:Sa,ctx:ka}),$o.$set(Oa);const Ca={};!Io&&Sa&1&&(Io=!0,Ca.value=ka[0],add_flush_callback(()=>Io=!1)),Eo.$set(Ca)},i(ka){$a||(transition_in($o.$$.fragment,ka),transition_in(Eo.$$.fragment,ka),$a=!0)},o(ka){transition_out($o.$$.fragment,ka),transition_out(Eo.$$.fragment,ka),$a=!1},d(ka){ka&&detach(ko),destroy_component($o,ka),destroy_component(Eo,ka)}}}function create_fragment$7z(So){let $o,ko;return $o=new ModalContent({props:{title:"API Key",showSecondaryButton:!0,secondaryButtonText:"Regenerate key",secondaryAction:So[1],showCancelButton:!1,confirmText:"Close",$$slots:{default:[create_default_slot$4w]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&9&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function instance$7z(So,$o,ko){let Eo=null;async function Io(){try{ko(0,Eo=await auth.generateAPIKey()),notifications.success("New API key generated")}catch{notifications.error("Unable to generate new API key")}return keepOpen}onMount(async()=>{try{ko(0,Eo=await auth.fetchAPIKey())}catch{notifications.error("Unable to fetch API key")}});function $a(ya){Eo=ya,ko(0,Eo)}return[Eo,Io,$a]}class APIKeyModal extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7z,create_fragment$7z,safe_not_equal,{})}}const UserDropdown_svelte_svelte_type_style_lang="",get_default_slot_changes=So=>({open:So&16777216}),get_default_slot_context=So=>({open:So[24]});function create_default_slot_10$d(So){let $o;return{c(){$o=text("My profile")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_9$g(So){let $o;return{c(){$o=text("Theme")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_if_block_1$1R(So){let $o,ko;return $o=new Item$1({props:{icon:"lock",$$slots:{default:[create_default_slot_8$l]},$$scope:{ctx:So}}}),$o.$on("click",So[14]),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&8388608&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot_8$l(So){let $o;return{c(){$o=text("Update password")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_7$q(So){let $o;return{c(){$o=text("View API key")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_6$C(So){let $o;return{c(){$o=text("Close developer mode")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_5$N(So){let $o;return{c(){$o=text("Log out")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_4$13(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca;$o=new Item$1({props:{icon:"user-gear",$$slots:{default:[create_default_slot_10$d]},$$scope:{ctx:So}}}),$o.$on("click",So[12]),Eo=new Item$1({props:{icon:"moon",$$slots:{default:[create_default_slot_9$g]},$$scope:{ctx:So}}}),Eo.$on("click",So[13]);let Ea=!So[2].isSSO&&create_if_block_1$1R(So);return ya=new Item$1({props:{icon:"key",$$slots:{default:[create_default_slot_7$q]},$$scope:{ctx:So}}}),ya.$on("click",So[15]),ka=new Item$1({props:{icon:"code",$$slots:{default:[create_default_slot_6$C]},$$scope:{ctx:So}}}),ka.$on("click",So[16]),Oa=new Item$1({props:{icon:"sign-out",$$slots:{default:[create_default_slot_5$N]},$$scope:{ctx:So}}}),Oa.$on("click",So[9]),{c(){create_component($o.$$.fragment),ko=space$2(),create_component(Eo.$$.fragment),Io=space$2(),Ea&&Ea.c(),$a=space$2(),create_component(ya.$$.fragment),wa=space$2(),create_component(ka.$$.fragment),Sa=space$2(),create_component(Oa.$$.fragment)},m(Ta,Aa){mount_component($o,Ta,Aa),insert$1(Ta,ko,Aa),mount_component(Eo,Ta,Aa),insert$1(Ta,Io,Aa),Ea&&Ea.m(Ta,Aa),insert$1(Ta,$a,Aa),mount_component(ya,Ta,Aa),insert$1(Ta,wa,Aa),mount_component(ka,Ta,Aa),insert$1(Ta,Sa,Aa),mount_component(Oa,Ta,Aa),Ca=!0},p(Ta,Aa){const Ia={};Aa&8388608&&(Ia.$$scope={dirty:Aa,ctx:Ta}),$o.$set(Ia);const Pa={};Aa&8388608&&(Pa.$$scope={dirty:Aa,ctx:Ta}),Eo.$set(Pa),Ta[2].isSSO?Ea&&(group_outros(),transition_out(Ea,1,1,()=>{Ea=null}),check_outros()):Ea?(Ea.p(Ta,Aa),Aa&4&&transition_in(Ea,1)):(Ea=create_if_block_1$1R(Ta),Ea.c(),transition_in(Ea,1),Ea.m($a.parentNode,$a));const Ra={};Aa&8388608&&(Ra.$$scope={dirty:Aa,ctx:Ta}),ya.$set(Ra);const Da={};Aa&8388608&&(Da.$$scope={dirty:Aa,ctx:Ta}),ka.$set(Da);const La={};Aa&8388608&&(La.$$scope={dirty:Aa,ctx:Ta}),Oa.$set(La)},i(Ta){Ca||(transition_in($o.$$.fragment,Ta),transition_in(Eo.$$.fragment,Ta),transition_in(Ea),transition_in(ya.$$.fragment,Ta),transition_in(ka.$$.fragment,Ta),transition_in(Oa.$$.fragment,Ta),Ca=!0)},o(Ta){transition_out($o.$$.fragment,Ta),transition_out(Eo.$$.fragment,Ta),transition_out(Ea),transition_out(ya.$$.fragment,Ta),transition_out(ka.$$.fragment,Ta),transition_out(Oa.$$.fragment,Ta),Ca=!1},d(Ta){Ta&&(detach(ko),detach(Io),detach($a),detach(wa),detach(Sa)),destroy_component($o,Ta),destroy_component(Eo,Ta),Ea&&Ea.d(Ta),destroy_component(ya,Ta),destroy_component(ka,Ta),destroy_component(Oa,Ta)}}}function create_else_block$1h(So){let $o,ko,Eo,Io,$a;return ko=new UserAvatar({props:{size:"M",user:So[2].user,showTooltip:!1}}),Io=new Icon({props:{size:"L",name:"caret-down"}}),{c(){$o=element("div"),create_component(ko.$$.fragment),Eo=space$2(),create_component(Io.$$.fragment),attr($o,"class","user-dropdown svelte-aqn0ow")},m(ya,wa){insert$1(ya,$o,wa),mount_component(ko,$o,null),append$2($o,Eo),mount_component(Io,$o,null),$a=!0},p(ya,wa){const ka={};wa&4&&(ka.user=ya[2].user),ko.$set(ka)},i(ya){$a||(transition_in(ko.$$.fragment,ya),transition_in(Io.$$.fragment,ya),$a=!0)},o(ya){transition_out(ko.$$.fragment,ya),transition_out(Io.$$.fragment,ya),$a=!1},d(ya){ya&&detach($o),destroy_component(ko),destroy_component(Io)}}}function create_if_block$3s(So){let $o;const ko=So[11].default,Eo=create_slot(ko,So,So[23],get_default_slot_context);return{c(){Eo&&Eo.c()},m(Io,$a){Eo&&Eo.m(Io,$a),$o=!0},p(Io,$a){Eo&&Eo.p&&(!$o||$a&25165824)&&update_slot_base(Eo,ko,Io,Io[23],$o?get_slot_changes(ko,Io[23],$a,get_default_slot_changes):get_all_dirty_from_scope(Io[23]),get_default_slot_context)},i(Io){$o||(transition_in(Eo,Io),$o=!0)},o(Io){transition_out(Eo,Io),$o=!1},d(Io){Eo&&Eo.d(Io)}}}function create_control_slot$2(So){let $o,ko,Eo,Io;const $a=[create_if_block$3s,create_else_block$1h],ya=[];function wa(ka,Sa){return ka[10].default?0:1}return $o=wa(So),ko=ya[$o]=$a[$o](So),{c(){ko.c(),Eo=empty$4()},m(ka,Sa){ya[$o].m(ka,Sa),insert$1(ka,Eo,Sa),Io=!0},p(ka,Sa){let Oa=$o;$o=wa(ka),$o===Oa?ya[$o].p(ka,Sa):(group_outros(),transition_out(ya[Oa],1,1,()=>{ya[Oa]=null}),check_outros(),ko=ya[$o],ko?ko.p(ka,Sa):(ko=ya[$o]=$a[$o](ka),ko.c()),transition_in(ko,1),ko.m(Eo.parentNode,Eo))},i(ka){Io||(transition_in(ko),Io=!0)},o(ka){transition_out(ko),Io=!1},d(ka){ka&&detach(Eo),ya[$o].d(ka)}}}function create_default_slot_3$1n(So){let $o,ko;return $o=new ThemeModal({}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot_2$1X(So){let $o,ko;return $o=new ProfileModal({props:{API,user:So[2].user}}),$o.$on("save",So[18]),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&4&&($a.user=Eo[2].user),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot_1$2O(So){let $o,ko;return $o=new ChangePasswordModal({props:{API,passwordMinLength:So[1].passwordMinLength}}),$o.$on("save",So[20]),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&2&&($a.passwordMinLength=Eo[1].passwordMinLength),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot$4v(So){let $o,ko;return $o=new APIKeyModal({}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_fragment$7y(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa;$o=new ActionMenu({props:{align:So[0],$$slots:{control:[create_control_slot$2,({open:Ia})=>({24:Ia}),({open:Ia})=>Ia?16777216:0],default:[create_default_slot_4$13]},$$scope:{ctx:So}}});let Ca={$$slots:{default:[create_default_slot_3$1n]},$$scope:{ctx:So}};Eo=new Modal({props:Ca}),So[17](Eo);let Ea={$$slots:{default:[create_default_slot_2$1X]},$$scope:{ctx:So}};$a=new Modal({props:Ea}),So[19]($a);let Ta={$$slots:{default:[create_default_slot_1$2O]},$$scope:{ctx:So}};wa=new Modal({props:Ta}),So[21](wa);let Aa={$$slots:{default:[create_default_slot$4v]},$$scope:{ctx:So}};return Sa=new Modal({props:Aa}),So[22](Sa),{c(){create_component($o.$$.fragment),ko=space$2(),create_component(Eo.$$.fragment),Io=space$2(),create_component($a.$$.fragment),ya=space$2(),create_component(wa.$$.fragment),ka=space$2(),create_component(Sa.$$.fragment)},m(Ia,Pa){mount_component($o,Ia,Pa),insert$1(Ia,ko,Pa),mount_component(Eo,Ia,Pa),insert$1(Ia,Io,Pa),mount_component($a,Ia,Pa),insert$1(Ia,ya,Pa),mount_component(wa,Ia,Pa),insert$1(Ia,ka,Pa),mount_component(Sa,Ia,Pa),Oa=!0},p(Ia,[Pa]){const Ra={};Pa&1&&(Ra.align=Ia[0]),Pa&25167358&&(Ra.$$scope={dirty:Pa,ctx:Ia}),$o.$set(Ra);const Da={};Pa&8388608&&(Da.$$scope={dirty:Pa,ctx:Ia}),Eo.$set(Da);const La={};Pa&8388612&&(La.$$scope={dirty:Pa,ctx:Ia}),$a.$set(La);const Na={};Pa&8388610&&(Na.$$scope={dirty:Pa,ctx:Ia}),wa.$set(Na);const Ba={};Pa&8388608&&(Ba.$$scope={dirty:Pa,ctx:Ia}),Sa.$set(Ba)},i(Ia){Oa||(transition_in($o.$$.fragment,Ia),transition_in(Eo.$$.fragment,Ia),transition_in($a.$$.fragment,Ia),transition_in(wa.$$.fragment,Ia),transition_in(Sa.$$.fragment,Ia),Oa=!0)},o(Ia){transition_out($o.$$.fragment,Ia),transition_out(Eo.$$.fragment,Ia),transition_out($a.$$.fragment,Ia),transition_out(wa.$$.fragment,Ia),transition_out(Sa.$$.fragment,Ia),Oa=!1},d(Ia){Ia&&(detach(ko),detach(Io),detach(ya),detach(ka)),destroy_component($o,Ia),So[17](null),destroy_component(Eo,Ia),So[19](null),destroy_component($a,Ia),So[21](null),destroy_component(wa,Ia),So[22](null),destroy_component(Sa,Ia)}}}function instance$7y(So,$o,ko){let Eo,Io,$a,ya;component_subscribe(So,admin,ja=>ko(1,Io=ja)),component_subscribe(So,auth,ja=>ko(2,$a=ja)),component_subscribe(So,goto,ja=>ko(8,ya=ja));let{$$slots:wa={},$$scope:ka}=$o;const Sa=compute_slots(wa);let{align:Oa="right"}=$o,Ca,Ea,Ta,Aa;const Ia=async()=>{try{await auth.logout()}catch{}},Pa=()=>Ea.show(),Ra=()=>Ca.show(),Da=()=>{Eo?window.location.href=`${Io.accountPortalUrl}/portal/account`:Ta.show()},La=()=>Aa.show(),Na=()=>ya("/builder/apps");function Ba(ja){binding_callbacks[ja?"unshift":"push"](()=>{Ca=ja,ko(3,Ca)})}const Fa=()=>auth.getSelf();function za(ja){binding_callbacks[ja?"unshift":"push"](()=>{Ea=ja,ko(4,Ea)})}const Ua=()=>auth.getSelf();function Ha(ja){binding_callbacks[ja?"unshift":"push"](()=>{Ta=ja,ko(5,Ta)})}function Wa(ja){binding_callbacks[ja?"unshift":"push"](()=>{Aa=ja,ko(6,Aa)})}return So.$$set=ja=>{"align"in ja&&ko(0,Oa=ja.align),"$$scope"in ja&&ko(23,ka=ja.$$scope)},So.$$.update=()=>{So.$$.dirty&6&&ko(7,Eo=$a.accountPortalAccess&&Io.cloud)},[Oa,Io,$a,Ca,Ea,Ta,Aa,Eo,ya,Ia,Sa,wa,Pa,Ra,Da,La,Na,Ba,Fa,za,Ua,Ha,Wa,ka]}class UserDropdown extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7y,create_fragment$7y,safe_not_equal,{align:0})}}const HelpMenu_svelte_svelte_type_style_lang="";function create_default_slot_8$k(So){let $o;return{c(){$o=text("Help resources")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_7$p(So){let $o;return{c(){$o=text("Help docs")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_6$B(So){let $o;return{c(){$o=text("Changelog")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_5$M(So){let $o;return{c(){$o=text("Discussions")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_4$12(So){let $o;return{c(){$o=text("Discord")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_3$1m(So){let $o;return{c(){$o=text("Budibase University")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_2$1W(So){let $o;return{c(){$o=text("Email support")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_if_block$3r(So){let $o,ko,Eo,Io,$a,ya;return Eo=new Icon({props:{name:"lock",size:"S"}}),$a=new Body({props:{size:"XS",$$slots:{default:[create_default_slot_1$2N]},$$scope:{ctx:So}}}),{c(){$o=element("div"),ko=element("div"),create_component(Eo.$$.fragment),Io=space$2(),create_component($a.$$.fragment),attr(ko,"class","icon svelte-149h8rs"),attr($o,"class","premiumBadge svelte-149h8rs")},m(wa,ka){insert$1(wa,$o,ka),append$2($o,ko),mount_component(Eo,ko,null),append$2($o,Io),mount_component($a,$o,null),ya=!0},i(wa){ya||(transition_in(Eo.$$.fragment,wa),transition_in($a.$$.fragment,wa),ya=!0)},o(wa){transition_out(Eo.$$.fragment,wa),transition_out($a.$$.fragment,wa),ya=!1},d(wa){wa&&detach($o),destroy_component(Eo),destroy_component($a)}}}function create_default_slot_1$2N(So){let $o;return{c(){$o=text("Premium")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot$4u(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta,Aa,Ia,Pa,Ra,Da,La,Na,Ba,Fa,za,Ua,Ha,Wa,ja,Ya,Xa,Za,Ga,Ka,tl,nl,rl,il,sl,ul,al,dl,gl,cl,fl,pl,ml,vl,$l,bl,Cl,wl,Al,Ll,Dl,Gl,Ol,ic,zl,Ml,Kl,Ul;Eo=new Heading({props:{size:"XS",$$slots:{default:[create_default_slot_8$k]},$$scope:{ctx:So}}}),ya=new Icon({props:{name:"x"}}),Ea=new Icon({props:{name:"book",color:"rgb(230, 208, 255)"}}),Aa=new Body({props:{size:"S",$$slots:{default:[create_default_slot_7$p]},$$scope:{ctx:So}}}),Na=new Icon({props:{name:"list-bullets",color:"rgb(230, 208, 255)"}}),Fa=new Body({props:{size:"S",$$slots:{default:[create_default_slot_6$B]},$$scope:{ctx:So}}}),Ya=new Icon({props:{name:"github-logo",color:"rgb(230, 208, 255)"}}),Za=new Body({props:{size:"S",$$slots:{default:[create_default_slot_5$M]},$$scope:{ctx:So}}}),il=new Icon({props:{name:"discord-logo",color:"rgb(230, 208, 255)"}}),ul=new Body({props:{size:"S",$$slots:{default:[create_default_slot_4$12]},$$scope:{ctx:So}}}),pl=new Icon({props:{name:"graduation-cap",color:"rgb(230, 208, 255)"}}),vl=new Body({props:{size:"S",$$slots:{default:[create_default_slot_3$1m]},$$scope:{ctx:So}}}),Dl=new Icon({props:{name:"envelope"}}),Ol=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1W]},$$scope:{ctx:So}}});let Yl=!So[3]&&create_if_block$3r(So);return{c(){$o=element("nav"),ko=element("div"),create_component(Eo.$$.fragment),Io=space$2(),$a=element("button"),create_component(ya.$$.fragment),wa=space$2(),ka=element("div"),Sa=space$2(),Oa=element("a"),Ca=element("div"),create_component(Ea.$$.fragment),Ta=space$2(),create_component(Aa.$$.fragment),Ia=space$2(),Pa=element("div"),Ra=space$2(),Da=element("a"),La=element("div"),create_component(Na.$$.fragment),Ba=space$2(),create_component(Fa.$$.fragment),za=space$2(),Ua=element("div"),Ha=space$2(),Wa=element("a"),ja=element("div"),create_component(Ya.$$.fragment),Xa=space$2(),create_component(Za.$$.fragment),Ga=space$2(),Ka=element("div"),tl=space$2(),nl=element("a"),rl=element("div"),create_component(il.$$.fragment),sl=space$2(),create_component(ul.$$.fragment),al=space$2(),dl=element("div"),gl=space$2(),cl=element("a"),fl=element("div"),create_component(pl.$$.fragment),ml=space$2(),create_component(vl.$$.fragment),$l=space$2(),bl=element("div"),Cl=space$2(),wl=element("a"),Al=element("div"),Ll=element("div"),create_component(Dl.$$.fragment),Gl=space$2(),create_component(Ol.$$.fragment),ic=space$2(),Yl&&Yl.c(),attr($a,"class","closeButton svelte-149h8rs"),attr(ko,"class","header svelte-149h8rs"),attr(ka,"class","divider svelte-149h8rs"),attr(Ca,"class","icon svelte-149h8rs"),attr(Oa,"class","help-item-container svelte-149h8rs"),attr(Oa,"target","_blank"),attr(Oa,"href","https://docs.budibase.com/docs"),attr(Pa,"class","divider svelte-149h8rs"),attr(La,"class","icon svelte-149h8rs"),attr(Da,"target","_blank"),attr(Da,"class","help-item-container svelte-149h8rs"),attr(Da,"href",ChangelogURL),attr(Ua,"class","divider svelte-149h8rs"),attr(ja,"class","icon svelte-149h8rs"),attr(Wa,"target","_blank"),attr(Wa,"href","https://github.com/Budibase/budibase/discussions"),attr(Wa,"class","help-item-container svelte-149h8rs"),attr(Ka,"class","divider svelte-149h8rs"),attr(rl,"class","icon svelte-149h8rs"),attr(nl,"target","_blank"),attr(nl,"class","help-item-container svelte-149h8rs"),attr(nl,"href","https://discord.com/invite/ZepTmGbtfF"),attr(dl,"class","divider svelte-149h8rs"),attr(fl,"class","icon svelte-149h8rs"),attr(cl,"target","_blank"),attr(cl,"class","help-item-container svelte-149h8rs"),attr(cl,"href","https://vimeo.com/showcase/budibase-university"),attr(bl,"class","divider svelte-149h8rs"),attr(Ll,"class","icon svelte-149h8rs"),attr(Al,"class","premiumLinkContent help-item-container svelte-149h8rs"),toggle_class(Al,"disabled",!So[3]),attr(wl,"class","help-item-container svelte-149h8rs"),attr(wl,"href",zl=So[3]?"mailto:support@budibase.com":"/builder/portal/account/usage"),attr($o,"class","helpMenu svelte-149h8rs")},m(jl,Rl){insert$1(jl,$o,Rl),append$2($o,ko),mount_component(Eo,ko,null),append$2(ko,Io),append$2(ko,$a),mount_component(ya,$a,null),append$2($o,wa),append$2($o,ka),append$2($o,Sa),append$2($o,Oa),append$2(Oa,Ca),mount_component(Ea,Ca,null),append$2(Oa,Ta),mount_component(Aa,Oa,null),append$2($o,Ia),append$2($o,Pa),append$2($o,Ra),append$2($o,Da),append$2(Da,La),mount_component(Na,La,null),append$2(Da,Ba),mount_component(Fa,Da,null),append$2($o,za),append$2($o,Ua),append$2($o,Ha),append$2($o,Wa),append$2(Wa,ja),mount_component(Ya,ja,null),append$2(Wa,Xa),mount_component(Za,Wa,null),append$2($o,Ga),append$2($o,Ka),append$2($o,tl),append$2($o,nl),append$2(nl,rl),mount_component(il,rl,null),append$2(nl,sl),mount_component(ul,nl,null),append$2($o,al),append$2($o,dl),append$2($o,gl),append$2($o,cl),append$2(cl,fl),mount_component(pl,fl,null),append$2(cl,ml),mount_component(vl,cl,null),append$2($o,$l),append$2($o,bl),append$2($o,Cl),append$2($o,wl),append$2(wl,Al),append$2(Al,Ll),mount_component(Dl,Ll,null),append$2(Al,Gl),mount_component(Ol,Al,null),append$2(wl,ic),Yl&&Yl.m(wl,null),Ml=!0,Kl||(Ul=listen($a,"click",function(){is_function(So[1])&&So[1].apply(this,arguments)}),Kl=!0)},p(jl,Rl){So=jl;const ql={};Rl&256&&(ql.$$scope={dirty:Rl,ctx:So}),Eo.$set(ql);const Il={};Rl&256&&(Il.$$scope={dirty:Rl,ctx:So}),Aa.$set(Il);const Wl={};Rl&256&&(Wl.$$scope={dirty:Rl,ctx:So}),Fa.$set(Wl);const Tl={};Rl&256&&(Tl.$$scope={dirty:Rl,ctx:So}),Za.$set(Tl);const Bl={};Rl&256&&(Bl.$$scope={dirty:Rl,ctx:So}),ul.$set(Bl);const tc={};Rl&256&&(tc.$$scope={dirty:Rl,ctx:So}),vl.$set(tc);const xl={};Rl&256&&(xl.$$scope={dirty:Rl,ctx:So}),Ol.$set(xl),(!Ml||Rl&8)&&toggle_class(Al,"disabled",!So[3]),So[3]?Yl&&(group_outros(),transition_out(Yl,1,1,()=>{Yl=null}),check_outros()):Yl?Rl&8&&transition_in(Yl,1):(Yl=create_if_block$3r(So),Yl.c(),transition_in(Yl,1),Yl.m(wl,null)),(!Ml||Rl&8&&zl!==(zl=So[3]?"mailto:support@budibase.com":"/builder/portal/account/usage"))&&attr(wl,"href",zl)},i(jl){Ml||(transition_in(Eo.$$.fragment,jl),transition_in(ya.$$.fragment,jl),transition_in(Ea.$$.fragment,jl),transition_in(Aa.$$.fragment,jl),transition_in(Na.$$.fragment,jl),transition_in(Fa.$$.fragment,jl),transition_in(Ya.$$.fragment,jl),transition_in(Za.$$.fragment,jl),transition_in(il.$$.fragment,jl),transition_in(ul.$$.fragment,jl),transition_in(pl.$$.fragment,jl),transition_in(vl.$$.fragment,jl),transition_in(Dl.$$.fragment,jl),transition_in(Ol.$$.fragment,jl),transition_in(Yl),Ml=!0)},o(jl){transition_out(Eo.$$.fragment,jl),transition_out(ya.$$.fragment,jl),transition_out(Ea.$$.fragment,jl),transition_out(Aa.$$.fragment,jl),transition_out(Na.$$.fragment,jl),transition_out(Fa.$$.fragment,jl),transition_out(Ya.$$.fragment,jl),transition_out(Za.$$.fragment,jl),transition_out(il.$$.fragment,jl),transition_out(ul.$$.fragment,jl),transition_out(pl.$$.fragment,jl),transition_out(vl.$$.fragment,jl),transition_out(Dl.$$.fragment,jl),transition_out(Ol.$$.fragment,jl),transition_out(Yl),Ml=!1},d(jl){jl&&detach($o),destroy_component(Eo),destroy_component(ya),destroy_component(Ea),destroy_component(Aa),destroy_component(Na),destroy_component(Fa),destroy_component(Ya),destroy_component(Za),destroy_component(il),destroy_component(ul),destroy_component(pl),destroy_component(vl),destroy_component(Dl),destroy_component(Ol),Yl&&Yl.d(),Kl=!1,Ul()}}}function create_fragment$7x(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa;function Oa(Ta){So[5](Ta)}function Ca(Ta){So[6](Ta)}let Ea={maxHeight:1e3,anchor:So[2],$$slots:{default:[create_default_slot$4u]},$$scope:{ctx:So}};return So[0]!==void 0&&(Ea.show=So[0]),So[1]!==void 0&&(Ea.hide=So[1]),Io=new Popover({props:Ea}),binding_callbacks.push(()=>bind$3(Io,"show",Oa)),binding_callbacks.push(()=>bind$3(Io,"hide",Ca)),{c(){$o=element("div"),ko=element("button"),ko.textContent="Help",Eo=space$2(),create_component(Io.$$.fragment),attr(ko,"class","openMenu svelte-149h8rs"),attr($o,"class","help svelte-149h8rs")},m(Ta,Aa){insert$1(Ta,$o,Aa),append$2($o,ko),append$2($o,Eo),mount_component(Io,$o,null),So[7]($o),wa=!0,ka||(Sa=listen(ko,"click",function(){is_function(So[0])&&So[0].apply(this,arguments)}),ka=!0)},p(Ta,[Aa]){So=Ta;const Ia={};Aa&4&&(Ia.anchor=So[2]),Aa&266&&(Ia.$$scope={dirty:Aa,ctx:So}),!$a&&Aa&1&&($a=!0,Ia.show=So[0],add_flush_callback(()=>$a=!1)),!ya&&Aa&2&&(ya=!0,Ia.hide=So[1],add_flush_callback(()=>ya=!1)),Io.$set(Ia)},i(Ta){wa||(transition_in(Io.$$.fragment,Ta),wa=!0)},o(Ta){transition_out(Io.$$.fragment,Ta),wa=!1},d(Ta){Ta&&detach($o),destroy_component(Io),So[7](null),ka=!1,Sa()}}}function instance$7x(So,$o,ko){let Eo,Io;component_subscribe(So,licensing,Ca=>ko(4,Io=Ca));let $a,ya,wa;function ka(Ca){$a=Ca,ko(0,$a)}function Sa(Ca){ya=Ca,ko(1,ya)}function Oa(Ca){binding_callbacks[Ca?"unshift":"push"](()=>{wa=Ca,ko(2,wa)})}return So.$$.update=()=>{var Ca,Ea;So.$$.dirty&16&&ko(3,Eo=isPremiumOrAbove((Ea=(Ca=Io==null?void 0:Io.license)==null?void 0:Ca.plan)==null?void 0:Ea.type))},[$a,ya,wa,Eo,Io,ka,Sa,Oa]}class HelpMenu extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7x,create_fragment$7x,safe_not_equal,{})}}const EnterpriseBasicTrialBanner_svelte_svelte_type_style_lang="";function create_if_block$3q(So){let $o,ko,Eo,Io;return ko=new Banner({props:{type:BANNER_TYPES.INFO,extraLinkText:"Please select a plan.",extraLinkAction:licensing.goToUpgradePage,showCloseButton:!1,$$slots:{default:[create_default_slot_1$2M]},$$scope:{ctx:So}}}),{c(){$o=element("div"),create_component(ko.$$.fragment)},m($a,ya){insert$1($a,$o,ya),mount_component(ko,$o,null),Io=!0},p($a,ya){const wa={};ya&16&&(wa.$$scope={dirty:ya,ctx:$a}),ko.$set(wa)},i($a){Io||(transition_in(ko.$$.fragment,$a),$a&&add_render_callback(()=>{Io&&(Eo||(Eo=create_bidirectional_transition($o,fly,{y:-30},!0)),Eo.run(1))}),Io=!0)},o($a){transition_out(ko.$$.fragment,$a),$a&&(Eo||(Eo=create_bidirectional_transition($o,fly,{y:-30},!1)),Eo.run(0)),Io=!1},d($a){$a&&detach($o),destroy_component(ko),$a&&Eo&&Eo.end()}}}function create_default_slot_1$2M(So){let $o,ko=So[1]()+"",Eo;return{c(){$o=text("Your free trial will end "),Eo=text(ko)},m(Io,$a){insert$1(Io,$o,$a),insert$1(Io,Eo,$a)},p:noop$5,d(Io){Io&&(detach($o),detach(Eo))}}}function create_default_slot$4t(So){let $o,ko,Eo=So[0]&&create_if_block$3q(So);return{c(){$o=element("div"),Eo&&Eo.c(),attr($o,"class","banner svelte-j1ssay")},m(Io,$a){insert$1(Io,$o,$a),Eo&&Eo.m($o,null),ko=!0},p(Io,$a){Io[0]?Eo?(Eo.p(Io,$a),$a&1&&transition_in(Eo,1)):(Eo=create_if_block$3q(Io),Eo.c(),transition_in(Eo,1),Eo.m($o,null)):Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros())},i(Io){ko||(transition_in(Eo),ko=!0)},o(Io){transition_out(Eo),ko=!1},d(Io){Io&&detach($o),Eo&&Eo.d()}}}function create_fragment$7w(So){let $o,ko;return $o=new Portal$1({props:{target:".banner-container",$$slots:{default:[create_default_slot$4t]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&17&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}const oneDayInSeconds$2=86400;function instance$7w(So,$o,ko){let Eo,Io;component_subscribe(So,licensing,wa=>ko(2,Io=wa));let{show:$a=!0}=$o;function ya(){var Oa,Ca;const wa=(Ca=(Oa=Eo==null?void 0:Eo.billing)==null?void 0:Oa.subscription)==null?void 0:Ca.cancelAt,ka=Math.abs(wa-new Date().getTime())/1e3,Sa=Math.floor(ka/oneDayInSeconds$2);return Sa===1?"tomorrow.":Sa===0?"today.":`in ${Sa} days.`}return So.$$set=wa=>{"show"in wa&&ko(0,$a=wa.show)},So.$$.update=()=>{So.$$.dirty&4&&(Eo=Io.license)},[$a,ya,Io]}class EnterpriseBasicTrialBanner extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7w,create_fragment$7w,safe_not_equal,{show:0})}}const _layout_svelte_svelte_type_style_lang$4="";function get_each_context$1y(So,$o,ko){const Eo=So.slice();return Eo[22]=$o[ko].title,Eo[23]=$o[ko].href,Eo}function create_if_block$3p(So){let $o,ko,Eo,Io;const $a=[create_if_block_1$1Q,create_else_block$1g],ya=[];function wa(ka,Sa){return ka[5]?0:1}return $o=wa(So),ko=ya[$o]=$a[$o](So),{c(){ko.c(),Eo=empty$4()},m(ka,Sa){ya[$o].m(ka,Sa),insert$1(ka,Eo,Sa),Io=!0},p(ka,Sa){let Oa=$o;$o=wa(ka),$o===Oa?ya[$o].p(ka,Sa):(group_outros(),transition_out(ya[Oa],1,1,()=>{ya[Oa]=null}),check_outros(),ko=ya[$o],ko?ko.p(ka,Sa):(ko=ya[$o]=$a[$o](ka),ko.c()),transition_in(ko,1),ko.m(Eo.parentNode,Eo))},i(ka){Io||(transition_in(ko),Io=!0)},o(ka){transition_out(ko),Io=!1},d(ka){ka&&detach(Eo),ya[$o].d(ka)}}}function create_else_block$1g(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta,Aa,Ia,Pa,Ra,Da,La,Na,Ba,Fa,za,Ua,Ha,Wa,ja,Ya;$o=new HelpMenu({}),Io=new EnterpriseBasicTrialBanner({props:{show:So[9]()}}),ka=new Logo_1({}),Ca=new Tabs({props:{selected:So[4],$$slots:{default:[create_default_slot_1$2L]},$$scope:{ctx:So}}}),Aa=new Icon({props:{hoverable:!0,name:"list-bullets"}}),Aa.$on("click",So[7]),Ra=new UpgradeButton({}),Na=new ActionButton({props:{quiet:!0,icon:"gear",$$slots:{default:[create_default_slot$4s]},$$scope:{ctx:So}}}),Na.$on("click",So[15]),za=new UserDropdown({});const Xa=So[13].default,Za=create_slot(Xa,So,So[16],null);return ja=new MobileMenu({props:{visible:So[3]}}),ja.$on("close",So[8]),{c(){create_component($o.$$.fragment),ko=space$2(),Eo=element("div"),create_component(Io.$$.fragment),$a=space$2(),ya=element("div"),wa=element("div"),create_component(ka.$$.fragment),Sa=space$2(),Oa=element("div"),create_component(Ca.$$.fragment),Ea=space$2(),Ta=element("div"),create_component(Aa.$$.fragment),Ia=space$2(),Pa=element("div"),create_component(Ra.$$.fragment),Da=space$2(),La=element("div"),create_component(Na.$$.fragment),Ba=space$2(),Fa=element("div"),create_component(za.$$.fragment),Ua=space$2(),Ha=element("div"),Za&&Za.c(),Wa=space$2(),create_component(ja.$$.fragment),attr(wa,"class","branding svelte-wga0oo"),attr(Oa,"class","desktop svelte-wga0oo"),attr(Ta,"class","mobile svelte-wga0oo"),attr(Pa,"class","desktop svelte-wga0oo"),attr(La,"class","desktop svelte-wga0oo"),attr(Fa,"class","dropdown"),attr(ya,"class","nav svelte-wga0oo"),attr(Ha,"class","main svelte-wga0oo"),attr(Eo,"class","container svelte-wga0oo")},m(Ga,Ka){mount_component($o,Ga,Ka),insert$1(Ga,ko,Ka),insert$1(Ga,Eo,Ka),mount_component(Io,Eo,null),append$2(Eo,$a),append$2(Eo,ya),append$2(ya,wa),mount_component(ka,wa,null),append$2(ya,Sa),append$2(ya,Oa),mount_component(Ca,Oa,null),append$2(ya,Ea),append$2(ya,Ta),mount_component(Aa,Ta,null),append$2(ya,Ia),append$2(ya,Pa),mount_component(Ra,Pa,null),append$2(ya,Da),append$2(ya,La),mount_component(Na,La,null),append$2(ya,Ba),append$2(ya,Fa),mount_component(za,Fa,null),append$2(Eo,Ua),append$2(Eo,Ha),Za&&Za.m(Ha,null),append$2(Eo,Wa),mount_component(ja,Eo,null),Ya=!0},p(Ga,Ka){const tl={};Ka&16&&(tl.selected=Ga[4]),Ka&65602&&(tl.$$scope={dirty:Ka,ctx:Ga}),Ca.$set(tl);const nl={};Ka&65536&&(nl.$$scope={dirty:Ka,ctx:Ga}),Na.$set(nl),Za&&Za.p&&(!Ya||Ka&65536)&&update_slot_base(Za,Xa,Ga,Ga[16],Ya?get_slot_changes(Xa,Ga[16],Ka,null):get_all_dirty_from_scope(Ga[16]),null);const rl={};Ka&8&&(rl.visible=Ga[3]),ja.$set(rl)},i(Ga){Ya||(transition_in($o.$$.fragment,Ga),transition_in(Io.$$.fragment,Ga),transition_in(ka.$$.fragment,Ga),transition_in(Ca.$$.fragment,Ga),transition_in(Aa.$$.fragment,Ga),transition_in(Ra.$$.fragment,Ga),transition_in(Na.$$.fragment,Ga),transition_in(za.$$.fragment,Ga),transition_in(Za,Ga),transition_in(ja.$$.fragment,Ga),Ya=!0)},o(Ga){transition_out($o.$$.fragment,Ga),transition_out(Io.$$.fragment,Ga),transition_out(ka.$$.fragment,Ga),transition_out(Ca.$$.fragment,Ga),transition_out(Aa.$$.fragment,Ga),transition_out(Ra.$$.fragment,Ga),transition_out(Na.$$.fragment,Ga),transition_out(za.$$.fragment,Ga),transition_out(Za,Ga),transition_out(ja.$$.fragment,Ga),Ya=!1},d(Ga){Ga&&(detach(ko),detach(Eo)),destroy_component($o,Ga),destroy_component(Io),destroy_component(ka),destroy_component(Ca),destroy_component(Aa),destroy_component(Ra),destroy_component(Na),destroy_component(za),Za&&Za.d(Ga),destroy_component(ja)}}}function create_if_block_1$1Q(So){let $o;const ko=So[13].default,Eo=create_slot(ko,So,So[16],null);return{c(){Eo&&Eo.c()},m(Io,$a){Eo&&Eo.m(Io,$a),$o=!0},p(Io,$a){Eo&&Eo.p&&(!$o||$a&65536)&&update_slot_base(Eo,ko,Io,Io[16],$o?get_slot_changes(ko,Io[16],$a,null):get_all_dirty_from_scope(Io[16]),null)},i(Io){$o||(transition_in(Eo,Io),$o=!0)},o(Io){transition_out(Eo,Io),$o=!1},d(Io){Eo&&Eo.d(Io)}}}function create_each_block$1y(So){let $o,ko;function Eo(){return So[14](So[23])}return $o=new Tab({props:{title:So[22]}}),$o.$on("click",Eo),{c(){create_component($o.$$.fragment)},m(Io,$a){mount_component($o,Io,$a),ko=!0},p(Io,$a){So=Io;const ya={};$a&2&&(ya.title=So[22]),$o.$set(ya)},i(Io){ko||(transition_in($o.$$.fragment,Io),ko=!0)},o(Io){transition_out($o.$$.fragment,Io),ko=!1},d(Io){destroy_component($o,Io)}}}function create_default_slot_1$2L(So){let $o,ko,Eo=ensure_array_like(So[1]),Io=[];for(let ya=0;ya<Eo.length;ya+=1)Io[ya]=create_each_block$1y(get_each_context$1y(So,Eo,ya));const $a=ya=>transition_out(Io[ya],1,1,()=>{Io[ya]=null});return{c(){for(let ya=0;ya<Io.length;ya+=1)Io[ya].c();$o=empty$4()},m(ya,wa){for(let ka=0;ka<Io.length;ka+=1)Io[ka]&&Io[ka].m(ya,wa);insert$1(ya,$o,wa),ko=!0},p(ya,wa){if(wa&66){Eo=ensure_array_like(ya[1]);let ka;for(ka=0;ka<Eo.length;ka+=1){const Sa=get_each_context$1y(ya,Eo,ka);Io[ka]?(Io[ka].p(Sa,wa),transition_in(Io[ka],1)):(Io[ka]=create_each_block$1y(Sa),Io[ka].c(),transition_in(Io[ka],1),Io[ka].m($o.parentNode,$o))}for(group_outros(),ka=Eo.length;ka<Io.length;ka+=1)$a(ka);check_outros()}},i(ya){if(!ko){for(let wa=0;wa<Eo.length;wa+=1)transition_in(Io[wa]);ko=!0}},o(ya){Io=Io.filter(Boolean);for(let wa=0;wa<Io.length;wa+=1)transition_out(Io[wa]);ko=!1},d(ya){ya&&detach($o),destroy_each(Io,ya)}}}function create_default_slot$4s(So){let $o;return{c(){$o=text("Settings")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_fragment$7v(So){let $o,ko,Eo=So[0].user&&So[2]&&create_if_block$3p(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m(Io,$a){Eo&&Eo.m(Io,$a),insert$1(Io,$o,$a),ko=!0},p(Io,[$a]){Io[0].user&&Io[2]?Eo?(Eo.p(Io,$a),$a&5&&transition_in(Eo,1)):(Eo=create_if_block$3p(Io),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o)):Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros())},i(Io){ko||(transition_in(Eo),ko=!0)},o(Io){transition_out(Eo),ko=!1},d(Io){Io&&detach($o),Eo&&Eo.d(Io)}}}function instance$7v(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta;component_subscribe(So,redirect,Ha=>ko(18,$a=Ha)),component_subscribe(So,auth,Ha=>ko(0,ya=Ha)),component_subscribe(So,licensing,Ha=>ko(19,wa=Ha)),component_subscribe(So,isActive,Ha=>ko(20,ka=Ha)),component_subscribe(So,admin,Ha=>ko(10,Sa=Ha)),component_subscribe(So,appsStore,Ha=>ko(11,Oa=Ha)),component_subscribe(So,menu,Ha=>ko(1,Ca=Ha)),component_subscribe(So,url$3,Ha=>ko(12,Ea=Ha)),component_subscribe(So,goto,Ha=>ko(6,Ta=Ha));let{$$slots:Aa={},$$scope:Ia}=$o,Pa=!1,Ra=!1,Da="Apps";const La=Ha=>{for(let Wa of Ha)if(ka(Wa.href)){Da!==Wa.title&&ko(4,Da=Wa.title);break}},Na=()=>ko(3,Ra=!0),Ba=()=>ko(3,Ra=!1),Fa=()=>{var Ha,Wa;return((Wa=(Ha=wa.license)==null?void 0:Ha.plan)==null?void 0:Wa.type)===PlanType.ENTERPRISE_BASIC_TRIAL&&Io};onMount(async()=>{if(ya.user)if(!hasBuilderPermissions(ya.user))$a("../");else{try{await Promise.all([appsStore.load(),organisation.init()])}catch{notifications.error("Error getting org config")}ko(2,Pa=!0)}});const za=Ha=>Ta(Ha),Ua=()=>bb.settings();return So.$$set=Ha=>{"$$scope"in Ha&&ko(16,Ia=Ha.$$scope)},So.$$.update=()=>{So.$$.dirty&4098&&(Ea(),La(Ca)),So.$$.dirty&2049&&ko(5,Eo=!Oa.apps.length&&hasBuilderPermissions(ya.user)),So.$$.dirty&1025&&(Io=ya.accountPortalAccess&&Sa.cloud)},[ya,Ca,Pa,Ra,Da,Eo,Ta,Na,Ba,Fa,Sa,Oa,Ea,Aa,za,Ua,Ia]}let Layout$g=class extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7v,create_fragment$7v,safe_not_equal,{})}};function instance$7u(So,$o,ko){let Eo;return component_subscribe(So,redirect,Io=>ko(0,Eo=Io)),Eo("../design"),[]}class Fallback extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7u,null,safe_not_equal,{})}}var DEFAULT_EDGE_NAME="\0",GRAPH_NODE="\0",EDGE_KEY_DELIM="";let Graph$a=class{constructor($o){su(this,"_isDirected",!0);su(this,"_isMultigraph",!1);su(this,"_isCompound",!1);su(this,"_label");su(this,"_defaultNodeLabelFn",()=>{});su(this,"_defaultEdgeLabelFn",()=>{});su(this,"_nodes",{});su(this,"_in",{});su(this,"_preds",{});su(this,"_out",{});su(this,"_sucs",{});su(this,"_edgeObjs",{});su(this,"_edgeLabels",{});su(this,"_nodeCount",0);su(this,"_edgeCount",0);su(this,"_parent");su(this,"_children");$o&&(this._isDirected=Object.hasOwn($o,"directed")?$o.directed:!0,this._isMultigraph=Object.hasOwn($o,"multigraph")?$o.multigraph:!1,this._isCompound=Object.hasOwn($o,"compound")?$o.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[GRAPH_NODE]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph($o){return this._label=$o,this}graph(){return this._label}setDefaultNodeLabel($o){return this._defaultNodeLabelFn=$o,typeof $o!="function"&&(this._defaultNodeLabelFn=()=>$o),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var $o=this;return this.nodes().filter(ko=>Object.keys($o._in[ko]).length===0)}sinks(){var $o=this;return this.nodes().filter(ko=>Object.keys($o._out[ko]).length===0)}setNodes($o,ko){var Eo=arguments,Io=this;return $o.forEach(function($a){Eo.length>1?Io.setNode($a,ko):Io.setNode($a)}),this}setNode($o,ko){return Object.hasOwn(this._nodes,$o)?(arguments.length>1&&(this._nodes[$o]=ko),this):(this._nodes[$o]=arguments.length>1?ko:this._defaultNodeLabelFn($o),this._isCompound&&(this._parent[$o]=GRAPH_NODE,this._children[$o]={},this._children[GRAPH_NODE][$o]=!0),this._in[$o]={},this._preds[$o]={},this._out[$o]={},this._sucs[$o]={},++this._nodeCount,this)}node($o){return this._nodes[$o]}hasNode($o){return Object.hasOwn(this._nodes,$o)}removeNode($o){var ko=this;if(Object.hasOwn(this._nodes,$o)){var Eo=Io=>ko.removeEdge(ko._edgeObjs[Io]);delete this._nodes[$o],this._isCompound&&(this._removeFromParentsChildList($o),delete this._parent[$o],this.children($o).forEach(function(Io){ko.setParent(Io)}),delete this._children[$o]),Object.keys(this._in[$o]).forEach(Eo),delete this._in[$o],delete this._preds[$o],Object.keys(this._out[$o]).forEach(Eo),delete this._out[$o],delete this._sucs[$o],--this._nodeCount}return this}setParent($o,ko){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(ko===void 0)ko=GRAPH_NODE;else{ko+="";for(var Eo=ko;Eo!==void 0;Eo=this.parent(Eo))if(Eo===$o)throw new Error("Setting "+ko+" as parent of "+$o+" would create a cycle");this.setNode(ko)}return this.setNode($o),this._removeFromParentsChildList($o),this._parent[$o]=ko,this._children[ko][$o]=!0,this}_removeFromParentsChildList($o){delete this._children[this._parent[$o]][$o]}parent($o){if(this._isCompound){var ko=this._parent[$o];if(ko!==GRAPH_NODE)return ko}}children($o=GRAPH_NODE){if(this._isCompound){var ko=this._children[$o];if(ko)return Object.keys(ko)}else{if($o===GRAPH_NODE)return this.nodes();if(this.hasNode($o))return[]}}predecessors($o){var ko=this._preds[$o];if(ko)return Object.keys(ko)}successors($o){var ko=this._sucs[$o];if(ko)return Object.keys(ko)}neighbors($o){var ko=this.predecessors($o);if(ko){const Io=new Set(ko);for(var Eo of this.successors($o))Io.add(Eo);return Array.from(Io.values())}}isLeaf($o){var ko;return this.isDirected()?ko=this.successors($o):ko=this.neighbors($o),ko.length===0}filterNodes($o){var ko=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});ko.setGraph(this.graph());var Eo=this;Object.entries(this._nodes).forEach(function([ya,wa]){$o(ya)&&ko.setNode(ya,wa)}),Object.values(this._edgeObjs).forEach(function(ya){ko.hasNode(ya.v)&&ko.hasNode(ya.w)&&ko.setEdge(ya,Eo.edge(ya))});var Io={};function $a(ya){var wa=Eo.parent(ya);return wa===void 0||ko.hasNode(wa)?(Io[ya]=wa,wa):wa in Io?Io[wa]:$a(wa)}return this._isCompound&&ko.nodes().forEach(ya=>ko.setParent(ya,$a(ya))),ko}setDefaultEdgeLabel($o){return this._defaultEdgeLabelFn=$o,typeof $o!="function"&&(this._defaultEdgeLabelFn=()=>$o),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath($o,ko){var Eo=this,Io=arguments;return $o.reduce(function($a,ya){return Io.length>1?Eo.setEdge($a,ya,ko):Eo.setEdge($a,ya),ya}),this}setEdge(){var $o,ko,Eo,Io,$a=!1,ya=arguments[0];typeof ya=="object"&&ya!==null&&"v"in ya?($o=ya.v,ko=ya.w,Eo=ya.name,arguments.length===2&&(Io=arguments[1],$a=!0)):($o=ya,ko=arguments[1],Eo=arguments[3],arguments.length>2&&(Io=arguments[2],$a=!0)),$o=""+$o,ko=""+ko,Eo!==void 0&&(Eo=""+Eo);var wa=edgeArgsToId(this._isDirected,$o,ko,Eo);if(Object.hasOwn(this._edgeLabels,wa))return $a&&(this._edgeLabels[wa]=Io),this;if(Eo!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode($o),this.setNode(ko),this._edgeLabels[wa]=$a?Io:this._defaultEdgeLabelFn($o,ko,Eo);var ka=edgeArgsToObj(this._isDirected,$o,ko,Eo);return $o=ka.v,ko=ka.w,Object.freeze(ka),this._edgeObjs[wa]=ka,incrementOrInitEntry(this._preds[ko],$o),incrementOrInitEntry(this._sucs[$o],ko),this._in[ko][wa]=ka,this._out[$o][wa]=ka,this._edgeCount++,this}edge($o,ko,Eo){var Io=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,$o,ko,Eo);return this._edgeLabels[Io]}edgeAsObj(){const $o=this.edge(...arguments);return typeof $o!="object"?{label:$o}:$o}hasEdge($o,ko,Eo){var Io=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,$o,ko,Eo);return Object.hasOwn(this._edgeLabels,Io)}removeEdge($o,ko,Eo){var Io=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,$o,ko,Eo),$a=this._edgeObjs[Io];return $a&&($o=$a.v,ko=$a.w,delete this._edgeLabels[Io],delete this._edgeObjs[Io],decrementOrRemoveEntry(this._preds[ko],$o),decrementOrRemoveEntry(this._sucs[$o],ko),delete this._in[ko][Io],delete this._out[$o][Io],this._edgeCount--),this}inEdges($o,ko){var Eo=this._in[$o];if(Eo){var Io=Object.values(Eo);return ko?Io.filter($a=>$a.v===ko):Io}}outEdges($o,ko){var Eo=this._out[$o];if(Eo){var Io=Object.values(Eo);return ko?Io.filter($a=>$a.w===ko):Io}}nodeEdges($o,ko){var Eo=this.inEdges($o,ko);if(Eo)return Eo.concat(this.outEdges($o,ko))}};function incrementOrInitEntry(So,$o){So[$o]?So[$o]++:So[$o]=1}function decrementOrRemoveEntry(So,$o){--So[$o]||delete So[$o]}function edgeArgsToId(So,$o,ko,Eo){var Io=""+$o,$a=""+ko;if(!So&&Io>$a){var ya=Io;Io=$a,$a=ya}return Io+EDGE_KEY_DELIM+$a+EDGE_KEY_DELIM+(Eo===void 0?DEFAULT_EDGE_NAME:Eo)}function edgeArgsToObj(So,$o,ko,Eo){var Io=""+$o,$a=""+ko;if(!So&&Io>$a){var ya=Io;Io=$a,$a=ya}var wa={v:Io,w:$a};return Eo&&(wa.name=Eo),wa}function edgeObjToId(So,$o){return edgeArgsToId(So,$o.v,$o.w,$o.name)}var graph=Graph$a,version$1="2.2.4",lib$2={Graph:graph,version:version$1},Graph$9=graph,json={write,read};function write(So){var $o={options:{directed:So.isDirected(),multigraph:So.isMultigraph(),compound:So.isCompound()},nodes:writeNodes(So),edges:writeEdges(So)};return So.graph()!==void 0&&($o.value=structuredClone(So.graph())),$o}function writeNodes(So){return So.nodes().map(function($o){var ko=So.node($o),Eo=So.parent($o),Io={v:$o};return ko!==void 0&&(Io.value=ko),Eo!==void 0&&(Io.parent=Eo),Io})}function writeEdges(So){return So.edges().map(function($o){var ko=So.edge($o),Eo={v:$o.v,w:$o.w};return $o.name!==void 0&&(Eo.name=$o.name),ko!==void 0&&(Eo.value=ko),Eo})}function read(So){var $o=new Graph$9(So.options).setGraph(So.value);return So.nodes.forEach(function(ko){$o.setNode(ko.v,ko.value),ko.parent&&$o.setParent(ko.v,ko.parent)}),So.edges.forEach(function(ko){$o.setEdge({v:ko.v,w:ko.w,name:ko.name},ko.value)}),$o}var components_1=components;function components(So){var $o={},ko=[],Eo;function Io($a){Object.hasOwn($o,$a)||($o[$a]=!0,Eo.push($a),So.successors($a).forEach(Io),So.predecessors($a).forEach(Io))}return So.nodes().forEach(function($a){Eo=[],Io($a),Eo.length&&ko.push(Eo)}),ko}let PriorityQueue$2=class{constructor(){su(this,"_arr",[]);su(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function($o){return $o.key})}has($o){return Object.hasOwn(this._keyIndices,$o)}priority($o){var ko=this._keyIndices[$o];if(ko!==void 0)return this._arr[ko].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add($o,ko){var Eo=this._keyIndices;if($o=String($o),!Object.hasOwn(Eo,$o)){var Io=this._arr,$a=Io.length;return Eo[$o]=$a,Io.push({key:$o,priority:ko}),this._decrease($a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var $o=this._arr.pop();return delete this._keyIndices[$o.key],this._heapify(0),$o.key}decrease($o,ko){var Eo=this._keyIndices[$o];if(ko>this._arr[Eo].priority)throw new Error("New priority is greater than current priority. Key: "+$o+" Old: "+this._arr[Eo].priority+" New: "+ko);this._arr[Eo].priority=ko,this._decrease(Eo)}_heapify($o){var ko=this._arr,Eo=2*$o,Io=Eo+1,$a=$o;Eo<ko.length&&($a=ko[Eo].priority<ko[$a].priority?Eo:$a,Io<ko.length&&($a=ko[Io].priority<ko[$a].priority?Io:$a),$a!==$o&&(this._swap($o,$a),this._heapify($a)))}_decrease($o){for(var ko=this._arr,Eo=ko[$o].priority,Io;$o!==0&&(Io=$o>>1,!(ko[Io].priority<Eo));)this._swap($o,Io),$o=Io}_swap($o,ko){var Eo=this._arr,Io=this._keyIndices,$a=Eo[$o],ya=Eo[ko];Eo[$o]=ya,Eo[ko]=$a,Io[ya.key]=$o,Io[$a.key]=ko}};var priorityQueue=PriorityQueue$2,PriorityQueue$1=priorityQueue,dijkstra_1=dijkstra$1,DEFAULT_WEIGHT_FUNC$1=()=>1;function dijkstra$1(So,$o,ko,Eo){return runDijkstra(So,String($o),ko||DEFAULT_WEIGHT_FUNC$1,Eo||function(Io){return So.outEdges(Io)})}function runDijkstra(So,$o,ko,Eo){var Io={},$a=new PriorityQueue$1,ya,wa,ka=function(Sa){var Oa=Sa.v!==ya?Sa.v:Sa.w,Ca=Io[Oa],Ea=ko(Sa),Ta=wa.distance+Ea;if(Ea<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+Sa+" Weight: "+Ea);Ta<Ca.distance&&(Ca.distance=Ta,Ca.predecessor=ya,$a.decrease(Oa,Ta))};for(So.nodes().forEach(function(Sa){var Oa=Sa===$o?0:Number.POSITIVE_INFINITY;Io[Sa]={distance:Oa},$a.add(Sa,Oa)});$a.size()>0&&(ya=$a.removeMin(),wa=Io[ya],wa.distance!==Number.POSITIVE_INFINITY);)Eo(ya).forEach(ka);return Io}var dijkstra=dijkstra_1,dijkstraAll_1=dijkstraAll;function dijkstraAll(So,$o,ko){return So.nodes().reduce(function(Eo,Io){return Eo[Io]=dijkstra(So,Io,$o,ko),Eo},{})}var tarjan_1=tarjan$1;function tarjan$1(So){var $o=0,ko=[],Eo={},Io=[];function $a(ya){var wa=Eo[ya]={onStack:!0,lowlink:$o,index:$o++};if(ko.push(ya),So.successors(ya).forEach(function(Oa){Object.hasOwn(Eo,Oa)?Eo[Oa].onStack&&(wa.lowlink=Math.min(wa.lowlink,Eo[Oa].index)):($a(Oa),wa.lowlink=Math.min(wa.lowlink,Eo[Oa].lowlink))}),wa.lowlink===wa.index){var ka=[],Sa;do Sa=ko.pop(),Eo[Sa].onStack=!1,ka.push(Sa);while(ya!==Sa);Io.push(ka)}}return So.nodes().forEach(function(ya){Object.hasOwn(Eo,ya)||$a(ya)}),Io}var tarjan=tarjan_1,findCycles_1=findCycles;function findCycles(So){return tarjan(So).filter(function($o){return $o.length>1||$o.length===1&&So.hasEdge($o[0],$o[0])})}var floydWarshall_1=floydWarshall,DEFAULT_WEIGHT_FUNC=()=>1;function floydWarshall(So,$o,ko){return runFloydWarshall(So,$o||DEFAULT_WEIGHT_FUNC,ko||function(Eo){return So.outEdges(Eo)})}function runFloydWarshall(So,$o,ko){var Eo={},Io=So.nodes();return Io.forEach(function($a){Eo[$a]={},Eo[$a][$a]={distance:0},Io.forEach(function(ya){$a!==ya&&(Eo[$a][ya]={distance:Number.POSITIVE_INFINITY})}),ko($a).forEach(function(ya){var wa=ya.v===$a?ya.w:ya.v,ka=$o(ya);Eo[$a][wa]={distance:ka,predecessor:$a}})}),Io.forEach(function($a){var ya=Eo[$a];Io.forEach(function(wa){var ka=Eo[wa];Io.forEach(function(Sa){var Oa=ka[$a],Ca=ya[Sa],Ea=ka[Sa],Ta=Oa.distance+Ca.distance;Ta<Ea.distance&&(Ea.distance=Ta,Ea.predecessor=Ca.predecessor)})})}),Eo}function topsort$1(So){var $o={},ko={},Eo=[];function Io($a){if(Object.hasOwn(ko,$a))throw new CycleException;Object.hasOwn($o,$a)||(ko[$a]=!0,$o[$a]=!0,So.predecessors($a).forEach(Io),delete ko[$a],Eo.push($a))}if(So.sinks().forEach(Io),Object.keys($o).length!==So.nodeCount())throw new CycleException;return Eo}class CycleException extends Error{constructor(){super(...arguments)}}var topsort_1=topsort$1;topsort$1.CycleException=CycleException;var topsort=topsort_1,isAcyclic_1=isAcyclic;function isAcyclic(So){try{topsort(So)}catch($o){if($o instanceof topsort.CycleException)return!1;throw $o}return!0}var dfs_1=dfs$3;function dfs$3(So,$o,ko){Array.isArray($o)||($o=[$o]);var Eo=So.isDirected()?wa=>So.successors(wa):wa=>So.neighbors(wa),Io=ko==="post"?postOrderDfs:preOrderDfs,$a=[],ya={};return $o.forEach(wa=>{if(!So.hasNode(wa))throw new Error("Graph does not have node: "+wa);Io(wa,Eo,ya,$a)}),$a}function postOrderDfs(So,$o,ko,Eo){for(var Io=[[So,!1]];Io.length>0;){var $a=Io.pop();$a[1]?Eo.push($a[0]):Object.hasOwn(ko,$a[0])||(ko[$a[0]]=!0,Io.push([$a[0],!0]),forEachRight($o($a[0]),ya=>Io.push([ya,!1])))}}function preOrderDfs(So,$o,ko,Eo){for(var Io=[So];Io.length>0;){var $a=Io.pop();Object.hasOwn(ko,$a)||(ko[$a]=!0,Eo.push($a),forEachRight($o($a),ya=>Io.push(ya)))}}function forEachRight(So,$o){for(var ko=So.length;ko--;)$o(So[ko],ko,So);return So}var dfs$2=dfs_1,postorder_1=postorder$2;function postorder$2(So,$o){return dfs$2(So,$o,"post")}var dfs$1=dfs_1,preorder_1=preorder$1;function preorder$1(So,$o){return dfs$1(So,$o,"pre")}var Graph$8=graph,PriorityQueue=priorityQueue,prim_1=prim;function prim(So,$o){var ko=new Graph$8,Eo={},Io=new PriorityQueue,$a;function ya(ka){var Sa=ka.v===$a?ka.w:ka.v,Oa=Io.priority(Sa);if(Oa!==void 0){var Ca=$o(ka);Ca<Oa&&(Eo[Sa]=$a,Io.decrease(Sa,Ca))}}if(So.nodeCount()===0)return ko;So.nodes().forEach(function(ka){Io.add(ka,Number.POSITIVE_INFINITY),ko.setNode(ka)}),Io.decrease(So.nodes()[0],0);for(var wa=!1;Io.size()>0;){if($a=Io.removeMin(),Object.hasOwn(Eo,$a))ko.setEdge($a,Eo[$a]);else{if(wa)throw new Error("Input graph is not connected: "+So);wa=!0}So.nodeEdges($a).forEach(ya)}return ko}var alg={components:components_1,dijkstra:dijkstra_1,dijkstraAll:dijkstraAll_1,findCycles:findCycles_1,floydWarshall:floydWarshall_1,isAcyclic:isAcyclic_1,postorder:postorder_1,preorder:preorder_1,prim:prim_1,tarjan:tarjan_1,topsort:topsort_1},lib$1=lib$2,graphlib={Graph:lib$1.Graph,json,alg,version:lib$1.version};let List$1=class{constructor(){let $o={};$o._next=$o._prev=$o,this._sentinel=$o}dequeue(){let $o=this._sentinel,ko=$o._prev;if(ko!==$o)return unlink(ko),ko}enqueue($o){let ko=this._sentinel;$o._prev&&$o._next&&unlink($o),$o._next=ko._next,ko._next._prev=$o,ko._next=$o,$o._prev=ko}toString(){let $o=[],ko=this._sentinel,Eo=ko._prev;for(;Eo!==ko;)$o.push(JSON.stringify(Eo,filterOutLinks)),Eo=Eo._prev;return"["+$o.join(", ")+"]"}};function unlink(So){So._prev._next=So._next,So._next._prev=So._prev,delete So._next,delete So._prev}function filterOutLinks(So,$o){if(So!=="_next"&&So!=="_prev")return $o}var list=List$1;let Graph$7=graphlib.Graph,List=list;var greedyFas=greedyFAS$1;let DEFAULT_WEIGHT_FN=()=>1;function greedyFAS$1(So,$o){if(So.nodeCount()<=1)return[];let ko=buildState(So,$o||DEFAULT_WEIGHT_FN);return doGreedyFAS(ko.graph,ko.buckets,ko.zeroIdx).flatMap(Io=>So.outEdges(Io.v,Io.w))}function doGreedyFAS(So,$o,ko){let Eo=[],Io=$o[$o.length-1],$a=$o[0],ya;for(;So.nodeCount();){for(;ya=$a.dequeue();)removeNode(So,$o,ko,ya);for(;ya=Io.dequeue();)removeNode(So,$o,ko,ya);if(So.nodeCount()){for(let wa=$o.length-2;wa>0;--wa)if(ya=$o[wa].dequeue(),ya){Eo=Eo.concat(removeNode(So,$o,ko,ya,!0));break}}}return Eo}function removeNode(So,$o,ko,Eo,Io){let $a=Io?[]:void 0;return So.inEdges(Eo.v).forEach(ya=>{let wa=So.edge(ya),ka=So.node(ya.v);Io&&$a.push({v:ya.v,w:ya.w}),ka.out-=wa,assignBucket($o,ko,ka)}),So.outEdges(Eo.v).forEach(ya=>{let wa=So.edge(ya),ka=ya.w,Sa=So.node(ka);Sa.in-=wa,assignBucket($o,ko,Sa)}),So.removeNode(Eo.v),$a}function buildState(So,$o){let ko=new Graph$7,Eo=0,Io=0;So.nodes().forEach(wa=>{ko.setNode(wa,{v:wa,in:0,out:0})}),So.edges().forEach(wa=>{let ka=ko.edge(wa.v,wa.w)||0,Sa=$o(wa),Oa=ka+Sa;ko.setEdge(wa.v,wa.w,Oa),Io=Math.max(Io,ko.node(wa.v).out+=Sa),Eo=Math.max(Eo,ko.node(wa.w).in+=Sa)});let $a=range$2(Io+Eo+3).map(()=>new List),ya=Eo+1;return ko.nodes().forEach(wa=>{assignBucket($a,ya,ko.node(wa))}),{graph:ko,buckets:$a,zeroIdx:ya}}function assignBucket(So,$o,ko){ko.out?ko.in?So[ko.out-ko.in+$o].enqueue(ko):So[So.length-1].enqueue(ko):So[0].enqueue(ko)}function range$2(So){const $o=[];for(let ko=0;ko<So;ko++)$o.push(ko);return $o}let Graph$6=graphlib.Graph;var util$d={addBorderNode:addBorderNode$1,addDummyNode,applyWithChunking:applyWithChunking$1,asNonCompoundGraph,buildLayerMatrix,intersectRect,mapValues,maxRank,normalizeRanks:normalizeRanks$1,notime,partition,pick,predecessorWeights,range:range$1,removeEmptyRanks:removeEmptyRanks$1,simplify:simplify$1,successorWeights,time,uniqueId:uniqueId$1,zipObject:zipObject$1};function addDummyNode(So,$o,ko,Eo){let Io;do Io=uniqueId$1(Eo);while(So.hasNode(Io));return ko.dummy=$o,So.setNode(Io,ko),Io}function simplify$1(So){let $o=new Graph$6().setGraph(So.graph());return So.nodes().forEach(ko=>$o.setNode(ko,So.node(ko))),So.edges().forEach(ko=>{let Eo=$o.edge(ko.v,ko.w)||{weight:0,minlen:1},Io=So.edge(ko);$o.setEdge(ko.v,ko.w,{weight:Eo.weight+Io.weight,minlen:Math.max(Eo.minlen,Io.minlen)})}),$o}function asNonCompoundGraph(So){let $o=new Graph$6({multigraph:So.isMultigraph()}).setGraph(So.graph());return So.nodes().forEach(ko=>{So.children(ko).length||$o.setNode(ko,So.node(ko))}),So.edges().forEach(ko=>{$o.setEdge(ko,So.edge(ko))}),$o}function successorWeights(So){let $o=So.nodes().map(ko=>{let Eo={};return So.outEdges(ko).forEach(Io=>{Eo[Io.w]=(Eo[Io.w]||0)+So.edge(Io).weight}),Eo});return zipObject$1(So.nodes(),$o)}function predecessorWeights(So){let $o=So.nodes().map(ko=>{let Eo={};return So.inEdges(ko).forEach(Io=>{Eo[Io.v]=(Eo[Io.v]||0)+So.edge(Io).weight}),Eo});return zipObject$1(So.nodes(),$o)}function intersectRect(So,$o){let ko=So.x,Eo=So.y,Io=$o.x-ko,$a=$o.y-Eo,ya=So.width/2,wa=So.height/2;if(!Io&&!$a)throw new Error("Not possible to find intersection inside of the rectangle");let ka,Sa;return Math.abs($a)*ya>Math.abs(Io)*wa?($a<0&&(wa=-wa),ka=wa*Io/$a,Sa=wa):(Io<0&&(ya=-ya),ka=ya,Sa=ya*$a/Io),{x:ko+ka,y:Eo+Sa}}function buildLayerMatrix(So){let $o=range$1(maxRank(So)+1).map(()=>[]);return So.nodes().forEach(ko=>{let Eo=So.node(ko),Io=Eo.rank;Io!==void 0&&($o[Io][Eo.order]=ko)}),$o}function normalizeRanks$1(So){let $o=So.nodes().map(Eo=>{let Io=So.node(Eo).rank;return Io===void 0?Number.MAX_VALUE:Io}),ko=applyWithChunking$1(Math.min,$o);So.nodes().forEach(Eo=>{let Io=So.node(Eo);Object.hasOwn(Io,"rank")&&(Io.rank-=ko)})}function removeEmptyRanks$1(So){let $o=So.nodes().map(ya=>So.node(ya).rank),ko=applyWithChunking$1(Math.min,$o),Eo=[];So.nodes().forEach(ya=>{let wa=So.node(ya).rank-ko;Eo[wa]||(Eo[wa]=[]),Eo[wa].push(ya)});let Io=0,$a=So.graph().nodeRankFactor;Array.from(Eo).forEach((ya,wa)=>{ya===void 0&&wa%$a!==0?--Io:ya!==void 0&&Io&&ya.forEach(ka=>So.node(ka).rank+=Io)})}function addBorderNode$1(So,$o,ko,Eo){let Io={width:0,height:0};return arguments.length>=4&&(Io.rank=ko,Io.order=Eo),addDummyNode(So,"border",Io,$o)}function splitToChunks(So,$o=CHUNKING_THRESHOLD){const ko=[];for(let Eo=0;Eo<So.length;Eo+=$o){const Io=So.slice(Eo,Eo+$o);ko.push(Io)}return ko}const CHUNKING_THRESHOLD=65535;function applyWithChunking$1(So,$o){if($o.length>CHUNKING_THRESHOLD){const ko=splitToChunks($o);return So.apply(null,ko.map(Eo=>So.apply(null,Eo)))}else return So.apply(null,$o)}function maxRank(So){const ko=So.nodes().map(Eo=>{let Io=So.node(Eo).rank;return Io===void 0?Number.MIN_VALUE:Io});return applyWithChunking$1(Math.max,ko)}function partition(So,$o){let ko={lhs:[],rhs:[]};return So.forEach(Eo=>{$o(Eo)?ko.lhs.push(Eo):ko.rhs.push(Eo)}),ko}function time(So,$o){let ko=Date.now();try{return $o()}finally{console.log(So+" time: "+(Date.now()-ko)+"ms")}}function notime(So,$o){return $o()}let idCounter=0;function uniqueId$1(So){var $o=++idCounter;return toString(So)+$o}function range$1(So,$o,ko=1){$o==null&&($o=So,So=0);let Eo=$a=>$a<$o;ko<0&&(Eo=$a=>$o<$a);const Io=[];for(let $a=So;Eo($a);$a+=ko)Io.push($a);return Io}function pick(So,$o){const ko={};for(const Eo of $o)So[Eo]!==void 0&&(ko[Eo]=So[Eo]);return ko}function mapValues(So,$o){let ko=$o;return typeof $o=="string"&&(ko=Eo=>Eo[$o]),Object.entries(So).reduce((Eo,[Io,$a])=>(Eo[Io]=ko($a,Io),Eo),{})}function zipObject$1(So,$o){return So.reduce((ko,Eo,Io)=>(ko[Eo]=$o[Io],ko),{})}let greedyFAS=greedyFas,uniqueId=util$d.uniqueId;var acyclic$1={run:run$2,undo:undo$2};function run$2(So){(So.graph().acyclicer==="greedy"?greedyFAS(So,ko(So)):dfsFAS(So)).forEach(Eo=>{let Io=So.edge(Eo);So.removeEdge(Eo),Io.forwardName=Eo.name,Io.reversed=!0,So.setEdge(Eo.w,Eo.v,Io,uniqueId("rev"))});function ko(Eo){return Io=>Eo.edge(Io).weight}}function dfsFAS(So){let $o=[],ko={},Eo={};function Io($a){Object.hasOwn(Eo,$a)||(Eo[$a]=!0,ko[$a]=!0,So.outEdges($a).forEach(ya=>{Object.hasOwn(ko,ya.w)?$o.push(ya):Io(ya.w)}),delete ko[$a])}return So.nodes().forEach(Io),$o}function undo$2(So){So.edges().forEach($o=>{let ko=So.edge($o);if(ko.reversed){So.removeEdge($o);let Eo=ko.forwardName;delete ko.reversed,delete ko.forwardName,So.setEdge($o.w,$o.v,ko,Eo)}})}let util$c=util$d;var normalize$1={run:run$1,undo:undo$1};function run$1(So){So.graph().dummyChains=[],So.edges().forEach($o=>normalizeEdge(So,$o))}function normalizeEdge(So,$o){let ko=$o.v,Eo=So.node(ko).rank,Io=$o.w,$a=So.node(Io).rank,ya=$o.name,wa=So.edge($o),ka=wa.labelRank;if($a===Eo+1)return;So.removeEdge($o);let Sa,Oa,Ca;for(Ca=0,++Eo;Eo<$a;++Ca,++Eo)wa.points=[],Oa={width:0,height:0,edgeLabel:wa,edgeObj:$o,rank:Eo},Sa=util$c.addDummyNode(So,"edge",Oa,"_d"),Eo===ka&&(Oa.width=wa.width,Oa.height=wa.height,Oa.dummy="edge-label",Oa.labelpos=wa.labelpos),So.setEdge(ko,Sa,{weight:wa.weight},ya),Ca===0&&So.graph().dummyChains.push(Sa),ko=Sa;So.setEdge(ko,Io,{weight:wa.weight},ya)}function undo$1(So){So.graph().dummyChains.forEach($o=>{let ko=So.node($o),Eo=ko.edgeLabel,Io;for(So.setEdge(ko.edgeObj,Eo);ko.dummy;)Io=So.successors($o)[0],So.removeNode($o),Eo.points.push({x:ko.x,y:ko.y}),ko.dummy==="edge-label"&&(Eo.x=ko.x,Eo.y=ko.y,Eo.width=ko.width,Eo.height=ko.height),$o=Io,ko=So.node($o)})}const{applyWithChunking}=util$d;var util$b={longestPath:longestPath$1,slack:slack$2};function longestPath$1(So){var $o={};function ko(Eo){var Io=So.node(Eo);if(Object.hasOwn($o,Eo))return Io.rank;$o[Eo]=!0;let $a=So.outEdges(Eo).map(wa=>wa==null?Number.POSITIVE_INFINITY:ko(wa.w)-So.edge(wa).minlen);var ya=applyWithChunking(Math.min,$a);return ya===Number.POSITIVE_INFINITY&&(ya=0),Io.rank=ya}So.sources().forEach(ko)}function slack$2(So,$o){return So.node($o.w).rank-So.node($o.v).rank-So.edge($o).minlen}var Graph$5=graphlib.Graph,slack$1=util$b.slack,feasibleTree_1=feasibleTree$2;function feasibleTree$2(So){var $o=new Graph$5({directed:!1}),ko=So.nodes()[0],Eo=So.nodeCount();$o.setNode(ko,{});for(var Io,$a;tightTree($o,So)<Eo;)Io=findMinSlackEdge($o,So),$a=$o.hasNode(Io.v)?slack$1(So,Io):-slack$1(So,Io),shiftRanks($o,So,$a);return $o}function tightTree(So,$o){function ko(Eo){$o.nodeEdges(Eo).forEach(Io=>{var $a=Io.v,ya=Eo===$a?Io.w:$a;!So.hasNode(ya)&&!slack$1($o,Io)&&(So.setNode(ya,{}),So.setEdge(Eo,ya,{}),ko(ya))})}return So.nodes().forEach(ko),So.nodeCount()}function findMinSlackEdge(So,$o){return $o.edges().reduce((Eo,Io)=>{let $a=Number.POSITIVE_INFINITY;return So.hasNode(Io.v)!==So.hasNode(Io.w)&&($a=slack$1($o,Io)),$a<Eo[0]?[$a,Io]:Eo},[Number.POSITIVE_INFINITY,null])[1]}function shiftRanks(So,$o,ko){So.nodes().forEach(Eo=>$o.node(Eo).rank+=ko)}var feasibleTree$1=feasibleTree_1,slack=util$b.slack,initRank=util$b.longestPath,preorder=graphlib.alg.preorder,postorder$1=graphlib.alg.postorder,simplify=util$d.simplify,networkSimplex_1=networkSimplex$1;networkSimplex$1.initLowLimValues=initLowLimValues;networkSimplex$1.initCutValues=initCutValues;networkSimplex$1.calcCutValue=calcCutValue;networkSimplex$1.leaveEdge=leaveEdge;networkSimplex$1.enterEdge=enterEdge;networkSimplex$1.exchangeEdges=exchangeEdges;function networkSimplex$1(So){So=simplify(So),initRank(So);var $o=feasibleTree$1(So);initLowLimValues($o),initCutValues($o,So);for(var ko,Eo;ko=leaveEdge($o);)Eo=enterEdge($o,So,ko),exchangeEdges($o,So,ko,Eo)}function initCutValues(So,$o){var ko=postorder$1(So,So.nodes());ko=ko.slice(0,ko.length-1),ko.forEach(Eo=>assignCutValue(So,$o,Eo))}function assignCutValue(So,$o,ko){var Eo=So.node(ko),Io=Eo.parent;So.edge(ko,Io).cutvalue=calcCutValue(So,$o,ko)}function calcCutValue(So,$o,ko){var Eo=So.node(ko),Io=Eo.parent,$a=!0,ya=$o.edge(ko,Io),wa=0;return ya||($a=!1,ya=$o.edge(Io,ko)),wa=ya.weight,$o.nodeEdges(ko).forEach(ka=>{var Sa=ka.v===ko,Oa=Sa?ka.w:ka.v;if(Oa!==Io){var Ca=Sa===$a,Ea=$o.edge(ka).weight;if(wa+=Ca?Ea:-Ea,isTreeEdge(So,ko,Oa)){var Ta=So.edge(ko,Oa).cutvalue;wa+=Ca?-Ta:Ta}}}),wa}function initLowLimValues(So,$o){arguments.length<2&&($o=So.nodes()[0]),dfsAssignLowLim(So,{},1,$o)}function dfsAssignLowLim(So,$o,ko,Eo,Io){var $a=ko,ya=So.node(Eo);return $o[Eo]=!0,So.neighbors(Eo).forEach(wa=>{Object.hasOwn($o,wa)||(ko=dfsAssignLowLim(So,$o,ko,wa,Eo))}),ya.low=$a,ya.lim=ko++,Io?ya.parent=Io:delete ya.parent,ko}function leaveEdge(So){return So.edges().find($o=>So.edge($o).cutvalue<0)}function enterEdge(So,$o,ko){var Eo=ko.v,Io=ko.w;$o.hasEdge(Eo,Io)||(Eo=ko.w,Io=ko.v);var $a=So.node(Eo),ya=So.node(Io),wa=$a,ka=!1;$a.lim>ya.lim&&(wa=ya,ka=!0);var Sa=$o.edges().filter(Oa=>ka===isDescendant(So,So.node(Oa.v),wa)&&ka!==isDescendant(So,So.node(Oa.w),wa));return Sa.reduce((Oa,Ca)=>slack($o,Ca)<slack($o,Oa)?Ca:Oa)}function exchangeEdges(So,$o,ko,Eo){var Io=ko.v,$a=ko.w;So.removeEdge(Io,$a),So.setEdge(Eo.v,Eo.w,{}),initLowLimValues(So),initCutValues(So,$o),updateRanks(So,$o)}function updateRanks(So,$o){var ko=So.nodes().find(Io=>!$o.node(Io).parent),Eo=preorder(So,ko);Eo=Eo.slice(1),Eo.forEach(Io=>{var $a=So.node(Io).parent,ya=$o.edge(Io,$a),wa=!1;ya||(ya=$o.edge($a,Io),wa=!0),$o.node(Io).rank=$o.node($a).rank+(wa?ya.minlen:-ya.minlen)})}function isTreeEdge(So,$o,ko){return So.hasEdge($o,ko)}function isDescendant(So,$o,ko){return ko.low<=$o.lim&&$o.lim<=ko.lim}var rankUtil=util$b,longestPath=rankUtil.longestPath,feasibleTree=feasibleTree_1,networkSimplex=networkSimplex_1,rank_1=rank$1;function rank$1(So){switch(So.graph().ranker){case"network-simplex":networkSimplexRanker(So);break;case"tight-tree":tightTreeRanker(So);break;case"longest-path":longestPathRanker(So);break;default:networkSimplexRanker(So)}}var longestPathRanker=longestPath;function tightTreeRanker(So){longestPath(So),feasibleTree(So)}function networkSimplexRanker(So){networkSimplex(So)}var parentDummyChains_1=parentDummyChains$1;function parentDummyChains$1(So){let $o=postorder(So);So.graph().dummyChains.forEach(ko=>{let Eo=So.node(ko),Io=Eo.edgeObj,$a=findPath(So,$o,Io.v,Io.w),ya=$a.path,wa=$a.lca,ka=0,Sa=ya[ka],Oa=!0;for(;ko!==Io.w;){if(Eo=So.node(ko),Oa){for(;(Sa=ya[ka])!==wa&&So.node(Sa).maxRank<Eo.rank;)ka++;Sa===wa&&(Oa=!1)}if(!Oa){for(;ka<ya.length-1&&So.node(Sa=ya[ka+1]).minRank<=Eo.rank;)ka++;Sa=ya[ka]}So.setParent(ko,Sa),ko=So.successors(ko)[0]}})}function findPath(So,$o,ko,Eo){let Io=[],$a=[],ya=Math.min($o[ko].low,$o[Eo].low),wa=Math.max($o[ko].lim,$o[Eo].lim),ka,Sa;ka=ko;do ka=So.parent(ka),Io.push(ka);while(ka&&($o[ka].low>ya||wa>$o[ka].lim));for(Sa=ka,ka=Eo;(ka=So.parent(ka))!==Sa;)$a.push(ka);return{path:Io.concat($a.reverse()),lca:Sa}}function postorder(So){let $o={},ko=0;function Eo(Io){let $a=ko;So.children(Io).forEach(Eo),$o[Io]={low:$a,lim:ko++}}return So.children().forEach(Eo),$o}let util$a=util$d;var nestingGraph$1={run,cleanup};function run(So){let $o=util$a.addDummyNode(So,"root",{},"_root"),ko=treeDepths(So),Eo=Object.values(ko),Io=util$a.applyWithChunking(Math.max,Eo)-1,$a=2*Io+1;So.graph().nestingRoot=$o,So.edges().forEach(wa=>So.edge(wa).minlen*=$a);let ya=sumWeights(So)+1;So.children().forEach(wa=>dfs(So,$o,$a,ya,Io,ko,wa)),So.graph().nodeRankFactor=$a}function dfs(So,$o,ko,Eo,Io,$a,ya){let wa=So.children(ya);if(!wa.length){ya!==$o&&So.setEdge($o,ya,{weight:0,minlen:ko});return}let ka=util$a.addBorderNode(So,"_bt"),Sa=util$a.addBorderNode(So,"_bb"),Oa=So.node(ya);So.setParent(ka,ya),Oa.borderTop=ka,So.setParent(Sa,ya),Oa.borderBottom=Sa,wa.forEach(Ca=>{dfs(So,$o,ko,Eo,Io,$a,Ca);let Ea=So.node(Ca),Ta=Ea.borderTop?Ea.borderTop:Ca,Aa=Ea.borderBottom?Ea.borderBottom:Ca,Ia=Ea.borderTop?Eo:2*Eo,Pa=Ta!==Aa?1:Io-$a[ya]+1;So.setEdge(ka,Ta,{weight:Ia,minlen:Pa,nestingEdge:!0}),So.setEdge(Aa,Sa,{weight:Ia,minlen:Pa,nestingEdge:!0})}),So.parent(ya)||So.setEdge($o,ka,{weight:0,minlen:Io+$a[ya]})}function treeDepths(So){var $o={};function ko(Eo,Io){var $a=So.children(Eo);$a&&$a.length&&$a.forEach(ya=>ko(ya,Io+1)),$o[Eo]=Io}return So.children().forEach(Eo=>ko(Eo,1)),$o}function sumWeights(So){return So.edges().reduce(($o,ko)=>$o+So.edge(ko).weight,0)}function cleanup(So){var $o=So.graph();So.removeNode($o.nestingRoot),delete $o.nestingRoot,So.edges().forEach(ko=>{var Eo=So.edge(ko);Eo.nestingEdge&&So.removeEdge(ko)})}let util$9=util$d;var addBorderSegments_1=addBorderSegments$1;function addBorderSegments$1(So){function $o(ko){let Eo=So.children(ko),Io=So.node(ko);if(Eo.length&&Eo.forEach($o),Object.hasOwn(Io,"minRank")){Io.borderLeft=[],Io.borderRight=[];for(let $a=Io.minRank,ya=Io.maxRank+1;$a<ya;++$a)addBorderNode(So,"borderLeft","_bl",ko,Io,$a),addBorderNode(So,"borderRight","_br",ko,Io,$a)}}So.children().forEach($o)}function addBorderNode(So,$o,ko,Eo,Io,$a){let ya={width:0,height:0,rank:$a,borderType:$o},wa=Io[$o][$a-1],ka=util$9.addDummyNode(So,"border",ya,ko);Io[$o][$a]=ka,So.setParent(ka,Eo),wa&&So.setEdge(wa,ka,{weight:1})}var coordinateSystem$1={adjust,undo};function adjust(So){let $o=So.graph().rankdir.toLowerCase();($o==="lr"||$o==="rl")&&swapWidthHeight(So)}function undo(So){let $o=So.graph().rankdir.toLowerCase();($o==="bt"||$o==="rl")&&reverseY(So),($o==="lr"||$o==="rl")&&(swapXY(So),swapWidthHeight(So))}function swapWidthHeight(So){So.nodes().forEach($o=>swapWidthHeightOne(So.node($o))),So.edges().forEach($o=>swapWidthHeightOne(So.edge($o)))}function swapWidthHeightOne(So){let $o=So.width;So.width=So.height,So.height=$o}function reverseY(So){So.nodes().forEach($o=>reverseYOne(So.node($o))),So.edges().forEach($o=>{let ko=So.edge($o);ko.points.forEach(reverseYOne),Object.hasOwn(ko,"y")&&reverseYOne(ko)})}function reverseYOne(So){So.y=-So.y}function swapXY(So){So.nodes().forEach($o=>swapXYOne(So.node($o))),So.edges().forEach($o=>{let ko=So.edge($o);ko.points.forEach(swapXYOne),Object.hasOwn(ko,"x")&&swapXYOne(ko)})}function swapXYOne(So){let $o=So.x;So.x=So.y,So.y=$o}let util$8=util$d;var initOrder_1=initOrder$1;function initOrder$1(So){let $o={},ko=So.nodes().filter(ka=>!So.children(ka).length),Eo=ko.map(ka=>So.node(ka).rank),Io=util$8.applyWithChunking(Math.max,Eo),$a=util$8.range(Io+1).map(()=>[]);function ya(ka){if($o[ka])return;$o[ka]=!0;let Sa=So.node(ka);$a[Sa.rank].push(ka),So.successors(ka).forEach(ya)}return ko.sort((ka,Sa)=>So.node(ka).rank-So.node(Sa).rank).forEach(ya),$a}let zipObject=util$d.zipObject;var crossCount_1=crossCount$1;function crossCount$1(So,$o){let ko=0;for(let Eo=1;Eo<$o.length;++Eo)ko+=twoLayerCrossCount(So,$o[Eo-1],$o[Eo]);return ko}function twoLayerCrossCount(So,$o,ko){let Eo=zipObject(ko,ko.map((Sa,Oa)=>Oa)),Io=$o.flatMap(Sa=>So.outEdges(Sa).map(Oa=>({pos:Eo[Oa.w],weight:So.edge(Oa).weight})).sort((Oa,Ca)=>Oa.pos-Ca.pos)),$a=1;for(;$a<ko.length;)$a<<=1;let ya=2*$a-1;$a-=1;let wa=new Array(ya).fill(0),ka=0;return Io.forEach(Sa=>{let Oa=Sa.pos+$a;wa[Oa]+=Sa.weight;let Ca=0;for(;Oa>0;)Oa%2&&(Ca+=wa[Oa+1]),Oa=Oa-1>>1,wa[Oa]+=Sa.weight;ka+=Sa.weight*Ca}),ka}var barycenter_1=barycenter$1;function barycenter$1(So,$o=[]){return $o.map(ko=>{let Eo=So.inEdges(ko);if(Eo.length){let Io=Eo.reduce(($a,ya)=>{let wa=So.edge(ya),ka=So.node(ya.v);return{sum:$a.sum+wa.weight*ka.order,weight:$a.weight+wa.weight}},{sum:0,weight:0});return{v:ko,barycenter:Io.sum/Io.weight,weight:Io.weight}}else return{v:ko}})}let util$7=util$d;var resolveConflicts_1=resolveConflicts$1;function resolveConflicts$1(So,$o){let ko={};So.forEach((Io,$a)=>{let ya=ko[Io.v]={indegree:0,in:[],out:[],vs:[Io.v],i:$a};Io.barycenter!==void 0&&(ya.barycenter=Io.barycenter,ya.weight=Io.weight)}),$o.edges().forEach(Io=>{let $a=ko[Io.v],ya=ko[Io.w];$a!==void 0&&ya!==void 0&&(ya.indegree++,$a.out.push(ko[Io.w]))});let Eo=Object.values(ko).filter(Io=>!Io.indegree);return doResolveConflicts(Eo)}function doResolveConflicts(So){let $o=[];function ko(Io){return $a=>{$a.merged||($a.barycenter===void 0||Io.barycenter===void 0||$a.barycenter>=Io.barycenter)&&mergeEntries(Io,$a)}}function Eo(Io){return $a=>{$a.in.push(Io),--$a.indegree===0&&So.push($a)}}for(;So.length;){let Io=So.pop();$o.push(Io),Io.in.reverse().forEach(ko(Io)),Io.out.forEach(Eo(Io))}return $o.filter(Io=>!Io.merged).map(Io=>util$7.pick(Io,["vs","i","barycenter","weight"]))}function mergeEntries(So,$o){let ko=0,Eo=0;So.weight&&(ko+=So.barycenter*So.weight,Eo+=So.weight),$o.weight&&(ko+=$o.barycenter*$o.weight,Eo+=$o.weight),So.vs=$o.vs.concat(So.vs),So.barycenter=ko/Eo,So.weight=Eo,So.i=Math.min($o.i,So.i),$o.merged=!0}let util$6=util$d;var sort_1=sort$1;function sort$1(So,$o){let ko=util$6.partition(So,Oa=>Object.hasOwn(Oa,"barycenter")),Eo=ko.lhs,Io=ko.rhs.sort((Oa,Ca)=>Ca.i-Oa.i),$a=[],ya=0,wa=0,ka=0;Eo.sort(compareWithBias(!!$o)),ka=consumeUnsortable($a,Io,ka),Eo.forEach(Oa=>{ka+=Oa.vs.length,$a.push(Oa.vs),ya+=Oa.barycenter*Oa.weight,wa+=Oa.weight,ka=consumeUnsortable($a,Io,ka)});let Sa={vs:$a.flat(!0)};return wa&&(Sa.barycenter=ya/wa,Sa.weight=wa),Sa}function consumeUnsortable(So,$o,ko){let Eo;for(;$o.length&&(Eo=$o[$o.length-1]).i<=ko;)$o.pop(),So.push(Eo.vs),ko++;return ko}function compareWithBias(So){return($o,ko)=>$o.barycenter<ko.barycenter?-1:$o.barycenter>ko.barycenter?1:So?ko.i-$o.i:$o.i-ko.i}let barycenter=barycenter_1,resolveConflicts=resolveConflicts_1,sort=sort_1;var sortSubgraph_1=sortSubgraph$1;function sortSubgraph$1(So,$o,ko,Eo){let Io=So.children($o),$a=So.node($o),ya=$a?$a.borderLeft:void 0,wa=$a?$a.borderRight:void 0,ka={};ya&&(Io=Io.filter(Ea=>Ea!==ya&&Ea!==wa));let Sa=barycenter(So,Io);Sa.forEach(Ea=>{if(So.children(Ea.v).length){let Ta=sortSubgraph$1(So,Ea.v,ko,Eo);ka[Ea.v]=Ta,Object.hasOwn(Ta,"barycenter")&&mergeBarycenters(Ea,Ta)}});let Oa=resolveConflicts(Sa,ko);expandSubgraphs(Oa,ka);let Ca=sort(Oa,Eo);if(ya&&(Ca.vs=[ya,Ca.vs,wa].flat(!0),So.predecessors(ya).length)){let Ea=So.node(So.predecessors(ya)[0]),Ta=So.node(So.predecessors(wa)[0]);Object.hasOwn(Ca,"barycenter")||(Ca.barycenter=0,Ca.weight=0),Ca.barycenter=(Ca.barycenter*Ca.weight+Ea.order+Ta.order)/(Ca.weight+2),Ca.weight+=2}return Ca}function expandSubgraphs(So,$o){So.forEach(ko=>{ko.vs=ko.vs.flatMap(Eo=>$o[Eo]?$o[Eo].vs:Eo)})}function mergeBarycenters(So,$o){So.barycenter!==void 0?(So.barycenter=(So.barycenter*So.weight+$o.barycenter*$o.weight)/(So.weight+$o.weight),So.weight+=$o.weight):(So.barycenter=$o.barycenter,So.weight=$o.weight)}let Graph$4=graphlib.Graph,util$5=util$d;var buildLayerGraph_1=buildLayerGraph$1;function buildLayerGraph$1(So,$o,ko){let Eo=createRootNode(So),Io=new Graph$4({compound:!0}).setGraph({root:Eo}).setDefaultNodeLabel($a=>So.node($a));return So.nodes().forEach($a=>{let ya=So.node($a),wa=So.parent($a);(ya.rank===$o||ya.minRank<=$o&&$o<=ya.maxRank)&&(Io.setNode($a),Io.setParent($a,wa||Eo),So[ko]($a).forEach(ka=>{let Sa=ka.v===$a?ka.w:ka.v,Oa=Io.edge(Sa,$a),Ca=Oa!==void 0?Oa.weight:0;Io.setEdge(Sa,$a,{weight:So.edge(ka).weight+Ca})}),Object.hasOwn(ya,"minRank")&&Io.setNode($a,{borderLeft:ya.borderLeft[$o],borderRight:ya.borderRight[$o]}))}),Io}function createRootNode(So){for(var $o;So.hasNode($o=util$5.uniqueId("_root")););return $o}var addSubgraphConstraints_1=addSubgraphConstraints$1;function addSubgraphConstraints$1(So,$o,ko){let Eo={},Io;ko.forEach($a=>{let ya=So.parent($a),wa,ka;for(;ya;){if(wa=So.parent(ya),wa?(ka=Eo[wa],Eo[wa]=ya):(ka=Io,Io=ya),ka&&ka!==ya){$o.setEdge(ka,ya);return}ya=wa}})}let initOrder=initOrder_1,crossCount=crossCount_1,sortSubgraph=sortSubgraph_1,buildLayerGraph=buildLayerGraph_1,addSubgraphConstraints=addSubgraphConstraints_1,Graph$3=graphlib.Graph,util$4=util$d;var order_1=order$1;function order$1(So,$o){if($o&&typeof $o.customOrder=="function"){$o.customOrder(So,order$1);return}let ko=util$4.maxRank(So),Eo=buildLayerGraphs(So,util$4.range(1,ko+1),"inEdges"),Io=buildLayerGraphs(So,util$4.range(ko-1,-1,-1),"outEdges"),$a=initOrder(So);if(assignOrder(So,$a),$o&&$o.disableOptimalOrderHeuristic)return;let ya=Number.POSITIVE_INFINITY,wa;for(let ka=0,Sa=0;Sa<4;++ka,++Sa){sweepLayerGraphs(ka%2?Eo:Io,ka%4>=2),$a=util$4.buildLayerMatrix(So);let Oa=crossCount(So,$a);Oa<ya&&(Sa=0,wa=Object.assign({},$a),ya=Oa)}assignOrder(So,wa)}function buildLayerGraphs(So,$o,ko){return $o.map(function(Eo){return buildLayerGraph(So,Eo,ko)})}function sweepLayerGraphs(So,$o){let ko=new Graph$3;So.forEach(function(Eo){let Io=Eo.graph().root,$a=sortSubgraph(Eo,Io,ko,$o);$a.vs.forEach((ya,wa)=>Eo.node(ya).order=wa),addSubgraphConstraints(Eo,ko,$a.vs)})}function assignOrder(So,$o){Object.values($o).forEach(ko=>ko.forEach((Eo,Io)=>So.node(Eo).order=Io))}let Graph$2=graphlib.Graph,util$3=util$d;var bk={positionX:positionX$1,findType1Conflicts,findType2Conflicts,addConflict,hasConflict,verticalAlignment,horizontalCompaction,alignCoordinates,findSmallestWidthAlignment,balance};function findType1Conflicts(So,$o){let ko={};function Eo(Io,$a){let ya=0,wa=0,ka=Io.length,Sa=$a[$a.length-1];return $a.forEach((Oa,Ca)=>{let Ea=findOtherInnerSegmentNode(So,Oa),Ta=Ea?So.node(Ea).order:ka;(Ea||Oa===Sa)&&($a.slice(wa,Ca+1).forEach(Aa=>{So.predecessors(Aa).forEach(Ia=>{let Pa=So.node(Ia),Ra=Pa.order;(Ra<ya||Ta<Ra)&&!(Pa.dummy&&So.node(Aa).dummy)&&addConflict(ko,Ia,Aa)})}),wa=Ca+1,ya=Ta)}),$a}return $o.length&&$o.reduce(Eo),ko}function findType2Conflicts(So,$o){let ko={};function Eo($a,ya,wa,ka,Sa){let Oa;util$3.range(ya,wa).forEach(Ca=>{Oa=$a[Ca],So.node(Oa).dummy&&So.predecessors(Oa).forEach(Ea=>{let Ta=So.node(Ea);Ta.dummy&&(Ta.order<ka||Ta.order>Sa)&&addConflict(ko,Ea,Oa)})})}function Io($a,ya){let wa=-1,ka,Sa=0;return ya.forEach((Oa,Ca)=>{if(So.node(Oa).dummy==="border"){let Ea=So.predecessors(Oa);Ea.length&&(ka=So.node(Ea[0]).order,Eo(ya,Sa,Ca,wa,ka),Sa=Ca,wa=ka)}Eo(ya,Sa,ya.length,ka,$a.length)}),ya}return $o.length&&$o.reduce(Io),ko}function findOtherInnerSegmentNode(So,$o){if(So.node($o).dummy)return So.predecessors($o).find(ko=>So.node(ko).dummy)}function addConflict(So,$o,ko){if($o>ko){let Io=$o;$o=ko,ko=Io}let Eo=So[$o];Eo||(So[$o]=Eo={}),Eo[ko]=!0}function hasConflict(So,$o,ko){if($o>ko){let Eo=$o;$o=ko,ko=Eo}return!!So[$o]&&Object.hasOwn(So[$o],ko)}function verticalAlignment(So,$o,ko,Eo){let Io={},$a={},ya={};return $o.forEach(wa=>{wa.forEach((ka,Sa)=>{Io[ka]=ka,$a[ka]=ka,ya[ka]=Sa})}),$o.forEach(wa=>{let ka=-1;wa.forEach(Sa=>{let Oa=Eo(Sa);if(Oa.length){Oa=Oa.sort((Ea,Ta)=>ya[Ea]-ya[Ta]);let Ca=(Oa.length-1)/2;for(let Ea=Math.floor(Ca),Ta=Math.ceil(Ca);Ea<=Ta;++Ea){let Aa=Oa[Ea];$a[Sa]===Sa&&ka<ya[Aa]&&!hasConflict(ko,Sa,Aa)&&($a[Aa]=Sa,$a[Sa]=Io[Sa]=Io[Aa],ka=ya[Aa])}}})}),{root:Io,align:$a}}function horizontalCompaction(So,$o,ko,Eo,Io){let $a={},ya=buildBlockGraph(So,$o,ko,Io),wa=Io?"borderLeft":"borderRight";function ka(Ca,Ea){let Ta=ya.nodes(),Aa=Ta.pop(),Ia={};for(;Aa;)Ia[Aa]?Ca(Aa):(Ia[Aa]=!0,Ta.push(Aa),Ta=Ta.concat(Ea(Aa))),Aa=Ta.pop()}function Sa(Ca){$a[Ca]=ya.inEdges(Ca).reduce((Ea,Ta)=>Math.max(Ea,$a[Ta.v]+ya.edge(Ta)),0)}function Oa(Ca){let Ea=ya.outEdges(Ca).reduce((Aa,Ia)=>Math.min(Aa,$a[Ia.w]-ya.edge(Ia)),Number.POSITIVE_INFINITY),Ta=So.node(Ca);Ea!==Number.POSITIVE_INFINITY&&Ta.borderType!==wa&&($a[Ca]=Math.max($a[Ca],Ea))}return ka(Sa,ya.predecessors.bind(ya)),ka(Oa,ya.successors.bind(ya)),Object.keys(Eo).forEach(Ca=>$a[Ca]=$a[ko[Ca]]),$a}function buildBlockGraph(So,$o,ko,Eo){let Io=new Graph$2,$a=So.graph(),ya=sep($a.nodesep,$a.edgesep,Eo);return $o.forEach(wa=>{let ka;wa.forEach(Sa=>{let Oa=ko[Sa];if(Io.setNode(Oa),ka){var Ca=ko[ka],Ea=Io.edge(Ca,Oa);Io.setEdge(Ca,Oa,Math.max(ya(So,Sa,ka),Ea||0))}ka=Sa})}),Io}function findSmallestWidthAlignment(So,$o){return Object.values($o).reduce((ko,Eo)=>{let Io=Number.NEGATIVE_INFINITY,$a=Number.POSITIVE_INFINITY;Object.entries(Eo).forEach(([wa,ka])=>{let Sa=width(So,wa)/2;Io=Math.max(ka+Sa,Io),$a=Math.min(ka-Sa,$a)});const ya=Io-$a;return ya<ko[0]&&(ko=[ya,Eo]),ko},[Number.POSITIVE_INFINITY,null])[1]}function alignCoordinates(So,$o){let ko=Object.values($o),Eo=util$3.applyWithChunking(Math.min,ko),Io=util$3.applyWithChunking(Math.max,ko);["u","d"].forEach($a=>{["l","r"].forEach(ya=>{let wa=$a+ya,ka=So[wa];if(ka===$o)return;let Sa=Object.values(ka),Oa=Eo-util$3.applyWithChunking(Math.min,Sa);ya!=="l"&&(Oa=Io-util$3.applyWithChunking(Math.max,Sa)),Oa&&(So[wa]=util$3.mapValues(ka,Ca=>Ca+Oa))})})}function balance(So,$o){return util$3.mapValues(So.ul,(ko,Eo)=>{if($o)return So[$o.toLowerCase()][Eo];{let Io=Object.values(So).map($a=>$a[Eo]).sort(($a,ya)=>$a-ya);return(Io[1]+Io[2])/2}})}function positionX$1(So){let $o=util$3.buildLayerMatrix(So),ko=Object.assign(findType1Conflicts(So,$o),findType2Conflicts(So,$o)),Eo={},Io;["u","d"].forEach(ya=>{Io=ya==="u"?$o:Object.values($o).reverse(),["l","r"].forEach(wa=>{wa==="r"&&(Io=Io.map(Ca=>Object.values(Ca).reverse()));let ka=(ya==="u"?So.predecessors:So.successors).bind(So),Sa=verticalAlignment(So,Io,ko,ka),Oa=horizontalCompaction(So,Io,Sa.root,Sa.align,wa==="r");wa==="r"&&(Oa=util$3.mapValues(Oa,Ca=>-Ca)),Eo[ya+wa]=Oa})});let $a=findSmallestWidthAlignment(So,Eo);return alignCoordinates(Eo,$a),balance(Eo,So.graph().align)}function sep(So,$o,ko){return(Eo,Io,$a)=>{let ya=Eo.node(Io),wa=Eo.node($a),ka=0,Sa;if(ka+=ya.width/2,Object.hasOwn(ya,"labelpos"))switch(ya.labelpos.toLowerCase()){case"l":Sa=-ya.width/2;break;case"r":Sa=ya.width/2;break}if(Sa&&(ka+=ko?Sa:-Sa),Sa=0,ka+=(ya.dummy?$o:So)/2,ka+=(wa.dummy?$o:So)/2,ka+=wa.width/2,Object.hasOwn(wa,"labelpos"))switch(wa.labelpos.toLowerCase()){case"l":Sa=wa.width/2;break;case"r":Sa=-wa.width/2;break}return Sa&&(ka+=ko?Sa:-Sa),Sa=0,ka}}function width(So,$o){return So.node($o).width}let util$2=util$d,positionX=bk.positionX;var position_1=position$1;function position$1(So){So=util$2.asNonCompoundGraph(So),positionY(So),Object.entries(positionX(So)).forEach(([$o,ko])=>So.node($o).x=ko)}function positionY(So){let $o=util$2.buildLayerMatrix(So),ko=So.graph().ranksep,Eo=0;$o.forEach(Io=>{const $a=Io.reduce((ya,wa)=>{const ka=So.node(wa).height;return ya>ka?ya:ka},0);Io.forEach(ya=>So.node(ya).y=Eo+$a/2),Eo+=$a+ko})}let acyclic=acyclic$1,normalize=normalize$1,rank=rank_1,normalizeRanks=util$d.normalizeRanks,parentDummyChains=parentDummyChains_1,removeEmptyRanks=util$d.removeEmptyRanks,nestingGraph=nestingGraph$1,addBorderSegments=addBorderSegments_1,coordinateSystem=coordinateSystem$1,order=order_1,position=position_1,util$1=util$d,Graph$1=graphlib.Graph;var layout_1=layout;function layout(So,$o){let ko=$o&&$o.debugTiming?util$1.time:util$1.notime;ko("layout",()=>{let Eo=ko(" buildLayoutGraph",()=>buildLayoutGraph(So));ko(" runLayout",()=>runLayout(Eo,ko,$o)),ko(" updateInputGraph",()=>updateInputGraph(So,Eo))})}function runLayout(So,$o,ko){$o(" makeSpaceForEdgeLabels",()=>makeSpaceForEdgeLabels(So)),$o(" removeSelfEdges",()=>removeSelfEdges(So)),$o(" acyclic",()=>acyclic.run(So)),$o(" nestingGraph.run",()=>nestingGraph.run(So)),$o(" rank",()=>rank(util$1.asNonCompoundGraph(So))),$o(" injectEdgeLabelProxies",()=>injectEdgeLabelProxies(So)),$o(" removeEmptyRanks",()=>removeEmptyRanks(So)),$o(" nestingGraph.cleanup",()=>nestingGraph.cleanup(So)),$o(" normalizeRanks",()=>normalizeRanks(So)),$o(" assignRankMinMax",()=>assignRankMinMax(So)),$o(" removeEdgeLabelProxies",()=>removeEdgeLabelProxies(So)),$o(" normalize.run",()=>normalize.run(So)),$o(" parentDummyChains",()=>parentDummyChains(So)),$o(" addBorderSegments",()=>addBorderSegments(So)),$o(" order",()=>order(So,ko)),$o(" insertSelfEdges",()=>insertSelfEdges(So)),$o(" adjustCoordinateSystem",()=>coordinateSystem.adjust(So)),$o(" position",()=>position(So)),$o(" positionSelfEdges",()=>positionSelfEdges(So)),$o(" removeBorderNodes",()=>removeBorderNodes(So)),$o(" normalize.undo",()=>normalize.undo(So)),$o(" fixupEdgeLabelCoords",()=>fixupEdgeLabelCoords(So)),$o(" undoCoordinateSystem",()=>coordinateSystem.undo(So)),$o(" translateGraph",()=>translateGraph(So)),$o(" assignNodeIntersects",()=>assignNodeIntersects(So)),$o(" reversePoints",()=>reversePointsForReversedEdges(So)),$o(" acyclic.undo",()=>acyclic.undo(So))}function updateInputGraph(So,$o){So.nodes().forEach(ko=>{let Eo=So.node(ko),Io=$o.node(ko);Eo&&(Eo.x=Io.x,Eo.y=Io.y,Eo.rank=Io.rank,$o.children(ko).length&&(Eo.width=Io.width,Eo.height=Io.height))}),So.edges().forEach(ko=>{let Eo=So.edge(ko),Io=$o.edge(ko);Eo.points=Io.points,Object.hasOwn(Io,"x")&&(Eo.x=Io.x,Eo.y=Io.y)}),So.graph().width=$o.graph().width,So.graph().height=$o.graph().height}let graphNumAttrs=["nodesep","edgesep","ranksep","marginx","marginy"],graphDefaults={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},graphAttrs=["acyclicer","ranker","rankdir","align"],nodeNumAttrs=["width","height"],nodeDefaults={width:0,height:0},edgeNumAttrs=["minlen","weight","width","height","labeloffset"],edgeDefaults={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},edgeAttrs=["labelpos"];function buildLayoutGraph(So){let $o=new Graph$1({multigraph:!0,compound:!0}),ko=canonicalize(So.graph());return $o.setGraph(Object.assign({},graphDefaults,selectNumberAttrs(ko,graphNumAttrs),util$1.pick(ko,graphAttrs))),So.nodes().forEach(Eo=>{let Io=canonicalize(So.node(Eo));const $a=selectNumberAttrs(Io,nodeNumAttrs);Object.keys(nodeDefaults).forEach(ya=>{$a[ya]===void 0&&($a[ya]=nodeDefaults[ya])}),$o.setNode(Eo,$a),$o.setParent(Eo,So.parent(Eo))}),So.edges().forEach(Eo=>{let Io=canonicalize(So.edge(Eo));$o.setEdge(Eo,Object.assign({},edgeDefaults,selectNumberAttrs(Io,edgeNumAttrs),util$1.pick(Io,edgeAttrs)))}),$o}function makeSpaceForEdgeLabels(So){let $o=So.graph();$o.ranksep/=2,So.edges().forEach(ko=>{let Eo=So.edge(ko);Eo.minlen*=2,Eo.labelpos.toLowerCase()!=="c"&&($o.rankdir==="TB"||$o.rankdir==="BT"?Eo.width+=Eo.labeloffset:Eo.height+=Eo.labeloffset)})}function injectEdgeLabelProxies(So){So.edges().forEach($o=>{let ko=So.edge($o);if(ko.width&&ko.height){let Eo=So.node($o.v),$a={rank:(So.node($o.w).rank-Eo.rank)/2+Eo.rank,e:$o};util$1.addDummyNode(So,"edge-proxy",$a,"_ep")}})}function assignRankMinMax(So){let $o=0;So.nodes().forEach(ko=>{let Eo=So.node(ko);Eo.borderTop&&(Eo.minRank=So.node(Eo.borderTop).rank,Eo.maxRank=So.node(Eo.borderBottom).rank,$o=Math.max($o,Eo.maxRank))}),So.graph().maxRank=$o}function removeEdgeLabelProxies(So){So.nodes().forEach($o=>{let ko=So.node($o);ko.dummy==="edge-proxy"&&(So.edge(ko.e).labelRank=ko.rank,So.removeNode($o))})}function translateGraph(So){let $o=Number.POSITIVE_INFINITY,ko=0,Eo=Number.POSITIVE_INFINITY,Io=0,$a=So.graph(),ya=$a.marginx||0,wa=$a.marginy||0;function ka(Sa){let Oa=Sa.x,Ca=Sa.y,Ea=Sa.width,Ta=Sa.height;$o=Math.min($o,Oa-Ea/2),ko=Math.max(ko,Oa+Ea/2),Eo=Math.min(Eo,Ca-Ta/2),Io=Math.max(Io,Ca+Ta/2)}So.nodes().forEach(Sa=>ka(So.node(Sa))),So.edges().forEach(Sa=>{let Oa=So.edge(Sa);Object.hasOwn(Oa,"x")&&ka(Oa)}),$o-=ya,Eo-=wa,So.nodes().forEach(Sa=>{let Oa=So.node(Sa);Oa.x-=$o,Oa.y-=Eo}),So.edges().forEach(Sa=>{let Oa=So.edge(Sa);Oa.points.forEach(Ca=>{Ca.x-=$o,Ca.y-=Eo}),Object.hasOwn(Oa,"x")&&(Oa.x-=$o),Object.hasOwn(Oa,"y")&&(Oa.y-=Eo)}),$a.width=ko-$o+ya,$a.height=Io-Eo+wa}function assignNodeIntersects(So){So.edges().forEach($o=>{let ko=So.edge($o),Eo=So.node($o.v),Io=So.node($o.w),$a,ya;ko.points?($a=ko.points[0],ya=ko.points[ko.points.length-1]):(ko.points=[],$a=Io,ya=Eo),ko.points.unshift(util$1.intersectRect(Eo,$a)),ko.points.push(util$1.intersectRect(Io,ya))})}function fixupEdgeLabelCoords(So){So.edges().forEach($o=>{let ko=So.edge($o);if(Object.hasOwn(ko,"x"))switch((ko.labelpos==="l"||ko.labelpos==="r")&&(ko.width-=ko.labeloffset),ko.labelpos){case"l":ko.x-=ko.width/2+ko.labeloffset;break;case"r":ko.x+=ko.width/2+ko.labeloffset;break}})}function reversePointsForReversedEdges(So){So.edges().forEach($o=>{let ko=So.edge($o);ko.reversed&&ko.points.reverse()})}function removeBorderNodes(So){So.nodes().forEach($o=>{if(So.children($o).length){let ko=So.node($o),Eo=So.node(ko.borderTop),Io=So.node(ko.borderBottom),$a=So.node(ko.borderLeft[ko.borderLeft.length-1]),ya=So.node(ko.borderRight[ko.borderRight.length-1]);ko.width=Math.abs(ya.x-$a.x),ko.height=Math.abs(Io.y-Eo.y),ko.x=$a.x+ko.width/2,ko.y=Eo.y+ko.height/2}}),So.nodes().forEach($o=>{So.node($o).dummy==="border"&&So.removeNode($o)})}function removeSelfEdges(So){So.edges().forEach($o=>{if($o.v===$o.w){var ko=So.node($o.v);ko.selfEdges||(ko.selfEdges=[]),ko.selfEdges.push({e:$o,label:So.edge($o)}),So.removeEdge($o)}})}function insertSelfEdges(So){var $o=util$1.buildLayerMatrix(So);$o.forEach(ko=>{var Eo=0;ko.forEach((Io,$a)=>{var ya=So.node(Io);ya.order=$a+Eo,(ya.selfEdges||[]).forEach(wa=>{util$1.addDummyNode(So,"selfedge",{width:wa.label.width,height:wa.label.height,rank:ya.rank,order:$a+ ++Eo,e:wa.e,label:wa.label},"_se")}),delete ya.selfEdges})})}function positionSelfEdges(So){So.nodes().forEach($o=>{var ko=So.node($o);if(ko.dummy==="selfedge"){var Eo=So.node(ko.e.v),Io=Eo.x+Eo.width/2,$a=Eo.y,ya=ko.x-Io,wa=Eo.height/2;So.setEdge(ko.e,ko.label),So.removeNode($o),ko.label.points=[{x:Io+2*ya/3,y:$a-wa},{x:Io+5*ya/6,y:$a-wa},{x:Io+ya,y:$a},{x:Io+5*ya/6,y:$a+wa},{x:Io+2*ya/3,y:$a+wa}],ko.label.x=ko.x,ko.label.y=ko.y}})}function selectNumberAttrs(So,$o){return util$1.mapValues(util$1.pick(So,$o),Number)}function canonicalize(So){var $o={};return So&&Object.entries(So).forEach(([ko,Eo])=>{typeof ko=="string"&&(ko=ko.toLowerCase()),$o[ko]=Eo}),$o}let util=util$d,Graph=graphlib.Graph;var debug={debugOrdering};function debugOrdering(So){let $o=util.buildLayerMatrix(So),ko=new Graph({compound:!0,multigraph:!0}).setGraph({});return So.nodes().forEach(Eo=>{ko.setNode(Eo,{label:Eo}),ko.setParent(Eo,"layer"+So.node(Eo).rank)}),So.edges().forEach(Eo=>ko.setEdge(Eo.v,Eo.w,{},Eo.name)),$o.forEach((Eo,Io)=>{let $a="layer"+Io;ko.setNode($a,{rank:"same"}),Eo.reduce((ya,wa)=>(ko.setEdge(ya,wa,{style:"invis"}),wa))}),ko}var version="1.1.4",dagre={graphlib,layout:layout_1,debug,util:{time:util$d.time,notime:util$d.notime},version};const dagre$1=getDefaultExportFromCjs$1(dagre);function cc(So){if(typeof So=="string"||typeof So=="number")return""+So;let $o="";if(Array.isArray(So))for(let ko=0,Eo;ko<So.length;ko++)(Eo=cc(So[ko]))!==""&&($o+=($o&&" ")+Eo);else for(let ko in So)So[ko]&&($o+=($o&&" ")+ko);return $o}var noop={value:()=>{}};function dispatch(){for(var So=0,$o=arguments.length,ko={},Eo;So<$o;++So){if(!(Eo=arguments[So]+"")||Eo in ko||/[\s.]/.test(Eo))throw new Error("illegal type: "+Eo);ko[Eo]=[]}return new Dispatch(ko)}function Dispatch(So){this._=So}function parseTypenames$1(So,$o){return So.trim().split(/^|\s+/).map(function(ko){var Eo="",Io=ko.indexOf(".");if(Io>=0&&(Eo=ko.slice(Io+1),ko=ko.slice(0,Io)),ko&&!$o.hasOwnProperty(ko))throw new Error("unknown type: "+ko);return{type:ko,name:Eo}})}Dispatch.prototype=dispatch.prototype={constructor:Dispatch,on:function(So,$o){var ko=this._,Eo=parseTypenames$1(So+"",ko),Io,$a=-1,ya=Eo.length;if(arguments.length<2){for(;++$a<ya;)if((Io=(So=Eo[$a]).type)&&(Io=get$2(ko[Io],So.name)))return Io;return}if($o!=null&&typeof $o!="function")throw new Error("invalid callback: "+$o);for(;++$a<ya;)if(Io=(So=Eo[$a]).type)ko[Io]=set$1(ko[Io],So.name,$o);else if($o==null)for(Io in ko)ko[Io]=set$1(ko[Io],So.name,null);return this},copy:function(){var So={},$o=this._;for(var ko in $o)So[ko]=$o[ko].slice();return new Dispatch(So)},call:function(So,$o){if((Io=arguments.length-2)>0)for(var ko=new Array(Io),Eo=0,Io,$a;Eo<Io;++Eo)ko[Eo]=arguments[Eo+2];if(!this._.hasOwnProperty(So))throw new Error("unknown type: "+So);for($a=this._[So],Eo=0,Io=$a.length;Eo<Io;++Eo)$a[Eo].value.apply($o,ko)},apply:function(So,$o,ko){if(!this._.hasOwnProperty(So))throw new Error("unknown type: "+So);for(var Eo=this._[So],Io=0,$a=Eo.length;Io<$a;++Io)Eo[Io].value.apply($o,ko)}};function get$2(So,$o){for(var ko=0,Eo=So.length,Io;ko<Eo;++ko)if((Io=So[ko]).name===$o)return Io.value}function set$1(So,$o,ko){for(var Eo=0,Io=So.length;Eo<Io;++Eo)if(So[Eo].name===$o){So[Eo]=noop,So=So.slice(0,Eo).concat(So.slice(Eo+1));break}return ko!=null&&So.push({name:$o,value:ko}),So}var xhtml="http://www.w3.org/1999/xhtml";const namespaces={svg:"http://www.w3.org/2000/svg",xhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function namespace(So){var $o=So+="",ko=$o.indexOf(":");return ko>=0&&($o=So.slice(0,ko))!=="xmlns"&&(So=So.slice(ko+1)),namespaces.hasOwnProperty($o)?{space:namespaces[$o],local:So}:So}function creatorInherit(So){return function(){var $o=this.ownerDocument,ko=this.namespaceURI;return ko===xhtml&&$o.documentElement.namespaceURI===xhtml?$o.createElement(So):$o.createElementNS(ko,So)}}function creatorFixed(So){return function(){return this.ownerDocument.createElementNS(So.space,So.local)}}function creator(So){var $o=namespace(So);return($o.local?creatorFixed:creatorInherit)($o)}function none(){}function selector(So){return So==null?none:function(){return this.querySelector(So)}}function selection_select(So){typeof So!="function"&&(So=selector(So));for(var $o=this._groups,ko=$o.length,Eo=new Array(ko),Io=0;Io<ko;++Io)for(var $a=$o[Io],ya=$a.length,wa=Eo[Io]=new Array(ya),ka,Sa,Oa=0;Oa<ya;++Oa)(ka=$a[Oa])&&(Sa=So.call(ka,ka.__data__,Oa,$a))&&("__data__"in ka&&(Sa.__data__=ka.__data__),wa[Oa]=Sa);return new Selection$3(Eo,this._parents)}function array(So){return So==null?[]:Array.isArray(So)?So:Array.from(So)}function empty(){return[]}function selectorAll(So){return So==null?empty:function(){return this.querySelectorAll(So)}}function arrayAll(So){return function(){return array(So.apply(this,arguments))}}function selection_selectAll(So){typeof So=="function"?So=arrayAll(So):So=selectorAll(So);for(var $o=this._groups,ko=$o.length,Eo=[],Io=[],$a=0;$a<ko;++$a)for(var ya=$o[$a],wa=ya.length,ka,Sa=0;Sa<wa;++Sa)(ka=ya[Sa])&&(Eo.push(So.call(ka,ka.__data__,Sa,ya)),Io.push(ka));return new Selection$3(Eo,Io)}function matcher(So){return function(){return this.matches(So)}}function childMatcher(So){return function($o){return $o.matches(So)}}var find=Array.prototype.find;function childFind(So){return function(){return find.call(this.children,So)}}function childFirst(){return this.firstElementChild}function selection_selectChild(So){return this.select(So==null?childFirst:childFind(typeof So=="function"?So:childMatcher(So)))}var filter=Array.prototype.filter;function children(){return Array.from(this.children)}function childrenFilter(So){return function(){return filter.call(this.children,So)}}function selection_selectChildren(So){return this.selectAll(So==null?children:childrenFilter(typeof So=="function"?So:childMatcher(So)))}function selection_filter(So){typeof So!="function"&&(So=matcher(So));for(var $o=this._groups,ko=$o.length,Eo=new Array(ko),Io=0;Io<ko;++Io)for(var $a=$o[Io],ya=$a.length,wa=Eo[Io]=[],ka,Sa=0;Sa<ya;++Sa)(ka=$a[Sa])&&So.call(ka,ka.__data__,Sa,$a)&&wa.push(ka);return new Selection$3(Eo,this._parents)}function sparse(So){return new Array(So.length)}function selection_enter(){return new Selection$3(this._enter||this._groups.map(sparse),this._parents)}function EnterNode(So,$o){this.ownerDocument=So.ownerDocument,this.namespaceURI=So.namespaceURI,this._next=null,this._parent=So,this.__data__=$o}EnterNode.prototype={constructor:EnterNode,appendChild:function(So){return this._parent.insertBefore(So,this._next)},insertBefore:function(So,$o){return this._parent.insertBefore(So,$o)},querySelector:function(So){return this._parent.querySelector(So)},querySelectorAll:function(So){return this._parent.querySelectorAll(So)}};function constant$3(So){return function(){return So}}function bindIndex(So,$o,ko,Eo,Io,$a){for(var ya=0,wa,ka=$o.length,Sa=$a.length;ya<Sa;++ya)(wa=$o[ya])?(wa.__data__=$a[ya],Eo[ya]=wa):ko[ya]=new EnterNode(So,$a[ya]);for(;ya<ka;++ya)(wa=$o[ya])&&(Io[ya]=wa)}function bindKey(So,$o,ko,Eo,Io,$a,ya){var wa,ka,Sa=new Map,Oa=$o.length,Ca=$a.length,Ea=new Array(Oa),Ta;for(wa=0;wa<Oa;++wa)(ka=$o[wa])&&(Ea[wa]=Ta=ya.call(ka,ka.__data__,wa,$o)+"",Sa.has(Ta)?Io[wa]=ka:Sa.set(Ta,ka));for(wa=0;wa<Ca;++wa)Ta=ya.call(So,$a[wa],wa,$a)+"",(ka=Sa.get(Ta))?(Eo[wa]=ka,ka.__data__=$a[wa],Sa.delete(Ta)):ko[wa]=new EnterNode(So,$a[wa]);for(wa=0;wa<Oa;++wa)(ka=$o[wa])&&Sa.get(Ea[wa])===ka&&(Io[wa]=ka)}function datum(So){return So.__data__}function selection_data(So,$o){if(!arguments.length)return Array.from(this,datum);var ko=$o?bindKey:bindIndex,Eo=this._parents,Io=this._groups;typeof So!="function"&&(So=constant$3(So));for(var $a=Io.length,ya=new Array($a),wa=new Array($a),ka=new Array($a),Sa=0;Sa<$a;++Sa){var Oa=Eo[Sa],Ca=Io[Sa],Ea=Ca.length,Ta=arraylike(So.call(Oa,Oa&&Oa.__data__,Sa,Eo)),Aa=Ta.length,Ia=wa[Sa]=new Array(Aa),Pa=ya[Sa]=new Array(Aa),Ra=ka[Sa]=new Array(Ea);ko(Oa,Ca,Ia,Pa,Ra,Ta,$o);for(var Da=0,La=0,Na,Ba;Da<Aa;++Da)if(Na=Ia[Da]){for(Da>=La&&(La=Da+1);!(Ba=Pa[La])&&++La<Aa;);Na._next=Ba||null}}return ya=new Selection$3(ya,Eo),ya._enter=wa,ya._exit=ka,ya}function arraylike(So){return typeof So=="object"&&"length"in So?So:Array.from(So)}function selection_exit(){return new Selection$3(this._exit||this._groups.map(sparse),this._parents)}function selection_join(So,$o,ko){var Eo=this.enter(),Io=this,$a=this.exit();return typeof So=="function"?(Eo=So(Eo),Eo&&(Eo=Eo.selection())):Eo=Eo.append(So+""),$o!=null&&(Io=$o(Io),Io&&(Io=Io.selection())),ko==null?$a.remove():ko($a),Eo&&Io?Eo.merge(Io).order():Io}function selection_merge(So){for(var $o=So.selection?So.selection():So,ko=this._groups,Eo=$o._groups,Io=ko.length,$a=Eo.length,ya=Math.min(Io,$a),wa=new Array(Io),ka=0;ka<ya;++ka)for(var Sa=ko[ka],Oa=Eo[ka],Ca=Sa.length,Ea=wa[ka]=new Array(Ca),Ta,Aa=0;Aa<Ca;++Aa)(Ta=Sa[Aa]||Oa[Aa])&&(Ea[Aa]=Ta);for(;ka<Io;++ka)wa[ka]=ko[ka];return new Selection$3(wa,this._parents)}function selection_order(){for(var So=this._groups,$o=-1,ko=So.length;++$o<ko;)for(var Eo=So[$o],Io=Eo.length-1,$a=Eo[Io],ya;--Io>=0;)(ya=Eo[Io])&&($a&&ya.compareDocumentPosition($a)^4&&$a.parentNode.insertBefore(ya,$a),$a=ya);return this}function selection_sort(So){So||(So=ascending);function $o(Ca,Ea){return Ca&&Ea?So(Ca.__data__,Ea.__data__):!Ca-!Ea}for(var ko=this._groups,Eo=ko.length,Io=new Array(Eo),$a=0;$a<Eo;++$a){for(var ya=ko[$a],wa=ya.length,ka=Io[$a]=new Array(wa),Sa,Oa=0;Oa<wa;++Oa)(Sa=ya[Oa])&&(ka[Oa]=Sa);ka.sort($o)}return new Selection$3(Io,this._parents).order()}function ascending(So,$o){return So<$o?-1:So>$o?1:So>=$o?0:NaN}function selection_call(){var So=arguments[0];return arguments[0]=this,So.apply(null,arguments),this}function selection_nodes(){return Array.from(this)}function selection_node(){for(var So=this._groups,$o=0,ko=So.length;$o<ko;++$o)for(var Eo=So[$o],Io=0,$a=Eo.length;Io<$a;++Io){var ya=Eo[Io];if(ya)return ya}return null}function selection_size(){let So=0;for(const $o of this)++So;return So}function selection_empty(){return!this.node()}function selection_each(So){for(var $o=this._groups,ko=0,Eo=$o.length;ko<Eo;++ko)for(var Io=$o[ko],$a=0,ya=Io.length,wa;$a<ya;++$a)(wa=Io[$a])&&So.call(wa,wa.__data__,$a,Io);return this}function attrRemove$1(So){return function(){this.removeAttribute(So)}}function attrRemoveNS$1(So){return function(){this.removeAttributeNS(So.space,So.local)}}function attrConstant$1(So,$o){return function(){this.setAttribute(So,$o)}}function attrConstantNS$1(So,$o){return function(){this.setAttributeNS(So.space,So.local,$o)}}function attrFunction$1(So,$o){return function(){var ko=$o.apply(this,arguments);ko==null?this.removeAttribute(So):this.setAttribute(So,ko)}}function attrFunctionNS$1(So,$o){return function(){var ko=$o.apply(this,arguments);ko==null?this.removeAttributeNS(So.space,So.local):this.setAttributeNS(So.space,So.local,ko)}}function selection_attr(So,$o){var ko=namespace(So);if(arguments.length<2){var Eo=this.node();return ko.local?Eo.getAttributeNS(ko.space,ko.local):Eo.getAttribute(ko)}return this.each(($o==null?ko.local?attrRemoveNS$1:attrRemove$1:typeof $o=="function"?ko.local?attrFunctionNS$1:attrFunction$1:ko.local?attrConstantNS$1:attrConstant$1)(ko,$o))}function defaultView(So){return So.ownerDocument&&So.ownerDocument.defaultView||So.document&&So||So.defaultView}function styleRemove$1(So){return function(){this.style.removeProperty(So)}}function styleConstant$1(So,$o,ko){return function(){this.style.setProperty(So,$o,ko)}}function styleFunction$1(So,$o,ko){return function(){var Eo=$o.apply(this,arguments);Eo==null?this.style.removeProperty(So):this.style.setProperty(So,Eo,ko)}}function selection_style(So,$o,ko){return arguments.length>1?this.each(($o==null?styleRemove$1:typeof $o=="function"?styleFunction$1:styleConstant$1)(So,$o,ko??"")):styleValue(this.node(),So)}function styleValue(So,$o){return So.style.getPropertyValue($o)||defaultView(So).getComputedStyle(So,null).getPropertyValue($o)}function propertyRemove(So){return function(){delete this[So]}}function propertyConstant(So,$o){return function(){this[So]=$o}}function propertyFunction(So,$o){return function(){var ko=$o.apply(this,arguments);ko==null?delete this[So]:this[So]=ko}}function selection_property(So,$o){return arguments.length>1?this.each(($o==null?propertyRemove:typeof $o=="function"?propertyFunction:propertyConstant)(So,$o)):this.node()[So]}function classArray(So){return So.trim().split(/^|\s+/)}function classList(So){return So.classList||new ClassList(So)}function ClassList(So){this._node=So,this._names=classArray(So.getAttribute("class")||"")}ClassList.prototype={add:function(So){var $o=this._names.indexOf(So);$o<0&&(this._names.push(So),this._node.setAttribute("class",this._names.join(" ")))},remove:function(So){var $o=this._names.indexOf(So);$o>=0&&(this._names.splice($o,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(So){return this._names.indexOf(So)>=0}};function classedAdd(So,$o){for(var ko=classList(So),Eo=-1,Io=$o.length;++Eo<Io;)ko.add($o[Eo])}function classedRemove(So,$o){for(var ko=classList(So),Eo=-1,Io=$o.length;++Eo<Io;)ko.remove($o[Eo])}function classedTrue(So){return function(){classedAdd(this,So)}}function classedFalse(So){return function(){classedRemove(this,So)}}function classedFunction(So,$o){return function(){($o.apply(this,arguments)?classedAdd:classedRemove)(this,So)}}function selection_classed(So,$o){var ko=classArray(So+"");if(arguments.length<2){for(var Eo=classList(this.node()),Io=-1,$a=ko.length;++Io<$a;)if(!Eo.contains(ko[Io]))return!1;return!0}return this.each((typeof $o=="function"?classedFunction:$o?classedTrue:classedFalse)(ko,$o))}function textRemove(){this.textContent=""}function textConstant$1(So){return function(){this.textContent=So}}function textFunction$1(So){return function(){var $o=So.apply(this,arguments);this.textContent=$o??""}}function selection_text(So){return arguments.length?this.each(So==null?textRemove:(typeof So=="function"?textFunction$1:textConstant$1)(So)):this.node().textContent}function htmlRemove(){this.innerHTML=""}function htmlConstant(So){return function(){this.innerHTML=So}}function htmlFunction(So){return function(){var $o=So.apply(this,arguments);this.innerHTML=$o??""}}function selection_html(So){return arguments.length?this.each(So==null?htmlRemove:(typeof So=="function"?htmlFunction:htmlConstant)(So)):this.node().innerHTML}function raise(){this.nextSibling&&this.parentNode.appendChild(this)}function selection_raise(){return this.each(raise)}function lower(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function selection_lower(){return this.each(lower)}function selection_append(So){var $o=typeof So=="function"?So:creator(So);return this.select(function(){return this.appendChild($o.apply(this,arguments))})}function constantNull(){return null}function selection_insert(So,$o){var ko=typeof So=="function"?So:creator(So),Eo=$o==null?constantNull:typeof $o=="function"?$o:selector($o);return this.select(function(){return this.insertBefore(ko.apply(this,arguments),Eo.apply(this,arguments)||null)})}function remove(){var So=this.parentNode;So&&So.removeChild(this)}function selection_remove(){return this.each(remove)}function selection_cloneShallow(){var So=this.cloneNode(!1),$o=this.parentNode;return $o?$o.insertBefore(So,this.nextSibling):So}function selection_cloneDeep(){var So=this.cloneNode(!0),$o=this.parentNode;return $o?$o.insertBefore(So,this.nextSibling):So}function selection_clone(So){return this.select(So?selection_cloneDeep:selection_cloneShallow)}function selection_datum(So){return arguments.length?this.property("__data__",So):this.node().__data__}function contextListener(So){return function($o){So.call(this,$o,this.__data__)}}function parseTypenames(So){return So.trim().split(/^|\s+/).map(function($o){var ko="",Eo=$o.indexOf(".");return Eo>=0&&(ko=$o.slice(Eo+1),$o=$o.slice(0,Eo)),{type:$o,name:ko}})}function onRemove(So){return function(){var $o=this.__on;if($o){for(var ko=0,Eo=-1,Io=$o.length,$a;ko<Io;++ko)$a=$o[ko],(!So.type||$a.type===So.type)&&$a.name===So.name?this.removeEventListener($a.type,$a.listener,$a.options):$o[++Eo]=$a;++Eo?$o.length=Eo:delete this.__on}}}function onAdd(So,$o,ko){return function(){var Eo=this.__on,Io,$a=contextListener($o);if(Eo){for(var ya=0,wa=Eo.length;ya<wa;++ya)if((Io=Eo[ya]).type===So.type&&Io.name===So.name){this.removeEventListener(Io.type,Io.listener,Io.options),this.addEventListener(Io.type,Io.listener=$a,Io.options=ko),Io.value=$o;return}}this.addEventListener(So.type,$a,ko),Io={type:So.type,name:So.name,value:$o,listener:$a,options:ko},Eo?Eo.push(Io):this.__on=[Io]}}function selection_on(So,$o,ko){var Eo=parseTypenames(So+""),Io,$a=Eo.length,ya;if(arguments.length<2){var wa=this.node().__on;if(wa){for(var ka=0,Sa=wa.length,Oa;ka<Sa;++ka)for(Io=0,Oa=wa[ka];Io<$a;++Io)if((ya=Eo[Io]).type===Oa.type&&ya.name===Oa.name)return Oa.value}return}for(wa=$o?onAdd:onRemove,Io=0;Io<$a;++Io)this.each(wa(Eo[Io],$o,ko));return this}function dispatchEvent$1(So,$o,ko){var Eo=defaultView(So),Io=Eo.CustomEvent;typeof Io=="function"?Io=new Io($o,ko):(Io=Eo.document.createEvent("Event"),ko?(Io.initEvent($o,ko.bubbles,ko.cancelable),Io.detail=ko.detail):Io.initEvent($o,!1,!1)),So.dispatchEvent(Io)}function dispatchConstant(So,$o){return function(){return dispatchEvent$1(this,So,$o)}}function dispatchFunction(So,$o){return function(){return dispatchEvent$1(this,So,$o.apply(this,arguments))}}function selection_dispatch(So,$o){return this.each((typeof $o=="function"?dispatchFunction:dispatchConstant)(So,$o))}function*selection_iterator(){for(var So=this._groups,$o=0,ko=So.length;$o<ko;++$o)for(var Eo=So[$o],Io=0,$a=Eo.length,ya;Io<$a;++Io)(ya=Eo[Io])&&(yield ya)}var root=[null];function Selection$3(So,$o){this._groups=So,this._parents=$o}function selection(){return new Selection$3([[document.documentElement]],root)}function selection_selection(){return this}Selection$3.prototype=selection.prototype={constructor:Selection$3,select:selection_select,selectAll:selection_selectAll,selectChild:selection_selectChild,selectChildren:selection_selectChildren,filter:selection_filter,data:selection_data,enter:selection_enter,exit:selection_exit,join:selection_join,merge:selection_merge,selection:selection_selection,order:selection_order,sort:selection_sort,call:selection_call,nodes:selection_nodes,node:selection_node,size:selection_size,empty:selection_empty,each:selection_each,attr:selection_attr,style:selection_style,property:selection_property,classed:selection_classed,text:selection_text,html:selection_html,raise:selection_raise,lower:selection_lower,append:selection_append,insert:selection_insert,remove:selection_remove,clone:selection_clone,datum:selection_datum,on:selection_on,dispatch:selection_dispatch,[Symbol.iterator]:selection_iterator};function select(So){return typeof So=="string"?new Selection$3([[document.querySelector(So)]],[document.documentElement]):new Selection$3([[So]],root)}function sourceEvent(So){let $o;for(;$o=So.sourceEvent;)So=$o;return So}function pointer(So,$o){if(So=sourceEvent(So),$o===void 0&&($o=So.currentTarget),$o){var ko=$o.ownerSVGElement||$o;if(ko.createSVGPoint){var Eo=ko.createSVGPoint();return Eo.x=So.clientX,Eo.y=So.clientY,Eo=Eo.matrixTransform($o.getScreenCTM().inverse()),[Eo.x,Eo.y]}if($o.getBoundingClientRect){var Io=$o.getBoundingClientRect();return[So.clientX-Io.left-$o.clientLeft,So.clientY-Io.top-$o.clientTop]}}return[So.pageX,So.pageY]}const nonpassive={passive:!1},nonpassivecapture={capture:!0,passive:!1};function nopropagation$1(So){So.stopImmediatePropagation()}function noevent$1(So){So.preventDefault(),So.stopImmediatePropagation()}function dragDisable(So){var $o=So.document.documentElement,ko=select(So).on("dragstart.drag",noevent$1,nonpassivecapture);"onselectstart"in $o?ko.on("selectstart.drag",noevent$1,nonpassivecapture):($o.__noselect=$o.style.MozUserSelect,$o.style.MozUserSelect="none")}function yesdrag(So,$o){var ko=So.document.documentElement,Eo=select(So).on("dragstart.drag",null);$o&&(Eo.on("click.drag",noevent$1,nonpassivecapture),setTimeout(function(){Eo.on("click.drag",null)},0)),"onselectstart"in ko?Eo.on("selectstart.drag",null):(ko.style.MozUserSelect=ko.__noselect,delete ko.__noselect)}const constant$2=So=>()=>So;function DragEvent(So,{sourceEvent:$o,subject:ko,target:Eo,identifier:Io,active:$a,x:ya,y:wa,dx:ka,dy:Sa,dispatch:Oa}){Object.defineProperties(this,{type:{value:So,enumerable:!0,configurable:!0},sourceEvent:{value:$o,enumerable:!0,configurable:!0},subject:{value:ko,enumerable:!0,configurable:!0},target:{value:Eo,enumerable:!0,configurable:!0},identifier:{value:Io,enumerable:!0,configurable:!0},active:{value:$a,enumerable:!0,configurable:!0},x:{value:ya,enumerable:!0,configurable:!0},y:{value:wa,enumerable:!0,configurable:!0},dx:{value:ka,enumerable:!0,configurable:!0},dy:{value:Sa,enumerable:!0,configurable:!0},_:{value:Oa}})}DragEvent.prototype.on=function(){var So=this._.on.apply(this._,arguments);return So===this._?this:So};function defaultFilter$1(So){return!So.ctrlKey&&!So.button}function defaultContainer(){return this.parentNode}function defaultSubject(So,$o){return $o??{x:So.x,y:So.y}}function defaultTouchable$1(){return navigator.maxTouchPoints||"ontouchstart"in this}function drag$1(){var So=defaultFilter$1,$o=defaultContainer,ko=defaultSubject,Eo=defaultTouchable$1,Io={},$a=dispatch("start","drag","end"),ya=0,wa,ka,Sa,Oa,Ca=0;function Ea(Na){Na.on("mousedown.drag",Ta).filter(Eo).on("touchstart.drag",Pa).on("touchmove.drag",Ra,nonpassive).on("touchend.drag touchcancel.drag",Da).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function Ta(Na,Ba){if(!(Oa||!So.call(this,Na,Ba))){var Fa=La(this,$o.call(this,Na,Ba),Na,Ba,"mouse");Fa&&(select(Na.view).on("mousemove.drag",Aa,nonpassivecapture).on("mouseup.drag",Ia,nonpassivecapture),dragDisable(Na.view),nopropagation$1(Na),Sa=!1,wa=Na.clientX,ka=Na.clientY,Fa("start",Na))}}function Aa(Na){if(noevent$1(Na),!Sa){var Ba=Na.clientX-wa,Fa=Na.clientY-ka;Sa=Ba*Ba+Fa*Fa>Ca}Io.mouse("drag",Na)}function Ia(Na){select(Na.view).on("mousemove.drag mouseup.drag",null),yesdrag(Na.view,Sa),noevent$1(Na),Io.mouse("end",Na)}function Pa(Na,Ba){if(So.call(this,Na,Ba)){var Fa=Na.changedTouches,za=$o.call(this,Na,Ba),Ua=Fa.length,Ha,Wa;for(Ha=0;Ha<Ua;++Ha)(Wa=La(this,za,Na,Ba,Fa[Ha].identifier,Fa[Ha]))&&(nopropagation$1(Na),Wa("start",Na,Fa[Ha]))}}function Ra(Na){var Ba=Na.changedTouches,Fa=Ba.length,za,Ua;for(za=0;za<Fa;++za)(Ua=Io[Ba[za].identifier])&&(noevent$1(Na),Ua("drag",Na,Ba[za]))}function Da(Na){var Ba=Na.changedTouches,Fa=Ba.length,za,Ua;for(Oa&&clearTimeout(Oa),Oa=setTimeout(function(){Oa=null},500),za=0;za<Fa;++za)(Ua=Io[Ba[za].identifier])&&(nopropagation$1(Na),Ua("end",Na,Ba[za]))}function La(Na,Ba,Fa,za,Ua,Ha){var Wa=$a.copy(),ja=pointer(Ha||Fa,Ba),Ya,Xa,Za;if((Za=ko.call(Na,new DragEvent("beforestart",{sourceEvent:Fa,target:Ea,identifier:Ua,active:ya,x:ja[0],y:ja[1],dx:0,dy:0,dispatch:Wa}),za))!=null)return Ya=Za.x-ja[0]||0,Xa=Za.y-ja[1]||0,function Ga(Ka,tl,nl){var rl=ja,il;switch(Ka){case"start":Io[Ua]=Ga,il=ya++;break;case"end":delete Io[Ua],--ya;case"drag":ja=pointer(nl||tl,Ba),il=ya;break}Wa.call(Ka,Na,new DragEvent(Ka,{sourceEvent:tl,subject:Za,target:Ea,identifier:Ua,active:il,x:ja[0]+Ya,y:ja[1]+Xa,dx:ja[0]-rl[0],dy:ja[1]-rl[1],dispatch:Wa}),za)}}return Ea.filter=function(Na){return arguments.length?(So=typeof Na=="function"?Na:constant$2(!!Na),Ea):So},Ea.container=function(Na){return arguments.length?($o=typeof Na=="function"?Na:constant$2(Na),Ea):$o},Ea.subject=function(Na){return arguments.length?(ko=typeof Na=="function"?Na:constant$2(Na),Ea):ko},Ea.touchable=function(Na){return arguments.length?(Eo=typeof Na=="function"?Na:constant$2(!!Na),Ea):Eo},Ea.on=function(){var Na=$a.on.apply($a,arguments);return Na===$a?Ea:Na},Ea.clickDistance=function(Na){return arguments.length?(Ca=(Na=+Na)*Na,Ea):Math.sqrt(Ca)},Ea}function define(So,$o,ko){So.prototype=$o.prototype=ko,ko.constructor=So}function extend(So,$o){var ko=Object.create(So.prototype);for(var Eo in $o)ko[Eo]=$o[Eo];return ko}function Color(){}var darker=.7,brighter=1/darker,reI="\\s*([+-]?\\d+)\\s*",reN="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",reP="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",reHex=/^#([0-9a-f]{3,8})$/,reRgbInteger=new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`),reRgbPercent=new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`),reRgbaInteger=new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`),reRgbaPercent=new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`),reHslPercent=new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`),reHslaPercent=new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`),named={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};define(Color,color,{copy(So){return Object.assign(new this.constructor,this,So)},displayable(){return this.rgb().displayable()},hex:color_formatHex,formatHex:color_formatHex,formatHex8:color_formatHex8,formatHsl:color_formatHsl,formatRgb:color_formatRgb,toString:color_formatRgb});function color_formatHex(){return this.rgb().formatHex()}function color_formatHex8(){return this.rgb().formatHex8()}function color_formatHsl(){return hslConvert(this).formatHsl()}function color_formatRgb(){return this.rgb().formatRgb()}function color(So){var $o,ko;return So=(So+"").trim().toLowerCase(),($o=reHex.exec(So))?(ko=$o[1].length,$o=parseInt($o[1],16),ko===6?rgbn($o):ko===3?new Rgb($o>>8&15|$o>>4&240,$o>>4&15|$o&240,($o&15)<<4|$o&15,1):ko===8?rgba($o>>24&255,$o>>16&255,$o>>8&255,($o&255)/255):ko===4?rgba($o>>12&15|$o>>8&240,$o>>8&15|$o>>4&240,$o>>4&15|$o&240,(($o&15)<<4|$o&15)/255):null):($o=reRgbInteger.exec(So))?new Rgb($o[1],$o[2],$o[3],1):($o=reRgbPercent.exec(So))?new Rgb($o[1]*255/100,$o[2]*255/100,$o[3]*255/100,1):($o=reRgbaInteger.exec(So))?rgba($o[1],$o[2],$o[3],$o[4]):($o=reRgbaPercent.exec(So))?rgba($o[1]*255/100,$o[2]*255/100,$o[3]*255/100,$o[4]):($o=reHslPercent.exec(So))?hsla($o[1],$o[2]/100,$o[3]/100,1):($o=reHslaPercent.exec(So))?hsla($o[1],$o[2]/100,$o[3]/100,$o[4]):named.hasOwnProperty(So)?rgbn(named[So]):So==="transparent"?new Rgb(NaN,NaN,NaN,0):null}function rgbn(So){return new Rgb(So>>16&255,So>>8&255,So&255,1)}function rgba(So,$o,ko,Eo){return Eo<=0&&(So=$o=ko=NaN),new Rgb(So,$o,ko,Eo)}function rgbConvert(So){return So instanceof Color||(So=color(So)),So?(So=So.rgb(),new Rgb(So.r,So.g,So.b,So.opacity)):new Rgb}function rgb(So,$o,ko,Eo){return arguments.length===1?rgbConvert(So):new Rgb(So,$o,ko,Eo??1)}function Rgb(So,$o,ko,Eo){this.r=+So,this.g=+$o,this.b=+ko,this.opacity=+Eo}define(Rgb,rgb,extend(Color,{brighter(So){return So=So==null?brighter:Math.pow(brighter,So),new Rgb(this.r*So,this.g*So,this.b*So,this.opacity)},darker(So){return So=So==null?darker:Math.pow(darker,So),new Rgb(this.r*So,this.g*So,this.b*So,this.opacity)},rgb(){return this},clamp(){return new Rgb(clampi(this.r),clampi(this.g),clampi(this.b),clampa(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:rgb_formatHex,formatHex:rgb_formatHex,formatHex8:rgb_formatHex8,formatRgb:rgb_formatRgb,toString:rgb_formatRgb}));function rgb_formatHex(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}`}function rgb_formatHex8(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity)?1:this.opacity)*255)}`}function rgb_formatRgb(){const So=clampa(this.opacity);return`${So===1?"rgb(":"rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${So===1?")":`, ${So})`}`}function clampa(So){return isNaN(So)?1:Math.max(0,Math.min(1,So))}function clampi(So){return Math.max(0,Math.min(255,Math.round(So)||0))}function hex(So){return So=clampi(So),(So<16?"0":"")+So.toString(16)}function hsla(So,$o,ko,Eo){return Eo<=0?So=$o=ko=NaN:ko<=0||ko>=1?So=$o=NaN:$o<=0&&(So=NaN),new Hsl(So,$o,ko,Eo)}function hslConvert(So){if(So instanceof Hsl)return new Hsl(So.h,So.s,So.l,So.opacity);if(So instanceof Color||(So=color(So)),!So)return new Hsl;if(So instanceof Hsl)return So;So=So.rgb();var $o=So.r/255,ko=So.g/255,Eo=So.b/255,Io=Math.min($o,ko,Eo),$a=Math.max($o,ko,Eo),ya=NaN,wa=$a-Io,ka=($a+Io)/2;return wa?($o===$a?ya=(ko-Eo)/wa+(ko<Eo)*6:ko===$a?ya=(Eo-$o)/wa+2:ya=($o-ko)/wa+4,wa/=ka<.5?$a+Io:2-$a-Io,ya*=60):wa=ka>0&&ka<1?0:ya,new Hsl(ya,wa,ka,So.opacity)}function hsl(So,$o,ko,Eo){return arguments.length===1?hslConvert(So):new Hsl(So,$o,ko,Eo??1)}function Hsl(So,$o,ko,Eo){this.h=+So,this.s=+$o,this.l=+ko,this.opacity=+Eo}define(Hsl,hsl,extend(Color,{brighter(So){return So=So==null?brighter:Math.pow(brighter,So),new Hsl(this.h,this.s,this.l*So,this.opacity)},darker(So){return So=So==null?darker:Math.pow(darker,So),new Hsl(this.h,this.s,this.l*So,this.opacity)},rgb(){var So=this.h%360+(this.h<0)*360,$o=isNaN(So)||isNaN(this.s)?0:this.s,ko=this.l,Eo=ko+(ko<.5?ko:1-ko)*$o,Io=2*ko-Eo;return new Rgb(hsl2rgb(So>=240?So-240:So+120,Io,Eo),hsl2rgb(So,Io,Eo),hsl2rgb(So<120?So+240:So-120,Io,Eo),this.opacity)},clamp(){return new Hsl(clamph(this.h),clampt(this.s),clampt(this.l),clampa(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 So=clampa(this.opacity);return`${So===1?"hsl(":"hsla("}${clamph(this.h)}, ${clampt(this.s)*100}%, ${clampt(this.l)*100}%${So===1?")":`, ${So})`}`}}));function clamph(So){return So=(So||0)%360,So<0?So+360:So}function clampt(So){return Math.max(0,Math.min(1,So||0))}function hsl2rgb(So,$o,ko){return(So<60?$o+(ko-$o)*So/60:So<180?ko:So<240?$o+(ko-$o)*(240-So)/60:$o)*255}const constant$1=So=>()=>So;function linear(So,$o){return function(ko){return So+ko*$o}}function exponential(So,$o,ko){return So=Math.pow(So,ko),$o=Math.pow($o,ko)-So,ko=1/ko,function(Eo){return Math.pow(So+Eo*$o,ko)}}function gamma(So){return(So=+So)==1?nogamma:function($o,ko){return ko-$o?exponential($o,ko,So):constant$1(isNaN($o)?ko:$o)}}function nogamma(So,$o){var ko=$o-So;return ko?linear(So,ko):constant$1(isNaN(So)?$o:So)}const interpolateRgb=function So($o){var ko=gamma($o);function Eo(Io,$a){var ya=ko((Io=rgb(Io)).r,($a=rgb($a)).r),wa=ko(Io.g,$a.g),ka=ko(Io.b,$a.b),Sa=nogamma(Io.opacity,$a.opacity);return function(Oa){return Io.r=ya(Oa),Io.g=wa(Oa),Io.b=ka(Oa),Io.opacity=Sa(Oa),Io+""}}return Eo.gamma=So,Eo}(1);function interpolateNumber(So,$o){return So=+So,$o=+$o,function(ko){return So*(1-ko)+$o*ko}}var reA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB=new RegExp(reA.source,"g");function zero(So){return function(){return So}}function one(So){return function($o){return So($o)+""}}function interpolateString(So,$o){var ko=reA.lastIndex=reB.lastIndex=0,Eo,Io,$a,ya=-1,wa=[],ka=[];for(So=So+"",$o=$o+"";(Eo=reA.exec(So))&&(Io=reB.exec($o));)($a=Io.index)>ko&&($a=$o.slice(ko,$a),wa[ya]?wa[ya]+=$a:wa[++ya]=$a),(Eo=Eo[0])===(Io=Io[0])?wa[ya]?wa[ya]+=Io:wa[++ya]=Io:(wa[++ya]=null,ka.push({i:ya,x:interpolateNumber(Eo,Io)})),ko=reB.lastIndex;return ko<$o.length&&($a=$o.slice(ko),wa[ya]?wa[ya]+=$a:wa[++ya]=$a),wa.length<2?ka[0]?one(ka[0].x):zero($o):($o=ka.length,function(Sa){for(var Oa=0,Ca;Oa<$o;++Oa)wa[(Ca=ka[Oa]).i]=Ca.x(Sa);return wa.join("")})}var degrees=180/Math.PI,identity$1={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function decompose(So,$o,ko,Eo,Io,$a){var ya,wa,ka;return(ya=Math.sqrt(So*So+$o*$o))&&(So/=ya,$o/=ya),(ka=So*ko+$o*Eo)&&(ko-=So*ka,Eo-=$o*ka),(wa=Math.sqrt(ko*ko+Eo*Eo))&&(ko/=wa,Eo/=wa,ka/=wa),So*Eo<$o*ko&&(So=-So,$o=-$o,ka=-ka,ya=-ya),{translateX:Io,translateY:$a,rotate:Math.atan2($o,So)*degrees,skewX:Math.atan(ka)*degrees,scaleX:ya,scaleY:wa}}var svgNode;function parseCss(So){const $o=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(So+"");return $o.isIdentity?identity$1:decompose($o.a,$o.b,$o.c,$o.d,$o.e,$o.f)}function parseSvg(So){return So==null||(svgNode||(svgNode=document.createElementNS("http://www.w3.org/2000/svg","g")),svgNode.setAttribute("transform",So),!(So=svgNode.transform.baseVal.consolidate()))?identity$1:(So=So.matrix,decompose(So.a,So.b,So.c,So.d,So.e,So.f))}function interpolateTransform(So,$o,ko,Eo){function Io(Sa){return Sa.length?Sa.pop()+" ":""}function $a(Sa,Oa,Ca,Ea,Ta,Aa){if(Sa!==Ca||Oa!==Ea){var Ia=Ta.push("translate(",null,$o,null,ko);Aa.push({i:Ia-4,x:interpolateNumber(Sa,Ca)},{i:Ia-2,x:interpolateNumber(Oa,Ea)})}else(Ca||Ea)&&Ta.push("translate("+Ca+$o+Ea+ko)}function ya(Sa,Oa,Ca,Ea){Sa!==Oa?(Sa-Oa>180?Oa+=360:Oa-Sa>180&&(Sa+=360),Ea.push({i:Ca.push(Io(Ca)+"rotate(",null,Eo)-2,x:interpolateNumber(Sa,Oa)})):Oa&&Ca.push(Io(Ca)+"rotate("+Oa+Eo)}function wa(Sa,Oa,Ca,Ea){Sa!==Oa?Ea.push({i:Ca.push(Io(Ca)+"skewX(",null,Eo)-2,x:interpolateNumber(Sa,Oa)}):Oa&&Ca.push(Io(Ca)+"skewX("+Oa+Eo)}function ka(Sa,Oa,Ca,Ea,Ta,Aa){if(Sa!==Ca||Oa!==Ea){var Ia=Ta.push(Io(Ta)+"scale(",null,",",null,")");Aa.push({i:Ia-4,x:interpolateNumber(Sa,Ca)},{i:Ia-2,x:interpolateNumber(Oa,Ea)})}else(Ca!==1||Ea!==1)&&Ta.push(Io(Ta)+"scale("+Ca+","+Ea+")")}return function(Sa,Oa){var Ca=[],Ea=[];return Sa=So(Sa),Oa=So(Oa),$a(Sa.translateX,Sa.translateY,Oa.translateX,Oa.translateY,Ca,Ea),ya(Sa.rotate,Oa.rotate,Ca,Ea),wa(Sa.skewX,Oa.skewX,Ca,Ea),ka(Sa.scaleX,Sa.scaleY,Oa.scaleX,Oa.scaleY,Ca,Ea),Sa=Oa=null,function(Ta){for(var Aa=-1,Ia=Ea.length,Pa;++Aa<Ia;)Ca[(Pa=Ea[Aa]).i]=Pa.x(Ta);return Ca.join("")}}}var interpolateTransformCss=interpolateTransform(parseCss,"px, ","px)","deg)"),interpolateTransformSvg=interpolateTransform(parseSvg,", ",")",")"),epsilon2=1e-12;function cosh(So){return((So=Math.exp(So))+1/So)/2}function sinh(So){return((So=Math.exp(So))-1/So)/2}function tanh(So){return((So=Math.exp(2*So))-1)/(So+1)}const interpolateZoom=function So($o,ko,Eo){function Io($a,ya){var wa=$a[0],ka=$a[1],Sa=$a[2],Oa=ya[0],Ca=ya[1],Ea=ya[2],Ta=Oa-wa,Aa=Ca-ka,Ia=Ta*Ta+Aa*Aa,Pa,Ra;if(Ia<epsilon2)Ra=Math.log(Ea/Sa)/$o,Pa=function(za){return[wa+za*Ta,ka+za*Aa,Sa*Math.exp($o*za*Ra)]};else{var Da=Math.sqrt(Ia),La=(Ea*Ea-Sa*Sa+Eo*Ia)/(2*Sa*ko*Da),Na=(Ea*Ea-Sa*Sa-Eo*Ia)/(2*Ea*ko*Da),Ba=Math.log(Math.sqrt(La*La+1)-La),Fa=Math.log(Math.sqrt(Na*Na+1)-Na);Ra=(Fa-Ba)/$o,Pa=function(za){var Ua=za*Ra,Ha=cosh(Ba),Wa=Sa/(ko*Da)*(Ha*tanh($o*Ua+Ba)-sinh(Ba));return[wa+Wa*Ta,ka+Wa*Aa,Sa*Ha/cosh($o*Ua+Ba)]}}return Pa.duration=Ra*1e3*$o/Math.SQRT2,Pa}return Io.rho=function($a){var ya=Math.max(.001,+$a),wa=ya*ya,ka=wa*wa;return So(ya,wa,ka)},Io}(Math.SQRT2,2,4);var frame=0,timeout$1=0,interval=0,pokeDelay=1e3,taskHead,taskTail,clockLast=0,clockNow=0,clockSkew=0,clock=typeof performance=="object"&&performance.now?performance:Date,setFrame=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(So){setTimeout(So,17)};function now(){return clockNow||(setFrame(clearNow),clockNow=clock.now()+clockSkew)}function clearNow(){clockNow=0}function Timer(){this._call=this._time=this._next=null}Timer.prototype=timer.prototype={constructor:Timer,restart:function(So,$o,ko){if(typeof So!="function")throw new TypeError("callback is not a function");ko=(ko==null?now():+ko)+($o==null?0:+$o),!this._next&&taskTail!==this&&(taskTail?taskTail._next=this:taskHead=this,taskTail=this),this._call=So,this._time=ko,sleep()},stop:function(){this._call&&(this._call=null,this._time=1/0,sleep())}};function timer(So,$o,ko){var Eo=new Timer;return Eo.restart(So,$o,ko),Eo}function timerFlush(){now(),++frame;for(var So=taskHead,$o;So;)($o=clockNow-So._time)>=0&&So._call.call(void 0,$o),So=So._next;--frame}function wake(){clockNow=(clockLast=clock.now())+clockSkew,frame=timeout$1=0;try{timerFlush()}finally{frame=0,nap(),clockNow=0}}function poke(){var So=clock.now(),$o=So-clockLast;$o>pokeDelay&&(clockSkew-=$o,clockLast=So)}function nap(){for(var So,$o=taskHead,ko,Eo=1/0;$o;)$o._call?(Eo>$o._time&&(Eo=$o._time),So=$o,$o=$o._next):(ko=$o._next,$o._next=null,$o=So?So._next=ko:taskHead=ko);taskTail=So,sleep(Eo)}function sleep(So){if(!frame){timeout$1&&(timeout$1=clearTimeout(timeout$1));var $o=So-clockNow;$o>24?(So<1/0&&(timeout$1=setTimeout(wake,So-clock.now()-clockSkew)),interval&&(interval=clearInterval(interval))):(interval||(clockLast=clock.now(),interval=setInterval(poke,pokeDelay)),frame=1,setFrame(wake))}}function timeout(So,$o,ko){var Eo=new Timer;return $o=$o==null?0:+$o,Eo.restart(Io=>{Eo.stop(),So(Io+$o)},$o,ko),Eo}var emptyOn=dispatch("start","end","cancel","interrupt"),emptyTween=[],CREATED=0,SCHEDULED=1,STARTING=2,STARTED=3,RUNNING=4,ENDING=5,ENDED=6;function schedule(So,$o,ko,Eo,Io,$a){var ya=So.__transition;if(!ya)So.__transition={};else if(ko in ya)return;create(So,ko,{name:$o,index:Eo,group:Io,on:emptyOn,tween:emptyTween,time:$a.time,delay:$a.delay,duration:$a.duration,ease:$a.ease,timer:null,state:CREATED})}function init(So,$o){var ko=get$1(So,$o);if(ko.state>CREATED)throw new Error("too late; already scheduled");return ko}function set(So,$o){var ko=get$1(So,$o);if(ko.state>STARTED)throw new Error("too late; already running");return ko}function get$1(So,$o){var ko=So.__transition;if(!ko||!(ko=ko[$o]))throw new Error("transition not found");return ko}function create(So,$o,ko){var Eo=So.__transition,Io;Eo[$o]=ko,ko.timer=timer($a,0,ko.time);function $a(Sa){ko.state=SCHEDULED,ko.timer.restart(ya,ko.delay,ko.time),ko.delay<=Sa&&ya(Sa-ko.delay)}function ya(Sa){var Oa,Ca,Ea,Ta;if(ko.state!==SCHEDULED)return ka();for(Oa in Eo)if(Ta=Eo[Oa],Ta.name===ko.name){if(Ta.state===STARTED)return timeout(ya);Ta.state===RUNNING?(Ta.state=ENDED,Ta.timer.stop(),Ta.on.call("interrupt",So,So.__data__,Ta.index,Ta.group),delete Eo[Oa]):+Oa<$o&&(Ta.state=ENDED,Ta.timer.stop(),Ta.on.call("cancel",So,So.__data__,Ta.index,Ta.group),delete Eo[Oa])}if(timeout(function(){ko.state===STARTED&&(ko.state=RUNNING,ko.timer.restart(wa,ko.delay,ko.time),wa(Sa))}),ko.state=STARTING,ko.on.call("start",So,So.__data__,ko.index,ko.group),ko.state===STARTING){for(ko.state=STARTED,Io=new Array(Ea=ko.tween.length),Oa=0,Ca=-1;Oa<Ea;++Oa)(Ta=ko.tween[Oa].value.call(So,So.__data__,ko.index,ko.group))&&(Io[++Ca]=Ta);Io.length=Ca+1}}function wa(Sa){for(var Oa=Sa<ko.duration?ko.ease.call(null,Sa/ko.duration):(ko.timer.restart(ka),ko.state=ENDING,1),Ca=-1,Ea=Io.length;++Ca<Ea;)Io[Ca].call(So,Oa);ko.state===ENDING&&(ko.on.call("end",So,So.__data__,ko.index,ko.group),ka())}function ka(){ko.state=ENDED,ko.timer.stop(),delete Eo[$o];for(var Sa in Eo)return;delete So.__transition}}function interrupt(So,$o){var ko=So.__transition,Eo,Io,$a=!0,ya;if(ko){$o=$o==null?null:$o+"";for(ya in ko){if((Eo=ko[ya]).name!==$o){$a=!1;continue}Io=Eo.state>STARTING&&Eo.state<ENDING,Eo.state=ENDED,Eo.timer.stop(),Eo.on.call(Io?"interrupt":"cancel",So,So.__data__,Eo.index,Eo.group),delete ko[ya]}$a&&delete So.__transition}}function selection_interrupt(So){return this.each(function(){interrupt(this,So)})}function tweenRemove(So,$o){var ko,Eo;return function(){var Io=set(this,So),$a=Io.tween;if($a!==ko){Eo=ko=$a;for(var ya=0,wa=Eo.length;ya<wa;++ya)if(Eo[ya].name===$o){Eo=Eo.slice(),Eo.splice(ya,1);break}}Io.tween=Eo}}function tweenFunction(So,$o,ko){var Eo,Io;if(typeof ko!="function")throw new Error;return function(){var $a=set(this,So),ya=$a.tween;if(ya!==Eo){Io=(Eo=ya).slice();for(var wa={name:$o,value:ko},ka=0,Sa=Io.length;ka<Sa;++ka)if(Io[ka].name===$o){Io[ka]=wa;break}ka===Sa&&Io.push(wa)}$a.tween=Io}}function transition_tween(So,$o){var ko=this._id;if(So+="",arguments.length<2){for(var Eo=get$1(this.node(),ko).tween,Io=0,$a=Eo.length,ya;Io<$a;++Io)if((ya=Eo[Io]).name===So)return ya.value;return null}return this.each(($o==null?tweenRemove:tweenFunction)(ko,So,$o))}function tweenValue(So,$o,ko){var Eo=So._id;return So.each(function(){var Io=set(this,Eo);(Io.value||(Io.value={}))[$o]=ko.apply(this,arguments)}),function(Io){return get$1(Io,Eo).value[$o]}}function interpolate(So,$o){var ko;return(typeof $o=="number"?interpolateNumber:$o instanceof color?interpolateRgb:(ko=color($o))?($o=ko,interpolateRgb):interpolateString)(So,$o)}function attrRemove(So){return function(){this.removeAttribute(So)}}function attrRemoveNS(So){return function(){this.removeAttributeNS(So.space,So.local)}}function attrConstant(So,$o,ko){var Eo,Io=ko+"",$a;return function(){var ya=this.getAttribute(So);return ya===Io?null:ya===Eo?$a:$a=$o(Eo=ya,ko)}}function attrConstantNS(So,$o,ko){var Eo,Io=ko+"",$a;return function(){var ya=this.getAttributeNS(So.space,So.local);return ya===Io?null:ya===Eo?$a:$a=$o(Eo=ya,ko)}}function attrFunction(So,$o,ko){var Eo,Io,$a;return function(){var ya,wa=ko(this),ka;return wa==null?void this.removeAttribute(So):(ya=this.getAttribute(So),ka=wa+"",ya===ka?null:ya===Eo&&ka===Io?$a:(Io=ka,$a=$o(Eo=ya,wa)))}}function attrFunctionNS(So,$o,ko){var Eo,Io,$a;return function(){var ya,wa=ko(this),ka;return wa==null?void this.removeAttributeNS(So.space,So.local):(ya=this.getAttributeNS(So.space,So.local),ka=wa+"",ya===ka?null:ya===Eo&&ka===Io?$a:(Io=ka,$a=$o(Eo=ya,wa)))}}function transition_attr(So,$o){var ko=namespace(So),Eo=ko==="transform"?interpolateTransformSvg:interpolate;return this.attrTween(So,typeof $o=="function"?(ko.local?attrFunctionNS:attrFunction)(ko,Eo,tweenValue(this,"attr."+So,$o)):$o==null?(ko.local?attrRemoveNS:attrRemove)(ko):(ko.local?attrConstantNS:attrConstant)(ko,Eo,$o))}function attrInterpolate(So,$o){return function(ko){this.setAttribute(So,$o.call(this,ko))}}function attrInterpolateNS(So,$o){return function(ko){this.setAttributeNS(So.space,So.local,$o.call(this,ko))}}function attrTweenNS(So,$o){var ko,Eo;function Io(){var $a=$o.apply(this,arguments);return $a!==Eo&&(ko=(Eo=$a)&&attrInterpolateNS(So,$a)),ko}return Io._value=$o,Io}function attrTween(So,$o){var ko,Eo;function Io(){var $a=$o.apply(this,arguments);return $a!==Eo&&(ko=(Eo=$a)&&attrInterpolate(So,$a)),ko}return Io._value=$o,Io}function transition_attrTween(So,$o){var ko="attr."+So;if(arguments.length<2)return(ko=this.tween(ko))&&ko._value;if($o==null)return this.tween(ko,null);if(typeof $o!="function")throw new Error;var Eo=namespace(So);return this.tween(ko,(Eo.local?attrTweenNS:attrTween)(Eo,$o))}function delayFunction(So,$o){return function(){init(this,So).delay=+$o.apply(this,arguments)}}function delayConstant(So,$o){return $o=+$o,function(){init(this,So).delay=$o}}function transition_delay(So){var $o=this._id;return arguments.length?this.each((typeof So=="function"?delayFunction:delayConstant)($o,So)):get$1(this.node(),$o).delay}function durationFunction(So,$o){return function(){set(this,So).duration=+$o.apply(this,arguments)}}function durationConstant(So,$o){return $o=+$o,function(){set(this,So).duration=$o}}function transition_duration(So){var $o=this._id;return arguments.length?this.each((typeof So=="function"?durationFunction:durationConstant)($o,So)):get$1(this.node(),$o).duration}function easeConstant(So,$o){if(typeof $o!="function")throw new Error;return function(){set(this,So).ease=$o}}function transition_ease(So){var $o=this._id;return arguments.length?this.each(easeConstant($o,So)):get$1(this.node(),$o).ease}function easeVarying(So,$o){return function(){var ko=$o.apply(this,arguments);if(typeof ko!="function")throw new Error;set(this,So).ease=ko}}function transition_easeVarying(So){if(typeof So!="function")throw new Error;return this.each(easeVarying(this._id,So))}function transition_filter(So){typeof So!="function"&&(So=matcher(So));for(var $o=this._groups,ko=$o.length,Eo=new Array(ko),Io=0;Io<ko;++Io)for(var $a=$o[Io],ya=$a.length,wa=Eo[Io]=[],ka,Sa=0;Sa<ya;++Sa)(ka=$a[Sa])&&So.call(ka,ka.__data__,Sa,$a)&&wa.push(ka);return new Transition(Eo,this._parents,this._name,this._id)}function transition_merge(So){if(So._id!==this._id)throw new Error;for(var $o=this._groups,ko=So._groups,Eo=$o.length,Io=ko.length,$a=Math.min(Eo,Io),ya=new Array(Eo),wa=0;wa<$a;++wa)for(var ka=$o[wa],Sa=ko[wa],Oa=ka.length,Ca=ya[wa]=new Array(Oa),Ea,Ta=0;Ta<Oa;++Ta)(Ea=ka[Ta]||Sa[Ta])&&(Ca[Ta]=Ea);for(;wa<Eo;++wa)ya[wa]=$o[wa];return new Transition(ya,this._parents,this._name,this._id)}function start(So){return(So+"").trim().split(/^|\s+/).every(function($o){var ko=$o.indexOf(".");return ko>=0&&($o=$o.slice(0,ko)),!$o||$o==="start"})}function onFunction(So,$o,ko){var Eo,Io,$a=start($o)?init:set;return function(){var ya=$a(this,So),wa=ya.on;wa!==Eo&&(Io=(Eo=wa).copy()).on($o,ko),ya.on=Io}}function transition_on(So,$o){var ko=this._id;return arguments.length<2?get$1(this.node(),ko).on.on(So):this.each(onFunction(ko,So,$o))}function removeFunction(So){return function(){var $o=this.parentNode;for(var ko in this.__transition)if(+ko!==So)return;$o&&$o.removeChild(this)}}function transition_remove(){return this.on("end.remove",removeFunction(this._id))}function transition_select(So){var $o=this._name,ko=this._id;typeof So!="function"&&(So=selector(So));for(var Eo=this._groups,Io=Eo.length,$a=new Array(Io),ya=0;ya<Io;++ya)for(var wa=Eo[ya],ka=wa.length,Sa=$a[ya]=new Array(ka),Oa,Ca,Ea=0;Ea<ka;++Ea)(Oa=wa[Ea])&&(Ca=So.call(Oa,Oa.__data__,Ea,wa))&&("__data__"in Oa&&(Ca.__data__=Oa.__data__),Sa[Ea]=Ca,schedule(Sa[Ea],$o,ko,Ea,Sa,get$1(Oa,ko)));return new Transition($a,this._parents,$o,ko)}function transition_selectAll(So){var $o=this._name,ko=this._id;typeof So!="function"&&(So=selectorAll(So));for(var Eo=this._groups,Io=Eo.length,$a=[],ya=[],wa=0;wa<Io;++wa)for(var ka=Eo[wa],Sa=ka.length,Oa,Ca=0;Ca<Sa;++Ca)if(Oa=ka[Ca]){for(var Ea=So.call(Oa,Oa.__data__,Ca,ka),Ta,Aa=get$1(Oa,ko),Ia=0,Pa=Ea.length;Ia<Pa;++Ia)(Ta=Ea[Ia])&&schedule(Ta,$o,ko,Ia,Ea,Aa);$a.push(Ea),ya.push(Oa)}return new Transition($a,ya,$o,ko)}var Selection$2=selection.prototype.constructor;function transition_selection(){return new Selection$2(this._groups,this._parents)}function styleNull(So,$o){var ko,Eo,Io;return function(){var $a=styleValue(this,So),ya=(this.style.removeProperty(So),styleValue(this,So));return $a===ya?null:$a===ko&&ya===Eo?Io:Io=$o(ko=$a,Eo=ya)}}function styleRemove(So){return function(){this.style.removeProperty(So)}}function styleConstant(So,$o,ko){var Eo,Io=ko+"",$a;return function(){var ya=styleValue(this,So);return ya===Io?null:ya===Eo?$a:$a=$o(Eo=ya,ko)}}function styleFunction(So,$o,ko){var Eo,Io,$a;return function(){var ya=styleValue(this,So),wa=ko(this),ka=wa+"";return wa==null&&(ka=wa=(this.style.removeProperty(So),styleValue(this,So))),ya===ka?null:ya===Eo&&ka===Io?$a:(Io=ka,$a=$o(Eo=ya,wa))}}function styleMaybeRemove(So,$o){var ko,Eo,Io,$a="style."+$o,ya="end."+$a,wa;return function(){var ka=set(this,So),Sa=ka.on,Oa=ka.value[$a]==null?wa||(wa=styleRemove($o)):void 0;(Sa!==ko||Io!==Oa)&&(Eo=(ko=Sa).copy()).on(ya,Io=Oa),ka.on=Eo}}function transition_style(So,$o,ko){var Eo=(So+="")=="transform"?interpolateTransformCss:interpolate;return $o==null?this.styleTween(So,styleNull(So,Eo)).on("end.style."+So,styleRemove(So)):typeof $o=="function"?this.styleTween(So,styleFunction(So,Eo,tweenValue(this,"style."+So,$o))).each(styleMaybeRemove(this._id,So)):this.styleTween(So,styleConstant(So,Eo,$o),ko).on("end.style."+So,null)}function styleInterpolate(So,$o,ko){return function(Eo){this.style.setProperty(So,$o.call(this,Eo),ko)}}function styleTween(So,$o,ko){var Eo,Io;function $a(){var ya=$o.apply(this,arguments);return ya!==Io&&(Eo=(Io=ya)&&styleInterpolate(So,ya,ko)),Eo}return $a._value=$o,$a}function transition_styleTween(So,$o,ko){var Eo="style."+(So+="");if(arguments.length<2)return(Eo=this.tween(Eo))&&Eo._value;if($o==null)return this.tween(Eo,null);if(typeof $o!="function")throw new Error;return this.tween(Eo,styleTween(So,$o,ko??""))}function textConstant(So){return function(){this.textContent=So}}function textFunction(So){return function(){var $o=So(this);this.textContent=$o??""}}function transition_text(So){return this.tween("text",typeof So=="function"?textFunction(tweenValue(this,"text",So)):textConstant(So==null?"":So+""))}function textInterpolate(So){return function($o){this.textContent=So.call(this,$o)}}function textTween(So){var $o,ko;function Eo(){var Io=So.apply(this,arguments);return Io!==ko&&($o=(ko=Io)&&textInterpolate(Io)),$o}return Eo._value=So,Eo}function transition_textTween(So){var $o="text";if(arguments.length<1)return($o=this.tween($o))&&$o._value;if(So==null)return this.tween($o,null);if(typeof So!="function")throw new Error;return this.tween($o,textTween(So))}function transition_transition(){for(var So=this._name,$o=this._id,ko=newId(),Eo=this._groups,Io=Eo.length,$a=0;$a<Io;++$a)for(var ya=Eo[$a],wa=ya.length,ka,Sa=0;Sa<wa;++Sa)if(ka=ya[Sa]){var Oa=get$1(ka,$o);schedule(ka,So,ko,Sa,ya,{time:Oa.time+Oa.delay+Oa.duration,delay:0,duration:Oa.duration,ease:Oa.ease})}return new Transition(Eo,this._parents,So,ko)}function transition_end(){var So,$o,ko=this,Eo=ko._id,Io=ko.size();return new Promise(function($a,ya){var wa={value:ya},ka={value:function(){--Io===0&&$a()}};ko.each(function(){var Sa=set(this,Eo),Oa=Sa.on;Oa!==So&&($o=(So=Oa).copy(),$o._.cancel.push(wa),$o._.interrupt.push(wa),$o._.end.push(ka)),Sa.on=$o}),Io===0&&$a()})}var id=0;function Transition(So,$o,ko,Eo){this._groups=So,this._parents=$o,this._name=ko,this._id=Eo}function newId(){return++id}var selection_prototype=selection.prototype;Transition.prototype={constructor:Transition,select:transition_select,selectAll:transition_selectAll,selectChild:selection_prototype.selectChild,selectChildren:selection_prototype.selectChildren,filter:transition_filter,merge:transition_merge,selection:transition_selection,transition:transition_transition,call:selection_prototype.call,nodes:selection_prototype.nodes,node:selection_prototype.node,size:selection_prototype.size,empty:selection_prototype.empty,each:selection_prototype.each,on:transition_on,attr:transition_attr,attrTween:transition_attrTween,style:transition_style,styleTween:transition_styleTween,text:transition_text,textTween:transition_textTween,remove:transition_remove,tween:transition_tween,delay:transition_delay,duration:transition_duration,ease:transition_ease,easeVarying:transition_easeVarying,end:transition_end,[Symbol.iterator]:selection_prototype[Symbol.iterator]};function cubicInOut(So){return((So*=2)<=1?So*So*So:(So-=2)*So*So+2)/2}var defaultTiming={time:null,delay:0,duration:250,ease:cubicInOut};function inherit(So,$o){for(var ko;!(ko=So.__transition)||!(ko=ko[$o]);)if(!(So=So.parentNode))throw new Error(`transition ${$o} not found`);return ko}function selection_transition(So){var $o,ko;So instanceof Transition?($o=So._id,So=So._name):($o=newId(),(ko=defaultTiming).time=now(),So=So==null?null:So+"");for(var Eo=this._groups,Io=Eo.length,$a=0;$a<Io;++$a)for(var ya=Eo[$a],wa=ya.length,ka,Sa=0;Sa<wa;++Sa)(ka=ya[Sa])&&schedule(ka,So,$o,Sa,ya,ko||inherit(ka,$o));return new Transition(Eo,this._parents,So,$o)}selection.prototype.interrupt=selection_interrupt;selection.prototype.transition=selection_transition;const constant=So=>()=>So;function ZoomEvent(So,{sourceEvent:$o,target:ko,transform:Eo,dispatch:Io}){Object.defineProperties(this,{type:{value:So,enumerable:!0,configurable:!0},sourceEvent:{value:$o,enumerable:!0,configurable:!0},target:{value:ko,enumerable:!0,configurable:!0},transform:{value:Eo,enumerable:!0,configurable:!0},_:{value:Io}})}function Transform(So,$o,ko){this.k=So,this.x=$o,this.y=ko}Transform.prototype={constructor:Transform,scale:function(So){return So===1?this:new Transform(this.k*So,this.x,this.y)},translate:function(So,$o){return So===0&$o===0?this:new Transform(this.k,this.x+this.k*So,this.y+this.k*$o)},apply:function(So){return[So[0]*this.k+this.x,So[1]*this.k+this.y]},applyX:function(So){return So*this.k+this.x},applyY:function(So){return So*this.k+this.y},invert:function(So){return[(So[0]-this.x)/this.k,(So[1]-this.y)/this.k]},invertX:function(So){return(So-this.x)/this.k},invertY:function(So){return(So-this.y)/this.k},rescaleX:function(So){return So.copy().domain(So.range().map(this.invertX,this).map(So.invert,So))},rescaleY:function(So){return So.copy().domain(So.range().map(this.invertY,this).map(So.invert,So))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var identity=new Transform(1,0,0);transform.prototype=Transform.prototype;function transform(So){for(;!So.__zoom;)if(!(So=So.parentNode))return identity;return So.__zoom}function nopropagation(So){So.stopImmediatePropagation()}function noevent(So){So.preventDefault(),So.stopImmediatePropagation()}function defaultFilter(So){return(!So.ctrlKey||So.type==="wheel")&&!So.button}function defaultExtent(){var So=this;return So instanceof SVGElement?(So=So.ownerSVGElement||So,So.hasAttribute("viewBox")?(So=So.viewBox.baseVal,[[So.x,So.y],[So.x+So.width,So.y+So.height]]):[[0,0],[So.width.baseVal.value,So.height.baseVal.value]]):[[0,0],[So.clientWidth,So.clientHeight]]}function defaultTransform(){return this.__zoom||identity}function defaultWheelDelta(So){return-So.deltaY*(So.deltaMode===1?.05:So.deltaMode?1:.002)*(So.ctrlKey?10:1)}function defaultTouchable(){return navigator.maxTouchPoints||"ontouchstart"in this}function defaultConstrain(So,$o,ko){var Eo=So.invertX($o[0][0])-ko[0][0],Io=So.invertX($o[1][0])-ko[1][0],$a=So.invertY($o[0][1])-ko[0][1],ya=So.invertY($o[1][1])-ko[1][1];return So.translate(Io>Eo?(Eo+Io)/2:Math.min(0,Eo)||Math.max(0,Io),ya>$a?($a+ya)/2:Math.min(0,$a)||Math.max(0,ya))}function zoom$1(){var So=defaultFilter,$o=defaultExtent,ko=defaultConstrain,Eo=defaultWheelDelta,Io=defaultTouchable,$a=[0,1/0],ya=[[-1/0,-1/0],[1/0,1/0]],wa=250,ka=interpolateZoom,Sa=dispatch("start","zoom","end"),Oa,Ca,Ea,Ta=500,Aa=150,Ia=0,Pa=10;function Ra(Za){Za.property("__zoom",defaultTransform).on("wheel.zoom",Ua,{passive:!1}).on("mousedown.zoom",Ha).on("dblclick.zoom",Wa).filter(Io).on("touchstart.zoom",ja).on("touchmove.zoom",Ya).on("touchend.zoom touchcancel.zoom",Xa).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}Ra.transform=function(Za,Ga,Ka,tl){var nl=Za.selection?Za.selection():Za;nl.property("__zoom",defaultTransform),Za!==nl?Ba(Za,Ga,Ka,tl):nl.interrupt().each(function(){Fa(this,arguments).event(tl).start().zoom(null,typeof Ga=="function"?Ga.apply(this,arguments):Ga).end()})},Ra.scaleBy=function(Za,Ga,Ka,tl){Ra.scaleTo(Za,function(){var nl=this.__zoom.k,rl=typeof Ga=="function"?Ga.apply(this,arguments):Ga;return nl*rl},Ka,tl)},Ra.scaleTo=function(Za,Ga,Ka,tl){Ra.transform(Za,function(){var nl=$o.apply(this,arguments),rl=this.__zoom,il=Ka==null?Na(nl):typeof Ka=="function"?Ka.apply(this,arguments):Ka,sl=rl.invert(il),ul=typeof Ga=="function"?Ga.apply(this,arguments):Ga;return ko(La(Da(rl,ul),il,sl),nl,ya)},Ka,tl)},Ra.translateBy=function(Za,Ga,Ka,tl){Ra.transform(Za,function(){return ko(this.__zoom.translate(typeof Ga=="function"?Ga.apply(this,arguments):Ga,typeof Ka=="function"?Ka.apply(this,arguments):Ka),$o.apply(this,arguments),ya)},null,tl)},Ra.translateTo=function(Za,Ga,Ka,tl,nl){Ra.transform(Za,function(){var rl=$o.apply(this,arguments),il=this.__zoom,sl=tl==null?Na(rl):typeof tl=="function"?tl.apply(this,arguments):tl;return ko(identity.translate(sl[0],sl[1]).scale(il.k).translate(typeof Ga=="function"?-Ga.apply(this,arguments):-Ga,typeof Ka=="function"?-Ka.apply(this,arguments):-Ka),rl,ya)},tl,nl)};function Da(Za,Ga){return Ga=Math.max($a[0],Math.min($a[1],Ga)),Ga===Za.k?Za:new Transform(Ga,Za.x,Za.y)}function La(Za,Ga,Ka){var tl=Ga[0]-Ka[0]*Za.k,nl=Ga[1]-Ka[1]*Za.k;return tl===Za.x&&nl===Za.y?Za:new Transform(Za.k,tl,nl)}function Na(Za){return[(+Za[0][0]+ +Za[1][0])/2,(+Za[0][1]+ +Za[1][1])/2]}function Ba(Za,Ga,Ka,tl){Za.on("start.zoom",function(){Fa(this,arguments).event(tl).start()}).on("interrupt.zoom end.zoom",function(){Fa(this,arguments).event(tl).end()}).tween("zoom",function(){var nl=this,rl=arguments,il=Fa(nl,rl).event(tl),sl=$o.apply(nl,rl),ul=Ka==null?Na(sl):typeof Ka=="function"?Ka.apply(nl,rl):Ka,al=Math.max(sl[1][0]-sl[0][0],sl[1][1]-sl[0][1]),dl=nl.__zoom,gl=typeof Ga=="function"?Ga.apply(nl,rl):Ga,cl=ka(dl.invert(ul).concat(al/dl.k),gl.invert(ul).concat(al/gl.k));return function(fl){if(fl===1)fl=gl;else{var pl=cl(fl),ml=al/pl[2];fl=new Transform(ml,ul[0]-pl[0]*ml,ul[1]-pl[1]*ml)}il.zoom(null,fl)}})}function Fa(Za,Ga,Ka){return!Ka&&Za.__zooming||new za(Za,Ga)}function za(Za,Ga){this.that=Za,this.args=Ga,this.active=0,this.sourceEvent=null,this.extent=$o.apply(Za,Ga),this.taps=0}za.prototype={event:function(Za){return Za&&(this.sourceEvent=Za),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(Za,Ga){return this.mouse&&Za!=="mouse"&&(this.mouse[1]=Ga.invert(this.mouse[0])),this.touch0&&Za!=="touch"&&(this.touch0[1]=Ga.invert(this.touch0[0])),this.touch1&&Za!=="touch"&&(this.touch1[1]=Ga.invert(this.touch1[0])),this.that.__zoom=Ga,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(Za){var Ga=select(this.that).datum();Sa.call(Za,this.that,new ZoomEvent(Za,{sourceEvent:this.sourceEvent,target:Ra,type:Za,transform:this.that.__zoom,dispatch:Sa}),Ga)}};function Ua(Za,...Ga){if(!So.apply(this,arguments))return;var Ka=Fa(this,Ga).event(Za),tl=this.__zoom,nl=Math.max($a[0],Math.min($a[1],tl.k*Math.pow(2,Eo.apply(this,arguments)))),rl=pointer(Za);if(Ka.wheel)(Ka.mouse[0][0]!==rl[0]||Ka.mouse[0][1]!==rl[1])&&(Ka.mouse[1]=tl.invert(Ka.mouse[0]=rl)),clearTimeout(Ka.wheel);else{if(tl.k===nl)return;Ka.mouse=[rl,tl.invert(rl)],interrupt(this),Ka.start()}noevent(Za),Ka.wheel=setTimeout(il,Aa),Ka.zoom("mouse",ko(La(Da(tl,nl),Ka.mouse[0],Ka.mouse[1]),Ka.extent,ya));function il(){Ka.wheel=null,Ka.end()}}function Ha(Za,...Ga){if(Ea||!So.apply(this,arguments))return;var Ka=Za.currentTarget,tl=Fa(this,Ga,!0).event(Za),nl=select(Za.view).on("mousemove.zoom",ul,!0).on("mouseup.zoom",al,!0),rl=pointer(Za,Ka),il=Za.clientX,sl=Za.clientY;dragDisable(Za.view),nopropagation(Za),tl.mouse=[rl,this.__zoom.invert(rl)],interrupt(this),tl.start();function ul(dl){if(noevent(dl),!tl.moved){var gl=dl.clientX-il,cl=dl.clientY-sl;tl.moved=gl*gl+cl*cl>Ia}tl.event(dl).zoom("mouse",ko(La(tl.that.__zoom,tl.mouse[0]=pointer(dl,Ka),tl.mouse[1]),tl.extent,ya))}function al(dl){nl.on("mousemove.zoom mouseup.zoom",null),yesdrag(dl.view,tl.moved),noevent(dl),tl.event(dl).end()}}function Wa(Za,...Ga){if(So.apply(this,arguments)){var Ka=this.__zoom,tl=pointer(Za.changedTouches?Za.changedTouches[0]:Za,this),nl=Ka.invert(tl),rl=Ka.k*(Za.shiftKey?.5:2),il=ko(La(Da(Ka,rl),tl,nl),$o.apply(this,Ga),ya);noevent(Za),wa>0?select(this).transition().duration(wa).call(Ba,il,tl,Za):select(this).call(Ra.transform,il,tl,Za)}}function ja(Za,...Ga){if(So.apply(this,arguments)){var Ka=Za.touches,tl=Ka.length,nl=Fa(this,Ga,Za.changedTouches.length===tl).event(Za),rl,il,sl,ul;for(nopropagation(Za),il=0;il<tl;++il)sl=Ka[il],ul=pointer(sl,this),ul=[ul,this.__zoom.invert(ul),sl.identifier],nl.touch0?!nl.touch1&&nl.touch0[2]!==ul[2]&&(nl.touch1=ul,nl.taps=0):(nl.touch0=ul,rl=!0,nl.taps=1+!!Oa);Oa&&(Oa=clearTimeout(Oa)),rl&&(nl.taps<2&&(Ca=ul[0],Oa=setTimeout(function(){Oa=null},Ta)),interrupt(this),nl.start())}}function Ya(Za,...Ga){if(this.__zooming){var Ka=Fa(this,Ga).event(Za),tl=Za.changedTouches,nl=tl.length,rl,il,sl,ul;for(noevent(Za),rl=0;rl<nl;++rl)il=tl[rl],sl=pointer(il,this),Ka.touch0&&Ka.touch0[2]===il.identifier?Ka.touch0[0]=sl:Ka.touch1&&Ka.touch1[2]===il.identifier&&(Ka.touch1[0]=sl);if(il=Ka.that.__zoom,Ka.touch1){var al=Ka.touch0[0],dl=Ka.touch0[1],gl=Ka.touch1[0],cl=Ka.touch1[1],fl=(fl=gl[0]-al[0])*fl+(fl=gl[1]-al[1])*fl,pl=(pl=cl[0]-dl[0])*pl+(pl=cl[1]-dl[1])*pl;il=Da(il,Math.sqrt(fl/pl)),sl=[(al[0]+gl[0])/2,(al[1]+gl[1])/2],ul=[(dl[0]+cl[0])/2,(dl[1]+cl[1])/2]}else if(Ka.touch0)sl=Ka.touch0[0],ul=Ka.touch0[1];else return;Ka.zoom("touch",ko(La(il,sl,ul),Ka.extent,ya))}}function Xa(Za,...Ga){if(this.__zooming){var Ka=Fa(this,Ga).event(Za),tl=Za.changedTouches,nl=tl.length,rl,il;for(nopropagation(Za),Ea&&clearTimeout(Ea),Ea=setTimeout(function(){Ea=null},Ta),rl=0;rl<nl;++rl)il=tl[rl],Ka.touch0&&Ka.touch0[2]===il.identifier?delete Ka.touch0:Ka.touch1&&Ka.touch1[2]===il.identifier&&delete Ka.touch1;if(Ka.touch1&&!Ka.touch0&&(Ka.touch0=Ka.touch1,delete Ka.touch1),Ka.touch0)Ka.touch0[1]=this.__zoom.invert(Ka.touch0[0]);else if(Ka.end(),Ka.taps===2&&(il=pointer(il,this),Math.hypot(Ca[0]-il[0],Ca[1]-il[1])<Pa)){var sl=select(this).on("dblclick.zoom");sl&&sl.apply(this,arguments)}}}return Ra.wheelDelta=function(Za){return arguments.length?(Eo=typeof Za=="function"?Za:constant(+Za),Ra):Eo},Ra.filter=function(Za){return arguments.length?(So=typeof Za=="function"?Za:constant(!!Za),Ra):So},Ra.touchable=function(Za){return arguments.length?(Io=typeof Za=="function"?Za:constant(!!Za),Ra):Io},Ra.extent=function(Za){return arguments.length?($o=typeof Za=="function"?Za:constant([[+Za[0][0],+Za[0][1]],[+Za[1][0],+Za[1][1]]]),Ra):$o},Ra.scaleExtent=function(Za){return arguments.length?($a[0]=+Za[0],$a[1]=+Za[1],Ra):[$a[0],$a[1]]},Ra.translateExtent=function(Za){return arguments.length?(ya[0][0]=+Za[0][0],ya[1][0]=+Za[1][0],ya[0][1]=+Za[0][1],ya[1][1]=+Za[1][1],Ra):[[ya[0][0],ya[0][1]],[ya[1][0],ya[1][1]]]},Ra.constrain=function(Za){return arguments.length?(ko=Za,Ra):ko},Ra.duration=function(Za){return arguments.length?(wa=+Za,Ra):wa},Ra.interpolate=function(Za){return arguments.length?(ka=Za,Ra):ka},Ra.on=function(){var Za=Sa.on.apply(Sa,arguments);return Za===Sa?Ra:Za},Ra.clickDistance=function(Za){return arguments.length?(Ia=(Za=+Za)*Za,Ra):Math.sqrt(Ia)},Ra.tapDistance=function(Za){return arguments.length?(Pa=+Za,Ra):Pa},Ra}const errorMessages={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:So=>`Node type "${So}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:So=>`The old edge with id=${So} does not exist.`,error009:So=>`Marker type "${So}" doesn't exist.`,error008:(So,{id:$o,sourceHandle:ko,targetHandle:Eo})=>`Couldn't create edge for ${So} handle id: "${So==="source"?ko:Eo}", edge id: ${$o}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:So=>`Edge type "${So}" not found. Using fallback type "default".`,error012:So=>`Node with id "${So}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(So="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${So}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},infiniteExtent=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]];var ConnectionMode;(function(So){So.Strict="strict",So.Loose="loose"})(ConnectionMode||(ConnectionMode={}));var PanOnScrollMode;(function(So){So.Free="free",So.Vertical="vertical",So.Horizontal="horizontal"})(PanOnScrollMode||(PanOnScrollMode={}));var SelectionMode;(function(So){So.Partial="partial",So.Full="full"})(SelectionMode||(SelectionMode={}));const initialConnection={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null};var ConnectionLineType;(function(So){So.Bezier="default",So.Straight="straight",So.Step="step",So.SmoothStep="smoothstep",So.SimpleBezier="simplebezier"})(ConnectionLineType||(ConnectionLineType={}));var MarkerType;(function(So){So.Arrow="arrow",So.ArrowClosed="arrowclosed"})(MarkerType||(MarkerType={}));var Position;(function(So){So.Left="left",So.Top="top",So.Right="right",So.Bottom="bottom"})(Position||(Position={}));const oppositePosition={[Position.Left]:Position.Right,[Position.Right]:Position.Left,[Position.Top]:Position.Bottom,[Position.Bottom]:Position.Top};function areConnectionMapsEqual(So,$o){if(!So&&!$o)return!0;if(!So||!$o||So.size!==$o.size)return!1;if(!So.size&&!$o.size)return!0;for(const ko of So.keys())if(!$o.has(ko))return!1;return!0}function handleConnectionChange(So,$o,ko){if(!ko)return;const Eo=[];So.forEach((Io,$a)=>{$o!=null&&$o.has($a)||Eo.push(Io)}),Eo.length&&ko(Eo)}function getConnectionStatus(So){return So===null?null:So?"valid":"invalid"}const isEdgeBase=So=>"id"in So&&"source"in So&&"target"in So,isNodeBase=So=>"id"in So&&"position"in So&&!("source"in So)&&!("target"in So),isInternalNodeBase=So=>"id"in So&&"internals"in So&&!("source"in So)&&!("target"in So),getNodePositionWithOrigin=(So,$o=[0,0])=>{const{width:ko,height:Eo}=getNodeDimensions(So),Io=So.origin??$o,$a=ko*Io[0],ya=Eo*Io[1];return{x:So.position.x-$a,y:So.position.y-ya}},getNodesBounds=(So,$o={nodeOrigin:[0,0]})=>{if(So.length===0)return{x:0,y:0,width:0,height:0};const ko=So.reduce((Eo,Io)=>{const $a=typeof Io=="string";let ya=!$o.nodeLookup&&!$a?Io:void 0;$o.nodeLookup&&(ya=$a?$o.nodeLookup.get(Io):isInternalNodeBase(Io)?Io:$o.nodeLookup.get(Io.id));const wa=ya?nodeToBox(ya,$o.nodeOrigin):{x:0,y:0,x2:0,y2:0};return getBoundsOfBoxes(Eo,wa)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return boxToRect(ko)},getInternalNodesBounds=(So,$o={})=>{if(So.size===0)return{x:0,y:0,width:0,height:0};let ko={x:1/0,y:1/0,x2:-1/0,y2:-1/0};return So.forEach(Eo=>{if($o.filter===void 0||$o.filter(Eo)){const Io=nodeToBox(Eo);ko=getBoundsOfBoxes(ko,Io)}}),boxToRect(ko)},getNodesInside=(So,$o,[ko,Eo,Io]=[0,0,1],$a=!1,ya=!1)=>{const wa={...pointToRendererPoint($o,[ko,Eo,Io]),width:$o.width/Io,height:$o.height/Io},ka=[];for(const Sa of So.values()){const{measured:Oa,selectable:Ca=!0,hidden:Ea=!1}=Sa;if(ya&&!Ca||Ea)continue;const Ta=Oa.width??Sa.width??Sa.initialWidth??null,Aa=Oa.height??Sa.height??Sa.initialHeight??null,Ia=getOverlappingArea(wa,nodeToRect(Sa)),Pa=(Ta??0)*(Aa??0),Ra=$a&&Ia>0;(!Sa.internals.handleBounds||Ra||Ia>=Pa||Sa.dragging)&&ka.push(Sa)}return ka},getConnectedEdges=(So,$o)=>{const ko=new Set;return So.forEach(Eo=>{ko.add(Eo.id)}),$o.filter(Eo=>ko.has(Eo.source)||ko.has(Eo.target))};function getFitViewNodes(So,$o){const ko=new Map,Eo=$o!=null&&$o.nodes?new Set($o.nodes.map(Io=>Io.id)):null;return So.forEach(Io=>{Io.measured.width&&Io.measured.height&&(($o==null?void 0:$o.includeHiddenNodes)||!Io.hidden)&&(!Eo||Eo.has(Io.id))&&ko.set(Io.id,Io)}),ko}async function fitViewport({nodes:So,width:$o,height:ko,panZoom:Eo,minZoom:Io,maxZoom:$a},ya){if(So.size===0)return Promise.resolve(!0);const wa=getFitViewNodes(So,ya),ka=getInternalNodesBounds(wa),Sa=getViewportForBounds(ka,$o,ko,(ya==null?void 0:ya.minZoom)??Io,(ya==null?void 0:ya.maxZoom)??$a,(ya==null?void 0:ya.padding)??.1);return await Eo.setViewport(Sa,{duration:ya==null?void 0:ya.duration}),Promise.resolve(!0)}function calculateNodePosition({nodeId:So,nextPosition:$o,nodeLookup:ko,nodeOrigin:Eo=[0,0],nodeExtent:Io,onError:$a}){const ya=ko.get(So),wa=ya.parentId?ko.get(ya.parentId):void 0,{x:ka,y:Sa}=wa?wa.internals.positionAbsolute:{x:0,y:0},Oa=ya.origin??Eo;let Ca=Io;if(ya.extent==="parent"&&!ya.expandParent)if(!wa)$a==null||$a("005",errorMessages.error005());else{const Ta=wa.measured.width,Aa=wa.measured.height;Ta&&Aa&&(Ca=[[ka,Sa],[ka+Ta,Sa+Aa]])}else wa&&isCoordinateExtent(ya.extent)&&(Ca=[[ya.extent[0][0]+ka,ya.extent[0][1]+Sa],[ya.extent[1][0]+ka,ya.extent[1][1]+Sa]]);const Ea=isCoordinateExtent(Ca)?clampPosition($o,Ca,ya.measured):$o;return(ya.measured.width===void 0||ya.measured.height===void 0)&&($a==null||$a("015",errorMessages.error015())),{position:{x:Ea.x-ka+(ya.measured.width??0)*Oa[0],y:Ea.y-Sa+(ya.measured.height??0)*Oa[1]},positionAbsolute:Ea}}async function getElementsToRemove({nodesToRemove:So=[],edgesToRemove:$o=[],nodes:ko,edges:Eo,onBeforeDelete:Io}){const $a=new Set(So.map(Ea=>Ea.id)),ya=[];for(const Ea of ko){if(Ea.deletable===!1)continue;const Ta=$a.has(Ea.id),Aa=!Ta&&Ea.parentId&&ya.find(Ia=>Ia.id===Ea.parentId);(Ta||Aa)&&ya.push(Ea)}const wa=new Set($o.map(Ea=>Ea.id)),ka=Eo.filter(Ea=>Ea.deletable!==!1),Oa=getConnectedEdges(ya,ka);for(const Ea of ka)wa.has(Ea.id)&&!Oa.find(Aa=>Aa.id===Ea.id)&&Oa.push(Ea);if(!Io)return{edges:Oa,nodes:ya};const Ca=await Io({nodes:ya,edges:Oa});return typeof Ca=="boolean"?Ca?{edges:Oa,nodes:ya}:{edges:[],nodes:[]}:Ca}const clamp=(So,$o=0,ko=1)=>Math.min(Math.max(So,$o),ko),clampPosition=(So={x:0,y:0},$o,ko)=>({x:clamp(So.x,$o[0][0],$o[1][0]-((ko==null?void 0:ko.width)??0)),y:clamp(So.y,$o[0][1],$o[1][1]-((ko==null?void 0:ko.height)??0))});function clampPositionToParent(So,$o,ko){const{width:Eo,height:Io}=getNodeDimensions(ko),{x:$a,y:ya}=ko.internals.positionAbsolute;return clampPosition(So,[[$a,ya],[$a+Eo,ya+Io]],$o)}const calcAutoPanVelocity=(So,$o,ko)=>So<$o?clamp(Math.abs(So-$o),1,$o)/$o:So>ko?-clamp(Math.abs(So-ko),1,$o)/$o:0,calcAutoPan=(So,$o,ko=15,Eo=40)=>{const Io=calcAutoPanVelocity(So.x,Eo,$o.width-Eo)*ko,$a=calcAutoPanVelocity(So.y,Eo,$o.height-Eo)*ko;return[Io,$a]},getBoundsOfBoxes=(So,$o)=>({x:Math.min(So.x,$o.x),y:Math.min(So.y,$o.y),x2:Math.max(So.x2,$o.x2),y2:Math.max(So.y2,$o.y2)}),rectToBox=({x:So,y:$o,width:ko,height:Eo})=>({x:So,y:$o,x2:So+ko,y2:$o+Eo}),boxToRect=({x:So,y:$o,x2:ko,y2:Eo})=>({x:So,y:$o,width:ko-So,height:Eo-$o}),nodeToRect=(So,$o=[0,0])=>{var Io,$a;const{x:ko,y:Eo}=isInternalNodeBase(So)?So.internals.positionAbsolute:getNodePositionWithOrigin(So,$o);return{x:ko,y:Eo,width:((Io=So.measured)==null?void 0:Io.width)??So.width??So.initialWidth??0,height:(($a=So.measured)==null?void 0:$a.height)??So.height??So.initialHeight??0}},nodeToBox=(So,$o=[0,0])=>{var Io,$a;const{x:ko,y:Eo}=isInternalNodeBase(So)?So.internals.positionAbsolute:getNodePositionWithOrigin(So,$o);return{x:ko,y:Eo,x2:ko+(((Io=So.measured)==null?void 0:Io.width)??So.width??So.initialWidth??0),y2:Eo+((($a=So.measured)==null?void 0:$a.height)??So.height??So.initialHeight??0)}},getBoundsOfRects=(So,$o)=>boxToRect(getBoundsOfBoxes(rectToBox(So),rectToBox($o))),getOverlappingArea=(So,$o)=>{const ko=Math.max(0,Math.min(So.x+So.width,$o.x+$o.width)-Math.max(So.x,$o.x)),Eo=Math.max(0,Math.min(So.y+So.height,$o.y+$o.height)-Math.max(So.y,$o.y));return Math.ceil(ko*Eo)},isRectObject=So=>isNumeric(So.width)&&isNumeric(So.height)&&isNumeric(So.x)&&isNumeric(So.y),isNumeric=So=>!isNaN(So)&&isFinite(So),devWarn=(So,$o)=>{},snapPosition=(So,$o=[1,1])=>({x:$o[0]*Math.round(So.x/$o[0]),y:$o[1]*Math.round(So.y/$o[1])}),pointToRendererPoint=({x:So,y:$o},[ko,Eo,Io],$a=!1,ya=[1,1])=>{const wa={x:(So-ko)/Io,y:($o-Eo)/Io};return $a?snapPosition(wa,ya):wa},rendererPointToPoint=({x:So,y:$o},[ko,Eo,Io])=>({x:So*Io+ko,y:$o*Io+Eo});function parsePadding(So,$o){if(typeof So=="number")return Math.floor(($o-$o/(1+So))*.5);if(typeof So=="string"&&So.endsWith("px")){const ko=parseFloat(So);if(!Number.isNaN(ko))return Math.floor(ko)}if(typeof So=="string"&&So.endsWith("%")){const ko=parseFloat(So);if(!Number.isNaN(ko))return Math.floor($o*ko*.01)}return console.error(`[React Flow] The padding value "${So}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function parsePaddings(So,$o,ko){if(typeof So=="string"||typeof So=="number"){const Eo=parsePadding(So,ko),Io=parsePadding(So,$o);return{top:Eo,right:Io,bottom:Eo,left:Io,x:Io*2,y:Eo*2}}if(typeof So=="object"){const Eo=parsePadding(So.top??So.y??0,ko),Io=parsePadding(So.bottom??So.y??0,ko),$a=parsePadding(So.left??So.x??0,$o),ya=parsePadding(So.right??So.x??0,$o);return{top:Eo,right:ya,bottom:Io,left:$a,x:$a+ya,y:Eo+Io}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function calculateAppliedPaddings(So,$o,ko,Eo,Io,$a){const{x:ya,y:wa}=rendererPointToPoint(So,[$o,ko,Eo]),{x:ka,y:Sa}=rendererPointToPoint({x:So.x+So.width,y:So.y+So.height},[$o,ko,Eo]),Oa=Io-ka,Ca=$a-Sa;return{left:Math.floor(ya),top:Math.floor(wa),right:Math.floor(Oa),bottom:Math.floor(Ca)}}const getViewportForBounds=(So,$o,ko,Eo,Io,$a)=>{const ya=parsePaddings($a,$o,ko),wa=($o-ya.x)/So.width,ka=(ko-ya.y)/So.height,Sa=Math.min(wa,ka),Oa=clamp(Sa,Eo,Io),Ca=So.x+So.width/2,Ea=So.y+So.height/2,Ta=$o/2-Ca*Oa,Aa=ko/2-Ea*Oa,Ia=calculateAppliedPaddings(So,Ta,Aa,Oa,$o,ko),Pa={left:Math.min(Ia.left-ya.left,0),top:Math.min(Ia.top-ya.top,0),right:Math.min(Ia.right-ya.right,0),bottom:Math.min(Ia.bottom-ya.bottom,0)};return{x:Ta-Pa.left+Pa.right,y:Aa-Pa.top+Pa.bottom,zoom:Oa}},isMacOs=()=>{var So;return typeof navigator<"u"&&((So=navigator==null?void 0:navigator.userAgent)==null?void 0:So.indexOf("Mac"))>=0};function isCoordinateExtent(So){return So!==void 0&&So!=="parent"}function getNodeDimensions(So){var $o,ko;return{width:(($o=So.measured)==null?void 0:$o.width)??So.width??So.initialWidth??0,height:((ko=So.measured)==null?void 0:ko.height)??So.height??So.initialHeight??0}}function nodeHasDimensions(So){var $o,ko;return((($o=So.measured)==null?void 0:$o.width)??So.width??So.initialWidth)!==void 0&&(((ko=So.measured)==null?void 0:ko.height)??So.height??So.initialHeight)!==void 0}function evaluateAbsolutePosition(So,$o={width:0,height:0},ko,Eo,Io){const $a={...So},ya=Eo.get(ko);if(ya){const wa=ya.origin||Io;$a.x+=ya.internals.positionAbsolute.x-($o.width??0)*wa[0],$a.y+=ya.internals.positionAbsolute.y-($o.height??0)*wa[1]}return $a}function withResolvers(){let So,$o;return{promise:new Promise((Eo,Io)=>{So=Eo,$o=Io}),resolve:So,reject:$o}}function getPointerPosition(So,{snapGrid:$o=[0,0],snapToGrid:ko=!1,transform:Eo,containerBounds:Io}){const{x:$a,y:ya}=getEventPosition(So),wa=pointToRendererPoint({x:$a-((Io==null?void 0:Io.left)??0),y:ya-((Io==null?void 0:Io.top)??0)},Eo),{x:ka,y:Sa}=ko?snapPosition(wa,$o):wa;return{xSnapped:ka,ySnapped:Sa,...wa}}const getDimensions=So=>({width:So.offsetWidth,height:So.offsetHeight}),getHostForElement=So=>{var $o;return(($o=So==null?void 0:So.getRootNode)==null?void 0:$o.call(So))||(window==null?void 0:window.document)},inputTags=["INPUT","SELECT","TEXTAREA"];function isInputDOMNode(So){var Eo,Io;const $o=((Io=(Eo=So.composedPath)==null?void 0:Eo.call(So))==null?void 0:Io[0])||So.target;return($o==null?void 0:$o.nodeType)!==1?!1:inputTags.includes($o.nodeName)||$o.hasAttribute("contenteditable")||!!$o.closest(".nokey")}const isMouseEvent=So=>"clientX"in So,getEventPosition=(So,$o)=>{var $a,ya;const ko=isMouseEvent(So),Eo=ko?So.clientX:($a=So.touches)==null?void 0:$a[0].clientX,Io=ko?So.clientY:(ya=So.touches)==null?void 0:ya[0].clientY;return{x:Eo-(($o==null?void 0:$o.left)??0),y:Io-(($o==null?void 0:$o.top)??0)}},getHandleBounds=(So,$o,ko,Eo,Io)=>{const $a=$o.querySelectorAll(`.${So}`);return!$a||!$a.length?null:Array.from($a).map(ya=>{const wa=ya.getBoundingClientRect();return{id:ya.getAttribute("data-handleid"),type:So,nodeId:Io,position:ya.getAttribute("data-handlepos"),x:(wa.left-ko.left)/Eo,y:(wa.top-ko.top)/Eo,...getDimensions(ya)}})};function getBezierEdgeCenter({sourceX:So,sourceY:$o,targetX:ko,targetY:Eo,sourceControlX:Io,sourceControlY:$a,targetControlX:ya,targetControlY:wa}){const ka=So*.125+Io*.375+ya*.375+ko*.125,Sa=$o*.125+$a*.375+wa*.375+Eo*.125,Oa=Math.abs(ka-So),Ca=Math.abs(Sa-$o);return[ka,Sa,Oa,Ca]}function calculateControlOffset(So,$o){return So>=0?.5*So:$o*25*Math.sqrt(-So)}function getControlWithCurvature({pos:So,x1:$o,y1:ko,x2:Eo,y2:Io,c:$a}){switch(So){case Position.Left:return[$o-calculateControlOffset($o-Eo,$a),ko];case Position.Right:return[$o+calculateControlOffset(Eo-$o,$a),ko];case Position.Top:return[$o,ko-calculateControlOffset(ko-Io,$a)];case Position.Bottom:return[$o,ko+calculateControlOffset(Io-ko,$a)]}}function getBezierPath({sourceX:So,sourceY:$o,sourcePosition:ko=Position.Bottom,targetX:Eo,targetY:Io,targetPosition:$a=Position.Top,curvature:ya=.25}){const[wa,ka]=getControlWithCurvature({pos:ko,x1:So,y1:$o,x2:Eo,y2:Io,c:ya}),[Sa,Oa]=getControlWithCurvature({pos:$a,x1:Eo,y1:Io,x2:So,y2:$o,c:ya}),[Ca,Ea,Ta,Aa]=getBezierEdgeCenter({sourceX:So,sourceY:$o,targetX:Eo,targetY:Io,sourceControlX:wa,sourceControlY:ka,targetControlX:Sa,targetControlY:Oa});return[`M${So},${$o} C${wa},${ka} ${Sa},${Oa} ${Eo},${Io}`,Ca,Ea,Ta,Aa]}function getEdgeCenter({sourceX:So,sourceY:$o,targetX:ko,targetY:Eo}){const Io=Math.abs(ko-So)/2,$a=ko<So?ko+Io:ko-Io,ya=Math.abs(Eo-$o)/2,wa=Eo<$o?Eo+ya:Eo-ya;return[$a,wa,Io,ya]}function getElevatedEdgeZIndex({sourceNode:So,targetNode:$o,selected:ko=!1,zIndex:Eo=0,elevateOnSelect:Io=!1}){if(!Io)return Eo;const $a=ko||$o.selected||So.selected,ya=Math.max(So.internals.z||0,$o.internals.z||0,1e3);return Eo+($a?ya:0)}function isEdgeVisible({sourceNode:So,targetNode:$o,width:ko,height:Eo,transform:Io}){const $a=getBoundsOfBoxes(nodeToBox(So),nodeToBox($o));$a.x===$a.x2&&($a.x2+=1),$a.y===$a.y2&&($a.y2+=1);const ya={x:-Io[0]/Io[2],y:-Io[1]/Io[2],width:ko/Io[2],height:Eo/Io[2]};return getOverlappingArea(ya,boxToRect($a))>0}const getEdgeId=({source:So,sourceHandle:$o,target:ko,targetHandle:Eo})=>`xy-edge__${So}${$o||""}-${ko}${Eo||""}`,connectionExists=(So,$o)=>$o.some(ko=>ko.source===So.source&&ko.target===So.target&&(ko.sourceHandle===So.sourceHandle||!ko.sourceHandle&&!So.sourceHandle)&&(ko.targetHandle===So.targetHandle||!ko.targetHandle&&!So.targetHandle)),addEdge=(So,$o)=>{if(!So.source||!So.target)return $o;let ko;return isEdgeBase(So)?ko={...So}:ko={...So,id:getEdgeId(So)},connectionExists(ko,$o)?$o:(ko.sourceHandle===null&&delete ko.sourceHandle,ko.targetHandle===null&&delete ko.targetHandle,$o.concat(ko))};function getStraightPath({sourceX:So,sourceY:$o,targetX:ko,targetY:Eo}){const[Io,$a,ya,wa]=getEdgeCenter({sourceX:So,sourceY:$o,targetX:ko,targetY:Eo});return[`M ${So},${$o}L ${ko},${Eo}`,Io,$a,ya,wa]}const handleDirections={[Position.Left]:{x:-1,y:0},[Position.Right]:{x:1,y:0},[Position.Top]:{x:0,y:-1},[Position.Bottom]:{x:0,y:1}},getDirection=({source:So,sourcePosition:$o=Position.Bottom,target:ko})=>$o===Position.Left||$o===Position.Right?So.x<ko.x?{x:1,y:0}:{x:-1,y:0}:So.y<ko.y?{x:0,y:1}:{x:0,y:-1},distance=(So,$o)=>Math.sqrt(Math.pow($o.x-So.x,2)+Math.pow($o.y-So.y,2));function getPoints({source:So,sourcePosition:$o=Position.Bottom,target:ko,targetPosition:Eo=Position.Top,center:Io,offset:$a}){const ya=handleDirections[$o],wa=handleDirections[Eo],ka={x:So.x+ya.x*$a,y:So.y+ya.y*$a},Sa={x:ko.x+wa.x*$a,y:ko.y+wa.y*$a},Oa=getDirection({source:ka,sourcePosition:$o,target:Sa}),Ca=Oa.x!==0?"x":"y",Ea=Oa[Ca];let Ta=[],Aa,Ia;const Pa={x:0,y:0},Ra={x:0,y:0},[Da,La,Na,Ba]=getEdgeCenter({sourceX:So.x,sourceY:So.y,targetX:ko.x,targetY:ko.y});if(ya[Ca]*wa[Ca]===-1){Aa=Io.x??Da,Ia=Io.y??La;const za=[{x:Aa,y:ka.y},{x:Aa,y:Sa.y}],Ua=[{x:ka.x,y:Ia},{x:Sa.x,y:Ia}];ya[Ca]===Ea?Ta=Ca==="x"?za:Ua:Ta=Ca==="x"?Ua:za}else{const za=[{x:ka.x,y:Sa.y}],Ua=[{x:Sa.x,y:ka.y}];if(Ca==="x"?Ta=ya.x===Ea?Ua:za:Ta=ya.y===Ea?za:Ua,$o===Eo){const Xa=Math.abs(So[Ca]-ko[Ca]);if(Xa<=$a){const Za=Math.min($a-1,$a-Xa);ya[Ca]===Ea?Pa[Ca]=(ka[Ca]>So[Ca]?-1:1)*Za:Ra[Ca]=(Sa[Ca]>ko[Ca]?-1:1)*Za}}if($o!==Eo){const Xa=Ca==="x"?"y":"x",Za=ya[Ca]===wa[Xa],Ga=ka[Xa]>Sa[Xa],Ka=ka[Xa]<Sa[Xa];(ya[Ca]===1&&(!Za&&Ga||Za&&Ka)||ya[Ca]!==1&&(!Za&&Ka||Za&&Ga))&&(Ta=Ca==="x"?za:Ua)}const Ha={x:ka.x+Pa.x,y:ka.y+Pa.y},Wa={x:Sa.x+Ra.x,y:Sa.y+Ra.y},ja=Math.max(Math.abs(Ha.x-Ta[0].x),Math.abs(Wa.x-Ta[0].x)),Ya=Math.max(Math.abs(Ha.y-Ta[0].y),Math.abs(Wa.y-Ta[0].y));ja>=Ya?(Aa=(Ha.x+Wa.x)/2,Ia=Ta[0].y):(Aa=Ta[0].x,Ia=(Ha.y+Wa.y)/2)}return[[So,{x:ka.x+Pa.x,y:ka.y+Pa.y},...Ta,{x:Sa.x+Ra.x,y:Sa.y+Ra.y},ko],Aa,Ia,Na,Ba]}function getBend(So,$o,ko,Eo){const Io=Math.min(distance(So,$o)/2,distance($o,ko)/2,Eo),{x:$a,y:ya}=$o;if(So.x===$a&&$a===ko.x||So.y===ya&&ya===ko.y)return`L${$a} ${ya}`;if(So.y===ya){const Sa=So.x<ko.x?-1:1,Oa=So.y<ko.y?1:-1;return`L ${$a+Io*Sa},${ya}Q ${$a},${ya} ${$a},${ya+Io*Oa}`}const wa=So.x<ko.x?1:-1,ka=So.y<ko.y?-1:1;return`L ${$a},${ya+Io*ka}Q ${$a},${ya} ${$a+Io*wa},${ya}`}function getSmoothStepPath({sourceX:So,sourceY:$o,sourcePosition:ko=Position.Bottom,targetX:Eo,targetY:Io,targetPosition:$a=Position.Top,borderRadius:ya=5,centerX:wa,centerY:ka,offset:Sa=20}){const[Oa,Ca,Ea,Ta,Aa]=getPoints({source:{x:So,y:$o},sourcePosition:ko,target:{x:Eo,y:Io},targetPosition:$a,center:{x:wa,y:ka},offset:Sa});return[Oa.reduce((Pa,Ra,Da)=>{let La="";return Da>0&&Da<Oa.length-1?La=getBend(Oa[Da-1],Ra,Oa[Da+1],ya):La=`${Da===0?"M":"L"}${Ra.x} ${Ra.y}`,Pa+=La,Pa},""),Ca,Ea,Ta,Aa]}function isNodeInitialized(So){var $o;return So&&!!(So.internals.handleBounds||($o=So.handles)!=null&&$o.length)&&!!(So.measured.width||So.width||So.initialWidth)}function getEdgePosition(So){var Ca;const{sourceNode:$o,targetNode:ko}=So;if(!isNodeInitialized($o)||!isNodeInitialized(ko))return null;const Eo=$o.internals.handleBounds||toHandleBounds($o.handles),Io=ko.internals.handleBounds||toHandleBounds(ko.handles),$a=getHandle$1((Eo==null?void 0:Eo.source)??[],So.sourceHandle),ya=getHandle$1(So.connectionMode===ConnectionMode.Strict?(Io==null?void 0:Io.target)??[]:((Io==null?void 0:Io.target)??[]).concat((Io==null?void 0:Io.source)??[]),So.targetHandle);if(!$a||!ya)return(Ca=So.onError)==null||Ca.call(So,"008",errorMessages.error008($a?"target":"source",{id:So.id,sourceHandle:So.sourceHandle,targetHandle:So.targetHandle})),null;const wa=($a==null?void 0:$a.position)||Position.Bottom,ka=(ya==null?void 0:ya.position)||Position.Top,Sa=getHandlePosition($o,$a,wa),Oa=getHandlePosition(ko,ya,ka);return{sourceX:Sa.x,sourceY:Sa.y,targetX:Oa.x,targetY:Oa.y,sourcePosition:wa,targetPosition:ka}}function toHandleBounds(So){if(!So)return null;const $o=[],ko=[];for(const Eo of So)Eo.width=Eo.width??1,Eo.height=Eo.height??1,Eo.type==="source"?$o.push(Eo):Eo.type==="target"&&ko.push(Eo);return{source:$o,target:ko}}function getHandlePosition(So,$o,ko=Position.Left,Eo=!1){const Io=(($o==null?void 0:$o.x)??0)+So.internals.positionAbsolute.x,$a=(($o==null?void 0:$o.y)??0)+So.internals.positionAbsolute.y,{width:ya,height:wa}=$o??getNodeDimensions(So);if(Eo)return{x:Io+ya/2,y:$a+wa/2};switch(($o==null?void 0:$o.position)??ko){case Position.Top:return{x:Io+ya/2,y:$a};case Position.Right:return{x:Io+ya,y:$a+wa/2};case Position.Bottom:return{x:Io+ya/2,y:$a+wa};case Position.Left:return{x:Io,y:$a+wa/2}}}function getHandle$1(So,$o){return So&&($o?So.find(ko=>ko.id===$o):So[0])||null}function getMarkerId(So,$o){return So?typeof So=="string"?So:`${$o?`${$o}__`:""}${Object.keys(So).sort().map(Eo=>`${Eo}=${So[Eo]}`).join("&")}`:""}function createMarkerIds(So,{id:$o,defaultColor:ko,defaultMarkerStart:Eo,defaultMarkerEnd:Io}){const $a=new Set;return So.reduce((ya,wa)=>([wa.markerStart||Eo,wa.markerEnd||Io].forEach(ka=>{if(ka&&typeof ka=="object"){const Sa=getMarkerId(ka,$o);$a.has(Sa)||(ya.push({id:Sa,color:ka.color||ko,...ka}),$a.add(Sa))}}),ya),[]).sort((ya,wa)=>ya.id.localeCompare(wa.id))}const defaultOptions={nodeOrigin:[0,0],nodeExtent:infiniteExtent,elevateNodesOnSelect:!0,defaults:{}},adoptUserNodesDefaultOptions={...defaultOptions,checkEquality:!0};function mergeObjects(So,$o){const ko={...So};for(const Eo in $o)$o[Eo]!==void 0&&(ko[Eo]=$o[Eo]);return ko}function updateAbsolutePositions(So,$o,ko){const Eo=mergeObjects(defaultOptions,ko);for(const Io of So.values())if(Io.parentId)updateChildNode(Io,So,$o,Eo);else{const $a=getNodePositionWithOrigin(Io,Eo.nodeOrigin),ya=isCoordinateExtent(Io.extent)?Io.extent:Eo.nodeExtent,wa=clampPosition($a,ya,getNodeDimensions(Io));Io.internals.positionAbsolute=wa}}function adoptUserNodes(So,$o,ko,Eo){var ka,Sa;const Io=mergeObjects(adoptUserNodesDefaultOptions,Eo);let $a=So.length>0;const ya=new Map($o),wa=Io!=null&&Io.elevateNodesOnSelect?1e3:0;$o.clear(),ko.clear();for(const Oa of So){let Ca=ya.get(Oa.id);if(Io.checkEquality&&Oa===(Ca==null?void 0:Ca.internals.userNode))$o.set(Oa.id,Ca);else{const Ea=getNodePositionWithOrigin(Oa,Io.nodeOrigin),Ta=isCoordinateExtent(Oa.extent)?Oa.extent:Io.nodeExtent,Aa=clampPosition(Ea,Ta,getNodeDimensions(Oa));Ca={...Io.defaults,...Oa,measured:{width:(ka=Oa.measured)==null?void 0:ka.width,height:(Sa=Oa.measured)==null?void 0:Sa.height},internals:{positionAbsolute:Aa,handleBounds:Oa.measured?Ca==null?void 0:Ca.internals.handleBounds:void 0,z:calculateZ(Oa,wa),userNode:Oa}},$o.set(Oa.id,Ca)}(Ca.measured===void 0||Ca.measured.width===void 0||Ca.measured.height===void 0)&&!Ca.hidden&&($a=!1),Oa.parentId&&updateChildNode(Ca,$o,ko,Eo)}return $a}function updateParentLookup(So,$o){if(!So.parentId)return;const ko=$o.get(So.parentId);ko?ko.set(So.id,So):$o.set(So.parentId,new Map([[So.id,So]]))}function updateChildNode(So,$o,ko,Eo){const{elevateNodesOnSelect:Io,nodeOrigin:$a,nodeExtent:ya}=mergeObjects(defaultOptions,Eo),wa=So.parentId,ka=$o.get(wa);if(!ka){console.warn(`Parent node ${wa} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}updateParentLookup(So,ko);const Sa=Io?1e3:0,{x:Oa,y:Ca,z:Ea}=calculateChildXYZ(So,ka,$a,ya,Sa),{positionAbsolute:Ta}=So.internals,Aa=Oa!==Ta.x||Ca!==Ta.y;(Aa||Ea!==So.internals.z)&&$o.set(So.id,{...So,internals:{...So.internals,positionAbsolute:Aa?{x:Oa,y:Ca}:Ta,z:Ea}})}function calculateZ(So,$o){return(isNumeric(So.zIndex)?So.zIndex:0)+(So.selected?$o:0)}function calculateChildXYZ(So,$o,ko,Eo,Io){const{x:$a,y:ya}=$o.internals.positionAbsolute,wa=getNodeDimensions(So),ka=getNodePositionWithOrigin(So,ko),Sa=isCoordinateExtent(So.extent)?clampPosition(ka,So.extent,wa):ka;let Oa=clampPosition({x:$a+Sa.x,y:ya+Sa.y},Eo,wa);So.extent==="parent"&&(Oa=clampPositionToParent(Oa,wa,$o));const Ca=calculateZ(So,Io),Ea=$o.internals.z??0;return{x:Oa.x,y:Oa.y,z:Ea>Ca?Ea:Ca}}function handleExpandParent(So,$o,ko,Eo=[0,0]){var ya;const Io=[],$a=new Map;for(const wa of So){const ka=$o.get(wa.parentId);if(!ka)continue;const Sa=((ya=$a.get(wa.parentId))==null?void 0:ya.expandedRect)??nodeToRect(ka),Oa=getBoundsOfRects(Sa,wa.rect);$a.set(wa.parentId,{expandedRect:Oa,parent:ka})}return $a.size>0&&$a.forEach(({expandedRect:wa,parent:ka},Sa)=>{var La;const Oa=ka.internals.positionAbsolute,Ca=getNodeDimensions(ka),Ea=ka.origin??Eo,Ta=wa.x<Oa.x?Math.round(Math.abs(Oa.x-wa.x)):0,Aa=wa.y<Oa.y?Math.round(Math.abs(Oa.y-wa.y)):0,Ia=Math.max(Ca.width,Math.round(wa.width)),Pa=Math.max(Ca.height,Math.round(wa.height)),Ra=(Ia-Ca.width)*Ea[0],Da=(Pa-Ca.height)*Ea[1];(Ta>0||Aa>0||Ra||Da)&&(Io.push({id:Sa,type:"position",position:{x:ka.position.x-Ta+Ra,y:ka.position.y-Aa+Da}}),(La=ko.get(Sa))==null||La.forEach(Na=>{So.some(Ba=>Ba.id===Na.id)||Io.push({id:Na.id,type:"position",position:{x:Na.position.x+Ta,y:Na.position.y+Aa}})})),(Ca.width<wa.width||Ca.height<wa.height||Ta||Aa)&&Io.push({id:Sa,type:"dimensions",setAttributes:!0,dimensions:{width:Ia+(Ta?Ea[0]*Ta-Ra:0),height:Pa+(Aa?Ea[1]*Aa-Da:0)}})}),Io}function updateNodeInternals(So,$o,ko,Eo,Io,$a){const ya=Eo==null?void 0:Eo.querySelector(".xyflow__viewport");let wa=!1;if(!ya)return{changes:[],updatedInternals:wa};const ka=[],Sa=window.getComputedStyle(ya),{m22:Oa}=new window.DOMMatrixReadOnly(Sa.transform),Ca=[];for(const Ea of So.values()){const Ta=$o.get(Ea.id);if(!Ta)continue;if(Ta.hidden){$o.set(Ta.id,{...Ta,internals:{...Ta.internals,handleBounds:void 0}}),wa=!0;continue}const Aa=getDimensions(Ea.nodeElement),Ia=Ta.measured.width!==Aa.width||Ta.measured.height!==Aa.height;if(!!(Aa.width&&Aa.height&&(Ia||!Ta.internals.handleBounds||Ea.force))){const Ra=Ea.nodeElement.getBoundingClientRect(),Da=isCoordinateExtent(Ta.extent)?Ta.extent:$a;let{positionAbsolute:La}=Ta.internals;Ta.parentId&&Ta.extent==="parent"?La=clampPositionToParent(La,Aa,$o.get(Ta.parentId)):Da&&(La=clampPosition(La,Da,Aa));const Na={...Ta,measured:Aa,internals:{...Ta.internals,positionAbsolute:La,handleBounds:{source:getHandleBounds("source",Ea.nodeElement,Ra,Oa,Ta.id),target:getHandleBounds("target",Ea.nodeElement,Ra,Oa,Ta.id)}}};$o.set(Ta.id,Na),Ta.parentId&&updateChildNode(Na,$o,ko,{nodeOrigin:Io}),wa=!0,Ia&&(ka.push({id:Ta.id,type:"dimensions",dimensions:Aa}),Ta.expandParent&&Ta.parentId&&Ca.push({id:Ta.id,parentId:Ta.parentId,rect:nodeToRect(Na,Io)}))}}if(Ca.length>0){const Ea=handleExpandParent(Ca,$o,ko,Io);ka.push(...Ea)}return{changes:ka,updatedInternals:wa}}async function panBy({delta:So,panZoom:$o,transform:ko,translateExtent:Eo,width:Io,height:$a}){if(!$o||!So.x&&!So.y)return Promise.resolve(!1);const ya=await $o.setViewportConstrained({x:ko[0]+So.x,y:ko[1]+So.y,zoom:ko[2]},[[0,0],[Io,$a]],Eo),wa=!!ya&&(ya.x!==ko[0]||ya.y!==ko[1]||ya.k!==ko[2]);return Promise.resolve(wa)}function addConnectionToLookup(So,$o,ko,Eo,Io,$a){let ya=Io;const wa=Eo.get(ya)||new Map;Eo.set(ya,wa.set(ko,$o)),ya=`${Io}-${So}`;const ka=Eo.get(ya)||new Map;if(Eo.set(ya,ka.set(ko,$o)),$a){ya=`${Io}-${So}-${$a}`;const Sa=Eo.get(ya)||new Map;Eo.set(ya,Sa.set(ko,$o))}}function updateConnectionLookup(So,$o,ko){So.clear(),$o.clear();for(const Eo of ko){const{source:Io,target:$a,sourceHandle:ya=null,targetHandle:wa=null}=Eo,ka={edgeId:Eo.id,source:Io,target:$a,sourceHandle:ya,targetHandle:wa},Sa=`${Io}-${ya}--${$a}-${wa}`,Oa=`${$a}-${wa}--${Io}-${ya}`;addConnectionToLookup("source",ka,Oa,So,Io,ya),addConnectionToLookup("target",ka,Sa,So,$a,wa),$o.set(Eo.id,Eo)}}function isParentSelected(So,$o){if(!So.parentId)return!1;const ko=$o.get(So.parentId);return ko?ko.selected?!0:isParentSelected(ko,$o):!1}function hasSelector(So,$o,ko){var Io;let Eo=So;do{if((Io=Eo==null?void 0:Eo.matches)!=null&&Io.call(Eo,$o))return!0;if(Eo===ko)return!1;Eo=Eo==null?void 0:Eo.parentElement}while(Eo);return!1}function getDragItems(So,$o,ko,Eo){const Io=new Map;for(const[$a,ya]of So)if((ya.selected||ya.id===Eo)&&(!ya.parentId||!isParentSelected(ya,So))&&(ya.draggable||$o&&typeof ya.draggable>"u")){const wa=So.get($a);wa&&Io.set($a,{id:$a,position:wa.position||{x:0,y:0},distance:{x:ko.x-wa.internals.positionAbsolute.x,y:ko.y-wa.internals.positionAbsolute.y},extent:wa.extent,parentId:wa.parentId,origin:wa.origin,expandParent:wa.expandParent,internals:{positionAbsolute:wa.internals.positionAbsolute||{x:0,y:0}},measured:{width:wa.measured.width??0,height:wa.measured.height??0}})}return Io}function getEventHandlerParams({nodeId:So,dragItems:$o,nodeLookup:ko,dragging:Eo=!0}){var ya,wa,ka;const Io=[];for(const[Sa,Oa]of $o){const Ca=(ya=ko.get(Sa))==null?void 0:ya.internals.userNode;Ca&&Io.push({...Ca,position:Oa.position,dragging:Eo})}if(!So)return[Io[0],Io];const $a=(wa=ko.get(So))==null?void 0:wa.internals.userNode;return[$a?{...$a,position:((ka=$o.get(So))==null?void 0:ka.position)||$a.position,dragging:Eo}:Io[0],Io]}function XYDrag({onNodeMouseDown:So,getStoreItems:$o,onDragStart:ko,onDrag:Eo,onDragStop:Io}){let $a={x:null,y:null},ya=0,wa=new Map,ka=!1,Sa={x:0,y:0},Oa=null,Ca=!1,Ea=null,Ta=!1;function Aa({noDragClassName:Pa,handleSelector:Ra,domNode:Da,isSelectable:La,nodeId:Na,nodeClickDistance:Ba=0}){Ea=select(Da);function Fa({x:Wa,y:ja},Ya){const{nodeLookup:Xa,nodeExtent:Za,snapGrid:Ga,snapToGrid:Ka,nodeOrigin:tl,onNodeDrag:nl,onSelectionDrag:rl,onError:il,updateNodePositions:sl}=$o();$a={x:Wa,y:ja};let ul=!1,al={x:0,y:0,x2:0,y2:0};if(wa.size>1&&Za){const dl=getInternalNodesBounds(wa);al=rectToBox(dl)}for(const[dl,gl]of wa){if(!Xa.has(dl))continue;let cl={x:Wa-gl.distance.x,y:ja-gl.distance.y};Ka&&(cl=snapPosition(cl,Ga));let fl=[[Za[0][0],Za[0][1]],[Za[1][0],Za[1][1]]];if(wa.size>1&&Za&&!gl.extent){const{positionAbsolute:vl}=gl.internals,$l=vl.x-al.x+Za[0][0],bl=vl.x+gl.measured.width-al.x2+Za[1][0],Cl=vl.y-al.y+Za[0][1],wl=vl.y+gl.measured.height-al.y2+Za[1][1];fl=[[$l,Cl],[bl,wl]]}const{position:pl,positionAbsolute:ml}=calculateNodePosition({nodeId:dl,nextPosition:cl,nodeLookup:Xa,nodeExtent:fl,nodeOrigin:tl,onError:il});ul=ul||gl.position.x!==pl.x||gl.position.y!==pl.y,gl.position=pl,gl.internals.positionAbsolute=ml}if(ul&&(sl(wa,!0),Ya&&(Eo||nl||!Na&&rl))){const[dl,gl]=getEventHandlerParams({nodeId:Na,dragItems:wa,nodeLookup:Xa});Eo==null||Eo(Ya,wa,dl,gl),nl==null||nl(Ya,dl,gl),Na||rl==null||rl(Ya,gl)}}async function za(){if(!Oa)return;const{transform:Wa,panBy:ja,autoPanSpeed:Ya,autoPanOnNodeDrag:Xa}=$o();if(!Xa){ka=!1,cancelAnimationFrame(ya);return}const[Za,Ga]=calcAutoPan(Sa,Oa,Ya);(Za!==0||Ga!==0)&&($a.x=($a.x??0)-Za/Wa[2],$a.y=($a.y??0)-Ga/Wa[2],await ja({x:Za,y:Ga})&&Fa($a,null)),ya=requestAnimationFrame(za)}function Ua(Wa){var ul;const{nodeLookup:ja,multiSelectionActive:Ya,nodesDraggable:Xa,transform:Za,snapGrid:Ga,snapToGrid:Ka,selectNodesOnDrag:tl,onNodeDragStart:nl,onSelectionDragStart:rl,unselectNodesAndEdges:il}=$o();Ca=!0,(!tl||!La)&&!Ya&&Na&&((ul=ja.get(Na))!=null&&ul.selected||il()),La&&tl&&Na&&(So==null||So(Na));const sl=getPointerPosition(Wa.sourceEvent,{transform:Za,snapGrid:Ga,snapToGrid:Ka,containerBounds:Oa});if($a=sl,wa=getDragItems(ja,Xa,sl,Na),wa.size>0&&(ko||nl||!Na&&rl)){const[al,dl]=getEventHandlerParams({nodeId:Na,dragItems:wa,nodeLookup:ja});ko==null||ko(Wa.sourceEvent,wa,al,dl),nl==null||nl(Wa.sourceEvent,al,dl),Na||rl==null||rl(Wa.sourceEvent,dl)}}const Ha=drag$1().clickDistance(Ba).on("start",Wa=>{const{domNode:ja,nodeDragThreshold:Ya,transform:Xa,snapGrid:Za,snapToGrid:Ga}=$o();Oa=(ja==null?void 0:ja.getBoundingClientRect())||null,Ta=!1,Ya===0&&Ua(Wa),$a=getPointerPosition(Wa.sourceEvent,{transform:Xa,snapGrid:Za,snapToGrid:Ga,containerBounds:Oa}),Sa=getEventPosition(Wa.sourceEvent,Oa)}).on("drag",Wa=>{const{autoPanOnNodeDrag:ja,transform:Ya,snapGrid:Xa,snapToGrid:Za,nodeDragThreshold:Ga,nodeLookup:Ka}=$o(),tl=getPointerPosition(Wa.sourceEvent,{transform:Ya,snapGrid:Xa,snapToGrid:Za,containerBounds:Oa});if((Wa.sourceEvent.type==="touchmove"&&Wa.sourceEvent.touches.length>1||Na&&!Ka.has(Na))&&(Ta=!0),!Ta){if(!ka&&ja&&Ca&&(ka=!0,za()),!Ca){const nl=tl.xSnapped-($a.x??0),rl=tl.ySnapped-($a.y??0);Math.sqrt(nl*nl+rl*rl)>Ga&&Ua(Wa)}($a.x!==tl.xSnapped||$a.y!==tl.ySnapped)&&wa&&Ca&&(Sa=getEventPosition(Wa.sourceEvent,Oa),Fa(tl,Wa.sourceEvent))}}).on("end",Wa=>{if(!(!Ca||Ta)&&(ka=!1,Ca=!1,cancelAnimationFrame(ya),wa.size>0)){const{nodeLookup:ja,updateNodePositions:Ya,onNodeDragStop:Xa,onSelectionDragStop:Za}=$o();if(Ya(wa,!1),Io||Xa||!Na&&Za){const[Ga,Ka]=getEventHandlerParams({nodeId:Na,dragItems:wa,nodeLookup:ja,dragging:!1});Io==null||Io(Wa.sourceEvent,wa,Ga,Ka),Xa==null||Xa(Wa.sourceEvent,Ga,Ka),Na||Za==null||Za(Wa.sourceEvent,Ka)}}}).filter(Wa=>{const ja=Wa.target;return!Wa.button&&(!Pa||!hasSelector(ja,`.${Pa}`,Da))&&(!Ra||hasSelector(ja,Ra,Da))});Ea.call(Ha)}function Ia(){Ea==null||Ea.on(".drag",null)}return{update:Aa,destroy:Ia}}function getNodesWithinDistance(So,$o,ko){const Eo=[],Io={x:So.x-ko,y:So.y-ko,width:ko*2,height:ko*2};for(const $a of $o.values())getOverlappingArea(Io,nodeToRect($a))>0&&Eo.push($a);return Eo}const ADDITIONAL_DISTANCE=250;function getClosestHandle(So,$o,ko,Eo){var wa,ka;let Io=[],$a=1/0;const ya=getNodesWithinDistance(So,ko,$o+ADDITIONAL_DISTANCE);for(const Sa of ya){const Oa=[...((wa=Sa.internals.handleBounds)==null?void 0:wa.source)??[],...((ka=Sa.internals.handleBounds)==null?void 0:ka.target)??[]];for(const Ca of Oa){if(Eo.nodeId===Ca.nodeId&&Eo.type===Ca.type&&Eo.id===Ca.id)continue;const{x:Ea,y:Ta}=getHandlePosition(Sa,Ca,Ca.position,!0),Aa=Math.sqrt(Math.pow(Ea-So.x,2)+Math.pow(Ta-So.y,2));Aa>$o||(Aa<$a?(Io=[{...Ca,x:Ea,y:Ta}],$a=Aa):Aa===$a&&Io.push({...Ca,x:Ea,y:Ta}))}}if(!Io.length)return null;if(Io.length>1){const Sa=Eo.type==="source"?"target":"source";return Io.find(Oa=>Oa.type===Sa)??Io[0]}return Io[0]}function getHandle(So,$o,ko,Eo,Io,$a=!1){var Sa,Oa,Ca;const ya=Eo.get(So);if(!ya)return null;const wa=Io==="strict"?(Sa=ya.internals.handleBounds)==null?void 0:Sa[$o]:[...((Oa=ya.internals.handleBounds)==null?void 0:Oa.source)??[],...((Ca=ya.internals.handleBounds)==null?void 0:Ca.target)??[]],ka=(ko?wa==null?void 0:wa.find(Ea=>Ea.id===ko):wa==null?void 0:wa[0])??null;return ka&&$a?{...ka,...getHandlePosition(ya,ka,ka.position,!0)}:ka}function getHandleType(So,$o){return So||($o!=null&&$o.classList.contains("target")?"target":$o!=null&&$o.classList.contains("source")?"source":null)}function isConnectionValid(So,$o){let ko=null;return $o?ko=!0:So&&!$o&&(ko=!1),ko}const alwaysValid=()=>!0;function onPointerDown(So,{connectionMode:$o,connectionRadius:ko,handleId:Eo,nodeId:Io,edgeUpdaterType:$a,isTarget:ya,domNode:wa,nodeLookup:ka,lib:Sa,autoPanOnConnect:Oa,flowId:Ca,panBy:Ea,cancelConnection:Ta,onConnectStart:Aa,onConnect:Ia,onConnectEnd:Pa,isValidConnection:Ra=alwaysValid,onReconnectEnd:Da,updateConnection:La,getTransform:Na,getFromHandle:Ba,autoPanSpeed:Fa}){const za=getHostForElement(So.target);let Ua=0,Ha;const{x:Wa,y:ja}=getEventPosition(So),Ya=za==null?void 0:za.elementFromPoint(Wa,ja),Xa=getHandleType($a,Ya),Za=wa==null?void 0:wa.getBoundingClientRect();if(!Za||!Xa)return;const Ga=getHandle(Io,Xa,Eo,ka,$o);if(!Ga)return;let Ka=getEventPosition(So,Za),tl=!1,nl=null,rl=!1,il=null;function sl(){if(!Oa||!Za)return;const[ml,vl]=calcAutoPan(Ka,Za,Fa);Ea({x:ml,y:vl}),Ua=requestAnimationFrame(sl)}const ul={...Ga,nodeId:Io,type:Xa,position:Ga.position},al=ka.get(Io),gl={inProgress:!0,isValid:null,from:getHandlePosition(al,ul,Position.Left,!0),fromHandle:ul,fromPosition:ul.position,fromNode:al,to:Ka,toHandle:null,toPosition:oppositePosition[ul.position],toNode:null};La(gl);let cl=gl;Aa==null||Aa(So,{nodeId:Io,handleId:Eo,handleType:Xa});function fl(ml){if(!Ba()||!ul){pl(ml);return}const vl=Na();Ka=getEventPosition(ml,Za),Ha=getClosestHandle(pointToRendererPoint(Ka,vl,!1,[1,1]),ko,ka,ul),tl||(sl(),tl=!0);const $l=isValidHandle(ml,{handle:Ha,connectionMode:$o,fromNodeId:Io,fromHandleId:Eo,fromType:ya?"target":"source",isValidConnection:Ra,doc:za,lib:Sa,flowId:Ca,nodeLookup:ka});il=$l.handleDomNode,nl=$l.connection,rl=isConnectionValid(!!Ha,$l.isValid);const bl={...cl,isValid:rl,to:Ha&&rl?rendererPointToPoint({x:Ha.x,y:Ha.y},vl):Ka,toHandle:$l.toHandle,toPosition:rl&&$l.toHandle?$l.toHandle.position:oppositePosition[ul.position],toNode:$l.toHandle?ka.get($l.toHandle.nodeId):null};rl&&Ha&&cl.toHandle&&bl.toHandle&&cl.toHandle.type===bl.toHandle.type&&cl.toHandle.nodeId===bl.toHandle.nodeId&&cl.toHandle.id===bl.toHandle.id&&cl.to.x===bl.to.x&&cl.to.y===bl.to.y||(La(bl),cl=bl)}function pl(ml){(Ha||il)&&nl&&rl&&(Ia==null||Ia(nl));const{inProgress:vl,...$l}=cl,bl={...$l,toPosition:cl.toHandle?cl.toPosition:null};Pa==null||Pa(ml,bl),$a&&(Da==null||Da(ml,bl)),Ta(),cancelAnimationFrame(Ua),tl=!1,rl=!1,nl=null,il=null,za.removeEventListener("mousemove",fl),za.removeEventListener("mouseup",pl),za.removeEventListener("touchmove",fl),za.removeEventListener("touchend",pl)}za.addEventListener("mousemove",fl),za.addEventListener("mouseup",pl),za.addEventListener("touchmove",fl),za.addEventListener("touchend",pl)}function isValidHandle(So,{handle:$o,connectionMode:ko,fromNodeId:Eo,fromHandleId:Io,fromType:$a,doc:ya,lib:wa,flowId:ka,isValidConnection:Sa=alwaysValid,nodeLookup:Oa}){const Ca=$a==="target",Ea=$o?ya.querySelector(`.${wa}-flow__handle[data-id="${ka}-${$o==null?void 0:$o.nodeId}-${$o==null?void 0:$o.id}-${$o==null?void 0:$o.type}"]`):null,{x:Ta,y:Aa}=getEventPosition(So),Ia=ya.elementFromPoint(Ta,Aa),Pa=Ia!=null&&Ia.classList.contains(`${wa}-flow__handle`)?Ia:Ea,Ra={handleDomNode:Pa,isValid:!1,connection:null,toHandle:null};if(Pa){const Da=getHandleType(void 0,Pa),La=Pa.getAttribute("data-nodeid"),Na=Pa.getAttribute("data-handleid"),Ba=Pa.classList.contains("connectable"),Fa=Pa.classList.contains("connectableend");if(!La||!Da)return Ra;const za={source:Ca?La:Eo,sourceHandle:Ca?Na:Io,target:Ca?Eo:La,targetHandle:Ca?Io:Na};Ra.connection=za;const Ha=Ba&&Fa&&(ko===ConnectionMode.Strict?Ca&&Da==="source"||!Ca&&Da==="target":La!==Eo||Na!==Io);Ra.isValid=Ha&&Sa(za),Ra.toHandle=getHandle(La,Da,Na,Oa,ko,!1)}return Ra}const XYHandle={onPointerDown,isValid:isValidHandle};function XYMinimap({domNode:So,panZoom:$o,getTransform:ko,getViewScale:Eo}){const Io=select(So);function $a({translateExtent:wa,width:ka,height:Sa,zoomStep:Oa=10,pannable:Ca=!0,zoomable:Ea=!0,inversePan:Ta=!1}){const Aa=La=>{const Na=ko();if(La.sourceEvent.type!=="wheel"||!$o)return;const Ba=-La.sourceEvent.deltaY*(La.sourceEvent.deltaMode===1?.05:La.sourceEvent.deltaMode?1:.002)*Oa,Fa=Na[2]*Math.pow(2,Ba);$o.scaleTo(Fa)};let Ia=[0,0];const Pa=La=>{(La.sourceEvent.type==="mousedown"||La.sourceEvent.type==="touchstart")&&(Ia=[La.sourceEvent.clientX??La.sourceEvent.touches[0].clientX,La.sourceEvent.clientY??La.sourceEvent.touches[0].clientY])},Ra=La=>{const Na=ko();if(La.sourceEvent.type!=="mousemove"&&La.sourceEvent.type!=="touchmove"||!$o)return;const Ba=[La.sourceEvent.clientX??La.sourceEvent.touches[0].clientX,La.sourceEvent.clientY??La.sourceEvent.touches[0].clientY],Fa=[Ba[0]-Ia[0],Ba[1]-Ia[1]];Ia=Ba;const za=Eo()*Math.max(Na[2],Math.log(Na[2]))*(Ta?-1:1),Ua={x:Na[0]-Fa[0]*za,y:Na[1]-Fa[1]*za},Ha=[[0,0],[ka,Sa]];$o.setViewportConstrained({x:Ua.x,y:Ua.y,zoom:Na[2]},Ha,wa)},Da=zoom$1().on("start",Pa).on("zoom",Ca?Ra:null).on("zoom.wheel",Ea?Aa:null);Io.call(Da,{})}function ya(){Io.on("zoom",null)}return{update:$a,destroy:ya,pointer}}const viewChanged=(So,$o)=>So.x!==$o.x||So.y!==$o.y||So.zoom!==$o.k,transformToViewport=So=>({x:So.x,y:So.y,zoom:So.k}),viewportToTransform=({x:So,y:$o,zoom:ko})=>identity.translate(So,$o).scale(ko),isWrappedWithClass=(So,$o)=>So.target.closest(`.${$o}`),isRightClickPan=(So,$o)=>$o===2&&Array.isArray(So)&&So.includes(2),getD3Transition=(So,$o=0,ko=()=>{})=>{const Eo=typeof $o=="number"&&$o>0;return Eo||ko(),Eo?So.transition().duration($o).on("end",ko):So},wheelDelta=So=>{const $o=So.ctrlKey&&isMacOs()?10:1;return-So.deltaY*(So.deltaMode===1?.05:So.deltaMode?1:.002)*$o};function createPanOnScrollHandler({zoomPanValues:So,noWheelClassName:$o,d3Selection:ko,d3Zoom:Eo,panOnScrollMode:Io,panOnScrollSpeed:$a,zoomOnPinch:ya,onPanZoomStart:wa,onPanZoom:ka,onPanZoomEnd:Sa}){return Oa=>{if(isWrappedWithClass(Oa,$o))return!1;Oa.preventDefault(),Oa.stopImmediatePropagation();const Ca=ko.property("__zoom").k||1;if(Oa.ctrlKey&&ya){const Pa=pointer(Oa),Ra=wheelDelta(Oa),Da=Ca*Math.pow(2,Ra);Eo.scaleTo(ko,Da,Pa,Oa);return}const Ea=Oa.deltaMode===1?20:1;let Ta=Io===PanOnScrollMode.Vertical?0:Oa.deltaX*Ea,Aa=Io===PanOnScrollMode.Horizontal?0:Oa.deltaY*Ea;!isMacOs()&&Oa.shiftKey&&Io!==PanOnScrollMode.Vertical&&(Ta=Oa.deltaY*Ea,Aa=0),Eo.translateBy(ko,-(Ta/Ca)*$a,-(Aa/Ca)*$a,{internal:!0});const Ia=transformToViewport(ko.property("__zoom"));clearTimeout(So.panScrollTimeout),So.isPanScrolling||(So.isPanScrolling=!0,wa==null||wa(Oa,Ia)),So.isPanScrolling&&(ka==null||ka(Oa,Ia),So.panScrollTimeout=setTimeout(()=>{Sa==null||Sa(Oa,Ia),So.isPanScrolling=!1},150))}}function createZoomOnScrollHandler({noWheelClassName:So,preventScrolling:$o,d3ZoomHandler:ko}){return function(Eo,Io){const $a=Eo.type==="wheel",ya=!$o&&$a&&!Eo.ctrlKey,wa=isWrappedWithClass(Eo,So);if(Eo.ctrlKey&&$a&&wa&&Eo.preventDefault(),ya||wa)return null;Eo.preventDefault(),ko.call(this,Eo,Io)}}function createPanZoomStartHandler({zoomPanValues:So,onDraggingChange:$o,onPanZoomStart:ko}){return Eo=>{var $a,ya,wa;if(($a=Eo.sourceEvent)!=null&&$a.internal)return;const Io=transformToViewport(Eo.transform);So.mouseButton=((ya=Eo.sourceEvent)==null?void 0:ya.button)||0,So.isZoomingOrPanning=!0,So.prevViewport=Io,((wa=Eo.sourceEvent)==null?void 0:wa.type)==="mousedown"&&$o(!0),ko&&(ko==null||ko(Eo.sourceEvent,Io))}}function createPanZoomHandler({zoomPanValues:So,panOnDrag:$o,onPaneContextMenu:ko,onTransformChange:Eo,onPanZoom:Io}){return $a=>{var ya,wa;So.usedRightMouseButton=!!(ko&&isRightClickPan($o,So.mouseButton??0)),(ya=$a.sourceEvent)!=null&&ya.sync||Eo([$a.transform.x,$a.transform.y,$a.transform.k]),Io&&!((wa=$a.sourceEvent)!=null&&wa.internal)&&(Io==null||Io($a.sourceEvent,transformToViewport($a.transform)))}}function createPanZoomEndHandler({zoomPanValues:So,panOnDrag:$o,panOnScroll:ko,onDraggingChange:Eo,onPanZoomEnd:Io,onPaneContextMenu:$a}){return ya=>{var wa;if(!((wa=ya.sourceEvent)!=null&&wa.internal)&&(So.isZoomingOrPanning=!1,$a&&isRightClickPan($o,So.mouseButton??0)&&!So.usedRightMouseButton&&ya.sourceEvent&&$a(ya.sourceEvent),So.usedRightMouseButton=!1,Eo(!1),Io&&viewChanged(So.prevViewport,ya.transform))){const ka=transformToViewport(ya.transform);So.prevViewport=ka,clearTimeout(So.timerId),So.timerId=setTimeout(()=>{Io==null||Io(ya.sourceEvent,ka)},ko?150:0)}}}function createFilter({zoomActivationKeyPressed:So,zoomOnScroll:$o,zoomOnPinch:ko,panOnDrag:Eo,panOnScroll:Io,zoomOnDoubleClick:$a,userSelectionActive:ya,noWheelClassName:wa,noPanClassName:ka,lib:Sa}){return Oa=>{var Aa;const Ca=So||$o,Ea=ko&&Oa.ctrlKey;if(Oa.button===1&&Oa.type==="mousedown"&&(isWrappedWithClass(Oa,`${Sa}-flow__node`)||isWrappedWithClass(Oa,`${Sa}-flow__edge`)))return!0;if(!Eo&&!Ca&&!Io&&!$a&&!ko||ya||isWrappedWithClass(Oa,wa)&&Oa.type==="wheel"||isWrappedWithClass(Oa,ka)&&(Oa.type!=="wheel"||Io&&Oa.type==="wheel"&&!So)||!ko&&Oa.ctrlKey&&Oa.type==="wheel")return!1;if(!ko&&Oa.type==="touchstart"&&((Aa=Oa.touches)==null?void 0:Aa.length)>1)return Oa.preventDefault(),!1;if(!Ca&&!Io&&!Ea&&Oa.type==="wheel"||!Eo&&(Oa.type==="mousedown"||Oa.type==="touchstart")||Array.isArray(Eo)&&!Eo.includes(Oa.button)&&Oa.type==="mousedown")return!1;const Ta=Array.isArray(Eo)&&Eo.includes(Oa.button)||!Oa.button||Oa.button<=1;return(!Oa.ctrlKey||Oa.type==="wheel")&&Ta}}function XYPanZoom({domNode:So,minZoom:$o,maxZoom:ko,paneClickDistance:Eo,translateExtent:Io,viewport:$a,onPanZoom:ya,onPanZoomStart:wa,onPanZoomEnd:ka,onDraggingChange:Sa}){const Oa={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},Ca=So.getBoundingClientRect(),Ea=zoom$1().clickDistance(!isNumeric(Eo)||Eo<0?0:Eo).scaleExtent([$o,ko]).translateExtent(Io),Ta=select(So).call(Ea);La({x:$a.x,y:$a.y,zoom:clamp($a.zoom,$o,ko)},[[0,0],[Ca.width,Ca.height]],Io);const Aa=Ta.on("wheel.zoom"),Ia=Ta.on("dblclick.zoom");Ea.wheelDelta(wheelDelta);function Pa(Ya,Xa){return Ta?new Promise(Za=>{Ea==null||Ea.transform(getD3Transition(Ta,Xa==null?void 0:Xa.duration,()=>Za(!0)),Ya)}):Promise.resolve(!1)}function Ra({noWheelClassName:Ya,noPanClassName:Xa,onPaneContextMenu:Za,userSelectionActive:Ga,panOnScroll:Ka,panOnDrag:tl,panOnScrollMode:nl,panOnScrollSpeed:rl,preventScrolling:il,zoomOnPinch:sl,zoomOnScroll:ul,zoomOnDoubleClick:al,zoomActivationKeyPressed:dl,lib:gl,onTransformChange:cl}){Ga&&!Oa.isZoomingOrPanning&&Da();const pl=Ka&&!dl&&!Ga?createPanOnScrollHandler({zoomPanValues:Oa,noWheelClassName:Ya,d3Selection:Ta,d3Zoom:Ea,panOnScrollMode:nl,panOnScrollSpeed:rl,zoomOnPinch:sl,onPanZoomStart:wa,onPanZoom:ya,onPanZoomEnd:ka}):createZoomOnScrollHandler({noWheelClassName:Ya,preventScrolling:il,d3ZoomHandler:Aa});if(Ta.on("wheel.zoom",pl,{passive:!1}),!Ga){const vl=createPanZoomStartHandler({zoomPanValues:Oa,onDraggingChange:Sa,onPanZoomStart:wa});Ea.on("start",vl);const $l=createPanZoomHandler({zoomPanValues:Oa,panOnDrag:tl,onPaneContextMenu:!!Za,onPanZoom:ya,onTransformChange:cl});Ea.on("zoom",$l);const bl=createPanZoomEndHandler({zoomPanValues:Oa,panOnDrag:tl,panOnScroll:Ka,onPaneContextMenu:Za,onPanZoomEnd:ka,onDraggingChange:Sa});Ea.on("end",bl)}const ml=createFilter({zoomActivationKeyPressed:dl,panOnDrag:tl,zoomOnScroll:ul,panOnScroll:Ka,zoomOnDoubleClick:al,zoomOnPinch:sl,userSelectionActive:Ga,noPanClassName:Xa,noWheelClassName:Ya,lib:gl});Ea.filter(ml),al?Ta.on("dblclick.zoom",Ia):Ta.on("dblclick.zoom",null)}function Da(){Ea.on("zoom",null)}async function La(Ya,Xa,Za){const Ga=viewportToTransform(Ya),Ka=Ea==null?void 0:Ea.constrain()(Ga,Xa,Za);return Ka&&await Pa(Ka),new Promise(tl=>tl(Ka))}async function Na(Ya,Xa){const Za=viewportToTransform(Ya);return await Pa(Za,Xa),new Promise(Ga=>Ga(Za))}function Ba(Ya){if(Ta){const Xa=viewportToTransform(Ya),Za=Ta.property("__zoom");(Za.k!==Ya.zoom||Za.x!==Ya.x||Za.y!==Ya.y)&&(Ea==null||Ea.transform(Ta,Xa,null,{sync:!0}))}}function Fa(){const Ya=Ta?transform(Ta.node()):{x:0,y:0,k:1};return{x:Ya.x,y:Ya.y,zoom:Ya.k}}function za(Ya,Xa){return Ta?new Promise(Za=>{Ea==null||Ea.scaleTo(getD3Transition(Ta,Xa==null?void 0:Xa.duration,()=>Za(!0)),Ya)}):Promise.resolve(!1)}function Ua(Ya,Xa){return Ta?new Promise(Za=>{Ea==null||Ea.scaleBy(getD3Transition(Ta,Xa==null?void 0:Xa.duration,()=>Za(!0)),Ya)}):Promise.resolve(!1)}function Ha(Ya){Ea==null||Ea.scaleExtent(Ya)}function Wa(Ya){Ea==null||Ea.translateExtent(Ya)}function ja(Ya){const Xa=!isNumeric(Ya)||Ya<0?0:Ya;Ea==null||Ea.clickDistance(Xa)}return{update:Ra,destroy:Da,setViewport:Na,setViewportConstrained:La,getViewport:Fa,scaleTo:za,scaleBy:Ua,setScaleExtent:Ha,setTranslateExtent:Wa,syncViewport:Ba,setClickDistance:ja}}var ResizeControlVariant;(function(So){So.Line="line",So.Handle="handle"})(ResizeControlVariant||(ResizeControlVariant={}));function create_fragment$7u(So){let $o,ko,Eo,Io,$a,ya;const wa=So[45].default,ka=create_slot(wa,So,So[44],null);return{c(){$o=element("div"),ka&&ka.c(),attr($o,"data-handleid",So[6]),attr($o,"data-nodeid",So[14]),attr($o,"data-handlepos",So[2]),attr($o,"data-id",ko=So[13]+"-"+So[14]+"-"+(So[0]||null)+"-"+So[1]),attr($o,"class",Eo=cc(["svelte-flow__handle",`svelte-flow__handle-${So[2]}`,"nodrag","nopan",So[2],So[4]])),attr($o,"style",So[3]),attr($o,"role","button"),attr($o,"tabindex","-1"),toggle_class($o,"valid",So[7]),toggle_class($o,"connectingto",So[5]),toggle_class($o,"connectingfrom",So[9]),toggle_class($o,"source",!So[11]),toggle_class($o,"target",So[11]),toggle_class($o,"connectablestart",So[12]),toggle_class($o,"connectableend",So[12]),toggle_class($o,"connectable",So[12]),toggle_class($o,"connectionindicator",So[12]&&(!So[10]||So[8]))},m(Sa,Oa){insert$1(Sa,$o,Oa),ka&&ka.m($o,null),Io=!0,$a||(ya=[listen($o,"mousedown",So[32]),listen($o,"touchstart",So[32])],$a=!0)},p(Sa,Oa){ka&&ka.p&&(!Io||Oa[1]&8192)&&update_slot_base(ka,wa,Sa,Sa[44],Io?get_slot_changes(wa,Sa[44],Oa,null):get_all_dirty_from_scope(Sa[44]),null),(!Io||Oa[0]&64)&&attr($o,"data-handleid",Sa[6]),(!Io||Oa[0]&4)&&attr($o,"data-handlepos",Sa[2]),(!Io||Oa[0]&8195&&ko!==(ko=Sa[13]+"-"+Sa[14]+"-"+(Sa[0]||null)+"-"+Sa[1]))&&attr($o,"data-id",ko),(!Io||Oa[0]&20&&Eo!==(Eo=cc(["svelte-flow__handle",`svelte-flow__handle-${Sa[2]}`,"nodrag","nopan",Sa[2],Sa[4]])))&&attr($o,"class",Eo),(!Io||Oa[0]&8)&&attr($o,"style",Sa[3]),(!Io||Oa[0]&148)&&toggle_class($o,"valid",Sa[7]),(!Io||Oa[0]&52)&&toggle_class($o,"connectingto",Sa[5]),(!Io||Oa[0]&532)&&toggle_class($o,"connectingfrom",Sa[9]),(!Io||Oa[0]&2068)&&toggle_class($o,"source",!Sa[11]),(!Io||Oa[0]&2068)&&toggle_class($o,"target",Sa[11]),(!Io||Oa[0]&4116)&&toggle_class($o,"connectablestart",Sa[12]),(!Io||Oa[0]&4116)&&toggle_class($o,"connectableend",Sa[12]),(!Io||Oa[0]&4116)&&toggle_class($o,"connectable",Sa[12]),(!Io||Oa[0]&5396)&&toggle_class($o,"connectionindicator",Sa[12]&&(!Sa[10]||Sa[8]))},i(Sa){Io||(transition_in(ka,Sa),Io=!0)},o(Sa){transition_out(ka,Sa),Io=!1},d(Sa){Sa&&detach($o),ka&&ka.d(Sa),$a=!1,run_all(ya)}}}function instance$7t(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta,Aa,Ia,Pa,Ra,Da,La,Na,Ba,Fa,za,Ua,Ha,Wa,ja,{$$slots:Ya={},$$scope:Xa}=$o,{id:Za=void 0}=$o,{type:Ga="source"}=$o,{position:Ka=Position.Top}=$o,{style:tl=void 0}=$o,{isValidConnection:nl=void 0}=$o,{onconnect:rl=void 0}=$o,{ondisconnect:il=void 0}=$o,{isConnectable:sl=void 0}=$o,{class:ul=void 0}=$o;const al=getContext$1("svelteflow__node_id"),dl=getContext$1("svelteflow__node_connectable");component_subscribe(So,dl,Il=>ko(43,ja=Il));const gl=useStore(),{connectionMode:cl,domNode:fl,nodeLookup:pl,connectionRadius:ml,viewport:vl,isValidConnection:$l,lib:bl,addEdge:Cl,onedgecreate:wl,panBy:Al,cancelConnection:Ll,updateConnection:Dl,autoPanOnConnect:Gl,edges:Ol,connectionLookup:ic,onconnect:zl,onconnectstart:Ml,onconnectend:Kl,flowId:Ul,connection:Yl}=gl;component_subscribe(So,cl,Il=>ko(40,Ea=Il)),component_subscribe(So,fl,Il=>ko(55,Ha=Il)),component_subscribe(So,pl,Il=>ko(54,Ua=Il)),component_subscribe(So,ml,Il=>ko(56,Wa=Il)),component_subscribe(So,vl,Il=>ko(46,Ia=Il)),component_subscribe(So,$l,Il=>ko(51,Na=Il)),component_subscribe(So,bl,Il=>ko(53,za=Il)),component_subscribe(So,wl,Il=>ko(50,La=Il)),component_subscribe(So,Gl,Il=>ko(52,Fa=Il)),component_subscribe(So,Ol,Il=>ko(42,Aa=Il)),component_subscribe(So,ic,Il=>ko(41,Ta=Il)),component_subscribe(So,zl,Il=>ko(49,Da=Il)),component_subscribe(So,Ml,Il=>ko(48,Ra=Il)),component_subscribe(So,Kl,Il=>ko(47,Pa=Il)),component_subscribe(So,Ul,Il=>ko(13,Ba=Il)),component_subscribe(So,Yl,Il=>ko(39,Ca=Il));function jl(Il){const Wl=isMouseEvent(Il);(Wl&&Il.button===0||!Wl)&&XYHandle.onPointerDown(Il,{handleId:$a,nodeId:al,isTarget:Eo,connectionRadius:Wa,domNode:Ha,nodeLookup:Ua,connectionMode:Ea,lib:za,autoPanOnConnect:Fa,flowId:Ba,isValidConnection:nl??Na,updateConnection:Dl,cancelConnection:Ll,panBy:Al,onConnect:Tl=>{const Bl=La?La(Tl):Tl;Bl&&(Cl(Bl),Da==null||Da(Tl))},onConnectStart:(Tl,Bl)=>{Ra==null||Ra(Tl,{nodeId:Bl.nodeId,handleId:Bl.handleId,handleType:Bl.handleType})},onConnectEnd:(Tl,Bl)=>{Pa==null||Pa(Tl,Bl)},getTransform:()=>[Ia.x,Ia.y,Ia.zoom],getFromHandle:()=>Ca.fromHandle})}let Rl=null,ql;return So.$$set=Il=>{"id"in Il&&ko(0,Za=Il.id),"type"in Il&&ko(1,Ga=Il.type),"position"in Il&&ko(2,Ka=Il.position),"style"in Il&&ko(3,tl=Il.style),"isValidConnection"in Il&&ko(33,nl=Il.isValidConnection),"onconnect"in Il&&ko(34,rl=Il.onconnect),"ondisconnect"in Il&&ko(35,il=Il.ondisconnect),"isConnectable"in Il&&ko(36,sl=Il.isConnectable),"class"in Il&&ko(4,ul=Il.class),"$$scope"in Il&&ko(44,Xa=Il.$$scope)},So.$$.update=()=>{var Il,Wl,Tl,Bl,tc,xl,hc,kc,_c;if(So.$$.dirty[0]&2&&ko(11,Eo=Ga==="target"),So.$$.dirty[1]&4128&&ko(12,Io=sl!==void 0?sl:ja),So.$$.dirty[0]&1&&ko(6,$a=Za||null),So.$$.dirty[0]&3|So.$$.dirty[1]&3096&&(rl||il)&&ko(38,ql=Ta.get(`${al}-${Ga}${Za?`-${Za}`:""}`)),So.$$.dirty[1]&216){if(Rl&&!areConnectionMapsEqual(ql,Rl)){const Pc=ql??new Map;handleConnectionChange(Rl,Pc,il),handleConnectionChange(Pc,Rl,rl)}ko(37,Rl=ql??new Map)}So.$$.dirty[1]&256&&ko(10,ya=!!Ca.fromHandle),So.$$.dirty[0]&66|So.$$.dirty[1]&256&&ko(9,wa=((Il=Ca.fromHandle)==null?void 0:Il.nodeId)===al&&((Wl=Ca.fromHandle)==null?void 0:Wl.type)===Ga&&((Tl=Ca.fromHandle)==null?void 0:Tl.id)===$a),So.$$.dirty[0]&66|So.$$.dirty[1]&256&&ko(5,ka=((Bl=Ca.toHandle)==null?void 0:Bl.nodeId)===al&&((tc=Ca.toHandle)==null?void 0:tc.type)===Ga&&((xl=Ca.toHandle)==null?void 0:xl.id)===$a),So.$$.dirty[0]&66|So.$$.dirty[1]&768&&ko(8,Sa=Ea===ConnectionMode.Strict?((hc=Ca.fromHandle)==null?void 0:hc.type)!==Ga:al!==((kc=Ca.fromHandle)==null?void 0:kc.nodeId)||$a!==((_c=Ca.fromHandle)==null?void 0:_c.id)),So.$$.dirty[0]&32|So.$$.dirty[1]&256&&ko(7,Oa=ka&&Ca.isValid)},[Za,Ga,Ka,tl,ul,ka,$a,Oa,Sa,wa,ya,Eo,Io,Ba,al,dl,cl,fl,pl,ml,vl,$l,bl,wl,Gl,Ol,ic,zl,Ml,Kl,Ul,Yl,jl,nl,rl,il,sl,Rl,ql,Ca,Ea,Ta,Aa,ja,Xa,Ya]}class Handle extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7t,create_fragment$7u,safe_not_equal,{id:0,type:1,position:2,style:3,isValidConnection:33,onconnect:34,ondisconnect:35,isConnectable:36,class:4},null,[-1,-1])}}const Handle$1=Handle;function create_fragment$7t(So){var ka;let $o,ko,Eo=((ka=So[0])==null?void 0:ka.label)+"",Io,$a,ya,wa;return $o=new Handle$1({props:{type:"target",position:So[1]??Position.Top}}),ya=new Handle$1({props:{type:"source",position:So[2]??Position.Bottom}}),{c(){create_component($o.$$.fragment),ko=space$2(),Io=text(Eo),$a=space$2(),create_component(ya.$$.fragment)},m(Sa,Oa){mount_component($o,Sa,Oa),insert$1(Sa,ko,Oa),insert$1(Sa,Io,Oa),insert$1(Sa,$a,Oa),mount_component(ya,Sa,Oa),wa=!0},p(Sa,[Oa]){var Ta;const Ca={};Oa&2&&(Ca.position=Sa[1]??Position.Top),$o.$set(Ca),(!wa||Oa&1)&&Eo!==(Eo=((Ta=Sa[0])==null?void 0:Ta.label)+"")&&set_data(Io,Eo);const Ea={};Oa&4&&(Ea.position=Sa[2]??Position.Bottom),ya.$set(Ea)},i(Sa){wa||(transition_in($o.$$.fragment,Sa),transition_in(ya.$$.fragment,Sa),wa=!0)},o(Sa){transition_out($o.$$.fragment,Sa),transition_out(ya.$$.fragment,Sa),wa=!1},d(Sa){Sa&&(detach(ko),detach(Io),detach($a)),destroy_component($o,Sa),destroy_component(ya,Sa)}}}function instance$7s(So,$o,ko){const Eo=["data","targetPosition","sourcePosition"];compute_rest_props($o,Eo);let{data:Io={label:"Node"}}=$o,{targetPosition:$a=void 0}=$o,{sourcePosition:ya=void 0}=$o;return So.$$set=wa=>{$o=assign$1(assign$1({},$o),exclude_internal_props(wa)),ko(3,compute_rest_props($o,Eo)),"data"in wa&&ko(0,Io=wa.data),"targetPosition"in wa&&ko(1,$a=wa.targetPosition),"sourcePosition"in wa&&ko(2,ya=wa.sourcePosition)},[Io,$a,ya]}class DefaultNode extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7s,create_fragment$7t,safe_not_equal,{data:0,targetPosition:1,sourcePosition:2})}}const DefaultNode$1=DefaultNode;function create_fragment$7s(So){var ya;let $o=((ya=So[0])==null?void 0:ya.label)+"",ko,Eo,Io,$a;return Io=new Handle$1({props:{type:"source",position:So[1]??Position.Bottom}}),{c(){ko=text($o),Eo=space$2(),create_component(Io.$$.fragment)},m(wa,ka){insert$1(wa,ko,ka),insert$1(wa,Eo,ka),mount_component(Io,wa,ka),$a=!0},p(wa,[ka]){var Oa;(!$a||ka&1)&&$o!==($o=((Oa=wa[0])==null?void 0:Oa.label)+"")&&set_data(ko,$o);const Sa={};ka&2&&(Sa.position=wa[1]??Position.Bottom),Io.$set(Sa)},i(wa){$a||(transition_in(Io.$$.fragment,wa),$a=!0)},o(wa){transition_out(Io.$$.fragment,wa),$a=!1},d(wa){wa&&(detach(ko),detach(Eo)),destroy_component(Io,wa)}}}function instance$7r(So,$o,ko){const Eo=["data","sourcePosition"];compute_rest_props($o,Eo);let{data:Io={label:"Node"}}=$o,{sourcePosition:$a=void 0}=$o;return So.$$set=ya=>{$o=assign$1(assign$1({},$o),exclude_internal_props(ya)),ko(2,compute_rest_props($o,Eo)),"data"in ya&&ko(0,Io=ya.data),"sourcePosition"in ya&&ko(1,$a=ya.sourcePosition)},[Io,$a]}class InputNode extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7r,create_fragment$7s,safe_not_equal,{data:0,sourcePosition:1})}}const InputNode$1=InputNode;function create_fragment$7r(So){var ya;let $o=((ya=So[0])==null?void 0:ya.label)+"",ko,Eo,Io,$a;return Io=new Handle$1({props:{type:"target",position:So[1]??Position.Top}}),{c(){ko=text($o),Eo=space$2(),create_component(Io.$$.fragment)},m(wa,ka){insert$1(wa,ko,ka),insert$1(wa,Eo,ka),mount_component(Io,wa,ka),$a=!0},p(wa,[ka]){var Oa;(!$a||ka&1)&&$o!==($o=((Oa=wa[0])==null?void 0:Oa.label)+"")&&set_data(ko,$o);const Sa={};ka&2&&(Sa.position=wa[1]??Position.Top),Io.$set(Sa)},i(wa){$a||(transition_in(Io.$$.fragment,wa),$a=!0)},o(wa){transition_out(Io.$$.fragment,wa),$a=!1},d(wa){wa&&(detach(ko),detach(Eo)),destroy_component(Io,wa)}}}function instance$7q(So,$o,ko){const Eo=["data","targetPosition"];compute_rest_props($o,Eo);let{data:Io={label:"Node"}}=$o,{targetPosition:$a=void 0}=$o;return So.$$set=ya=>{$o=assign$1(assign$1({},$o),exclude_internal_props(ya)),ko(2,compute_rest_props($o,Eo)),"data"in ya&&ko(0,Io=ya.data),"targetPosition"in ya&&ko(1,$a=ya.targetPosition)},[Io,$a]}class OutputNode extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7q,create_fragment$7r,safe_not_equal,{data:0,targetPosition:1})}}const OutputNode$1=OutputNode;function instance$7p(So,$o,ko){const Eo=[];return compute_rest_props($o,Eo),So.$$set=Io=>{$o=assign$1(assign$1({},$o),exclude_internal_props(Io)),ko(0,compute_rest_props($o,Eo))},[]}class GroupNode extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7p,null,safe_not_equal,{})}}const GroupNode$1=GroupNode;function tryToMount(So,$o,ko){if(!$o)return;const Eo=ko?$o.querySelector(ko):$o;Eo&&Eo.appendChild(So)}function portal(So,{target:$o,domNode:ko}){return tryToMount(So,ko,$o),{async update({target:Eo,domNode:Io}){tryToMount(So,Io,Eo)},destroy(){So.parentNode&&So.parentNode.removeChild(So)}}}function create_fragment$7q(So){let $o,ko,Eo,Io,$a;const ya=So[3].default,wa=create_slot(ya,So,So[2],null);return{c(){$o=element("div"),wa&&wa.c()},m(ka,Sa){insert$1(ka,$o,Sa),wa&&wa.m($o,null),Eo=!0,Io||($a=action_destroyer(ko=portal.call(null,$o,{target:".svelte-flow__edgelabel-renderer",domNode:So[0]})),Io=!0)},p(ka,[Sa]){wa&&wa.p&&(!Eo||Sa&4)&&update_slot_base(wa,ya,ka,ka[2],Eo?get_slot_changes(ya,ka[2],Sa,null):get_all_dirty_from_scope(ka[2]),null),ko&&is_function(ko.update)&&Sa&1&&ko.update.call(null,{target:".svelte-flow__edgelabel-renderer",domNode:ka[0]})},i(ka){Eo||(transition_in(wa,ka),Eo=!0)},o(ka){transition_out(wa,ka),Eo=!1},d(ka){ka&&detach($o),wa&&wa.d(ka),Io=!1,$a()}}}function instance$7o(So,$o,ko){let Eo,{$$slots:Io={},$$scope:$a}=$o;const{domNode:ya}=useStore();return component_subscribe(So,ya,wa=>ko(0,Eo=wa)),So.$$set=wa=>{"$$scope"in wa&&ko(2,$a=wa.$$scope)},[Eo,ya,$a,Io]}class EdgeLabelRenderer extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7o,create_fragment$7q,safe_not_equal,{})}}const EdgeLabelRenderer$1=EdgeLabelRenderer;function useHandleEdgeSelect(){const{edgeLookup:So,selectionRect:$o,selectionRectMode:ko,multiselectionKeyPressed:Eo,addSelectedEdges:Io,unselectNodesAndEdges:$a,elementsSelectable:ya}=useStore();return wa=>{const ka=get_store_value(So).get(wa);if(!ka){console.warn("012",errorMessages.error012(wa));return}(ka.selectable||get_store_value(ya)&&typeof ka.selectable>"u")&&($o.set(null),ko.set(null),ka.selected?ka.selected&&get_store_value(Eo)&&$a({nodes:[],edges:[ka]}):Io([wa]))}}function create_default_slot$4r(So){let $o,ko,Eo=`translate(-50%, -50%) translate(${So[1]}px,${So[2]}px)`,Io,$a,ya;const wa=So[5].default,ka=create_slot(wa,So,So[7],null);return{c(){$o=element("div"),ka&&ka.c(),attr($o,"class","svelte-flow__edge-label"),attr($o,"style",ko="pointer-events: all;"+So[0]),attr($o,"role","button"),attr($o,"tabindex","-1"),set_style($o,"transform",Eo)},m(Sa,Oa){insert$1(Sa,$o,Oa),ka&&ka.m($o,null),Io=!0,$a||(ya=[listen($o,"keyup",keyup_handler$1),listen($o,"click",So[6])],$a=!0)},p(Sa,Oa){ka&&ka.p&&(!Io||Oa&128)&&update_slot_base(ka,wa,Sa,Sa[7],Io?get_slot_changes(wa,Sa[7],Oa,null):get_all_dirty_from_scope(Sa[7]),null),(!Io||Oa&1&&ko!==(ko="pointer-events: all;"+Sa[0]))&&attr($o,"style",ko);const Ca=Oa&1;(Oa&7&&Eo!==(Eo=`translate(-50%, -50%) translate(${Sa[1]}px,${Sa[2]}px)`)||Ca)&&set_style($o,"transform",Eo)},i(Sa){Io||(transition_in(ka,Sa),Io=!0)},o(Sa){transition_out(ka,Sa),Io=!1},d(Sa){Sa&&detach($o),ka&&ka.d(Sa),$a=!1,run_all(ya)}}}function create_fragment$7p(So){let $o,ko;return $o=new EdgeLabelRenderer$1({props:{$$slots:{default:[create_default_slot$4r]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&135&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}const keyup_handler$1=()=>{};function instance$7n(So,$o,ko){let{$$slots:Eo={},$$scope:Io}=$o,{style:$a=void 0}=$o,{x:ya=void 0}=$o,{y:wa=void 0}=$o;const ka=useHandleEdgeSelect(),Sa=getContext$1("svelteflow__edge_id"),Oa=()=>{Sa&&ka(Sa)};return So.$$set=Ca=>{"style"in Ca&&ko(0,$a=Ca.style),"x"in Ca&&ko(1,ya=Ca.x),"y"in Ca&&ko(2,wa=Ca.y),"$$scope"in Ca&&ko(7,Io=Ca.$$scope)},[$a,ya,wa,ka,Sa,Eo,Oa,Io]}class EdgeLabel extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7n,create_fragment$7p,safe_not_equal,{style:0,x:1,y:2})}}const EdgeLabel$1=EdgeLabel;function create_if_block_1$1P(So){let $o;return{c(){$o=svg_element("path"),attr($o,"d",So[1]),attr($o,"stroke-opacity",0),attr($o,"stroke-width",So[10]),attr($o,"fill","none"),attr($o,"class","svelte-flow__edge-interaction")},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo&2&&attr($o,"d",ko[1])},d(ko){ko&&detach($o)}}}function create_if_block$3o(So){let $o,ko;return $o=new EdgeLabel$1({props:{x:So[3],y:So[4],style:So[5],$$slots:{default:[create_default_slot$4q]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&8&&($a.x=Eo[3]),Io&16&&($a.y=Eo[4]),Io&32&&($a.style=Eo[5]),Io&4100&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot$4q(So){let $o;return{c(){$o=text(So[2])},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo&4&&set_data($o,ko[2])},d(ko){ko&&detach($o)}}}function create_fragment$7o(So){let $o,ko,Eo,Io,$a,ya,wa=So[10]&&create_if_block_1$1P(So),ka=So[2]&&create_if_block$3o(So);return{c(){$o=svg_element("path"),Eo=space$2(),wa&&wa.c(),Io=space$2(),ka&&ka.c(),$a=empty$4(),attr($o,"id",So[0]),attr($o,"d",So[1]),attr($o,"class",ko=cc(["svelte-flow__edge-path",So[9]])),attr($o,"marker-start",So[6]),attr($o,"marker-end",So[7]),attr($o,"fill","none"),attr($o,"style",So[8])},m(Sa,Oa){insert$1(Sa,$o,Oa),insert$1(Sa,Eo,Oa),wa&&wa.m(Sa,Oa),insert$1(Sa,Io,Oa),ka&&ka.m(Sa,Oa),insert$1(Sa,$a,Oa),ya=!0},p(Sa,[Oa]){(!ya||Oa&1)&&attr($o,"id",Sa[0]),(!ya||Oa&2)&&attr($o,"d",Sa[1]),(!ya||Oa&512&&ko!==(ko=cc(["svelte-flow__edge-path",Sa[9]])))&&attr($o,"class",ko),(!ya||Oa&64)&&attr($o,"marker-start",Sa[6]),(!ya||Oa&128)&&attr($o,"marker-end",Sa[7]),(!ya||Oa&256)&&attr($o,"style",Sa[8]),Sa[10]&&wa.p(Sa,Oa),Sa[2]?ka?(ka.p(Sa,Oa),Oa&4&&transition_in(ka,1)):(ka=create_if_block$3o(Sa),ka.c(),transition_in(ka,1),ka.m($a.parentNode,$a)):ka&&(group_outros(),transition_out(ka,1,1,()=>{ka=null}),check_outros())},i(Sa){ya||(transition_in(ka),ya=!0)},o(Sa){transition_out(ka),ya=!1},d(Sa){Sa&&(detach($o),detach(Eo),detach(Io),detach($a)),wa&&wa.d(Sa),ka&&ka.d(Sa)}}}function instance$7m(So,$o,ko){let{id:Eo=void 0}=$o,{path:Io}=$o,{label:$a=void 0}=$o,{labelX:ya=void 0}=$o,{labelY:wa=void 0}=$o,{labelStyle:ka=void 0}=$o,{markerStart:Sa=void 0}=$o,{markerEnd:Oa=void 0}=$o,{style:Ca=void 0}=$o,{interactionWidth:Ea=20}=$o,{class:Ta=void 0}=$o,Aa=Ea===void 0?20:Ea;return So.$$set=Ia=>{"id"in Ia&&ko(0,Eo=Ia.id),"path"in Ia&&ko(1,Io=Ia.path),"label"in Ia&&ko(2,$a=Ia.label),"labelX"in Ia&&ko(3,ya=Ia.labelX),"labelY"in Ia&&ko(4,wa=Ia.labelY),"labelStyle"in Ia&&ko(5,ka=Ia.labelStyle),"markerStart"in Ia&&ko(6,Sa=Ia.markerStart),"markerEnd"in Ia&&ko(7,Oa=Ia.markerEnd),"style"in Ia&&ko(8,Ca=Ia.style),"interactionWidth"in Ia&&ko(11,Ea=Ia.interactionWidth),"class"in Ia&&ko(9,Ta=Ia.class)},[Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ta,Aa,Ea]}class BaseEdge extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7m,create_fragment$7o,safe_not_equal,{id:0,path:1,label:2,labelX:3,labelY:4,labelStyle:5,markerStart:6,markerEnd:7,style:8,interactionWidth:11,class:9})}}const BaseEdge$1=BaseEdge;function create_fragment$7n(So){let $o,ko;return $o=new BaseEdge$1({props:{path:So[8],labelX:So[7],labelY:So[6],label:So[0],labelStyle:So[1],markerStart:So[3],markerEnd:So[4],interactionWidth:So[5],style:So[2]}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&256&&($a.path=Eo[8]),Io&128&&($a.labelX=Eo[7]),Io&64&&($a.labelY=Eo[6]),Io&1&&($a.label=Eo[0]),Io&2&&($a.labelStyle=Eo[1]),Io&8&&($a.markerStart=Eo[3]),Io&16&&($a.markerEnd=Eo[4]),Io&32&&($a.interactionWidth=Eo[5]),Io&4&&($a.style=Eo[2]),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function instance$7l(So,$o,ko){let Eo,Io,$a;const ya=["label","labelStyle","style","markerStart","markerEnd","interactionWidth","sourceX","sourceY","sourcePosition","targetX","targetY","targetPosition"];compute_rest_props($o,ya);let{label:wa=void 0}=$o,{labelStyle:ka=void 0}=$o,{style:Sa=void 0}=$o,{markerStart:Oa=void 0}=$o,{markerEnd:Ca=void 0}=$o,{interactionWidth:Ea=void 0}=$o,{sourceX:Ta}=$o,{sourceY:Aa}=$o,{sourcePosition:Ia}=$o,{targetX:Pa}=$o,{targetY:Ra}=$o,{targetPosition:Da}=$o;return So.$$set=La=>{$o=assign$1(assign$1({},$o),exclude_internal_props(La)),ko(15,compute_rest_props($o,ya)),"label"in La&&ko(0,wa=La.label),"labelStyle"in La&&ko(1,ka=La.labelStyle),"style"in La&&ko(2,Sa=La.style),"markerStart"in La&&ko(3,Oa=La.markerStart),"markerEnd"in La&&ko(4,Ca=La.markerEnd),"interactionWidth"in La&&ko(5,Ea=La.interactionWidth),"sourceX"in La&&ko(9,Ta=La.sourceX),"sourceY"in La&&ko(10,Aa=La.sourceY),"sourcePosition"in La&&ko(11,Ia=La.sourcePosition),"targetX"in La&&ko(12,Pa=La.targetX),"targetY"in La&&ko(13,Ra=La.targetY),"targetPosition"in La&&ko(14,Da=La.targetPosition)},So.$$.update=()=>{So.$$.dirty&32256&&ko(8,[Eo,Io,$a]=getBezierPath({sourceX:Ta,sourceY:Aa,targetX:Pa,targetY:Ra,sourcePosition:Ia,targetPosition:Da}),Eo,(ko(7,Io),ko(9,Ta),ko(10,Aa),ko(12,Pa),ko(13,Ra),ko(11,Ia),ko(14,Da)),(ko(6,$a),ko(9,Ta),ko(10,Aa),ko(12,Pa),ko(13,Ra),ko(11,Ia),ko(14,Da)))},[wa,ka,Sa,Oa,Ca,Ea,$a,Io,Eo,Ta,Aa,Ia,Pa,Ra,Da]}class BezierEdgeInternal extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7l,create_fragment$7n,safe_not_equal,{label:0,labelStyle:1,style:2,markerStart:3,markerEnd:4,interactionWidth:5,sourceX:9,sourceY:10,sourcePosition:11,targetX:12,targetY:13,targetPosition:14})}}const BezierEdgeInternal$1=BezierEdgeInternal;function create_fragment$7m(So){let $o,ko;return $o=new BaseEdge$1({props:{path:So[8],labelX:So[7],labelY:So[6],label:So[0],labelStyle:So[1],markerStart:So[3],markerEnd:So[4],interactionWidth:So[5],style:So[2]}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&256&&($a.path=Eo[8]),Io&128&&($a.labelX=Eo[7]),Io&64&&($a.labelY=Eo[6]),Io&1&&($a.label=Eo[0]),Io&2&&($a.labelStyle=Eo[1]),Io&8&&($a.markerStart=Eo[3]),Io&16&&($a.markerEnd=Eo[4]),Io&32&&($a.interactionWidth=Eo[5]),Io&4&&($a.style=Eo[2]),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function instance$7k(So,$o,ko){let Eo,Io,$a;const ya=["label","labelStyle","style","markerStart","markerEnd","interactionWidth","sourceX","sourceY","sourcePosition","targetX","targetY","targetPosition"];compute_rest_props($o,ya);let{label:wa=void 0}=$o,{labelStyle:ka=void 0}=$o,{style:Sa=void 0}=$o,{markerStart:Oa=void 0}=$o,{markerEnd:Ca=void 0}=$o,{interactionWidth:Ea=void 0}=$o,{sourceX:Ta}=$o,{sourceY:Aa}=$o,{sourcePosition:Ia}=$o,{targetX:Pa}=$o,{targetY:Ra}=$o,{targetPosition:Da}=$o;return So.$$set=La=>{$o=assign$1(assign$1({},$o),exclude_internal_props(La)),ko(15,compute_rest_props($o,ya)),"label"in La&&ko(0,wa=La.label),"labelStyle"in La&&ko(1,ka=La.labelStyle),"style"in La&&ko(2,Sa=La.style),"markerStart"in La&&ko(3,Oa=La.markerStart),"markerEnd"in La&&ko(4,Ca=La.markerEnd),"interactionWidth"in La&&ko(5,Ea=La.interactionWidth),"sourceX"in La&&ko(9,Ta=La.sourceX),"sourceY"in La&&ko(10,Aa=La.sourceY),"sourcePosition"in La&&ko(11,Ia=La.sourcePosition),"targetX"in La&&ko(12,Pa=La.targetX),"targetY"in La&&ko(13,Ra=La.targetY),"targetPosition"in La&&ko(14,Da=La.targetPosition)},So.$$.update=()=>{So.$$.dirty&32256&&ko(8,[Eo,Io,$a]=getSmoothStepPath({sourceX:Ta,sourceY:Aa,targetX:Pa,targetY:Ra,sourcePosition:Ia,targetPosition:Da}),Eo,(ko(7,Io),ko(9,Ta),ko(10,Aa),ko(12,Pa),ko(13,Ra),ko(11,Ia),ko(14,Da)),(ko(6,$a),ko(9,Ta),ko(10,Aa),ko(12,Pa),ko(13,Ra),ko(11,Ia),ko(14,Da)))},[wa,ka,Sa,Oa,Ca,Ea,$a,Io,Eo,Ta,Aa,Ia,Pa,Ra,Da]}class SmoothStepEdgeInternal extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7k,create_fragment$7m,safe_not_equal,{label:0,labelStyle:1,style:2,markerStart:3,markerEnd:4,interactionWidth:5,sourceX:9,sourceY:10,sourcePosition:11,targetX:12,targetY:13,targetPosition:14})}}const SmoothStepEdgeInternal$1=SmoothStepEdgeInternal;function create_fragment$7l(So){let $o,ko;return $o=new BaseEdge$1({props:{path:So[8],labelX:So[7],labelY:So[6],label:So[0],labelStyle:So[1],markerStart:So[3],markerEnd:So[4],interactionWidth:So[5],style:So[2]}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&256&&($a.path=Eo[8]),Io&128&&($a.labelX=Eo[7]),Io&64&&($a.labelY=Eo[6]),Io&1&&($a.label=Eo[0]),Io&2&&($a.labelStyle=Eo[1]),Io&8&&($a.markerStart=Eo[3]),Io&16&&($a.markerEnd=Eo[4]),Io&32&&($a.interactionWidth=Eo[5]),Io&4&&($a.style=Eo[2]),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function instance$7j(So,$o,ko){let Eo,Io,$a;const ya=["label","labelStyle","style","markerStart","markerEnd","interactionWidth","sourceX","sourceY","targetX","targetY"];compute_rest_props($o,ya);let{label:wa=void 0}=$o,{labelStyle:ka=void 0}=$o,{style:Sa=void 0}=$o,{markerStart:Oa=void 0}=$o,{markerEnd:Ca=void 0}=$o,{interactionWidth:Ea=void 0}=$o,{sourceX:Ta}=$o,{sourceY:Aa}=$o,{targetX:Ia}=$o,{targetY:Pa}=$o;return So.$$set=Ra=>{$o=assign$1(assign$1({},$o),exclude_internal_props(Ra)),ko(13,compute_rest_props($o,ya)),"label"in Ra&&ko(0,wa=Ra.label),"labelStyle"in Ra&&ko(1,ka=Ra.labelStyle),"style"in Ra&&ko(2,Sa=Ra.style),"markerStart"in Ra&&ko(3,Oa=Ra.markerStart),"markerEnd"in Ra&&ko(4,Ca=Ra.markerEnd),"interactionWidth"in Ra&&ko(5,Ea=Ra.interactionWidth),"sourceX"in Ra&&ko(9,Ta=Ra.sourceX),"sourceY"in Ra&&ko(10,Aa=Ra.sourceY),"targetX"in Ra&&ko(11,Ia=Ra.targetX),"targetY"in Ra&&ko(12,Pa=Ra.targetY)},So.$$.update=()=>{So.$$.dirty&7680&&ko(8,[Eo,Io,$a]=getStraightPath({sourceX:Ta,sourceY:Aa,targetX:Ia,targetY:Pa}),Eo,(ko(7,Io),ko(9,Ta),ko(10,Aa),ko(11,Ia),ko(12,Pa)),(ko(6,$a),ko(9,Ta),ko(10,Aa),ko(11,Ia),ko(12,Pa)))},[wa,ka,Sa,Oa,Ca,Ea,$a,Io,Eo,Ta,Aa,Ia,Pa]}class StraightEdgeInternal extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7j,create_fragment$7l,safe_not_equal,{label:0,labelStyle:1,style:2,markerStart:3,markerEnd:4,interactionWidth:5,sourceX:9,sourceY:10,targetX:11,targetY:12})}}const StraightEdgeInternal$1=StraightEdgeInternal;function create_fragment$7k(So){let $o,ko;return $o=new BaseEdge$1({props:{path:So[8],labelX:So[7],labelY:So[6],label:So[0],labelStyle:So[1],markerStart:So[3],markerEnd:So[4],interactionWidth:So[5],style:So[2]}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&256&&($a.path=Eo[8]),Io&128&&($a.labelX=Eo[7]),Io&64&&($a.labelY=Eo[6]),Io&1&&($a.label=Eo[0]),Io&2&&($a.labelStyle=Eo[1]),Io&8&&($a.markerStart=Eo[3]),Io&16&&($a.markerEnd=Eo[4]),Io&32&&($a.interactionWidth=Eo[5]),Io&4&&($a.style=Eo[2]),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function instance$7i(So,$o,ko){let Eo,Io,$a;const ya=["label","labelStyle","style","markerStart","markerEnd","interactionWidth","sourceX","sourceY","sourcePosition","targetX","targetY","targetPosition"];compute_rest_props($o,ya);let{label:wa=void 0}=$o,{labelStyle:ka=void 0}=$o,{style:Sa=void 0}=$o,{markerStart:Oa=void 0}=$o,{markerEnd:Ca=void 0}=$o,{interactionWidth:Ea=void 0}=$o,{sourceX:Ta}=$o,{sourceY:Aa}=$o,{sourcePosition:Ia}=$o,{targetX:Pa}=$o,{targetY:Ra}=$o,{targetPosition:Da}=$o;return So.$$set=La=>{$o=assign$1(assign$1({},$o),exclude_internal_props(La)),ko(15,compute_rest_props($o,ya)),"label"in La&&ko(0,wa=La.label),"labelStyle"in La&&ko(1,ka=La.labelStyle),"style"in La&&ko(2,Sa=La.style),"markerStart"in La&&ko(3,Oa=La.markerStart),"markerEnd"in La&&ko(4,Ca=La.markerEnd),"interactionWidth"in La&&ko(5,Ea=La.interactionWidth),"sourceX"in La&&ko(9,Ta=La.sourceX),"sourceY"in La&&ko(10,Aa=La.sourceY),"sourcePosition"in La&&ko(11,Ia=La.sourcePosition),"targetX"in La&&ko(12,Pa=La.targetX),"targetY"in La&&ko(13,Ra=La.targetY),"targetPosition"in La&&ko(14,Da=La.targetPosition)},So.$$.update=()=>{So.$$.dirty&32256&&ko(8,[Eo,Io,$a]=getSmoothStepPath({sourceX:Ta,sourceY:Aa,targetX:Pa,targetY:Ra,sourcePosition:Ia,targetPosition:Da,borderRadius:0}),Eo,(ko(7,Io),ko(9,Ta),ko(10,Aa),ko(12,Pa),ko(13,Ra),ko(11,Ia),ko(14,Da)),(ko(6,$a),ko(9,Ta),ko(10,Aa),ko(12,Pa),ko(13,Ra),ko(11,Ia),ko(14,Da)))},[wa,ka,Sa,Oa,Ca,Ea,$a,Io,Eo,Ta,Aa,Ia,Pa,Ra,Da]}class StepEdgeInternal extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7i,create_fragment$7k,safe_not_equal,{label:0,labelStyle:1,style:2,markerStart:3,markerEnd:4,interactionWidth:5,sourceX:9,sourceY:10,sourcePosition:11,targetX:12,targetY:13,targetPosition:14})}}const StepEdgeInternal$1=StepEdgeInternal;function syncNodeStores(So,$o){const ko=So.set,Eo=$o.set,Io=get_store_value(So),$a=get_store_value($o);let wa=Io.length===0&&$a.length>0?$a:Io;So.set(wa);const ka=Sa=>{const Oa=ko(Sa);return wa=Oa,Eo(wa),Oa};So.set=$o.set=ka,So.update=$o.update=Sa=>ka(Sa(wa))}function syncEdgeStores(So,$o){const ko=So.set,Eo=$o.set;let Io=get_store_value($o);So.set(Io);const $a=ya=>{ko(ya),Eo(ya),Io=ya};So.set=$o.set=$a,So.update=$o.update=ya=>$a(ya(Io))}const syncViewportStores=(So,$o,ko)=>{if(!ko)return;const Eo=get_store_value(So),Io=$o.set,$a=ko.set;let ya=ko?get_store_value(ko):{x:0,y:0,zoom:1};$o.set(ya),$o.set=wa=>(Io(wa),$a(wa),ya=wa,wa),ko.set=wa=>(Eo==null||Eo.syncViewport(wa),Io(wa),$a(wa),ya=wa,wa),$o.update=wa=>{$o.set(wa(ya))},ko.update=wa=>{ko.set(wa(ya))}},createNodesStore=(So,$o,ko,Eo=[0,0],Io=infiniteExtent,$a,ya,wa,ka,Sa,Oa,Ca,Ea)=>{const{subscribe:Ta,set:Aa,update:Ia}=writable([]);let Pa=So,Ra={},Da=!0;const La=za=>{const Ua=adoptUserNodes(za,$o,ko,{elevateNodesOnSelect:Da,nodeOrigin:Eo,nodeExtent:Io,defaults:Ra,checkEquality:!1});return get_store_value($a)&&Ua&&get_store_value(ka)&&(fitViewport({nodes:$o,width:get_store_value(Sa),height:get_store_value(Oa),panZoom:get_store_value(ka),minZoom:get_store_value(Ca),maxZoom:get_store_value(Ea)},get_store_value(ya)).then(Wa=>{var ja;(ja=get_store_value(wa))==null||ja.resolve(Wa),wa.set(null)}),$a.set(!1),ya.set(void 0)),Pa=za,Aa(Pa),Pa},Na=za=>La(za(Pa)),Ba=za=>{Ra=za},Fa=za=>{Da=za.elevateNodesOnSelect??Da};return La(Pa),{subscribe:Ta,set:La,update:Na,setDefaultOptions:Ba,setOptions:Fa}},createEdgesStore=(So,$o,ko,Eo)=>{const{subscribe:Io,set:$a,update:ya}=writable([]);let wa=So,ka=Eo||{};const Sa=Ea=>{const Ta=ka?Ea.map(Aa=>({...ka,...Aa})):Ea;updateConnectionLookup($o,ko,Ta),wa=Ta,$a(wa)},Oa=Ea=>Sa(Ea(wa)),Ca=Ea=>{ka=Ea};return Sa(wa),{subscribe:Io,set:Sa,update:Oa,setDefaultOptions:Ca}},initialNodeTypes={input:InputNode$1,output:OutputNode$1,default:DefaultNode$1,group:GroupNode$1},initialEdgeTypes={straight:StraightEdgeInternal$1,smoothstep:SmoothStepEdgeInternal$1,default:BezierEdgeInternal$1,step:StepEdgeInternal$1},getInitialStore=({nodes:So=[],edges:$o=[],width:ko,height:Eo,fitView:Io,nodeOrigin:$a,nodeExtent:ya})=>{const wa=new Map,ka=new Map,Sa=new Map,Oa=new Map,Ca=$a??[0,0],Ea=ya??infiniteExtent;adoptUserNodes(So,wa,ka,{nodeExtent:Ea,nodeOrigin:Ca,elevateNodesOnSelect:!1,checkEquality:!1}),updateConnectionLookup(Sa,Oa,$o);let Ta={x:0,y:0,zoom:1};if(Io&&ko&&Eo){const Fa=getInternalNodesBounds(wa,{filter:za=>!!((za.width||za.initialWidth)&&(za.height||za.initialHeight))});Ta=getViewportForBounds(Fa,ko,Eo,.5,2,.1)}const Aa=writable(!1),Ia=writable(void 0),Pa=writable(null),Ra=writable(null),Da=writable(500),La=writable(500),Na=writable(.5),Ba=writable(2);return{flowId:writable(null),nodes:createNodesStore(So,wa,ka,Ca,Ea,Aa,Ia,Pa,Ra,Da,La,Na,Ba),nodeLookup:readable(wa),parentLookup:readable(ka),edgeLookup:readable(Oa),visibleNodes:readable([]),edges:createEdgesStore($o,Sa,Oa),visibleEdges:readable([]),connectionLookup:readable(Sa),width:Da,height:La,minZoom:Na,maxZoom:Ba,nodeOrigin:writable(Ca),nodeDragThreshold:writable(1),nodeExtent:writable(Ea),translateExtent:writable(infiniteExtent),autoPanOnNodeDrag:writable(!0),autoPanOnConnect:writable(!0),fitViewQueued:Aa,fitViewOptions:Ia,fitViewResolver:Pa,panZoom:Ra,snapGrid:writable(null),dragging:writable(!1),selectionRect:writable(null),selectionKeyPressed:writable(!1),multiselectionKeyPressed:writable(!1),deleteKeyPressed:writable(!1),panActivationKeyPressed:writable(!1),zoomActivationKeyPressed:writable(!1),selectionRectMode:writable(null),selectionMode:writable(SelectionMode.Partial),nodeTypes:writable(initialNodeTypes),edgeTypes:writable(initialEdgeTypes),viewport:writable(Ta),connectionMode:writable(ConnectionMode.Strict),domNode:writable(null),connection:readable(initialConnection),connectionLineType:writable(ConnectionLineType.Bezier),connectionRadius:writable(20),isValidConnection:writable(()=>!0),nodesDraggable:writable(!0),nodesConnectable:writable(!0),elementsSelectable:writable(!0),selectNodesOnDrag:writable(!0),markers:readable([]),defaultMarkerColor:writable("#b1b1b7"),lib:readable("svelte"),onlyRenderVisibleElements:writable(!1),onerror:writable(devWarn),ondelete:writable(void 0),onedgecreate:writable(void 0),onconnect:writable(void 0),onconnectstart:writable(void 0),onconnectend:writable(void 0),onbeforedelete:writable(void 0),nodesInitialized:writable(!1),edgesInitialized:writable(!1),viewportInitialized:writable(!1),initialized:readable(!1)}};function getVisibleEdges(So){const $o=derived([So.edges,So.nodes,So.nodeLookup,So.onlyRenderVisibleElements,So.viewport,So.width,So.height],([ko,,Eo,Io,$a,ya,wa])=>Io&&ya&&wa?ko.filter(Sa=>{const Oa=Eo.get(Sa.source),Ca=Eo.get(Sa.target);return Oa&&Ca&&isEdgeVisible({sourceNode:Oa,targetNode:Ca,width:ya,height:wa,transform:[$a.x,$a.y,$a.zoom]})}):ko);return derived([$o,So.nodes,So.nodeLookup,So.connectionMode,So.onerror],([ko,,Eo,Io,$a])=>ko.reduce((wa,ka)=>{const Sa=Eo.get(ka.source),Oa=Eo.get(ka.target);if(!Sa||!Oa)return wa;const Ca=getEdgePosition({id:ka.id,sourceNode:Sa,targetNode:Oa,sourceHandle:ka.sourceHandle||null,targetHandle:ka.targetHandle||null,connectionMode:Io,onError:$a});return Ca&&wa.push({...ka,zIndex:getElevatedEdgeZIndex({selected:ka.selected,zIndex:ka.zIndex,sourceNode:Sa,targetNode:Oa,elevateOnSelect:!1}),...Ca}),wa},[]))}function getVisibleNodes(So){return derived([So.nodeLookup,So.onlyRenderVisibleElements,So.width,So.height,So.viewport,So.nodes],([$o,ko,Eo,Io,$a])=>{const ya=[$a.x,$a.y,$a.zoom];return ko?getNodesInside($o,{x:0,y:0,width:Eo,height:Io},ya,!0):Array.from($o.values())})}const key=Symbol();function createStore({nodes:So,edges:$o,width:ko,height:Eo,fitView:Io,nodeOrigin:$a,nodeExtent:ya}){const wa=getInitialStore({nodes:So,edges:$o,width:ko,height:Eo,fitView:Io,nodeOrigin:$a,nodeExtent:ya});function ka(Ga){wa.nodeTypes.set({...initialNodeTypes,...Ga})}function Sa(Ga){wa.edgeTypes.set({...initialEdgeTypes,...Ga})}function Oa(Ga){const Ka=get_store_value(wa.edges);wa.edges.set(addEdge(Ga,Ka))}const Ca=(Ga,Ka=!1)=>{var nl;const tl=get_store_value(wa.nodeLookup);for(const[rl,il]of Ga){const sl=(nl=tl.get(rl))==null?void 0:nl.internals.userNode;sl&&(sl.position=il.position,sl.dragging=Ka)}wa.nodes.update(rl=>rl)};function Ea(Ga){var il,sl,ul;const Ka=get_store_value(wa.nodeLookup),tl=get_store_value(wa.parentLookup),{changes:nl,updatedInternals:rl}=updateNodeInternals(Ga,Ka,get_store_value(wa.parentLookup),get_store_value(wa.domNode),get_store_value(wa.nodeOrigin));if(rl){updateAbsolutePositions(Ka,tl,{nodeOrigin:$a,nodeExtent:ya});for(const al of nl){const dl=(il=Ka.get(al.id))==null?void 0:il.internals.userNode;if(dl)switch(al.type){case"dimensions":{const gl={...dl.measured,...al.dimensions};al.setAttributes&&(dl.width=((sl=al.dimensions)==null?void 0:sl.width)??dl.width,dl.height=((ul=al.dimensions)==null?void 0:ul.height)??dl.height),dl.measured=gl;break}case"position":dl.position=al.position??dl.position;break}}wa.nodes.update(al=>al),get_store_value(wa.nodesInitialized)||wa.nodesInitialized.set(!0)}}function Ta(Ga){const Ka=get_store_value(wa.fitViewResolver)??withResolvers();return wa.fitViewQueued.set(!0),wa.fitViewOptions.set(Ga),wa.fitViewResolver.set(Ka),wa.nodes.set(get_store_value(wa.nodes)),Ka.promise}function Aa(Ga,Ka){const tl=get_store_value(wa.panZoom);return tl?tl.scaleBy(Ga,Ka):Promise.resolve(!1)}function Ia(Ga){return Aa(1.2,Ga)}function Pa(Ga){return Aa(1/1.2,Ga)}function Ra(Ga){const Ka=get_store_value(wa.panZoom);Ka&&(Ka.setScaleExtent([Ga,get_store_value(wa.maxZoom)]),wa.minZoom.set(Ga))}function Da(Ga){const Ka=get_store_value(wa.panZoom);Ka&&(Ka.setScaleExtent([get_store_value(wa.minZoom),Ga]),wa.maxZoom.set(Ga))}function La(Ga){const Ka=get_store_value(wa.panZoom);Ka&&(Ka.setTranslateExtent(Ga),wa.translateExtent.set(Ga))}function Na(Ga){let Ka=!1;return Ga.forEach(tl=>{tl.selected&&(tl.selected=!1,Ka=!0)}),Ka}function Ba(Ga){var Ka;(Ka=get_store_value(wa.panZoom))==null||Ka.setClickDistance(Ga)}function Fa(Ga){Na((Ga==null?void 0:Ga.nodes)||get_store_value(wa.nodes))&&wa.nodes.set(get_store_value(wa.nodes)),Na((Ga==null?void 0:Ga.edges)||get_store_value(wa.edges))&&wa.edges.set(get_store_value(wa.edges))}wa.deleteKeyPressed.subscribe(async Ga=>{var Ka;if(Ga){const tl=get_store_value(wa.nodes),nl=get_store_value(wa.edges),rl=tl.filter(al=>al.selected),il=nl.filter(al=>al.selected),{nodes:sl,edges:ul}=await getElementsToRemove({nodesToRemove:rl,edgesToRemove:il,nodes:tl,edges:nl,onBeforeDelete:get_store_value(wa.onbeforedelete)});(sl.length||ul.length)&&(wa.nodes.update(al=>al.filter(dl=>!sl.some(gl=>gl.id===dl.id))),wa.edges.update(al=>al.filter(dl=>!ul.some(gl=>gl.id===dl.id))),(Ka=get_store_value(wa.ondelete))==null||Ka({nodes:sl,edges:ul}))}});function za(Ga){const Ka=get_store_value(wa.multiselectionKeyPressed);wa.nodes.update(tl=>tl.map(nl=>{const rl=Ga.includes(nl.id),il=Ka&&nl.selected||rl;return nl.selected=il,nl})),Ka||wa.edges.update(tl=>tl.map(nl=>(nl.selected=!1,nl)))}function Ua(Ga){const Ka=get_store_value(wa.multiselectionKeyPressed);wa.edges.update(tl=>tl.map(nl=>{const rl=Ga.includes(nl.id),il=Ka&&nl.selected||rl;return nl.selected=il,nl})),Ka||wa.nodes.update(tl=>tl.map(nl=>(nl.selected=!1,nl)))}function Ha(Ga){var tl;const Ka=(tl=get_store_value(wa.nodes))==null?void 0:tl.find(nl=>nl.id===Ga);if(!Ka){console.warn("012",errorMessages.error012(Ga));return}wa.selectionRect.set(null),wa.selectionRectMode.set(null),Ka.selected?Ka.selected&&get_store_value(wa.multiselectionKeyPressed)&&Fa({nodes:[Ka],edges:[]}):za([Ga])}function Wa(Ga){const Ka=get_store_value(wa.viewport);return panBy({delta:Ga,panZoom:get_store_value(wa.panZoom),transform:[Ka.x,Ka.y,Ka.zoom],translateExtent:get_store_value(wa.translateExtent),width:get_store_value(wa.width),height:get_store_value(wa.height)})}const ja=writable(initialConnection),Ya=Ga=>{ja.set({...Ga})};function Xa(){ja.set(initialConnection)}function Za(){wa.selectionRect.set(null),wa.selectionRectMode.set(null),wa.snapGrid.set(null),wa.isValidConnection.set(()=>!0),Fa(),Xa()}return{...wa,visibleEdges:getVisibleEdges(wa),visibleNodes:getVisibleNodes(wa),connection:derived([ja,wa.viewport],([Ga,Ka])=>Ga.inProgress?{...Ga,to:pointToRendererPoint(Ga.to,[Ka.x,Ka.y,Ka.zoom])}:{...Ga}),markers:derived([wa.edges,wa.defaultMarkerColor,wa.flowId],([Ga,Ka,tl])=>createMarkerIds(Ga,{defaultColor:Ka,id:tl})),initialized:(()=>{let Ga=!1;const Ka=get_store_value(wa.nodes).length,tl=get_store_value(wa.edges).length;return derived([wa.nodesInitialized,wa.edgesInitialized,wa.viewportInitialized],([nl,rl,il])=>Ga||(Ka===0?Ga=il:tl===0?Ga=il&&nl:Ga=il&&nl&&rl,Ga))})(),syncNodeStores:Ga=>syncNodeStores(wa.nodes,Ga),syncEdgeStores:Ga=>syncEdgeStores(wa.edges,Ga),syncViewport:Ga=>syncViewportStores(wa.panZoom,wa.viewport,Ga),setNodeTypes:ka,setEdgeTypes:Sa,addEdge:Oa,updateNodePositions:Ca,updateNodeInternals:Ea,zoomIn:Ia,zoomOut:Pa,fitView:Ga=>Ta(Ga),setMinZoom:Ra,setMaxZoom:Da,setTranslateExtent:La,setPaneClickDistance:Ba,unselectNodesAndEdges:Fa,addSelectedNodes:za,addSelectedEdges:Ua,handleNodeSelection:Ha,panBy:Wa,updateConnection:Ya,cancelConnection:Xa,reset:Za}}function useStore(){const So=getContext$1(key);if(!So)throw new Error("In order to use useStore you need to wrap your component in a <SvelteFlowProvider />");return So.getStore()}function createStoreContext({nodes:So,edges:$o,width:ko,height:Eo,fitView:Io,nodeOrigin:$a,nodeExtent:ya}){const wa=createStore({nodes:So,edges:$o,width:ko,height:Eo,fitView:Io,nodeOrigin:$a,nodeExtent:ya});return setContext(key,{getStore:()=>wa}),wa}function zoom(So,$o){const{panZoom:ko,minZoom:Eo,maxZoom:Io,initialViewport:$a,viewport:ya,dragging:wa,translateExtent:ka,paneClickDistance:Sa}=$o,Oa=XYPanZoom({domNode:So,minZoom:Eo,maxZoom:Io,translateExtent:ka,viewport:$a,paneClickDistance:Sa,onDraggingChange:wa.set}),Ca=Oa.getViewport();return ya.set(Ca),ko.set(Oa),Oa.update($o),{update(Ea){Oa.update(Ea)}}}const Zoom_svelte_svelte_type_style_lang="";function create_fragment$7j(So){let $o,ko,Eo,Io,$a;const ya=So[35].default,wa=create_slot(ya,So,So[34],null);return{c(){$o=element("div"),wa&&wa.c(),attr($o,"class","svelte-flow__zoom svelte-4xkw84")},m(ka,Sa){insert$1(ka,$o,Sa),wa&&wa.m($o,null),Eo=!0,Io||($a=action_destroyer(ko=zoom.call(null,$o,{viewport:So[18],minZoom:So[12],maxZoom:So[13],initialViewport:So[11],dragging:So[23],panZoom:So[19],onPanZoomStart:So[0],onPanZoom:So[1],onPanZoomEnd:So[2],zoomOnScroll:So[5],zoomOnDoubleClick:So[6],zoomOnPinch:So[7],panOnScroll:So[9],panOnDrag:So[10],panOnScrollSpeed:.5,panOnScrollMode:So[3]||PanOnScrollMode.Free,zoomActivationKeyPressed:So[14],preventScrolling:typeof So[4]=="boolean"?So[4]:!0,noPanClassName:"nopan",noWheelClassName:"nowheel",userSelectionActive:!!So[15],translateExtent:So[16],lib:So[17],paneClickDistance:So[8],onTransformChange:So[29]})),Io=!0)},p(ka,Sa){wa&&wa.p&&(!Eo||Sa[1]&8)&&update_slot_base(wa,ya,ka,ka[34],Eo?get_slot_changes(ya,ka[34],Sa,null):get_all_dirty_from_scope(ka[34]),null),ko&&is_function(ko.update)&&Sa[0]&262143&&ko.update.call(null,{viewport:ka[18],minZoom:ka[12],maxZoom:ka[13],initialViewport:ka[11],dragging:ka[23],panZoom:ka[19],onPanZoomStart:ka[0],onPanZoom:ka[1],onPanZoomEnd:ka[2],zoomOnScroll:ka[5],zoomOnDoubleClick:ka[6],zoomOnPinch:ka[7],panOnScroll:ka[9],panOnDrag:ka[10],panOnScrollSpeed:.5,panOnScrollMode:ka[3]||PanOnScrollMode.Free,zoomActivationKeyPressed:ka[14],preventScrolling:typeof ka[4]=="boolean"?ka[4]:!0,noPanClassName:"nopan",noWheelClassName:"nowheel",userSelectionActive:!!ka[15],translateExtent:ka[16],lib:ka[17],paneClickDistance:ka[8],onTransformChange:ka[29]})},i(ka){Eo||(transition_in(wa,ka),Eo=!0)},o(ka){transition_out(wa,ka),Eo=!1},d(ka){ka&&detach($o),wa&&wa.d(ka),Io=!1,$a()}}}function instance$7h(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta,{$$slots:Aa={},$$scope:Ia}=$o,{initialViewport:Pa=void 0}=$o,{onMoveStart:Ra=void 0}=$o,{onMove:Da=void 0}=$o,{onMoveEnd:La=void 0}=$o,{panOnScrollMode:Na}=$o,{preventScrolling:Ba}=$o,{zoomOnScroll:Fa}=$o,{zoomOnDoubleClick:za}=$o,{zoomOnPinch:Ua}=$o,{panOnDrag:Ha}=$o,{panOnScroll:Wa}=$o,{paneClickDistance:ja}=$o;const{viewport:Ya,panZoom:Xa,selectionRect:Za,minZoom:Ga,maxZoom:Ka,dragging:tl,translateExtent:nl,lib:rl,panActivationKeyPressed:il,zoomActivationKeyPressed:sl,viewportInitialized:ul}=useStore();component_subscribe(So,Za,dl=>ko(15,Ca=dl)),component_subscribe(So,Ga,dl=>ko(12,ka=dl)),component_subscribe(So,Ka,dl=>ko(13,Sa=dl)),component_subscribe(So,nl,dl=>ko(16,Ea=dl)),component_subscribe(So,rl,dl=>ko(17,Ta=dl)),component_subscribe(So,il,dl=>ko(33,wa=dl)),component_subscribe(So,sl,dl=>ko(14,Oa=dl)),component_subscribe(So,ul,dl=>ko(36,ya=dl));const al=dl=>Ya.set({x:dl[0],y:dl[1],zoom:dl[2]});return onMount(()=>{set_store_value(ul,ya=!0,ya)}),So.$$set=dl=>{"initialViewport"in dl&&ko(30,Pa=dl.initialViewport),"onMoveStart"in dl&&ko(0,Ra=dl.onMoveStart),"onMove"in dl&&ko(1,Da=dl.onMove),"onMoveEnd"in dl&&ko(2,La=dl.onMoveEnd),"panOnScrollMode"in dl&&ko(3,Na=dl.panOnScrollMode),"preventScrolling"in dl&&ko(4,Ba=dl.preventScrolling),"zoomOnScroll"in dl&&ko(5,Fa=dl.zoomOnScroll),"zoomOnDoubleClick"in dl&&ko(6,za=dl.zoomOnDoubleClick),"zoomOnPinch"in dl&&ko(7,Ua=dl.zoomOnPinch),"panOnDrag"in dl&&ko(31,Ha=dl.panOnDrag),"panOnScroll"in dl&&ko(32,Wa=dl.panOnScroll),"paneClickDistance"in dl&&ko(8,ja=dl.paneClickDistance),"$$scope"in dl&&ko(34,Ia=dl.$$scope)},So.$$.update=()=>{So.$$.dirty[0]&1073741824&&ko(11,Eo=Pa||{x:0,y:0,zoom:1}),So.$$.dirty[1]&5&&ko(10,Io=wa||Ha),So.$$.dirty[1]&6&&ko(9,$a=wa||Wa)},[Ra,Da,La,Na,Ba,Fa,za,Ua,ja,$a,Io,Eo,ka,Sa,Oa,Ca,Ea,Ta,Ya,Xa,Za,Ga,Ka,tl,nl,rl,il,sl,ul,al,Pa,Ha,Wa,wa,Ia,Aa]}class Zoom extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7h,create_fragment$7j,safe_not_equal,{initialViewport:30,onMoveStart:0,onMove:1,onMoveEnd:2,panOnScrollMode:3,preventScrolling:4,zoomOnScroll:5,zoomOnDoubleClick:6,zoomOnPinch:7,panOnDrag:31,panOnScroll:32,paneClickDistance:8},null,[-1,-1])}}const Zoom$1=Zoom,Pane_svelte_svelte_type_style_lang="";function create_fragment$7i(So){let $o,ko,Eo,Io;const $a=So[29].default,ya=create_slot($a,So,So[28],null);return{c(){$o=element("div"),ya&&ya.c(),attr($o,"class","svelte-flow__pane svelte-1esy7hx"),toggle_class($o,"draggable",So[0]===!0||Array.isArray(So[0])&&So[0].includes(0)),toggle_class($o,"dragging",So[4]),toggle_class($o,"selection",So[1])},m(wa,ka){insert$1(wa,$o,ka),ya&&ya.m($o,null),So[30]($o),ko=!0,Eo||(Io=[listen($o,"click",function(){is_function(So[3]?void 0:wrapHandler(So[16],So[2]))&&(So[3]?void 0:wrapHandler(So[16],So[2])).apply(this,arguments)}),listen($o,"pointerdown",function(){is_function(So[3]?So[17]:void 0)&&(So[3]?So[17]:void 0).apply(this,arguments)}),listen($o,"pointermove",function(){is_function(So[3]?So[18]:void 0)&&(So[3]?So[18]:void 0).apply(this,arguments)}),listen($o,"pointerup",function(){is_function(So[3]?So[19]:void 0)&&(So[3]?So[19]:void 0).apply(this,arguments)}),listen($o,"contextmenu",function(){is_function(wrapHandler(So[20],So[2]))&&wrapHandler(So[20],So[2]).apply(this,arguments)})],Eo=!0)},p(wa,ka){So=wa,ya&&ya.p&&(!ko||ka[0]&268435456)&&update_slot_base(ya,$a,So,So[28],ko?get_slot_changes($a,So[28],ka,null):get_all_dirty_from_scope(So[28]),null),(!ko||ka[0]&1)&&toggle_class($o,"draggable",So[0]===!0||Array.isArray(So[0])&&So[0].includes(0)),(!ko||ka[0]&16)&&toggle_class($o,"dragging",So[4]),(!ko||ka[0]&2)&&toggle_class($o,"selection",So[1])},i(wa){ko||(transition_in(ya,wa),ko=!0)},o(wa){transition_out(ya,wa),ko=!1},d(wa){wa&&detach($o),ya&&ya.d(wa),So[30](null),Eo=!1,run_all(Io)}}}function wrapHandler(So,$o){return ko=>{ko.target===$o&&(So==null||So(ko))}}function toggleSelected(So){return $o=>{const ko=So.includes($o.id);return $o.selected!==ko&&($o.selected=ko),$o}}function instance$7g(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta,Aa,Ia,Pa,{$$slots:Ra={},$$scope:Da}=$o,{panOnDrag:La=void 0}=$o,{selectionOnDrag:Na=void 0}=$o;const Ba=createEventDispatcher(),{nodes:Fa,nodeLookup:za,edges:Ua,viewport:Ha,dragging:Wa,elementsSelectable:ja,selectionRect:Ya,selectionRectMode:Xa,selectionKeyPressed:Za,selectionMode:Ga,panActivationKeyPressed:Ka,unselectNodesAndEdges:tl,connection:nl}=useStore();component_subscribe(So,za,ml=>ko(37,Ca=ml)),component_subscribe(So,Ua,ml=>ko(34,ka=ml)),component_subscribe(So,Ha,ml=>ko(36,Oa=ml)),component_subscribe(So,Wa,ml=>ko(4,Pa=ml)),component_subscribe(So,ja,ml=>ko(26,Aa=ml)),component_subscribe(So,Ya,ml=>ko(25,Ea=ml)),component_subscribe(So,Xa,ml=>ko(24,wa=ml)),component_subscribe(So,Za,ml=>ko(23,ya=ml)),component_subscribe(So,Ga,ml=>ko(35,Sa=ml)),component_subscribe(So,Ka,ml=>ko(27,Ia=ml)),component_subscribe(So,nl,ml=>ko(38,Ta=ml));let rl,il=null,sl=[],ul=!1;function al(ml){if(ul||Ta.inProgress){ul=!1;return}Ba("paneclick",{event:ml}),tl(),Xa.set(null)}function dl(ml){var bl,Cl;if(il=rl.getBoundingClientRect(),!ja||!Io||ml.button!==0||ml.target!==rl||!il)return;(Cl=(bl=ml.target)==null?void 0:bl.setPointerCapture)==null||Cl.call(bl,ml.pointerId);const{x:vl,y:$l}=getEventPosition(ml,il);tl(),Ya.set({width:0,height:0,startX:vl,startY:$l,x:vl,y:$l})}function gl(ml){if(!Io||!il||!Ea)return;ul=!0;const vl=getEventPosition(ml,il),$l=Ea.startX??0,bl=Ea.startY??0,Cl={...Ea,x:vl.x<$l?vl.x:$l,y:vl.y<bl?vl.y:bl,width:Math.abs(vl.x-$l),height:Math.abs(vl.y-bl)},wl=sl.map(Gl=>Gl.id),Al=getConnectedEdges(sl,ka).map(Gl=>Gl.id);sl=getNodesInside(Ca,Cl,[Oa.x,Oa.y,Oa.zoom],Sa===SelectionMode.Partial,!0);const Ll=getConnectedEdges(sl,ka).map(Gl=>Gl.id),Dl=sl.map(Gl=>Gl.id);(wl.length!==Dl.length||Dl.some(Gl=>!wl.includes(Gl)))&&Fa.update(Gl=>Gl.map(toggleSelected(Dl))),(Al.length!==Ll.length||Ll.some(Gl=>!Al.includes(Gl)))&&Ua.update(Gl=>Gl.map(toggleSelected(Ll))),Xa.set("user"),Ya.set(Cl)}function cl(ml){var vl,$l;ml.button===0&&(($l=(vl=ml.target)==null?void 0:vl.releasePointerCapture)==null||$l.call(vl,ml.pointerId),!Io&&wa==="user"&&ml.target===rl&&(al==null||al(ml)),Ya.set(null),sl.length>0&&set_store_value(Xa,wa="nodes",wa),ya&&(ul=!1))}const fl=ml=>{if(Array.isArray(Eo)&&(Eo!=null&&Eo.includes(2))){ml.preventDefault();return}Ba("panecontextmenu",{event:ml})};function pl(ml){binding_callbacks[ml?"unshift":"push"](()=>{rl=ml,ko(2,rl)})}return So.$$set=ml=>{"panOnDrag"in ml&&ko(0,La=ml.panOnDrag),"selectionOnDrag"in ml&&ko(21,Na=ml.selectionOnDrag),"$$scope"in ml&&ko(28,Da=ml.$$scope)},So.$$.update=()=>{So.$$.dirty[0]&134217729&&ko(22,Eo=Ia||La),So.$$.dirty[0]&48234496&&ko(1,Io=ya||Ea||Na&&Eo!==!0),So.$$.dirty[0]&83886082&&ko(3,$a=Aa&&(Io||wa==="user"))},[La,Io,rl,$a,Pa,za,Ua,Ha,Wa,ja,Ya,Xa,Za,Ga,Ka,nl,al,dl,gl,cl,fl,Na,Eo,ya,wa,Ea,Aa,Ia,Da,Ra,pl]}class Pane extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7g,create_fragment$7i,safe_not_equal,{panOnDrag:0,selectionOnDrag:21},null,[-1,-1])}}const Pane$1=Pane,Viewport_svelte_svelte_type_style_lang="";function create_fragment$7h(So){let $o,ko;const Eo=So[3].default,Io=create_slot(Eo,So,So[2],null);return{c(){$o=element("div"),Io&&Io.c(),attr($o,"class","svelte-flow__viewport xyflow__viewport svelte-1floaup"),set_style($o,"transform","translate("+So[0].x+"px, "+So[0].y+"px) scale("+So[0].zoom+")")},m($a,ya){insert$1($a,$o,ya),Io&&Io.m($o,null),ko=!0},p($a,[ya]){Io&&Io.p&&(!ko||ya&4)&&update_slot_base(Io,Eo,$a,$a[2],ko?get_slot_changes(Eo,$a[2],ya,null):get_all_dirty_from_scope($a[2]),null),(!ko||ya&1)&&set_style($o,"transform","translate("+$a[0].x+"px, "+$a[0].y+"px) scale("+$a[0].zoom+")")},i($a){ko||(transition_in(Io,$a),ko=!0)},o($a){transition_out(Io,$a),ko=!1},d($a){$a&&detach($o),Io&&Io.d($a)}}}function instance$7f(So,$o,ko){let Eo,{$$slots:Io={},$$scope:$a}=$o;const{viewport:ya}=useStore();return component_subscribe(So,ya,wa=>ko(0,Eo=wa)),So.$$set=wa=>{"$$scope"in wa&&ko(2,$a=wa.$$scope)},[Eo,ya,$a,Io]}class Viewport extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7f,create_fragment$7h,safe_not_equal,{})}}const ViewportComponent=Viewport;function drag(So,$o){const{store:ko,onDrag:Eo,onDragStart:Io,onDragStop:$a,onNodeMouseDown:ya}=$o,wa=XYDrag({onDrag:Eo,onDragStart:Io,onDragStop:$a,onNodeMouseDown:ya,getStoreItems:()=>{const Sa=get_store_value(ko.snapGrid),Oa=get_store_value(ko.viewport);return{nodes:get_store_value(ko.nodes),nodeLookup:get_store_value(ko.nodeLookup),edges:get_store_value(ko.edges),nodeExtent:get_store_value(ko.nodeExtent),snapGrid:Sa||[0,0],snapToGrid:!!Sa,nodeOrigin:get_store_value(ko.nodeOrigin),multiSelectionActive:get_store_value(ko.multiselectionKeyPressed),domNode:get_store_value(ko.domNode),transform:[Oa.x,Oa.y,Oa.zoom],autoPanOnNodeDrag:get_store_value(ko.autoPanOnNodeDrag),nodesDraggable:get_store_value(ko.nodesDraggable),selectNodesOnDrag:get_store_value(ko.selectNodesOnDrag),nodeDragThreshold:get_store_value(ko.nodeDragThreshold),unselectNodesAndEdges:ko.unselectNodesAndEdges,updateNodePositions:ko.updateNodePositions,panBy:ko.panBy}}});function ka(Sa,Oa){if(Oa.disabled){wa.destroy();return}wa.update({domNode:Sa,noDragClassName:Oa.noDragClass,handleSelector:Oa.handleSelector,nodeId:Oa.nodeId,isSelectable:Oa.isSelectable,nodeClickDistance:Oa.nodeClickDistance})}return ka(So,$o),{update(Sa){ka(So,Sa)},destroy(){wa.destroy()}}}function getNodeInlineStyleDimensions({width:So,height:$o,initialWidth:ko,initialHeight:Eo,measuredWidth:Io,measuredHeight:$a}){if(Io===void 0&&$a===void 0){const ya=So??ko,wa=$o??Eo;return{width:ya?`width:${ya}px;`:"",height:wa?`height:${wa}px;`:""}}return{width:So?`width:${So}px;`:"",height:$o?`height:${$o}px;`:""}}function create_if_block$3n(So){let $o,ko,Eo,Io,$a,ya=`translate(${So[12]}px, ${So[13]}px)`,wa,ka,Sa;var Oa=So[27];function Ca(Ea,Ta){return{props:{data:Ea[2],id:Ea[1],selected:Ea[3]??!1,selectable:Ea[5]??Ea[28]??!0,deletable:Ea[7]??!0,sourcePosition:Ea[14],targetPosition:Ea[15],zIndex:Ea[16],dragging:Ea[9],draggable:Ea[4]??Ea[29]??!0,dragHandle:Ea[19],parentId:Ea[21],type:Ea[25],isConnectable:Ea[30],positionAbsoluteX:Ea[12],positionAbsoluteY:Ea[13],width:Ea[17],height:Ea[18]}}}return Oa&&(ko=construct_svelte_component(Oa,Ca(So))),{c(){$o=element("div"),ko&&create_component(ko.$$.fragment),attr($o,"data-id",So[1]),attr($o,"class",Eo=cc(["svelte-flow__node",`svelte-flow__node-${So[25]}`,So[23]])),attr($o,"style",Io=(So[10]??"")+";"+So[26].width+So[26].height),toggle_class($o,"dragging",So[9]),toggle_class($o,"selected",So[3]),toggle_class($o,"draggable",So[4]),toggle_class($o,"connectable",So[6]),toggle_class($o,"selectable",So[5]),toggle_class($o,"nopan",So[4]),toggle_class($o,"parent",So[11]),set_style($o,"z-index",So[16]),set_style($o,"transform",ya),set_style($o,"visibility",So[20]?"visible":"hidden")},m(Ea,Ta){insert$1(Ea,$o,Ta),ko&&mount_component(ko,$o,null),So[54]($o),wa=!0,ka||(Sa=[action_destroyer($a=drag.call(null,$o,{nodeId:So[1],isSelectable:So[5],disabled:!1,handleSelector:So[19],noDragClass:"nodrag",nodeClickDistance:So[22],onNodeMouseDown:So[33],onDrag:So[51],onDragStart:So[52],onDragStop:So[53],store:So[31]})),listen($o,"click",So[38]),listen($o,"mouseenter",So[55]),listen($o,"mouseleave",So[56]),listen($o,"mousemove",So[57]),listen($o,"contextmenu",So[58])],ka=!0)},p(Ea,Ta){if(Ta[0]&134217728&&Oa!==(Oa=Ea[27])){if(ko){group_outros();const Ia=ko;transition_out(Ia.$$.fragment,1,0,()=>{destroy_component(Ia,1)}),check_outros()}Oa?(ko=construct_svelte_component(Oa,Ca(Ea)),create_component(ko.$$.fragment),transition_in(ko.$$.fragment,1),mount_component(ko,$o,null)):ko=null}else if(Oa){const Ia={};Ta[0]&4&&(Ia.data=Ea[2]),Ta[0]&2&&(Ia.id=Ea[1]),Ta[0]&8&&(Ia.selected=Ea[3]??!1),Ta[0]&268435488&&(Ia.selectable=Ea[5]??Ea[28]??!0),Ta[0]&128&&(Ia.deletable=Ea[7]??!0),Ta[0]&16384&&(Ia.sourcePosition=Ea[14]),Ta[0]&32768&&(Ia.targetPosition=Ea[15]),Ta[0]&65536&&(Ia.zIndex=Ea[16]),Ta[0]&512&&(Ia.dragging=Ea[9]),Ta[0]&536870928&&(Ia.draggable=Ea[4]??Ea[29]??!0),Ta[0]&524288&&(Ia.dragHandle=Ea[19]),Ta[0]&2097152&&(Ia.parentId=Ea[21]),Ta[0]&33554432&&(Ia.type=Ea[25]),Ta[0]&1073741824&&(Ia.isConnectable=Ea[30]),Ta[0]&4096&&(Ia.positionAbsoluteX=Ea[12]),Ta[0]&8192&&(Ia.positionAbsoluteY=Ea[13]),Ta[0]&131072&&(Ia.width=Ea[17]),Ta[0]&262144&&(Ia.height=Ea[18]),ko.$set(Ia)}(!wa||Ta[0]&2)&&attr($o,"data-id",Ea[1]),(!wa||Ta[0]&41943040&&Eo!==(Eo=cc(["svelte-flow__node",`svelte-flow__node-${Ea[25]}`,Ea[23]])))&&attr($o,"class",Eo),(!wa||Ta[0]&67109888&&Io!==(Io=(Ea[10]??"")+";"+Ea[26].width+Ea[26].height))&&attr($o,"style",Io),$a&&is_function($a.update)&&Ta[0]&4718626&&$a.update.call(null,{nodeId:Ea[1],isSelectable:Ea[5],disabled:!1,handleSelector:Ea[19],noDragClass:"nodrag",nodeClickDistance:Ea[22],onNodeMouseDown:Ea[33],onDrag:Ea[51],onDragStart:Ea[52],onDragStop:Ea[53],store:Ea[31]}),(!wa||Ta[0]&41943552)&&toggle_class($o,"dragging",Ea[9]),(!wa||Ta[0]&41943048)&&toggle_class($o,"selected",Ea[3]),(!wa||Ta[0]&41943056)&&toggle_class($o,"draggable",Ea[4]),(!wa||Ta[0]&41943104)&&toggle_class($o,"connectable",Ea[6]),(!wa||Ta[0]&41943072)&&toggle_class($o,"selectable",Ea[5]),(!wa||Ta[0]&41943056)&&toggle_class($o,"nopan",Ea[4]),(!wa||Ta[0]&41945088)&&toggle_class($o,"parent",Ea[11]);const Aa=Ta[0]&67109888;(Ta[0]&67175424||Aa)&&set_style($o,"z-index",Ea[16]),(Ta[0]&67122176&&ya!==(ya=`translate(${Ea[12]}px, ${Ea[13]}px)`)||Aa)&&set_style($o,"transform",ya),(Ta[0]&68158464||Aa)&&set_style($o,"visibility",Ea[20]?"visible":"hidden")},i(Ea){wa||(ko&&transition_in(ko.$$.fragment,Ea),wa=!0)},o(Ea){ko&&transition_out(ko.$$.fragment,Ea),wa=!1},d(Ea){Ea&&detach($o),ko&&destroy_component(ko),So[54](null),ka=!1,run_all(Sa)}}}function create_fragment$7g(So){let $o,ko,Eo=!So[8]&&create_if_block$3n(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m(Io,$a){Eo&&Eo.m(Io,$a),insert$1(Io,$o,$a),ko=!0},p(Io,$a){Io[8]?Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros()):Eo?(Eo.p(Io,$a),$a[0]&256&&transition_in(Eo,1)):(Eo=create_if_block$3n(Io),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o))},i(Io){ko||(transition_in(Eo),ko=!0)},o(Io){transition_out(Eo),ko=!1},d(Io){Io&&detach($o),Eo&&Eo.d(Io)}}}function instance$7e(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa,Oa,{node:Ca}=$o,{id:Ea}=$o,{data:Ta={}}=$o,{selected:Aa=!1}=$o,{draggable:Ia=void 0}=$o,{selectable:Pa=void 0}=$o,{connectable:Ra=!0}=$o,{deletable:Da=!0}=$o,{hidden:La=!1}=$o,{dragging:Na=!1}=$o,{resizeObserver:Ba=null}=$o,{style:Fa=void 0}=$o,{type:za="default"}=$o,{isParent:Ua=!1}=$o,{positionX:Ha}=$o,{positionY:Wa}=$o,{sourcePosition:ja=void 0}=$o,{targetPosition:Ya=void 0}=$o,{zIndex:Xa}=$o,{measuredWidth:Za=void 0}=$o,{measuredHeight:Ga=void 0}=$o,{initialWidth:Ka=void 0}=$o,{initialHeight:tl=void 0}=$o,{width:nl=void 0}=$o,{height:rl=void 0}=$o,{dragHandle:il=void 0}=$o,{initialized:sl=!1}=$o,{parentId:ul=void 0}=$o,{nodeClickDistance:al=void 0}=$o,{class:dl=""}=$o;const gl=useStore(),{nodeTypes:cl,nodeDragThreshold:fl,selectNodesOnDrag:pl,handleNodeSelection:ml,updateNodeInternals:vl,elementsSelectable:$l,nodesDraggable:bl}=gl;component_subscribe(So,cl,Il=>ko(50,wa=Il)),component_subscribe(So,$l,Il=>ko(28,ka=Il)),component_subscribe(So,bl,Il=>ko(29,Sa=Il));let Cl,wl=null;const Al=createEventDispatcher(),Ll=writable(Ra);component_subscribe(So,Ll,Il=>ko(30,Oa=Il));let Dl,Gl,Ol;setContext("svelteflow__node_id",Ea),setContext("svelteflow__node_connectable",Ll),onDestroy(()=>{wl&&(Ba==null||Ba.unobserve(wl))});function ic(Il){Pa&&(!get_store_value(pl)||!Ia||get_store_value(fl)>0)&&ml(Ea),Al("nodeclick",{node:Ca.internals.userNode,event:Il})}const zl=(Il,Wl,Tl,Bl)=>{Al("nodedrag",{event:Il,targetNode:Tl,nodes:Bl})},Ml=(Il,Wl,Tl,Bl)=>{Al("nodedragstart",{event:Il,targetNode:Tl,nodes:Bl})},Kl=(Il,Wl,Tl,Bl)=>{Al("nodedragstop",{event:Il,targetNode:Tl,nodes:Bl})};function Ul(Il){binding_callbacks[Il?"unshift":"push"](()=>{Cl=Il,ko(24,Cl)})}const Yl=Il=>Al("nodemouseenter",{node:Ca,event:Il}),jl=Il=>Al("nodemouseleave",{node:Ca,event:Il}),Rl=Il=>Al("nodemousemove",{node:Ca,event:Il}),ql=Il=>Al("nodecontextmenu",{node:Ca,event:Il});return So.$$set=Il=>{"node"in Il&&ko(0,Ca=Il.node),"id"in Il&&ko(1,Ea=Il.id),"data"in Il&&ko(2,Ta=Il.data),"selected"in Il&&ko(3,Aa=Il.selected),"draggable"in Il&&ko(4,Ia=Il.draggable),"selectable"in Il&&ko(5,Pa=Il.selectable),"connectable"in Il&&ko(6,Ra=Il.connectable),"deletable"in Il&&ko(7,Da=Il.deletable),"hidden"in Il&&ko(8,La=Il.hidden),"dragging"in Il&&ko(9,Na=Il.dragging),"resizeObserver"in Il&&ko(39,Ba=Il.resizeObserver),"style"in Il&&ko(10,Fa=Il.style),"type"in Il&&ko(40,za=Il.type),"isParent"in Il&&ko(11,Ua=Il.isParent),"positionX"in Il&&ko(12,Ha=Il.positionX),"positionY"in Il&&ko(13,Wa=Il.positionY),"sourcePosition"in Il&&ko(14,ja=Il.sourcePosition),"targetPosition"in Il&&ko(15,Ya=Il.targetPosition),"zIndex"in Il&&ko(16,Xa=Il.zIndex),"measuredWidth"in Il&&ko(41,Za=Il.measuredWidth),"measuredHeight"in Il&&ko(42,Ga=Il.measuredHeight),"initialWidth"in Il&&ko(43,Ka=Il.initialWidth),"initialHeight"in Il&&ko(44,tl=Il.initialHeight),"width"in Il&&ko(17,nl=Il.width),"height"in Il&&ko(18,rl=Il.height),"dragHandle"in Il&&ko(19,il=Il.dragHandle),"initialized"in Il&&ko(20,sl=Il.initialized),"parentId"in Il&&ko(21,ul=Il.parentId),"nodeClickDistance"in Il&&ko(22,al=Il.nodeClickDistance),"class"in Il&&ko(23,dl=Il.class)},So.$$.update=()=>{So.$$.dirty[1]&512&&ko(25,Eo=za||"default"),So.$$.dirty[0]&33554432|So.$$.dirty[1]&524288&&ko(49,Io=!!wa[Eo]),So.$$.dirty[0]&33554432|So.$$.dirty[1]&524288&&ko(27,$a=wa[Eo]||DefaultNode$1),So.$$.dirty[1]&262656&&(Io||console.warn("003",errorMessages.error003(za))),So.$$.dirty[0]&393216|So.$$.dirty[1]&15360&&ko(26,ya=getNodeInlineStyleDimensions({width:nl,height:rl,initialWidth:Ka,initialHeight:tl,measuredWidth:Za,measuredHeight:Ga})),So.$$.dirty[0]&64&&Ll.set(!!Ra),So.$$.dirty[0]&50380802|So.$$.dirty[1]&229376&&((Dl&&Eo!==Dl||Gl&&ja!==Gl||Ol&&Ya!==Ol)&&requestAnimationFrame(()=>vl(new Map([[Ea,{id:Ea,nodeElement:Cl,force:!0}]]))),ko(46,Dl=Eo),ko(47,Gl=ja),ko(48,Ol=Ya)),So.$$.dirty[0]&17825792|So.$$.dirty[1]&16640&&Ba&&(Cl!==wl||!sl)&&(wl&&Ba.unobserve(wl),Cl&&Ba.observe(Cl),ko(45,wl=Cl))},[Ca,Ea,Ta,Aa,Ia,Pa,Ra,Da,La,Na,Fa,Ua,Ha,Wa,ja,Ya,Xa,nl,rl,il,sl,ul,al,dl,Cl,Eo,ya,$a,ka,Sa,Oa,gl,cl,ml,$l,bl,Al,Ll,ic,Ba,za,Za,Ga,Ka,tl,wl,Dl,Gl,Ol,Io,wa,zl,Ml,Kl,Ul,Yl,jl,Rl,ql]}let NodeWrapper$1=class extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7e,create_fragment$7g,not_equal,{node:0,id:1,data:2,selected:3,draggable:4,selectable:5,connectable:6,deletable:7,hidden:8,dragging:9,resizeObserver:39,style:10,type:40,isParent:11,positionX:12,positionY:13,sourcePosition:14,targetPosition:15,zIndex:16,measuredWidth:41,measuredHeight:42,initialWidth:43,initialHeight:44,width:17,height:18,dragHandle:19,initialized:20,parentId:21,nodeClickDistance:22,class:23},null,[-1,-1])}};const NodeWrapper$2=NodeWrapper$1,NodeRenderer_svelte_svelte_type_style_lang="",{Map:Map_1}=globals$1;function get_each_context$1x(So,$o,ko){const Eo=So.slice();return Eo[21]=$o[ko],Eo}function create_each_block$1x(So,$o){let ko,Eo,Io;return Eo=new NodeWrapper$2({props:{node:$o[21],id:$o[21].id,data:$o[21].data,selected:!!$o[21].selected,hidden:!!$o[21].hidden,draggable:!!($o[21].draggable||$o[2]&&typeof $o[21].draggable>"u"),selectable:!!($o[21].selectable||$o[3]&&typeof $o[21].selectable>"u"),connectable:!!($o[21].connectable||$o[4]&&typeof $o[21].connectable>"u"),deletable:$o[21].deletable??!0,positionX:$o[21].internals.positionAbsolute.x,positionY:$o[21].internals.positionAbsolute.y,isParent:$o[5].has($o[21].id),style:$o[21].style,class:$o[21].class,type:$o[21].type??"default",sourcePosition:$o[21].sourcePosition,targetPosition:$o[21].targetPosition,dragging:$o[21].dragging,zIndex:$o[21].internals.z??0,dragHandle:$o[21].dragHandle,initialized:nodeHasDimensions($o[21]),width:$o[21].width,height:$o[21].height,initialWidth:$o[21].initialWidth,initialHeight:$o[21].initialHeight,measuredWidth:$o[21].measured.width,measuredHeight:$o[21].measured.height,parentId:$o[21].parentId,resizeObserver:$o[11],nodeClickDistance:$o[0]}}),Eo.$on("nodeclick",$o[12]),Eo.$on("nodemouseenter",$o[13]),Eo.$on("nodemousemove",$o[14]),Eo.$on("nodemouseleave",$o[15]),Eo.$on("nodedrag",$o[16]),Eo.$on("nodedragstart",$o[17]),Eo.$on("nodedragstop",$o[18]),Eo.$on("nodecontextmenu",$o[19]),{key:So,first:null,c(){ko=empty$4(),create_component(Eo.$$.fragment),this.first=ko},m($a,ya){insert$1($a,ko,ya),mount_component(Eo,$a,ya),Io=!0},p($a,ya){$o=$a;const wa={};ya&2&&(wa.node=$o[21]),ya&2&&(wa.id=$o[21].id),ya&2&&(wa.data=$o[21].data),ya&2&&(wa.selected=!!$o[21].selected),ya&2&&(wa.hidden=!!$o[21].hidden),ya&6&&(wa.draggable=!!($o[21].draggable||$o[2]&&typeof $o[21].draggable>"u")),ya&10&&(wa.selectable=!!($o[21].selectable||$o[3]&&typeof $o[21].selectable>"u")),ya&18&&(wa.connectable=!!($o[21].connectable||$o[4]&&typeof $o[21].connectable>"u")),ya&2&&(wa.deletable=$o[21].deletable??!0),ya&2&&(wa.positionX=$o[21].internals.positionAbsolute.x),ya&2&&(wa.positionY=$o[21].internals.positionAbsolute.y),ya&34&&(wa.isParent=$o[5].has($o[21].id)),ya&2&&(wa.style=$o[21].style),ya&2&&(wa.class=$o[21].class),ya&2&&(wa.type=$o[21].type??"default"),ya&2&&(wa.sourcePosition=$o[21].sourcePosition),ya&2&&(wa.targetPosition=$o[21].targetPosition),ya&2&&(wa.dragging=$o[21].dragging),ya&2&&(wa.zIndex=$o[21].internals.z??0),ya&2&&(wa.dragHandle=$o[21].dragHandle),ya&2&&(wa.initialized=nodeHasDimensions($o[21])),ya&2&&(wa.width=$o[21].width),ya&2&&(wa.height=$o[21].height),ya&2&&(wa.initialWidth=$o[21].initialWidth),ya&2&&(wa.initialHeight=$o[21].initialHeight),ya&2&&(wa.measuredWidth=$o[21].measured.width),ya&2&&(wa.measuredHeight=$o[21].measured.height),ya&2&&(wa.parentId=$o[21].parentId),ya&1&&(wa.nodeClickDistance=$o[0]),Eo.$set(wa)},i($a){Io||(transition_in(Eo.$$.fragment,$a),Io=!0)},o($a){transition_out(Eo.$$.fragment,$a),Io=!1},d($a){$a&&detach(ko),destroy_component(Eo,$a)}}}function create_fragment$7f(So){let $o,ko=[],Eo=new Map_1,Io,$a=ensure_array_like(So[1]);const ya=wa=>wa[21].id;for(let wa=0;wa<$a.length;wa+=1){let ka=get_each_context$1x(So,$a,wa),Sa=ya(ka);Eo.set(Sa,ko[wa]=create_each_block$1x(Sa,ka))}return{c(){$o=element("div");for(let wa=0;wa<ko.length;wa+=1)ko[wa].c();attr($o,"class","svelte-flow__nodes svelte-tf4uy4")},m(wa,ka){insert$1(wa,$o,ka);for(let Sa=0;Sa<ko.length;Sa+=1)ko[Sa]&&ko[Sa].m($o,null);Io=!0},p(wa,[ka]){ka&2111&&($a=ensure_array_like(wa[1]),group_outros(),ko=update_keyed_each(ko,ka,ya,1,wa,$a,Eo,$o,outro_and_destroy_block,create_each_block$1x,null,get_each_context$1x),check_outros())},i(wa){if(!Io){for(let ka=0;ka<$a.length;ka+=1)transition_in(ko[ka]);Io=!0}},o(wa){for(let ka=0;ka<ko.length;ka+=1)transition_out(ko[ka]);Io=!1},d(wa){wa&&detach($o);for(let ka=0;ka<ko.length;ka+=1)ko[ka].d()}}}function instance$7d(So,$o,ko){let Eo,Io,$a,ya,wa,{nodeClickDistance:ka=0}=$o;const{visibleNodes:Sa,nodesDraggable:Oa,nodesConnectable:Ca,elementsSelectable:Ea,updateNodeInternals:Ta,parentLookup:Aa}=useStore();component_subscribe(So,Sa,Ua=>ko(1,Eo=Ua)),component_subscribe(So,Oa,Ua=>ko(2,Io=Ua)),component_subscribe(So,Ca,Ua=>ko(4,ya=Ua)),component_subscribe(So,Ea,Ua=>ko(3,$a=Ua)),component_subscribe(So,Aa,Ua=>ko(5,wa=Ua));const Ia=typeof ResizeObserver>"u"?null:new ResizeObserver(Ua=>{const Ha=new Map;Ua.forEach(Wa=>{const ja=Wa.target.getAttribute("data-id");Ha.set(ja,{id:ja,nodeElement:Wa.target,force:!0})}),Ta(Ha)});onDestroy(()=>{Ia==null||Ia.disconnect()});function Pa(Ua){bubble.call(this,So,Ua)}function Ra(Ua){bubble.call(this,So,Ua)}function Da(Ua){bubble.call(this,So,Ua)}function La(Ua){bubble.call(this,So,Ua)}function Na(Ua){bubble.call(this,So,Ua)}function Ba(Ua){bubble.call(this,So,Ua)}function Fa(Ua){bubble.call(this,So,Ua)}function za(Ua){bubble.call(this,So,Ua)}return So.$$set=Ua=>{"nodeClickDistance"in Ua&&ko(0,ka=Ua.nodeClickDistance)},[ka,Eo,Io,$a,ya,wa,Sa,Oa,Ca,Ea,Aa,Ia,Pa,Ra,Da,La,Na,Ba,Fa,za]}class NodeRenderer extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7d,create_fragment$7f,safe_not_equal,{nodeClickDistance:0})}}const NodeRenderer$1=NodeRenderer;function create_if_block$3m(So){let $o,ko,Eo,Io,$a,ya,wa,ka;var Sa=So[27];function Oa(Ca,Ea){return{props:{id:Ca[0],source:Ca[1],target:Ca[2],sourceX:Ca[14],sourceY:Ca[15],targetX:Ca[16],targetY:Ca[17],sourcePosition:Ca[18],targetPosition:Ca[19],animated:Ca[6],selected:Ca[7],label:Ca[10],labelStyle:Ca[11],data:Ca[3],style:Ca[4],interactionWidth:Ca[21],selectable:Ca[24],deletable:Ca[8]??!0,type:Ca[23],sourceHandleId:Ca[12],targetHandleId:Ca[13],markerStart:Ca[26],markerEnd:Ca[25]}}}return Sa&&(Eo=construct_svelte_component(Sa,Oa(So))),{c(){$o=svg_element("svg"),ko=svg_element("g"),Eo&&create_component(Eo.$$.fragment),attr(ko,"class",Io=cc(["svelte-flow__edge",So[22]])),attr(ko,"data-id",So[0]),attr(ko,"aria-label",$a=So[20]===null?void 0:So[20]?So[20]:`Edge from ${So[1]} to ${So[2]}`),attr(ko,"role","img"),toggle_class(ko,"animated",So[6]),toggle_class(ko,"selected",So[7]),toggle_class(ko,"selectable",So[24]),set_style($o,"z-index",So[5])},m(Ca,Ea){insert$1(Ca,$o,Ea),append$2($o,ko),Eo&&mount_component(Eo,ko,null),ya=!0,wa||(ka=[listen(ko,"click",So[32]),listen(ko,"contextmenu",So[41]),listen(ko,"mouseenter",So[42]),listen(ko,"mouseleave",So[43])],wa=!0)},p(Ca,Ea){if(Ea[0]&134217728&&Sa!==(Sa=Ca[27])){if(Eo){group_outros();const Ta=Eo;transition_out(Ta.$$.fragment,1,0,()=>{destroy_component(Ta,1)}),check_outros()}Sa?(Eo=construct_svelte_component(Sa,Oa(Ca)),create_component(Eo.$$.fragment),transition_in(Eo.$$.fragment,1),mount_component(Eo,ko,null)):Eo=null}else if(Sa){const Ta={};Ea[0]&1&&(Ta.id=Ca[0]),Ea[0]&2&&(Ta.source=Ca[1]),Ea[0]&4&&(Ta.target=Ca[2]),Ea[0]&16384&&(Ta.sourceX=Ca[14]),Ea[0]&32768&&(Ta.sourceY=Ca[15]),Ea[0]&65536&&(Ta.targetX=Ca[16]),Ea[0]&131072&&(Ta.targetY=Ca[17]),Ea[0]&262144&&(Ta.sourcePosition=Ca[18]),Ea[0]&524288&&(Ta.targetPosition=Ca[19]),Ea[0]&64&&(Ta.animated=Ca[6]),Ea[0]&128&&(Ta.selected=Ca[7]),Ea[0]&1024&&(Ta.label=Ca[10]),Ea[0]&2048&&(Ta.labelStyle=Ca[11]),Ea[0]&8&&(Ta.data=Ca[3]),Ea[0]&16&&(Ta.style=Ca[4]),Ea[0]&2097152&&(Ta.interactionWidth=Ca[21]),Ea[0]&16777216&&(Ta.selectable=Ca[24]),Ea[0]&256&&(Ta.deletable=Ca[8]??!0),Ea[0]&8388608&&(Ta.type=Ca[23]),Ea[0]&4096&&(Ta.sourceHandleId=Ca[12]),Ea[0]&8192&&(Ta.targetHandleId=Ca[13]),Ea[0]&67108864&&(Ta.markerStart=Ca[26]),Ea[0]&33554432&&(Ta.markerEnd=Ca[25]),Eo.$set(Ta)}(!ya||Ea[0]&4194304&&Io!==(Io=cc(["svelte-flow__edge",Ca[22]])))&&attr(ko,"class",Io),(!ya||Ea[0]&1)&&attr(ko,"data-id",Ca[0]),(!ya||Ea[0]&1048582&&$a!==($a=Ca[20]===null?void 0:Ca[20]?Ca[20]:`Edge from ${Ca[1]} to ${Ca[2]}`))&&attr(ko,"aria-label",$a),(!ya||Ea[0]&4194368)&&toggle_class(ko,"animated",Ca[6]),(!ya||Ea[0]&4194432)&&toggle_class(ko,"selected",Ca[7]),(!ya||Ea[0]&20971520)&&toggle_class(ko,"selectable",Ca[24]),Ea[0]&32&&set_style($o,"z-index",Ca[5])},i(Ca){ya||(Eo&&transition_in(Eo.$$.fragment,Ca),ya=!0)},o(Ca){Eo&&transition_out(Eo.$$.fragment,Ca),ya=!1},d(Ca){Ca&&detach($o),Eo&&destroy_component(Eo),wa=!1,run_all(ka)}}}function create_fragment$7e(So){let $o,ko,Eo=!So[9]&&create_if_block$3m(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m(Io,$a){Eo&&Eo.m(Io,$a),insert$1(Io,$o,$a),ko=!0},p(Io,$a){Io[9]?Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros()):Eo?(Eo.p(Io,$a),$a[0]&512&&transition_in(Eo,1)):(Eo=create_if_block$3m(Io),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o))},i(Io){ko||(transition_in(Eo),ko=!0)},o(Io){transition_out(Eo),ko=!1},d(Io){Io&&detach($o),Eo&&Eo.d(Io)}}}function instance$7c(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,{id:Ea}=$o,{type:Ta="default"}=$o,{source:Aa=""}=$o,{target:Ia=""}=$o,{data:Pa={}}=$o,{style:Ra=void 0}=$o,{zIndex:Da=void 0}=$o,{animated:La=!1}=$o,{selected:Na=!1}=$o,{selectable:Ba=void 0}=$o,{deletable:Fa=void 0}=$o,{hidden:za=!1}=$o,{label:Ua=void 0}=$o,{labelStyle:Ha=void 0}=$o,{markerStart:Wa=void 0}=$o,{markerEnd:ja=void 0}=$o,{sourceHandle:Ya=void 0}=$o,{targetHandle:Xa=void 0}=$o,{sourceX:Za}=$o,{sourceY:Ga}=$o,{targetX:Ka}=$o,{targetY:tl}=$o,{sourcePosition:nl}=$o,{targetPosition:rl}=$o,{ariaLabel:il=void 0}=$o,{interactionWidth:sl=void 0}=$o,{class:ul=""}=$o;setContext("svelteflow__edge_id",Ea);const{edgeLookup:al,edgeTypes:dl,flowId:gl,elementsSelectable:cl}=useStore();component_subscribe(So,al,wl=>ko(44,ka=wl)),component_subscribe(So,dl,wl=>ko(40,Ca=wl)),component_subscribe(So,gl,wl=>ko(39,Oa=wl)),component_subscribe(So,cl,wl=>ko(38,Sa=wl));const fl=createEventDispatcher(),pl=useHandleEdgeSelect();function ml(wl){const Al=ka.get(Ea);Al&&(pl(Ea),fl("edgeclick",{event:wl,edge:Al}))}function vl(wl,Al){const Ll=ka.get(Ea);Ll&&fl(Al,{event:wl,edge:Ll})}const $l=wl=>{vl(wl,"edgecontextmenu")},bl=wl=>{vl(wl,"edgemouseenter")},Cl=wl=>{vl(wl,"edgemouseleave")};return So.$$set=wl=>{"id"in wl&&ko(0,Ea=wl.id),"type"in wl&&ko(34,Ta=wl.type),"source"in wl&&ko(1,Aa=wl.source),"target"in wl&&ko(2,Ia=wl.target),"data"in wl&&ko(3,Pa=wl.data),"style"in wl&&ko(4,Ra=wl.style),"zIndex"in wl&&ko(5,Da=wl.zIndex),"animated"in wl&&ko(6,La=wl.animated),"selected"in wl&&ko(7,Na=wl.selected),"selectable"in wl&&ko(35,Ba=wl.selectable),"deletable"in wl&&ko(8,Fa=wl.deletable),"hidden"in wl&&ko(9,za=wl.hidden),"label"in wl&&ko(10,Ua=wl.label),"labelStyle"in wl&&ko(11,Ha=wl.labelStyle),"markerStart"in wl&&ko(36,Wa=wl.markerStart),"markerEnd"in wl&&ko(37,ja=wl.markerEnd),"sourceHandle"in wl&&ko(12,Ya=wl.sourceHandle),"targetHandle"in wl&&ko(13,Xa=wl.targetHandle),"sourceX"in wl&&ko(14,Za=wl.sourceX),"sourceY"in wl&&ko(15,Ga=wl.sourceY),"targetX"in wl&&ko(16,Ka=wl.targetX),"targetY"in wl&&ko(17,tl=wl.targetY),"sourcePosition"in wl&&ko(18,nl=wl.sourcePosition),"targetPosition"in wl&&ko(19,rl=wl.targetPosition),"ariaLabel"in wl&&ko(20,il=wl.ariaLabel),"interactionWidth"in wl&&ko(21,sl=wl.interactionWidth),"class"in wl&&ko(22,ul=wl.class)},So.$$.update=()=>{So.$$.dirty[1]&8&&ko(23,Eo=Ta||"default"),So.$$.dirty[0]&8388608|So.$$.dirty[1]&512&&ko(27,Io=Ca[Eo]||BezierEdgeInternal$1),So.$$.dirty[1]&288&&ko(26,$a=Wa?`url('#${getMarkerId(Wa,Oa)}')`:void 0),So.$$.dirty[1]&320&&ko(25,ya=ja?`url('#${getMarkerId(ja,Oa)}')`:void 0),So.$$.dirty[1]&144&&ko(24,wa=Ba??Sa)},[Ea,Aa,Ia,Pa,Ra,Da,La,Na,Fa,za,Ua,Ha,Ya,Xa,Za,Ga,Ka,tl,nl,rl,il,sl,ul,Eo,wa,ya,$a,Io,al,dl,gl,cl,ml,vl,Ta,Ba,Wa,ja,Sa,Oa,Ca,$l,bl,Cl]}class EdgeWrapper extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7c,create_fragment$7e,not_equal,{id:0,type:34,source:1,target:2,data:3,style:4,zIndex:5,animated:6,selected:7,selectable:35,deletable:8,hidden:9,label:10,labelStyle:11,markerStart:36,markerEnd:37,sourceHandle:12,targetHandle:13,sourceX:14,sourceY:15,targetX:16,targetY:17,sourcePosition:18,targetPosition:19,ariaLabel:20,interactionWidth:21,class:22},null,[-1,-1])}}const EdgeWrapper$1=EdgeWrapper;function instance$7b(So,$o,ko){let{onMount:Eo=void 0}=$o,{onDestroy:Io=void 0}=$o;return onMount(()=>(Eo==null||Eo(),Io)),So.$$set=$a=>{"onMount"in $a&&ko(0,Eo=$a.onMount),"onDestroy"in $a&&ko(1,Io=$a.onDestroy)},[Eo,Io]}class CallOnMount extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7b,null,safe_not_equal,{onMount:0,onDestroy:1})}}const CallOnMount$1=CallOnMount;function get_each_context$1w(So,$o,ko){const Eo=So.slice();return Eo[2]=$o[ko],Eo}function create_each_block$1w(So,$o){let ko,Eo,Io;const $a=[$o[2]];let ya={};for(let wa=0;wa<$a.length;wa+=1)ya=assign$1(ya,$a[wa]);return Eo=new Marker$1({props:ya}),{key:So,first:null,c(){ko=empty$4(),create_component(Eo.$$.fragment),this.first=ko},m(wa,ka){insert$1(wa,ko,ka),mount_component(Eo,wa,ka),Io=!0},p(wa,ka){$o=wa;const Sa=ka&1?get_spread_update($a,[get_spread_object($o[2])]):{};Eo.$set(Sa)},i(wa){Io||(transition_in(Eo.$$.fragment,wa),Io=!0)},o(wa){transition_out(Eo.$$.fragment,wa),Io=!1},d(wa){wa&&detach(ko),destroy_component(Eo,wa)}}}function create_fragment$7d(So){let $o,ko=[],Eo=new Map,Io,$a=ensure_array_like(So[0]);const ya=wa=>wa[2].id;for(let wa=0;wa<$a.length;wa+=1){let ka=get_each_context$1w(So,$a,wa),Sa=ya(ka);Eo.set(Sa,ko[wa]=create_each_block$1w(Sa,ka))}return{c(){$o=svg_element("defs");for(let wa=0;wa<ko.length;wa+=1)ko[wa].c()},m(wa,ka){insert$1(wa,$o,ka);for(let Sa=0;Sa<ko.length;Sa+=1)ko[Sa]&&ko[Sa].m($o,null);Io=!0},p(wa,[ka]){ka&1&&($a=ensure_array_like(wa[0]),group_outros(),ko=update_keyed_each(ko,ka,ya,1,wa,$a,Eo,$o,outro_and_destroy_block,create_each_block$1w,null,get_each_context$1w),check_outros())},i(wa){if(!Io){for(let ka=0;ka<$a.length;ka+=1)transition_in(ko[ka]);Io=!0}},o(wa){for(let ka=0;ka<ko.length;ka+=1)transition_out(ko[ka]);Io=!1},d(wa){wa&&detach($o);for(let ka=0;ka<ko.length;ka+=1)ko[ka].d()}}}function instance$7a(So,$o,ko){let Eo;const{markers:Io}=useStore();return component_subscribe(So,Io,$a=>ko(0,Eo=$a)),[Eo,Io]}class MarkerDefinition extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7a,create_fragment$7d,safe_not_equal,{})}}const MarkerDefinition$1=MarkerDefinition;function create_if_block_1$1O(So){let $o;return{c(){$o=svg_element("polyline"),attr($o,"stroke",So[6]),attr($o,"stroke-linecap","round"),attr($o,"stroke-linejoin","round"),attr($o,"stroke-width",So[7]),attr($o,"fill",So[6]),attr($o,"points","-5,-4 0,0 -5,4 -5,-4")},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo&64&&attr($o,"stroke",ko[6]),Eo&128&&attr($o,"stroke-width",ko[7]),Eo&64&&attr($o,"fill",ko[6])},d(ko){ko&&detach($o)}}}function create_if_block$3l(So){let $o;return{c(){$o=svg_element("polyline"),attr($o,"stroke",So[6]),attr($o,"stroke-linecap","round"),attr($o,"stroke-linejoin","round"),attr($o,"stroke-width",So[7]),attr($o,"fill","none"),attr($o,"points","-5,-4 0,0 -5,4")},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo&64&&attr($o,"stroke",ko[6]),Eo&128&&attr($o,"stroke-width",ko[7])},d(ko){ko&&detach($o)}}}function create_fragment$7c(So){let $o,ko,Eo;function Io(wa,ka){if(wa[1]===MarkerType.Arrow)return create_if_block$3l;if(wa[1]===MarkerType.ArrowClosed)return create_if_block_1$1O}let $a=Io(So),ya=$a&&$a(So);return{c(){$o=svg_element("marker"),ya&&ya.c(),attr($o,"class","svelte-flow__arrowhead"),attr($o,"id",So[0]),attr($o,"markerWidth",ko=`${So[2]}`),attr($o,"markerHeight",Eo=`${So[3]}`),attr($o,"viewBox","-10 -10 20 20"),attr($o,"markerUnits",So[4]),attr($o,"orient",So[5]),attr($o,"refX","0"),attr($o,"refY","0")},m(wa,ka){insert$1(wa,$o,ka),ya&&ya.m($o,null)},p(wa,[ka]){$a===($a=Io(wa))&&ya?ya.p(wa,ka):(ya&&ya.d(1),ya=$a&&$a(wa),ya&&(ya.c(),ya.m($o,null))),ka&1&&attr($o,"id",wa[0]),ka&4&&ko!==(ko=`${wa[2]}`)&&attr($o,"markerWidth",ko),ka&8&&Eo!==(Eo=`${wa[3]}`)&&attr($o,"markerHeight",Eo),ka&16&&attr($o,"markerUnits",wa[4]),ka&32&&attr($o,"orient",wa[5])},i:noop$5,o:noop$5,d(wa){wa&&detach($o),ya&&ya.d()}}}function instance$79(So,$o,ko){let{id:Eo}=$o,{type:Io}=$o,{width:$a=12.5}=$o,{height:ya=12.5}=$o,{markerUnits:wa="strokeWidth"}=$o,{orient:ka="auto-start-reverse"}=$o,{color:Sa=void 0}=$o,{strokeWidth:Oa=void 0}=$o;return So.$$set=Ca=>{"id"in Ca&&ko(0,Eo=Ca.id),"type"in Ca&&ko(1,Io=Ca.type),"width"in Ca&&ko(2,$a=Ca.width),"height"in Ca&&ko(3,ya=Ca.height),"markerUnits"in Ca&&ko(4,wa=Ca.markerUnits),"orient"in Ca&&ko(5,ka=Ca.orient),"color"in Ca&&ko(6,Sa=Ca.color),"strokeWidth"in Ca&&ko(7,Oa=Ca.strokeWidth)},[Eo,Io,$a,ya,wa,ka,Sa,Oa]}class Marker extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$79,create_fragment$7c,safe_not_equal,{id:0,type:1,width:2,height:3,markerUnits:4,orient:5,color:6,strokeWidth:7})}}const Marker$1=Marker;function get_each_context$1v(So,$o,ko){const Eo=So.slice();return Eo[14]=$o[ko],Eo}function create_each_block$1v(So,$o){let ko,Eo,Io;return Eo=new EdgeWrapper$1({props:{id:$o[14].id,source:$o[14].source,target:$o[14].target,data:$o[14].data,style:$o[14].style,animated:$o[14].animated,selected:$o[14].selected,selectable:$o[14].selectable??$o[1],deletable:$o[14].deletable,hidden:$o[14].hidden,label:$o[14].label,labelStyle:$o[14].labelStyle,markerStart:$o[14].markerStart,markerEnd:$o[14].markerEnd,sourceHandle:$o[14].sourceHandle,targetHandle:$o[14].targetHandle,sourceX:$o[14].sourceX,sourceY:$o[14].sourceY,targetX:$o[14].targetX,targetY:$o[14].targetY,sourcePosition:$o[14].sourcePosition,targetPosition:$o[14].targetPosition,ariaLabel:$o[14].ariaLabel,interactionWidth:$o[14].interactionWidth,class:$o[14].class,type:$o[14].type||"default",zIndex:$o[14].zIndex}}),Eo.$on("edgeclick",$o[7]),Eo.$on("edgecontextmenu",$o[8]),Eo.$on("edgemouseenter",$o[9]),Eo.$on("edgemouseleave",$o[10]),{key:So,first:null,c(){ko=empty$4(),create_component(Eo.$$.fragment),this.first=ko},m($a,ya){insert$1($a,ko,ya),mount_component(Eo,$a,ya),Io=!0},p($a,ya){$o=$a;const wa={};ya&1&&(wa.id=$o[14].id),ya&1&&(wa.source=$o[14].source),ya&1&&(wa.target=$o[14].target),ya&1&&(wa.data=$o[14].data),ya&1&&(wa.style=$o[14].style),ya&1&&(wa.animated=$o[14].animated),ya&1&&(wa.selected=$o[14].selected),ya&3&&(wa.selectable=$o[14].selectable??$o[1]),ya&1&&(wa.deletable=$o[14].deletable),ya&1&&(wa.hidden=$o[14].hidden),ya&1&&(wa.label=$o[14].label),ya&1&&(wa.labelStyle=$o[14].labelStyle),ya&1&&(wa.markerStart=$o[14].markerStart),ya&1&&(wa.markerEnd=$o[14].markerEnd),ya&1&&(wa.sourceHandle=$o[14].sourceHandle),ya&1&&(wa.targetHandle=$o[14].targetHandle),ya&1&&(wa.sourceX=$o[14].sourceX),ya&1&&(wa.sourceY=$o[14].sourceY),ya&1&&(wa.targetX=$o[14].targetX),ya&1&&(wa.targetY=$o[14].targetY),ya&1&&(wa.sourcePosition=$o[14].sourcePosition),ya&1&&(wa.targetPosition=$o[14].targetPosition),ya&1&&(wa.ariaLabel=$o[14].ariaLabel),ya&1&&(wa.interactionWidth=$o[14].interactionWidth),ya&1&&(wa.class=$o[14].class),ya&1&&(wa.type=$o[14].type||"default"),ya&1&&(wa.zIndex=$o[14].zIndex),Eo.$set(wa)},i($a){Io||(transition_in(Eo.$$.fragment,$a),Io=!0)},o($a){transition_out(Eo.$$.fragment,$a),Io=!1},d($a){$a&&detach(ko),destroy_component(Eo,$a)}}}function create_if_block$3k(So){let $o,ko;return $o=new CallOnMount$1({props:{onMount:So[11],onDestroy:So[12]}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&4&&($a.onMount=Eo[11]),Io&4&&($a.onDestroy=Eo[12]),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_fragment$7b(So){let $o,ko,Eo,Io,$a=[],ya=new Map,wa,ka;Eo=new MarkerDefinition$1({});let Sa=ensure_array_like(So[0]);const Oa=Ea=>Ea[14].id;for(let Ea=0;Ea<Sa.length;Ea+=1){let Ta=get_each_context$1v(So,Sa,Ea),Aa=Oa(Ta);ya.set(Aa,$a[Ea]=create_each_block$1v(Aa,Ta))}let Ca=So[0].length>0&&create_if_block$3k(So);return{c(){$o=element("div"),ko=svg_element("svg"),create_component(Eo.$$.fragment),Io=space$2();for(let Ea=0;Ea<$a.length;Ea+=1)$a[Ea].c();wa=space$2(),Ca&&Ca.c(),attr(ko,"class","svelte-flow__marker"),attr($o,"class","svelte-flow__edges")},m(Ea,Ta){insert$1(Ea,$o,Ta),append$2($o,ko),mount_component(Eo,ko,null),append$2($o,Io);for(let Aa=0;Aa<$a.length;Aa+=1)$a[Aa]&&$a[Aa].m($o,null);append$2($o,wa),Ca&&Ca.m($o,null),ka=!0},p(Ea,[Ta]){Ta&3&&(Sa=ensure_array_like(Ea[0]),group_outros(),$a=update_keyed_each($a,Ta,Oa,1,Ea,Sa,ya,$o,outro_and_destroy_block,create_each_block$1v,wa,get_each_context$1v),check_outros()),Ea[0].length>0?Ca?(Ca.p(Ea,Ta),Ta&1&&transition_in(Ca,1)):(Ca=create_if_block$3k(Ea),Ca.c(),transition_in(Ca,1),Ca.m($o,null)):Ca&&(group_outros(),transition_out(Ca,1,1,()=>{Ca=null}),check_outros())},i(Ea){if(!ka){transition_in(Eo.$$.fragment,Ea);for(let Ta=0;Ta<Sa.length;Ta+=1)transition_in($a[Ta]);transition_in(Ca),ka=!0}},o(Ea){transition_out(Eo.$$.fragment,Ea);for(let Ta=0;Ta<$a.length;Ta+=1)transition_out($a[Ta]);transition_out(Ca),ka=!1},d(Ea){Ea&&detach($o),destroy_component(Eo);for(let Ta=0;Ta<$a.length;Ta+=1)$a[Ta].d();Ca&&Ca.d()}}}function instance$78(So,$o,ko){let Eo,Io,$a,{defaultEdgeOptions:ya}=$o;const{visibleEdges:wa,edgesInitialized:ka,edges:{setDefaultOptions:Sa},elementsSelectable:Oa}=useStore();component_subscribe(So,wa,Ra=>ko(0,Eo=Ra)),component_subscribe(So,ka,Ra=>ko(2,$a=Ra)),component_subscribe(So,Oa,Ra=>ko(1,Io=Ra)),onMount(()=>{ya&&Sa(ya)});function Ca(Ra){bubble.call(this,So,Ra)}function Ea(Ra){bubble.call(this,So,Ra)}function Ta(Ra){bubble.call(this,So,Ra)}function Aa(Ra){bubble.call(this,So,Ra)}const Ia=()=>{set_store_value(ka,$a=!0,$a)},Pa=()=>{set_store_value(ka,$a=!1,$a)};return So.$$set=Ra=>{"defaultEdgeOptions"in Ra&&ko(6,ya=Ra.defaultEdgeOptions)},[Eo,Io,$a,wa,ka,Oa,ya,Ca,Ea,Ta,Aa,Ia,Pa]}class EdgeRenderer extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$78,create_fragment$7b,safe_not_equal,{defaultEdgeOptions:6})}}const EdgeRenderer$1=EdgeRenderer,Selection_svelte_svelte_type_style_lang="";function create_if_block$3j(So){let $o;return{c(){$o=element("div"),attr($o,"class","svelte-flow__selection svelte-1iugwpu"),set_style($o,"width",typeof So[2]=="string"?So[2]:`${So[2]}px`),set_style($o,"height",typeof So[3]=="string"?So[3]:`${So[3]}px`),set_style($o,"transform",`translate(${So[0]}px, ${So[1]}px)`)},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo&4&&set_style($o,"width",typeof ko[2]=="string"?ko[2]:`${ko[2]}px`),Eo&8&&set_style($o,"height",typeof ko[3]=="string"?ko[3]:`${ko[3]}px`),Eo&3&&set_style($o,"transform",`translate(${ko[0]}px, ${ko[1]}px)`)},d(ko){ko&&detach($o)}}}function create_fragment$7a(So){let $o,ko=So[4]&&create_if_block$3j(So);return{c(){ko&&ko.c(),$o=empty$4()},m(Eo,Io){ko&&ko.m(Eo,Io),insert$1(Eo,$o,Io)},p(Eo,[Io]){Eo[4]?ko?ko.p(Eo,Io):(ko=create_if_block$3j(Eo),ko.c(),ko.m($o.parentNode,$o)):ko&&(ko.d(1),ko=null)},i:noop$5,o:noop$5,d(Eo){Eo&&detach($o),ko&&ko.d(Eo)}}}function instance$77(So,$o,ko){let{x:Eo=0}=$o,{y:Io=0}=$o,{width:$a=0}=$o,{height:ya=0}=$o,{isVisible:wa=!0}=$o;return So.$$set=ka=>{"x"in ka&&ko(0,Eo=ka.x),"y"in ka&&ko(1,Io=ka.y),"width"in ka&&ko(2,$a=ka.width),"height"in ka&&ko(3,ya=ka.height),"isVisible"in ka&&ko(4,wa=ka.isVisible)},[Eo,Io,$a,ya,wa]}class Selection extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$77,create_fragment$7a,safe_not_equal,{x:0,y:1,width:2,height:3,isVisible:4})}}const Selection$1=Selection;function create_fragment$79(So){var Eo,Io,$a,ya;let $o,ko;return $o=new Selection$1({props:{isVisible:!!(So[0]&&So[1]==="user"),width:(Eo=So[0])==null?void 0:Eo.width,height:(Io=So[0])==null?void 0:Io.height,x:($a=So[0])==null?void 0:$a.x,y:(ya=So[0])==null?void 0:ya.y}}),{c(){create_component($o.$$.fragment)},m(wa,ka){mount_component($o,wa,ka),ko=!0},p(wa,[ka]){var Oa,Ca,Ea,Ta;const Sa={};ka&3&&(Sa.isVisible=!!(wa[0]&&wa[1]==="user")),ka&1&&(Sa.width=(Oa=wa[0])==null?void 0:Oa.width),ka&1&&(Sa.height=(Ca=wa[0])==null?void 0:Ca.height),ka&1&&(Sa.x=(Ea=wa[0])==null?void 0:Ea.x),ka&1&&(Sa.y=(Ta=wa[0])==null?void 0:Ta.y),$o.$set(Sa)},i(wa){ko||(transition_in($o.$$.fragment,wa),ko=!0)},o(wa){transition_out($o.$$.fragment,wa),ko=!1},d(wa){destroy_component($o,wa)}}}function instance$76(So,$o,ko){let Eo,Io;const{selectionRect:$a,selectionRectMode:ya}=useStore();return component_subscribe(So,$a,wa=>ko(0,Eo=wa)),component_subscribe(So,ya,wa=>ko(1,Io=wa)),[Eo,Io,$a,ya]}class UserSelection extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$76,create_fragment$79,safe_not_equal,{})}}const UserSelection$1=UserSelection,NodeSelection_svelte_svelte_type_style_lang="";function create_if_block$3i(So){let $o,ko,Eo,Io,$a;return ko=new Selection$1({props:{width:"100%",height:"100%",x:0,y:0}}),{c(){$o=element("div"),create_component(ko.$$.fragment),attr($o,"class","selection-wrapper nopan svelte-5pxri"),set_style($o,"width",So[1].width+"px"),set_style($o,"height",So[1].height+"px"),set_style($o,"transform","translate("+So[1].x+"px, "+So[1].y+"px)"),attr($o,"role","button"),attr($o,"tabindex","-1")},m(ya,wa){insert$1(ya,$o,wa),mount_component(ko,$o,null),Eo=!0,Io||($a=[action_destroyer(drag.call(null,$o,{disabled:!1,store:So[2],onDrag:So[11],onDragStart:So[12],onDragStop:So[13]})),listen($o,"contextmenu",So[7]),listen($o,"click",So[8]),listen($o,"keyup",keyup_handler)],Io=!0)},p(ya,wa){(!Eo||wa&2)&&set_style($o,"width",ya[1].width+"px"),(!Eo||wa&2)&&set_style($o,"height",ya[1].height+"px"),(!Eo||wa&2)&&set_style($o,"transform","translate("+ya[1].x+"px, "+ya[1].y+"px)")},i(ya){Eo||(transition_in(ko.$$.fragment,ya),Eo=!0)},o(ya){transition_out(ko.$$.fragment,ya),Eo=!1},d(ya){ya&&detach($o),destroy_component(ko),Io=!1,run_all($a)}}}function create_fragment$78(So){let $o=So[0]==="nodes"&&So[1]&&isNumeric(So[1].x)&&isNumeric(So[1].y),ko,Eo,Io=$o&&create_if_block$3i(So);return{c(){Io&&Io.c(),ko=empty$4()},m($a,ya){Io&&Io.m($a,ya),insert$1($a,ko,ya),Eo=!0},p($a,[ya]){ya&3&&($o=$a[0]==="nodes"&&$a[1]&&isNumeric($a[1].x)&&isNumeric($a[1].y)),$o?Io?(Io.p($a,ya),ya&3&&transition_in(Io,1)):(Io=create_if_block$3i($a),Io.c(),transition_in(Io,1),Io.m(ko.parentNode,ko)):Io&&(group_outros(),transition_out(Io,1,1,()=>{Io=null}),check_outros())},i($a){Eo||(transition_in(Io),Eo=!0)},o($a){transition_out(Io),Eo=!1},d($a){$a&&detach(ko),Io&&Io.d($a)}}}const keyup_handler=()=>{};function instance$75(So,$o,ko){let Eo,Io,$a;const ya=useStore(),{selectionRectMode:wa,nodes:ka,nodeLookup:Sa}=ya;component_subscribe(So,wa,Ra=>ko(0,$a=Ra)),component_subscribe(So,ka,Ra=>ko(9,Eo=Ra)),component_subscribe(So,Sa,Ra=>ko(10,Io=Ra));const Oa=createEventDispatcher();let Ca=null;function Ea(Ra){const Da=Eo.filter(La=>La.selected);Oa("selectioncontextmenu",{nodes:Da,event:Ra})}function Ta(Ra){const Da=Eo.filter(La=>La.selected);Oa("selectionclick",{nodes:Da,event:Ra})}const Aa=(Ra,Da,La,Na)=>{Oa("nodedrag",{event:Ra,targetNode:null,nodes:Na})},Ia=(Ra,Da,La,Na)=>{Oa("nodedragstart",{event:Ra,targetNode:null,nodes:Na})},Pa=(Ra,Da,La,Na)=>{Oa("nodedragstop",{event:Ra,targetNode:null,nodes:Na})};return So.$$.update=()=>{So.$$.dirty&1537&&$a==="nodes"&&ko(1,Ca=getInternalNodesBounds(Io,{filter:Ra=>!!Ra.selected}))},[$a,Ca,ya,wa,ka,Sa,Oa,Ea,Ta,Eo,Io,Aa,Ia,Pa]}class NodeSelection extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$75,create_fragment$78,safe_not_equal,{})}}const NodeSelection$1=NodeSelection;function shortcut(So,$o){let{enabled:ko=!0,trigger:Eo,type:Io="keydown"}=$o;function $a(ya){const wa=Array.isArray(Eo)?Eo:[Eo],ka={alt:ya.altKey,ctrl:ya.ctrlKey,shift:ya.shiftKey,meta:ya.metaKey};for(const Sa of wa){const Oa={modifier:[],preventDefault:!1,enabled:!0,...Sa},{modifier:Ca,key:Ea,callback:Ta,preventDefault:Aa,enabled:Ia}=Oa;if(Ia){if(Ca.length&&!(Array.isArray(Ca)?Ca:[Ca]).map(Da=>typeof Da=="string"?[Da]:Da).some(Da=>Da.every(La=>ka[La])))continue;if(ya.key===Ea){Aa&&ya.preventDefault();const Pa={node:So,trigger:Oa,originalEvent:ya};So.dispatchEvent(new CustomEvent("shortcut",{detail:Pa})),Ta==null||Ta(Pa)}}}}return ko&&So.addEventListener(Io,$a),{update:ya=>{const{enabled:wa=!0,type:ka="keydown"}=ya;ko&&(!wa||Io!==ka)?So.removeEventListener(Io,$a):!ko&&wa&&So.addEventListener(ka,$a),ko=wa,Io=ka,Eo=ya.trigger},destroy:()=>{So.removeEventListener(Io,$a)}}}function create_fragment$77(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea;return{c:noop$5,m(Ta,Aa){Ca||(Ea=[action_destroyer($o=shortcut.call(null,window,{trigger:getShortcutTrigger(So[0],So[11]),type:"keydown"})),action_destroyer(ko=shortcut.call(null,window,{trigger:getShortcutTrigger(So[0],So[12]),type:"keyup"})),action_destroyer(Eo=shortcut.call(null,window,{trigger:getShortcutTrigger(So[1],So[13]),type:"keydown"})),action_destroyer(Io=shortcut.call(null,window,{trigger:getShortcutTrigger(So[1],So[14]),type:"keyup"})),action_destroyer($a=shortcut.call(null,window,{trigger:getShortcutTrigger(So[2],So[15]),type:"keydown"})),action_destroyer(ya=shortcut.call(null,window,{trigger:getShortcutTrigger(So[2],So[16]),type:"keyup"})),action_destroyer(wa=shortcut.call(null,window,{trigger:getShortcutTrigger(So[3],So[17]),type:"keydown"})),action_destroyer(ka=shortcut.call(null,window,{trigger:getShortcutTrigger(So[3],So[18]),type:"keyup"})),action_destroyer(Sa=shortcut.call(null,window,{trigger:getShortcutTrigger(So[4],So[19]),type:"keydown"})),action_destroyer(Oa=shortcut.call(null,window,{trigger:getShortcutTrigger(So[4],So[20]),type:"keyup"})),listen(window,"blur",So[10]),listen(window,"contextmenu",So[10])],Ca=!0)},p(Ta,[Aa]){$o&&is_function($o.update)&&Aa&1&&$o.update.call(null,{trigger:getShortcutTrigger(Ta[0],Ta[11]),type:"keydown"}),ko&&is_function(ko.update)&&Aa&1&&ko.update.call(null,{trigger:getShortcutTrigger(Ta[0],Ta[12]),type:"keyup"}),Eo&&is_function(Eo.update)&&Aa&2&&Eo.update.call(null,{trigger:getShortcutTrigger(Ta[1],Ta[13]),type:"keydown"}),Io&&is_function(Io.update)&&Aa&2&&Io.update.call(null,{trigger:getShortcutTrigger(Ta[1],Ta[14]),type:"keyup"}),$a&&is_function($a.update)&&Aa&4&&$a.update.call(null,{trigger:getShortcutTrigger(Ta[2],Ta[15]),type:"keydown"}),ya&&is_function(ya.update)&&Aa&4&&ya.update.call(null,{trigger:getShortcutTrigger(Ta[2],Ta[16]),type:"keyup"}),wa&&is_function(wa.update)&&Aa&8&&wa.update.call(null,{trigger:getShortcutTrigger(Ta[3],Ta[17]),type:"keydown"}),ka&&is_function(ka.update)&&Aa&8&&ka.update.call(null,{trigger:getShortcutTrigger(Ta[3],Ta[18]),type:"keyup"}),Sa&&is_function(Sa.update)&&Aa&16&&Sa.update.call(null,{trigger:getShortcutTrigger(Ta[4],Ta[19]),type:"keydown"}),Oa&&is_function(Oa.update)&&Aa&16&&Oa.update.call(null,{trigger:getShortcutTrigger(Ta[4],Ta[20]),type:"keyup"})},i:noop$5,o:noop$5,d(Ta){Ca=!1,run_all(Ea)}}}function isKeyObject(So){return So!==null&&typeof So=="object"}function getModifier(So){return isKeyObject(So)?So.modifier||[]:[]}function getKeyString(So){return So==null?"":isKeyObject(So)?So.key:So}function getShortcutTrigger(So,$o){return(Array.isArray(So)?So:[So]).map(Eo=>{const Io=getKeyString(Eo);return{key:Io,modifier:getModifier(Eo),enabled:Io!==null,callback:$o}})}function instance$74(So,$o,ko){let{selectionKey:Eo="Shift"}=$o,{multiSelectionKey:Io=isMacOs()?"Meta":"Control"}=$o,{deleteKey:$a="Backspace"}=$o,{panActivationKey:ya=" "}=$o,{zoomActivationKey:wa=isMacOs()?"Meta":"Control"}=$o;const{selectionKeyPressed:ka,multiselectionKeyPressed:Sa,deleteKeyPressed:Oa,panActivationKeyPressed:Ca,zoomActivationKeyPressed:Ea,selectionRect:Ta}=useStore();function Aa(){Ta.set(null),ka.set(!1),Sa.set(!1),Oa.set(!1),Ca.set(!1),Ea.set(!1)}const Ia=()=>ka.set(!0),Pa=()=>ka.set(!1),Ra=()=>Sa.set(!0),Da=()=>Sa.set(!1),La=Ha=>{!(Ha.originalEvent.ctrlKey||Ha.originalEvent.metaKey||Ha.originalEvent.shiftKey)&&!isInputDOMNode(Ha.originalEvent)&&Oa.set(!0)},Na=()=>Oa.set(!1),Ba=()=>Ca.set(!0),Fa=()=>Ca.set(!1),za=()=>Ea.set(!0),Ua=()=>Ea.set(!1);return So.$$set=Ha=>{"selectionKey"in Ha&&ko(0,Eo=Ha.selectionKey),"multiSelectionKey"in Ha&&ko(1,Io=Ha.multiSelectionKey),"deleteKey"in Ha&&ko(2,$a=Ha.deleteKey),"panActivationKey"in Ha&&ko(3,ya=Ha.panActivationKey),"zoomActivationKey"in Ha&&ko(4,wa=Ha.zoomActivationKey)},[Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Aa,Ia,Pa,Ra,Da,La,Na,Ba,Fa,za,Ua]}class KeyHandler extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$74,create_fragment$77,safe_not_equal,{selectionKey:0,multiSelectionKey:1,deleteKey:2,panActivationKey:3,zoomActivationKey:4})}}const KeyHandler$1=KeyHandler,get_connectionLine_slot_changes$1=So=>({}),get_connectionLine_slot_context$1=So=>({});function create_if_block$3h(So){let $o,ko,Eo,Io;const $a=So[13].connectionLine,ya=create_slot($a,So,So[12],get_connectionLine_slot_context$1);let wa=!So[2]&&create_if_block_1$1N(So);return{c(){$o=svg_element("svg"),ko=svg_element("g"),ya&&ya.c(),wa&&wa.c(),attr(ko,"class",Eo=cc(["svelte-flow__connection",getConnectionStatus(So[3].isValid)])),attr($o,"width",So[5]),attr($o,"height",So[6]),attr($o,"class","svelte-flow__connectionline"),attr($o,"style",So[0])},m(ka,Sa){insert$1(ka,$o,Sa),append$2($o,ko),ya&&ya.m(ko,null),wa&&wa.m(ko,null),Io=!0},p(ka,Sa){ya&&ya.p&&(!Io||Sa&4096)&&update_slot_base(ya,$a,ka,ka[12],Io?get_slot_changes($a,ka[12],Sa,get_connectionLine_slot_changes$1):get_all_dirty_from_scope(ka[12]),get_connectionLine_slot_context$1),ka[2]?wa&&(wa.d(1),wa=null):wa?wa.p(ka,Sa):(wa=create_if_block_1$1N(ka),wa.c(),wa.m(ko,null)),(!Io||Sa&8&&Eo!==(Eo=cc(["svelte-flow__connection",getConnectionStatus(ka[3].isValid)])))&&attr(ko,"class",Eo),(!Io||Sa&32)&&attr($o,"width",ka[5]),(!Io||Sa&64)&&attr($o,"height",ka[6]),(!Io||Sa&1)&&attr($o,"style",ka[0])},i(ka){Io||(transition_in(ya,ka),Io=!0)},o(ka){transition_out(ya,ka),Io=!1},d(ka){ka&&detach($o),ya&&ya.d(ka),wa&&wa.d()}}}function create_if_block_1$1N(So){let $o;return{c(){$o=svg_element("path"),attr($o,"d",So[4]),attr($o,"style",So[1]),attr($o,"fill","none"),attr($o,"class","svelte-flow__connection-path")},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo&16&&attr($o,"d",ko[4]),Eo&2&&attr($o,"style",ko[1])},d(ko){ko&&detach($o)}}}function create_fragment$76(So){let $o,ko,Eo=So[3].inProgress&&create_if_block$3h(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m(Io,$a){Eo&&Eo.m(Io,$a),insert$1(Io,$o,$a),ko=!0},p(Io,[$a]){Io[3].inProgress?Eo?(Eo.p(Io,$a),$a&8&&transition_in(Eo,1)):(Eo=create_if_block$3h(Io),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o)):Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros())},i(Io){ko||(transition_in(Eo),ko=!0)},o(Io){transition_out(Eo),ko=!1},d(Io){Io&&detach($o),Eo&&Eo.d(Io)}}}function instance$73(So,$o,ko){let Eo,Io,$a,ya,{$$slots:wa={},$$scope:ka}=$o,{containerStyle:Sa=""}=$o,{style:Oa=""}=$o,{isCustomComponent:Ca=!1}=$o;const{width:Ea,height:Ta,connection:Aa,connectionLineType:Ia}=useStore();component_subscribe(So,Ea,Ra=>ko(5,$a=Ra)),component_subscribe(So,Ta,Ra=>ko(6,ya=Ra)),component_subscribe(So,Aa,Ra=>ko(3,Io=Ra)),component_subscribe(So,Ia,Ra=>ko(11,Eo=Ra));let Pa=null;return So.$$set=Ra=>{"containerStyle"in Ra&&ko(0,Sa=Ra.containerStyle),"style"in Ra&&ko(1,Oa=Ra.style),"isCustomComponent"in Ra&&ko(2,Ca=Ra.isCustomComponent),"$$scope"in Ra&&ko(12,ka=Ra.$$scope)},So.$$.update=()=>{if(So.$$.dirty&2060&&Io.inProgress&&!Ca){const{from:Ra,to:Da,fromPosition:La,toPosition:Na}=Io,Ba={sourceX:Ra.x,sourceY:Ra.y,sourcePosition:La,targetX:Da.x,targetY:Da.y,targetPosition:Na};switch(Eo){case ConnectionLineType.Bezier:ko(4,[Pa]=getBezierPath(Ba),Pa);break;case ConnectionLineType.Step:ko(4,[Pa]=getSmoothStepPath({...Ba,borderRadius:0}),Pa);break;case ConnectionLineType.SmoothStep:ko(4,[Pa]=getSmoothStepPath(Ba),Pa);break;default:ko(4,[Pa]=getStraightPath(Ba),Pa)}}},[Sa,Oa,Ca,Io,Pa,$a,ya,Ea,Ta,Aa,Ia,Eo,ka,wa]}class ConnectionLine extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$73,create_fragment$76,safe_not_equal,{containerStyle:0,style:1,isCustomComponent:2})}}const ConnectionLine$1=ConnectionLine;function create_fragment$75(So){let $o,ko,Eo;const Io=So[8].default,$a=create_slot(Io,So,So[7],null);let ya=[{class:ko=cc(["svelte-flow__panel",So[1],...So[2]])},{style:So[0]},So[5]],wa={};for(let ka=0;ka<ya.length;ka+=1)wa=assign$1(wa,ya[ka]);return{c(){$o=element("div"),$a&&$a.c(),set_attributes($o,wa),set_style($o,"pointer-events",So[3]?"none":"")},m(ka,Sa){insert$1(ka,$o,Sa),$a&&$a.m($o,null),Eo=!0},p(ka,[Sa]){$a&&$a.p&&(!Eo||Sa&128)&&update_slot_base($a,Io,ka,ka[7],Eo?get_slot_changes(Io,ka[7],Sa,null):get_all_dirty_from_scope(ka[7]),null),set_attributes($o,wa=get_spread_update(ya,[(!Eo||Sa&6&&ko!==(ko=cc(["svelte-flow__panel",ka[1],...ka[2]])))&&{class:ko},(!Eo||Sa&1)&&{style:ka[0]},Sa&32&&ka[5]])),set_style($o,"pointer-events",ka[3]?"none":"")},i(ka){Eo||(transition_in($a,ka),Eo=!0)},o(ka){transition_out($a,ka),Eo=!1},d(ka){ka&&detach($o),$a&&$a.d(ka)}}}function instance$72(So,$o,ko){let Eo;const Io=["position","style","class"];let $a=compute_rest_props($o,Io),ya,{$$slots:wa={},$$scope:ka}=$o,{position:Sa="top-right"}=$o,{style:Oa=void 0}=$o,{class:Ca=void 0}=$o;const{selectionRectMode:Ea}=useStore();return component_subscribe(So,Ea,Ta=>ko(3,ya=Ta)),So.$$set=Ta=>{$o=assign$1(assign$1({},$o),exclude_internal_props(Ta)),ko(5,$a=compute_rest_props($o,Io)),"position"in Ta&&ko(6,Sa=Ta.position),"style"in Ta&&ko(0,Oa=Ta.style),"class"in Ta&&ko(1,Ca=Ta.class),"$$scope"in Ta&&ko(7,ka=Ta.$$scope)},So.$$.update=()=>{So.$$.dirty&64&&ko(2,Eo=`${Sa}`.split("-"))},[Oa,Ca,Eo,ya,Ea,$a,Sa,ka,wa]}let Panel$2=class extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$72,create_fragment$75,safe_not_equal,{position:6,style:0,class:1})}};const Panel$3=Panel$2;function create_if_block$3g(So){let $o,ko;return $o=new Panel$3({props:{position:So[1],class:"svelte-flow__attribution","data-message":"Feel free to remove the attribution or check out how you could support us: https://svelteflow.dev/support-us",$$slots:{default:[create_default_slot$4p]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&2&&($a.position=Eo[1]),Io&4&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot$4p(So){let $o;return{c(){$o=element("a"),$o.textContent="Svelte Flow",attr($o,"href","https://svelteflow.dev"),attr($o,"target","_blank"),attr($o,"rel","noopener noreferrer"),attr($o,"aria-label","Svelte Flow attribution")},m(ko,Eo){insert$1(ko,$o,Eo)},p:noop$5,d(ko){ko&&detach($o)}}}function create_fragment$74(So){var Io;let $o,ko,Eo=!((Io=So[0])!=null&&Io.hideAttribution)&&create_if_block$3g(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m($a,ya){Eo&&Eo.m($a,ya),insert$1($a,$o,ya),ko=!0},p($a,[ya]){var wa;(wa=$a[0])!=null&&wa.hideAttribution?Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros()):Eo?(Eo.p($a,ya),ya&1&&transition_in(Eo,1)):(Eo=create_if_block$3g($a),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o))},i($a){ko||(transition_in(Eo),ko=!0)},o($a){transition_out(Eo),ko=!1},d($a){$a&&detach($o),Eo&&Eo.d($a)}}}function instance$71(So,$o,ko){let{proOptions:Eo=void 0}=$o,{position:Io="bottom-right"}=$o;return So.$$set=$a=>{"proOptions"in $a&&ko(0,Eo=$a.proOptions),"position"in $a&&ko(1,Io=$a.position)},[Eo,Io]}class Attribution extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$71,create_fragment$74,safe_not_equal,{proOptions:0,position:1})}}const Attribution$1=Attribution;function updateStore(So,{nodeTypes:$o,edgeTypes:ko,minZoom:Eo,maxZoom:Io,translateExtent:$a,paneClickDistance:ya}){$o!==void 0&&So.setNodeTypes($o),ko!==void 0&&So.setEdgeTypes(ko),Eo!==void 0&&So.setMinZoom(Eo),Io!==void 0&&So.setMaxZoom(Io),$a!==void 0&&So.setTranslateExtent($a),ya!==void 0&&So.setPaneClickDistance(ya)}const getKeys=So=>Object.keys(So);function updateStoreByKeys(So,$o){getKeys($o).forEach(ko=>{const Eo=$o[ko];Eo!==void 0&&So[ko].set(Eo)})}function getMediaQuery(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function useColorModeClass(So="light"){return readable("light",ko=>{if(So!=="system"){ko(So);return}const Eo=getMediaQuery(),Io=()=>ko(Eo!=null&&Eo.matches?"dark":"light");return ko(Eo!=null&&Eo.matches?"dark":"light"),Eo==null||Eo.addEventListener("change",Io),()=>{Eo==null||Eo.removeEventListener("change",Io)}})}const SvelteFlow_svelte_svelte_type_style_lang="",get_connectionLine_slot_changes=So=>({}),get_connectionLine_slot_context=So=>({slot:"connectionLine"});function create_connectionLine_slot(So){let $o;const ko=So[75].connectionLine,Eo=create_slot(ko,So,So[99],get_connectionLine_slot_context);return{c(){Eo&&Eo.c()},m(Io,$a){Eo&&Eo.m(Io,$a),$o=!0},p(Io,$a){Eo&&Eo.p&&(!$o||$a[3]&64)&&update_slot_base(Eo,ko,Io,Io[99],$o?get_slot_changes(ko,Io[99],$a,get_connectionLine_slot_changes):get_all_dirty_from_scope(Io[99]),get_connectionLine_slot_context)},i(Io){$o||(transition_in(Eo,Io),$o=!0)},o(Io){transition_out(Eo,Io),$o=!1},d(Io){Eo&&Eo.d(Io)}}}function create_default_slot_2$1V(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea;return $o=new EdgeRenderer$1({props:{defaultEdgeOptions:So[21]}}),$o.$on("edgeclick",So[78]),$o.$on("edgecontextmenu",So[79]),$o.$on("edgemouseenter",So[80]),$o.$on("edgemouseleave",So[81]),Eo=new ConnectionLine$1({props:{containerStyle:So[7],style:So[6],isCustomComponent:So[34].connectionLine,$$slots:{connectionLine:[create_connectionLine_slot]},$$scope:{ctx:So}}}),Sa=new NodeRenderer$1({props:{nodeClickDistance:So[23]}}),Sa.$on("nodeclick",So[82]),Sa.$on("nodemouseenter",So[83]),Sa.$on("nodemousemove",So[84]),Sa.$on("nodemouseleave",So[85]),Sa.$on("nodedragstart",So[86]),Sa.$on("nodedrag",So[87]),Sa.$on("nodedragstop",So[88]),Sa.$on("nodecontextmenu",So[89]),Ca=new NodeSelection$1({}),Ca.$on("selectionclick",So[90]),Ca.$on("selectioncontextmenu",So[91]),Ca.$on("nodedragstart",So[92]),Ca.$on("nodedrag",So[93]),Ca.$on("nodedragstop",So[94]),{c(){create_component($o.$$.fragment),ko=space$2(),create_component(Eo.$$.fragment),Io=space$2(),$a=element("div"),ya=space$2(),wa=element("div"),ka=space$2(),create_component(Sa.$$.fragment),Oa=space$2(),create_component(Ca.$$.fragment),attr($a,"class","svelte-flow__edgelabel-renderer"),attr(wa,"class","svelte-flow__viewport-portal")},m(Ta,Aa){mount_component($o,Ta,Aa),insert$1(Ta,ko,Aa),mount_component(Eo,Ta,Aa),insert$1(Ta,Io,Aa),insert$1(Ta,$a,Aa),insert$1(Ta,ya,Aa),insert$1(Ta,wa,Aa),insert$1(Ta,ka,Aa),mount_component(Sa,Ta,Aa),insert$1(Ta,Oa,Aa),mount_component(Ca,Ta,Aa),Ea=!0},p(Ta,Aa){const Ia={};Aa[0]&2097152&&(Ia.defaultEdgeOptions=Ta[21]),$o.$set(Ia);const Pa={};Aa[0]&128&&(Pa.containerStyle=Ta[7]),Aa[0]&64&&(Pa.style=Ta[6]),Aa[1]&8&&(Pa.isCustomComponent=Ta[34].connectionLine),Aa[3]&64&&(Pa.$$scope={dirty:Aa,ctx:Ta}),Eo.$set(Pa);const Ra={};Aa[0]&8388608&&(Ra.nodeClickDistance=Ta[23]),Sa.$set(Ra)},i(Ta){Ea||(transition_in($o.$$.fragment,Ta),transition_in(Eo.$$.fragment,Ta),transition_in(Sa.$$.fragment,Ta),transition_in(Ca.$$.fragment,Ta),Ea=!0)},o(Ta){transition_out($o.$$.fragment,Ta),transition_out(Eo.$$.fragment,Ta),transition_out(Sa.$$.fragment,Ta),transition_out(Ca.$$.fragment,Ta),Ea=!1},d(Ta){Ta&&(detach(ko),detach(Io),detach($a),detach(ya),detach(wa),detach(ka),detach(Oa)),destroy_component($o,Ta),destroy_component(Eo,Ta),destroy_component(Sa,Ta),destroy_component(Ca,Ta)}}}function create_default_slot_1$2K(So){let $o,ko,Eo,Io;return $o=new ViewportComponent({props:{$$slots:{default:[create_default_slot_2$1V]},$$scope:{ctx:So}}}),Eo=new UserSelection$1({}),{c(){create_component($o.$$.fragment),ko=space$2(),create_component(Eo.$$.fragment)},m($a,ya){mount_component($o,$a,ya),insert$1($a,ko,ya),mount_component(Eo,$a,ya),Io=!0},p($a,ya){const wa={};ya[0]&10485952|ya[1]&8|ya[3]&64&&(wa.$$scope={dirty:ya,ctx:$a}),$o.$set(wa)},i($a){Io||(transition_in($o.$$.fragment,$a),transition_in(Eo.$$.fragment,$a),Io=!0)},o($a){transition_out($o.$$.fragment,$a),transition_out(Eo.$$.fragment,$a),Io=!1},d($a){$a&&detach(ko),destroy_component($o,$a),destroy_component(Eo,$a)}}}function create_default_slot$4o(So){let $o,ko;return $o=new Pane$1({props:{panOnDrag:So[17]===void 0?!0:So[17],selectionOnDrag:So[18],$$slots:{default:[create_default_slot_1$2K]},$$scope:{ctx:So}}}),$o.$on("paneclick",So[95]),$o.$on("panecontextmenu",So[96]),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io[0]&131072&&($a.panOnDrag=Eo[17]===void 0?!0:Eo[17]),Io[0]&262144&&($a.selectionOnDrag=Eo[18]),Io[0]&10485952|Io[1]&8|Io[3]&64&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_fragment$73(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea;ko=new KeyHandler$1({props:{selectionKey:So[1],deleteKey:So[5],panActivationKey:So[2],multiSelectionKey:So[3],zoomActivationKey:So[4]}}),Io=new Zoom$1({props:{initialViewport:So[31],onMoveStart:So[8],onMove:So[9],onMoveEnd:So[10],panOnScrollMode:So[11]===void 0?PanOnScrollMode.Free:So[11],preventScrolling:So[12]===void 0?!0:So[12],zoomOnScroll:So[13]===void 0?!0:So[13],zoomOnDoubleClick:So[14]===void 0?!0:So[14],zoomOnPinch:So[15]===void 0?!0:So[15],panOnScroll:So[16]===void 0?!1:So[16],panOnDrag:So[17]===void 0?!0:So[17],paneClickDistance:So[22]===void 0?0:So[22],$$slots:{default:[create_default_slot$4o]},$$scope:{ctx:So}}}),ya=new Attribution$1({props:{proOptions:So[20],position:So[19]}});const Ta=So[75].default,Aa=create_slot(Ta,So,So[99],null);let Ia=[{style:So[24]},{class:ka=cc(["svelte-flow",So[25],So[30]])},{"data-testid":"svelte-flow__wrapper"},So[33],{role:"application"}],Pa={};for(let Ra=0;Ra<Ia.length;Ra+=1)Pa=assign$1(Pa,Ia[Ra]);return{c(){$o=element("div"),create_component(ko.$$.fragment),Eo=space$2(),create_component(Io.$$.fragment),$a=space$2(),create_component(ya.$$.fragment),wa=space$2(),Aa&&Aa.c(),set_attributes($o,Pa),add_render_callback(()=>So[98].call($o)),toggle_class($o,"svelte-18e9ir1",!0)},m(Ra,Da){insert$1(Ra,$o,Da),mount_component(ko,$o,null),append$2($o,Eo),mount_component(Io,$o,null),append$2($o,$a),mount_component(ya,$o,null),append$2($o,wa),Aa&&Aa.m($o,null),So[97]($o),Sa=add_iframe_resize_listener($o,So[98].bind($o)),Oa=!0,Ca||(Ea=[listen($o,"dragover",So[76]),listen($o,"drop",So[77])],Ca=!0)},p(Ra,Da){const La={};Da[0]&2&&(La.selectionKey=Ra[1]),Da[0]&32&&(La.deleteKey=Ra[5]),Da[0]&4&&(La.panActivationKey=Ra[2]),Da[0]&8&&(La.multiSelectionKey=Ra[3]),Da[0]&16&&(La.zoomActivationKey=Ra[4]),ko.$set(La);const Na={};Da[0]&256&&(Na.onMoveStart=Ra[8]),Da[0]&512&&(Na.onMove=Ra[9]),Da[0]&1024&&(Na.onMoveEnd=Ra[10]),Da[0]&2048&&(Na.panOnScrollMode=Ra[11]===void 0?PanOnScrollMode.Free:Ra[11]),Da[0]&4096&&(Na.preventScrolling=Ra[12]===void 0?!0:Ra[12]),Da[0]&8192&&(Na.zoomOnScroll=Ra[13]===void 0?!0:Ra[13]),Da[0]&16384&&(Na.zoomOnDoubleClick=Ra[14]===void 0?!0:Ra[14]),Da[0]&32768&&(Na.zoomOnPinch=Ra[15]===void 0?!0:Ra[15]),Da[0]&65536&&(Na.panOnScroll=Ra[16]===void 0?!1:Ra[16]),Da[0]&131072&&(Na.panOnDrag=Ra[17]===void 0?!0:Ra[17]),Da[0]&4194304&&(Na.paneClickDistance=Ra[22]===void 0?0:Ra[22]),Da[0]&10879168|Da[1]&8|Da[3]&64&&(Na.$$scope={dirty:Da,ctx:Ra}),Io.$set(Na);const Ba={};Da[0]&1048576&&(Ba.proOptions=Ra[20]),Da[0]&524288&&(Ba.position=Ra[19]),ya.$set(Ba),Aa&&Aa.p&&(!Oa||Da[3]&64)&&update_slot_base(Aa,Ta,Ra,Ra[99],Oa?get_slot_changes(Ta,Ra[99],Da,null):get_all_dirty_from_scope(Ra[99]),null),set_attributes($o,Pa=get_spread_update(Ia,[(!Oa||Da[0]&16777216)&&{style:Ra[24]},(!Oa||Da[0]&1107296256&&ka!==(ka=cc(["svelte-flow",Ra[25],Ra[30]])))&&{class:ka},{"data-testid":"svelte-flow__wrapper"},Da[1]&4&&Ra[33],{role:"application"}])),toggle_class($o,"svelte-18e9ir1",!0)},i(Ra){Oa||(transition_in(ko.$$.fragment,Ra),transition_in(Io.$$.fragment,Ra),transition_in(ya.$$.fragment,Ra),transition_in(Aa,Ra),Oa=!0)},o(Ra){transition_out(ko.$$.fragment,Ra),transition_out(Io.$$.fragment,Ra),transition_out(ya.$$.fragment,Ra),transition_out(Aa,Ra),Oa=!1},d(Ra){Ra&&detach($o),destroy_component(ko),destroy_component(Io),destroy_component(ya),Aa&&Aa.d(Ra),So[97](null),Sa(),Ca=!1,run_all(Ea)}}}function instance$70(So,$o,ko){let Eo;const Io=["id","nodes","edges","fitView","fitViewOptions","minZoom","maxZoom","initialViewport","viewport","nodeTypes","edgeTypes","selectionKey","selectionMode","panActivationKey","multiSelectionKey","zoomActivationKey","nodesDraggable","nodesConnectable","nodeDragThreshold","elementsSelectable","snapGrid","deleteKey","connectionRadius","connectionLineType","connectionMode","connectionLineStyle","connectionLineContainerStyle","onMoveStart","onMove","onMoveEnd","isValidConnection","translateExtent","nodeExtent","onlyRenderVisibleElements","panOnScrollMode","preventScrolling","zoomOnScroll","zoomOnDoubleClick","zoomOnPinch","panOnScroll","panOnDrag","selectionOnDrag","autoPanOnConnect","autoPanOnNodeDrag","onerror","ondelete","onedgecreate","attributionPosition","proOptions","defaultEdgeOptions","width","height","colorMode","onconnect","onconnectstart","onconnectend","onbeforedelete","oninit","nodeOrigin","paneClickDistance","nodeClickDistance","defaultMarkerColor","style","class"];let $a=compute_rest_props($o,Io),ya,wa,ka=noop$5,Sa=()=>(ka(),ka=subscribe(Ua,ac=>ko(100,wa=ac)),Ua),Oa,Ca=noop$5,Ea=()=>(Ca(),Ca=subscribe(Eo,ac=>ko(30,Oa=ac)),Eo);So.$$.on_destroy.push(()=>ka()),So.$$.on_destroy.push(()=>Ca());let{$$slots:Ta={},$$scope:Aa}=$o;const Ia=compute_slots(Ta);let{id:Pa="1"}=$o,{nodes:Ra}=$o,{edges:Da}=$o,{fitView:La=void 0}=$o,{fitViewOptions:Na=void 0}=$o,{minZoom:Ba=void 0}=$o,{maxZoom:Fa=void 0}=$o,{initialViewport:za=void 0}=$o,{viewport:Ua=void 0}=$o;Sa();let{nodeTypes:Ha=void 0}=$o,{edgeTypes:Wa=void 0}=$o,{selectionKey:ja=void 0}=$o,{selectionMode:Ya=void 0}=$o,{panActivationKey:Xa=void 0}=$o,{multiSelectionKey:Za=void 0}=$o,{zoomActivationKey:Ga=void 0}=$o,{nodesDraggable:Ka=void 0}=$o,{nodesConnectable:tl=void 0}=$o,{nodeDragThreshold:nl=void 0}=$o,{elementsSelectable:rl=void 0}=$o,{snapGrid:il=void 0}=$o,{deleteKey:sl=void 0}=$o,{connectionRadius:ul=void 0}=$o,{connectionLineType:al=void 0}=$o,{connectionMode:dl=ConnectionMode.Strict}=$o,{connectionLineStyle:gl=""}=$o,{connectionLineContainerStyle:cl=""}=$o,{onMoveStart:fl=void 0}=$o,{onMove:pl=void 0}=$o,{onMoveEnd:ml=void 0}=$o,{isValidConnection:vl=void 0}=$o,{translateExtent:$l=void 0}=$o,{nodeExtent:bl=void 0}=$o,{onlyRenderVisibleElements:Cl=void 0}=$o,{panOnScrollMode:wl=PanOnScrollMode.Free}=$o,{preventScrolling:Al=!0}=$o,{zoomOnScroll:Ll=!0}=$o,{zoomOnDoubleClick:Dl=!0}=$o,{zoomOnPinch:Gl=!0}=$o,{panOnScroll:Ol=!1}=$o,{panOnDrag:ic=!0}=$o,{selectionOnDrag:zl=void 0}=$o,{autoPanOnConnect:Ml=!0}=$o,{autoPanOnNodeDrag:Kl=!0}=$o,{onerror:Ul=void 0}=$o,{ondelete:Yl=void 0}=$o,{onedgecreate:jl=void 0}=$o,{attributionPosition:Rl=void 0}=$o,{proOptions:ql=void 0}=$o,{defaultEdgeOptions:Il=void 0}=$o,{width:Wl=void 0}=$o,{height:Tl=void 0}=$o,{colorMode:Bl="light"}=$o,{onconnect:tc=void 0}=$o,{onconnectstart:xl=void 0}=$o,{onconnectend:hc=void 0}=$o,{onbeforedelete:kc=void 0}=$o,{oninit:_c=void 0}=$o,{nodeOrigin:Pc=void 0}=$o,{paneClickDistance:fc=0}=$o,{nodeClickDistance:Zc=0}=$o,{defaultMarkerColor:Cc="#b1b1b7"}=$o,{style:Wc=void 0}=$o,{class:uc=void 0}=$o,Ec,Fc,Gc;const Jc=wa||za,wc=hasContext(key)?useStore():createStoreContext({nodes:get_store_value(Ra),edges:get_store_value(Da),width:Wl,height:Tl,fitView:La,nodeOrigin:Pc,nodeExtent:bl});onMount(()=>(wc.width.set(Fc),wc.height.set(Gc),wc.domNode.set(Ec),wc.syncNodeStores(Ra),wc.syncEdgeStores(Da),wc.syncViewport(Ua),La!==void 0&&wc.fitViewQueued.set(La),Na&&wc.fitViewOptions.set(Na),updateStore(wc,{nodeTypes:Ha,edgeTypes:Wa,minZoom:Ba,maxZoom:Fa,translateExtent:$l,paneClickDistance:fc}),()=>{wc.reset()}));const{initialized:Vc}=wc;component_subscribe(So,Vc,ac=>ko(74,ya=ac));let hu=!1;function ku(ac){bubble.call(this,So,ac)}function Au(ac){bubble.call(this,So,ac)}function ju(ac){bubble.call(this,So,ac)}function Bu(ac){bubble.call(this,So,ac)}function $c(ac){bubble.call(this,So,ac)}function Kc(ac){bubble.call(this,So,ac)}function ou(ac){bubble.call(this,So,ac)}function Qc(ac){bubble.call(this,So,ac)}function Ou(ac){bubble.call(this,So,ac)}function Gf(ac){bubble.call(this,So,ac)}function Ru(ac){bubble.call(this,So,ac)}function gc(ac){bubble.call(this,So,ac)}function Rc(ac){bubble.call(this,So,ac)}function iu(ac){bubble.call(this,So,ac)}function du(ac){bubble.call(this,So,ac)}function pu(ac){bubble.call(this,So,ac)}function Iu(ac){bubble.call(this,So,ac)}function sf(ac){bubble.call(this,So,ac)}function Pf(ac){bubble.call(this,So,ac)}function nu(ac){bubble.call(this,So,ac)}function Cu(ac){bubble.call(this,So,ac)}function af(ac){binding_callbacks[ac?"unshift":"push"](()=>{Ec=ac,ko(28,Ec)})}function Zu(){Fc=this.clientWidth,Gc=this.clientHeight,ko(26,Fc),ko(27,Gc)}return So.$$set=ac=>{$o=assign$1(assign$1({},$o),exclude_internal_props(ac)),ko(33,$a=compute_rest_props($o,Io)),"id"in ac&&ko(35,Pa=ac.id),"nodes"in ac&&ko(36,Ra=ac.nodes),"edges"in ac&&ko(37,Da=ac.edges),"fitView"in ac&&ko(38,La=ac.fitView),"fitViewOptions"in ac&&ko(39,Na=ac.fitViewOptions),"minZoom"in ac&&ko(40,Ba=ac.minZoom),"maxZoom"in ac&&ko(41,Fa=ac.maxZoom),"initialViewport"in ac&&ko(42,za=ac.initialViewport),"viewport"in ac&&Sa(ko(0,Ua=ac.viewport)),"nodeTypes"in ac&&ko(43,Ha=ac.nodeTypes),"edgeTypes"in ac&&ko(44,Wa=ac.edgeTypes),"selectionKey"in ac&&ko(1,ja=ac.selectionKey),"selectionMode"in ac&&ko(45,Ya=ac.selectionMode),"panActivationKey"in ac&&ko(2,Xa=ac.panActivationKey),"multiSelectionKey"in ac&&ko(3,Za=ac.multiSelectionKey),"zoomActivationKey"in ac&&ko(4,Ga=ac.zoomActivationKey),"nodesDraggable"in ac&&ko(46,Ka=ac.nodesDraggable),"nodesConnectable"in ac&&ko(47,tl=ac.nodesConnectable),"nodeDragThreshold"in ac&&ko(48,nl=ac.nodeDragThreshold),"elementsSelectable"in ac&&ko(49,rl=ac.elementsSelectable),"snapGrid"in ac&&ko(50,il=ac.snapGrid),"deleteKey"in ac&&ko(5,sl=ac.deleteKey),"connectionRadius"in ac&&ko(51,ul=ac.connectionRadius),"connectionLineType"in ac&&ko(52,al=ac.connectionLineType),"connectionMode"in ac&&ko(53,dl=ac.connectionMode),"connectionLineStyle"in ac&&ko(6,gl=ac.connectionLineStyle),"connectionLineContainerStyle"in ac&&ko(7,cl=ac.connectionLineContainerStyle),"onMoveStart"in ac&&ko(8,fl=ac.onMoveStart),"onMove"in ac&&ko(9,pl=ac.onMove),"onMoveEnd"in ac&&ko(10,ml=ac.onMoveEnd),"isValidConnection"in ac&&ko(54,vl=ac.isValidConnection),"translateExtent"in ac&&ko(55,$l=ac.translateExtent),"nodeExtent"in ac&&ko(56,bl=ac.nodeExtent),"onlyRenderVisibleElements"in ac&&ko(57,Cl=ac.onlyRenderVisibleElements),"panOnScrollMode"in ac&&ko(11,wl=ac.panOnScrollMode),"preventScrolling"in ac&&ko(12,Al=ac.preventScrolling),"zoomOnScroll"in ac&&ko(13,Ll=ac.zoomOnScroll),"zoomOnDoubleClick"in ac&&ko(14,Dl=ac.zoomOnDoubleClick),"zoomOnPinch"in ac&&ko(15,Gl=ac.zoomOnPinch),"panOnScroll"in ac&&ko(16,Ol=ac.panOnScroll),"panOnDrag"in ac&&ko(17,ic=ac.panOnDrag),"selectionOnDrag"in ac&&ko(18,zl=ac.selectionOnDrag),"autoPanOnConnect"in ac&&ko(58,Ml=ac.autoPanOnConnect),"autoPanOnNodeDrag"in ac&&ko(59,Kl=ac.autoPanOnNodeDrag),"onerror"in ac&&ko(60,Ul=ac.onerror),"ondelete"in ac&&ko(61,Yl=ac.ondelete),"onedgecreate"in ac&&ko(62,jl=ac.onedgecreate),"attributionPosition"in ac&&ko(19,Rl=ac.attributionPosition),"proOptions"in ac&&ko(20,ql=ac.proOptions),"defaultEdgeOptions"in ac&&ko(21,Il=ac.defaultEdgeOptions),"width"in ac&&ko(63,Wl=ac.width),"height"in ac&&ko(64,Tl=ac.height),"colorMode"in ac&&ko(65,Bl=ac.colorMode),"onconnect"in ac&&ko(66,tc=ac.onconnect),"onconnectstart"in ac&&ko(67,xl=ac.onconnectstart),"onconnectend"in ac&&ko(68,hc=ac.onconnectend),"onbeforedelete"in ac&&ko(69,kc=ac.onbeforedelete),"oninit"in ac&&ko(70,_c=ac.oninit),"nodeOrigin"in ac&&ko(71,Pc=ac.nodeOrigin),"paneClickDistance"in ac&&ko(22,fc=ac.paneClickDistance),"nodeClickDistance"in ac&&ko(23,Zc=ac.nodeClickDistance),"defaultMarkerColor"in ac&&ko(72,Cc=ac.defaultMarkerColor),"style"in ac&&ko(24,Wc=ac.style),"class"in ac&&ko(25,uc=ac.class),"$$scope"in ac&&ko(99,Aa=ac.$$scope)},So.$$.update=()=>{So.$$.dirty[0]&201326592&&Fc!==void 0&&Gc!==void 0&&(wc.width.set(Fc),wc.height.set(Gc)),So.$$.dirty[2]&6400&&!hu&&ya&&(_c==null||_c(),ko(73,hu=!0)),So.$$.dirty[1]&2097135632|So.$$.dirty[2]&1777&&updateStoreByKeys(wc,{flowId:Pa,connectionLineType:al,connectionRadius:ul,selectionMode:Ya,snapGrid:il,defaultMarkerColor:Cc,nodesDraggable:Ka,nodesConnectable:tl,elementsSelectable:rl,onlyRenderVisibleElements:Cl,isValidConnection:vl,autoPanOnConnect:Ml,autoPanOnNodeDrag:Kl,onerror:Ul,ondelete:Yl,onedgecreate:jl,connectionMode:dl,nodeDragThreshold:nl,onconnect:tc,onconnectstart:xl,onconnectend:hc,onbeforedelete:kc,nodeOrigin:Pc}),So.$$.dirty[0]&4194304|So.$$.dirty[1]&16791040&&updateStore(wc,{nodeTypes:Ha,edgeTypes:Wa,minZoom:Ba,maxZoom:Fa,translateExtent:$l,paneClickDistance:fc}),So.$$.dirty[2]&8&&Ea(ko(29,Eo=useColorModeClass(Bl)))},[Ua,ja,Xa,Za,Ga,sl,gl,cl,fl,pl,ml,wl,Al,Ll,Dl,Gl,Ol,ic,zl,Rl,ql,Il,fc,Zc,Wc,uc,Fc,Gc,Ec,Eo,Oa,Jc,Vc,$a,Ia,Pa,Ra,Da,La,Na,Ba,Fa,za,Ha,Wa,Ya,Ka,tl,nl,rl,il,ul,al,dl,vl,$l,bl,Cl,Ml,Kl,Ul,Yl,jl,Wl,Tl,Bl,tc,xl,hc,kc,_c,Pc,Cc,hu,ya,Ta,ku,Au,ju,Bu,$c,Kc,ou,Qc,Ou,Gf,Ru,gc,Rc,iu,du,pu,Iu,sf,Pf,nu,Cu,af,Zu,Aa]}class SvelteFlow extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$70,create_fragment$73,safe_not_equal,{id:35,nodes:36,edges:37,fitView:38,fitViewOptions:39,minZoom:40,maxZoom:41,initialViewport:42,viewport:0,nodeTypes:43,edgeTypes:44,selectionKey:1,selectionMode:45,panActivationKey:2,multiSelectionKey:3,zoomActivationKey:4,nodesDraggable:46,nodesConnectable:47,nodeDragThreshold:48,elementsSelectable:49,snapGrid:50,deleteKey:5,connectionRadius:51,connectionLineType:52,connectionMode:53,connectionLineStyle:6,connectionLineContainerStyle:7,onMoveStart:8,onMove:9,onMoveEnd:10,isValidConnection:54,translateExtent:55,nodeExtent:56,onlyRenderVisibleElements:57,panOnScrollMode:11,preventScrolling:12,zoomOnScroll:13,zoomOnDoubleClick:14,zoomOnPinch:15,panOnScroll:16,panOnDrag:17,selectionOnDrag:18,autoPanOnConnect:58,autoPanOnNodeDrag:59,onerror:60,ondelete:61,onedgecreate:62,attributionPosition:19,proOptions:20,defaultEdgeOptions:21,width:63,height:64,colorMode:65,onconnect:66,onconnectstart:67,onconnectend:68,onbeforedelete:69,oninit:70,nodeOrigin:71,paneClickDistance:22,nodeClickDistance:23,defaultMarkerColor:72,style:24,class:25},null,[-1,-1,-1,-1])}}const SvelteFlow$1=SvelteFlow;function create_fragment$72(So){let $o;const ko=So[7].default,Eo=create_slot(ko,So,So[6],null);return{c(){Eo&&Eo.c()},m(Io,$a){Eo&&Eo.m(Io,$a),$o=!0},p(Io,[$a]){Eo&&Eo.p&&(!$o||$a&64)&&update_slot_base(Eo,ko,Io,Io[6],$o?get_slot_changes(ko,Io[6],$a,null):get_all_dirty_from_scope(Io[6]),null)},i(Io){$o||(transition_in(Eo,Io),$o=!0)},o(Io){transition_out(Eo,Io),$o=!1},d(Io){Eo&&Eo.d(Io)}}}function instance$6$(So,$o,ko){let{$$slots:Eo={},$$scope:Io}=$o,{initialNodes:$a=void 0}=$o,{initialEdges:ya=void 0}=$o,{initialWidth:wa=void 0}=$o,{initialHeight:ka=void 0}=$o,{fitView:Sa=void 0}=$o,{nodeOrigin:Oa=void 0}=$o;const Ca=createStore({nodes:$a,edges:ya,width:wa,height:ka,nodeOrigin:Oa,fitView:Sa});return setContext(key,{getStore:()=>Ca}),onDestroy(()=>{Ca.reset()}),So.$$set=Ea=>{"initialNodes"in Ea&&ko(0,$a=Ea.initialNodes),"initialEdges"in Ea&&ko(1,ya=Ea.initialEdges),"initialWidth"in Ea&&ko(2,wa=Ea.initialWidth),"initialHeight"in Ea&&ko(3,ka=Ea.initialHeight),"fitView"in Ea&&ko(4,Sa=Ea.fitView),"nodeOrigin"in Ea&&ko(5,Oa=Ea.nodeOrigin),"$$scope"in Ea&&ko(6,Io=Ea.$$scope)},[$a,ya,wa,ka,Sa,Oa,Io,Eo]}class SvelteFlowProvider extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6$,create_fragment$72,safe_not_equal,{initialNodes:0,initialEdges:1,initialWidth:2,initialHeight:3,fitView:4,nodeOrigin:5})}}const SvelteFlowProvider$1=SvelteFlowProvider;var BackgroundVariant;(function(So){So.Lines="lines",So.Dots="dots",So.Cross="cross"})(BackgroundVariant||(BackgroundVariant={}));function create_fragment$71(So){let $o,ko;return{c(){$o=svg_element("circle"),attr($o,"cx",So[0]),attr($o,"cy",So[0]),attr($o,"r",So[0]),attr($o,"class",ko=cc(["svelte-flow__background-pattern","dots",So[1]]))},m(Eo,Io){insert$1(Eo,$o,Io)},p(Eo,[Io]){Io&1&&attr($o,"cx",Eo[0]),Io&1&&attr($o,"cy",Eo[0]),Io&1&&attr($o,"r",Eo[0]),Io&2&&ko!==(ko=cc(["svelte-flow__background-pattern","dots",Eo[1]]))&&attr($o,"class",ko)},i:noop$5,o:noop$5,d(Eo){Eo&&detach($o)}}}function instance$6_(So,$o,ko){let{radius:Eo=5}=$o,{class:Io=""}=$o;return So.$$set=$a=>{"radius"in $a&&ko(0,Eo=$a.radius),"class"in $a&&ko(1,Io=$a.class)},[Eo,Io]}class DotPattern extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6_,create_fragment$71,safe_not_equal,{radius:0,class:1})}}const DotPattern$1=DotPattern;function create_fragment$70(So){let $o,ko,Eo;return{c(){$o=svg_element("path"),attr($o,"stroke-width",So[0]),attr($o,"d",ko=`M${So[1][0]/2} 0 V${So[1][1]} M0 ${So[1][1]/2} H${So[1][0]}`),attr($o,"class",Eo=cc(["svelte-flow__background-pattern",So[2],So[3]]))},m(Io,$a){insert$1(Io,$o,$a)},p(Io,[$a]){$a&1&&attr($o,"stroke-width",Io[0]),$a&2&&ko!==(ko=`M${Io[1][0]/2} 0 V${Io[1][1]} M0 ${Io[1][1]/2} H${Io[1][0]}`)&&attr($o,"d",ko),$a&12&&Eo!==(Eo=cc(["svelte-flow__background-pattern",Io[2],Io[3]]))&&attr($o,"class",Eo)},i:noop$5,o:noop$5,d(Io){Io&&detach($o)}}}function instance$6Z(So,$o,ko){let{lineWidth:Eo=1}=$o,{dimensions:Io}=$o,{variant:$a=void 0}=$o,{class:ya=""}=$o;return So.$$set=wa=>{"lineWidth"in wa&&ko(0,Eo=wa.lineWidth),"dimensions"in wa&&ko(1,Io=wa.dimensions),"variant"in wa&&ko(2,$a=wa.variant),"class"in wa&&ko(3,ya=wa.class)},[Eo,Io,$a,ya]}class LinePattern extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6Z,create_fragment$70,safe_not_equal,{lineWidth:0,dimensions:1,variant:2,class:3})}}const LinePattern$1=LinePattern,Background_svelte_svelte_type_style_lang="";function create_else_block$1f(So){let $o,ko;return $o=new LinePattern$1({props:{dimensions:So[6],variant:So[0],lineWidth:So[1],class:So[4]}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&64&&($a.dimensions=Eo[6]),Io&1&&($a.variant=Eo[0]),Io&2&&($a.lineWidth=Eo[1]),Io&16&&($a.class=Eo[4]),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_if_block$3f(So){let $o,ko;return $o=new DotPattern$1({props:{radius:So[7]/2,class:So[4]}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&128&&($a.radius=Eo[7]/2),Io&16&&($a.class=Eo[4]),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_fragment$6$(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta;const Aa=[create_if_block$3f,create_else_block$1f],Ia=[];function Pa(Ra,Da){return Ra[14]?0:1}return Eo=Pa(So),Io=Ia[Eo]=Aa[Eo](So),{c(){$o=svg_element("svg"),ko=svg_element("pattern"),Io.c(),Oa=svg_element("rect"),attr(ko,"id",So[11]),attr(ko,"x",$a=So[9].x%So[8][0]),attr(ko,"y",ya=So[9].y%So[8][1]),attr(ko,"width",wa=So[8][0]),attr(ko,"height",ka=So[8][1]),attr(ko,"patternUnits","userSpaceOnUse"),attr(ko,"patternTransform",Sa=`translate(-${So[10][0]},-${So[10][1]})`),attr(Oa,"x","0"),attr(Oa,"y","0"),attr(Oa,"width","100%"),attr(Oa,"height","100%"),attr(Oa,"fill",Ca=`url(#${So[11]})`),attr($o,"class",Ea=null_to_empty(cc(["svelte-flow__background",So[5]]))+" svelte-1r7pe8d"),attr($o,"data-testid","svelte-flow__background"),set_style($o,"--xy-background-color-props",So[2]),set_style($o,"--xy-background-pattern-color-props",So[3])},m(Ra,Da){insert$1(Ra,$o,Da),append$2($o,ko),Ia[Eo].m(ko,null),append$2($o,Oa),Ta=!0},p(Ra,[Da]){Io.p(Ra,Da),(!Ta||Da&2048)&&attr(ko,"id",Ra[11]),(!Ta||Da&768&&$a!==($a=Ra[9].x%Ra[8][0]))&&attr(ko,"x",$a),(!Ta||Da&768&&ya!==(ya=Ra[9].y%Ra[8][1]))&&attr(ko,"y",ya),(!Ta||Da&256&&wa!==(wa=Ra[8][0]))&&attr(ko,"width",wa),(!Ta||Da&256&&ka!==(ka=Ra[8][1]))&&attr(ko,"height",ka),(!Ta||Da&1024&&Sa!==(Sa=`translate(-${Ra[10][0]},-${Ra[10][1]})`))&&attr(ko,"patternTransform",Sa),(!Ta||Da&2048&&Ca!==(Ca=`url(#${Ra[11]})`))&&attr(Oa,"fill",Ca),(!Ta||Da&32&&Ea!==(Ea=null_to_empty(cc(["svelte-flow__background",Ra[5]]))+" svelte-1r7pe8d"))&&attr($o,"class",Ea),Da&4&&set_style($o,"--xy-background-color-props",Ra[2]),Da&8&&set_style($o,"--xy-background-pattern-color-props",Ra[3])},i(Ra){Ta||(transition_in(Io),Ta=!0)},o(Ra){transition_out(Io),Ta=!1},d(Ra){Ra&&detach($o),Ia[Eo].d()}}}const defaultSize={[BackgroundVariant.Dots]:1,[BackgroundVariant.Lines]:1,[BackgroundVariant.Cross]:6};function instance$6Y(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa,{id:Oa=void 0}=$o,{variant:Ca=BackgroundVariant.Dots}=$o,{gap:Ea=20}=$o,{size:Ta=1}=$o,{lineWidth:Aa=1}=$o,{bgColor:Ia=void 0}=$o,{patternColor:Pa=void 0}=$o,{patternClass:Ra=void 0}=$o,{class:Da=""}=$o;const{viewport:La,flowId:Na}=useStore();component_subscribe(So,La,Ha=>ko(9,ka=Ha)),component_subscribe(So,Na,Ha=>ko(18,Sa=Ha));const Ba=Ta||defaultSize[Ca],Fa=Ca===BackgroundVariant.Dots,za=Ca===BackgroundVariant.Cross,Ua=Array.isArray(Ea)?Ea:[Ea,Ea];return So.$$set=Ha=>{"id"in Ha&&ko(15,Oa=Ha.id),"variant"in Ha&&ko(0,Ca=Ha.variant),"gap"in Ha&&ko(16,Ea=Ha.gap),"size"in Ha&&ko(17,Ta=Ha.size),"lineWidth"in Ha&&ko(1,Aa=Ha.lineWidth),"bgColor"in Ha&&ko(2,Ia=Ha.bgColor),"patternColor"in Ha&&ko(3,Pa=Ha.patternColor),"patternClass"in Ha&&ko(4,Ra=Ha.patternClass),"class"in Ha&&ko(5,Da=Ha.class)},So.$$.update=()=>{So.$$.dirty&294912&&ko(11,Eo=`background-pattern-${Sa}-${Oa||""}`),So.$$.dirty&512&&ko(8,Io=[Ua[0]*ka.zoom||1,Ua[1]*ka.zoom||1]),So.$$.dirty&512&&ko(7,$a=Ba*ka.zoom),So.$$.dirty&384&&ko(6,ya=za?[$a,$a]:Io),So.$$.dirty&192&&ko(10,wa=Fa?[$a/2,$a/2]:[ya[0]/2,ya[1]/2])},[Ca,Aa,Ia,Pa,Ra,Da,ya,$a,Io,ka,wa,Eo,La,Na,Fa,Oa,Ea,Ta,Sa]}class Background extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6Y,create_fragment$6$,safe_not_equal,{id:15,variant:0,gap:16,size:17,lineWidth:1,bgColor:2,patternColor:3,patternClass:4,class:5})}}const Background$1=Background;function create_fragment$6_(So){let $o,ko,Eo;return{c(){$o=svg_element("rect"),attr($o,"class",ko=cc(["svelte-flow__minimap-node",So[10]])),attr($o,"x",So[0]),attr($o,"y",So[1]),attr($o,"rx",So[4]),attr($o,"ry",So[4]),attr($o,"width",So[2]),attr($o,"height",So[3]),attr($o,"style",Eo=`${So[5]?`fill: ${So[5]};`:""}${So[7]?`stroke: ${So[7]};`:""}${So[8]?`stroke-width: ${So[8]};`:""}`),attr($o,"shape-rendering",So[6]),toggle_class($o,"selected",So[9])},m(Io,$a){insert$1(Io,$o,$a)},p(Io,[$a]){$a&1024&&ko!==(ko=cc(["svelte-flow__minimap-node",Io[10]]))&&attr($o,"class",ko),$a&1&&attr($o,"x",Io[0]),$a&2&&attr($o,"y",Io[1]),$a&16&&attr($o,"rx",Io[4]),$a&16&&attr($o,"ry",Io[4]),$a&4&&attr($o,"width",Io[2]),$a&8&&attr($o,"height",Io[3]),$a&416&&Eo!==(Eo=`${Io[5]?`fill: ${Io[5]};`:""}${Io[7]?`stroke: ${Io[7]};`:""}${Io[8]?`stroke-width: ${Io[8]};`:""}`)&&attr($o,"style",Eo),$a&64&&attr($o,"shape-rendering",Io[6]),$a&1536&&toggle_class($o,"selected",Io[9])},i:noop$5,o:noop$5,d(Io){Io&&detach($o)}}}function instance$6X(So,$o,ko){let{x:Eo}=$o,{y:Io}=$o,{width:$a=0}=$o,{height:ya=0}=$o,{borderRadius:wa=5}=$o,{color:ka=void 0}=$o,{shapeRendering:Sa}=$o,{strokeColor:Oa=void 0}=$o,{strokeWidth:Ca=2}=$o,{selected:Ea=!1}=$o,{class:Ta=""}=$o;return So.$$set=Aa=>{"x"in Aa&&ko(0,Eo=Aa.x),"y"in Aa&&ko(1,Io=Aa.y),"width"in Aa&&ko(2,$a=Aa.width),"height"in Aa&&ko(3,ya=Aa.height),"borderRadius"in Aa&&ko(4,wa=Aa.borderRadius),"color"in Aa&&ko(5,ka=Aa.color),"shapeRendering"in Aa&&ko(6,Sa=Aa.shapeRendering),"strokeColor"in Aa&&ko(7,Oa=Aa.strokeColor),"strokeWidth"in Aa&&ko(8,Ca=Aa.strokeWidth),"selected"in Aa&&ko(9,Ea=Aa.selected),"class"in Aa&&ko(10,Ta=Aa.class)},[Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta]}class MinimapNode extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6X,create_fragment$6_,safe_not_equal,{x:0,y:1,width:2,height:3,borderRadius:4,color:5,shapeRendering:6,strokeColor:7,strokeWidth:8,selected:9,class:10})}}const MinimapNode$1=MinimapNode;function interactive(So,$o){const ko=XYMinimap({domNode:So,panZoom:$o.panZoom,getTransform:()=>{const Io=get_store_value($o.viewport);return[Io.x,Io.y,Io.zoom]},getViewScale:$o.getViewScale});function Eo(Io){ko.update({translateExtent:Io.translateExtent,width:Io.width,height:Io.height,inversePan:Io.inversePan,zoomStep:Io.zoomStep,pannable:Io.pannable,zoomable:Io.zoomable})}return{update:Eo,destroy(){ko.destroy()}}}function get_each_context$1u(So,$o,ko){const Eo=So.slice();Eo[55]=$o[ko];const Io=Eo[20].get(Eo[55].id);return Eo[56]=Io,Eo}function get_if_ctx$3(So){const $o=So.slice(),ko=getNodeDimensions($o[56]);return $o[59]=ko,$o}function create_if_block$3e(So){let $o,ko,Eo=[],Io=new Map,$a,ya,wa,ka,Sa,Oa,Ca,Ea=So[1]&&create_if_block_2$19(So),Ta=ensure_array_like(So[19]);const Aa=Ia=>Ia[55].id;for(let Ia=0;Ia<Ta.length;Ia+=1){let Pa=get_each_context$1u(So,Ta,Ia),Ra=Aa(Pa);Io.set(Ra,Eo[Ia]=create_each_block$1u(Ra,Pa))}return{c(){$o=svg_element("svg"),Ea&&Ea.c(),ko=empty$4();for(let Ia=0;Ia<Eo.length;Ia+=1)Eo[Ia].c();$a=svg_element("path"),attr($a,"class","svelte-flow__minimap-mask"),attr($a,"d",ya="M"+(So[26]-So[15])+","+(So[25]-So[15])+"h"+(So[24]+So[15]*2)+"v"+(So[23]+So[15]*2)+"h"+(-So[24]-So[15]*2)+`z
762
+ own workspace.`)},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_each_block_2$9(So){let $o,ko;function Eo(){return So[27](So[49])}function Io(){return So[28](So[49])}return $o=new Notification({props:{wide:!0,dismissable:!0,action:Eo,type:"error",icon:"warning",actionMessage:So[18](So[10][So[49]])>1?"View errors":"View error",message:So[19](So[49])}}),$o.$on("dismiss",Io),{c(){create_component($o.$$.fragment)},m($a,ya){mount_component($o,$a,ya),ko=!0},p($a,ya){So=$a;const wa={};ya[0]&1024&&(wa.action=Eo),ya[0]&1024&&(wa.actionMessage=So[18](So[10][So[49]])>1?"View errors":"View error"),ya[0]&1024&&(wa.message=So[19](So[49])),$o.$set(wa)},i($a){ko||(transition_in($o.$$.fragment,$a),ko=!0)},o($a){transition_out($o.$$.fragment,$a),ko=!1},d($a){destroy_component($o,$a)}}}function create_each_block_1$t(So){let $o,ko;function Eo(){return So[29](So[49])}function Io(){return So[30](So[49])}return $o=new Notification({props:{wide:!0,dismissable:!0,action:Eo,type:"error",icon:"warning",actionMessage:So[18](So[11][So[49]])>1?"View errors":"View error",message:So[21](So[49])}}),$o.$on("dismiss",Io),{c(){create_component($o.$$.fragment)},m($a,ya){mount_component($o,$a,ya),ko=!0},p($a,ya){So=$a;const wa={};ya[0]&2048&&(wa.action=Eo),ya[0]&2048&&(wa.actionMessage=So[18](So[11][So[49]])>1?"View errors":"View error"),ya[0]&2048&&(wa.message=So[21](So[49])),$o.$set(wa)},i($a){ko||(transition_in($o.$$.fragment,$a),ko=!0)},o($a){transition_out($o.$$.fragment,$a),ko=!1},d($a){destroy_component($o,$a)}}}function create_default_slot_11$b(So){let $o;return{c(){$o=text(So[13])},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo[0]&8192&&set_data($o,ko[13])},d(ko){ko&&detach($o)}}}function create_default_slot_10$e(So){let $o;return{c(){$o=text("Below you'll find the list of workspaces that you have access to")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_9$h(So){let $o,ko,Eo,Io;return $o=new Heading({props:{size:"M",$$slots:{default:[create_default_slot_11$b]},$$scope:{ctx:So}}}),Eo=new Body({props:{size:"M",$$slots:{default:[create_default_slot_10$e]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment),ko=space$2(),create_component(Eo.$$.fragment)},m($a,ya){mount_component($o,$a,ya),insert$1($a,ko,ya),mount_component(Eo,$a,ya),Io=!0},p($a,ya){const wa={};ya[0]&8192|ya[1]&8388608&&(wa.$$scope={dirty:ya,ctx:$a}),$o.$set(wa);const ka={};ya[1]&8388608&&(ka.$$scope={dirty:ya,ctx:$a}),Eo.$set(ka)},i($a){Io||(transition_in($o.$$.fragment,$a),transition_in(Eo.$$.fragment,$a),Io=!0)},o($a){transition_out($o.$$.fragment,$a),transition_out(Eo.$$.fragment,$a),Io=!1},d($a){$a&&detach(ko),destroy_component($o,$a),destroy_component(Eo,$a)}}}function create_else_block$1l(So){let $o,ko,Eo,Io,$a,ya;return $a=new Body({props:{weight:"700",$$slots:{default:[create_default_slot_8$m]},$$scope:{ctx:So}}}),{c(){$o=element("div"),ko=element("img"),Io=space$2(),create_component($a.$$.fragment),attr(ko,"class","spaceman"),attr(ko,"alt","spaceman"),src_url_equal(ko.src,Eo=Logo)||attr(ko,"src",Eo),attr(ko,"width","100px"),attr($o,"class","no-apps svelte-1x4sm22")},m(wa,ka){insert$1(wa,$o,ka),append$2($o,ko),append$2($o,Io),mount_component($a,$o,null),ya=!0},p(wa,ka){const Sa={};ka[1]&8388608&&(Sa.$$scope={dirty:ka,ctx:wa}),$a.$set(Sa)},i(wa){ya||(transition_in($a.$$.fragment,wa),ya=!0)},o(wa){transition_out($a.$$.fragment,wa),ya=!1},d(wa){wa&&detach($o),destroy_component($a)}}}function create_if_block_1$1T(So){let $o,ko;return $o=new Layout$l({props:{noPadding:!0,gap:"L",$$slots:{default:[create_default_slot_4$14]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io[0]&49262|Io[1]&8388608&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot_8$m(So){let $o;return{c(){$o=text("You haven't been given access to any apps yet")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_if_block_2$1b(So){var ya;let $o,ko,Eo,Io;ko=new Button({props:{size:"M",cta:!0,$$slots:{default:[create_default_slot_7$r]},$$scope:{ctx:So}}}),ko.$on("click",So[16]||So[22]);let $a=((ya=So[14].apps)==null?void 0:ya.length)>0&&create_if_block_3$R(So);return{c(){$o=element("div"),create_component(ko.$$.fragment),Eo=space$2(),$a&&$a.c(),attr($o,"class","buttons svelte-1x4sm22")},m(wa,ka){insert$1(wa,$o,ka),mount_component(ko,$o,null),append$2($o,Eo),$a&&$a.m($o,null),Io=!0},p(wa,ka){var Oa;const Sa={};ka[1]&8388608&&(Sa.$$scope={dirty:ka,ctx:wa}),ko.$set(Sa),((Oa=wa[14].apps)==null?void 0:Oa.length)>0?$a?($a.p(wa,ka),ka[0]&16384&&transition_in($a,1)):($a=create_if_block_3$R(wa),$a.c(),transition_in($a,1),$a.m($o,null)):$a&&(group_outros(),transition_out($a,1,1,()=>{$a=null}),check_outros())},i(wa){Io||(transition_in(ko.$$.fragment,wa),transition_in($a),Io=!0)},o(wa){transition_out(ko.$$.fragment,wa),transition_out($a),Io=!1},d(wa){wa&&detach($o),destroy_component(ko),$a&&$a.d()}}}function create_default_slot_7$r(So){let $o;return{c(){$o=text("Create new workspace")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_if_block_3$R(So){let $o,ko,Eo,Io=!So[5].offlineMode&&create_if_block_4$C(So);return ko=new Button({props:{size:"M",secondary:!0,$$slots:{default:[create_default_slot_5$O]},$$scope:{ctx:So}}}),ko.$on("click",So[16]||So[23]),{c(){Io&&Io.c(),$o=space$2(),create_component(ko.$$.fragment)},m($a,ya){Io&&Io.m($a,ya),insert$1($a,$o,ya),mount_component(ko,$a,ya),Eo=!0},p($a,ya){$a[5].offlineMode?Io&&(group_outros(),transition_out(Io,1,1,()=>{Io=null}),check_outros()):Io?(Io.p($a,ya),ya[0]&32&&transition_in(Io,1)):(Io=create_if_block_4$C($a),Io.c(),transition_in(Io,1),Io.m($o.parentNode,$o));const wa={};ya[1]&8388608&&(wa.$$scope={dirty:ya,ctx:$a}),ko.$set(wa)},i($a){Eo||(transition_in(Io),transition_in(ko.$$.fragment,$a),Eo=!0)},o($a){transition_out(Io),transition_out(ko.$$.fragment,$a),Eo=!1},d($a){$a&&detach($o),Io&&Io.d($a),destroy_component(ko,$a)}}}function create_if_block_4$C(So){let $o,ko;return $o=new Button({props:{size:"M",secondary:!0,$$slots:{default:[create_default_slot_6$D]},$$scope:{ctx:So}}}),$o.$on("click",function(){is_function(So[16]||So[1].show)&&(So[16]||So[1].show).apply(this,arguments)}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){So=Eo;const $a={};Io[1]&8388608&&($a.$$scope={dirty:Io,ctx:So}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot_6$D(So){let $o;return{c(){$o=text("View templates")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_5$O(So){let $o;return{c(){$o=text("Import workspace")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_each_block$1A(So,$o){let ko,Eo,Io;return Eo=new AppRow({props:{app:$o[46],lockedAction:$o[16]}}),{key:So,first:null,c(){ko=empty$4(),create_component(Eo.$$.fragment),this.first=ko},m($a,ya){insert$1($a,ko,ya),mount_component(Eo,$a,ya),Io=!0},p($a,ya){$o=$a;const wa={};ya[0]&8&&(wa.app=$o[46]),Eo.$set(wa)},i($a){Io||(transition_in(Eo.$$.fragment,$a),Io=!0)},o($a){transition_out(Eo.$$.fragment,$a),Io=!1},d($a){$a&&detach(ko),destroy_component(Eo,$a)}}}function create_default_slot_4$14(So){let $o,ko=So[6].user&&canCreateApps(So[6].user),Eo,Io,$a,ya,wa,ka,Sa,Oa=[],Ca=new Map,Ea,Ta=ko&&create_if_block_2$1b(So);$a=new Select_1$1({props:{autoWidth:!0,value:So[15],placeholder:null,options:[{label:"Sort by name",value:"name"},{label:"Sort by recently updated",value:"updated"},{label:"Sort by status",value:"status"}]}}),$a.$on("change",So[31]),wa=new Search_1({props:{placeholder:"Search"}}),wa.$on("input",So[32]),wa.$on("change",So[33]);let Aa=ensure_array_like(So[3]);const Ia=Pa=>Pa[46].appId;for(let Pa=0;Pa<Aa.length;Pa+=1){let Ra=get_each_context$1A(So,Aa,Pa),Da=Ia(Ra);Ca.set(Da,Oa[Pa]=create_each_block$1A(Da,Ra))}return{c(){$o=element("div"),Ta&&Ta.c(),Eo=space$2(),Io=element("div"),create_component($a.$$.fragment),ya=space$2(),create_component(wa.$$.fragment),ka=space$2(),Sa=element("div");for(let Pa=0;Pa<Oa.length;Pa+=1)Oa[Pa].c();attr(Io,"class","app-actions svelte-1x4sm22"),attr($o,"class","title svelte-1x4sm22"),attr(Sa,"class","app-table svelte-1x4sm22")},m(Pa,Ra){insert$1(Pa,$o,Ra),Ta&&Ta.m($o,null),append$2($o,Eo),append$2($o,Io),mount_component($a,Io,null),append$2(Io,ya),mount_component(wa,Io,null),insert$1(Pa,ka,Ra),insert$1(Pa,Sa,Ra);for(let Da=0;Da<Oa.length;Da+=1)Oa[Da]&&Oa[Da].m(Sa,null);Ea=!0},p(Pa,Ra){Ra[0]&64&&(ko=Pa[6].user&&canCreateApps(Pa[6].user)),ko?Ta?(Ta.p(Pa,Ra),Ra[0]&64&&transition_in(Ta,1)):(Ta=create_if_block_2$1b(Pa),Ta.c(),transition_in(Ta,1),Ta.m($o,Eo)):Ta&&(group_outros(),transition_out(Ta,1,1,()=>{Ta=null}),check_outros());const Da={};Ra[0]&32768&&(Da.value=Pa[15]),$a.$set(Da),Ra[0]&65544&&(Aa=ensure_array_like(Pa[3]),group_outros(),Oa=update_keyed_each(Oa,Ra,Ia,1,Pa,Aa,Ca,Sa,outro_and_destroy_block,create_each_block$1A,null,get_each_context$1A),check_outros())},i(Pa){if(!Ea){transition_in(Ta),transition_in($a.$$.fragment,Pa),transition_in(wa.$$.fragment,Pa);for(let Ra=0;Ra<Aa.length;Ra+=1)transition_in(Oa[Ra]);Ea=!0}},o(Pa){transition_out(Ta),transition_out($a.$$.fragment,Pa),transition_out(wa.$$.fragment,Pa);for(let Ra=0;Ra<Oa.length;Ra+=1)transition_out(Oa[Ra]);Ea=!1},d(Pa){Pa&&(detach($o),detach(ka),detach(Sa)),Ta&&Ta.d(),destroy_component($a),destroy_component(wa);for(let Ra=0;Ra<Oa.length;Ra+=1)Oa[Ra].d()}}}function create_if_block$3z(So){let $o,ko,Eo,Io,$a,ya,wa,ka;return wa=new Spinner({props:{size:"10"}}),{c(){$o=element("div"),ko=element("img"),Io=space$2(),$a=element("p"),$a.textContent="Creating your Budibase app from your selected template...",ya=space$2(),create_component(wa.$$.fragment),attr(ko,"class","img-logo img-size svelte-1x4sm22"),attr(ko,"alt","logo"),src_url_equal(ko.src,Eo=Logo)||attr(ko,"src",Eo),attr($o,"class","empty-wrapper svelte-1x4sm22")},m(Sa,Oa){insert$1(Sa,$o,Oa),append$2($o,ko),append$2($o,Io),append$2($o,$a),append$2($o,ya),mount_component(wa,$o,null),ka=!0},i(Sa){ka||(transition_in(wa.$$.fragment,Sa),ka=!0)},o(Sa){transition_out(wa.$$.fragment,Sa),ka=!1},d(Sa){Sa&&detach($o),destroy_component(wa)}}}function create_default_slot_3$1o(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea=ensure_array_like(Object.keys(So[10]||{})),Ta=[];for(let Fa=0;Fa<Ea.length;Fa+=1)Ta[Fa]=create_each_block_2$9(get_each_context_2$9(So,Ea,Fa));const Aa=Fa=>transition_out(Ta[Fa],1,1,()=>{Ta[Fa]=null});let Ia=ensure_array_like(Object.keys(So[11]||{})),Pa=[];for(let Fa=0;Fa<Ia.length;Fa+=1)Pa[Fa]=create_each_block_1$t(get_each_context_1$t(So,Ia,Fa));const Ra=Fa=>transition_out(Pa[Fa],1,1,()=>{Pa[Fa]=null});$a=new Layout$l({props:{noPadding:!0,gap:"XS",$$slots:{default:[create_default_slot_9$h]},$$scope:{ctx:So}}});const Da=[create_if_block_1$1T,create_else_block$1l],La=[];function Na(Fa,za){return Fa[14].apps.length?0:1}wa=Na(So),ka=La[wa]=Da[wa](So);let Ba=So[9]&&create_if_block$3z();return{c(){for(let Fa=0;Fa<Ta.length;Fa+=1)Ta[Fa].c();$o=space$2();for(let Fa=0;Fa<Pa.length;Fa+=1)Pa[Fa].c();ko=space$2(),Eo=element("div"),Io=element("div"),create_component($a.$$.fragment),ya=space$2(),ka.c(),Sa=space$2(),Ba&&Ba.c(),Oa=empty$4(),attr(Io,"class","welcome"),attr(Eo,"class","title svelte-1x4sm22")},m(Fa,za){for(let Ua=0;Ua<Ta.length;Ua+=1)Ta[Ua]&&Ta[Ua].m(Fa,za);insert$1(Fa,$o,za);for(let Ua=0;Ua<Pa.length;Ua+=1)Pa[Ua]&&Pa[Ua].m(Fa,za);insert$1(Fa,ko,za),insert$1(Fa,Eo,za),append$2(Eo,Io),mount_component($a,Io,null),insert$1(Fa,ya,za),La[wa].m(Fa,za),insert$1(Fa,Sa,za),Ba&&Ba.m(Fa,za),insert$1(Fa,Oa,za),Ca=!0},p(Fa,za){if(za[0]&918528){Ea=ensure_array_like(Object.keys(Fa[10]||{}));let Wa;for(Wa=0;Wa<Ea.length;Wa+=1){const ja=get_each_context_2$9(Fa,Ea,Wa);Ta[Wa]?(Ta[Wa].p(ja,za),transition_in(Ta[Wa],1)):(Ta[Wa]=create_each_block_2$9(ja),Ta[Wa].c(),transition_in(Ta[Wa],1),Ta[Wa].m($o.parentNode,$o))}for(group_outros(),Wa=Ea.length;Wa<Ta.length;Wa+=1)Aa(Wa);check_outros()}if(za[0]&3409920){Ia=ensure_array_like(Object.keys(Fa[11]||{}));let Wa;for(Wa=0;Wa<Ia.length;Wa+=1){const ja=get_each_context_1$t(Fa,Ia,Wa);Pa[Wa]?(Pa[Wa].p(ja,za),transition_in(Pa[Wa],1)):(Pa[Wa]=create_each_block_1$t(ja),Pa[Wa].c(),transition_in(Pa[Wa],1),Pa[Wa].m(ko.parentNode,ko))}for(group_outros(),Wa=Ia.length;Wa<Pa.length;Wa+=1)Ra(Wa);check_outros()}const Ua={};za[0]&8192|za[1]&8388608&&(Ua.$$scope={dirty:za,ctx:Fa}),$a.$set(Ua);let Ha=wa;wa=Na(Fa),wa===Ha?La[wa].p(Fa,za):(group_outros(),transition_out(La[Ha],1,1,()=>{La[Ha]=null}),check_outros(),ka=La[wa],ka?ka.p(Fa,za):(ka=La[wa]=Da[wa](Fa),ka.c()),transition_in(ka,1),ka.m(Sa.parentNode,Sa)),Fa[9]?Ba?za[0]&512&&transition_in(Ba,1):(Ba=create_if_block$3z(),Ba.c(),transition_in(Ba,1),Ba.m(Oa.parentNode,Oa)):Ba&&(group_outros(),transition_out(Ba,1,1,()=>{Ba=null}),check_outros())},i(Fa){if(!Ca){for(let za=0;za<Ea.length;za+=1)transition_in(Ta[za]);for(let za=0;za<Ia.length;za+=1)transition_in(Pa[za]);transition_in($a.$$.fragment,Fa),transition_in(ka),transition_in(Ba),Ca=!0}},o(Fa){Ta=Ta.filter(Boolean);for(let za=0;za<Ta.length;za+=1)transition_out(Ta[za]);Pa=Pa.filter(Boolean);for(let za=0;za<Pa.length;za+=1)transition_out(Pa[za]);transition_out($a.$$.fragment,Fa),transition_out(ka),transition_out(Ba),Ca=!1},d(Fa){Fa&&(detach($o),detach(ko),detach(Eo),detach(ya),detach(Sa),detach(Oa)),destroy_each(Ta,Fa),destroy_each(Pa,Fa),destroy_component($a),La[wa].d(Fa),Ba&&Ba.d(Fa)}}}function create_default_slot_2$1_(So){let $o,ko;return $o=new Layout$l({props:{noPadding:!0,gap:"L",$$slots:{default:[create_default_slot_3$1o]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io[0]&61038|Io[1]&8388608&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot_1$2S(So){let $o,ko;return $o=new CreateAppModal({props:{key:So[4].showImportModal?"import":So[4].showCreateModal?"create":"none"}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io[0]&16&&($a.key=Eo[4].showImportModal?"import":Eo[4].showCreateModal?"create":"none"),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot$4A(So){let $o,ko;return $o=new TemplatesModal({props:{onSelectTemplate:So[25]}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p:noop$5,i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_fragment$7J(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea;$o=new HeroBanner({props:{title:"Workspaces are live",linkTitle:"Learn about workspaces",linkHref:"https://budibase.com/blog/updates/workspaces/",color:"var(--spectrum-global-color-gray-100)",image:"https://res.cloudinary.com/daog6scxm/image/upload/w_1200,h_800/v1628152378/1.%20Illustrations/Scene_4_web_version_izudxc.avif",key:BannerType.PORTAL,$$slots:{default:[create_default_slot_12$a]},$$scope:{ctx:So}}}),Eo=new Page({props:{$$slots:{default:[create_default_slot_2$1_]},$$scope:{ctx:So}}});let Ta={padding:!1,width:"600px",$$slots:{default:[create_default_slot_1$2S]},$$scope:{ctx:So}};$a=new Modal({props:Ta}),So[34]($a),$a.$on("hide",So[24]);let Aa={$$slots:{default:[create_default_slot$4A]},$$scope:{ctx:So}};wa=new Modal({props:Aa}),So[35](wa);let Ia={};Sa=new AppLimitModal({props:Ia}),So[36](Sa);let Pa={onConfirm:So[37]};return Ca=new AccountLockedModal({props:Pa}),So[38](Ca),{c(){create_component($o.$$.fragment),ko=space$2(),create_component(Eo.$$.fragment),Io=space$2(),create_component($a.$$.fragment),ya=space$2(),create_component(wa.$$.fragment),ka=space$2(),create_component(Sa.$$.fragment),Oa=space$2(),create_component(Ca.$$.fragment)},m(Ra,Da){mount_component($o,Ra,Da),insert$1(Ra,ko,Da),mount_component(Eo,Ra,Da),insert$1(Ra,Io,Da),mount_component($a,Ra,Da),insert$1(Ra,ya,Da),mount_component(wa,Ra,Da),insert$1(Ra,ka,Da),mount_component(Sa,Ra,Da),insert$1(Ra,Oa,Da),mount_component(Ca,Ra,Da),Ea=!0},p(Ra,Da){const La={};Da[1]&8388608&&(La.$$scope={dirty:Da,ctx:Ra}),$o.$set(La);const Na={};Da[0]&61038|Da[1]&8388608&&(Na.$$scope={dirty:Da,ctx:Ra}),Eo.$set(Na);const Ba={};Da[0]&16|Da[1]&8388608&&(Ba.$$scope={dirty:Da,ctx:Ra}),$a.$set(Ba);const Fa={};Da[1]&8388608&&(Fa.$$scope={dirty:Da,ctx:Ra}),wa.$set(Fa);const za={};Sa.$set(za);const Ua={};Da[0]&4096&&(Ua.onConfirm=Ra[37]),Ca.$set(Ua)},i(Ra){Ea||(transition_in($o.$$.fragment,Ra),transition_in(Eo.$$.fragment,Ra),transition_in($a.$$.fragment,Ra),transition_in(wa.$$.fragment,Ra),transition_in(Sa.$$.fragment,Ra),transition_in(Ca.$$.fragment,Ra),Ea=!0)},o(Ra){transition_out($o.$$.fragment,Ra),transition_out(Eo.$$.fragment,Ra),transition_out($a.$$.fragment,Ra),transition_out(wa.$$.fragment,Ra),transition_out(Sa.$$.fragment,Ra),transition_out(Ca.$$.fragment,Ra),Ea=!1},d(Ra){Ra&&(detach(ko),detach(Io),detach(ya),detach(ka),detach(Oa)),destroy_component($o,Ra),destroy_component(Eo,Ra),So[34](null),destroy_component($a,Ra),So[35](null),destroy_component(wa,Ra),So[36](null),destroy_component(Sa,Ra),So[38](null),destroy_component(Ca,Ra)}}}function instance$7J(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta;component_subscribe(So,licensing,Cl=>ko(39,ya=Cl)),component_subscribe(So,goto,Cl=>ko(40,wa=Cl)),component_subscribe(So,appsStore,Cl=>ko(14,ka=Cl)),component_subscribe(So,appCreationStore,Cl=>ko(4,Sa=Cl)),component_subscribe(So,enrichedApps,Cl=>ko(26,Oa=Cl)),component_subscribe(So,admin,Cl=>ko(5,Ca=Cl)),component_subscribe(So,auth,Cl=>ko(6,Ea=Cl)),component_subscribe(So,sortBy,Cl=>ko(15,Ta=Cl));let Aa,Ia,Pa,Ra,Da="",La=!1,Na,Ba;const Fa=(Cl,wl)=>Cl==null?void 0:Cl.filter(Al=>{var Dl,Gl;const Ll=(Dl=wl==null?void 0:wl.trim())==null?void 0:Dl.replace(/\s/g,"");return Ll?(Gl=Al==null?void 0:Al.name)==null?void 0:Gl.toLowerCase().includes(Ll.toLowerCase()):!0}),za=ya!=null&&ya.errUserLimit?()=>Pa.show():null,Ua=Cl=>{const wl={};for(let Al of Cl)Al.automationErrors&&Wa(Al.automationErrors)>0&&(wl[Al.devId]=Al.automationErrors);return wl},Ha=Cl=>{const wl=Object.keys(Na[Cl]||{})[0];wl&&wa(`/builder/workspace/${Cl}/automation/${wl}`)},Wa=Cl=>Object.values(Cl).reduce((wl,Al)=>wl+Al.length,0),ja=Cl=>{const wl=Oa.find(Ll=>Ll.devId===Cl),Al=Na[Cl];return`${wl.name} - Automation error (${Wa(Al)})`},Ya=Cl=>{const wl={};for(const Al of Cl)Al.backupErrors&&Wa(Al.backupErrors)>0&&(wl[Al.devId]=Al.backupErrors);return wl},Xa=Cl=>{Object.keys(Ba[Cl]||{})[0]&&wa(`/builder/workspace/${Cl}/settings/backups`)},Za=Cl=>{const wl=Oa.find(Ll=>Ll.devId===Cl),Al=Ba[Cl];return`${wl.name} - Backup error (${Wa(Al)})`},Ga=async()=>{var Cl;((Cl=ya==null?void 0:ya.usageMetrics)==null?void 0:Cl.apps)>=100?Ia.show():appCreationStore.showCreateModal()},Ka=()=>{var Cl;((Cl=ya==null?void 0:ya.usageMetrics)==null?void 0:Cl.apps)>=100?Ia.show():appCreationStore.showImportModal()},tl=async()=>{try{const Cl=Sa.template;if(!(Cl!=null&&Cl.key)){notifications.error("No template selected");return}const wl=jl=>jl.replace(/\w\S*/g,Rl=>Rl.charAt(0).toUpperCase()+Rl.substr(1).toLowerCase());let Ll=Cl.key.split("/")[1].replace(/-/g," ");Ll=wl(Ll);const Dl=Ll.toLowerCase().replace(/\s+/g,"-"),Gl=jl=>ka.apps.some(Rl=>Rl.name===jl),Ol=jl=>ka.apps.some(Rl=>{var ql;return((ql=Rl.url)==null?void 0:ql.replace(/^\//,""))===jl});let ic=1,zl=Ll,Ml=Dl;for(;Gl(zl)||Ol(Ml);)ic++,zl=`${Ll} ${ic}`,Ml=`${Dl}-${ic}`;let Kl=new FormData;Kl.append("name",zl),Kl.append("url",Ml),Kl.append("useTemplate","true"),Kl.append("templateKey",Cl.key),Kl.append("isOnboarding","false");const Ul=await API.createApp(Kl),Yl=await API.fetchAppPackage(Ul.instance._id);await initialise(Yl),await admin.init(),await API.updateOwnMetadata({roleId:"BASIC"}),await auth.setInitInfo({}),wa(`/builder/workspace/${Ul.instance._id}`)}catch(Cl){notifications.error(`Error creating app - ${Cl.message}`)}},nl=()=>{appCreationStore.hideCreateModal(),appCreationStore.hideImportModal(),appCreationStore.hideTemplatesModal(),appCreationStore.clearTemplate()};function rl(Cl){var Al;const wl=Cl.split("/");if(wl.length===2&&wl[0]==="app"){if(((Al=ya==null?void 0:ya.usageMetrics)==null?void 0:Al.apps)>=100){Ia.show();return}appCreationStore.setTemplate({key:Cl}),tl()}else notifications.error("Your Template URL is invalid. Please try another.")}const il=Cl=>{var wl;if(((wl=ya==null?void 0:ya.usageMetrics)==null?void 0:wl.apps)>=100){Ia.show();return}appCreationStore.setTemplate(Cl),appCreationStore.hideTemplatesModal(),tl()};onMount(async()=>{try{const Cl=await auth.getInitInfo();Cl!=null&&Cl.init_template&&(ko(9,La=!0),rl(Cl.init_template)),za&&za(),await templates.load()}catch{notifications.error("Error getting init info")}});const sl=Cl=>Ha(Cl),ul=async Cl=>{const wl=Object.keys(Na[Cl]||{})[0];wl&&(await automationStore.actions.clearLogErrors({appId:Cl,automationId:wl}),await appsStore.load())},al=Cl=>Xa(Cl),dl=async Cl=>{Object.keys(Ba[Cl]||{})[0]&&(await backups.clearBackupErrors(Cl),await appsStore.load())},gl=Cl=>{appsStore.updateSort(Cl.detail)},cl=Cl=>{ko(2,Da=Cl.target.value)},fl=Cl=>{Cl.detail||ko(2,Da=null)};function pl(Cl){binding_callbacks[Cl?"unshift":"push"](()=>{Aa=Cl,ko(0,Aa)})}function ml(Cl){binding_callbacks[Cl?"unshift":"push"](()=>{Ra=Cl,ko(1,Ra)})}function vl(Cl){binding_callbacks[Cl?"unshift":"push"](()=>{Ia=Cl,ko(7,Ia)})}const $l=()=>$a?licensing.goToUpgradePage():licensing.goToPricingPage();function bl(Cl){binding_callbacks[Cl?"unshift":"push"](()=>{Pa=Cl,ko(8,Pa)})}return So.$$.update=()=>{var Cl;So.$$.dirty[0]&64&&ko(13,Eo=`Welcome ${((Cl=Ea==null?void 0:Ea.user)==null?void 0:Cl.firstName)||"back"}`),So.$$.dirty[0]&67108868&&ko(3,Io=Fa(Oa,Da)),So.$$.dirty[0]&8&&ko(10,Na=Ua(Io||[])),So.$$.dirty[0]&8&&ko(11,Ba=Ya(Io||[])),So.$$.dirty[0]&96&&ko(12,$a=Ea.accountPortalAccess&&Ca.cloud),So.$$.dirty[0]&17&&(Sa.showCreateModal||Sa.showImportModal)&&Aa&&Aa.show(),So.$$.dirty[0]&18&&Sa.showTemplatesModal&&Ra&&Ra.show()},[Aa,Ra,Da,Io,Sa,Ca,Ea,Ia,Pa,La,Na,Ba,$a,Eo,ka,Ta,za,Ha,Wa,ja,Xa,Za,Ga,Ka,nl,il,Oa,sl,ul,al,dl,gl,cl,fl,pl,ml,vl,$l,bl]}let Workspaces$1=class extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7J,create_fragment$7J,safe_not_equal,{},null,[-1,-1])}};const index_svelte_svelte_type_style_lang$k="";function create_else_block$1k(So){let $o,ko,Eo,Io,$a;return ko=new Body({props:{size:"M",$$slots:{default:[create_default_slot_2$1Z]},$$scope:{ctx:So}}}),Io=new Button({props:{size:"L",cta:!0,$$slots:{default:[create_default_slot_1$2R]},$$scope:{ctx:So}}}),Io.$on("click",So[2]),{c(){$o=element("div"),create_component(ko.$$.fragment),Eo=space$2(),create_component(Io.$$.fragment),attr($o,"class","content svelte-n432aj")},m(ya,wa){insert$1(ya,$o,wa),mount_component(ko,$o,null),append$2($o,Eo),mount_component(Io,$o,null),$a=!0},p(ya,wa){const ka={};wa&18&&(ka.$$scope={dirty:wa,ctx:ya}),ko.$set(ka);const Sa={};wa&16&&(Sa.$$scope={dirty:wa,ctx:ya}),Io.$set(Sa)},i(ya){$a||(transition_in(ko.$$.fragment,ya),transition_in(Io.$$.fragment,ya),$a=!0)},o(ya){transition_out(ko.$$.fragment,ya),transition_out(Io.$$.fragment,ya),$a=!1},d(ya){ya&&detach($o),destroy_component(ko),destroy_component(Io)}}}function create_if_block$3y(So){let $o,ko,Eo,Io,$a;return ko=new Spinner({props:{size:"10"}}),Io=new Body({props:{size:"M",$$slots:{default:[create_default_slot$4z]},$$scope:{ctx:So}}}),{c(){$o=element("div"),create_component(ko.$$.fragment),Eo=space$2(),create_component(Io.$$.fragment),attr($o,"class","content svelte-n432aj")},m(ya,wa){insert$1(ya,$o,wa),mount_component(ko,$o,null),append$2($o,Eo),mount_component(Io,$o,null),$a=!0},p(ya,wa){const ka={};wa&16&&(ka.$$scope={dirty:wa,ctx:ya}),Io.$set(ka)},i(ya){$a||(transition_in(ko.$$.fragment,ya),transition_in(Io.$$.fragment,ya),$a=!0)},o(ya){transition_out(ko.$$.fragment,ya),transition_out(Io.$$.fragment,ya),$a=!1},d(ya){ya&&detach($o),destroy_component(ko),destroy_component(Io)}}}function create_default_slot_2$1Z(So){let $o;return{c(){$o=text(So[1])},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo&2&&set_data($o,ko[1])},d(ko){ko&&detach($o)}}}function create_default_slot_1$2R(So){let $o;return{c(){$o=text("Try again")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot$4z(So){let $o;return{c(){$o=text("Setting up your workspace...")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_fragment$7I(So){let $o,ko,Eo,Io;const $a=[create_if_block$3y,create_else_block$1k],ya=[];function wa(ka,Sa){return ka[0]?0:1}return ko=wa(So),Eo=ya[ko]=$a[ko](So),{c(){$o=element("div"),Eo.c(),attr($o,"class","container svelte-n432aj")},m(ka,Sa){insert$1(ka,$o,Sa),ya[ko].m($o,null),Io=!0},p(ka,[Sa]){let Oa=ko;ko=wa(ka),ko===Oa?ya[ko].p(ka,Sa):(group_outros(),transition_out(ya[Oa],1,1,()=>{ya[Oa]=null}),check_outros(),Eo=ya[ko],Eo?Eo.p(ka,Sa):(Eo=ya[ko]=$a[ko](ka),Eo.c()),transition_in(Eo,1),Eo.m($o,null))},i(ka){Io||(transition_in(Eo),Io=!0)},o(ka){transition_out(Eo),Io=!1},d(ka){ka&&detach($o),ya[ko].d()}}}const DEFAULT_ONBOARDING_NAME="My first app",DEFAULT_ONBOARDING_URL="my-first-app";function instance$7I(So,$o,ko){let Eo;component_subscribe(So,goto,wa=>ko(3,Eo=wa));let Io=!0,$a=null;const ya=async()=>{ko(0,Io=!0),ko(1,$a=null);try{const wa=new FormData;wa.append("name",DEFAULT_ONBOARDING_NAME),wa.append("url",DEFAULT_ONBOARDING_URL),wa.append("useTemplate","false"),wa.append("isOnboarding","true");const ka=await API.createApp(wa),Sa=await API.fetchAppPackage(ka.instance._id);await initialise(Sa),await admin.init(),await auth.setInitInfo({});const Oa=Sa.screens.find(Ea=>{var Ta;return(Ta=Ea.routing)==null?void 0:Ta.homeScreen}),Ca=Oa!=null&&Oa.workspaceAppId&&(Oa!=null&&Oa._id)?buildBuilderWorkspaceDesignRoute({applicationId:ka.instance._id,workspaceAppId:Oa.workspaceAppId,screenId:Oa._id}):buildBuilderWorkspaceRoute({applicationId:ka.instance._id});Eo(Ca)}catch(wa){ko(0,Io=!1);const ka=(wa==null?void 0:wa.message)||"There was a problem creating your app";ko(1,$a=ka),notifications.error(ka)}};return onMount(()=>{ya()}),[Io,$a,ya]}class Onboarding extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7I,create_fragment$7I,safe_not_equal,{})}}const _layout_svelte_svelte_type_style_lang$5="";function create_if_block$3x(So){let $o,ko;const Eo=So[2].default,Io=create_slot(Eo,So,So[1],null);return{c(){$o=element("div"),Io&&Io.c(),attr($o,"class","page svelte-tsq03j")},m($a,ya){insert$1($a,$o,ya),Io&&Io.m($o,null),ko=!0},p($a,ya){Io&&Io.p&&(!ko||ya&2)&&update_slot_base(Io,Eo,$a,$a[1],ko?get_slot_changes(Eo,$a[1],ya,null):get_all_dirty_from_scope($a[1]),null)},i($a){ko||(transition_in(Io,$a),ko=!0)},o($a){transition_out(Io,$a),ko=!1},d($a){$a&&detach($o),Io&&Io.d($a)}}}function create_fragment$7H(So){let $o,ko,Eo=So[0]&&create_if_block$3x(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m(Io,$a){Eo&&Eo.m(Io,$a),insert$1(Io,$o,$a),ko=!0},p(Io,[$a]){Io[0]?Eo?(Eo.p(Io,$a),$a&1&&transition_in(Eo,1)):(Eo=create_if_block$3x(Io),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o)):Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros())},i(Io){ko||(transition_in(Eo),ko=!0)},o(Io){transition_out(Eo),ko=!1},d(Io){Io&&detach($o),Eo&&Eo.d(Io)}}}function instance$7H(So,$o,ko){var Ca;let Eo,Io,$a,ya,wa;component_subscribe(So,redirect,Ea=>ko(3,Eo=Ea)),component_subscribe(So,auth,Ea=>ko(4,Io=Ea)),component_subscribe(So,appsStore,Ea=>ko(5,$a=Ea)),component_subscribe(So,templates,Ea=>ko(6,ya=Ea)),component_subscribe(So,admin,Ea=>ko(7,wa=Ea));let{$$slots:ka={},$$scope:Sa}=$o,Oa=!!((Ca=$a.apps)!=null&&Ca.length);return onMount(async()=>{try{const Ea=[licensing.init()];wa.offlineMode||Ea.push(templates.load()),Ea.push(groups.init()),await Promise.all(Ea),!wa.offlineMode&&(ya==null?void 0:ya.length)===0&&notifications.error("There was a problem loading quick start templates"),!$a.apps.length&&hasAdminPermissions(Io.user)&&Eo("./onboarding")}catch{notifications.error("Error loading apps and templates")}ko(0,Oa=!0)}),So.$$set=Ea=>{"$$scope"in Ea&&ko(1,Sa=Ea.$$scope)},[Oa,Sa,ka]}let Layout$h=class extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7H,create_fragment$7H,safe_not_equal,{})}};const Breadcrumb_svelte_svelte_type_style_lang="";function create_else_block$1j(So){let $o,ko,Eo,Io;return{c(){$o=element("span"),ko=text(So[1]),attr($o,"class","svelte-13om1ke")},m($a,ya){insert$1($a,$o,ya),append$2($o,ko),Eo||(Io=listen($o,"click",So[3]),Eo=!0)},p($a,ya){ya&2&&set_data(ko,$a[1])},d($a){$a&&detach($o),Eo=!1,Io()}}}function create_if_block$3w(So){let $o,ko;return{c(){$o=element("a"),ko=text(So[1]),attr($o,"href",So[0]),attr($o,"class","svelte-13om1ke")},m(Eo,Io){insert$1(Eo,$o,Io),append$2($o,ko)},p(Eo,Io){Io&2&&set_data(ko,Eo[1]),Io&1&&attr($o,"href",Eo[0])},d(Eo){Eo&&detach($o)}}}function create_fragment$7G(So){let $o,ko,Eo,Io;function $a(ka,Sa){return typeof ka[2]!="function"?create_if_block$3w:create_else_block$1j}let ya=$a(So),wa=ya(So);return Eo=new Icon({props:{name:"caret-right"}}),{c(){$o=element("div"),wa.c(),ko=space$2(),create_component(Eo.$$.fragment),attr($o,"class","crumb svelte-13om1ke")},m(ka,Sa){insert$1(ka,$o,Sa),wa.m($o,null),append$2($o,ko),mount_component(Eo,$o,null),Io=!0},p(ka,[Sa]){ya===(ya=$a(ka))&&wa?wa.p(ka,Sa):(wa.d(1),wa=ya(ka),wa&&(wa.c(),wa.m($o,ko)))},i(ka){Io||(transition_in(Eo.$$.fragment,ka),Io=!0)},o(ka){transition_out(Eo.$$.fragment,ka),Io=!1},d(ka){ka&&detach($o),wa.d(),destroy_component(Eo)}}}function instance$7G(So,$o,ko){let{url:Eo=void 0}=$o,{text:Io=void 0}=$o,{onClick:$a=void 0}=$o;const ya=wa=>$a(wa);return So.$$set=wa=>{"url"in wa&&ko(0,Eo=wa.url),"text"in wa&&ko(1,Io=wa.text),"onClick"in wa&&ko(2,$a=wa.onClick)},[Eo,Io,$a,ya]}class Breadcrumb extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7G,create_fragment$7G,safe_not_equal,{url:0,text:1,onClick:2})}}const Breadcrumbs_svelte_svelte_type_style_lang="";function create_fragment$7F(So){let $o,ko;const Eo=So[1].default,Io=create_slot(Eo,So,So[0],null);return{c(){$o=element("div"),Io&&Io.c(),attr($o,"class","svelte-t964sm")},m($a,ya){insert$1($a,$o,ya),Io&&Io.m($o,null),ko=!0},p($a,[ya]){Io&&Io.p&&(!ko||ya&1)&&update_slot_base(Io,Eo,$a,$a[0],ko?get_slot_changes(Eo,$a[0],ya,null):get_all_dirty_from_scope($a[0]),null)},i($a){ko||(transition_in(Io,$a),ko=!0)},o($a){transition_out(Io,$a),ko=!1},d($a){$a&&detach($o),Io&&Io.d($a)}}}function instance$7F(So,$o,ko){let{$$slots:Eo={},$$scope:Io}=$o;return So.$$set=$a=>{"$$scope"in $a&&ko(0,Io=$a.$$scope)},[Io,Eo]}class Breadcrumbs extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7F,create_fragment$7F,safe_not_equal,{})}}const Header_svelte_svelte_type_style_lang="",Content_svelte_svelte_type_style_lang="",SideNavItem_svelte_svelte_type_style_lang="";function create_else_block$1i(So){let $o,ko=(So[0]||"")+"",Eo,Io,$a;return{c(){$o=element("div"),Eo=text(ko),attr($o,"class","text svelte-1hh32w7"),toggle_class($o,"active",So[2]),toggle_class($o,"disabled",So[3])},m(ya,wa){insert$1(ya,$o,wa),append$2($o,Eo),Io||($a=listen($o,"click",So[5]),Io=!0)},p(ya,wa){wa&1&&ko!==(ko=(ya[0]||"")+"")&&set_data(Eo,ko),wa&4&&toggle_class($o,"active",ya[2]),wa&8&&toggle_class($o,"disabled",ya[3])},d(ya){ya&&detach($o),Io=!1,$a()}}}function create_if_block$3v(So){let $o,ko=(So[0]||"")+"",Eo,Io,$a;return{c(){$o=element("a"),Eo=text(ko),attr($o,"class","text svelte-1hh32w7"),attr($o,"href",So[1]),toggle_class($o,"active",So[2]),toggle_class($o,"disabled",So[3])},m(ya,wa){insert$1(ya,$o,wa),append$2($o,Eo),Io||($a=listen($o,"click",So[4]),Io=!0)},p(ya,wa){wa&1&&ko!==(ko=(ya[0]||"")+"")&&set_data(Eo,ko),wa&2&&attr($o,"href",ya[1]),wa&4&&toggle_class($o,"active",ya[2]),wa&8&&toggle_class($o,"disabled",ya[3])},d(ya){ya&&detach($o),Io=!1,$a()}}}function create_fragment$7E(So){let $o;function ko($a,ya){return $a[1]?create_if_block$3v:create_else_block$1i}let Eo=ko(So),Io=Eo(So);return{c(){$o=element("div"),Io.c(),attr($o,"class","side-nav-item svelte-1hh32w7")},m($a,ya){insert$1($a,$o,ya),Io.m($o,null)},p($a,[ya]){Eo===(Eo=ko($a))&&Io?Io.p($a,ya):(Io.d(1),Io=Eo($a),Io&&(Io.c(),Io.m($o,null)))},i:noop$5,o:noop$5,d($a){$a&&detach($o),Io.d()}}}function instance$7E(So,$o,ko){let{text:Eo=""}=$o,{url:Io=""}=$o,{active:$a=!1}=$o,{disabled:ya=!1}=$o;function wa(Sa){bubble.call(this,So,Sa)}function ka(Sa){bubble.call(this,So,Sa)}return So.$$set=Sa=>{"text"in Sa&&ko(0,Eo=Sa.text),"url"in Sa&&ko(1,Io=Sa.url),"active"in Sa&&ko(2,$a=Sa.active),"disabled"in Sa&&ko(3,ya=Sa.disabled)},[Eo,Io,$a,ya,wa,ka]}class SideNavItem extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7E,create_fragment$7E,safe_not_equal,{text:0,url:1,active:2,disabled:3})}}const SideNav_svelte_svelte_type_style_lang$1="";function create_if_block$3u(So){let $o,ko;return{c(){$o=element("div"),ko=text(So[0]),attr($o,"class","title svelte-14ilt20")},m(Eo,Io){insert$1(Eo,$o,Io),append$2($o,ko)},p(Eo,Io){Io&1&&set_data(ko,Eo[0])},d(Eo){Eo&&detach($o)}}}function create_fragment$7D(So){let $o,ko,Eo,Io=So[0]&&create_if_block$3u(So);const $a=So[2].default,ya=create_slot($a,So,So[1],null);return{c(){$o=element("div"),Io&&Io.c(),ko=space$2(),ya&&ya.c(),attr($o,"class","side-nav svelte-14ilt20")},m(wa,ka){insert$1(wa,$o,ka),Io&&Io.m($o,null),append$2($o,ko),ya&&ya.m($o,null),Eo=!0},p(wa,[ka]){wa[0]?Io?Io.p(wa,ka):(Io=create_if_block$3u(wa),Io.c(),Io.m($o,ko)):Io&&(Io.d(1),Io=null),ya&&ya.p&&(!Eo||ka&2)&&update_slot_base(ya,$a,wa,wa[1],Eo?get_slot_changes($a,wa[1],ka,null):get_all_dirty_from_scope(wa[1]),null)},i(wa){Eo||(transition_in(ya,wa),Eo=!0)},o(wa){transition_out(ya,wa),Eo=!1},d(wa){wa&&detach($o),Io&&Io.d(),ya&&ya.d(wa)}}}function instance$7D(So,$o,ko){let{$$slots:Eo={},$$scope:Io}=$o,{title:$a=""}=$o;return So.$$set=ya=>{"title"in ya&&ko(0,$a=ya.title),"$$scope"in ya&&ko(1,Io=ya.$$scope)},[$a,Io,Eo]}let SideNav$1=class extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7D,create_fragment$7D,safe_not_equal,{title:0})}};const Logo_svelte_svelte_type_style_lang="";function create_fragment$7C(So){let $o,ko,Eo,Io;return{c(){$o=element("img"),src_url_equal($o.src,ko=So[0].logoUrl||BBLogo)||attr($o,"src",ko),attr($o,"alt","Budibase Logo"),attr($o,"class","svelte-19hn6ob")},m($a,ya){insert$1($a,$o,ya),Eo||(Io=listen($o,"click",So[2]),Eo=!0)},p($a,[ya]){ya&1&&!src_url_equal($o.src,ko=$a[0].logoUrl||BBLogo)&&attr($o,"src",ko)},i:noop$5,o:noop$5,d($a){$a&&detach($o),Eo=!1,Io()}}}function instance$7C(So,$o,ko){let Eo,Io;return component_subscribe(So,organisation,ya=>ko(0,Eo=ya)),component_subscribe(So,goto,ya=>ko(1,Io=ya)),[Eo,Io,()=>Io("./workspaces")]}class Logo_1 extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7C,create_fragment$7C,safe_not_equal,{})}}const MobileMenu_svelte_svelte_type_style_lang="";function get_each_context$1z(So,$o,ko){const Eo=So.slice();return Eo[6]=$o[ko].title,Eo[7]=$o[ko].subPages,Eo}function get_each_context_1$s(So,$o,ko){const Eo=So.slice();return Eo[6]=$o[ko].title,Eo[10]=$o[ko].href,Eo}function get_each_context_2$8(So,$o,ko){const Eo=So.slice();return Eo[6]=$o[ko].title,Eo[10]=$o[ko].href,Eo[7]=$o[ko].subPages,Eo}function create_if_block_2$1a(So){let $o,ko,Eo,Io,$a;return{c(){$o=element("div"),attr($o,"class","mobile-nav-underlay svelte-tof9hg")},m(ya,wa){insert$1(ya,$o,wa),Eo=!0,Io||($a=listen($o,"click",So[3]),Io=!0)},p:noop$5,i(ya){Eo||(ya&&add_render_callback(()=>{Eo&&(ko||(ko=create_bidirectional_transition($o,fade,{duration:130},!0)),ko.run(1))}),Eo=!0)},o(ya){ya&&(ko||(ko=create_bidirectional_transition($o,fade,{duration:130},!1)),ko.run(0)),Eo=!1},d(ya){ya&&detach($o),ya&&ko&&ko.end(),Io=!1,$a()}}}function create_if_block_1$1S(So){let $o,ko;return $o=new SideNavItem({props:{text:So[6],url:So[10],active:So[2](So[10])}}),$o.$on("click",So[3]),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&2&&($a.text=Eo[6]),Io&2&&($a.url=Eo[10]),Io&6&&($a.active=Eo[2](Eo[10])),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_each_block_2$8(So){var Io;let $o,ko,Eo=!((Io=So[7])!=null&&Io.length)&&create_if_block_1$1S(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m($a,ya){Eo&&Eo.m($a,ya),insert$1($a,$o,ya),ko=!0},p($a,ya){var wa;(wa=$a[7])!=null&&wa.length?Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros()):Eo?(Eo.p($a,ya),ya&2&&transition_in(Eo,1)):(Eo=create_if_block_1$1S($a),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o))},i($a){ko||(transition_in(Eo),ko=!0)},o($a){transition_out(Eo),ko=!1},d($a){$a&&detach($o),Eo&&Eo.d($a)}}}function create_if_block$3t(So){let $o,ko=So[6]+"",Eo,Io,$a,ya,wa=ensure_array_like(So[7]),ka=[];for(let Oa=0;Oa<wa.length;Oa+=1)ka[Oa]=create_each_block_1$s(get_each_context_1$s(So,wa,Oa));const Sa=Oa=>transition_out(ka[Oa],1,1,()=>{ka[Oa]=null});return{c(){$o=element("div"),Eo=text(ko),Io=space$2();for(let Oa=0;Oa<ka.length;Oa+=1)ka[Oa].c();$a=empty$4(),attr($o,"class","category svelte-tof9hg")},m(Oa,Ca){insert$1(Oa,$o,Ca),append$2($o,Eo),insert$1(Oa,Io,Ca);for(let Ea=0;Ea<ka.length;Ea+=1)ka[Ea]&&ka[Ea].m(Oa,Ca);insert$1(Oa,$a,Ca),ya=!0},p(Oa,Ca){if((!ya||Ca&2)&&ko!==(ko=Oa[6]+"")&&set_data(Eo,ko),Ca&14){wa=ensure_array_like(Oa[7]);let Ea;for(Ea=0;Ea<wa.length;Ea+=1){const Ta=get_each_context_1$s(Oa,wa,Ea);ka[Ea]?(ka[Ea].p(Ta,Ca),transition_in(ka[Ea],1)):(ka[Ea]=create_each_block_1$s(Ta),ka[Ea].c(),transition_in(ka[Ea],1),ka[Ea].m($a.parentNode,$a))}for(group_outros(),Ea=wa.length;Ea<ka.length;Ea+=1)Sa(Ea);check_outros()}},i(Oa){if(!ya){for(let Ca=0;Ca<wa.length;Ca+=1)transition_in(ka[Ca]);ya=!0}},o(Oa){ka=ka.filter(Boolean);for(let Ca=0;Ca<ka.length;Ca+=1)transition_out(ka[Ca]);ya=!1},d(Oa){Oa&&(detach($o),detach(Io),detach($a)),destroy_each(ka,Oa)}}}function create_each_block_1$s(So){let $o,ko;return $o=new SideNavItem({props:{text:So[6],url:So[10],active:So[2](So[10])}}),$o.$on("click",So[3]),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&2&&($a.text=Eo[6]),Io&2&&($a.url=Eo[10]),Io&6&&($a.active=Eo[2](Eo[10])),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_each_block$1z(So){var Io;let $o,ko,Eo=((Io=So[7])==null?void 0:Io.length)&&create_if_block$3t(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m($a,ya){Eo&&Eo.m($a,ya),insert$1($a,$o,ya),ko=!0},p($a,ya){var wa;(wa=$a[7])!=null&&wa.length?Eo?(Eo.p($a,ya),ya&2&&transition_in(Eo,1)):(Eo=create_if_block$3t($a),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o)):Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros())},i($a){ko||(transition_in(Eo),ko=!0)},o($a){transition_out(Eo),ko=!1},d($a){$a&&detach($o),Eo&&Eo.d($a)}}}function create_default_slot_2$1Y(So){let $o,ko,Eo,Io=ensure_array_like(So[1]),$a=[];for(let Oa=0;Oa<Io.length;Oa+=1)$a[Oa]=create_each_block_2$8(get_each_context_2$8(So,Io,Oa));const ya=Oa=>transition_out($a[Oa],1,1,()=>{$a[Oa]=null});let wa=ensure_array_like(So[1]),ka=[];for(let Oa=0;Oa<wa.length;Oa+=1)ka[Oa]=create_each_block$1z(get_each_context$1z(So,wa,Oa));const Sa=Oa=>transition_out(ka[Oa],1,1,()=>{ka[Oa]=null});return{c(){for(let Oa=0;Oa<$a.length;Oa+=1)$a[Oa].c();$o=space$2();for(let Oa=0;Oa<ka.length;Oa+=1)ka[Oa].c();ko=empty$4()},m(Oa,Ca){for(let Ea=0;Ea<$a.length;Ea+=1)$a[Ea]&&$a[Ea].m(Oa,Ca);insert$1(Oa,$o,Ca);for(let Ea=0;Ea<ka.length;Ea+=1)ka[Ea]&&ka[Ea].m(Oa,Ca);insert$1(Oa,ko,Ca),Eo=!0},p(Oa,Ca){if(Ca&14){Io=ensure_array_like(Oa[1]);let Ea;for(Ea=0;Ea<Io.length;Ea+=1){const Ta=get_each_context_2$8(Oa,Io,Ea);$a[Ea]?($a[Ea].p(Ta,Ca),transition_in($a[Ea],1)):($a[Ea]=create_each_block_2$8(Ta),$a[Ea].c(),transition_in($a[Ea],1),$a[Ea].m($o.parentNode,$o))}for(group_outros(),Ea=Io.length;Ea<$a.length;Ea+=1)ya(Ea);check_outros()}if(Ca&14){wa=ensure_array_like(Oa[1]);let Ea;for(Ea=0;Ea<wa.length;Ea+=1){const Ta=get_each_context$1z(Oa,wa,Ea);ka[Ea]?(ka[Ea].p(Ta,Ca),transition_in(ka[Ea],1)):(ka[Ea]=create_each_block$1z(Ta),ka[Ea].c(),transition_in(ka[Ea],1),ka[Ea].m(ko.parentNode,ko))}for(group_outros(),Ea=wa.length;Ea<ka.length;Ea+=1)Sa(Ea);check_outros()}},i(Oa){if(!Eo){for(let Ca=0;Ca<Io.length;Ca+=1)transition_in($a[Ca]);for(let Ca=0;Ca<wa.length;Ca+=1)transition_in(ka[Ca]);Eo=!0}},o(Oa){$a=$a.filter(Boolean);for(let Ca=0;Ca<$a.length;Ca+=1)transition_out($a[Ca]);ka=ka.filter(Boolean);for(let Ca=0;Ca<ka.length;Ca+=1)transition_out(ka[Ca]);Eo=!1},d(Oa){Oa&&(detach($o),detach(ko)),destroy_each($a,Oa),destroy_each(ka,Oa)}}}function create_default_slot_1$2Q(So){let $o;return{c(){$o=text("Settings")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot$4y(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta;return ko=new Logo_1({}),Io=new SideNav$1({props:{$$slots:{default:[create_default_slot_2$1Y]},$$scope:{ctx:So}}}),wa=new ActionButton({props:{quiet:!0,icon:"sliders",$$slots:{default:[create_default_slot_1$2Q]},$$scope:{ctx:So}}}),wa.$on("click",So[4]),Oa=new UpgradeButton({}),Oa.$on("click",So[3]),{c(){$o=element("div"),create_component(ko.$$.fragment),Eo=space$2(),create_component(Io.$$.fragment),$a=space$2(),ya=element("div"),create_component(wa.$$.fragment),ka=space$2(),Sa=element("div"),create_component(Oa.$$.fragment)},m(Aa,Ia){insert$1(Aa,$o,Ia),mount_component(ko,$o,null),insert$1(Aa,Eo,Ia),mount_component(Io,Aa,Ia),insert$1(Aa,$a,Ia),insert$1(Aa,ya,Ia),mount_component(wa,ya,null),insert$1(Aa,ka,Ia),insert$1(Aa,Sa,Ia),mount_component(Oa,Sa,null),Ca=!0,Ea||(Ta=listen($o,"click",So[3]),Ea=!0)},p(Aa,Ia){const Pa={};Ia&32774&&(Pa.$$scope={dirty:Ia,ctx:Aa}),Io.$set(Pa);const Ra={};Ia&32768&&(Ra.$$scope={dirty:Ia,ctx:Aa}),wa.$set(Ra)},i(Aa){Ca||(transition_in(ko.$$.fragment,Aa),transition_in(Io.$$.fragment,Aa),transition_in(wa.$$.fragment,Aa),transition_in(Oa.$$.fragment,Aa),Ca=!0)},o(Aa){transition_out(ko.$$.fragment,Aa),transition_out(Io.$$.fragment,Aa),transition_out(wa.$$.fragment,Aa),transition_out(Oa.$$.fragment,Aa),Ca=!1},d(Aa){Aa&&(detach($o),detach(Eo),detach($a),detach(ya),detach(ka),detach(Sa)),destroy_component(ko),destroy_component(Io,Aa),destroy_component(wa),destroy_component(Oa),Ea=!1,Ta()}}}function create_fragment$7B(So){let $o,ko,Eo,Io,$a=So[0]&&create_if_block_2$1a(So);return Eo=new Layout$l({props:{noPadding:!0,gap:"M",$$slots:{default:[create_default_slot$4y]},$$scope:{ctx:So}}}),{c(){$a&&$a.c(),$o=space$2(),ko=element("div"),create_component(Eo.$$.fragment),attr(ko,"class","mobile-nav svelte-tof9hg"),toggle_class(ko,"visible",So[0])},m(ya,wa){$a&&$a.m(ya,wa),insert$1(ya,$o,wa),insert$1(ya,ko,wa),mount_component(Eo,ko,null),Io=!0},p(ya,[wa]){ya[0]?$a?($a.p(ya,wa),wa&1&&transition_in($a,1)):($a=create_if_block_2$1a(ya),$a.c(),transition_in($a,1),$a.m($o.parentNode,$o)):$a&&(group_outros(),transition_out($a,1,1,()=>{$a=null}),check_outros());const ka={};wa&32774&&(ka.$$scope={dirty:wa,ctx:ya}),Eo.$set(ka),(!Io||wa&1)&&toggle_class(ko,"visible",ya[0])},i(ya){Io||(transition_in($a),transition_in(Eo.$$.fragment,ya),Io=!0)},o(ya){transition_out($a),transition_out(Eo.$$.fragment,ya),Io=!1},d(ya){ya&&(detach($o),detach(ko)),$a&&$a.d(ya),destroy_component(Eo)}}}function instance$7B(So,$o,ko){let Eo,Io;component_subscribe(So,menu,Sa=>ko(1,Eo=Sa)),component_subscribe(So,isActive,Sa=>ko(2,Io=Sa));let{visible:$a=!1}=$o;const ya=createEventDispatcher(),wa=()=>ya("close"),ka=()=>bb.settings();return So.$$set=Sa=>{"visible"in Sa&&ko(0,$a=Sa.visible)},[$a,Eo,Io,wa,ka]}class MobileMenu extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7B,create_fragment$7B,safe_not_equal,{visible:0})}}function create_default_slot$4x(So){let $o,ko,Eo;function Io(ya){So[1](ya)}let $a={options:ThemeOptions,placeholder:null,getOptionLabel:func$I,getOptionValue:func_1$z};return So[0].theme!==void 0&&($a.value=So[0].theme),$o=new Select_1$1({props:$a}),binding_callbacks.push(()=>bind$3($o,"value",Io)),{c(){create_component($o.$$.fragment)},m(ya,wa){mount_component($o,ya,wa),Eo=!0},p(ya,wa){const ka={};!ko&&wa&1&&(ko=!0,ka.value=ya[0].theme,add_flush_callback(()=>ko=!1)),$o.$set(ka)},i(ya){Eo||(transition_in($o.$$.fragment,ya),Eo=!0)},o(ya){transition_out($o.$$.fragment,ya),Eo=!1},d(ya){destroy_component($o,ya)}}}function create_fragment$7A(So){let $o,ko;return $o=new ModalContent({props:{title:"Theme",$$slots:{default:[create_default_slot$4x]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&5&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}const func$I=So=>So.name,func_1$z=So=>So.id;function instance$7A(So,$o,ko){let Eo;component_subscribe(So,themeStore$1,$a=>ko(0,Eo=$a));function Io($a){So.$$.not_equal(Eo.theme,$a)&&(Eo.theme=$a,themeStore$1.set(Eo))}return[Eo,Io]}class ThemeModal extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7A,create_fragment$7A,safe_not_equal,{})}}function create_default_slot_1$2P(So){let $o;return{c(){$o=text("Your API key for accessing the Budibase public API:")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot$4w(So){let $o,ko,Eo,Io,$a;$o=new Body({props:{size:"S",$$slots:{default:[create_default_slot_1$2P]},$$scope:{ctx:So}}});function ya(ka){So[2](ka)}let wa={};return So[0]!==void 0&&(wa.value=So[0]),Eo=new CopyInput({props:wa}),binding_callbacks.push(()=>bind$3(Eo,"value",ya)),{c(){create_component($o.$$.fragment),ko=space$2(),create_component(Eo.$$.fragment)},m(ka,Sa){mount_component($o,ka,Sa),insert$1(ka,ko,Sa),mount_component(Eo,ka,Sa),$a=!0},p(ka,Sa){const Oa={};Sa&8&&(Oa.$$scope={dirty:Sa,ctx:ka}),$o.$set(Oa);const Ca={};!Io&&Sa&1&&(Io=!0,Ca.value=ka[0],add_flush_callback(()=>Io=!1)),Eo.$set(Ca)},i(ka){$a||(transition_in($o.$$.fragment,ka),transition_in(Eo.$$.fragment,ka),$a=!0)},o(ka){transition_out($o.$$.fragment,ka),transition_out(Eo.$$.fragment,ka),$a=!1},d(ka){ka&&detach(ko),destroy_component($o,ka),destroy_component(Eo,ka)}}}function create_fragment$7z(So){let $o,ko;return $o=new ModalContent({props:{title:"API Key",showSecondaryButton:!0,secondaryButtonText:"Regenerate key",secondaryAction:So[1],showCancelButton:!1,confirmText:"Close",$$slots:{default:[create_default_slot$4w]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&9&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function instance$7z(So,$o,ko){let Eo=null;async function Io(){try{ko(0,Eo=await auth.generateAPIKey()),notifications.success("New API key generated")}catch{notifications.error("Unable to generate new API key")}return keepOpen}onMount(async()=>{try{ko(0,Eo=await auth.fetchAPIKey())}catch{notifications.error("Unable to fetch API key")}});function $a(ya){Eo=ya,ko(0,Eo)}return[Eo,Io,$a]}class APIKeyModal extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7z,create_fragment$7z,safe_not_equal,{})}}const UserDropdown_svelte_svelte_type_style_lang="",get_default_slot_changes=So=>({open:So&16777216}),get_default_slot_context=So=>({open:So[24]});function create_default_slot_10$d(So){let $o;return{c(){$o=text("My profile")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_9$g(So){let $o;return{c(){$o=text("Theme")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_if_block_1$1R(So){let $o,ko;return $o=new Item$1({props:{icon:"lock",$$slots:{default:[create_default_slot_8$l]},$$scope:{ctx:So}}}),$o.$on("click",So[14]),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&8388608&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot_8$l(So){let $o;return{c(){$o=text("Update password")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_7$q(So){let $o;return{c(){$o=text("View API key")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_6$C(So){let $o;return{c(){$o=text("Close developer mode")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_5$N(So){let $o;return{c(){$o=text("Log out")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_4$13(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca;$o=new Item$1({props:{icon:"user-gear",$$slots:{default:[create_default_slot_10$d]},$$scope:{ctx:So}}}),$o.$on("click",So[12]),Eo=new Item$1({props:{icon:"moon",$$slots:{default:[create_default_slot_9$g]},$$scope:{ctx:So}}}),Eo.$on("click",So[13]);let Ea=!So[2].isSSO&&create_if_block_1$1R(So);return ya=new Item$1({props:{icon:"key",$$slots:{default:[create_default_slot_7$q]},$$scope:{ctx:So}}}),ya.$on("click",So[15]),ka=new Item$1({props:{icon:"code",$$slots:{default:[create_default_slot_6$C]},$$scope:{ctx:So}}}),ka.$on("click",So[16]),Oa=new Item$1({props:{icon:"sign-out",$$slots:{default:[create_default_slot_5$N]},$$scope:{ctx:So}}}),Oa.$on("click",So[9]),{c(){create_component($o.$$.fragment),ko=space$2(),create_component(Eo.$$.fragment),Io=space$2(),Ea&&Ea.c(),$a=space$2(),create_component(ya.$$.fragment),wa=space$2(),create_component(ka.$$.fragment),Sa=space$2(),create_component(Oa.$$.fragment)},m(Ta,Aa){mount_component($o,Ta,Aa),insert$1(Ta,ko,Aa),mount_component(Eo,Ta,Aa),insert$1(Ta,Io,Aa),Ea&&Ea.m(Ta,Aa),insert$1(Ta,$a,Aa),mount_component(ya,Ta,Aa),insert$1(Ta,wa,Aa),mount_component(ka,Ta,Aa),insert$1(Ta,Sa,Aa),mount_component(Oa,Ta,Aa),Ca=!0},p(Ta,Aa){const Ia={};Aa&8388608&&(Ia.$$scope={dirty:Aa,ctx:Ta}),$o.$set(Ia);const Pa={};Aa&8388608&&(Pa.$$scope={dirty:Aa,ctx:Ta}),Eo.$set(Pa),Ta[2].isSSO?Ea&&(group_outros(),transition_out(Ea,1,1,()=>{Ea=null}),check_outros()):Ea?(Ea.p(Ta,Aa),Aa&4&&transition_in(Ea,1)):(Ea=create_if_block_1$1R(Ta),Ea.c(),transition_in(Ea,1),Ea.m($a.parentNode,$a));const Ra={};Aa&8388608&&(Ra.$$scope={dirty:Aa,ctx:Ta}),ya.$set(Ra);const Da={};Aa&8388608&&(Da.$$scope={dirty:Aa,ctx:Ta}),ka.$set(Da);const La={};Aa&8388608&&(La.$$scope={dirty:Aa,ctx:Ta}),Oa.$set(La)},i(Ta){Ca||(transition_in($o.$$.fragment,Ta),transition_in(Eo.$$.fragment,Ta),transition_in(Ea),transition_in(ya.$$.fragment,Ta),transition_in(ka.$$.fragment,Ta),transition_in(Oa.$$.fragment,Ta),Ca=!0)},o(Ta){transition_out($o.$$.fragment,Ta),transition_out(Eo.$$.fragment,Ta),transition_out(Ea),transition_out(ya.$$.fragment,Ta),transition_out(ka.$$.fragment,Ta),transition_out(Oa.$$.fragment,Ta),Ca=!1},d(Ta){Ta&&(detach(ko),detach(Io),detach($a),detach(wa),detach(Sa)),destroy_component($o,Ta),destroy_component(Eo,Ta),Ea&&Ea.d(Ta),destroy_component(ya,Ta),destroy_component(ka,Ta),destroy_component(Oa,Ta)}}}function create_else_block$1h(So){let $o,ko,Eo,Io,$a;return ko=new UserAvatar({props:{size:"M",user:So[2].user,showTooltip:!1}}),Io=new Icon({props:{size:"L",name:"caret-down"}}),{c(){$o=element("div"),create_component(ko.$$.fragment),Eo=space$2(),create_component(Io.$$.fragment),attr($o,"class","user-dropdown svelte-aqn0ow")},m(ya,wa){insert$1(ya,$o,wa),mount_component(ko,$o,null),append$2($o,Eo),mount_component(Io,$o,null),$a=!0},p(ya,wa){const ka={};wa&4&&(ka.user=ya[2].user),ko.$set(ka)},i(ya){$a||(transition_in(ko.$$.fragment,ya),transition_in(Io.$$.fragment,ya),$a=!0)},o(ya){transition_out(ko.$$.fragment,ya),transition_out(Io.$$.fragment,ya),$a=!1},d(ya){ya&&detach($o),destroy_component(ko),destroy_component(Io)}}}function create_if_block$3s(So){let $o;const ko=So[11].default,Eo=create_slot(ko,So,So[23],get_default_slot_context);return{c(){Eo&&Eo.c()},m(Io,$a){Eo&&Eo.m(Io,$a),$o=!0},p(Io,$a){Eo&&Eo.p&&(!$o||$a&25165824)&&update_slot_base(Eo,ko,Io,Io[23],$o?get_slot_changes(ko,Io[23],$a,get_default_slot_changes):get_all_dirty_from_scope(Io[23]),get_default_slot_context)},i(Io){$o||(transition_in(Eo,Io),$o=!0)},o(Io){transition_out(Eo,Io),$o=!1},d(Io){Eo&&Eo.d(Io)}}}function create_control_slot$2(So){let $o,ko,Eo,Io;const $a=[create_if_block$3s,create_else_block$1h],ya=[];function wa(ka,Sa){return ka[10].default?0:1}return $o=wa(So),ko=ya[$o]=$a[$o](So),{c(){ko.c(),Eo=empty$4()},m(ka,Sa){ya[$o].m(ka,Sa),insert$1(ka,Eo,Sa),Io=!0},p(ka,Sa){let Oa=$o;$o=wa(ka),$o===Oa?ya[$o].p(ka,Sa):(group_outros(),transition_out(ya[Oa],1,1,()=>{ya[Oa]=null}),check_outros(),ko=ya[$o],ko?ko.p(ka,Sa):(ko=ya[$o]=$a[$o](ka),ko.c()),transition_in(ko,1),ko.m(Eo.parentNode,Eo))},i(ka){Io||(transition_in(ko),Io=!0)},o(ka){transition_out(ko),Io=!1},d(ka){ka&&detach(Eo),ya[$o].d(ka)}}}function create_default_slot_3$1n(So){let $o,ko;return $o=new ThemeModal({}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot_2$1X(So){let $o,ko;return $o=new ProfileModal({props:{API,user:So[2].user}}),$o.$on("save",So[18]),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&4&&($a.user=Eo[2].user),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot_1$2O(So){let $o,ko;return $o=new ChangePasswordModal({props:{API,passwordMinLength:So[1].passwordMinLength}}),$o.$on("save",So[20]),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&2&&($a.passwordMinLength=Eo[1].passwordMinLength),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot$4v(So){let $o,ko;return $o=new APIKeyModal({}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_fragment$7y(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa;$o=new ActionMenu({props:{align:So[0],$$slots:{control:[create_control_slot$2,({open:Ia})=>({24:Ia}),({open:Ia})=>Ia?16777216:0],default:[create_default_slot_4$13]},$$scope:{ctx:So}}});let Ca={$$slots:{default:[create_default_slot_3$1n]},$$scope:{ctx:So}};Eo=new Modal({props:Ca}),So[17](Eo);let Ea={$$slots:{default:[create_default_slot_2$1X]},$$scope:{ctx:So}};$a=new Modal({props:Ea}),So[19]($a);let Ta={$$slots:{default:[create_default_slot_1$2O]},$$scope:{ctx:So}};wa=new Modal({props:Ta}),So[21](wa);let Aa={$$slots:{default:[create_default_slot$4v]},$$scope:{ctx:So}};return Sa=new Modal({props:Aa}),So[22](Sa),{c(){create_component($o.$$.fragment),ko=space$2(),create_component(Eo.$$.fragment),Io=space$2(),create_component($a.$$.fragment),ya=space$2(),create_component(wa.$$.fragment),ka=space$2(),create_component(Sa.$$.fragment)},m(Ia,Pa){mount_component($o,Ia,Pa),insert$1(Ia,ko,Pa),mount_component(Eo,Ia,Pa),insert$1(Ia,Io,Pa),mount_component($a,Ia,Pa),insert$1(Ia,ya,Pa),mount_component(wa,Ia,Pa),insert$1(Ia,ka,Pa),mount_component(Sa,Ia,Pa),Oa=!0},p(Ia,[Pa]){const Ra={};Pa&1&&(Ra.align=Ia[0]),Pa&25167358&&(Ra.$$scope={dirty:Pa,ctx:Ia}),$o.$set(Ra);const Da={};Pa&8388608&&(Da.$$scope={dirty:Pa,ctx:Ia}),Eo.$set(Da);const La={};Pa&8388612&&(La.$$scope={dirty:Pa,ctx:Ia}),$a.$set(La);const Na={};Pa&8388610&&(Na.$$scope={dirty:Pa,ctx:Ia}),wa.$set(Na);const Ba={};Pa&8388608&&(Ba.$$scope={dirty:Pa,ctx:Ia}),Sa.$set(Ba)},i(Ia){Oa||(transition_in($o.$$.fragment,Ia),transition_in(Eo.$$.fragment,Ia),transition_in($a.$$.fragment,Ia),transition_in(wa.$$.fragment,Ia),transition_in(Sa.$$.fragment,Ia),Oa=!0)},o(Ia){transition_out($o.$$.fragment,Ia),transition_out(Eo.$$.fragment,Ia),transition_out($a.$$.fragment,Ia),transition_out(wa.$$.fragment,Ia),transition_out(Sa.$$.fragment,Ia),Oa=!1},d(Ia){Ia&&(detach(ko),detach(Io),detach(ya),detach(ka)),destroy_component($o,Ia),So[17](null),destroy_component(Eo,Ia),So[19](null),destroy_component($a,Ia),So[21](null),destroy_component(wa,Ia),So[22](null),destroy_component(Sa,Ia)}}}function instance$7y(So,$o,ko){let Eo,Io,$a,ya;component_subscribe(So,admin,ja=>ko(1,Io=ja)),component_subscribe(So,auth,ja=>ko(2,$a=ja)),component_subscribe(So,goto,ja=>ko(8,ya=ja));let{$$slots:wa={},$$scope:ka}=$o;const Sa=compute_slots(wa);let{align:Oa="right"}=$o,Ca,Ea,Ta,Aa;const Ia=async()=>{try{await auth.logout()}catch{}},Pa=()=>Ea.show(),Ra=()=>Ca.show(),Da=()=>{Eo?window.location.href=`${Io.accountPortalUrl}/portal/account`:Ta.show()},La=()=>Aa.show(),Na=()=>ya("/builder/apps");function Ba(ja){binding_callbacks[ja?"unshift":"push"](()=>{Ca=ja,ko(3,Ca)})}const Fa=()=>auth.getSelf();function za(ja){binding_callbacks[ja?"unshift":"push"](()=>{Ea=ja,ko(4,Ea)})}const Ua=()=>auth.getSelf();function Ha(ja){binding_callbacks[ja?"unshift":"push"](()=>{Ta=ja,ko(5,Ta)})}function Wa(ja){binding_callbacks[ja?"unshift":"push"](()=>{Aa=ja,ko(6,Aa)})}return So.$$set=ja=>{"align"in ja&&ko(0,Oa=ja.align),"$$scope"in ja&&ko(23,ka=ja.$$scope)},So.$$.update=()=>{So.$$.dirty&6&&ko(7,Eo=$a.accountPortalAccess&&Io.cloud)},[Oa,Io,$a,Ca,Ea,Ta,Aa,Eo,ya,Ia,Sa,wa,Pa,Ra,Da,La,Na,Ba,Fa,za,Ua,Ha,Wa,ka]}class UserDropdown extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7y,create_fragment$7y,safe_not_equal,{align:0})}}const HelpMenu_svelte_svelte_type_style_lang="";function create_default_slot_8$k(So){let $o;return{c(){$o=text("Help resources")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_7$p(So){let $o;return{c(){$o=text("Help docs")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_6$B(So){let $o;return{c(){$o=text("Changelog")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_5$M(So){let $o;return{c(){$o=text("Discussions")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_4$12(So){let $o;return{c(){$o=text("Discord")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_3$1m(So){let $o;return{c(){$o=text("Budibase University")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot_2$1W(So){let $o;return{c(){$o=text("Email support")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_if_block$3r(So){let $o,ko,Eo,Io,$a,ya;return Eo=new Icon({props:{name:"lock",size:"S"}}),$a=new Body({props:{size:"XS",$$slots:{default:[create_default_slot_1$2N]},$$scope:{ctx:So}}}),{c(){$o=element("div"),ko=element("div"),create_component(Eo.$$.fragment),Io=space$2(),create_component($a.$$.fragment),attr(ko,"class","icon svelte-149h8rs"),attr($o,"class","premiumBadge svelte-149h8rs")},m(wa,ka){insert$1(wa,$o,ka),append$2($o,ko),mount_component(Eo,ko,null),append$2($o,Io),mount_component($a,$o,null),ya=!0},i(wa){ya||(transition_in(Eo.$$.fragment,wa),transition_in($a.$$.fragment,wa),ya=!0)},o(wa){transition_out(Eo.$$.fragment,wa),transition_out($a.$$.fragment,wa),ya=!1},d(wa){wa&&detach($o),destroy_component(Eo),destroy_component($a)}}}function create_default_slot_1$2N(So){let $o;return{c(){$o=text("Premium")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_default_slot$4u(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta,Aa,Ia,Pa,Ra,Da,La,Na,Ba,Fa,za,Ua,Ha,Wa,ja,Ya,Xa,Za,Ga,Ka,tl,nl,rl,il,sl,ul,al,dl,gl,cl,fl,pl,ml,vl,$l,bl,Cl,wl,Al,Ll,Dl,Gl,Ol,ic,zl,Ml,Kl,Ul;Eo=new Heading({props:{size:"XS",$$slots:{default:[create_default_slot_8$k]},$$scope:{ctx:So}}}),ya=new Icon({props:{name:"x"}}),Ea=new Icon({props:{name:"book",color:"rgb(230, 208, 255)"}}),Aa=new Body({props:{size:"S",$$slots:{default:[create_default_slot_7$p]},$$scope:{ctx:So}}}),Na=new Icon({props:{name:"list-bullets",color:"rgb(230, 208, 255)"}}),Fa=new Body({props:{size:"S",$$slots:{default:[create_default_slot_6$B]},$$scope:{ctx:So}}}),Ya=new Icon({props:{name:"github-logo",color:"rgb(230, 208, 255)"}}),Za=new Body({props:{size:"S",$$slots:{default:[create_default_slot_5$M]},$$scope:{ctx:So}}}),il=new Icon({props:{name:"discord-logo",color:"rgb(230, 208, 255)"}}),ul=new Body({props:{size:"S",$$slots:{default:[create_default_slot_4$12]},$$scope:{ctx:So}}}),pl=new Icon({props:{name:"graduation-cap",color:"rgb(230, 208, 255)"}}),vl=new Body({props:{size:"S",$$slots:{default:[create_default_slot_3$1m]},$$scope:{ctx:So}}}),Dl=new Icon({props:{name:"envelope"}}),Ol=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1W]},$$scope:{ctx:So}}});let Yl=!So[3]&&create_if_block$3r(So);return{c(){$o=element("nav"),ko=element("div"),create_component(Eo.$$.fragment),Io=space$2(),$a=element("button"),create_component(ya.$$.fragment),wa=space$2(),ka=element("div"),Sa=space$2(),Oa=element("a"),Ca=element("div"),create_component(Ea.$$.fragment),Ta=space$2(),create_component(Aa.$$.fragment),Ia=space$2(),Pa=element("div"),Ra=space$2(),Da=element("a"),La=element("div"),create_component(Na.$$.fragment),Ba=space$2(),create_component(Fa.$$.fragment),za=space$2(),Ua=element("div"),Ha=space$2(),Wa=element("a"),ja=element("div"),create_component(Ya.$$.fragment),Xa=space$2(),create_component(Za.$$.fragment),Ga=space$2(),Ka=element("div"),tl=space$2(),nl=element("a"),rl=element("div"),create_component(il.$$.fragment),sl=space$2(),create_component(ul.$$.fragment),al=space$2(),dl=element("div"),gl=space$2(),cl=element("a"),fl=element("div"),create_component(pl.$$.fragment),ml=space$2(),create_component(vl.$$.fragment),$l=space$2(),bl=element("div"),Cl=space$2(),wl=element("a"),Al=element("div"),Ll=element("div"),create_component(Dl.$$.fragment),Gl=space$2(),create_component(Ol.$$.fragment),ic=space$2(),Yl&&Yl.c(),attr($a,"class","closeButton svelte-149h8rs"),attr(ko,"class","header svelte-149h8rs"),attr(ka,"class","divider svelte-149h8rs"),attr(Ca,"class","icon svelte-149h8rs"),attr(Oa,"class","help-item-container svelte-149h8rs"),attr(Oa,"target","_blank"),attr(Oa,"href","https://docs.budibase.com/docs"),attr(Pa,"class","divider svelte-149h8rs"),attr(La,"class","icon svelte-149h8rs"),attr(Da,"target","_blank"),attr(Da,"class","help-item-container svelte-149h8rs"),attr(Da,"href",ChangelogURL),attr(Ua,"class","divider svelte-149h8rs"),attr(ja,"class","icon svelte-149h8rs"),attr(Wa,"target","_blank"),attr(Wa,"href","https://github.com/Budibase/budibase/discussions"),attr(Wa,"class","help-item-container svelte-149h8rs"),attr(Ka,"class","divider svelte-149h8rs"),attr(rl,"class","icon svelte-149h8rs"),attr(nl,"target","_blank"),attr(nl,"class","help-item-container svelte-149h8rs"),attr(nl,"href","https://discord.com/invite/ZepTmGbtfF"),attr(dl,"class","divider svelte-149h8rs"),attr(fl,"class","icon svelte-149h8rs"),attr(cl,"target","_blank"),attr(cl,"class","help-item-container svelte-149h8rs"),attr(cl,"href","https://vimeo.com/showcase/budibase-university"),attr(bl,"class","divider svelte-149h8rs"),attr(Ll,"class","icon svelte-149h8rs"),attr(Al,"class","premiumLinkContent help-item-container svelte-149h8rs"),toggle_class(Al,"disabled",!So[3]),attr(wl,"class","help-item-container svelte-149h8rs"),attr(wl,"href",zl=So[3]?"mailto:support@budibase.com":"/builder/portal/account/usage"),attr($o,"class","helpMenu svelte-149h8rs")},m(jl,Rl){insert$1(jl,$o,Rl),append$2($o,ko),mount_component(Eo,ko,null),append$2(ko,Io),append$2(ko,$a),mount_component(ya,$a,null),append$2($o,wa),append$2($o,ka),append$2($o,Sa),append$2($o,Oa),append$2(Oa,Ca),mount_component(Ea,Ca,null),append$2(Oa,Ta),mount_component(Aa,Oa,null),append$2($o,Ia),append$2($o,Pa),append$2($o,Ra),append$2($o,Da),append$2(Da,La),mount_component(Na,La,null),append$2(Da,Ba),mount_component(Fa,Da,null),append$2($o,za),append$2($o,Ua),append$2($o,Ha),append$2($o,Wa),append$2(Wa,ja),mount_component(Ya,ja,null),append$2(Wa,Xa),mount_component(Za,Wa,null),append$2($o,Ga),append$2($o,Ka),append$2($o,tl),append$2($o,nl),append$2(nl,rl),mount_component(il,rl,null),append$2(nl,sl),mount_component(ul,nl,null),append$2($o,al),append$2($o,dl),append$2($o,gl),append$2($o,cl),append$2(cl,fl),mount_component(pl,fl,null),append$2(cl,ml),mount_component(vl,cl,null),append$2($o,$l),append$2($o,bl),append$2($o,Cl),append$2($o,wl),append$2(wl,Al),append$2(Al,Ll),mount_component(Dl,Ll,null),append$2(Al,Gl),mount_component(Ol,Al,null),append$2(wl,ic),Yl&&Yl.m(wl,null),Ml=!0,Kl||(Ul=listen($a,"click",function(){is_function(So[1])&&So[1].apply(this,arguments)}),Kl=!0)},p(jl,Rl){So=jl;const ql={};Rl&256&&(ql.$$scope={dirty:Rl,ctx:So}),Eo.$set(ql);const Il={};Rl&256&&(Il.$$scope={dirty:Rl,ctx:So}),Aa.$set(Il);const Wl={};Rl&256&&(Wl.$$scope={dirty:Rl,ctx:So}),Fa.$set(Wl);const Tl={};Rl&256&&(Tl.$$scope={dirty:Rl,ctx:So}),Za.$set(Tl);const Bl={};Rl&256&&(Bl.$$scope={dirty:Rl,ctx:So}),ul.$set(Bl);const tc={};Rl&256&&(tc.$$scope={dirty:Rl,ctx:So}),vl.$set(tc);const xl={};Rl&256&&(xl.$$scope={dirty:Rl,ctx:So}),Ol.$set(xl),(!Ml||Rl&8)&&toggle_class(Al,"disabled",!So[3]),So[3]?Yl&&(group_outros(),transition_out(Yl,1,1,()=>{Yl=null}),check_outros()):Yl?Rl&8&&transition_in(Yl,1):(Yl=create_if_block$3r(So),Yl.c(),transition_in(Yl,1),Yl.m(wl,null)),(!Ml||Rl&8&&zl!==(zl=So[3]?"mailto:support@budibase.com":"/builder/portal/account/usage"))&&attr(wl,"href",zl)},i(jl){Ml||(transition_in(Eo.$$.fragment,jl),transition_in(ya.$$.fragment,jl),transition_in(Ea.$$.fragment,jl),transition_in(Aa.$$.fragment,jl),transition_in(Na.$$.fragment,jl),transition_in(Fa.$$.fragment,jl),transition_in(Ya.$$.fragment,jl),transition_in(Za.$$.fragment,jl),transition_in(il.$$.fragment,jl),transition_in(ul.$$.fragment,jl),transition_in(pl.$$.fragment,jl),transition_in(vl.$$.fragment,jl),transition_in(Dl.$$.fragment,jl),transition_in(Ol.$$.fragment,jl),transition_in(Yl),Ml=!0)},o(jl){transition_out(Eo.$$.fragment,jl),transition_out(ya.$$.fragment,jl),transition_out(Ea.$$.fragment,jl),transition_out(Aa.$$.fragment,jl),transition_out(Na.$$.fragment,jl),transition_out(Fa.$$.fragment,jl),transition_out(Ya.$$.fragment,jl),transition_out(Za.$$.fragment,jl),transition_out(il.$$.fragment,jl),transition_out(ul.$$.fragment,jl),transition_out(pl.$$.fragment,jl),transition_out(vl.$$.fragment,jl),transition_out(Dl.$$.fragment,jl),transition_out(Ol.$$.fragment,jl),transition_out(Yl),Ml=!1},d(jl){jl&&detach($o),destroy_component(Eo),destroy_component(ya),destroy_component(Ea),destroy_component(Aa),destroy_component(Na),destroy_component(Fa),destroy_component(Ya),destroy_component(Za),destroy_component(il),destroy_component(ul),destroy_component(pl),destroy_component(vl),destroy_component(Dl),destroy_component(Ol),Yl&&Yl.d(),Kl=!1,Ul()}}}function create_fragment$7x(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa;function Oa(Ta){So[5](Ta)}function Ca(Ta){So[6](Ta)}let Ea={maxHeight:1e3,anchor:So[2],$$slots:{default:[create_default_slot$4u]},$$scope:{ctx:So}};return So[0]!==void 0&&(Ea.show=So[0]),So[1]!==void 0&&(Ea.hide=So[1]),Io=new Popover({props:Ea}),binding_callbacks.push(()=>bind$3(Io,"show",Oa)),binding_callbacks.push(()=>bind$3(Io,"hide",Ca)),{c(){$o=element("div"),ko=element("button"),ko.textContent="Help",Eo=space$2(),create_component(Io.$$.fragment),attr(ko,"class","openMenu svelte-149h8rs"),attr($o,"class","help svelte-149h8rs")},m(Ta,Aa){insert$1(Ta,$o,Aa),append$2($o,ko),append$2($o,Eo),mount_component(Io,$o,null),So[7]($o),wa=!0,ka||(Sa=listen(ko,"click",function(){is_function(So[0])&&So[0].apply(this,arguments)}),ka=!0)},p(Ta,[Aa]){So=Ta;const Ia={};Aa&4&&(Ia.anchor=So[2]),Aa&266&&(Ia.$$scope={dirty:Aa,ctx:So}),!$a&&Aa&1&&($a=!0,Ia.show=So[0],add_flush_callback(()=>$a=!1)),!ya&&Aa&2&&(ya=!0,Ia.hide=So[1],add_flush_callback(()=>ya=!1)),Io.$set(Ia)},i(Ta){wa||(transition_in(Io.$$.fragment,Ta),wa=!0)},o(Ta){transition_out(Io.$$.fragment,Ta),wa=!1},d(Ta){Ta&&detach($o),destroy_component(Io),So[7](null),ka=!1,Sa()}}}function instance$7x(So,$o,ko){let Eo,Io;component_subscribe(So,licensing,Ca=>ko(4,Io=Ca));let $a,ya,wa;function ka(Ca){$a=Ca,ko(0,$a)}function Sa(Ca){ya=Ca,ko(1,ya)}function Oa(Ca){binding_callbacks[Ca?"unshift":"push"](()=>{wa=Ca,ko(2,wa)})}return So.$$.update=()=>{var Ca,Ea;So.$$.dirty&16&&ko(3,Eo=isPremiumOrAbove((Ea=(Ca=Io==null?void 0:Io.license)==null?void 0:Ca.plan)==null?void 0:Ea.type))},[$a,ya,wa,Eo,Io,ka,Sa,Oa]}class HelpMenu extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7x,create_fragment$7x,safe_not_equal,{})}}const EnterpriseBasicTrialBanner_svelte_svelte_type_style_lang="";function create_if_block$3q(So){let $o,ko,Eo,Io;return ko=new Banner({props:{type:BANNER_TYPES.INFO,extraLinkText:"Please select a plan.",extraLinkAction:licensing.goToUpgradePage,showCloseButton:!1,$$slots:{default:[create_default_slot_1$2M]},$$scope:{ctx:So}}}),{c(){$o=element("div"),create_component(ko.$$.fragment)},m($a,ya){insert$1($a,$o,ya),mount_component(ko,$o,null),Io=!0},p($a,ya){const wa={};ya&16&&(wa.$$scope={dirty:ya,ctx:$a}),ko.$set(wa)},i($a){Io||(transition_in(ko.$$.fragment,$a),$a&&add_render_callback(()=>{Io&&(Eo||(Eo=create_bidirectional_transition($o,fly,{y:-30},!0)),Eo.run(1))}),Io=!0)},o($a){transition_out(ko.$$.fragment,$a),$a&&(Eo||(Eo=create_bidirectional_transition($o,fly,{y:-30},!1)),Eo.run(0)),Io=!1},d($a){$a&&detach($o),destroy_component(ko),$a&&Eo&&Eo.end()}}}function create_default_slot_1$2M(So){let $o,ko=So[1]()+"",Eo;return{c(){$o=text("Your free trial will end "),Eo=text(ko)},m(Io,$a){insert$1(Io,$o,$a),insert$1(Io,Eo,$a)},p:noop$5,d(Io){Io&&(detach($o),detach(Eo))}}}function create_default_slot$4t(So){let $o,ko,Eo=So[0]&&create_if_block$3q(So);return{c(){$o=element("div"),Eo&&Eo.c(),attr($o,"class","banner svelte-j1ssay")},m(Io,$a){insert$1(Io,$o,$a),Eo&&Eo.m($o,null),ko=!0},p(Io,$a){Io[0]?Eo?(Eo.p(Io,$a),$a&1&&transition_in(Eo,1)):(Eo=create_if_block$3q(Io),Eo.c(),transition_in(Eo,1),Eo.m($o,null)):Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros())},i(Io){ko||(transition_in(Eo),ko=!0)},o(Io){transition_out(Eo),ko=!1},d(Io){Io&&detach($o),Eo&&Eo.d()}}}function create_fragment$7w(So){let $o,ko;return $o=new Portal$1({props:{target:".banner-container",$$slots:{default:[create_default_slot$4t]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&17&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}const oneDayInSeconds$2=86400;function instance$7w(So,$o,ko){let Eo,Io;component_subscribe(So,licensing,wa=>ko(2,Io=wa));let{show:$a=!0}=$o;function ya(){var Oa,Ca;const wa=(Ca=(Oa=Eo==null?void 0:Eo.billing)==null?void 0:Oa.subscription)==null?void 0:Ca.cancelAt,ka=Math.abs(wa-new Date().getTime())/1e3,Sa=Math.floor(ka/oneDayInSeconds$2);return Sa===1?"tomorrow.":Sa===0?"today.":`in ${Sa} days.`}return So.$$set=wa=>{"show"in wa&&ko(0,$a=wa.show)},So.$$.update=()=>{So.$$.dirty&4&&(Eo=Io.license)},[$a,ya,Io]}class EnterpriseBasicTrialBanner extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7w,create_fragment$7w,safe_not_equal,{show:0})}}const _layout_svelte_svelte_type_style_lang$4="";function get_each_context$1y(So,$o,ko){const Eo=So.slice();return Eo[22]=$o[ko].title,Eo[23]=$o[ko].href,Eo}function create_if_block$3p(So){let $o,ko,Eo,Io;const $a=[create_if_block_1$1Q,create_else_block$1g],ya=[];function wa(ka,Sa){return ka[5]?0:1}return $o=wa(So),ko=ya[$o]=$a[$o](So),{c(){ko.c(),Eo=empty$4()},m(ka,Sa){ya[$o].m(ka,Sa),insert$1(ka,Eo,Sa),Io=!0},p(ka,Sa){let Oa=$o;$o=wa(ka),$o===Oa?ya[$o].p(ka,Sa):(group_outros(),transition_out(ya[Oa],1,1,()=>{ya[Oa]=null}),check_outros(),ko=ya[$o],ko?ko.p(ka,Sa):(ko=ya[$o]=$a[$o](ka),ko.c()),transition_in(ko,1),ko.m(Eo.parentNode,Eo))},i(ka){Io||(transition_in(ko),Io=!0)},o(ka){transition_out(ko),Io=!1},d(ka){ka&&detach(Eo),ya[$o].d(ka)}}}function create_else_block$1g(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta,Aa,Ia,Pa,Ra,Da,La,Na,Ba,Fa,za,Ua,Ha,Wa,ja,Ya;$o=new HelpMenu({}),Io=new EnterpriseBasicTrialBanner({props:{show:So[9]()}}),ka=new Logo_1({}),Ca=new Tabs({props:{selected:So[4],$$slots:{default:[create_default_slot_1$2L]},$$scope:{ctx:So}}}),Aa=new Icon({props:{hoverable:!0,name:"list-bullets"}}),Aa.$on("click",So[7]),Ra=new UpgradeButton({}),Na=new ActionButton({props:{quiet:!0,icon:"gear",$$slots:{default:[create_default_slot$4s]},$$scope:{ctx:So}}}),Na.$on("click",So[15]),za=new UserDropdown({});const Xa=So[13].default,Za=create_slot(Xa,So,So[16],null);return ja=new MobileMenu({props:{visible:So[3]}}),ja.$on("close",So[8]),{c(){create_component($o.$$.fragment),ko=space$2(),Eo=element("div"),create_component(Io.$$.fragment),$a=space$2(),ya=element("div"),wa=element("div"),create_component(ka.$$.fragment),Sa=space$2(),Oa=element("div"),create_component(Ca.$$.fragment),Ea=space$2(),Ta=element("div"),create_component(Aa.$$.fragment),Ia=space$2(),Pa=element("div"),create_component(Ra.$$.fragment),Da=space$2(),La=element("div"),create_component(Na.$$.fragment),Ba=space$2(),Fa=element("div"),create_component(za.$$.fragment),Ua=space$2(),Ha=element("div"),Za&&Za.c(),Wa=space$2(),create_component(ja.$$.fragment),attr(wa,"class","branding svelte-wga0oo"),attr(Oa,"class","desktop svelte-wga0oo"),attr(Ta,"class","mobile svelte-wga0oo"),attr(Pa,"class","desktop svelte-wga0oo"),attr(La,"class","desktop svelte-wga0oo"),attr(Fa,"class","dropdown"),attr(ya,"class","nav svelte-wga0oo"),attr(Ha,"class","main svelte-wga0oo"),attr(Eo,"class","container svelte-wga0oo")},m(Ga,Ka){mount_component($o,Ga,Ka),insert$1(Ga,ko,Ka),insert$1(Ga,Eo,Ka),mount_component(Io,Eo,null),append$2(Eo,$a),append$2(Eo,ya),append$2(ya,wa),mount_component(ka,wa,null),append$2(ya,Sa),append$2(ya,Oa),mount_component(Ca,Oa,null),append$2(ya,Ea),append$2(ya,Ta),mount_component(Aa,Ta,null),append$2(ya,Ia),append$2(ya,Pa),mount_component(Ra,Pa,null),append$2(ya,Da),append$2(ya,La),mount_component(Na,La,null),append$2(ya,Ba),append$2(ya,Fa),mount_component(za,Fa,null),append$2(Eo,Ua),append$2(Eo,Ha),Za&&Za.m(Ha,null),append$2(Eo,Wa),mount_component(ja,Eo,null),Ya=!0},p(Ga,Ka){const tl={};Ka&16&&(tl.selected=Ga[4]),Ka&65602&&(tl.$$scope={dirty:Ka,ctx:Ga}),Ca.$set(tl);const nl={};Ka&65536&&(nl.$$scope={dirty:Ka,ctx:Ga}),Na.$set(nl),Za&&Za.p&&(!Ya||Ka&65536)&&update_slot_base(Za,Xa,Ga,Ga[16],Ya?get_slot_changes(Xa,Ga[16],Ka,null):get_all_dirty_from_scope(Ga[16]),null);const rl={};Ka&8&&(rl.visible=Ga[3]),ja.$set(rl)},i(Ga){Ya||(transition_in($o.$$.fragment,Ga),transition_in(Io.$$.fragment,Ga),transition_in(ka.$$.fragment,Ga),transition_in(Ca.$$.fragment,Ga),transition_in(Aa.$$.fragment,Ga),transition_in(Ra.$$.fragment,Ga),transition_in(Na.$$.fragment,Ga),transition_in(za.$$.fragment,Ga),transition_in(Za,Ga),transition_in(ja.$$.fragment,Ga),Ya=!0)},o(Ga){transition_out($o.$$.fragment,Ga),transition_out(Io.$$.fragment,Ga),transition_out(ka.$$.fragment,Ga),transition_out(Ca.$$.fragment,Ga),transition_out(Aa.$$.fragment,Ga),transition_out(Ra.$$.fragment,Ga),transition_out(Na.$$.fragment,Ga),transition_out(za.$$.fragment,Ga),transition_out(Za,Ga),transition_out(ja.$$.fragment,Ga),Ya=!1},d(Ga){Ga&&(detach(ko),detach(Eo)),destroy_component($o,Ga),destroy_component(Io),destroy_component(ka),destroy_component(Ca),destroy_component(Aa),destroy_component(Ra),destroy_component(Na),destroy_component(za),Za&&Za.d(Ga),destroy_component(ja)}}}function create_if_block_1$1Q(So){let $o;const ko=So[13].default,Eo=create_slot(ko,So,So[16],null);return{c(){Eo&&Eo.c()},m(Io,$a){Eo&&Eo.m(Io,$a),$o=!0},p(Io,$a){Eo&&Eo.p&&(!$o||$a&65536)&&update_slot_base(Eo,ko,Io,Io[16],$o?get_slot_changes(ko,Io[16],$a,null):get_all_dirty_from_scope(Io[16]),null)},i(Io){$o||(transition_in(Eo,Io),$o=!0)},o(Io){transition_out(Eo,Io),$o=!1},d(Io){Eo&&Eo.d(Io)}}}function create_each_block$1y(So){let $o,ko;function Eo(){return So[14](So[23])}return $o=new Tab({props:{title:So[22]}}),$o.$on("click",Eo),{c(){create_component($o.$$.fragment)},m(Io,$a){mount_component($o,Io,$a),ko=!0},p(Io,$a){So=Io;const ya={};$a&2&&(ya.title=So[22]),$o.$set(ya)},i(Io){ko||(transition_in($o.$$.fragment,Io),ko=!0)},o(Io){transition_out($o.$$.fragment,Io),ko=!1},d(Io){destroy_component($o,Io)}}}function create_default_slot_1$2L(So){let $o,ko,Eo=ensure_array_like(So[1]),Io=[];for(let ya=0;ya<Eo.length;ya+=1)Io[ya]=create_each_block$1y(get_each_context$1y(So,Eo,ya));const $a=ya=>transition_out(Io[ya],1,1,()=>{Io[ya]=null});return{c(){for(let ya=0;ya<Io.length;ya+=1)Io[ya].c();$o=empty$4()},m(ya,wa){for(let ka=0;ka<Io.length;ka+=1)Io[ka]&&Io[ka].m(ya,wa);insert$1(ya,$o,wa),ko=!0},p(ya,wa){if(wa&66){Eo=ensure_array_like(ya[1]);let ka;for(ka=0;ka<Eo.length;ka+=1){const Sa=get_each_context$1y(ya,Eo,ka);Io[ka]?(Io[ka].p(Sa,wa),transition_in(Io[ka],1)):(Io[ka]=create_each_block$1y(Sa),Io[ka].c(),transition_in(Io[ka],1),Io[ka].m($o.parentNode,$o))}for(group_outros(),ka=Eo.length;ka<Io.length;ka+=1)$a(ka);check_outros()}},i(ya){if(!ko){for(let wa=0;wa<Eo.length;wa+=1)transition_in(Io[wa]);ko=!0}},o(ya){Io=Io.filter(Boolean);for(let wa=0;wa<Io.length;wa+=1)transition_out(Io[wa]);ko=!1},d(ya){ya&&detach($o),destroy_each(Io,ya)}}}function create_default_slot$4s(So){let $o;return{c(){$o=text("Settings")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_fragment$7v(So){let $o,ko,Eo=So[0].user&&So[2]&&create_if_block$3p(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m(Io,$a){Eo&&Eo.m(Io,$a),insert$1(Io,$o,$a),ko=!0},p(Io,[$a]){Io[0].user&&Io[2]?Eo?(Eo.p(Io,$a),$a&5&&transition_in(Eo,1)):(Eo=create_if_block$3p(Io),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o)):Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros())},i(Io){ko||(transition_in(Eo),ko=!0)},o(Io){transition_out(Eo),ko=!1},d(Io){Io&&detach($o),Eo&&Eo.d(Io)}}}function instance$7v(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta;component_subscribe(So,redirect,Ha=>ko(18,$a=Ha)),component_subscribe(So,auth,Ha=>ko(0,ya=Ha)),component_subscribe(So,licensing,Ha=>ko(19,wa=Ha)),component_subscribe(So,isActive,Ha=>ko(20,ka=Ha)),component_subscribe(So,admin,Ha=>ko(10,Sa=Ha)),component_subscribe(So,appsStore,Ha=>ko(11,Oa=Ha)),component_subscribe(So,menu,Ha=>ko(1,Ca=Ha)),component_subscribe(So,url$3,Ha=>ko(12,Ea=Ha)),component_subscribe(So,goto,Ha=>ko(6,Ta=Ha));let{$$slots:Aa={},$$scope:Ia}=$o,Pa=!1,Ra=!1,Da="Apps";const La=Ha=>{for(let Wa of Ha)if(ka(Wa.href)){Da!==Wa.title&&ko(4,Da=Wa.title);break}},Na=()=>ko(3,Ra=!0),Ba=()=>ko(3,Ra=!1),Fa=()=>{var Ha,Wa;return((Wa=(Ha=wa.license)==null?void 0:Ha.plan)==null?void 0:Wa.type)===PlanType.ENTERPRISE_BASIC_TRIAL&&Io};onMount(async()=>{if(ya.user)if(!hasBuilderPermissions(ya.user))$a("../");else{try{await Promise.all([appsStore.load(),organisation.init()])}catch{notifications.error("Error getting org config")}ko(2,Pa=!0)}});const za=Ha=>Ta(Ha),Ua=()=>bb.settings();return So.$$set=Ha=>{"$$scope"in Ha&&ko(16,Ia=Ha.$$scope)},So.$$.update=()=>{So.$$.dirty&4098&&(Ea(),La(Ca)),So.$$.dirty&2049&&ko(5,Eo=!Oa.apps.length&&hasBuilderPermissions(ya.user)),So.$$.dirty&1025&&(Io=ya.accountPortalAccess&&Sa.cloud)},[ya,Ca,Pa,Ra,Da,Eo,Ta,Na,Ba,Fa,Sa,Oa,Ea,Aa,za,Ua,Ia]}let Layout$g=class extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7v,create_fragment$7v,safe_not_equal,{})}};function instance$7u(So,$o,ko){let Eo;return component_subscribe(So,redirect,Io=>ko(0,Eo=Io)),Eo("../design"),[]}class Fallback extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7u,null,safe_not_equal,{})}}var DEFAULT_EDGE_NAME="\0",GRAPH_NODE="\0",EDGE_KEY_DELIM="";let Graph$a=class{constructor($o){su(this,"_isDirected",!0);su(this,"_isMultigraph",!1);su(this,"_isCompound",!1);su(this,"_label");su(this,"_defaultNodeLabelFn",()=>{});su(this,"_defaultEdgeLabelFn",()=>{});su(this,"_nodes",{});su(this,"_in",{});su(this,"_preds",{});su(this,"_out",{});su(this,"_sucs",{});su(this,"_edgeObjs",{});su(this,"_edgeLabels",{});su(this,"_nodeCount",0);su(this,"_edgeCount",0);su(this,"_parent");su(this,"_children");$o&&(this._isDirected=Object.hasOwn($o,"directed")?$o.directed:!0,this._isMultigraph=Object.hasOwn($o,"multigraph")?$o.multigraph:!1,this._isCompound=Object.hasOwn($o,"compound")?$o.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[GRAPH_NODE]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph($o){return this._label=$o,this}graph(){return this._label}setDefaultNodeLabel($o){return this._defaultNodeLabelFn=$o,typeof $o!="function"&&(this._defaultNodeLabelFn=()=>$o),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var $o=this;return this.nodes().filter(ko=>Object.keys($o._in[ko]).length===0)}sinks(){var $o=this;return this.nodes().filter(ko=>Object.keys($o._out[ko]).length===0)}setNodes($o,ko){var Eo=arguments,Io=this;return $o.forEach(function($a){Eo.length>1?Io.setNode($a,ko):Io.setNode($a)}),this}setNode($o,ko){return Object.hasOwn(this._nodes,$o)?(arguments.length>1&&(this._nodes[$o]=ko),this):(this._nodes[$o]=arguments.length>1?ko:this._defaultNodeLabelFn($o),this._isCompound&&(this._parent[$o]=GRAPH_NODE,this._children[$o]={},this._children[GRAPH_NODE][$o]=!0),this._in[$o]={},this._preds[$o]={},this._out[$o]={},this._sucs[$o]={},++this._nodeCount,this)}node($o){return this._nodes[$o]}hasNode($o){return Object.hasOwn(this._nodes,$o)}removeNode($o){var ko=this;if(Object.hasOwn(this._nodes,$o)){var Eo=Io=>ko.removeEdge(ko._edgeObjs[Io]);delete this._nodes[$o],this._isCompound&&(this._removeFromParentsChildList($o),delete this._parent[$o],this.children($o).forEach(function(Io){ko.setParent(Io)}),delete this._children[$o]),Object.keys(this._in[$o]).forEach(Eo),delete this._in[$o],delete this._preds[$o],Object.keys(this._out[$o]).forEach(Eo),delete this._out[$o],delete this._sucs[$o],--this._nodeCount}return this}setParent($o,ko){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(ko===void 0)ko=GRAPH_NODE;else{ko+="";for(var Eo=ko;Eo!==void 0;Eo=this.parent(Eo))if(Eo===$o)throw new Error("Setting "+ko+" as parent of "+$o+" would create a cycle");this.setNode(ko)}return this.setNode($o),this._removeFromParentsChildList($o),this._parent[$o]=ko,this._children[ko][$o]=!0,this}_removeFromParentsChildList($o){delete this._children[this._parent[$o]][$o]}parent($o){if(this._isCompound){var ko=this._parent[$o];if(ko!==GRAPH_NODE)return ko}}children($o=GRAPH_NODE){if(this._isCompound){var ko=this._children[$o];if(ko)return Object.keys(ko)}else{if($o===GRAPH_NODE)return this.nodes();if(this.hasNode($o))return[]}}predecessors($o){var ko=this._preds[$o];if(ko)return Object.keys(ko)}successors($o){var ko=this._sucs[$o];if(ko)return Object.keys(ko)}neighbors($o){var ko=this.predecessors($o);if(ko){const Io=new Set(ko);for(var Eo of this.successors($o))Io.add(Eo);return Array.from(Io.values())}}isLeaf($o){var ko;return this.isDirected()?ko=this.successors($o):ko=this.neighbors($o),ko.length===0}filterNodes($o){var ko=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});ko.setGraph(this.graph());var Eo=this;Object.entries(this._nodes).forEach(function([ya,wa]){$o(ya)&&ko.setNode(ya,wa)}),Object.values(this._edgeObjs).forEach(function(ya){ko.hasNode(ya.v)&&ko.hasNode(ya.w)&&ko.setEdge(ya,Eo.edge(ya))});var Io={};function $a(ya){var wa=Eo.parent(ya);return wa===void 0||ko.hasNode(wa)?(Io[ya]=wa,wa):wa in Io?Io[wa]:$a(wa)}return this._isCompound&&ko.nodes().forEach(ya=>ko.setParent(ya,$a(ya))),ko}setDefaultEdgeLabel($o){return this._defaultEdgeLabelFn=$o,typeof $o!="function"&&(this._defaultEdgeLabelFn=()=>$o),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath($o,ko){var Eo=this,Io=arguments;return $o.reduce(function($a,ya){return Io.length>1?Eo.setEdge($a,ya,ko):Eo.setEdge($a,ya),ya}),this}setEdge(){var $o,ko,Eo,Io,$a=!1,ya=arguments[0];typeof ya=="object"&&ya!==null&&"v"in ya?($o=ya.v,ko=ya.w,Eo=ya.name,arguments.length===2&&(Io=arguments[1],$a=!0)):($o=ya,ko=arguments[1],Eo=arguments[3],arguments.length>2&&(Io=arguments[2],$a=!0)),$o=""+$o,ko=""+ko,Eo!==void 0&&(Eo=""+Eo);var wa=edgeArgsToId(this._isDirected,$o,ko,Eo);if(Object.hasOwn(this._edgeLabels,wa))return $a&&(this._edgeLabels[wa]=Io),this;if(Eo!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode($o),this.setNode(ko),this._edgeLabels[wa]=$a?Io:this._defaultEdgeLabelFn($o,ko,Eo);var ka=edgeArgsToObj(this._isDirected,$o,ko,Eo);return $o=ka.v,ko=ka.w,Object.freeze(ka),this._edgeObjs[wa]=ka,incrementOrInitEntry(this._preds[ko],$o),incrementOrInitEntry(this._sucs[$o],ko),this._in[ko][wa]=ka,this._out[$o][wa]=ka,this._edgeCount++,this}edge($o,ko,Eo){var Io=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,$o,ko,Eo);return this._edgeLabels[Io]}edgeAsObj(){const $o=this.edge(...arguments);return typeof $o!="object"?{label:$o}:$o}hasEdge($o,ko,Eo){var Io=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,$o,ko,Eo);return Object.hasOwn(this._edgeLabels,Io)}removeEdge($o,ko,Eo){var Io=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,$o,ko,Eo),$a=this._edgeObjs[Io];return $a&&($o=$a.v,ko=$a.w,delete this._edgeLabels[Io],delete this._edgeObjs[Io],decrementOrRemoveEntry(this._preds[ko],$o),decrementOrRemoveEntry(this._sucs[$o],ko),delete this._in[ko][Io],delete this._out[$o][Io],this._edgeCount--),this}inEdges($o,ko){var Eo=this._in[$o];if(Eo){var Io=Object.values(Eo);return ko?Io.filter($a=>$a.v===ko):Io}}outEdges($o,ko){var Eo=this._out[$o];if(Eo){var Io=Object.values(Eo);return ko?Io.filter($a=>$a.w===ko):Io}}nodeEdges($o,ko){var Eo=this.inEdges($o,ko);if(Eo)return Eo.concat(this.outEdges($o,ko))}};function incrementOrInitEntry(So,$o){So[$o]?So[$o]++:So[$o]=1}function decrementOrRemoveEntry(So,$o){--So[$o]||delete So[$o]}function edgeArgsToId(So,$o,ko,Eo){var Io=""+$o,$a=""+ko;if(!So&&Io>$a){var ya=Io;Io=$a,$a=ya}return Io+EDGE_KEY_DELIM+$a+EDGE_KEY_DELIM+(Eo===void 0?DEFAULT_EDGE_NAME:Eo)}function edgeArgsToObj(So,$o,ko,Eo){var Io=""+$o,$a=""+ko;if(!So&&Io>$a){var ya=Io;Io=$a,$a=ya}var wa={v:Io,w:$a};return Eo&&(wa.name=Eo),wa}function edgeObjToId(So,$o){return edgeArgsToId(So,$o.v,$o.w,$o.name)}var graph=Graph$a,version$1="2.2.4",lib$2={Graph:graph,version:version$1},Graph$9=graph,json={write,read};function write(So){var $o={options:{directed:So.isDirected(),multigraph:So.isMultigraph(),compound:So.isCompound()},nodes:writeNodes(So),edges:writeEdges(So)};return So.graph()!==void 0&&($o.value=structuredClone(So.graph())),$o}function writeNodes(So){return So.nodes().map(function($o){var ko=So.node($o),Eo=So.parent($o),Io={v:$o};return ko!==void 0&&(Io.value=ko),Eo!==void 0&&(Io.parent=Eo),Io})}function writeEdges(So){return So.edges().map(function($o){var ko=So.edge($o),Eo={v:$o.v,w:$o.w};return $o.name!==void 0&&(Eo.name=$o.name),ko!==void 0&&(Eo.value=ko),Eo})}function read(So){var $o=new Graph$9(So.options).setGraph(So.value);return So.nodes.forEach(function(ko){$o.setNode(ko.v,ko.value),ko.parent&&$o.setParent(ko.v,ko.parent)}),So.edges.forEach(function(ko){$o.setEdge({v:ko.v,w:ko.w,name:ko.name},ko.value)}),$o}var components_1=components;function components(So){var $o={},ko=[],Eo;function Io($a){Object.hasOwn($o,$a)||($o[$a]=!0,Eo.push($a),So.successors($a).forEach(Io),So.predecessors($a).forEach(Io))}return So.nodes().forEach(function($a){Eo=[],Io($a),Eo.length&&ko.push(Eo)}),ko}let PriorityQueue$2=class{constructor(){su(this,"_arr",[]);su(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function($o){return $o.key})}has($o){return Object.hasOwn(this._keyIndices,$o)}priority($o){var ko=this._keyIndices[$o];if(ko!==void 0)return this._arr[ko].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add($o,ko){var Eo=this._keyIndices;if($o=String($o),!Object.hasOwn(Eo,$o)){var Io=this._arr,$a=Io.length;return Eo[$o]=$a,Io.push({key:$o,priority:ko}),this._decrease($a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var $o=this._arr.pop();return delete this._keyIndices[$o.key],this._heapify(0),$o.key}decrease($o,ko){var Eo=this._keyIndices[$o];if(ko>this._arr[Eo].priority)throw new Error("New priority is greater than current priority. Key: "+$o+" Old: "+this._arr[Eo].priority+" New: "+ko);this._arr[Eo].priority=ko,this._decrease(Eo)}_heapify($o){var ko=this._arr,Eo=2*$o,Io=Eo+1,$a=$o;Eo<ko.length&&($a=ko[Eo].priority<ko[$a].priority?Eo:$a,Io<ko.length&&($a=ko[Io].priority<ko[$a].priority?Io:$a),$a!==$o&&(this._swap($o,$a),this._heapify($a)))}_decrease($o){for(var ko=this._arr,Eo=ko[$o].priority,Io;$o!==0&&(Io=$o>>1,!(ko[Io].priority<Eo));)this._swap($o,Io),$o=Io}_swap($o,ko){var Eo=this._arr,Io=this._keyIndices,$a=Eo[$o],ya=Eo[ko];Eo[$o]=ya,Eo[ko]=$a,Io[ya.key]=$o,Io[$a.key]=ko}};var priorityQueue=PriorityQueue$2,PriorityQueue$1=priorityQueue,dijkstra_1=dijkstra$1,DEFAULT_WEIGHT_FUNC$1=()=>1;function dijkstra$1(So,$o,ko,Eo){return runDijkstra(So,String($o),ko||DEFAULT_WEIGHT_FUNC$1,Eo||function(Io){return So.outEdges(Io)})}function runDijkstra(So,$o,ko,Eo){var Io={},$a=new PriorityQueue$1,ya,wa,ka=function(Sa){var Oa=Sa.v!==ya?Sa.v:Sa.w,Ca=Io[Oa],Ea=ko(Sa),Ta=wa.distance+Ea;if(Ea<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+Sa+" Weight: "+Ea);Ta<Ca.distance&&(Ca.distance=Ta,Ca.predecessor=ya,$a.decrease(Oa,Ta))};for(So.nodes().forEach(function(Sa){var Oa=Sa===$o?0:Number.POSITIVE_INFINITY;Io[Sa]={distance:Oa},$a.add(Sa,Oa)});$a.size()>0&&(ya=$a.removeMin(),wa=Io[ya],wa.distance!==Number.POSITIVE_INFINITY);)Eo(ya).forEach(ka);return Io}var dijkstra=dijkstra_1,dijkstraAll_1=dijkstraAll;function dijkstraAll(So,$o,ko){return So.nodes().reduce(function(Eo,Io){return Eo[Io]=dijkstra(So,Io,$o,ko),Eo},{})}var tarjan_1=tarjan$1;function tarjan$1(So){var $o=0,ko=[],Eo={},Io=[];function $a(ya){var wa=Eo[ya]={onStack:!0,lowlink:$o,index:$o++};if(ko.push(ya),So.successors(ya).forEach(function(Oa){Object.hasOwn(Eo,Oa)?Eo[Oa].onStack&&(wa.lowlink=Math.min(wa.lowlink,Eo[Oa].index)):($a(Oa),wa.lowlink=Math.min(wa.lowlink,Eo[Oa].lowlink))}),wa.lowlink===wa.index){var ka=[],Sa;do Sa=ko.pop(),Eo[Sa].onStack=!1,ka.push(Sa);while(ya!==Sa);Io.push(ka)}}return So.nodes().forEach(function(ya){Object.hasOwn(Eo,ya)||$a(ya)}),Io}var tarjan=tarjan_1,findCycles_1=findCycles;function findCycles(So){return tarjan(So).filter(function($o){return $o.length>1||$o.length===1&&So.hasEdge($o[0],$o[0])})}var floydWarshall_1=floydWarshall,DEFAULT_WEIGHT_FUNC=()=>1;function floydWarshall(So,$o,ko){return runFloydWarshall(So,$o||DEFAULT_WEIGHT_FUNC,ko||function(Eo){return So.outEdges(Eo)})}function runFloydWarshall(So,$o,ko){var Eo={},Io=So.nodes();return Io.forEach(function($a){Eo[$a]={},Eo[$a][$a]={distance:0},Io.forEach(function(ya){$a!==ya&&(Eo[$a][ya]={distance:Number.POSITIVE_INFINITY})}),ko($a).forEach(function(ya){var wa=ya.v===$a?ya.w:ya.v,ka=$o(ya);Eo[$a][wa]={distance:ka,predecessor:$a}})}),Io.forEach(function($a){var ya=Eo[$a];Io.forEach(function(wa){var ka=Eo[wa];Io.forEach(function(Sa){var Oa=ka[$a],Ca=ya[Sa],Ea=ka[Sa],Ta=Oa.distance+Ca.distance;Ta<Ea.distance&&(Ea.distance=Ta,Ea.predecessor=Ca.predecessor)})})}),Eo}function topsort$1(So){var $o={},ko={},Eo=[];function Io($a){if(Object.hasOwn(ko,$a))throw new CycleException;Object.hasOwn($o,$a)||(ko[$a]=!0,$o[$a]=!0,So.predecessors($a).forEach(Io),delete ko[$a],Eo.push($a))}if(So.sinks().forEach(Io),Object.keys($o).length!==So.nodeCount())throw new CycleException;return Eo}class CycleException extends Error{constructor(){super(...arguments)}}var topsort_1=topsort$1;topsort$1.CycleException=CycleException;var topsort=topsort_1,isAcyclic_1=isAcyclic;function isAcyclic(So){try{topsort(So)}catch($o){if($o instanceof topsort.CycleException)return!1;throw $o}return!0}var dfs_1=dfs$3;function dfs$3(So,$o,ko){Array.isArray($o)||($o=[$o]);var Eo=So.isDirected()?wa=>So.successors(wa):wa=>So.neighbors(wa),Io=ko==="post"?postOrderDfs:preOrderDfs,$a=[],ya={};return $o.forEach(wa=>{if(!So.hasNode(wa))throw new Error("Graph does not have node: "+wa);Io(wa,Eo,ya,$a)}),$a}function postOrderDfs(So,$o,ko,Eo){for(var Io=[[So,!1]];Io.length>0;){var $a=Io.pop();$a[1]?Eo.push($a[0]):Object.hasOwn(ko,$a[0])||(ko[$a[0]]=!0,Io.push([$a[0],!0]),forEachRight($o($a[0]),ya=>Io.push([ya,!1])))}}function preOrderDfs(So,$o,ko,Eo){for(var Io=[So];Io.length>0;){var $a=Io.pop();Object.hasOwn(ko,$a)||(ko[$a]=!0,Eo.push($a),forEachRight($o($a),ya=>Io.push(ya)))}}function forEachRight(So,$o){for(var ko=So.length;ko--;)$o(So[ko],ko,So);return So}var dfs$2=dfs_1,postorder_1=postorder$2;function postorder$2(So,$o){return dfs$2(So,$o,"post")}var dfs$1=dfs_1,preorder_1=preorder$1;function preorder$1(So,$o){return dfs$1(So,$o,"pre")}var Graph$8=graph,PriorityQueue=priorityQueue,prim_1=prim;function prim(So,$o){var ko=new Graph$8,Eo={},Io=new PriorityQueue,$a;function ya(ka){var Sa=ka.v===$a?ka.w:ka.v,Oa=Io.priority(Sa);if(Oa!==void 0){var Ca=$o(ka);Ca<Oa&&(Eo[Sa]=$a,Io.decrease(Sa,Ca))}}if(So.nodeCount()===0)return ko;So.nodes().forEach(function(ka){Io.add(ka,Number.POSITIVE_INFINITY),ko.setNode(ka)}),Io.decrease(So.nodes()[0],0);for(var wa=!1;Io.size()>0;){if($a=Io.removeMin(),Object.hasOwn(Eo,$a))ko.setEdge($a,Eo[$a]);else{if(wa)throw new Error("Input graph is not connected: "+So);wa=!0}So.nodeEdges($a).forEach(ya)}return ko}var alg={components:components_1,dijkstra:dijkstra_1,dijkstraAll:dijkstraAll_1,findCycles:findCycles_1,floydWarshall:floydWarshall_1,isAcyclic:isAcyclic_1,postorder:postorder_1,preorder:preorder_1,prim:prim_1,tarjan:tarjan_1,topsort:topsort_1},lib$1=lib$2,graphlib={Graph:lib$1.Graph,json,alg,version:lib$1.version};let List$1=class{constructor(){let $o={};$o._next=$o._prev=$o,this._sentinel=$o}dequeue(){let $o=this._sentinel,ko=$o._prev;if(ko!==$o)return unlink(ko),ko}enqueue($o){let ko=this._sentinel;$o._prev&&$o._next&&unlink($o),$o._next=ko._next,ko._next._prev=$o,ko._next=$o,$o._prev=ko}toString(){let $o=[],ko=this._sentinel,Eo=ko._prev;for(;Eo!==ko;)$o.push(JSON.stringify(Eo,filterOutLinks)),Eo=Eo._prev;return"["+$o.join(", ")+"]"}};function unlink(So){So._prev._next=So._next,So._next._prev=So._prev,delete So._next,delete So._prev}function filterOutLinks(So,$o){if(So!=="_next"&&So!=="_prev")return $o}var list=List$1;let Graph$7=graphlib.Graph,List=list;var greedyFas=greedyFAS$1;let DEFAULT_WEIGHT_FN=()=>1;function greedyFAS$1(So,$o){if(So.nodeCount()<=1)return[];let ko=buildState(So,$o||DEFAULT_WEIGHT_FN);return doGreedyFAS(ko.graph,ko.buckets,ko.zeroIdx).flatMap(Io=>So.outEdges(Io.v,Io.w))}function doGreedyFAS(So,$o,ko){let Eo=[],Io=$o[$o.length-1],$a=$o[0],ya;for(;So.nodeCount();){for(;ya=$a.dequeue();)removeNode(So,$o,ko,ya);for(;ya=Io.dequeue();)removeNode(So,$o,ko,ya);if(So.nodeCount()){for(let wa=$o.length-2;wa>0;--wa)if(ya=$o[wa].dequeue(),ya){Eo=Eo.concat(removeNode(So,$o,ko,ya,!0));break}}}return Eo}function removeNode(So,$o,ko,Eo,Io){let $a=Io?[]:void 0;return So.inEdges(Eo.v).forEach(ya=>{let wa=So.edge(ya),ka=So.node(ya.v);Io&&$a.push({v:ya.v,w:ya.w}),ka.out-=wa,assignBucket($o,ko,ka)}),So.outEdges(Eo.v).forEach(ya=>{let wa=So.edge(ya),ka=ya.w,Sa=So.node(ka);Sa.in-=wa,assignBucket($o,ko,Sa)}),So.removeNode(Eo.v),$a}function buildState(So,$o){let ko=new Graph$7,Eo=0,Io=0;So.nodes().forEach(wa=>{ko.setNode(wa,{v:wa,in:0,out:0})}),So.edges().forEach(wa=>{let ka=ko.edge(wa.v,wa.w)||0,Sa=$o(wa),Oa=ka+Sa;ko.setEdge(wa.v,wa.w,Oa),Io=Math.max(Io,ko.node(wa.v).out+=Sa),Eo=Math.max(Eo,ko.node(wa.w).in+=Sa)});let $a=range$2(Io+Eo+3).map(()=>new List),ya=Eo+1;return ko.nodes().forEach(wa=>{assignBucket($a,ya,ko.node(wa))}),{graph:ko,buckets:$a,zeroIdx:ya}}function assignBucket(So,$o,ko){ko.out?ko.in?So[ko.out-ko.in+$o].enqueue(ko):So[So.length-1].enqueue(ko):So[0].enqueue(ko)}function range$2(So){const $o=[];for(let ko=0;ko<So;ko++)$o.push(ko);return $o}let Graph$6=graphlib.Graph;var util$d={addBorderNode:addBorderNode$1,addDummyNode,applyWithChunking:applyWithChunking$1,asNonCompoundGraph,buildLayerMatrix,intersectRect,mapValues,maxRank,normalizeRanks:normalizeRanks$1,notime,partition,pick,predecessorWeights,range:range$1,removeEmptyRanks:removeEmptyRanks$1,simplify:simplify$1,successorWeights,time,uniqueId:uniqueId$1,zipObject:zipObject$1};function addDummyNode(So,$o,ko,Eo){let Io;do Io=uniqueId$1(Eo);while(So.hasNode(Io));return ko.dummy=$o,So.setNode(Io,ko),Io}function simplify$1(So){let $o=new Graph$6().setGraph(So.graph());return So.nodes().forEach(ko=>$o.setNode(ko,So.node(ko))),So.edges().forEach(ko=>{let Eo=$o.edge(ko.v,ko.w)||{weight:0,minlen:1},Io=So.edge(ko);$o.setEdge(ko.v,ko.w,{weight:Eo.weight+Io.weight,minlen:Math.max(Eo.minlen,Io.minlen)})}),$o}function asNonCompoundGraph(So){let $o=new Graph$6({multigraph:So.isMultigraph()}).setGraph(So.graph());return So.nodes().forEach(ko=>{So.children(ko).length||$o.setNode(ko,So.node(ko))}),So.edges().forEach(ko=>{$o.setEdge(ko,So.edge(ko))}),$o}function successorWeights(So){let $o=So.nodes().map(ko=>{let Eo={};return So.outEdges(ko).forEach(Io=>{Eo[Io.w]=(Eo[Io.w]||0)+So.edge(Io).weight}),Eo});return zipObject$1(So.nodes(),$o)}function predecessorWeights(So){let $o=So.nodes().map(ko=>{let Eo={};return So.inEdges(ko).forEach(Io=>{Eo[Io.v]=(Eo[Io.v]||0)+So.edge(Io).weight}),Eo});return zipObject$1(So.nodes(),$o)}function intersectRect(So,$o){let ko=So.x,Eo=So.y,Io=$o.x-ko,$a=$o.y-Eo,ya=So.width/2,wa=So.height/2;if(!Io&&!$a)throw new Error("Not possible to find intersection inside of the rectangle");let ka,Sa;return Math.abs($a)*ya>Math.abs(Io)*wa?($a<0&&(wa=-wa),ka=wa*Io/$a,Sa=wa):(Io<0&&(ya=-ya),ka=ya,Sa=ya*$a/Io),{x:ko+ka,y:Eo+Sa}}function buildLayerMatrix(So){let $o=range$1(maxRank(So)+1).map(()=>[]);return So.nodes().forEach(ko=>{let Eo=So.node(ko),Io=Eo.rank;Io!==void 0&&($o[Io][Eo.order]=ko)}),$o}function normalizeRanks$1(So){let $o=So.nodes().map(Eo=>{let Io=So.node(Eo).rank;return Io===void 0?Number.MAX_VALUE:Io}),ko=applyWithChunking$1(Math.min,$o);So.nodes().forEach(Eo=>{let Io=So.node(Eo);Object.hasOwn(Io,"rank")&&(Io.rank-=ko)})}function removeEmptyRanks$1(So){let $o=So.nodes().map(ya=>So.node(ya).rank),ko=applyWithChunking$1(Math.min,$o),Eo=[];So.nodes().forEach(ya=>{let wa=So.node(ya).rank-ko;Eo[wa]||(Eo[wa]=[]),Eo[wa].push(ya)});let Io=0,$a=So.graph().nodeRankFactor;Array.from(Eo).forEach((ya,wa)=>{ya===void 0&&wa%$a!==0?--Io:ya!==void 0&&Io&&ya.forEach(ka=>So.node(ka).rank+=Io)})}function addBorderNode$1(So,$o,ko,Eo){let Io={width:0,height:0};return arguments.length>=4&&(Io.rank=ko,Io.order=Eo),addDummyNode(So,"border",Io,$o)}function splitToChunks(So,$o=CHUNKING_THRESHOLD){const ko=[];for(let Eo=0;Eo<So.length;Eo+=$o){const Io=So.slice(Eo,Eo+$o);ko.push(Io)}return ko}const CHUNKING_THRESHOLD=65535;function applyWithChunking$1(So,$o){if($o.length>CHUNKING_THRESHOLD){const ko=splitToChunks($o);return So.apply(null,ko.map(Eo=>So.apply(null,Eo)))}else return So.apply(null,$o)}function maxRank(So){const ko=So.nodes().map(Eo=>{let Io=So.node(Eo).rank;return Io===void 0?Number.MIN_VALUE:Io});return applyWithChunking$1(Math.max,ko)}function partition(So,$o){let ko={lhs:[],rhs:[]};return So.forEach(Eo=>{$o(Eo)?ko.lhs.push(Eo):ko.rhs.push(Eo)}),ko}function time(So,$o){let ko=Date.now();try{return $o()}finally{console.log(So+" time: "+(Date.now()-ko)+"ms")}}function notime(So,$o){return $o()}let idCounter=0;function uniqueId$1(So){var $o=++idCounter;return toString(So)+$o}function range$1(So,$o,ko=1){$o==null&&($o=So,So=0);let Eo=$a=>$a<$o;ko<0&&(Eo=$a=>$o<$a);const Io=[];for(let $a=So;Eo($a);$a+=ko)Io.push($a);return Io}function pick(So,$o){const ko={};for(const Eo of $o)So[Eo]!==void 0&&(ko[Eo]=So[Eo]);return ko}function mapValues(So,$o){let ko=$o;return typeof $o=="string"&&(ko=Eo=>Eo[$o]),Object.entries(So).reduce((Eo,[Io,$a])=>(Eo[Io]=ko($a,Io),Eo),{})}function zipObject$1(So,$o){return So.reduce((ko,Eo,Io)=>(ko[Eo]=$o[Io],ko),{})}let greedyFAS=greedyFas,uniqueId=util$d.uniqueId;var acyclic$1={run:run$2,undo:undo$2};function run$2(So){(So.graph().acyclicer==="greedy"?greedyFAS(So,ko(So)):dfsFAS(So)).forEach(Eo=>{let Io=So.edge(Eo);So.removeEdge(Eo),Io.forwardName=Eo.name,Io.reversed=!0,So.setEdge(Eo.w,Eo.v,Io,uniqueId("rev"))});function ko(Eo){return Io=>Eo.edge(Io).weight}}function dfsFAS(So){let $o=[],ko={},Eo={};function Io($a){Object.hasOwn(Eo,$a)||(Eo[$a]=!0,ko[$a]=!0,So.outEdges($a).forEach(ya=>{Object.hasOwn(ko,ya.w)?$o.push(ya):Io(ya.w)}),delete ko[$a])}return So.nodes().forEach(Io),$o}function undo$2(So){So.edges().forEach($o=>{let ko=So.edge($o);if(ko.reversed){So.removeEdge($o);let Eo=ko.forwardName;delete ko.reversed,delete ko.forwardName,So.setEdge($o.w,$o.v,ko,Eo)}})}let util$c=util$d;var normalize$1={run:run$1,undo:undo$1};function run$1(So){So.graph().dummyChains=[],So.edges().forEach($o=>normalizeEdge(So,$o))}function normalizeEdge(So,$o){let ko=$o.v,Eo=So.node(ko).rank,Io=$o.w,$a=So.node(Io).rank,ya=$o.name,wa=So.edge($o),ka=wa.labelRank;if($a===Eo+1)return;So.removeEdge($o);let Sa,Oa,Ca;for(Ca=0,++Eo;Eo<$a;++Ca,++Eo)wa.points=[],Oa={width:0,height:0,edgeLabel:wa,edgeObj:$o,rank:Eo},Sa=util$c.addDummyNode(So,"edge",Oa,"_d"),Eo===ka&&(Oa.width=wa.width,Oa.height=wa.height,Oa.dummy="edge-label",Oa.labelpos=wa.labelpos),So.setEdge(ko,Sa,{weight:wa.weight},ya),Ca===0&&So.graph().dummyChains.push(Sa),ko=Sa;So.setEdge(ko,Io,{weight:wa.weight},ya)}function undo$1(So){So.graph().dummyChains.forEach($o=>{let ko=So.node($o),Eo=ko.edgeLabel,Io;for(So.setEdge(ko.edgeObj,Eo);ko.dummy;)Io=So.successors($o)[0],So.removeNode($o),Eo.points.push({x:ko.x,y:ko.y}),ko.dummy==="edge-label"&&(Eo.x=ko.x,Eo.y=ko.y,Eo.width=ko.width,Eo.height=ko.height),$o=Io,ko=So.node($o)})}const{applyWithChunking}=util$d;var util$b={longestPath:longestPath$1,slack:slack$2};function longestPath$1(So){var $o={};function ko(Eo){var Io=So.node(Eo);if(Object.hasOwn($o,Eo))return Io.rank;$o[Eo]=!0;let $a=So.outEdges(Eo).map(wa=>wa==null?Number.POSITIVE_INFINITY:ko(wa.w)-So.edge(wa).minlen);var ya=applyWithChunking(Math.min,$a);return ya===Number.POSITIVE_INFINITY&&(ya=0),Io.rank=ya}So.sources().forEach(ko)}function slack$2(So,$o){return So.node($o.w).rank-So.node($o.v).rank-So.edge($o).minlen}var Graph$5=graphlib.Graph,slack$1=util$b.slack,feasibleTree_1=feasibleTree$2;function feasibleTree$2(So){var $o=new Graph$5({directed:!1}),ko=So.nodes()[0],Eo=So.nodeCount();$o.setNode(ko,{});for(var Io,$a;tightTree($o,So)<Eo;)Io=findMinSlackEdge($o,So),$a=$o.hasNode(Io.v)?slack$1(So,Io):-slack$1(So,Io),shiftRanks($o,So,$a);return $o}function tightTree(So,$o){function ko(Eo){$o.nodeEdges(Eo).forEach(Io=>{var $a=Io.v,ya=Eo===$a?Io.w:$a;!So.hasNode(ya)&&!slack$1($o,Io)&&(So.setNode(ya,{}),So.setEdge(Eo,ya,{}),ko(ya))})}return So.nodes().forEach(ko),So.nodeCount()}function findMinSlackEdge(So,$o){return $o.edges().reduce((Eo,Io)=>{let $a=Number.POSITIVE_INFINITY;return So.hasNode(Io.v)!==So.hasNode(Io.w)&&($a=slack$1($o,Io)),$a<Eo[0]?[$a,Io]:Eo},[Number.POSITIVE_INFINITY,null])[1]}function shiftRanks(So,$o,ko){So.nodes().forEach(Eo=>$o.node(Eo).rank+=ko)}var feasibleTree$1=feasibleTree_1,slack=util$b.slack,initRank=util$b.longestPath,preorder=graphlib.alg.preorder,postorder$1=graphlib.alg.postorder,simplify=util$d.simplify,networkSimplex_1=networkSimplex$1;networkSimplex$1.initLowLimValues=initLowLimValues;networkSimplex$1.initCutValues=initCutValues;networkSimplex$1.calcCutValue=calcCutValue;networkSimplex$1.leaveEdge=leaveEdge;networkSimplex$1.enterEdge=enterEdge;networkSimplex$1.exchangeEdges=exchangeEdges;function networkSimplex$1(So){So=simplify(So),initRank(So);var $o=feasibleTree$1(So);initLowLimValues($o),initCutValues($o,So);for(var ko,Eo;ko=leaveEdge($o);)Eo=enterEdge($o,So,ko),exchangeEdges($o,So,ko,Eo)}function initCutValues(So,$o){var ko=postorder$1(So,So.nodes());ko=ko.slice(0,ko.length-1),ko.forEach(Eo=>assignCutValue(So,$o,Eo))}function assignCutValue(So,$o,ko){var Eo=So.node(ko),Io=Eo.parent;So.edge(ko,Io).cutvalue=calcCutValue(So,$o,ko)}function calcCutValue(So,$o,ko){var Eo=So.node(ko),Io=Eo.parent,$a=!0,ya=$o.edge(ko,Io),wa=0;return ya||($a=!1,ya=$o.edge(Io,ko)),wa=ya.weight,$o.nodeEdges(ko).forEach(ka=>{var Sa=ka.v===ko,Oa=Sa?ka.w:ka.v;if(Oa!==Io){var Ca=Sa===$a,Ea=$o.edge(ka).weight;if(wa+=Ca?Ea:-Ea,isTreeEdge(So,ko,Oa)){var Ta=So.edge(ko,Oa).cutvalue;wa+=Ca?-Ta:Ta}}}),wa}function initLowLimValues(So,$o){arguments.length<2&&($o=So.nodes()[0]),dfsAssignLowLim(So,{},1,$o)}function dfsAssignLowLim(So,$o,ko,Eo,Io){var $a=ko,ya=So.node(Eo);return $o[Eo]=!0,So.neighbors(Eo).forEach(wa=>{Object.hasOwn($o,wa)||(ko=dfsAssignLowLim(So,$o,ko,wa,Eo))}),ya.low=$a,ya.lim=ko++,Io?ya.parent=Io:delete ya.parent,ko}function leaveEdge(So){return So.edges().find($o=>So.edge($o).cutvalue<0)}function enterEdge(So,$o,ko){var Eo=ko.v,Io=ko.w;$o.hasEdge(Eo,Io)||(Eo=ko.w,Io=ko.v);var $a=So.node(Eo),ya=So.node(Io),wa=$a,ka=!1;$a.lim>ya.lim&&(wa=ya,ka=!0);var Sa=$o.edges().filter(Oa=>ka===isDescendant(So,So.node(Oa.v),wa)&&ka!==isDescendant(So,So.node(Oa.w),wa));return Sa.reduce((Oa,Ca)=>slack($o,Ca)<slack($o,Oa)?Ca:Oa)}function exchangeEdges(So,$o,ko,Eo){var Io=ko.v,$a=ko.w;So.removeEdge(Io,$a),So.setEdge(Eo.v,Eo.w,{}),initLowLimValues(So),initCutValues(So,$o),updateRanks(So,$o)}function updateRanks(So,$o){var ko=So.nodes().find(Io=>!$o.node(Io).parent),Eo=preorder(So,ko);Eo=Eo.slice(1),Eo.forEach(Io=>{var $a=So.node(Io).parent,ya=$o.edge(Io,$a),wa=!1;ya||(ya=$o.edge($a,Io),wa=!0),$o.node(Io).rank=$o.node($a).rank+(wa?ya.minlen:-ya.minlen)})}function isTreeEdge(So,$o,ko){return So.hasEdge($o,ko)}function isDescendant(So,$o,ko){return ko.low<=$o.lim&&$o.lim<=ko.lim}var rankUtil=util$b,longestPath=rankUtil.longestPath,feasibleTree=feasibleTree_1,networkSimplex=networkSimplex_1,rank_1=rank$1;function rank$1(So){switch(So.graph().ranker){case"network-simplex":networkSimplexRanker(So);break;case"tight-tree":tightTreeRanker(So);break;case"longest-path":longestPathRanker(So);break;default:networkSimplexRanker(So)}}var longestPathRanker=longestPath;function tightTreeRanker(So){longestPath(So),feasibleTree(So)}function networkSimplexRanker(So){networkSimplex(So)}var parentDummyChains_1=parentDummyChains$1;function parentDummyChains$1(So){let $o=postorder(So);So.graph().dummyChains.forEach(ko=>{let Eo=So.node(ko),Io=Eo.edgeObj,$a=findPath(So,$o,Io.v,Io.w),ya=$a.path,wa=$a.lca,ka=0,Sa=ya[ka],Oa=!0;for(;ko!==Io.w;){if(Eo=So.node(ko),Oa){for(;(Sa=ya[ka])!==wa&&So.node(Sa).maxRank<Eo.rank;)ka++;Sa===wa&&(Oa=!1)}if(!Oa){for(;ka<ya.length-1&&So.node(Sa=ya[ka+1]).minRank<=Eo.rank;)ka++;Sa=ya[ka]}So.setParent(ko,Sa),ko=So.successors(ko)[0]}})}function findPath(So,$o,ko,Eo){let Io=[],$a=[],ya=Math.min($o[ko].low,$o[Eo].low),wa=Math.max($o[ko].lim,$o[Eo].lim),ka,Sa;ka=ko;do ka=So.parent(ka),Io.push(ka);while(ka&&($o[ka].low>ya||wa>$o[ka].lim));for(Sa=ka,ka=Eo;(ka=So.parent(ka))!==Sa;)$a.push(ka);return{path:Io.concat($a.reverse()),lca:Sa}}function postorder(So){let $o={},ko=0;function Eo(Io){let $a=ko;So.children(Io).forEach(Eo),$o[Io]={low:$a,lim:ko++}}return So.children().forEach(Eo),$o}let util$a=util$d;var nestingGraph$1={run,cleanup};function run(So){let $o=util$a.addDummyNode(So,"root",{},"_root"),ko=treeDepths(So),Eo=Object.values(ko),Io=util$a.applyWithChunking(Math.max,Eo)-1,$a=2*Io+1;So.graph().nestingRoot=$o,So.edges().forEach(wa=>So.edge(wa).minlen*=$a);let ya=sumWeights(So)+1;So.children().forEach(wa=>dfs(So,$o,$a,ya,Io,ko,wa)),So.graph().nodeRankFactor=$a}function dfs(So,$o,ko,Eo,Io,$a,ya){let wa=So.children(ya);if(!wa.length){ya!==$o&&So.setEdge($o,ya,{weight:0,minlen:ko});return}let ka=util$a.addBorderNode(So,"_bt"),Sa=util$a.addBorderNode(So,"_bb"),Oa=So.node(ya);So.setParent(ka,ya),Oa.borderTop=ka,So.setParent(Sa,ya),Oa.borderBottom=Sa,wa.forEach(Ca=>{dfs(So,$o,ko,Eo,Io,$a,Ca);let Ea=So.node(Ca),Ta=Ea.borderTop?Ea.borderTop:Ca,Aa=Ea.borderBottom?Ea.borderBottom:Ca,Ia=Ea.borderTop?Eo:2*Eo,Pa=Ta!==Aa?1:Io-$a[ya]+1;So.setEdge(ka,Ta,{weight:Ia,minlen:Pa,nestingEdge:!0}),So.setEdge(Aa,Sa,{weight:Ia,minlen:Pa,nestingEdge:!0})}),So.parent(ya)||So.setEdge($o,ka,{weight:0,minlen:Io+$a[ya]})}function treeDepths(So){var $o={};function ko(Eo,Io){var $a=So.children(Eo);$a&&$a.length&&$a.forEach(ya=>ko(ya,Io+1)),$o[Eo]=Io}return So.children().forEach(Eo=>ko(Eo,1)),$o}function sumWeights(So){return So.edges().reduce(($o,ko)=>$o+So.edge(ko).weight,0)}function cleanup(So){var $o=So.graph();So.removeNode($o.nestingRoot),delete $o.nestingRoot,So.edges().forEach(ko=>{var Eo=So.edge(ko);Eo.nestingEdge&&So.removeEdge(ko)})}let util$9=util$d;var addBorderSegments_1=addBorderSegments$1;function addBorderSegments$1(So){function $o(ko){let Eo=So.children(ko),Io=So.node(ko);if(Eo.length&&Eo.forEach($o),Object.hasOwn(Io,"minRank")){Io.borderLeft=[],Io.borderRight=[];for(let $a=Io.minRank,ya=Io.maxRank+1;$a<ya;++$a)addBorderNode(So,"borderLeft","_bl",ko,Io,$a),addBorderNode(So,"borderRight","_br",ko,Io,$a)}}So.children().forEach($o)}function addBorderNode(So,$o,ko,Eo,Io,$a){let ya={width:0,height:0,rank:$a,borderType:$o},wa=Io[$o][$a-1],ka=util$9.addDummyNode(So,"border",ya,ko);Io[$o][$a]=ka,So.setParent(ka,Eo),wa&&So.setEdge(wa,ka,{weight:1})}var coordinateSystem$1={adjust,undo};function adjust(So){let $o=So.graph().rankdir.toLowerCase();($o==="lr"||$o==="rl")&&swapWidthHeight(So)}function undo(So){let $o=So.graph().rankdir.toLowerCase();($o==="bt"||$o==="rl")&&reverseY(So),($o==="lr"||$o==="rl")&&(swapXY(So),swapWidthHeight(So))}function swapWidthHeight(So){So.nodes().forEach($o=>swapWidthHeightOne(So.node($o))),So.edges().forEach($o=>swapWidthHeightOne(So.edge($o)))}function swapWidthHeightOne(So){let $o=So.width;So.width=So.height,So.height=$o}function reverseY(So){So.nodes().forEach($o=>reverseYOne(So.node($o))),So.edges().forEach($o=>{let ko=So.edge($o);ko.points.forEach(reverseYOne),Object.hasOwn(ko,"y")&&reverseYOne(ko)})}function reverseYOne(So){So.y=-So.y}function swapXY(So){So.nodes().forEach($o=>swapXYOne(So.node($o))),So.edges().forEach($o=>{let ko=So.edge($o);ko.points.forEach(swapXYOne),Object.hasOwn(ko,"x")&&swapXYOne(ko)})}function swapXYOne(So){let $o=So.x;So.x=So.y,So.y=$o}let util$8=util$d;var initOrder_1=initOrder$1;function initOrder$1(So){let $o={},ko=So.nodes().filter(ka=>!So.children(ka).length),Eo=ko.map(ka=>So.node(ka).rank),Io=util$8.applyWithChunking(Math.max,Eo),$a=util$8.range(Io+1).map(()=>[]);function ya(ka){if($o[ka])return;$o[ka]=!0;let Sa=So.node(ka);$a[Sa.rank].push(ka),So.successors(ka).forEach(ya)}return ko.sort((ka,Sa)=>So.node(ka).rank-So.node(Sa).rank).forEach(ya),$a}let zipObject=util$d.zipObject;var crossCount_1=crossCount$1;function crossCount$1(So,$o){let ko=0;for(let Eo=1;Eo<$o.length;++Eo)ko+=twoLayerCrossCount(So,$o[Eo-1],$o[Eo]);return ko}function twoLayerCrossCount(So,$o,ko){let Eo=zipObject(ko,ko.map((Sa,Oa)=>Oa)),Io=$o.flatMap(Sa=>So.outEdges(Sa).map(Oa=>({pos:Eo[Oa.w],weight:So.edge(Oa).weight})).sort((Oa,Ca)=>Oa.pos-Ca.pos)),$a=1;for(;$a<ko.length;)$a<<=1;let ya=2*$a-1;$a-=1;let wa=new Array(ya).fill(0),ka=0;return Io.forEach(Sa=>{let Oa=Sa.pos+$a;wa[Oa]+=Sa.weight;let Ca=0;for(;Oa>0;)Oa%2&&(Ca+=wa[Oa+1]),Oa=Oa-1>>1,wa[Oa]+=Sa.weight;ka+=Sa.weight*Ca}),ka}var barycenter_1=barycenter$1;function barycenter$1(So,$o=[]){return $o.map(ko=>{let Eo=So.inEdges(ko);if(Eo.length){let Io=Eo.reduce(($a,ya)=>{let wa=So.edge(ya),ka=So.node(ya.v);return{sum:$a.sum+wa.weight*ka.order,weight:$a.weight+wa.weight}},{sum:0,weight:0});return{v:ko,barycenter:Io.sum/Io.weight,weight:Io.weight}}else return{v:ko}})}let util$7=util$d;var resolveConflicts_1=resolveConflicts$1;function resolveConflicts$1(So,$o){let ko={};So.forEach((Io,$a)=>{let ya=ko[Io.v]={indegree:0,in:[],out:[],vs:[Io.v],i:$a};Io.barycenter!==void 0&&(ya.barycenter=Io.barycenter,ya.weight=Io.weight)}),$o.edges().forEach(Io=>{let $a=ko[Io.v],ya=ko[Io.w];$a!==void 0&&ya!==void 0&&(ya.indegree++,$a.out.push(ko[Io.w]))});let Eo=Object.values(ko).filter(Io=>!Io.indegree);return doResolveConflicts(Eo)}function doResolveConflicts(So){let $o=[];function ko(Io){return $a=>{$a.merged||($a.barycenter===void 0||Io.barycenter===void 0||$a.barycenter>=Io.barycenter)&&mergeEntries(Io,$a)}}function Eo(Io){return $a=>{$a.in.push(Io),--$a.indegree===0&&So.push($a)}}for(;So.length;){let Io=So.pop();$o.push(Io),Io.in.reverse().forEach(ko(Io)),Io.out.forEach(Eo(Io))}return $o.filter(Io=>!Io.merged).map(Io=>util$7.pick(Io,["vs","i","barycenter","weight"]))}function mergeEntries(So,$o){let ko=0,Eo=0;So.weight&&(ko+=So.barycenter*So.weight,Eo+=So.weight),$o.weight&&(ko+=$o.barycenter*$o.weight,Eo+=$o.weight),So.vs=$o.vs.concat(So.vs),So.barycenter=ko/Eo,So.weight=Eo,So.i=Math.min($o.i,So.i),$o.merged=!0}let util$6=util$d;var sort_1=sort$1;function sort$1(So,$o){let ko=util$6.partition(So,Oa=>Object.hasOwn(Oa,"barycenter")),Eo=ko.lhs,Io=ko.rhs.sort((Oa,Ca)=>Ca.i-Oa.i),$a=[],ya=0,wa=0,ka=0;Eo.sort(compareWithBias(!!$o)),ka=consumeUnsortable($a,Io,ka),Eo.forEach(Oa=>{ka+=Oa.vs.length,$a.push(Oa.vs),ya+=Oa.barycenter*Oa.weight,wa+=Oa.weight,ka=consumeUnsortable($a,Io,ka)});let Sa={vs:$a.flat(!0)};return wa&&(Sa.barycenter=ya/wa,Sa.weight=wa),Sa}function consumeUnsortable(So,$o,ko){let Eo;for(;$o.length&&(Eo=$o[$o.length-1]).i<=ko;)$o.pop(),So.push(Eo.vs),ko++;return ko}function compareWithBias(So){return($o,ko)=>$o.barycenter<ko.barycenter?-1:$o.barycenter>ko.barycenter?1:So?ko.i-$o.i:$o.i-ko.i}let barycenter=barycenter_1,resolveConflicts=resolveConflicts_1,sort=sort_1;var sortSubgraph_1=sortSubgraph$1;function sortSubgraph$1(So,$o,ko,Eo){let Io=So.children($o),$a=So.node($o),ya=$a?$a.borderLeft:void 0,wa=$a?$a.borderRight:void 0,ka={};ya&&(Io=Io.filter(Ea=>Ea!==ya&&Ea!==wa));let Sa=barycenter(So,Io);Sa.forEach(Ea=>{if(So.children(Ea.v).length){let Ta=sortSubgraph$1(So,Ea.v,ko,Eo);ka[Ea.v]=Ta,Object.hasOwn(Ta,"barycenter")&&mergeBarycenters(Ea,Ta)}});let Oa=resolveConflicts(Sa,ko);expandSubgraphs(Oa,ka);let Ca=sort(Oa,Eo);if(ya&&(Ca.vs=[ya,Ca.vs,wa].flat(!0),So.predecessors(ya).length)){let Ea=So.node(So.predecessors(ya)[0]),Ta=So.node(So.predecessors(wa)[0]);Object.hasOwn(Ca,"barycenter")||(Ca.barycenter=0,Ca.weight=0),Ca.barycenter=(Ca.barycenter*Ca.weight+Ea.order+Ta.order)/(Ca.weight+2),Ca.weight+=2}return Ca}function expandSubgraphs(So,$o){So.forEach(ko=>{ko.vs=ko.vs.flatMap(Eo=>$o[Eo]?$o[Eo].vs:Eo)})}function mergeBarycenters(So,$o){So.barycenter!==void 0?(So.barycenter=(So.barycenter*So.weight+$o.barycenter*$o.weight)/(So.weight+$o.weight),So.weight+=$o.weight):(So.barycenter=$o.barycenter,So.weight=$o.weight)}let Graph$4=graphlib.Graph,util$5=util$d;var buildLayerGraph_1=buildLayerGraph$1;function buildLayerGraph$1(So,$o,ko){let Eo=createRootNode(So),Io=new Graph$4({compound:!0}).setGraph({root:Eo}).setDefaultNodeLabel($a=>So.node($a));return So.nodes().forEach($a=>{let ya=So.node($a),wa=So.parent($a);(ya.rank===$o||ya.minRank<=$o&&$o<=ya.maxRank)&&(Io.setNode($a),Io.setParent($a,wa||Eo),So[ko]($a).forEach(ka=>{let Sa=ka.v===$a?ka.w:ka.v,Oa=Io.edge(Sa,$a),Ca=Oa!==void 0?Oa.weight:0;Io.setEdge(Sa,$a,{weight:So.edge(ka).weight+Ca})}),Object.hasOwn(ya,"minRank")&&Io.setNode($a,{borderLeft:ya.borderLeft[$o],borderRight:ya.borderRight[$o]}))}),Io}function createRootNode(So){for(var $o;So.hasNode($o=util$5.uniqueId("_root")););return $o}var addSubgraphConstraints_1=addSubgraphConstraints$1;function addSubgraphConstraints$1(So,$o,ko){let Eo={},Io;ko.forEach($a=>{let ya=So.parent($a),wa,ka;for(;ya;){if(wa=So.parent(ya),wa?(ka=Eo[wa],Eo[wa]=ya):(ka=Io,Io=ya),ka&&ka!==ya){$o.setEdge(ka,ya);return}ya=wa}})}let initOrder=initOrder_1,crossCount=crossCount_1,sortSubgraph=sortSubgraph_1,buildLayerGraph=buildLayerGraph_1,addSubgraphConstraints=addSubgraphConstraints_1,Graph$3=graphlib.Graph,util$4=util$d;var order_1=order$1;function order$1(So,$o){if($o&&typeof $o.customOrder=="function"){$o.customOrder(So,order$1);return}let ko=util$4.maxRank(So),Eo=buildLayerGraphs(So,util$4.range(1,ko+1),"inEdges"),Io=buildLayerGraphs(So,util$4.range(ko-1,-1,-1),"outEdges"),$a=initOrder(So);if(assignOrder(So,$a),$o&&$o.disableOptimalOrderHeuristic)return;let ya=Number.POSITIVE_INFINITY,wa;for(let ka=0,Sa=0;Sa<4;++ka,++Sa){sweepLayerGraphs(ka%2?Eo:Io,ka%4>=2),$a=util$4.buildLayerMatrix(So);let Oa=crossCount(So,$a);Oa<ya&&(Sa=0,wa=Object.assign({},$a),ya=Oa)}assignOrder(So,wa)}function buildLayerGraphs(So,$o,ko){return $o.map(function(Eo){return buildLayerGraph(So,Eo,ko)})}function sweepLayerGraphs(So,$o){let ko=new Graph$3;So.forEach(function(Eo){let Io=Eo.graph().root,$a=sortSubgraph(Eo,Io,ko,$o);$a.vs.forEach((ya,wa)=>Eo.node(ya).order=wa),addSubgraphConstraints(Eo,ko,$a.vs)})}function assignOrder(So,$o){Object.values($o).forEach(ko=>ko.forEach((Eo,Io)=>So.node(Eo).order=Io))}let Graph$2=graphlib.Graph,util$3=util$d;var bk={positionX:positionX$1,findType1Conflicts,findType2Conflicts,addConflict,hasConflict,verticalAlignment,horizontalCompaction,alignCoordinates,findSmallestWidthAlignment,balance};function findType1Conflicts(So,$o){let ko={};function Eo(Io,$a){let ya=0,wa=0,ka=Io.length,Sa=$a[$a.length-1];return $a.forEach((Oa,Ca)=>{let Ea=findOtherInnerSegmentNode(So,Oa),Ta=Ea?So.node(Ea).order:ka;(Ea||Oa===Sa)&&($a.slice(wa,Ca+1).forEach(Aa=>{So.predecessors(Aa).forEach(Ia=>{let Pa=So.node(Ia),Ra=Pa.order;(Ra<ya||Ta<Ra)&&!(Pa.dummy&&So.node(Aa).dummy)&&addConflict(ko,Ia,Aa)})}),wa=Ca+1,ya=Ta)}),$a}return $o.length&&$o.reduce(Eo),ko}function findType2Conflicts(So,$o){let ko={};function Eo($a,ya,wa,ka,Sa){let Oa;util$3.range(ya,wa).forEach(Ca=>{Oa=$a[Ca],So.node(Oa).dummy&&So.predecessors(Oa).forEach(Ea=>{let Ta=So.node(Ea);Ta.dummy&&(Ta.order<ka||Ta.order>Sa)&&addConflict(ko,Ea,Oa)})})}function Io($a,ya){let wa=-1,ka,Sa=0;return ya.forEach((Oa,Ca)=>{if(So.node(Oa).dummy==="border"){let Ea=So.predecessors(Oa);Ea.length&&(ka=So.node(Ea[0]).order,Eo(ya,Sa,Ca,wa,ka),Sa=Ca,wa=ka)}Eo(ya,Sa,ya.length,ka,$a.length)}),ya}return $o.length&&$o.reduce(Io),ko}function findOtherInnerSegmentNode(So,$o){if(So.node($o).dummy)return So.predecessors($o).find(ko=>So.node(ko).dummy)}function addConflict(So,$o,ko){if($o>ko){let Io=$o;$o=ko,ko=Io}let Eo=So[$o];Eo||(So[$o]=Eo={}),Eo[ko]=!0}function hasConflict(So,$o,ko){if($o>ko){let Eo=$o;$o=ko,ko=Eo}return!!So[$o]&&Object.hasOwn(So[$o],ko)}function verticalAlignment(So,$o,ko,Eo){let Io={},$a={},ya={};return $o.forEach(wa=>{wa.forEach((ka,Sa)=>{Io[ka]=ka,$a[ka]=ka,ya[ka]=Sa})}),$o.forEach(wa=>{let ka=-1;wa.forEach(Sa=>{let Oa=Eo(Sa);if(Oa.length){Oa=Oa.sort((Ea,Ta)=>ya[Ea]-ya[Ta]);let Ca=(Oa.length-1)/2;for(let Ea=Math.floor(Ca),Ta=Math.ceil(Ca);Ea<=Ta;++Ea){let Aa=Oa[Ea];$a[Sa]===Sa&&ka<ya[Aa]&&!hasConflict(ko,Sa,Aa)&&($a[Aa]=Sa,$a[Sa]=Io[Sa]=Io[Aa],ka=ya[Aa])}}})}),{root:Io,align:$a}}function horizontalCompaction(So,$o,ko,Eo,Io){let $a={},ya=buildBlockGraph(So,$o,ko,Io),wa=Io?"borderLeft":"borderRight";function ka(Ca,Ea){let Ta=ya.nodes(),Aa=Ta.pop(),Ia={};for(;Aa;)Ia[Aa]?Ca(Aa):(Ia[Aa]=!0,Ta.push(Aa),Ta=Ta.concat(Ea(Aa))),Aa=Ta.pop()}function Sa(Ca){$a[Ca]=ya.inEdges(Ca).reduce((Ea,Ta)=>Math.max(Ea,$a[Ta.v]+ya.edge(Ta)),0)}function Oa(Ca){let Ea=ya.outEdges(Ca).reduce((Aa,Ia)=>Math.min(Aa,$a[Ia.w]-ya.edge(Ia)),Number.POSITIVE_INFINITY),Ta=So.node(Ca);Ea!==Number.POSITIVE_INFINITY&&Ta.borderType!==wa&&($a[Ca]=Math.max($a[Ca],Ea))}return ka(Sa,ya.predecessors.bind(ya)),ka(Oa,ya.successors.bind(ya)),Object.keys(Eo).forEach(Ca=>$a[Ca]=$a[ko[Ca]]),$a}function buildBlockGraph(So,$o,ko,Eo){let Io=new Graph$2,$a=So.graph(),ya=sep($a.nodesep,$a.edgesep,Eo);return $o.forEach(wa=>{let ka;wa.forEach(Sa=>{let Oa=ko[Sa];if(Io.setNode(Oa),ka){var Ca=ko[ka],Ea=Io.edge(Ca,Oa);Io.setEdge(Ca,Oa,Math.max(ya(So,Sa,ka),Ea||0))}ka=Sa})}),Io}function findSmallestWidthAlignment(So,$o){return Object.values($o).reduce((ko,Eo)=>{let Io=Number.NEGATIVE_INFINITY,$a=Number.POSITIVE_INFINITY;Object.entries(Eo).forEach(([wa,ka])=>{let Sa=width(So,wa)/2;Io=Math.max(ka+Sa,Io),$a=Math.min(ka-Sa,$a)});const ya=Io-$a;return ya<ko[0]&&(ko=[ya,Eo]),ko},[Number.POSITIVE_INFINITY,null])[1]}function alignCoordinates(So,$o){let ko=Object.values($o),Eo=util$3.applyWithChunking(Math.min,ko),Io=util$3.applyWithChunking(Math.max,ko);["u","d"].forEach($a=>{["l","r"].forEach(ya=>{let wa=$a+ya,ka=So[wa];if(ka===$o)return;let Sa=Object.values(ka),Oa=Eo-util$3.applyWithChunking(Math.min,Sa);ya!=="l"&&(Oa=Io-util$3.applyWithChunking(Math.max,Sa)),Oa&&(So[wa]=util$3.mapValues(ka,Ca=>Ca+Oa))})})}function balance(So,$o){return util$3.mapValues(So.ul,(ko,Eo)=>{if($o)return So[$o.toLowerCase()][Eo];{let Io=Object.values(So).map($a=>$a[Eo]).sort(($a,ya)=>$a-ya);return(Io[1]+Io[2])/2}})}function positionX$1(So){let $o=util$3.buildLayerMatrix(So),ko=Object.assign(findType1Conflicts(So,$o),findType2Conflicts(So,$o)),Eo={},Io;["u","d"].forEach(ya=>{Io=ya==="u"?$o:Object.values($o).reverse(),["l","r"].forEach(wa=>{wa==="r"&&(Io=Io.map(Ca=>Object.values(Ca).reverse()));let ka=(ya==="u"?So.predecessors:So.successors).bind(So),Sa=verticalAlignment(So,Io,ko,ka),Oa=horizontalCompaction(So,Io,Sa.root,Sa.align,wa==="r");wa==="r"&&(Oa=util$3.mapValues(Oa,Ca=>-Ca)),Eo[ya+wa]=Oa})});let $a=findSmallestWidthAlignment(So,Eo);return alignCoordinates(Eo,$a),balance(Eo,So.graph().align)}function sep(So,$o,ko){return(Eo,Io,$a)=>{let ya=Eo.node(Io),wa=Eo.node($a),ka=0,Sa;if(ka+=ya.width/2,Object.hasOwn(ya,"labelpos"))switch(ya.labelpos.toLowerCase()){case"l":Sa=-ya.width/2;break;case"r":Sa=ya.width/2;break}if(Sa&&(ka+=ko?Sa:-Sa),Sa=0,ka+=(ya.dummy?$o:So)/2,ka+=(wa.dummy?$o:So)/2,ka+=wa.width/2,Object.hasOwn(wa,"labelpos"))switch(wa.labelpos.toLowerCase()){case"l":Sa=wa.width/2;break;case"r":Sa=-wa.width/2;break}return Sa&&(ka+=ko?Sa:-Sa),Sa=0,ka}}function width(So,$o){return So.node($o).width}let util$2=util$d,positionX=bk.positionX;var position_1=position$1;function position$1(So){So=util$2.asNonCompoundGraph(So),positionY(So),Object.entries(positionX(So)).forEach(([$o,ko])=>So.node($o).x=ko)}function positionY(So){let $o=util$2.buildLayerMatrix(So),ko=So.graph().ranksep,Eo=0;$o.forEach(Io=>{const $a=Io.reduce((ya,wa)=>{const ka=So.node(wa).height;return ya>ka?ya:ka},0);Io.forEach(ya=>So.node(ya).y=Eo+$a/2),Eo+=$a+ko})}let acyclic=acyclic$1,normalize=normalize$1,rank=rank_1,normalizeRanks=util$d.normalizeRanks,parentDummyChains=parentDummyChains_1,removeEmptyRanks=util$d.removeEmptyRanks,nestingGraph=nestingGraph$1,addBorderSegments=addBorderSegments_1,coordinateSystem=coordinateSystem$1,order=order_1,position=position_1,util$1=util$d,Graph$1=graphlib.Graph;var layout_1=layout;function layout(So,$o){let ko=$o&&$o.debugTiming?util$1.time:util$1.notime;ko("layout",()=>{let Eo=ko(" buildLayoutGraph",()=>buildLayoutGraph(So));ko(" runLayout",()=>runLayout(Eo,ko,$o)),ko(" updateInputGraph",()=>updateInputGraph(So,Eo))})}function runLayout(So,$o,ko){$o(" makeSpaceForEdgeLabels",()=>makeSpaceForEdgeLabels(So)),$o(" removeSelfEdges",()=>removeSelfEdges(So)),$o(" acyclic",()=>acyclic.run(So)),$o(" nestingGraph.run",()=>nestingGraph.run(So)),$o(" rank",()=>rank(util$1.asNonCompoundGraph(So))),$o(" injectEdgeLabelProxies",()=>injectEdgeLabelProxies(So)),$o(" removeEmptyRanks",()=>removeEmptyRanks(So)),$o(" nestingGraph.cleanup",()=>nestingGraph.cleanup(So)),$o(" normalizeRanks",()=>normalizeRanks(So)),$o(" assignRankMinMax",()=>assignRankMinMax(So)),$o(" removeEdgeLabelProxies",()=>removeEdgeLabelProxies(So)),$o(" normalize.run",()=>normalize.run(So)),$o(" parentDummyChains",()=>parentDummyChains(So)),$o(" addBorderSegments",()=>addBorderSegments(So)),$o(" order",()=>order(So,ko)),$o(" insertSelfEdges",()=>insertSelfEdges(So)),$o(" adjustCoordinateSystem",()=>coordinateSystem.adjust(So)),$o(" position",()=>position(So)),$o(" positionSelfEdges",()=>positionSelfEdges(So)),$o(" removeBorderNodes",()=>removeBorderNodes(So)),$o(" normalize.undo",()=>normalize.undo(So)),$o(" fixupEdgeLabelCoords",()=>fixupEdgeLabelCoords(So)),$o(" undoCoordinateSystem",()=>coordinateSystem.undo(So)),$o(" translateGraph",()=>translateGraph(So)),$o(" assignNodeIntersects",()=>assignNodeIntersects(So)),$o(" reversePoints",()=>reversePointsForReversedEdges(So)),$o(" acyclic.undo",()=>acyclic.undo(So))}function updateInputGraph(So,$o){So.nodes().forEach(ko=>{let Eo=So.node(ko),Io=$o.node(ko);Eo&&(Eo.x=Io.x,Eo.y=Io.y,Eo.rank=Io.rank,$o.children(ko).length&&(Eo.width=Io.width,Eo.height=Io.height))}),So.edges().forEach(ko=>{let Eo=So.edge(ko),Io=$o.edge(ko);Eo.points=Io.points,Object.hasOwn(Io,"x")&&(Eo.x=Io.x,Eo.y=Io.y)}),So.graph().width=$o.graph().width,So.graph().height=$o.graph().height}let graphNumAttrs=["nodesep","edgesep","ranksep","marginx","marginy"],graphDefaults={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},graphAttrs=["acyclicer","ranker","rankdir","align"],nodeNumAttrs=["width","height"],nodeDefaults={width:0,height:0},edgeNumAttrs=["minlen","weight","width","height","labeloffset"],edgeDefaults={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},edgeAttrs=["labelpos"];function buildLayoutGraph(So){let $o=new Graph$1({multigraph:!0,compound:!0}),ko=canonicalize(So.graph());return $o.setGraph(Object.assign({},graphDefaults,selectNumberAttrs(ko,graphNumAttrs),util$1.pick(ko,graphAttrs))),So.nodes().forEach(Eo=>{let Io=canonicalize(So.node(Eo));const $a=selectNumberAttrs(Io,nodeNumAttrs);Object.keys(nodeDefaults).forEach(ya=>{$a[ya]===void 0&&($a[ya]=nodeDefaults[ya])}),$o.setNode(Eo,$a),$o.setParent(Eo,So.parent(Eo))}),So.edges().forEach(Eo=>{let Io=canonicalize(So.edge(Eo));$o.setEdge(Eo,Object.assign({},edgeDefaults,selectNumberAttrs(Io,edgeNumAttrs),util$1.pick(Io,edgeAttrs)))}),$o}function makeSpaceForEdgeLabels(So){let $o=So.graph();$o.ranksep/=2,So.edges().forEach(ko=>{let Eo=So.edge(ko);Eo.minlen*=2,Eo.labelpos.toLowerCase()!=="c"&&($o.rankdir==="TB"||$o.rankdir==="BT"?Eo.width+=Eo.labeloffset:Eo.height+=Eo.labeloffset)})}function injectEdgeLabelProxies(So){So.edges().forEach($o=>{let ko=So.edge($o);if(ko.width&&ko.height){let Eo=So.node($o.v),$a={rank:(So.node($o.w).rank-Eo.rank)/2+Eo.rank,e:$o};util$1.addDummyNode(So,"edge-proxy",$a,"_ep")}})}function assignRankMinMax(So){let $o=0;So.nodes().forEach(ko=>{let Eo=So.node(ko);Eo.borderTop&&(Eo.minRank=So.node(Eo.borderTop).rank,Eo.maxRank=So.node(Eo.borderBottom).rank,$o=Math.max($o,Eo.maxRank))}),So.graph().maxRank=$o}function removeEdgeLabelProxies(So){So.nodes().forEach($o=>{let ko=So.node($o);ko.dummy==="edge-proxy"&&(So.edge(ko.e).labelRank=ko.rank,So.removeNode($o))})}function translateGraph(So){let $o=Number.POSITIVE_INFINITY,ko=0,Eo=Number.POSITIVE_INFINITY,Io=0,$a=So.graph(),ya=$a.marginx||0,wa=$a.marginy||0;function ka(Sa){let Oa=Sa.x,Ca=Sa.y,Ea=Sa.width,Ta=Sa.height;$o=Math.min($o,Oa-Ea/2),ko=Math.max(ko,Oa+Ea/2),Eo=Math.min(Eo,Ca-Ta/2),Io=Math.max(Io,Ca+Ta/2)}So.nodes().forEach(Sa=>ka(So.node(Sa))),So.edges().forEach(Sa=>{let Oa=So.edge(Sa);Object.hasOwn(Oa,"x")&&ka(Oa)}),$o-=ya,Eo-=wa,So.nodes().forEach(Sa=>{let Oa=So.node(Sa);Oa.x-=$o,Oa.y-=Eo}),So.edges().forEach(Sa=>{let Oa=So.edge(Sa);Oa.points.forEach(Ca=>{Ca.x-=$o,Ca.y-=Eo}),Object.hasOwn(Oa,"x")&&(Oa.x-=$o),Object.hasOwn(Oa,"y")&&(Oa.y-=Eo)}),$a.width=ko-$o+ya,$a.height=Io-Eo+wa}function assignNodeIntersects(So){So.edges().forEach($o=>{let ko=So.edge($o),Eo=So.node($o.v),Io=So.node($o.w),$a,ya;ko.points?($a=ko.points[0],ya=ko.points[ko.points.length-1]):(ko.points=[],$a=Io,ya=Eo),ko.points.unshift(util$1.intersectRect(Eo,$a)),ko.points.push(util$1.intersectRect(Io,ya))})}function fixupEdgeLabelCoords(So){So.edges().forEach($o=>{let ko=So.edge($o);if(Object.hasOwn(ko,"x"))switch((ko.labelpos==="l"||ko.labelpos==="r")&&(ko.width-=ko.labeloffset),ko.labelpos){case"l":ko.x-=ko.width/2+ko.labeloffset;break;case"r":ko.x+=ko.width/2+ko.labeloffset;break}})}function reversePointsForReversedEdges(So){So.edges().forEach($o=>{let ko=So.edge($o);ko.reversed&&ko.points.reverse()})}function removeBorderNodes(So){So.nodes().forEach($o=>{if(So.children($o).length){let ko=So.node($o),Eo=So.node(ko.borderTop),Io=So.node(ko.borderBottom),$a=So.node(ko.borderLeft[ko.borderLeft.length-1]),ya=So.node(ko.borderRight[ko.borderRight.length-1]);ko.width=Math.abs(ya.x-$a.x),ko.height=Math.abs(Io.y-Eo.y),ko.x=$a.x+ko.width/2,ko.y=Eo.y+ko.height/2}}),So.nodes().forEach($o=>{So.node($o).dummy==="border"&&So.removeNode($o)})}function removeSelfEdges(So){So.edges().forEach($o=>{if($o.v===$o.w){var ko=So.node($o.v);ko.selfEdges||(ko.selfEdges=[]),ko.selfEdges.push({e:$o,label:So.edge($o)}),So.removeEdge($o)}})}function insertSelfEdges(So){var $o=util$1.buildLayerMatrix(So);$o.forEach(ko=>{var Eo=0;ko.forEach((Io,$a)=>{var ya=So.node(Io);ya.order=$a+Eo,(ya.selfEdges||[]).forEach(wa=>{util$1.addDummyNode(So,"selfedge",{width:wa.label.width,height:wa.label.height,rank:ya.rank,order:$a+ ++Eo,e:wa.e,label:wa.label},"_se")}),delete ya.selfEdges})})}function positionSelfEdges(So){So.nodes().forEach($o=>{var ko=So.node($o);if(ko.dummy==="selfedge"){var Eo=So.node(ko.e.v),Io=Eo.x+Eo.width/2,$a=Eo.y,ya=ko.x-Io,wa=Eo.height/2;So.setEdge(ko.e,ko.label),So.removeNode($o),ko.label.points=[{x:Io+2*ya/3,y:$a-wa},{x:Io+5*ya/6,y:$a-wa},{x:Io+ya,y:$a},{x:Io+5*ya/6,y:$a+wa},{x:Io+2*ya/3,y:$a+wa}],ko.label.x=ko.x,ko.label.y=ko.y}})}function selectNumberAttrs(So,$o){return util$1.mapValues(util$1.pick(So,$o),Number)}function canonicalize(So){var $o={};return So&&Object.entries(So).forEach(([ko,Eo])=>{typeof ko=="string"&&(ko=ko.toLowerCase()),$o[ko]=Eo}),$o}let util=util$d,Graph=graphlib.Graph;var debug={debugOrdering};function debugOrdering(So){let $o=util.buildLayerMatrix(So),ko=new Graph({compound:!0,multigraph:!0}).setGraph({});return So.nodes().forEach(Eo=>{ko.setNode(Eo,{label:Eo}),ko.setParent(Eo,"layer"+So.node(Eo).rank)}),So.edges().forEach(Eo=>ko.setEdge(Eo.v,Eo.w,{},Eo.name)),$o.forEach((Eo,Io)=>{let $a="layer"+Io;ko.setNode($a,{rank:"same"}),Eo.reduce((ya,wa)=>(ko.setEdge(ya,wa,{style:"invis"}),wa))}),ko}var version="1.1.4",dagre={graphlib,layout:layout_1,debug,util:{time:util$d.time,notime:util$d.notime},version};const dagre$1=getDefaultExportFromCjs$1(dagre);function cc(So){if(typeof So=="string"||typeof So=="number")return""+So;let $o="";if(Array.isArray(So))for(let ko=0,Eo;ko<So.length;ko++)(Eo=cc(So[ko]))!==""&&($o+=($o&&" ")+Eo);else for(let ko in So)So[ko]&&($o+=($o&&" ")+ko);return $o}var noop={value:()=>{}};function dispatch(){for(var So=0,$o=arguments.length,ko={},Eo;So<$o;++So){if(!(Eo=arguments[So]+"")||Eo in ko||/[\s.]/.test(Eo))throw new Error("illegal type: "+Eo);ko[Eo]=[]}return new Dispatch(ko)}function Dispatch(So){this._=So}function parseTypenames$1(So,$o){return So.trim().split(/^|\s+/).map(function(ko){var Eo="",Io=ko.indexOf(".");if(Io>=0&&(Eo=ko.slice(Io+1),ko=ko.slice(0,Io)),ko&&!$o.hasOwnProperty(ko))throw new Error("unknown type: "+ko);return{type:ko,name:Eo}})}Dispatch.prototype=dispatch.prototype={constructor:Dispatch,on:function(So,$o){var ko=this._,Eo=parseTypenames$1(So+"",ko),Io,$a=-1,ya=Eo.length;if(arguments.length<2){for(;++$a<ya;)if((Io=(So=Eo[$a]).type)&&(Io=get$2(ko[Io],So.name)))return Io;return}if($o!=null&&typeof $o!="function")throw new Error("invalid callback: "+$o);for(;++$a<ya;)if(Io=(So=Eo[$a]).type)ko[Io]=set$1(ko[Io],So.name,$o);else if($o==null)for(Io in ko)ko[Io]=set$1(ko[Io],So.name,null);return this},copy:function(){var So={},$o=this._;for(var ko in $o)So[ko]=$o[ko].slice();return new Dispatch(So)},call:function(So,$o){if((Io=arguments.length-2)>0)for(var ko=new Array(Io),Eo=0,Io,$a;Eo<Io;++Eo)ko[Eo]=arguments[Eo+2];if(!this._.hasOwnProperty(So))throw new Error("unknown type: "+So);for($a=this._[So],Eo=0,Io=$a.length;Eo<Io;++Eo)$a[Eo].value.apply($o,ko)},apply:function(So,$o,ko){if(!this._.hasOwnProperty(So))throw new Error("unknown type: "+So);for(var Eo=this._[So],Io=0,$a=Eo.length;Io<$a;++Io)Eo[Io].value.apply($o,ko)}};function get$2(So,$o){for(var ko=0,Eo=So.length,Io;ko<Eo;++ko)if((Io=So[ko]).name===$o)return Io.value}function set$1(So,$o,ko){for(var Eo=0,Io=So.length;Eo<Io;++Eo)if(So[Eo].name===$o){So[Eo]=noop,So=So.slice(0,Eo).concat(So.slice(Eo+1));break}return ko!=null&&So.push({name:$o,value:ko}),So}var xhtml="http://www.w3.org/1999/xhtml";const namespaces={svg:"http://www.w3.org/2000/svg",xhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function namespace(So){var $o=So+="",ko=$o.indexOf(":");return ko>=0&&($o=So.slice(0,ko))!=="xmlns"&&(So=So.slice(ko+1)),namespaces.hasOwnProperty($o)?{space:namespaces[$o],local:So}:So}function creatorInherit(So){return function(){var $o=this.ownerDocument,ko=this.namespaceURI;return ko===xhtml&&$o.documentElement.namespaceURI===xhtml?$o.createElement(So):$o.createElementNS(ko,So)}}function creatorFixed(So){return function(){return this.ownerDocument.createElementNS(So.space,So.local)}}function creator(So){var $o=namespace(So);return($o.local?creatorFixed:creatorInherit)($o)}function none(){}function selector(So){return So==null?none:function(){return this.querySelector(So)}}function selection_select(So){typeof So!="function"&&(So=selector(So));for(var $o=this._groups,ko=$o.length,Eo=new Array(ko),Io=0;Io<ko;++Io)for(var $a=$o[Io],ya=$a.length,wa=Eo[Io]=new Array(ya),ka,Sa,Oa=0;Oa<ya;++Oa)(ka=$a[Oa])&&(Sa=So.call(ka,ka.__data__,Oa,$a))&&("__data__"in ka&&(Sa.__data__=ka.__data__),wa[Oa]=Sa);return new Selection$3(Eo,this._parents)}function array(So){return So==null?[]:Array.isArray(So)?So:Array.from(So)}function empty(){return[]}function selectorAll(So){return So==null?empty:function(){return this.querySelectorAll(So)}}function arrayAll(So){return function(){return array(So.apply(this,arguments))}}function selection_selectAll(So){typeof So=="function"?So=arrayAll(So):So=selectorAll(So);for(var $o=this._groups,ko=$o.length,Eo=[],Io=[],$a=0;$a<ko;++$a)for(var ya=$o[$a],wa=ya.length,ka,Sa=0;Sa<wa;++Sa)(ka=ya[Sa])&&(Eo.push(So.call(ka,ka.__data__,Sa,ya)),Io.push(ka));return new Selection$3(Eo,Io)}function matcher(So){return function(){return this.matches(So)}}function childMatcher(So){return function($o){return $o.matches(So)}}var find=Array.prototype.find;function childFind(So){return function(){return find.call(this.children,So)}}function childFirst(){return this.firstElementChild}function selection_selectChild(So){return this.select(So==null?childFirst:childFind(typeof So=="function"?So:childMatcher(So)))}var filter=Array.prototype.filter;function children(){return Array.from(this.children)}function childrenFilter(So){return function(){return filter.call(this.children,So)}}function selection_selectChildren(So){return this.selectAll(So==null?children:childrenFilter(typeof So=="function"?So:childMatcher(So)))}function selection_filter(So){typeof So!="function"&&(So=matcher(So));for(var $o=this._groups,ko=$o.length,Eo=new Array(ko),Io=0;Io<ko;++Io)for(var $a=$o[Io],ya=$a.length,wa=Eo[Io]=[],ka,Sa=0;Sa<ya;++Sa)(ka=$a[Sa])&&So.call(ka,ka.__data__,Sa,$a)&&wa.push(ka);return new Selection$3(Eo,this._parents)}function sparse(So){return new Array(So.length)}function selection_enter(){return new Selection$3(this._enter||this._groups.map(sparse),this._parents)}function EnterNode(So,$o){this.ownerDocument=So.ownerDocument,this.namespaceURI=So.namespaceURI,this._next=null,this._parent=So,this.__data__=$o}EnterNode.prototype={constructor:EnterNode,appendChild:function(So){return this._parent.insertBefore(So,this._next)},insertBefore:function(So,$o){return this._parent.insertBefore(So,$o)},querySelector:function(So){return this._parent.querySelector(So)},querySelectorAll:function(So){return this._parent.querySelectorAll(So)}};function constant$3(So){return function(){return So}}function bindIndex(So,$o,ko,Eo,Io,$a){for(var ya=0,wa,ka=$o.length,Sa=$a.length;ya<Sa;++ya)(wa=$o[ya])?(wa.__data__=$a[ya],Eo[ya]=wa):ko[ya]=new EnterNode(So,$a[ya]);for(;ya<ka;++ya)(wa=$o[ya])&&(Io[ya]=wa)}function bindKey(So,$o,ko,Eo,Io,$a,ya){var wa,ka,Sa=new Map,Oa=$o.length,Ca=$a.length,Ea=new Array(Oa),Ta;for(wa=0;wa<Oa;++wa)(ka=$o[wa])&&(Ea[wa]=Ta=ya.call(ka,ka.__data__,wa,$o)+"",Sa.has(Ta)?Io[wa]=ka:Sa.set(Ta,ka));for(wa=0;wa<Ca;++wa)Ta=ya.call(So,$a[wa],wa,$a)+"",(ka=Sa.get(Ta))?(Eo[wa]=ka,ka.__data__=$a[wa],Sa.delete(Ta)):ko[wa]=new EnterNode(So,$a[wa]);for(wa=0;wa<Oa;++wa)(ka=$o[wa])&&Sa.get(Ea[wa])===ka&&(Io[wa]=ka)}function datum(So){return So.__data__}function selection_data(So,$o){if(!arguments.length)return Array.from(this,datum);var ko=$o?bindKey:bindIndex,Eo=this._parents,Io=this._groups;typeof So!="function"&&(So=constant$3(So));for(var $a=Io.length,ya=new Array($a),wa=new Array($a),ka=new Array($a),Sa=0;Sa<$a;++Sa){var Oa=Eo[Sa],Ca=Io[Sa],Ea=Ca.length,Ta=arraylike(So.call(Oa,Oa&&Oa.__data__,Sa,Eo)),Aa=Ta.length,Ia=wa[Sa]=new Array(Aa),Pa=ya[Sa]=new Array(Aa),Ra=ka[Sa]=new Array(Ea);ko(Oa,Ca,Ia,Pa,Ra,Ta,$o);for(var Da=0,La=0,Na,Ba;Da<Aa;++Da)if(Na=Ia[Da]){for(Da>=La&&(La=Da+1);!(Ba=Pa[La])&&++La<Aa;);Na._next=Ba||null}}return ya=new Selection$3(ya,Eo),ya._enter=wa,ya._exit=ka,ya}function arraylike(So){return typeof So=="object"&&"length"in So?So:Array.from(So)}function selection_exit(){return new Selection$3(this._exit||this._groups.map(sparse),this._parents)}function selection_join(So,$o,ko){var Eo=this.enter(),Io=this,$a=this.exit();return typeof So=="function"?(Eo=So(Eo),Eo&&(Eo=Eo.selection())):Eo=Eo.append(So+""),$o!=null&&(Io=$o(Io),Io&&(Io=Io.selection())),ko==null?$a.remove():ko($a),Eo&&Io?Eo.merge(Io).order():Io}function selection_merge(So){for(var $o=So.selection?So.selection():So,ko=this._groups,Eo=$o._groups,Io=ko.length,$a=Eo.length,ya=Math.min(Io,$a),wa=new Array(Io),ka=0;ka<ya;++ka)for(var Sa=ko[ka],Oa=Eo[ka],Ca=Sa.length,Ea=wa[ka]=new Array(Ca),Ta,Aa=0;Aa<Ca;++Aa)(Ta=Sa[Aa]||Oa[Aa])&&(Ea[Aa]=Ta);for(;ka<Io;++ka)wa[ka]=ko[ka];return new Selection$3(wa,this._parents)}function selection_order(){for(var So=this._groups,$o=-1,ko=So.length;++$o<ko;)for(var Eo=So[$o],Io=Eo.length-1,$a=Eo[Io],ya;--Io>=0;)(ya=Eo[Io])&&($a&&ya.compareDocumentPosition($a)^4&&$a.parentNode.insertBefore(ya,$a),$a=ya);return this}function selection_sort(So){So||(So=ascending);function $o(Ca,Ea){return Ca&&Ea?So(Ca.__data__,Ea.__data__):!Ca-!Ea}for(var ko=this._groups,Eo=ko.length,Io=new Array(Eo),$a=0;$a<Eo;++$a){for(var ya=ko[$a],wa=ya.length,ka=Io[$a]=new Array(wa),Sa,Oa=0;Oa<wa;++Oa)(Sa=ya[Oa])&&(ka[Oa]=Sa);ka.sort($o)}return new Selection$3(Io,this._parents).order()}function ascending(So,$o){return So<$o?-1:So>$o?1:So>=$o?0:NaN}function selection_call(){var So=arguments[0];return arguments[0]=this,So.apply(null,arguments),this}function selection_nodes(){return Array.from(this)}function selection_node(){for(var So=this._groups,$o=0,ko=So.length;$o<ko;++$o)for(var Eo=So[$o],Io=0,$a=Eo.length;Io<$a;++Io){var ya=Eo[Io];if(ya)return ya}return null}function selection_size(){let So=0;for(const $o of this)++So;return So}function selection_empty(){return!this.node()}function selection_each(So){for(var $o=this._groups,ko=0,Eo=$o.length;ko<Eo;++ko)for(var Io=$o[ko],$a=0,ya=Io.length,wa;$a<ya;++$a)(wa=Io[$a])&&So.call(wa,wa.__data__,$a,Io);return this}function attrRemove$1(So){return function(){this.removeAttribute(So)}}function attrRemoveNS$1(So){return function(){this.removeAttributeNS(So.space,So.local)}}function attrConstant$1(So,$o){return function(){this.setAttribute(So,$o)}}function attrConstantNS$1(So,$o){return function(){this.setAttributeNS(So.space,So.local,$o)}}function attrFunction$1(So,$o){return function(){var ko=$o.apply(this,arguments);ko==null?this.removeAttribute(So):this.setAttribute(So,ko)}}function attrFunctionNS$1(So,$o){return function(){var ko=$o.apply(this,arguments);ko==null?this.removeAttributeNS(So.space,So.local):this.setAttributeNS(So.space,So.local,ko)}}function selection_attr(So,$o){var ko=namespace(So);if(arguments.length<2){var Eo=this.node();return ko.local?Eo.getAttributeNS(ko.space,ko.local):Eo.getAttribute(ko)}return this.each(($o==null?ko.local?attrRemoveNS$1:attrRemove$1:typeof $o=="function"?ko.local?attrFunctionNS$1:attrFunction$1:ko.local?attrConstantNS$1:attrConstant$1)(ko,$o))}function defaultView(So){return So.ownerDocument&&So.ownerDocument.defaultView||So.document&&So||So.defaultView}function styleRemove$1(So){return function(){this.style.removeProperty(So)}}function styleConstant$1(So,$o,ko){return function(){this.style.setProperty(So,$o,ko)}}function styleFunction$1(So,$o,ko){return function(){var Eo=$o.apply(this,arguments);Eo==null?this.style.removeProperty(So):this.style.setProperty(So,Eo,ko)}}function selection_style(So,$o,ko){return arguments.length>1?this.each(($o==null?styleRemove$1:typeof $o=="function"?styleFunction$1:styleConstant$1)(So,$o,ko??"")):styleValue(this.node(),So)}function styleValue(So,$o){return So.style.getPropertyValue($o)||defaultView(So).getComputedStyle(So,null).getPropertyValue($o)}function propertyRemove(So){return function(){delete this[So]}}function propertyConstant(So,$o){return function(){this[So]=$o}}function propertyFunction(So,$o){return function(){var ko=$o.apply(this,arguments);ko==null?delete this[So]:this[So]=ko}}function selection_property(So,$o){return arguments.length>1?this.each(($o==null?propertyRemove:typeof $o=="function"?propertyFunction:propertyConstant)(So,$o)):this.node()[So]}function classArray(So){return So.trim().split(/^|\s+/)}function classList(So){return So.classList||new ClassList(So)}function ClassList(So){this._node=So,this._names=classArray(So.getAttribute("class")||"")}ClassList.prototype={add:function(So){var $o=this._names.indexOf(So);$o<0&&(this._names.push(So),this._node.setAttribute("class",this._names.join(" ")))},remove:function(So){var $o=this._names.indexOf(So);$o>=0&&(this._names.splice($o,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(So){return this._names.indexOf(So)>=0}};function classedAdd(So,$o){for(var ko=classList(So),Eo=-1,Io=$o.length;++Eo<Io;)ko.add($o[Eo])}function classedRemove(So,$o){for(var ko=classList(So),Eo=-1,Io=$o.length;++Eo<Io;)ko.remove($o[Eo])}function classedTrue(So){return function(){classedAdd(this,So)}}function classedFalse(So){return function(){classedRemove(this,So)}}function classedFunction(So,$o){return function(){($o.apply(this,arguments)?classedAdd:classedRemove)(this,So)}}function selection_classed(So,$o){var ko=classArray(So+"");if(arguments.length<2){for(var Eo=classList(this.node()),Io=-1,$a=ko.length;++Io<$a;)if(!Eo.contains(ko[Io]))return!1;return!0}return this.each((typeof $o=="function"?classedFunction:$o?classedTrue:classedFalse)(ko,$o))}function textRemove(){this.textContent=""}function textConstant$1(So){return function(){this.textContent=So}}function textFunction$1(So){return function(){var $o=So.apply(this,arguments);this.textContent=$o??""}}function selection_text(So){return arguments.length?this.each(So==null?textRemove:(typeof So=="function"?textFunction$1:textConstant$1)(So)):this.node().textContent}function htmlRemove(){this.innerHTML=""}function htmlConstant(So){return function(){this.innerHTML=So}}function htmlFunction(So){return function(){var $o=So.apply(this,arguments);this.innerHTML=$o??""}}function selection_html(So){return arguments.length?this.each(So==null?htmlRemove:(typeof So=="function"?htmlFunction:htmlConstant)(So)):this.node().innerHTML}function raise(){this.nextSibling&&this.parentNode.appendChild(this)}function selection_raise(){return this.each(raise)}function lower(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function selection_lower(){return this.each(lower)}function selection_append(So){var $o=typeof So=="function"?So:creator(So);return this.select(function(){return this.appendChild($o.apply(this,arguments))})}function constantNull(){return null}function selection_insert(So,$o){var ko=typeof So=="function"?So:creator(So),Eo=$o==null?constantNull:typeof $o=="function"?$o:selector($o);return this.select(function(){return this.insertBefore(ko.apply(this,arguments),Eo.apply(this,arguments)||null)})}function remove(){var So=this.parentNode;So&&So.removeChild(this)}function selection_remove(){return this.each(remove)}function selection_cloneShallow(){var So=this.cloneNode(!1),$o=this.parentNode;return $o?$o.insertBefore(So,this.nextSibling):So}function selection_cloneDeep(){var So=this.cloneNode(!0),$o=this.parentNode;return $o?$o.insertBefore(So,this.nextSibling):So}function selection_clone(So){return this.select(So?selection_cloneDeep:selection_cloneShallow)}function selection_datum(So){return arguments.length?this.property("__data__",So):this.node().__data__}function contextListener(So){return function($o){So.call(this,$o,this.__data__)}}function parseTypenames(So){return So.trim().split(/^|\s+/).map(function($o){var ko="",Eo=$o.indexOf(".");return Eo>=0&&(ko=$o.slice(Eo+1),$o=$o.slice(0,Eo)),{type:$o,name:ko}})}function onRemove(So){return function(){var $o=this.__on;if($o){for(var ko=0,Eo=-1,Io=$o.length,$a;ko<Io;++ko)$a=$o[ko],(!So.type||$a.type===So.type)&&$a.name===So.name?this.removeEventListener($a.type,$a.listener,$a.options):$o[++Eo]=$a;++Eo?$o.length=Eo:delete this.__on}}}function onAdd(So,$o,ko){return function(){var Eo=this.__on,Io,$a=contextListener($o);if(Eo){for(var ya=0,wa=Eo.length;ya<wa;++ya)if((Io=Eo[ya]).type===So.type&&Io.name===So.name){this.removeEventListener(Io.type,Io.listener,Io.options),this.addEventListener(Io.type,Io.listener=$a,Io.options=ko),Io.value=$o;return}}this.addEventListener(So.type,$a,ko),Io={type:So.type,name:So.name,value:$o,listener:$a,options:ko},Eo?Eo.push(Io):this.__on=[Io]}}function selection_on(So,$o,ko){var Eo=parseTypenames(So+""),Io,$a=Eo.length,ya;if(arguments.length<2){var wa=this.node().__on;if(wa){for(var ka=0,Sa=wa.length,Oa;ka<Sa;++ka)for(Io=0,Oa=wa[ka];Io<$a;++Io)if((ya=Eo[Io]).type===Oa.type&&ya.name===Oa.name)return Oa.value}return}for(wa=$o?onAdd:onRemove,Io=0;Io<$a;++Io)this.each(wa(Eo[Io],$o,ko));return this}function dispatchEvent$1(So,$o,ko){var Eo=defaultView(So),Io=Eo.CustomEvent;typeof Io=="function"?Io=new Io($o,ko):(Io=Eo.document.createEvent("Event"),ko?(Io.initEvent($o,ko.bubbles,ko.cancelable),Io.detail=ko.detail):Io.initEvent($o,!1,!1)),So.dispatchEvent(Io)}function dispatchConstant(So,$o){return function(){return dispatchEvent$1(this,So,$o)}}function dispatchFunction(So,$o){return function(){return dispatchEvent$1(this,So,$o.apply(this,arguments))}}function selection_dispatch(So,$o){return this.each((typeof $o=="function"?dispatchFunction:dispatchConstant)(So,$o))}function*selection_iterator(){for(var So=this._groups,$o=0,ko=So.length;$o<ko;++$o)for(var Eo=So[$o],Io=0,$a=Eo.length,ya;Io<$a;++Io)(ya=Eo[Io])&&(yield ya)}var root=[null];function Selection$3(So,$o){this._groups=So,this._parents=$o}function selection(){return new Selection$3([[document.documentElement]],root)}function selection_selection(){return this}Selection$3.prototype=selection.prototype={constructor:Selection$3,select:selection_select,selectAll:selection_selectAll,selectChild:selection_selectChild,selectChildren:selection_selectChildren,filter:selection_filter,data:selection_data,enter:selection_enter,exit:selection_exit,join:selection_join,merge:selection_merge,selection:selection_selection,order:selection_order,sort:selection_sort,call:selection_call,nodes:selection_nodes,node:selection_node,size:selection_size,empty:selection_empty,each:selection_each,attr:selection_attr,style:selection_style,property:selection_property,classed:selection_classed,text:selection_text,html:selection_html,raise:selection_raise,lower:selection_lower,append:selection_append,insert:selection_insert,remove:selection_remove,clone:selection_clone,datum:selection_datum,on:selection_on,dispatch:selection_dispatch,[Symbol.iterator]:selection_iterator};function select(So){return typeof So=="string"?new Selection$3([[document.querySelector(So)]],[document.documentElement]):new Selection$3([[So]],root)}function sourceEvent(So){let $o;for(;$o=So.sourceEvent;)So=$o;return So}function pointer(So,$o){if(So=sourceEvent(So),$o===void 0&&($o=So.currentTarget),$o){var ko=$o.ownerSVGElement||$o;if(ko.createSVGPoint){var Eo=ko.createSVGPoint();return Eo.x=So.clientX,Eo.y=So.clientY,Eo=Eo.matrixTransform($o.getScreenCTM().inverse()),[Eo.x,Eo.y]}if($o.getBoundingClientRect){var Io=$o.getBoundingClientRect();return[So.clientX-Io.left-$o.clientLeft,So.clientY-Io.top-$o.clientTop]}}return[So.pageX,So.pageY]}const nonpassive={passive:!1},nonpassivecapture={capture:!0,passive:!1};function nopropagation$1(So){So.stopImmediatePropagation()}function noevent$1(So){So.preventDefault(),So.stopImmediatePropagation()}function dragDisable(So){var $o=So.document.documentElement,ko=select(So).on("dragstart.drag",noevent$1,nonpassivecapture);"onselectstart"in $o?ko.on("selectstart.drag",noevent$1,nonpassivecapture):($o.__noselect=$o.style.MozUserSelect,$o.style.MozUserSelect="none")}function yesdrag(So,$o){var ko=So.document.documentElement,Eo=select(So).on("dragstart.drag",null);$o&&(Eo.on("click.drag",noevent$1,nonpassivecapture),setTimeout(function(){Eo.on("click.drag",null)},0)),"onselectstart"in ko?Eo.on("selectstart.drag",null):(ko.style.MozUserSelect=ko.__noselect,delete ko.__noselect)}const constant$2=So=>()=>So;function DragEvent(So,{sourceEvent:$o,subject:ko,target:Eo,identifier:Io,active:$a,x:ya,y:wa,dx:ka,dy:Sa,dispatch:Oa}){Object.defineProperties(this,{type:{value:So,enumerable:!0,configurable:!0},sourceEvent:{value:$o,enumerable:!0,configurable:!0},subject:{value:ko,enumerable:!0,configurable:!0},target:{value:Eo,enumerable:!0,configurable:!0},identifier:{value:Io,enumerable:!0,configurable:!0},active:{value:$a,enumerable:!0,configurable:!0},x:{value:ya,enumerable:!0,configurable:!0},y:{value:wa,enumerable:!0,configurable:!0},dx:{value:ka,enumerable:!0,configurable:!0},dy:{value:Sa,enumerable:!0,configurable:!0},_:{value:Oa}})}DragEvent.prototype.on=function(){var So=this._.on.apply(this._,arguments);return So===this._?this:So};function defaultFilter$1(So){return!So.ctrlKey&&!So.button}function defaultContainer(){return this.parentNode}function defaultSubject(So,$o){return $o??{x:So.x,y:So.y}}function defaultTouchable$1(){return navigator.maxTouchPoints||"ontouchstart"in this}function drag$1(){var So=defaultFilter$1,$o=defaultContainer,ko=defaultSubject,Eo=defaultTouchable$1,Io={},$a=dispatch("start","drag","end"),ya=0,wa,ka,Sa,Oa,Ca=0;function Ea(Na){Na.on("mousedown.drag",Ta).filter(Eo).on("touchstart.drag",Pa).on("touchmove.drag",Ra,nonpassive).on("touchend.drag touchcancel.drag",Da).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function Ta(Na,Ba){if(!(Oa||!So.call(this,Na,Ba))){var Fa=La(this,$o.call(this,Na,Ba),Na,Ba,"mouse");Fa&&(select(Na.view).on("mousemove.drag",Aa,nonpassivecapture).on("mouseup.drag",Ia,nonpassivecapture),dragDisable(Na.view),nopropagation$1(Na),Sa=!1,wa=Na.clientX,ka=Na.clientY,Fa("start",Na))}}function Aa(Na){if(noevent$1(Na),!Sa){var Ba=Na.clientX-wa,Fa=Na.clientY-ka;Sa=Ba*Ba+Fa*Fa>Ca}Io.mouse("drag",Na)}function Ia(Na){select(Na.view).on("mousemove.drag mouseup.drag",null),yesdrag(Na.view,Sa),noevent$1(Na),Io.mouse("end",Na)}function Pa(Na,Ba){if(So.call(this,Na,Ba)){var Fa=Na.changedTouches,za=$o.call(this,Na,Ba),Ua=Fa.length,Ha,Wa;for(Ha=0;Ha<Ua;++Ha)(Wa=La(this,za,Na,Ba,Fa[Ha].identifier,Fa[Ha]))&&(nopropagation$1(Na),Wa("start",Na,Fa[Ha]))}}function Ra(Na){var Ba=Na.changedTouches,Fa=Ba.length,za,Ua;for(za=0;za<Fa;++za)(Ua=Io[Ba[za].identifier])&&(noevent$1(Na),Ua("drag",Na,Ba[za]))}function Da(Na){var Ba=Na.changedTouches,Fa=Ba.length,za,Ua;for(Oa&&clearTimeout(Oa),Oa=setTimeout(function(){Oa=null},500),za=0;za<Fa;++za)(Ua=Io[Ba[za].identifier])&&(nopropagation$1(Na),Ua("end",Na,Ba[za]))}function La(Na,Ba,Fa,za,Ua,Ha){var Wa=$a.copy(),ja=pointer(Ha||Fa,Ba),Ya,Xa,Za;if((Za=ko.call(Na,new DragEvent("beforestart",{sourceEvent:Fa,target:Ea,identifier:Ua,active:ya,x:ja[0],y:ja[1],dx:0,dy:0,dispatch:Wa}),za))!=null)return Ya=Za.x-ja[0]||0,Xa=Za.y-ja[1]||0,function Ga(Ka,tl,nl){var rl=ja,il;switch(Ka){case"start":Io[Ua]=Ga,il=ya++;break;case"end":delete Io[Ua],--ya;case"drag":ja=pointer(nl||tl,Ba),il=ya;break}Wa.call(Ka,Na,new DragEvent(Ka,{sourceEvent:tl,subject:Za,target:Ea,identifier:Ua,active:il,x:ja[0]+Ya,y:ja[1]+Xa,dx:ja[0]-rl[0],dy:ja[1]-rl[1],dispatch:Wa}),za)}}return Ea.filter=function(Na){return arguments.length?(So=typeof Na=="function"?Na:constant$2(!!Na),Ea):So},Ea.container=function(Na){return arguments.length?($o=typeof Na=="function"?Na:constant$2(Na),Ea):$o},Ea.subject=function(Na){return arguments.length?(ko=typeof Na=="function"?Na:constant$2(Na),Ea):ko},Ea.touchable=function(Na){return arguments.length?(Eo=typeof Na=="function"?Na:constant$2(!!Na),Ea):Eo},Ea.on=function(){var Na=$a.on.apply($a,arguments);return Na===$a?Ea:Na},Ea.clickDistance=function(Na){return arguments.length?(Ca=(Na=+Na)*Na,Ea):Math.sqrt(Ca)},Ea}function define(So,$o,ko){So.prototype=$o.prototype=ko,ko.constructor=So}function extend(So,$o){var ko=Object.create(So.prototype);for(var Eo in $o)ko[Eo]=$o[Eo];return ko}function Color(){}var darker=.7,brighter=1/darker,reI="\\s*([+-]?\\d+)\\s*",reN="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",reP="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",reHex=/^#([0-9a-f]{3,8})$/,reRgbInteger=new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`),reRgbPercent=new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`),reRgbaInteger=new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`),reRgbaPercent=new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`),reHslPercent=new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`),reHslaPercent=new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`),named={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};define(Color,color,{copy(So){return Object.assign(new this.constructor,this,So)},displayable(){return this.rgb().displayable()},hex:color_formatHex,formatHex:color_formatHex,formatHex8:color_formatHex8,formatHsl:color_formatHsl,formatRgb:color_formatRgb,toString:color_formatRgb});function color_formatHex(){return this.rgb().formatHex()}function color_formatHex8(){return this.rgb().formatHex8()}function color_formatHsl(){return hslConvert(this).formatHsl()}function color_formatRgb(){return this.rgb().formatRgb()}function color(So){var $o,ko;return So=(So+"").trim().toLowerCase(),($o=reHex.exec(So))?(ko=$o[1].length,$o=parseInt($o[1],16),ko===6?rgbn($o):ko===3?new Rgb($o>>8&15|$o>>4&240,$o>>4&15|$o&240,($o&15)<<4|$o&15,1):ko===8?rgba($o>>24&255,$o>>16&255,$o>>8&255,($o&255)/255):ko===4?rgba($o>>12&15|$o>>8&240,$o>>8&15|$o>>4&240,$o>>4&15|$o&240,(($o&15)<<4|$o&15)/255):null):($o=reRgbInteger.exec(So))?new Rgb($o[1],$o[2],$o[3],1):($o=reRgbPercent.exec(So))?new Rgb($o[1]*255/100,$o[2]*255/100,$o[3]*255/100,1):($o=reRgbaInteger.exec(So))?rgba($o[1],$o[2],$o[3],$o[4]):($o=reRgbaPercent.exec(So))?rgba($o[1]*255/100,$o[2]*255/100,$o[3]*255/100,$o[4]):($o=reHslPercent.exec(So))?hsla($o[1],$o[2]/100,$o[3]/100,1):($o=reHslaPercent.exec(So))?hsla($o[1],$o[2]/100,$o[3]/100,$o[4]):named.hasOwnProperty(So)?rgbn(named[So]):So==="transparent"?new Rgb(NaN,NaN,NaN,0):null}function rgbn(So){return new Rgb(So>>16&255,So>>8&255,So&255,1)}function rgba(So,$o,ko,Eo){return Eo<=0&&(So=$o=ko=NaN),new Rgb(So,$o,ko,Eo)}function rgbConvert(So){return So instanceof Color||(So=color(So)),So?(So=So.rgb(),new Rgb(So.r,So.g,So.b,So.opacity)):new Rgb}function rgb(So,$o,ko,Eo){return arguments.length===1?rgbConvert(So):new Rgb(So,$o,ko,Eo??1)}function Rgb(So,$o,ko,Eo){this.r=+So,this.g=+$o,this.b=+ko,this.opacity=+Eo}define(Rgb,rgb,extend(Color,{brighter(So){return So=So==null?brighter:Math.pow(brighter,So),new Rgb(this.r*So,this.g*So,this.b*So,this.opacity)},darker(So){return So=So==null?darker:Math.pow(darker,So),new Rgb(this.r*So,this.g*So,this.b*So,this.opacity)},rgb(){return this},clamp(){return new Rgb(clampi(this.r),clampi(this.g),clampi(this.b),clampa(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:rgb_formatHex,formatHex:rgb_formatHex,formatHex8:rgb_formatHex8,formatRgb:rgb_formatRgb,toString:rgb_formatRgb}));function rgb_formatHex(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}`}function rgb_formatHex8(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity)?1:this.opacity)*255)}`}function rgb_formatRgb(){const So=clampa(this.opacity);return`${So===1?"rgb(":"rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${So===1?")":`, ${So})`}`}function clampa(So){return isNaN(So)?1:Math.max(0,Math.min(1,So))}function clampi(So){return Math.max(0,Math.min(255,Math.round(So)||0))}function hex(So){return So=clampi(So),(So<16?"0":"")+So.toString(16)}function hsla(So,$o,ko,Eo){return Eo<=0?So=$o=ko=NaN:ko<=0||ko>=1?So=$o=NaN:$o<=0&&(So=NaN),new Hsl(So,$o,ko,Eo)}function hslConvert(So){if(So instanceof Hsl)return new Hsl(So.h,So.s,So.l,So.opacity);if(So instanceof Color||(So=color(So)),!So)return new Hsl;if(So instanceof Hsl)return So;So=So.rgb();var $o=So.r/255,ko=So.g/255,Eo=So.b/255,Io=Math.min($o,ko,Eo),$a=Math.max($o,ko,Eo),ya=NaN,wa=$a-Io,ka=($a+Io)/2;return wa?($o===$a?ya=(ko-Eo)/wa+(ko<Eo)*6:ko===$a?ya=(Eo-$o)/wa+2:ya=($o-ko)/wa+4,wa/=ka<.5?$a+Io:2-$a-Io,ya*=60):wa=ka>0&&ka<1?0:ya,new Hsl(ya,wa,ka,So.opacity)}function hsl(So,$o,ko,Eo){return arguments.length===1?hslConvert(So):new Hsl(So,$o,ko,Eo??1)}function Hsl(So,$o,ko,Eo){this.h=+So,this.s=+$o,this.l=+ko,this.opacity=+Eo}define(Hsl,hsl,extend(Color,{brighter(So){return So=So==null?brighter:Math.pow(brighter,So),new Hsl(this.h,this.s,this.l*So,this.opacity)},darker(So){return So=So==null?darker:Math.pow(darker,So),new Hsl(this.h,this.s,this.l*So,this.opacity)},rgb(){var So=this.h%360+(this.h<0)*360,$o=isNaN(So)||isNaN(this.s)?0:this.s,ko=this.l,Eo=ko+(ko<.5?ko:1-ko)*$o,Io=2*ko-Eo;return new Rgb(hsl2rgb(So>=240?So-240:So+120,Io,Eo),hsl2rgb(So,Io,Eo),hsl2rgb(So<120?So+240:So-120,Io,Eo),this.opacity)},clamp(){return new Hsl(clamph(this.h),clampt(this.s),clampt(this.l),clampa(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 So=clampa(this.opacity);return`${So===1?"hsl(":"hsla("}${clamph(this.h)}, ${clampt(this.s)*100}%, ${clampt(this.l)*100}%${So===1?")":`, ${So})`}`}}));function clamph(So){return So=(So||0)%360,So<0?So+360:So}function clampt(So){return Math.max(0,Math.min(1,So||0))}function hsl2rgb(So,$o,ko){return(So<60?$o+(ko-$o)*So/60:So<180?ko:So<240?$o+(ko-$o)*(240-So)/60:$o)*255}const constant$1=So=>()=>So;function linear(So,$o){return function(ko){return So+ko*$o}}function exponential(So,$o,ko){return So=Math.pow(So,ko),$o=Math.pow($o,ko)-So,ko=1/ko,function(Eo){return Math.pow(So+Eo*$o,ko)}}function gamma(So){return(So=+So)==1?nogamma:function($o,ko){return ko-$o?exponential($o,ko,So):constant$1(isNaN($o)?ko:$o)}}function nogamma(So,$o){var ko=$o-So;return ko?linear(So,ko):constant$1(isNaN(So)?$o:So)}const interpolateRgb=function So($o){var ko=gamma($o);function Eo(Io,$a){var ya=ko((Io=rgb(Io)).r,($a=rgb($a)).r),wa=ko(Io.g,$a.g),ka=ko(Io.b,$a.b),Sa=nogamma(Io.opacity,$a.opacity);return function(Oa){return Io.r=ya(Oa),Io.g=wa(Oa),Io.b=ka(Oa),Io.opacity=Sa(Oa),Io+""}}return Eo.gamma=So,Eo}(1);function interpolateNumber(So,$o){return So=+So,$o=+$o,function(ko){return So*(1-ko)+$o*ko}}var reA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB=new RegExp(reA.source,"g");function zero(So){return function(){return So}}function one(So){return function($o){return So($o)+""}}function interpolateString(So,$o){var ko=reA.lastIndex=reB.lastIndex=0,Eo,Io,$a,ya=-1,wa=[],ka=[];for(So=So+"",$o=$o+"";(Eo=reA.exec(So))&&(Io=reB.exec($o));)($a=Io.index)>ko&&($a=$o.slice(ko,$a),wa[ya]?wa[ya]+=$a:wa[++ya]=$a),(Eo=Eo[0])===(Io=Io[0])?wa[ya]?wa[ya]+=Io:wa[++ya]=Io:(wa[++ya]=null,ka.push({i:ya,x:interpolateNumber(Eo,Io)})),ko=reB.lastIndex;return ko<$o.length&&($a=$o.slice(ko),wa[ya]?wa[ya]+=$a:wa[++ya]=$a),wa.length<2?ka[0]?one(ka[0].x):zero($o):($o=ka.length,function(Sa){for(var Oa=0,Ca;Oa<$o;++Oa)wa[(Ca=ka[Oa]).i]=Ca.x(Sa);return wa.join("")})}var degrees=180/Math.PI,identity$1={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function decompose(So,$o,ko,Eo,Io,$a){var ya,wa,ka;return(ya=Math.sqrt(So*So+$o*$o))&&(So/=ya,$o/=ya),(ka=So*ko+$o*Eo)&&(ko-=So*ka,Eo-=$o*ka),(wa=Math.sqrt(ko*ko+Eo*Eo))&&(ko/=wa,Eo/=wa,ka/=wa),So*Eo<$o*ko&&(So=-So,$o=-$o,ka=-ka,ya=-ya),{translateX:Io,translateY:$a,rotate:Math.atan2($o,So)*degrees,skewX:Math.atan(ka)*degrees,scaleX:ya,scaleY:wa}}var svgNode;function parseCss(So){const $o=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(So+"");return $o.isIdentity?identity$1:decompose($o.a,$o.b,$o.c,$o.d,$o.e,$o.f)}function parseSvg(So){return So==null||(svgNode||(svgNode=document.createElementNS("http://www.w3.org/2000/svg","g")),svgNode.setAttribute("transform",So),!(So=svgNode.transform.baseVal.consolidate()))?identity$1:(So=So.matrix,decompose(So.a,So.b,So.c,So.d,So.e,So.f))}function interpolateTransform(So,$o,ko,Eo){function Io(Sa){return Sa.length?Sa.pop()+" ":""}function $a(Sa,Oa,Ca,Ea,Ta,Aa){if(Sa!==Ca||Oa!==Ea){var Ia=Ta.push("translate(",null,$o,null,ko);Aa.push({i:Ia-4,x:interpolateNumber(Sa,Ca)},{i:Ia-2,x:interpolateNumber(Oa,Ea)})}else(Ca||Ea)&&Ta.push("translate("+Ca+$o+Ea+ko)}function ya(Sa,Oa,Ca,Ea){Sa!==Oa?(Sa-Oa>180?Oa+=360:Oa-Sa>180&&(Sa+=360),Ea.push({i:Ca.push(Io(Ca)+"rotate(",null,Eo)-2,x:interpolateNumber(Sa,Oa)})):Oa&&Ca.push(Io(Ca)+"rotate("+Oa+Eo)}function wa(Sa,Oa,Ca,Ea){Sa!==Oa?Ea.push({i:Ca.push(Io(Ca)+"skewX(",null,Eo)-2,x:interpolateNumber(Sa,Oa)}):Oa&&Ca.push(Io(Ca)+"skewX("+Oa+Eo)}function ka(Sa,Oa,Ca,Ea,Ta,Aa){if(Sa!==Ca||Oa!==Ea){var Ia=Ta.push(Io(Ta)+"scale(",null,",",null,")");Aa.push({i:Ia-4,x:interpolateNumber(Sa,Ca)},{i:Ia-2,x:interpolateNumber(Oa,Ea)})}else(Ca!==1||Ea!==1)&&Ta.push(Io(Ta)+"scale("+Ca+","+Ea+")")}return function(Sa,Oa){var Ca=[],Ea=[];return Sa=So(Sa),Oa=So(Oa),$a(Sa.translateX,Sa.translateY,Oa.translateX,Oa.translateY,Ca,Ea),ya(Sa.rotate,Oa.rotate,Ca,Ea),wa(Sa.skewX,Oa.skewX,Ca,Ea),ka(Sa.scaleX,Sa.scaleY,Oa.scaleX,Oa.scaleY,Ca,Ea),Sa=Oa=null,function(Ta){for(var Aa=-1,Ia=Ea.length,Pa;++Aa<Ia;)Ca[(Pa=Ea[Aa]).i]=Pa.x(Ta);return Ca.join("")}}}var interpolateTransformCss=interpolateTransform(parseCss,"px, ","px)","deg)"),interpolateTransformSvg=interpolateTransform(parseSvg,", ",")",")"),epsilon2=1e-12;function cosh(So){return((So=Math.exp(So))+1/So)/2}function sinh(So){return((So=Math.exp(So))-1/So)/2}function tanh(So){return((So=Math.exp(2*So))-1)/(So+1)}const interpolateZoom=function So($o,ko,Eo){function Io($a,ya){var wa=$a[0],ka=$a[1],Sa=$a[2],Oa=ya[0],Ca=ya[1],Ea=ya[2],Ta=Oa-wa,Aa=Ca-ka,Ia=Ta*Ta+Aa*Aa,Pa,Ra;if(Ia<epsilon2)Ra=Math.log(Ea/Sa)/$o,Pa=function(za){return[wa+za*Ta,ka+za*Aa,Sa*Math.exp($o*za*Ra)]};else{var Da=Math.sqrt(Ia),La=(Ea*Ea-Sa*Sa+Eo*Ia)/(2*Sa*ko*Da),Na=(Ea*Ea-Sa*Sa-Eo*Ia)/(2*Ea*ko*Da),Ba=Math.log(Math.sqrt(La*La+1)-La),Fa=Math.log(Math.sqrt(Na*Na+1)-Na);Ra=(Fa-Ba)/$o,Pa=function(za){var Ua=za*Ra,Ha=cosh(Ba),Wa=Sa/(ko*Da)*(Ha*tanh($o*Ua+Ba)-sinh(Ba));return[wa+Wa*Ta,ka+Wa*Aa,Sa*Ha/cosh($o*Ua+Ba)]}}return Pa.duration=Ra*1e3*$o/Math.SQRT2,Pa}return Io.rho=function($a){var ya=Math.max(.001,+$a),wa=ya*ya,ka=wa*wa;return So(ya,wa,ka)},Io}(Math.SQRT2,2,4);var frame=0,timeout$1=0,interval=0,pokeDelay=1e3,taskHead,taskTail,clockLast=0,clockNow=0,clockSkew=0,clock=typeof performance=="object"&&performance.now?performance:Date,setFrame=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(So){setTimeout(So,17)};function now(){return clockNow||(setFrame(clearNow),clockNow=clock.now()+clockSkew)}function clearNow(){clockNow=0}function Timer(){this._call=this._time=this._next=null}Timer.prototype=timer.prototype={constructor:Timer,restart:function(So,$o,ko){if(typeof So!="function")throw new TypeError("callback is not a function");ko=(ko==null?now():+ko)+($o==null?0:+$o),!this._next&&taskTail!==this&&(taskTail?taskTail._next=this:taskHead=this,taskTail=this),this._call=So,this._time=ko,sleep()},stop:function(){this._call&&(this._call=null,this._time=1/0,sleep())}};function timer(So,$o,ko){var Eo=new Timer;return Eo.restart(So,$o,ko),Eo}function timerFlush(){now(),++frame;for(var So=taskHead,$o;So;)($o=clockNow-So._time)>=0&&So._call.call(void 0,$o),So=So._next;--frame}function wake(){clockNow=(clockLast=clock.now())+clockSkew,frame=timeout$1=0;try{timerFlush()}finally{frame=0,nap(),clockNow=0}}function poke(){var So=clock.now(),$o=So-clockLast;$o>pokeDelay&&(clockSkew-=$o,clockLast=So)}function nap(){for(var So,$o=taskHead,ko,Eo=1/0;$o;)$o._call?(Eo>$o._time&&(Eo=$o._time),So=$o,$o=$o._next):(ko=$o._next,$o._next=null,$o=So?So._next=ko:taskHead=ko);taskTail=So,sleep(Eo)}function sleep(So){if(!frame){timeout$1&&(timeout$1=clearTimeout(timeout$1));var $o=So-clockNow;$o>24?(So<1/0&&(timeout$1=setTimeout(wake,So-clock.now()-clockSkew)),interval&&(interval=clearInterval(interval))):(interval||(clockLast=clock.now(),interval=setInterval(poke,pokeDelay)),frame=1,setFrame(wake))}}function timeout(So,$o,ko){var Eo=new Timer;return $o=$o==null?0:+$o,Eo.restart(Io=>{Eo.stop(),So(Io+$o)},$o,ko),Eo}var emptyOn=dispatch("start","end","cancel","interrupt"),emptyTween=[],CREATED=0,SCHEDULED=1,STARTING=2,STARTED=3,RUNNING=4,ENDING=5,ENDED=6;function schedule(So,$o,ko,Eo,Io,$a){var ya=So.__transition;if(!ya)So.__transition={};else if(ko in ya)return;create(So,ko,{name:$o,index:Eo,group:Io,on:emptyOn,tween:emptyTween,time:$a.time,delay:$a.delay,duration:$a.duration,ease:$a.ease,timer:null,state:CREATED})}function init(So,$o){var ko=get$1(So,$o);if(ko.state>CREATED)throw new Error("too late; already scheduled");return ko}function set(So,$o){var ko=get$1(So,$o);if(ko.state>STARTED)throw new Error("too late; already running");return ko}function get$1(So,$o){var ko=So.__transition;if(!ko||!(ko=ko[$o]))throw new Error("transition not found");return ko}function create(So,$o,ko){var Eo=So.__transition,Io;Eo[$o]=ko,ko.timer=timer($a,0,ko.time);function $a(Sa){ko.state=SCHEDULED,ko.timer.restart(ya,ko.delay,ko.time),ko.delay<=Sa&&ya(Sa-ko.delay)}function ya(Sa){var Oa,Ca,Ea,Ta;if(ko.state!==SCHEDULED)return ka();for(Oa in Eo)if(Ta=Eo[Oa],Ta.name===ko.name){if(Ta.state===STARTED)return timeout(ya);Ta.state===RUNNING?(Ta.state=ENDED,Ta.timer.stop(),Ta.on.call("interrupt",So,So.__data__,Ta.index,Ta.group),delete Eo[Oa]):+Oa<$o&&(Ta.state=ENDED,Ta.timer.stop(),Ta.on.call("cancel",So,So.__data__,Ta.index,Ta.group),delete Eo[Oa])}if(timeout(function(){ko.state===STARTED&&(ko.state=RUNNING,ko.timer.restart(wa,ko.delay,ko.time),wa(Sa))}),ko.state=STARTING,ko.on.call("start",So,So.__data__,ko.index,ko.group),ko.state===STARTING){for(ko.state=STARTED,Io=new Array(Ea=ko.tween.length),Oa=0,Ca=-1;Oa<Ea;++Oa)(Ta=ko.tween[Oa].value.call(So,So.__data__,ko.index,ko.group))&&(Io[++Ca]=Ta);Io.length=Ca+1}}function wa(Sa){for(var Oa=Sa<ko.duration?ko.ease.call(null,Sa/ko.duration):(ko.timer.restart(ka),ko.state=ENDING,1),Ca=-1,Ea=Io.length;++Ca<Ea;)Io[Ca].call(So,Oa);ko.state===ENDING&&(ko.on.call("end",So,So.__data__,ko.index,ko.group),ka())}function ka(){ko.state=ENDED,ko.timer.stop(),delete Eo[$o];for(var Sa in Eo)return;delete So.__transition}}function interrupt(So,$o){var ko=So.__transition,Eo,Io,$a=!0,ya;if(ko){$o=$o==null?null:$o+"";for(ya in ko){if((Eo=ko[ya]).name!==$o){$a=!1;continue}Io=Eo.state>STARTING&&Eo.state<ENDING,Eo.state=ENDED,Eo.timer.stop(),Eo.on.call(Io?"interrupt":"cancel",So,So.__data__,Eo.index,Eo.group),delete ko[ya]}$a&&delete So.__transition}}function selection_interrupt(So){return this.each(function(){interrupt(this,So)})}function tweenRemove(So,$o){var ko,Eo;return function(){var Io=set(this,So),$a=Io.tween;if($a!==ko){Eo=ko=$a;for(var ya=0,wa=Eo.length;ya<wa;++ya)if(Eo[ya].name===$o){Eo=Eo.slice(),Eo.splice(ya,1);break}}Io.tween=Eo}}function tweenFunction(So,$o,ko){var Eo,Io;if(typeof ko!="function")throw new Error;return function(){var $a=set(this,So),ya=$a.tween;if(ya!==Eo){Io=(Eo=ya).slice();for(var wa={name:$o,value:ko},ka=0,Sa=Io.length;ka<Sa;++ka)if(Io[ka].name===$o){Io[ka]=wa;break}ka===Sa&&Io.push(wa)}$a.tween=Io}}function transition_tween(So,$o){var ko=this._id;if(So+="",arguments.length<2){for(var Eo=get$1(this.node(),ko).tween,Io=0,$a=Eo.length,ya;Io<$a;++Io)if((ya=Eo[Io]).name===So)return ya.value;return null}return this.each(($o==null?tweenRemove:tweenFunction)(ko,So,$o))}function tweenValue(So,$o,ko){var Eo=So._id;return So.each(function(){var Io=set(this,Eo);(Io.value||(Io.value={}))[$o]=ko.apply(this,arguments)}),function(Io){return get$1(Io,Eo).value[$o]}}function interpolate(So,$o){var ko;return(typeof $o=="number"?interpolateNumber:$o instanceof color?interpolateRgb:(ko=color($o))?($o=ko,interpolateRgb):interpolateString)(So,$o)}function attrRemove(So){return function(){this.removeAttribute(So)}}function attrRemoveNS(So){return function(){this.removeAttributeNS(So.space,So.local)}}function attrConstant(So,$o,ko){var Eo,Io=ko+"",$a;return function(){var ya=this.getAttribute(So);return ya===Io?null:ya===Eo?$a:$a=$o(Eo=ya,ko)}}function attrConstantNS(So,$o,ko){var Eo,Io=ko+"",$a;return function(){var ya=this.getAttributeNS(So.space,So.local);return ya===Io?null:ya===Eo?$a:$a=$o(Eo=ya,ko)}}function attrFunction(So,$o,ko){var Eo,Io,$a;return function(){var ya,wa=ko(this),ka;return wa==null?void this.removeAttribute(So):(ya=this.getAttribute(So),ka=wa+"",ya===ka?null:ya===Eo&&ka===Io?$a:(Io=ka,$a=$o(Eo=ya,wa)))}}function attrFunctionNS(So,$o,ko){var Eo,Io,$a;return function(){var ya,wa=ko(this),ka;return wa==null?void this.removeAttributeNS(So.space,So.local):(ya=this.getAttributeNS(So.space,So.local),ka=wa+"",ya===ka?null:ya===Eo&&ka===Io?$a:(Io=ka,$a=$o(Eo=ya,wa)))}}function transition_attr(So,$o){var ko=namespace(So),Eo=ko==="transform"?interpolateTransformSvg:interpolate;return this.attrTween(So,typeof $o=="function"?(ko.local?attrFunctionNS:attrFunction)(ko,Eo,tweenValue(this,"attr."+So,$o)):$o==null?(ko.local?attrRemoveNS:attrRemove)(ko):(ko.local?attrConstantNS:attrConstant)(ko,Eo,$o))}function attrInterpolate(So,$o){return function(ko){this.setAttribute(So,$o.call(this,ko))}}function attrInterpolateNS(So,$o){return function(ko){this.setAttributeNS(So.space,So.local,$o.call(this,ko))}}function attrTweenNS(So,$o){var ko,Eo;function Io(){var $a=$o.apply(this,arguments);return $a!==Eo&&(ko=(Eo=$a)&&attrInterpolateNS(So,$a)),ko}return Io._value=$o,Io}function attrTween(So,$o){var ko,Eo;function Io(){var $a=$o.apply(this,arguments);return $a!==Eo&&(ko=(Eo=$a)&&attrInterpolate(So,$a)),ko}return Io._value=$o,Io}function transition_attrTween(So,$o){var ko="attr."+So;if(arguments.length<2)return(ko=this.tween(ko))&&ko._value;if($o==null)return this.tween(ko,null);if(typeof $o!="function")throw new Error;var Eo=namespace(So);return this.tween(ko,(Eo.local?attrTweenNS:attrTween)(Eo,$o))}function delayFunction(So,$o){return function(){init(this,So).delay=+$o.apply(this,arguments)}}function delayConstant(So,$o){return $o=+$o,function(){init(this,So).delay=$o}}function transition_delay(So){var $o=this._id;return arguments.length?this.each((typeof So=="function"?delayFunction:delayConstant)($o,So)):get$1(this.node(),$o).delay}function durationFunction(So,$o){return function(){set(this,So).duration=+$o.apply(this,arguments)}}function durationConstant(So,$o){return $o=+$o,function(){set(this,So).duration=$o}}function transition_duration(So){var $o=this._id;return arguments.length?this.each((typeof So=="function"?durationFunction:durationConstant)($o,So)):get$1(this.node(),$o).duration}function easeConstant(So,$o){if(typeof $o!="function")throw new Error;return function(){set(this,So).ease=$o}}function transition_ease(So){var $o=this._id;return arguments.length?this.each(easeConstant($o,So)):get$1(this.node(),$o).ease}function easeVarying(So,$o){return function(){var ko=$o.apply(this,arguments);if(typeof ko!="function")throw new Error;set(this,So).ease=ko}}function transition_easeVarying(So){if(typeof So!="function")throw new Error;return this.each(easeVarying(this._id,So))}function transition_filter(So){typeof So!="function"&&(So=matcher(So));for(var $o=this._groups,ko=$o.length,Eo=new Array(ko),Io=0;Io<ko;++Io)for(var $a=$o[Io],ya=$a.length,wa=Eo[Io]=[],ka,Sa=0;Sa<ya;++Sa)(ka=$a[Sa])&&So.call(ka,ka.__data__,Sa,$a)&&wa.push(ka);return new Transition(Eo,this._parents,this._name,this._id)}function transition_merge(So){if(So._id!==this._id)throw new Error;for(var $o=this._groups,ko=So._groups,Eo=$o.length,Io=ko.length,$a=Math.min(Eo,Io),ya=new Array(Eo),wa=0;wa<$a;++wa)for(var ka=$o[wa],Sa=ko[wa],Oa=ka.length,Ca=ya[wa]=new Array(Oa),Ea,Ta=0;Ta<Oa;++Ta)(Ea=ka[Ta]||Sa[Ta])&&(Ca[Ta]=Ea);for(;wa<Eo;++wa)ya[wa]=$o[wa];return new Transition(ya,this._parents,this._name,this._id)}function start(So){return(So+"").trim().split(/^|\s+/).every(function($o){var ko=$o.indexOf(".");return ko>=0&&($o=$o.slice(0,ko)),!$o||$o==="start"})}function onFunction(So,$o,ko){var Eo,Io,$a=start($o)?init:set;return function(){var ya=$a(this,So),wa=ya.on;wa!==Eo&&(Io=(Eo=wa).copy()).on($o,ko),ya.on=Io}}function transition_on(So,$o){var ko=this._id;return arguments.length<2?get$1(this.node(),ko).on.on(So):this.each(onFunction(ko,So,$o))}function removeFunction(So){return function(){var $o=this.parentNode;for(var ko in this.__transition)if(+ko!==So)return;$o&&$o.removeChild(this)}}function transition_remove(){return this.on("end.remove",removeFunction(this._id))}function transition_select(So){var $o=this._name,ko=this._id;typeof So!="function"&&(So=selector(So));for(var Eo=this._groups,Io=Eo.length,$a=new Array(Io),ya=0;ya<Io;++ya)for(var wa=Eo[ya],ka=wa.length,Sa=$a[ya]=new Array(ka),Oa,Ca,Ea=0;Ea<ka;++Ea)(Oa=wa[Ea])&&(Ca=So.call(Oa,Oa.__data__,Ea,wa))&&("__data__"in Oa&&(Ca.__data__=Oa.__data__),Sa[Ea]=Ca,schedule(Sa[Ea],$o,ko,Ea,Sa,get$1(Oa,ko)));return new Transition($a,this._parents,$o,ko)}function transition_selectAll(So){var $o=this._name,ko=this._id;typeof So!="function"&&(So=selectorAll(So));for(var Eo=this._groups,Io=Eo.length,$a=[],ya=[],wa=0;wa<Io;++wa)for(var ka=Eo[wa],Sa=ka.length,Oa,Ca=0;Ca<Sa;++Ca)if(Oa=ka[Ca]){for(var Ea=So.call(Oa,Oa.__data__,Ca,ka),Ta,Aa=get$1(Oa,ko),Ia=0,Pa=Ea.length;Ia<Pa;++Ia)(Ta=Ea[Ia])&&schedule(Ta,$o,ko,Ia,Ea,Aa);$a.push(Ea),ya.push(Oa)}return new Transition($a,ya,$o,ko)}var Selection$2=selection.prototype.constructor;function transition_selection(){return new Selection$2(this._groups,this._parents)}function styleNull(So,$o){var ko,Eo,Io;return function(){var $a=styleValue(this,So),ya=(this.style.removeProperty(So),styleValue(this,So));return $a===ya?null:$a===ko&&ya===Eo?Io:Io=$o(ko=$a,Eo=ya)}}function styleRemove(So){return function(){this.style.removeProperty(So)}}function styleConstant(So,$o,ko){var Eo,Io=ko+"",$a;return function(){var ya=styleValue(this,So);return ya===Io?null:ya===Eo?$a:$a=$o(Eo=ya,ko)}}function styleFunction(So,$o,ko){var Eo,Io,$a;return function(){var ya=styleValue(this,So),wa=ko(this),ka=wa+"";return wa==null&&(ka=wa=(this.style.removeProperty(So),styleValue(this,So))),ya===ka?null:ya===Eo&&ka===Io?$a:(Io=ka,$a=$o(Eo=ya,wa))}}function styleMaybeRemove(So,$o){var ko,Eo,Io,$a="style."+$o,ya="end."+$a,wa;return function(){var ka=set(this,So),Sa=ka.on,Oa=ka.value[$a]==null?wa||(wa=styleRemove($o)):void 0;(Sa!==ko||Io!==Oa)&&(Eo=(ko=Sa).copy()).on(ya,Io=Oa),ka.on=Eo}}function transition_style(So,$o,ko){var Eo=(So+="")=="transform"?interpolateTransformCss:interpolate;return $o==null?this.styleTween(So,styleNull(So,Eo)).on("end.style."+So,styleRemove(So)):typeof $o=="function"?this.styleTween(So,styleFunction(So,Eo,tweenValue(this,"style."+So,$o))).each(styleMaybeRemove(this._id,So)):this.styleTween(So,styleConstant(So,Eo,$o),ko).on("end.style."+So,null)}function styleInterpolate(So,$o,ko){return function(Eo){this.style.setProperty(So,$o.call(this,Eo),ko)}}function styleTween(So,$o,ko){var Eo,Io;function $a(){var ya=$o.apply(this,arguments);return ya!==Io&&(Eo=(Io=ya)&&styleInterpolate(So,ya,ko)),Eo}return $a._value=$o,$a}function transition_styleTween(So,$o,ko){var Eo="style."+(So+="");if(arguments.length<2)return(Eo=this.tween(Eo))&&Eo._value;if($o==null)return this.tween(Eo,null);if(typeof $o!="function")throw new Error;return this.tween(Eo,styleTween(So,$o,ko??""))}function textConstant(So){return function(){this.textContent=So}}function textFunction(So){return function(){var $o=So(this);this.textContent=$o??""}}function transition_text(So){return this.tween("text",typeof So=="function"?textFunction(tweenValue(this,"text",So)):textConstant(So==null?"":So+""))}function textInterpolate(So){return function($o){this.textContent=So.call(this,$o)}}function textTween(So){var $o,ko;function Eo(){var Io=So.apply(this,arguments);return Io!==ko&&($o=(ko=Io)&&textInterpolate(Io)),$o}return Eo._value=So,Eo}function transition_textTween(So){var $o="text";if(arguments.length<1)return($o=this.tween($o))&&$o._value;if(So==null)return this.tween($o,null);if(typeof So!="function")throw new Error;return this.tween($o,textTween(So))}function transition_transition(){for(var So=this._name,$o=this._id,ko=newId(),Eo=this._groups,Io=Eo.length,$a=0;$a<Io;++$a)for(var ya=Eo[$a],wa=ya.length,ka,Sa=0;Sa<wa;++Sa)if(ka=ya[Sa]){var Oa=get$1(ka,$o);schedule(ka,So,ko,Sa,ya,{time:Oa.time+Oa.delay+Oa.duration,delay:0,duration:Oa.duration,ease:Oa.ease})}return new Transition(Eo,this._parents,So,ko)}function transition_end(){var So,$o,ko=this,Eo=ko._id,Io=ko.size();return new Promise(function($a,ya){var wa={value:ya},ka={value:function(){--Io===0&&$a()}};ko.each(function(){var Sa=set(this,Eo),Oa=Sa.on;Oa!==So&&($o=(So=Oa).copy(),$o._.cancel.push(wa),$o._.interrupt.push(wa),$o._.end.push(ka)),Sa.on=$o}),Io===0&&$a()})}var id=0;function Transition(So,$o,ko,Eo){this._groups=So,this._parents=$o,this._name=ko,this._id=Eo}function newId(){return++id}var selection_prototype=selection.prototype;Transition.prototype={constructor:Transition,select:transition_select,selectAll:transition_selectAll,selectChild:selection_prototype.selectChild,selectChildren:selection_prototype.selectChildren,filter:transition_filter,merge:transition_merge,selection:transition_selection,transition:transition_transition,call:selection_prototype.call,nodes:selection_prototype.nodes,node:selection_prototype.node,size:selection_prototype.size,empty:selection_prototype.empty,each:selection_prototype.each,on:transition_on,attr:transition_attr,attrTween:transition_attrTween,style:transition_style,styleTween:transition_styleTween,text:transition_text,textTween:transition_textTween,remove:transition_remove,tween:transition_tween,delay:transition_delay,duration:transition_duration,ease:transition_ease,easeVarying:transition_easeVarying,end:transition_end,[Symbol.iterator]:selection_prototype[Symbol.iterator]};function cubicInOut(So){return((So*=2)<=1?So*So*So:(So-=2)*So*So+2)/2}var defaultTiming={time:null,delay:0,duration:250,ease:cubicInOut};function inherit(So,$o){for(var ko;!(ko=So.__transition)||!(ko=ko[$o]);)if(!(So=So.parentNode))throw new Error(`transition ${$o} not found`);return ko}function selection_transition(So){var $o,ko;So instanceof Transition?($o=So._id,So=So._name):($o=newId(),(ko=defaultTiming).time=now(),So=So==null?null:So+"");for(var Eo=this._groups,Io=Eo.length,$a=0;$a<Io;++$a)for(var ya=Eo[$a],wa=ya.length,ka,Sa=0;Sa<wa;++Sa)(ka=ya[Sa])&&schedule(ka,So,$o,Sa,ya,ko||inherit(ka,$o));return new Transition(Eo,this._parents,So,$o)}selection.prototype.interrupt=selection_interrupt;selection.prototype.transition=selection_transition;const constant=So=>()=>So;function ZoomEvent(So,{sourceEvent:$o,target:ko,transform:Eo,dispatch:Io}){Object.defineProperties(this,{type:{value:So,enumerable:!0,configurable:!0},sourceEvent:{value:$o,enumerable:!0,configurable:!0},target:{value:ko,enumerable:!0,configurable:!0},transform:{value:Eo,enumerable:!0,configurable:!0},_:{value:Io}})}function Transform(So,$o,ko){this.k=So,this.x=$o,this.y=ko}Transform.prototype={constructor:Transform,scale:function(So){return So===1?this:new Transform(this.k*So,this.x,this.y)},translate:function(So,$o){return So===0&$o===0?this:new Transform(this.k,this.x+this.k*So,this.y+this.k*$o)},apply:function(So){return[So[0]*this.k+this.x,So[1]*this.k+this.y]},applyX:function(So){return So*this.k+this.x},applyY:function(So){return So*this.k+this.y},invert:function(So){return[(So[0]-this.x)/this.k,(So[1]-this.y)/this.k]},invertX:function(So){return(So-this.x)/this.k},invertY:function(So){return(So-this.y)/this.k},rescaleX:function(So){return So.copy().domain(So.range().map(this.invertX,this).map(So.invert,So))},rescaleY:function(So){return So.copy().domain(So.range().map(this.invertY,this).map(So.invert,So))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var identity=new Transform(1,0,0);transform.prototype=Transform.prototype;function transform(So){for(;!So.__zoom;)if(!(So=So.parentNode))return identity;return So.__zoom}function nopropagation(So){So.stopImmediatePropagation()}function noevent(So){So.preventDefault(),So.stopImmediatePropagation()}function defaultFilter(So){return(!So.ctrlKey||So.type==="wheel")&&!So.button}function defaultExtent(){var So=this;return So instanceof SVGElement?(So=So.ownerSVGElement||So,So.hasAttribute("viewBox")?(So=So.viewBox.baseVal,[[So.x,So.y],[So.x+So.width,So.y+So.height]]):[[0,0],[So.width.baseVal.value,So.height.baseVal.value]]):[[0,0],[So.clientWidth,So.clientHeight]]}function defaultTransform(){return this.__zoom||identity}function defaultWheelDelta(So){return-So.deltaY*(So.deltaMode===1?.05:So.deltaMode?1:.002)*(So.ctrlKey?10:1)}function defaultTouchable(){return navigator.maxTouchPoints||"ontouchstart"in this}function defaultConstrain(So,$o,ko){var Eo=So.invertX($o[0][0])-ko[0][0],Io=So.invertX($o[1][0])-ko[1][0],$a=So.invertY($o[0][1])-ko[0][1],ya=So.invertY($o[1][1])-ko[1][1];return So.translate(Io>Eo?(Eo+Io)/2:Math.min(0,Eo)||Math.max(0,Io),ya>$a?($a+ya)/2:Math.min(0,$a)||Math.max(0,ya))}function zoom$1(){var So=defaultFilter,$o=defaultExtent,ko=defaultConstrain,Eo=defaultWheelDelta,Io=defaultTouchable,$a=[0,1/0],ya=[[-1/0,-1/0],[1/0,1/0]],wa=250,ka=interpolateZoom,Sa=dispatch("start","zoom","end"),Oa,Ca,Ea,Ta=500,Aa=150,Ia=0,Pa=10;function Ra(Za){Za.property("__zoom",defaultTransform).on("wheel.zoom",Ua,{passive:!1}).on("mousedown.zoom",Ha).on("dblclick.zoom",Wa).filter(Io).on("touchstart.zoom",ja).on("touchmove.zoom",Ya).on("touchend.zoom touchcancel.zoom",Xa).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}Ra.transform=function(Za,Ga,Ka,tl){var nl=Za.selection?Za.selection():Za;nl.property("__zoom",defaultTransform),Za!==nl?Ba(Za,Ga,Ka,tl):nl.interrupt().each(function(){Fa(this,arguments).event(tl).start().zoom(null,typeof Ga=="function"?Ga.apply(this,arguments):Ga).end()})},Ra.scaleBy=function(Za,Ga,Ka,tl){Ra.scaleTo(Za,function(){var nl=this.__zoom.k,rl=typeof Ga=="function"?Ga.apply(this,arguments):Ga;return nl*rl},Ka,tl)},Ra.scaleTo=function(Za,Ga,Ka,tl){Ra.transform(Za,function(){var nl=$o.apply(this,arguments),rl=this.__zoom,il=Ka==null?Na(nl):typeof Ka=="function"?Ka.apply(this,arguments):Ka,sl=rl.invert(il),ul=typeof Ga=="function"?Ga.apply(this,arguments):Ga;return ko(La(Da(rl,ul),il,sl),nl,ya)},Ka,tl)},Ra.translateBy=function(Za,Ga,Ka,tl){Ra.transform(Za,function(){return ko(this.__zoom.translate(typeof Ga=="function"?Ga.apply(this,arguments):Ga,typeof Ka=="function"?Ka.apply(this,arguments):Ka),$o.apply(this,arguments),ya)},null,tl)},Ra.translateTo=function(Za,Ga,Ka,tl,nl){Ra.transform(Za,function(){var rl=$o.apply(this,arguments),il=this.__zoom,sl=tl==null?Na(rl):typeof tl=="function"?tl.apply(this,arguments):tl;return ko(identity.translate(sl[0],sl[1]).scale(il.k).translate(typeof Ga=="function"?-Ga.apply(this,arguments):-Ga,typeof Ka=="function"?-Ka.apply(this,arguments):-Ka),rl,ya)},tl,nl)};function Da(Za,Ga){return Ga=Math.max($a[0],Math.min($a[1],Ga)),Ga===Za.k?Za:new Transform(Ga,Za.x,Za.y)}function La(Za,Ga,Ka){var tl=Ga[0]-Ka[0]*Za.k,nl=Ga[1]-Ka[1]*Za.k;return tl===Za.x&&nl===Za.y?Za:new Transform(Za.k,tl,nl)}function Na(Za){return[(+Za[0][0]+ +Za[1][0])/2,(+Za[0][1]+ +Za[1][1])/2]}function Ba(Za,Ga,Ka,tl){Za.on("start.zoom",function(){Fa(this,arguments).event(tl).start()}).on("interrupt.zoom end.zoom",function(){Fa(this,arguments).event(tl).end()}).tween("zoom",function(){var nl=this,rl=arguments,il=Fa(nl,rl).event(tl),sl=$o.apply(nl,rl),ul=Ka==null?Na(sl):typeof Ka=="function"?Ka.apply(nl,rl):Ka,al=Math.max(sl[1][0]-sl[0][0],sl[1][1]-sl[0][1]),dl=nl.__zoom,gl=typeof Ga=="function"?Ga.apply(nl,rl):Ga,cl=ka(dl.invert(ul).concat(al/dl.k),gl.invert(ul).concat(al/gl.k));return function(fl){if(fl===1)fl=gl;else{var pl=cl(fl),ml=al/pl[2];fl=new Transform(ml,ul[0]-pl[0]*ml,ul[1]-pl[1]*ml)}il.zoom(null,fl)}})}function Fa(Za,Ga,Ka){return!Ka&&Za.__zooming||new za(Za,Ga)}function za(Za,Ga){this.that=Za,this.args=Ga,this.active=0,this.sourceEvent=null,this.extent=$o.apply(Za,Ga),this.taps=0}za.prototype={event:function(Za){return Za&&(this.sourceEvent=Za),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(Za,Ga){return this.mouse&&Za!=="mouse"&&(this.mouse[1]=Ga.invert(this.mouse[0])),this.touch0&&Za!=="touch"&&(this.touch0[1]=Ga.invert(this.touch0[0])),this.touch1&&Za!=="touch"&&(this.touch1[1]=Ga.invert(this.touch1[0])),this.that.__zoom=Ga,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(Za){var Ga=select(this.that).datum();Sa.call(Za,this.that,new ZoomEvent(Za,{sourceEvent:this.sourceEvent,target:Ra,type:Za,transform:this.that.__zoom,dispatch:Sa}),Ga)}};function Ua(Za,...Ga){if(!So.apply(this,arguments))return;var Ka=Fa(this,Ga).event(Za),tl=this.__zoom,nl=Math.max($a[0],Math.min($a[1],tl.k*Math.pow(2,Eo.apply(this,arguments)))),rl=pointer(Za);if(Ka.wheel)(Ka.mouse[0][0]!==rl[0]||Ka.mouse[0][1]!==rl[1])&&(Ka.mouse[1]=tl.invert(Ka.mouse[0]=rl)),clearTimeout(Ka.wheel);else{if(tl.k===nl)return;Ka.mouse=[rl,tl.invert(rl)],interrupt(this),Ka.start()}noevent(Za),Ka.wheel=setTimeout(il,Aa),Ka.zoom("mouse",ko(La(Da(tl,nl),Ka.mouse[0],Ka.mouse[1]),Ka.extent,ya));function il(){Ka.wheel=null,Ka.end()}}function Ha(Za,...Ga){if(Ea||!So.apply(this,arguments))return;var Ka=Za.currentTarget,tl=Fa(this,Ga,!0).event(Za),nl=select(Za.view).on("mousemove.zoom",ul,!0).on("mouseup.zoom",al,!0),rl=pointer(Za,Ka),il=Za.clientX,sl=Za.clientY;dragDisable(Za.view),nopropagation(Za),tl.mouse=[rl,this.__zoom.invert(rl)],interrupt(this),tl.start();function ul(dl){if(noevent(dl),!tl.moved){var gl=dl.clientX-il,cl=dl.clientY-sl;tl.moved=gl*gl+cl*cl>Ia}tl.event(dl).zoom("mouse",ko(La(tl.that.__zoom,tl.mouse[0]=pointer(dl,Ka),tl.mouse[1]),tl.extent,ya))}function al(dl){nl.on("mousemove.zoom mouseup.zoom",null),yesdrag(dl.view,tl.moved),noevent(dl),tl.event(dl).end()}}function Wa(Za,...Ga){if(So.apply(this,arguments)){var Ka=this.__zoom,tl=pointer(Za.changedTouches?Za.changedTouches[0]:Za,this),nl=Ka.invert(tl),rl=Ka.k*(Za.shiftKey?.5:2),il=ko(La(Da(Ka,rl),tl,nl),$o.apply(this,Ga),ya);noevent(Za),wa>0?select(this).transition().duration(wa).call(Ba,il,tl,Za):select(this).call(Ra.transform,il,tl,Za)}}function ja(Za,...Ga){if(So.apply(this,arguments)){var Ka=Za.touches,tl=Ka.length,nl=Fa(this,Ga,Za.changedTouches.length===tl).event(Za),rl,il,sl,ul;for(nopropagation(Za),il=0;il<tl;++il)sl=Ka[il],ul=pointer(sl,this),ul=[ul,this.__zoom.invert(ul),sl.identifier],nl.touch0?!nl.touch1&&nl.touch0[2]!==ul[2]&&(nl.touch1=ul,nl.taps=0):(nl.touch0=ul,rl=!0,nl.taps=1+!!Oa);Oa&&(Oa=clearTimeout(Oa)),rl&&(nl.taps<2&&(Ca=ul[0],Oa=setTimeout(function(){Oa=null},Ta)),interrupt(this),nl.start())}}function Ya(Za,...Ga){if(this.__zooming){var Ka=Fa(this,Ga).event(Za),tl=Za.changedTouches,nl=tl.length,rl,il,sl,ul;for(noevent(Za),rl=0;rl<nl;++rl)il=tl[rl],sl=pointer(il,this),Ka.touch0&&Ka.touch0[2]===il.identifier?Ka.touch0[0]=sl:Ka.touch1&&Ka.touch1[2]===il.identifier&&(Ka.touch1[0]=sl);if(il=Ka.that.__zoom,Ka.touch1){var al=Ka.touch0[0],dl=Ka.touch0[1],gl=Ka.touch1[0],cl=Ka.touch1[1],fl=(fl=gl[0]-al[0])*fl+(fl=gl[1]-al[1])*fl,pl=(pl=cl[0]-dl[0])*pl+(pl=cl[1]-dl[1])*pl;il=Da(il,Math.sqrt(fl/pl)),sl=[(al[0]+gl[0])/2,(al[1]+gl[1])/2],ul=[(dl[0]+cl[0])/2,(dl[1]+cl[1])/2]}else if(Ka.touch0)sl=Ka.touch0[0],ul=Ka.touch0[1];else return;Ka.zoom("touch",ko(La(il,sl,ul),Ka.extent,ya))}}function Xa(Za,...Ga){if(this.__zooming){var Ka=Fa(this,Ga).event(Za),tl=Za.changedTouches,nl=tl.length,rl,il;for(nopropagation(Za),Ea&&clearTimeout(Ea),Ea=setTimeout(function(){Ea=null},Ta),rl=0;rl<nl;++rl)il=tl[rl],Ka.touch0&&Ka.touch0[2]===il.identifier?delete Ka.touch0:Ka.touch1&&Ka.touch1[2]===il.identifier&&delete Ka.touch1;if(Ka.touch1&&!Ka.touch0&&(Ka.touch0=Ka.touch1,delete Ka.touch1),Ka.touch0)Ka.touch0[1]=this.__zoom.invert(Ka.touch0[0]);else if(Ka.end(),Ka.taps===2&&(il=pointer(il,this),Math.hypot(Ca[0]-il[0],Ca[1]-il[1])<Pa)){var sl=select(this).on("dblclick.zoom");sl&&sl.apply(this,arguments)}}}return Ra.wheelDelta=function(Za){return arguments.length?(Eo=typeof Za=="function"?Za:constant(+Za),Ra):Eo},Ra.filter=function(Za){return arguments.length?(So=typeof Za=="function"?Za:constant(!!Za),Ra):So},Ra.touchable=function(Za){return arguments.length?(Io=typeof Za=="function"?Za:constant(!!Za),Ra):Io},Ra.extent=function(Za){return arguments.length?($o=typeof Za=="function"?Za:constant([[+Za[0][0],+Za[0][1]],[+Za[1][0],+Za[1][1]]]),Ra):$o},Ra.scaleExtent=function(Za){return arguments.length?($a[0]=+Za[0],$a[1]=+Za[1],Ra):[$a[0],$a[1]]},Ra.translateExtent=function(Za){return arguments.length?(ya[0][0]=+Za[0][0],ya[1][0]=+Za[1][0],ya[0][1]=+Za[0][1],ya[1][1]=+Za[1][1],Ra):[[ya[0][0],ya[0][1]],[ya[1][0],ya[1][1]]]},Ra.constrain=function(Za){return arguments.length?(ko=Za,Ra):ko},Ra.duration=function(Za){return arguments.length?(wa=+Za,Ra):wa},Ra.interpolate=function(Za){return arguments.length?(ka=Za,Ra):ka},Ra.on=function(){var Za=Sa.on.apply(Sa,arguments);return Za===Sa?Ra:Za},Ra.clickDistance=function(Za){return arguments.length?(Ia=(Za=+Za)*Za,Ra):Math.sqrt(Ia)},Ra.tapDistance=function(Za){return arguments.length?(Pa=+Za,Ra):Pa},Ra}const errorMessages={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:So=>`Node type "${So}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:So=>`The old edge with id=${So} does not exist.`,error009:So=>`Marker type "${So}" doesn't exist.`,error008:(So,{id:$o,sourceHandle:ko,targetHandle:Eo})=>`Couldn't create edge for ${So} handle id: "${So==="source"?ko:Eo}", edge id: ${$o}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:So=>`Edge type "${So}" not found. Using fallback type "default".`,error012:So=>`Node with id "${So}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(So="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${So}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},infiniteExtent=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]];var ConnectionMode;(function(So){So.Strict="strict",So.Loose="loose"})(ConnectionMode||(ConnectionMode={}));var PanOnScrollMode;(function(So){So.Free="free",So.Vertical="vertical",So.Horizontal="horizontal"})(PanOnScrollMode||(PanOnScrollMode={}));var SelectionMode;(function(So){So.Partial="partial",So.Full="full"})(SelectionMode||(SelectionMode={}));const initialConnection={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null};var ConnectionLineType;(function(So){So.Bezier="default",So.Straight="straight",So.Step="step",So.SmoothStep="smoothstep",So.SimpleBezier="simplebezier"})(ConnectionLineType||(ConnectionLineType={}));var MarkerType;(function(So){So.Arrow="arrow",So.ArrowClosed="arrowclosed"})(MarkerType||(MarkerType={}));var Position;(function(So){So.Left="left",So.Top="top",So.Right="right",So.Bottom="bottom"})(Position||(Position={}));const oppositePosition={[Position.Left]:Position.Right,[Position.Right]:Position.Left,[Position.Top]:Position.Bottom,[Position.Bottom]:Position.Top};function areConnectionMapsEqual(So,$o){if(!So&&!$o)return!0;if(!So||!$o||So.size!==$o.size)return!1;if(!So.size&&!$o.size)return!0;for(const ko of So.keys())if(!$o.has(ko))return!1;return!0}function handleConnectionChange(So,$o,ko){if(!ko)return;const Eo=[];So.forEach((Io,$a)=>{$o!=null&&$o.has($a)||Eo.push(Io)}),Eo.length&&ko(Eo)}function getConnectionStatus(So){return So===null?null:So?"valid":"invalid"}const isEdgeBase=So=>"id"in So&&"source"in So&&"target"in So,isNodeBase=So=>"id"in So&&"position"in So&&!("source"in So)&&!("target"in So),isInternalNodeBase=So=>"id"in So&&"internals"in So&&!("source"in So)&&!("target"in So),getNodePositionWithOrigin=(So,$o=[0,0])=>{const{width:ko,height:Eo}=getNodeDimensions(So),Io=So.origin??$o,$a=ko*Io[0],ya=Eo*Io[1];return{x:So.position.x-$a,y:So.position.y-ya}},getNodesBounds=(So,$o={nodeOrigin:[0,0]})=>{if(So.length===0)return{x:0,y:0,width:0,height:0};const ko=So.reduce((Eo,Io)=>{const $a=typeof Io=="string";let ya=!$o.nodeLookup&&!$a?Io:void 0;$o.nodeLookup&&(ya=$a?$o.nodeLookup.get(Io):isInternalNodeBase(Io)?Io:$o.nodeLookup.get(Io.id));const wa=ya?nodeToBox(ya,$o.nodeOrigin):{x:0,y:0,x2:0,y2:0};return getBoundsOfBoxes(Eo,wa)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return boxToRect(ko)},getInternalNodesBounds=(So,$o={})=>{if(So.size===0)return{x:0,y:0,width:0,height:0};let ko={x:1/0,y:1/0,x2:-1/0,y2:-1/0};return So.forEach(Eo=>{if($o.filter===void 0||$o.filter(Eo)){const Io=nodeToBox(Eo);ko=getBoundsOfBoxes(ko,Io)}}),boxToRect(ko)},getNodesInside=(So,$o,[ko,Eo,Io]=[0,0,1],$a=!1,ya=!1)=>{const wa={...pointToRendererPoint($o,[ko,Eo,Io]),width:$o.width/Io,height:$o.height/Io},ka=[];for(const Sa of So.values()){const{measured:Oa,selectable:Ca=!0,hidden:Ea=!1}=Sa;if(ya&&!Ca||Ea)continue;const Ta=Oa.width??Sa.width??Sa.initialWidth??null,Aa=Oa.height??Sa.height??Sa.initialHeight??null,Ia=getOverlappingArea(wa,nodeToRect(Sa)),Pa=(Ta??0)*(Aa??0),Ra=$a&&Ia>0;(!Sa.internals.handleBounds||Ra||Ia>=Pa||Sa.dragging)&&ka.push(Sa)}return ka},getConnectedEdges=(So,$o)=>{const ko=new Set;return So.forEach(Eo=>{ko.add(Eo.id)}),$o.filter(Eo=>ko.has(Eo.source)||ko.has(Eo.target))};function getFitViewNodes(So,$o){const ko=new Map,Eo=$o!=null&&$o.nodes?new Set($o.nodes.map(Io=>Io.id)):null;return So.forEach(Io=>{Io.measured.width&&Io.measured.height&&(($o==null?void 0:$o.includeHiddenNodes)||!Io.hidden)&&(!Eo||Eo.has(Io.id))&&ko.set(Io.id,Io)}),ko}async function fitViewport({nodes:So,width:$o,height:ko,panZoom:Eo,minZoom:Io,maxZoom:$a},ya){if(So.size===0)return Promise.resolve(!0);const wa=getFitViewNodes(So,ya),ka=getInternalNodesBounds(wa),Sa=getViewportForBounds(ka,$o,ko,(ya==null?void 0:ya.minZoom)??Io,(ya==null?void 0:ya.maxZoom)??$a,(ya==null?void 0:ya.padding)??.1);return await Eo.setViewport(Sa,{duration:ya==null?void 0:ya.duration}),Promise.resolve(!0)}function calculateNodePosition({nodeId:So,nextPosition:$o,nodeLookup:ko,nodeOrigin:Eo=[0,0],nodeExtent:Io,onError:$a}){const ya=ko.get(So),wa=ya.parentId?ko.get(ya.parentId):void 0,{x:ka,y:Sa}=wa?wa.internals.positionAbsolute:{x:0,y:0},Oa=ya.origin??Eo;let Ca=Io;if(ya.extent==="parent"&&!ya.expandParent)if(!wa)$a==null||$a("005",errorMessages.error005());else{const Ta=wa.measured.width,Aa=wa.measured.height;Ta&&Aa&&(Ca=[[ka,Sa],[ka+Ta,Sa+Aa]])}else wa&&isCoordinateExtent(ya.extent)&&(Ca=[[ya.extent[0][0]+ka,ya.extent[0][1]+Sa],[ya.extent[1][0]+ka,ya.extent[1][1]+Sa]]);const Ea=isCoordinateExtent(Ca)?clampPosition($o,Ca,ya.measured):$o;return(ya.measured.width===void 0||ya.measured.height===void 0)&&($a==null||$a("015",errorMessages.error015())),{position:{x:Ea.x-ka+(ya.measured.width??0)*Oa[0],y:Ea.y-Sa+(ya.measured.height??0)*Oa[1]},positionAbsolute:Ea}}async function getElementsToRemove({nodesToRemove:So=[],edgesToRemove:$o=[],nodes:ko,edges:Eo,onBeforeDelete:Io}){const $a=new Set(So.map(Ea=>Ea.id)),ya=[];for(const Ea of ko){if(Ea.deletable===!1)continue;const Ta=$a.has(Ea.id),Aa=!Ta&&Ea.parentId&&ya.find(Ia=>Ia.id===Ea.parentId);(Ta||Aa)&&ya.push(Ea)}const wa=new Set($o.map(Ea=>Ea.id)),ka=Eo.filter(Ea=>Ea.deletable!==!1),Oa=getConnectedEdges(ya,ka);for(const Ea of ka)wa.has(Ea.id)&&!Oa.find(Aa=>Aa.id===Ea.id)&&Oa.push(Ea);if(!Io)return{edges:Oa,nodes:ya};const Ca=await Io({nodes:ya,edges:Oa});return typeof Ca=="boolean"?Ca?{edges:Oa,nodes:ya}:{edges:[],nodes:[]}:Ca}const clamp=(So,$o=0,ko=1)=>Math.min(Math.max(So,$o),ko),clampPosition=(So={x:0,y:0},$o,ko)=>({x:clamp(So.x,$o[0][0],$o[1][0]-((ko==null?void 0:ko.width)??0)),y:clamp(So.y,$o[0][1],$o[1][1]-((ko==null?void 0:ko.height)??0))});function clampPositionToParent(So,$o,ko){const{width:Eo,height:Io}=getNodeDimensions(ko),{x:$a,y:ya}=ko.internals.positionAbsolute;return clampPosition(So,[[$a,ya],[$a+Eo,ya+Io]],$o)}const calcAutoPanVelocity=(So,$o,ko)=>So<$o?clamp(Math.abs(So-$o),1,$o)/$o:So>ko?-clamp(Math.abs(So-ko),1,$o)/$o:0,calcAutoPan=(So,$o,ko=15,Eo=40)=>{const Io=calcAutoPanVelocity(So.x,Eo,$o.width-Eo)*ko,$a=calcAutoPanVelocity(So.y,Eo,$o.height-Eo)*ko;return[Io,$a]},getBoundsOfBoxes=(So,$o)=>({x:Math.min(So.x,$o.x),y:Math.min(So.y,$o.y),x2:Math.max(So.x2,$o.x2),y2:Math.max(So.y2,$o.y2)}),rectToBox=({x:So,y:$o,width:ko,height:Eo})=>({x:So,y:$o,x2:So+ko,y2:$o+Eo}),boxToRect=({x:So,y:$o,x2:ko,y2:Eo})=>({x:So,y:$o,width:ko-So,height:Eo-$o}),nodeToRect=(So,$o=[0,0])=>{var Io,$a;const{x:ko,y:Eo}=isInternalNodeBase(So)?So.internals.positionAbsolute:getNodePositionWithOrigin(So,$o);return{x:ko,y:Eo,width:((Io=So.measured)==null?void 0:Io.width)??So.width??So.initialWidth??0,height:(($a=So.measured)==null?void 0:$a.height)??So.height??So.initialHeight??0}},nodeToBox=(So,$o=[0,0])=>{var Io,$a;const{x:ko,y:Eo}=isInternalNodeBase(So)?So.internals.positionAbsolute:getNodePositionWithOrigin(So,$o);return{x:ko,y:Eo,x2:ko+(((Io=So.measured)==null?void 0:Io.width)??So.width??So.initialWidth??0),y2:Eo+((($a=So.measured)==null?void 0:$a.height)??So.height??So.initialHeight??0)}},getBoundsOfRects=(So,$o)=>boxToRect(getBoundsOfBoxes(rectToBox(So),rectToBox($o))),getOverlappingArea=(So,$o)=>{const ko=Math.max(0,Math.min(So.x+So.width,$o.x+$o.width)-Math.max(So.x,$o.x)),Eo=Math.max(0,Math.min(So.y+So.height,$o.y+$o.height)-Math.max(So.y,$o.y));return Math.ceil(ko*Eo)},isRectObject=So=>isNumeric(So.width)&&isNumeric(So.height)&&isNumeric(So.x)&&isNumeric(So.y),isNumeric=So=>!isNaN(So)&&isFinite(So),devWarn=(So,$o)=>{},snapPosition=(So,$o=[1,1])=>({x:$o[0]*Math.round(So.x/$o[0]),y:$o[1]*Math.round(So.y/$o[1])}),pointToRendererPoint=({x:So,y:$o},[ko,Eo,Io],$a=!1,ya=[1,1])=>{const wa={x:(So-ko)/Io,y:($o-Eo)/Io};return $a?snapPosition(wa,ya):wa},rendererPointToPoint=({x:So,y:$o},[ko,Eo,Io])=>({x:So*Io+ko,y:$o*Io+Eo});function parsePadding(So,$o){if(typeof So=="number")return Math.floor(($o-$o/(1+So))*.5);if(typeof So=="string"&&So.endsWith("px")){const ko=parseFloat(So);if(!Number.isNaN(ko))return Math.floor(ko)}if(typeof So=="string"&&So.endsWith("%")){const ko=parseFloat(So);if(!Number.isNaN(ko))return Math.floor($o*ko*.01)}return console.error(`[React Flow] The padding value "${So}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function parsePaddings(So,$o,ko){if(typeof So=="string"||typeof So=="number"){const Eo=parsePadding(So,ko),Io=parsePadding(So,$o);return{top:Eo,right:Io,bottom:Eo,left:Io,x:Io*2,y:Eo*2}}if(typeof So=="object"){const Eo=parsePadding(So.top??So.y??0,ko),Io=parsePadding(So.bottom??So.y??0,ko),$a=parsePadding(So.left??So.x??0,$o),ya=parsePadding(So.right??So.x??0,$o);return{top:Eo,right:ya,bottom:Io,left:$a,x:$a+ya,y:Eo+Io}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function calculateAppliedPaddings(So,$o,ko,Eo,Io,$a){const{x:ya,y:wa}=rendererPointToPoint(So,[$o,ko,Eo]),{x:ka,y:Sa}=rendererPointToPoint({x:So.x+So.width,y:So.y+So.height},[$o,ko,Eo]),Oa=Io-ka,Ca=$a-Sa;return{left:Math.floor(ya),top:Math.floor(wa),right:Math.floor(Oa),bottom:Math.floor(Ca)}}const getViewportForBounds=(So,$o,ko,Eo,Io,$a)=>{const ya=parsePaddings($a,$o,ko),wa=($o-ya.x)/So.width,ka=(ko-ya.y)/So.height,Sa=Math.min(wa,ka),Oa=clamp(Sa,Eo,Io),Ca=So.x+So.width/2,Ea=So.y+So.height/2,Ta=$o/2-Ca*Oa,Aa=ko/2-Ea*Oa,Ia=calculateAppliedPaddings(So,Ta,Aa,Oa,$o,ko),Pa={left:Math.min(Ia.left-ya.left,0),top:Math.min(Ia.top-ya.top,0),right:Math.min(Ia.right-ya.right,0),bottom:Math.min(Ia.bottom-ya.bottom,0)};return{x:Ta-Pa.left+Pa.right,y:Aa-Pa.top+Pa.bottom,zoom:Oa}},isMacOs=()=>{var So;return typeof navigator<"u"&&((So=navigator==null?void 0:navigator.userAgent)==null?void 0:So.indexOf("Mac"))>=0};function isCoordinateExtent(So){return So!==void 0&&So!=="parent"}function getNodeDimensions(So){var $o,ko;return{width:(($o=So.measured)==null?void 0:$o.width)??So.width??So.initialWidth??0,height:((ko=So.measured)==null?void 0:ko.height)??So.height??So.initialHeight??0}}function nodeHasDimensions(So){var $o,ko;return((($o=So.measured)==null?void 0:$o.width)??So.width??So.initialWidth)!==void 0&&(((ko=So.measured)==null?void 0:ko.height)??So.height??So.initialHeight)!==void 0}function evaluateAbsolutePosition(So,$o={width:0,height:0},ko,Eo,Io){const $a={...So},ya=Eo.get(ko);if(ya){const wa=ya.origin||Io;$a.x+=ya.internals.positionAbsolute.x-($o.width??0)*wa[0],$a.y+=ya.internals.positionAbsolute.y-($o.height??0)*wa[1]}return $a}function withResolvers(){let So,$o;return{promise:new Promise((Eo,Io)=>{So=Eo,$o=Io}),resolve:So,reject:$o}}function getPointerPosition(So,{snapGrid:$o=[0,0],snapToGrid:ko=!1,transform:Eo,containerBounds:Io}){const{x:$a,y:ya}=getEventPosition(So),wa=pointToRendererPoint({x:$a-((Io==null?void 0:Io.left)??0),y:ya-((Io==null?void 0:Io.top)??0)},Eo),{x:ka,y:Sa}=ko?snapPosition(wa,$o):wa;return{xSnapped:ka,ySnapped:Sa,...wa}}const getDimensions=So=>({width:So.offsetWidth,height:So.offsetHeight}),getHostForElement=So=>{var $o;return(($o=So==null?void 0:So.getRootNode)==null?void 0:$o.call(So))||(window==null?void 0:window.document)},inputTags=["INPUT","SELECT","TEXTAREA"];function isInputDOMNode(So){var Eo,Io;const $o=((Io=(Eo=So.composedPath)==null?void 0:Eo.call(So))==null?void 0:Io[0])||So.target;return($o==null?void 0:$o.nodeType)!==1?!1:inputTags.includes($o.nodeName)||$o.hasAttribute("contenteditable")||!!$o.closest(".nokey")}const isMouseEvent=So=>"clientX"in So,getEventPosition=(So,$o)=>{var $a,ya;const ko=isMouseEvent(So),Eo=ko?So.clientX:($a=So.touches)==null?void 0:$a[0].clientX,Io=ko?So.clientY:(ya=So.touches)==null?void 0:ya[0].clientY;return{x:Eo-(($o==null?void 0:$o.left)??0),y:Io-(($o==null?void 0:$o.top)??0)}},getHandleBounds=(So,$o,ko,Eo,Io)=>{const $a=$o.querySelectorAll(`.${So}`);return!$a||!$a.length?null:Array.from($a).map(ya=>{const wa=ya.getBoundingClientRect();return{id:ya.getAttribute("data-handleid"),type:So,nodeId:Io,position:ya.getAttribute("data-handlepos"),x:(wa.left-ko.left)/Eo,y:(wa.top-ko.top)/Eo,...getDimensions(ya)}})};function getBezierEdgeCenter({sourceX:So,sourceY:$o,targetX:ko,targetY:Eo,sourceControlX:Io,sourceControlY:$a,targetControlX:ya,targetControlY:wa}){const ka=So*.125+Io*.375+ya*.375+ko*.125,Sa=$o*.125+$a*.375+wa*.375+Eo*.125,Oa=Math.abs(ka-So),Ca=Math.abs(Sa-$o);return[ka,Sa,Oa,Ca]}function calculateControlOffset(So,$o){return So>=0?.5*So:$o*25*Math.sqrt(-So)}function getControlWithCurvature({pos:So,x1:$o,y1:ko,x2:Eo,y2:Io,c:$a}){switch(So){case Position.Left:return[$o-calculateControlOffset($o-Eo,$a),ko];case Position.Right:return[$o+calculateControlOffset(Eo-$o,$a),ko];case Position.Top:return[$o,ko-calculateControlOffset(ko-Io,$a)];case Position.Bottom:return[$o,ko+calculateControlOffset(Io-ko,$a)]}}function getBezierPath({sourceX:So,sourceY:$o,sourcePosition:ko=Position.Bottom,targetX:Eo,targetY:Io,targetPosition:$a=Position.Top,curvature:ya=.25}){const[wa,ka]=getControlWithCurvature({pos:ko,x1:So,y1:$o,x2:Eo,y2:Io,c:ya}),[Sa,Oa]=getControlWithCurvature({pos:$a,x1:Eo,y1:Io,x2:So,y2:$o,c:ya}),[Ca,Ea,Ta,Aa]=getBezierEdgeCenter({sourceX:So,sourceY:$o,targetX:Eo,targetY:Io,sourceControlX:wa,sourceControlY:ka,targetControlX:Sa,targetControlY:Oa});return[`M${So},${$o} C${wa},${ka} ${Sa},${Oa} ${Eo},${Io}`,Ca,Ea,Ta,Aa]}function getEdgeCenter({sourceX:So,sourceY:$o,targetX:ko,targetY:Eo}){const Io=Math.abs(ko-So)/2,$a=ko<So?ko+Io:ko-Io,ya=Math.abs(Eo-$o)/2,wa=Eo<$o?Eo+ya:Eo-ya;return[$a,wa,Io,ya]}function getElevatedEdgeZIndex({sourceNode:So,targetNode:$o,selected:ko=!1,zIndex:Eo=0,elevateOnSelect:Io=!1}){if(!Io)return Eo;const $a=ko||$o.selected||So.selected,ya=Math.max(So.internals.z||0,$o.internals.z||0,1e3);return Eo+($a?ya:0)}function isEdgeVisible({sourceNode:So,targetNode:$o,width:ko,height:Eo,transform:Io}){const $a=getBoundsOfBoxes(nodeToBox(So),nodeToBox($o));$a.x===$a.x2&&($a.x2+=1),$a.y===$a.y2&&($a.y2+=1);const ya={x:-Io[0]/Io[2],y:-Io[1]/Io[2],width:ko/Io[2],height:Eo/Io[2]};return getOverlappingArea(ya,boxToRect($a))>0}const getEdgeId=({source:So,sourceHandle:$o,target:ko,targetHandle:Eo})=>`xy-edge__${So}${$o||""}-${ko}${Eo||""}`,connectionExists=(So,$o)=>$o.some(ko=>ko.source===So.source&&ko.target===So.target&&(ko.sourceHandle===So.sourceHandle||!ko.sourceHandle&&!So.sourceHandle)&&(ko.targetHandle===So.targetHandle||!ko.targetHandle&&!So.targetHandle)),addEdge=(So,$o)=>{if(!So.source||!So.target)return $o;let ko;return isEdgeBase(So)?ko={...So}:ko={...So,id:getEdgeId(So)},connectionExists(ko,$o)?$o:(ko.sourceHandle===null&&delete ko.sourceHandle,ko.targetHandle===null&&delete ko.targetHandle,$o.concat(ko))};function getStraightPath({sourceX:So,sourceY:$o,targetX:ko,targetY:Eo}){const[Io,$a,ya,wa]=getEdgeCenter({sourceX:So,sourceY:$o,targetX:ko,targetY:Eo});return[`M ${So},${$o}L ${ko},${Eo}`,Io,$a,ya,wa]}const handleDirections={[Position.Left]:{x:-1,y:0},[Position.Right]:{x:1,y:0},[Position.Top]:{x:0,y:-1},[Position.Bottom]:{x:0,y:1}},getDirection=({source:So,sourcePosition:$o=Position.Bottom,target:ko})=>$o===Position.Left||$o===Position.Right?So.x<ko.x?{x:1,y:0}:{x:-1,y:0}:So.y<ko.y?{x:0,y:1}:{x:0,y:-1},distance=(So,$o)=>Math.sqrt(Math.pow($o.x-So.x,2)+Math.pow($o.y-So.y,2));function getPoints({source:So,sourcePosition:$o=Position.Bottom,target:ko,targetPosition:Eo=Position.Top,center:Io,offset:$a}){const ya=handleDirections[$o],wa=handleDirections[Eo],ka={x:So.x+ya.x*$a,y:So.y+ya.y*$a},Sa={x:ko.x+wa.x*$a,y:ko.y+wa.y*$a},Oa=getDirection({source:ka,sourcePosition:$o,target:Sa}),Ca=Oa.x!==0?"x":"y",Ea=Oa[Ca];let Ta=[],Aa,Ia;const Pa={x:0,y:0},Ra={x:0,y:0},[Da,La,Na,Ba]=getEdgeCenter({sourceX:So.x,sourceY:So.y,targetX:ko.x,targetY:ko.y});if(ya[Ca]*wa[Ca]===-1){Aa=Io.x??Da,Ia=Io.y??La;const za=[{x:Aa,y:ka.y},{x:Aa,y:Sa.y}],Ua=[{x:ka.x,y:Ia},{x:Sa.x,y:Ia}];ya[Ca]===Ea?Ta=Ca==="x"?za:Ua:Ta=Ca==="x"?Ua:za}else{const za=[{x:ka.x,y:Sa.y}],Ua=[{x:Sa.x,y:ka.y}];if(Ca==="x"?Ta=ya.x===Ea?Ua:za:Ta=ya.y===Ea?za:Ua,$o===Eo){const Xa=Math.abs(So[Ca]-ko[Ca]);if(Xa<=$a){const Za=Math.min($a-1,$a-Xa);ya[Ca]===Ea?Pa[Ca]=(ka[Ca]>So[Ca]?-1:1)*Za:Ra[Ca]=(Sa[Ca]>ko[Ca]?-1:1)*Za}}if($o!==Eo){const Xa=Ca==="x"?"y":"x",Za=ya[Ca]===wa[Xa],Ga=ka[Xa]>Sa[Xa],Ka=ka[Xa]<Sa[Xa];(ya[Ca]===1&&(!Za&&Ga||Za&&Ka)||ya[Ca]!==1&&(!Za&&Ka||Za&&Ga))&&(Ta=Ca==="x"?za:Ua)}const Ha={x:ka.x+Pa.x,y:ka.y+Pa.y},Wa={x:Sa.x+Ra.x,y:Sa.y+Ra.y},ja=Math.max(Math.abs(Ha.x-Ta[0].x),Math.abs(Wa.x-Ta[0].x)),Ya=Math.max(Math.abs(Ha.y-Ta[0].y),Math.abs(Wa.y-Ta[0].y));ja>=Ya?(Aa=(Ha.x+Wa.x)/2,Ia=Ta[0].y):(Aa=Ta[0].x,Ia=(Ha.y+Wa.y)/2)}return[[So,{x:ka.x+Pa.x,y:ka.y+Pa.y},...Ta,{x:Sa.x+Ra.x,y:Sa.y+Ra.y},ko],Aa,Ia,Na,Ba]}function getBend(So,$o,ko,Eo){const Io=Math.min(distance(So,$o)/2,distance($o,ko)/2,Eo),{x:$a,y:ya}=$o;if(So.x===$a&&$a===ko.x||So.y===ya&&ya===ko.y)return`L${$a} ${ya}`;if(So.y===ya){const Sa=So.x<ko.x?-1:1,Oa=So.y<ko.y?1:-1;return`L ${$a+Io*Sa},${ya}Q ${$a},${ya} ${$a},${ya+Io*Oa}`}const wa=So.x<ko.x?1:-1,ka=So.y<ko.y?-1:1;return`L ${$a},${ya+Io*ka}Q ${$a},${ya} ${$a+Io*wa},${ya}`}function getSmoothStepPath({sourceX:So,sourceY:$o,sourcePosition:ko=Position.Bottom,targetX:Eo,targetY:Io,targetPosition:$a=Position.Top,borderRadius:ya=5,centerX:wa,centerY:ka,offset:Sa=20}){const[Oa,Ca,Ea,Ta,Aa]=getPoints({source:{x:So,y:$o},sourcePosition:ko,target:{x:Eo,y:Io},targetPosition:$a,center:{x:wa,y:ka},offset:Sa});return[Oa.reduce((Pa,Ra,Da)=>{let La="";return Da>0&&Da<Oa.length-1?La=getBend(Oa[Da-1],Ra,Oa[Da+1],ya):La=`${Da===0?"M":"L"}${Ra.x} ${Ra.y}`,Pa+=La,Pa},""),Ca,Ea,Ta,Aa]}function isNodeInitialized(So){var $o;return So&&!!(So.internals.handleBounds||($o=So.handles)!=null&&$o.length)&&!!(So.measured.width||So.width||So.initialWidth)}function getEdgePosition(So){var Ca;const{sourceNode:$o,targetNode:ko}=So;if(!isNodeInitialized($o)||!isNodeInitialized(ko))return null;const Eo=$o.internals.handleBounds||toHandleBounds($o.handles),Io=ko.internals.handleBounds||toHandleBounds(ko.handles),$a=getHandle$1((Eo==null?void 0:Eo.source)??[],So.sourceHandle),ya=getHandle$1(So.connectionMode===ConnectionMode.Strict?(Io==null?void 0:Io.target)??[]:((Io==null?void 0:Io.target)??[]).concat((Io==null?void 0:Io.source)??[]),So.targetHandle);if(!$a||!ya)return(Ca=So.onError)==null||Ca.call(So,"008",errorMessages.error008($a?"target":"source",{id:So.id,sourceHandle:So.sourceHandle,targetHandle:So.targetHandle})),null;const wa=($a==null?void 0:$a.position)||Position.Bottom,ka=(ya==null?void 0:ya.position)||Position.Top,Sa=getHandlePosition($o,$a,wa),Oa=getHandlePosition(ko,ya,ka);return{sourceX:Sa.x,sourceY:Sa.y,targetX:Oa.x,targetY:Oa.y,sourcePosition:wa,targetPosition:ka}}function toHandleBounds(So){if(!So)return null;const $o=[],ko=[];for(const Eo of So)Eo.width=Eo.width??1,Eo.height=Eo.height??1,Eo.type==="source"?$o.push(Eo):Eo.type==="target"&&ko.push(Eo);return{source:$o,target:ko}}function getHandlePosition(So,$o,ko=Position.Left,Eo=!1){const Io=(($o==null?void 0:$o.x)??0)+So.internals.positionAbsolute.x,$a=(($o==null?void 0:$o.y)??0)+So.internals.positionAbsolute.y,{width:ya,height:wa}=$o??getNodeDimensions(So);if(Eo)return{x:Io+ya/2,y:$a+wa/2};switch(($o==null?void 0:$o.position)??ko){case Position.Top:return{x:Io+ya/2,y:$a};case Position.Right:return{x:Io+ya,y:$a+wa/2};case Position.Bottom:return{x:Io+ya/2,y:$a+wa};case Position.Left:return{x:Io,y:$a+wa/2}}}function getHandle$1(So,$o){return So&&($o?So.find(ko=>ko.id===$o):So[0])||null}function getMarkerId(So,$o){return So?typeof So=="string"?So:`${$o?`${$o}__`:""}${Object.keys(So).sort().map(Eo=>`${Eo}=${So[Eo]}`).join("&")}`:""}function createMarkerIds(So,{id:$o,defaultColor:ko,defaultMarkerStart:Eo,defaultMarkerEnd:Io}){const $a=new Set;return So.reduce((ya,wa)=>([wa.markerStart||Eo,wa.markerEnd||Io].forEach(ka=>{if(ka&&typeof ka=="object"){const Sa=getMarkerId(ka,$o);$a.has(Sa)||(ya.push({id:Sa,color:ka.color||ko,...ka}),$a.add(Sa))}}),ya),[]).sort((ya,wa)=>ya.id.localeCompare(wa.id))}const defaultOptions={nodeOrigin:[0,0],nodeExtent:infiniteExtent,elevateNodesOnSelect:!0,defaults:{}},adoptUserNodesDefaultOptions={...defaultOptions,checkEquality:!0};function mergeObjects(So,$o){const ko={...So};for(const Eo in $o)$o[Eo]!==void 0&&(ko[Eo]=$o[Eo]);return ko}function updateAbsolutePositions(So,$o,ko){const Eo=mergeObjects(defaultOptions,ko);for(const Io of So.values())if(Io.parentId)updateChildNode(Io,So,$o,Eo);else{const $a=getNodePositionWithOrigin(Io,Eo.nodeOrigin),ya=isCoordinateExtent(Io.extent)?Io.extent:Eo.nodeExtent,wa=clampPosition($a,ya,getNodeDimensions(Io));Io.internals.positionAbsolute=wa}}function adoptUserNodes(So,$o,ko,Eo){var ka,Sa;const Io=mergeObjects(adoptUserNodesDefaultOptions,Eo);let $a=So.length>0;const ya=new Map($o),wa=Io!=null&&Io.elevateNodesOnSelect?1e3:0;$o.clear(),ko.clear();for(const Oa of So){let Ca=ya.get(Oa.id);if(Io.checkEquality&&Oa===(Ca==null?void 0:Ca.internals.userNode))$o.set(Oa.id,Ca);else{const Ea=getNodePositionWithOrigin(Oa,Io.nodeOrigin),Ta=isCoordinateExtent(Oa.extent)?Oa.extent:Io.nodeExtent,Aa=clampPosition(Ea,Ta,getNodeDimensions(Oa));Ca={...Io.defaults,...Oa,measured:{width:(ka=Oa.measured)==null?void 0:ka.width,height:(Sa=Oa.measured)==null?void 0:Sa.height},internals:{positionAbsolute:Aa,handleBounds:Oa.measured?Ca==null?void 0:Ca.internals.handleBounds:void 0,z:calculateZ(Oa,wa),userNode:Oa}},$o.set(Oa.id,Ca)}(Ca.measured===void 0||Ca.measured.width===void 0||Ca.measured.height===void 0)&&!Ca.hidden&&($a=!1),Oa.parentId&&updateChildNode(Ca,$o,ko,Eo)}return $a}function updateParentLookup(So,$o){if(!So.parentId)return;const ko=$o.get(So.parentId);ko?ko.set(So.id,So):$o.set(So.parentId,new Map([[So.id,So]]))}function updateChildNode(So,$o,ko,Eo){const{elevateNodesOnSelect:Io,nodeOrigin:$a,nodeExtent:ya}=mergeObjects(defaultOptions,Eo),wa=So.parentId,ka=$o.get(wa);if(!ka){console.warn(`Parent node ${wa} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}updateParentLookup(So,ko);const Sa=Io?1e3:0,{x:Oa,y:Ca,z:Ea}=calculateChildXYZ(So,ka,$a,ya,Sa),{positionAbsolute:Ta}=So.internals,Aa=Oa!==Ta.x||Ca!==Ta.y;(Aa||Ea!==So.internals.z)&&$o.set(So.id,{...So,internals:{...So.internals,positionAbsolute:Aa?{x:Oa,y:Ca}:Ta,z:Ea}})}function calculateZ(So,$o){return(isNumeric(So.zIndex)?So.zIndex:0)+(So.selected?$o:0)}function calculateChildXYZ(So,$o,ko,Eo,Io){const{x:$a,y:ya}=$o.internals.positionAbsolute,wa=getNodeDimensions(So),ka=getNodePositionWithOrigin(So,ko),Sa=isCoordinateExtent(So.extent)?clampPosition(ka,So.extent,wa):ka;let Oa=clampPosition({x:$a+Sa.x,y:ya+Sa.y},Eo,wa);So.extent==="parent"&&(Oa=clampPositionToParent(Oa,wa,$o));const Ca=calculateZ(So,Io),Ea=$o.internals.z??0;return{x:Oa.x,y:Oa.y,z:Ea>Ca?Ea:Ca}}function handleExpandParent(So,$o,ko,Eo=[0,0]){var ya;const Io=[],$a=new Map;for(const wa of So){const ka=$o.get(wa.parentId);if(!ka)continue;const Sa=((ya=$a.get(wa.parentId))==null?void 0:ya.expandedRect)??nodeToRect(ka),Oa=getBoundsOfRects(Sa,wa.rect);$a.set(wa.parentId,{expandedRect:Oa,parent:ka})}return $a.size>0&&$a.forEach(({expandedRect:wa,parent:ka},Sa)=>{var La;const Oa=ka.internals.positionAbsolute,Ca=getNodeDimensions(ka),Ea=ka.origin??Eo,Ta=wa.x<Oa.x?Math.round(Math.abs(Oa.x-wa.x)):0,Aa=wa.y<Oa.y?Math.round(Math.abs(Oa.y-wa.y)):0,Ia=Math.max(Ca.width,Math.round(wa.width)),Pa=Math.max(Ca.height,Math.round(wa.height)),Ra=(Ia-Ca.width)*Ea[0],Da=(Pa-Ca.height)*Ea[1];(Ta>0||Aa>0||Ra||Da)&&(Io.push({id:Sa,type:"position",position:{x:ka.position.x-Ta+Ra,y:ka.position.y-Aa+Da}}),(La=ko.get(Sa))==null||La.forEach(Na=>{So.some(Ba=>Ba.id===Na.id)||Io.push({id:Na.id,type:"position",position:{x:Na.position.x+Ta,y:Na.position.y+Aa}})})),(Ca.width<wa.width||Ca.height<wa.height||Ta||Aa)&&Io.push({id:Sa,type:"dimensions",setAttributes:!0,dimensions:{width:Ia+(Ta?Ea[0]*Ta-Ra:0),height:Pa+(Aa?Ea[1]*Aa-Da:0)}})}),Io}function updateNodeInternals(So,$o,ko,Eo,Io,$a){const ya=Eo==null?void 0:Eo.querySelector(".xyflow__viewport");let wa=!1;if(!ya)return{changes:[],updatedInternals:wa};const ka=[],Sa=window.getComputedStyle(ya),{m22:Oa}=new window.DOMMatrixReadOnly(Sa.transform),Ca=[];for(const Ea of So.values()){const Ta=$o.get(Ea.id);if(!Ta)continue;if(Ta.hidden){$o.set(Ta.id,{...Ta,internals:{...Ta.internals,handleBounds:void 0}}),wa=!0;continue}const Aa=getDimensions(Ea.nodeElement),Ia=Ta.measured.width!==Aa.width||Ta.measured.height!==Aa.height;if(!!(Aa.width&&Aa.height&&(Ia||!Ta.internals.handleBounds||Ea.force))){const Ra=Ea.nodeElement.getBoundingClientRect(),Da=isCoordinateExtent(Ta.extent)?Ta.extent:$a;let{positionAbsolute:La}=Ta.internals;Ta.parentId&&Ta.extent==="parent"?La=clampPositionToParent(La,Aa,$o.get(Ta.parentId)):Da&&(La=clampPosition(La,Da,Aa));const Na={...Ta,measured:Aa,internals:{...Ta.internals,positionAbsolute:La,handleBounds:{source:getHandleBounds("source",Ea.nodeElement,Ra,Oa,Ta.id),target:getHandleBounds("target",Ea.nodeElement,Ra,Oa,Ta.id)}}};$o.set(Ta.id,Na),Ta.parentId&&updateChildNode(Na,$o,ko,{nodeOrigin:Io}),wa=!0,Ia&&(ka.push({id:Ta.id,type:"dimensions",dimensions:Aa}),Ta.expandParent&&Ta.parentId&&Ca.push({id:Ta.id,parentId:Ta.parentId,rect:nodeToRect(Na,Io)}))}}if(Ca.length>0){const Ea=handleExpandParent(Ca,$o,ko,Io);ka.push(...Ea)}return{changes:ka,updatedInternals:wa}}async function panBy({delta:So,panZoom:$o,transform:ko,translateExtent:Eo,width:Io,height:$a}){if(!$o||!So.x&&!So.y)return Promise.resolve(!1);const ya=await $o.setViewportConstrained({x:ko[0]+So.x,y:ko[1]+So.y,zoom:ko[2]},[[0,0],[Io,$a]],Eo),wa=!!ya&&(ya.x!==ko[0]||ya.y!==ko[1]||ya.k!==ko[2]);return Promise.resolve(wa)}function addConnectionToLookup(So,$o,ko,Eo,Io,$a){let ya=Io;const wa=Eo.get(ya)||new Map;Eo.set(ya,wa.set(ko,$o)),ya=`${Io}-${So}`;const ka=Eo.get(ya)||new Map;if(Eo.set(ya,ka.set(ko,$o)),$a){ya=`${Io}-${So}-${$a}`;const Sa=Eo.get(ya)||new Map;Eo.set(ya,Sa.set(ko,$o))}}function updateConnectionLookup(So,$o,ko){So.clear(),$o.clear();for(const Eo of ko){const{source:Io,target:$a,sourceHandle:ya=null,targetHandle:wa=null}=Eo,ka={edgeId:Eo.id,source:Io,target:$a,sourceHandle:ya,targetHandle:wa},Sa=`${Io}-${ya}--${$a}-${wa}`,Oa=`${$a}-${wa}--${Io}-${ya}`;addConnectionToLookup("source",ka,Oa,So,Io,ya),addConnectionToLookup("target",ka,Sa,So,$a,wa),$o.set(Eo.id,Eo)}}function isParentSelected(So,$o){if(!So.parentId)return!1;const ko=$o.get(So.parentId);return ko?ko.selected?!0:isParentSelected(ko,$o):!1}function hasSelector(So,$o,ko){var Io;let Eo=So;do{if((Io=Eo==null?void 0:Eo.matches)!=null&&Io.call(Eo,$o))return!0;if(Eo===ko)return!1;Eo=Eo==null?void 0:Eo.parentElement}while(Eo);return!1}function getDragItems(So,$o,ko,Eo){const Io=new Map;for(const[$a,ya]of So)if((ya.selected||ya.id===Eo)&&(!ya.parentId||!isParentSelected(ya,So))&&(ya.draggable||$o&&typeof ya.draggable>"u")){const wa=So.get($a);wa&&Io.set($a,{id:$a,position:wa.position||{x:0,y:0},distance:{x:ko.x-wa.internals.positionAbsolute.x,y:ko.y-wa.internals.positionAbsolute.y},extent:wa.extent,parentId:wa.parentId,origin:wa.origin,expandParent:wa.expandParent,internals:{positionAbsolute:wa.internals.positionAbsolute||{x:0,y:0}},measured:{width:wa.measured.width??0,height:wa.measured.height??0}})}return Io}function getEventHandlerParams({nodeId:So,dragItems:$o,nodeLookup:ko,dragging:Eo=!0}){var ya,wa,ka;const Io=[];for(const[Sa,Oa]of $o){const Ca=(ya=ko.get(Sa))==null?void 0:ya.internals.userNode;Ca&&Io.push({...Ca,position:Oa.position,dragging:Eo})}if(!So)return[Io[0],Io];const $a=(wa=ko.get(So))==null?void 0:wa.internals.userNode;return[$a?{...$a,position:((ka=$o.get(So))==null?void 0:ka.position)||$a.position,dragging:Eo}:Io[0],Io]}function XYDrag({onNodeMouseDown:So,getStoreItems:$o,onDragStart:ko,onDrag:Eo,onDragStop:Io}){let $a={x:null,y:null},ya=0,wa=new Map,ka=!1,Sa={x:0,y:0},Oa=null,Ca=!1,Ea=null,Ta=!1;function Aa({noDragClassName:Pa,handleSelector:Ra,domNode:Da,isSelectable:La,nodeId:Na,nodeClickDistance:Ba=0}){Ea=select(Da);function Fa({x:Wa,y:ja},Ya){const{nodeLookup:Xa,nodeExtent:Za,snapGrid:Ga,snapToGrid:Ka,nodeOrigin:tl,onNodeDrag:nl,onSelectionDrag:rl,onError:il,updateNodePositions:sl}=$o();$a={x:Wa,y:ja};let ul=!1,al={x:0,y:0,x2:0,y2:0};if(wa.size>1&&Za){const dl=getInternalNodesBounds(wa);al=rectToBox(dl)}for(const[dl,gl]of wa){if(!Xa.has(dl))continue;let cl={x:Wa-gl.distance.x,y:ja-gl.distance.y};Ka&&(cl=snapPosition(cl,Ga));let fl=[[Za[0][0],Za[0][1]],[Za[1][0],Za[1][1]]];if(wa.size>1&&Za&&!gl.extent){const{positionAbsolute:vl}=gl.internals,$l=vl.x-al.x+Za[0][0],bl=vl.x+gl.measured.width-al.x2+Za[1][0],Cl=vl.y-al.y+Za[0][1],wl=vl.y+gl.measured.height-al.y2+Za[1][1];fl=[[$l,Cl],[bl,wl]]}const{position:pl,positionAbsolute:ml}=calculateNodePosition({nodeId:dl,nextPosition:cl,nodeLookup:Xa,nodeExtent:fl,nodeOrigin:tl,onError:il});ul=ul||gl.position.x!==pl.x||gl.position.y!==pl.y,gl.position=pl,gl.internals.positionAbsolute=ml}if(ul&&(sl(wa,!0),Ya&&(Eo||nl||!Na&&rl))){const[dl,gl]=getEventHandlerParams({nodeId:Na,dragItems:wa,nodeLookup:Xa});Eo==null||Eo(Ya,wa,dl,gl),nl==null||nl(Ya,dl,gl),Na||rl==null||rl(Ya,gl)}}async function za(){if(!Oa)return;const{transform:Wa,panBy:ja,autoPanSpeed:Ya,autoPanOnNodeDrag:Xa}=$o();if(!Xa){ka=!1,cancelAnimationFrame(ya);return}const[Za,Ga]=calcAutoPan(Sa,Oa,Ya);(Za!==0||Ga!==0)&&($a.x=($a.x??0)-Za/Wa[2],$a.y=($a.y??0)-Ga/Wa[2],await ja({x:Za,y:Ga})&&Fa($a,null)),ya=requestAnimationFrame(za)}function Ua(Wa){var ul;const{nodeLookup:ja,multiSelectionActive:Ya,nodesDraggable:Xa,transform:Za,snapGrid:Ga,snapToGrid:Ka,selectNodesOnDrag:tl,onNodeDragStart:nl,onSelectionDragStart:rl,unselectNodesAndEdges:il}=$o();Ca=!0,(!tl||!La)&&!Ya&&Na&&((ul=ja.get(Na))!=null&&ul.selected||il()),La&&tl&&Na&&(So==null||So(Na));const sl=getPointerPosition(Wa.sourceEvent,{transform:Za,snapGrid:Ga,snapToGrid:Ka,containerBounds:Oa});if($a=sl,wa=getDragItems(ja,Xa,sl,Na),wa.size>0&&(ko||nl||!Na&&rl)){const[al,dl]=getEventHandlerParams({nodeId:Na,dragItems:wa,nodeLookup:ja});ko==null||ko(Wa.sourceEvent,wa,al,dl),nl==null||nl(Wa.sourceEvent,al,dl),Na||rl==null||rl(Wa.sourceEvent,dl)}}const Ha=drag$1().clickDistance(Ba).on("start",Wa=>{const{domNode:ja,nodeDragThreshold:Ya,transform:Xa,snapGrid:Za,snapToGrid:Ga}=$o();Oa=(ja==null?void 0:ja.getBoundingClientRect())||null,Ta=!1,Ya===0&&Ua(Wa),$a=getPointerPosition(Wa.sourceEvent,{transform:Xa,snapGrid:Za,snapToGrid:Ga,containerBounds:Oa}),Sa=getEventPosition(Wa.sourceEvent,Oa)}).on("drag",Wa=>{const{autoPanOnNodeDrag:ja,transform:Ya,snapGrid:Xa,snapToGrid:Za,nodeDragThreshold:Ga,nodeLookup:Ka}=$o(),tl=getPointerPosition(Wa.sourceEvent,{transform:Ya,snapGrid:Xa,snapToGrid:Za,containerBounds:Oa});if((Wa.sourceEvent.type==="touchmove"&&Wa.sourceEvent.touches.length>1||Na&&!Ka.has(Na))&&(Ta=!0),!Ta){if(!ka&&ja&&Ca&&(ka=!0,za()),!Ca){const nl=tl.xSnapped-($a.x??0),rl=tl.ySnapped-($a.y??0);Math.sqrt(nl*nl+rl*rl)>Ga&&Ua(Wa)}($a.x!==tl.xSnapped||$a.y!==tl.ySnapped)&&wa&&Ca&&(Sa=getEventPosition(Wa.sourceEvent,Oa),Fa(tl,Wa.sourceEvent))}}).on("end",Wa=>{if(!(!Ca||Ta)&&(ka=!1,Ca=!1,cancelAnimationFrame(ya),wa.size>0)){const{nodeLookup:ja,updateNodePositions:Ya,onNodeDragStop:Xa,onSelectionDragStop:Za}=$o();if(Ya(wa,!1),Io||Xa||!Na&&Za){const[Ga,Ka]=getEventHandlerParams({nodeId:Na,dragItems:wa,nodeLookup:ja,dragging:!1});Io==null||Io(Wa.sourceEvent,wa,Ga,Ka),Xa==null||Xa(Wa.sourceEvent,Ga,Ka),Na||Za==null||Za(Wa.sourceEvent,Ka)}}}).filter(Wa=>{const ja=Wa.target;return!Wa.button&&(!Pa||!hasSelector(ja,`.${Pa}`,Da))&&(!Ra||hasSelector(ja,Ra,Da))});Ea.call(Ha)}function Ia(){Ea==null||Ea.on(".drag",null)}return{update:Aa,destroy:Ia}}function getNodesWithinDistance(So,$o,ko){const Eo=[],Io={x:So.x-ko,y:So.y-ko,width:ko*2,height:ko*2};for(const $a of $o.values())getOverlappingArea(Io,nodeToRect($a))>0&&Eo.push($a);return Eo}const ADDITIONAL_DISTANCE=250;function getClosestHandle(So,$o,ko,Eo){var wa,ka;let Io=[],$a=1/0;const ya=getNodesWithinDistance(So,ko,$o+ADDITIONAL_DISTANCE);for(const Sa of ya){const Oa=[...((wa=Sa.internals.handleBounds)==null?void 0:wa.source)??[],...((ka=Sa.internals.handleBounds)==null?void 0:ka.target)??[]];for(const Ca of Oa){if(Eo.nodeId===Ca.nodeId&&Eo.type===Ca.type&&Eo.id===Ca.id)continue;const{x:Ea,y:Ta}=getHandlePosition(Sa,Ca,Ca.position,!0),Aa=Math.sqrt(Math.pow(Ea-So.x,2)+Math.pow(Ta-So.y,2));Aa>$o||(Aa<$a?(Io=[{...Ca,x:Ea,y:Ta}],$a=Aa):Aa===$a&&Io.push({...Ca,x:Ea,y:Ta}))}}if(!Io.length)return null;if(Io.length>1){const Sa=Eo.type==="source"?"target":"source";return Io.find(Oa=>Oa.type===Sa)??Io[0]}return Io[0]}function getHandle(So,$o,ko,Eo,Io,$a=!1){var Sa,Oa,Ca;const ya=Eo.get(So);if(!ya)return null;const wa=Io==="strict"?(Sa=ya.internals.handleBounds)==null?void 0:Sa[$o]:[...((Oa=ya.internals.handleBounds)==null?void 0:Oa.source)??[],...((Ca=ya.internals.handleBounds)==null?void 0:Ca.target)??[]],ka=(ko?wa==null?void 0:wa.find(Ea=>Ea.id===ko):wa==null?void 0:wa[0])??null;return ka&&$a?{...ka,...getHandlePosition(ya,ka,ka.position,!0)}:ka}function getHandleType(So,$o){return So||($o!=null&&$o.classList.contains("target")?"target":$o!=null&&$o.classList.contains("source")?"source":null)}function isConnectionValid(So,$o){let ko=null;return $o?ko=!0:So&&!$o&&(ko=!1),ko}const alwaysValid=()=>!0;function onPointerDown(So,{connectionMode:$o,connectionRadius:ko,handleId:Eo,nodeId:Io,edgeUpdaterType:$a,isTarget:ya,domNode:wa,nodeLookup:ka,lib:Sa,autoPanOnConnect:Oa,flowId:Ca,panBy:Ea,cancelConnection:Ta,onConnectStart:Aa,onConnect:Ia,onConnectEnd:Pa,isValidConnection:Ra=alwaysValid,onReconnectEnd:Da,updateConnection:La,getTransform:Na,getFromHandle:Ba,autoPanSpeed:Fa}){const za=getHostForElement(So.target);let Ua=0,Ha;const{x:Wa,y:ja}=getEventPosition(So),Ya=za==null?void 0:za.elementFromPoint(Wa,ja),Xa=getHandleType($a,Ya),Za=wa==null?void 0:wa.getBoundingClientRect();if(!Za||!Xa)return;const Ga=getHandle(Io,Xa,Eo,ka,$o);if(!Ga)return;let Ka=getEventPosition(So,Za),tl=!1,nl=null,rl=!1,il=null;function sl(){if(!Oa||!Za)return;const[ml,vl]=calcAutoPan(Ka,Za,Fa);Ea({x:ml,y:vl}),Ua=requestAnimationFrame(sl)}const ul={...Ga,nodeId:Io,type:Xa,position:Ga.position},al=ka.get(Io),gl={inProgress:!0,isValid:null,from:getHandlePosition(al,ul,Position.Left,!0),fromHandle:ul,fromPosition:ul.position,fromNode:al,to:Ka,toHandle:null,toPosition:oppositePosition[ul.position],toNode:null};La(gl);let cl=gl;Aa==null||Aa(So,{nodeId:Io,handleId:Eo,handleType:Xa});function fl(ml){if(!Ba()||!ul){pl(ml);return}const vl=Na();Ka=getEventPosition(ml,Za),Ha=getClosestHandle(pointToRendererPoint(Ka,vl,!1,[1,1]),ko,ka,ul),tl||(sl(),tl=!0);const $l=isValidHandle(ml,{handle:Ha,connectionMode:$o,fromNodeId:Io,fromHandleId:Eo,fromType:ya?"target":"source",isValidConnection:Ra,doc:za,lib:Sa,flowId:Ca,nodeLookup:ka});il=$l.handleDomNode,nl=$l.connection,rl=isConnectionValid(!!Ha,$l.isValid);const bl={...cl,isValid:rl,to:Ha&&rl?rendererPointToPoint({x:Ha.x,y:Ha.y},vl):Ka,toHandle:$l.toHandle,toPosition:rl&&$l.toHandle?$l.toHandle.position:oppositePosition[ul.position],toNode:$l.toHandle?ka.get($l.toHandle.nodeId):null};rl&&Ha&&cl.toHandle&&bl.toHandle&&cl.toHandle.type===bl.toHandle.type&&cl.toHandle.nodeId===bl.toHandle.nodeId&&cl.toHandle.id===bl.toHandle.id&&cl.to.x===bl.to.x&&cl.to.y===bl.to.y||(La(bl),cl=bl)}function pl(ml){(Ha||il)&&nl&&rl&&(Ia==null||Ia(nl));const{inProgress:vl,...$l}=cl,bl={...$l,toPosition:cl.toHandle?cl.toPosition:null};Pa==null||Pa(ml,bl),$a&&(Da==null||Da(ml,bl)),Ta(),cancelAnimationFrame(Ua),tl=!1,rl=!1,nl=null,il=null,za.removeEventListener("mousemove",fl),za.removeEventListener("mouseup",pl),za.removeEventListener("touchmove",fl),za.removeEventListener("touchend",pl)}za.addEventListener("mousemove",fl),za.addEventListener("mouseup",pl),za.addEventListener("touchmove",fl),za.addEventListener("touchend",pl)}function isValidHandle(So,{handle:$o,connectionMode:ko,fromNodeId:Eo,fromHandleId:Io,fromType:$a,doc:ya,lib:wa,flowId:ka,isValidConnection:Sa=alwaysValid,nodeLookup:Oa}){const Ca=$a==="target",Ea=$o?ya.querySelector(`.${wa}-flow__handle[data-id="${ka}-${$o==null?void 0:$o.nodeId}-${$o==null?void 0:$o.id}-${$o==null?void 0:$o.type}"]`):null,{x:Ta,y:Aa}=getEventPosition(So),Ia=ya.elementFromPoint(Ta,Aa),Pa=Ia!=null&&Ia.classList.contains(`${wa}-flow__handle`)?Ia:Ea,Ra={handleDomNode:Pa,isValid:!1,connection:null,toHandle:null};if(Pa){const Da=getHandleType(void 0,Pa),La=Pa.getAttribute("data-nodeid"),Na=Pa.getAttribute("data-handleid"),Ba=Pa.classList.contains("connectable"),Fa=Pa.classList.contains("connectableend");if(!La||!Da)return Ra;const za={source:Ca?La:Eo,sourceHandle:Ca?Na:Io,target:Ca?Eo:La,targetHandle:Ca?Io:Na};Ra.connection=za;const Ha=Ba&&Fa&&(ko===ConnectionMode.Strict?Ca&&Da==="source"||!Ca&&Da==="target":La!==Eo||Na!==Io);Ra.isValid=Ha&&Sa(za),Ra.toHandle=getHandle(La,Da,Na,Oa,ko,!1)}return Ra}const XYHandle={onPointerDown,isValid:isValidHandle};function XYMinimap({domNode:So,panZoom:$o,getTransform:ko,getViewScale:Eo}){const Io=select(So);function $a({translateExtent:wa,width:ka,height:Sa,zoomStep:Oa=10,pannable:Ca=!0,zoomable:Ea=!0,inversePan:Ta=!1}){const Aa=La=>{const Na=ko();if(La.sourceEvent.type!=="wheel"||!$o)return;const Ba=-La.sourceEvent.deltaY*(La.sourceEvent.deltaMode===1?.05:La.sourceEvent.deltaMode?1:.002)*Oa,Fa=Na[2]*Math.pow(2,Ba);$o.scaleTo(Fa)};let Ia=[0,0];const Pa=La=>{(La.sourceEvent.type==="mousedown"||La.sourceEvent.type==="touchstart")&&(Ia=[La.sourceEvent.clientX??La.sourceEvent.touches[0].clientX,La.sourceEvent.clientY??La.sourceEvent.touches[0].clientY])},Ra=La=>{const Na=ko();if(La.sourceEvent.type!=="mousemove"&&La.sourceEvent.type!=="touchmove"||!$o)return;const Ba=[La.sourceEvent.clientX??La.sourceEvent.touches[0].clientX,La.sourceEvent.clientY??La.sourceEvent.touches[0].clientY],Fa=[Ba[0]-Ia[0],Ba[1]-Ia[1]];Ia=Ba;const za=Eo()*Math.max(Na[2],Math.log(Na[2]))*(Ta?-1:1),Ua={x:Na[0]-Fa[0]*za,y:Na[1]-Fa[1]*za},Ha=[[0,0],[ka,Sa]];$o.setViewportConstrained({x:Ua.x,y:Ua.y,zoom:Na[2]},Ha,wa)},Da=zoom$1().on("start",Pa).on("zoom",Ca?Ra:null).on("zoom.wheel",Ea?Aa:null);Io.call(Da,{})}function ya(){Io.on("zoom",null)}return{update:$a,destroy:ya,pointer}}const viewChanged=(So,$o)=>So.x!==$o.x||So.y!==$o.y||So.zoom!==$o.k,transformToViewport=So=>({x:So.x,y:So.y,zoom:So.k}),viewportToTransform=({x:So,y:$o,zoom:ko})=>identity.translate(So,$o).scale(ko),isWrappedWithClass=(So,$o)=>So.target.closest(`.${$o}`),isRightClickPan=(So,$o)=>$o===2&&Array.isArray(So)&&So.includes(2),getD3Transition=(So,$o=0,ko=()=>{})=>{const Eo=typeof $o=="number"&&$o>0;return Eo||ko(),Eo?So.transition().duration($o).on("end",ko):So},wheelDelta=So=>{const $o=So.ctrlKey&&isMacOs()?10:1;return-So.deltaY*(So.deltaMode===1?.05:So.deltaMode?1:.002)*$o};function createPanOnScrollHandler({zoomPanValues:So,noWheelClassName:$o,d3Selection:ko,d3Zoom:Eo,panOnScrollMode:Io,panOnScrollSpeed:$a,zoomOnPinch:ya,onPanZoomStart:wa,onPanZoom:ka,onPanZoomEnd:Sa}){return Oa=>{if(isWrappedWithClass(Oa,$o))return!1;Oa.preventDefault(),Oa.stopImmediatePropagation();const Ca=ko.property("__zoom").k||1;if(Oa.ctrlKey&&ya){const Pa=pointer(Oa),Ra=wheelDelta(Oa),Da=Ca*Math.pow(2,Ra);Eo.scaleTo(ko,Da,Pa,Oa);return}const Ea=Oa.deltaMode===1?20:1;let Ta=Io===PanOnScrollMode.Vertical?0:Oa.deltaX*Ea,Aa=Io===PanOnScrollMode.Horizontal?0:Oa.deltaY*Ea;!isMacOs()&&Oa.shiftKey&&Io!==PanOnScrollMode.Vertical&&(Ta=Oa.deltaY*Ea,Aa=0),Eo.translateBy(ko,-(Ta/Ca)*$a,-(Aa/Ca)*$a,{internal:!0});const Ia=transformToViewport(ko.property("__zoom"));clearTimeout(So.panScrollTimeout),So.isPanScrolling||(So.isPanScrolling=!0,wa==null||wa(Oa,Ia)),So.isPanScrolling&&(ka==null||ka(Oa,Ia),So.panScrollTimeout=setTimeout(()=>{Sa==null||Sa(Oa,Ia),So.isPanScrolling=!1},150))}}function createZoomOnScrollHandler({noWheelClassName:So,preventScrolling:$o,d3ZoomHandler:ko}){return function(Eo,Io){const $a=Eo.type==="wheel",ya=!$o&&$a&&!Eo.ctrlKey,wa=isWrappedWithClass(Eo,So);if(Eo.ctrlKey&&$a&&wa&&Eo.preventDefault(),ya||wa)return null;Eo.preventDefault(),ko.call(this,Eo,Io)}}function createPanZoomStartHandler({zoomPanValues:So,onDraggingChange:$o,onPanZoomStart:ko}){return Eo=>{var $a,ya,wa;if(($a=Eo.sourceEvent)!=null&&$a.internal)return;const Io=transformToViewport(Eo.transform);So.mouseButton=((ya=Eo.sourceEvent)==null?void 0:ya.button)||0,So.isZoomingOrPanning=!0,So.prevViewport=Io,((wa=Eo.sourceEvent)==null?void 0:wa.type)==="mousedown"&&$o(!0),ko&&(ko==null||ko(Eo.sourceEvent,Io))}}function createPanZoomHandler({zoomPanValues:So,panOnDrag:$o,onPaneContextMenu:ko,onTransformChange:Eo,onPanZoom:Io}){return $a=>{var ya,wa;So.usedRightMouseButton=!!(ko&&isRightClickPan($o,So.mouseButton??0)),(ya=$a.sourceEvent)!=null&&ya.sync||Eo([$a.transform.x,$a.transform.y,$a.transform.k]),Io&&!((wa=$a.sourceEvent)!=null&&wa.internal)&&(Io==null||Io($a.sourceEvent,transformToViewport($a.transform)))}}function createPanZoomEndHandler({zoomPanValues:So,panOnDrag:$o,panOnScroll:ko,onDraggingChange:Eo,onPanZoomEnd:Io,onPaneContextMenu:$a}){return ya=>{var wa;if(!((wa=ya.sourceEvent)!=null&&wa.internal)&&(So.isZoomingOrPanning=!1,$a&&isRightClickPan($o,So.mouseButton??0)&&!So.usedRightMouseButton&&ya.sourceEvent&&$a(ya.sourceEvent),So.usedRightMouseButton=!1,Eo(!1),Io&&viewChanged(So.prevViewport,ya.transform))){const ka=transformToViewport(ya.transform);So.prevViewport=ka,clearTimeout(So.timerId),So.timerId=setTimeout(()=>{Io==null||Io(ya.sourceEvent,ka)},ko?150:0)}}}function createFilter({zoomActivationKeyPressed:So,zoomOnScroll:$o,zoomOnPinch:ko,panOnDrag:Eo,panOnScroll:Io,zoomOnDoubleClick:$a,userSelectionActive:ya,noWheelClassName:wa,noPanClassName:ka,lib:Sa}){return Oa=>{var Aa;const Ca=So||$o,Ea=ko&&Oa.ctrlKey;if(Oa.button===1&&Oa.type==="mousedown"&&(isWrappedWithClass(Oa,`${Sa}-flow__node`)||isWrappedWithClass(Oa,`${Sa}-flow__edge`)))return!0;if(!Eo&&!Ca&&!Io&&!$a&&!ko||ya||isWrappedWithClass(Oa,wa)&&Oa.type==="wheel"||isWrappedWithClass(Oa,ka)&&(Oa.type!=="wheel"||Io&&Oa.type==="wheel"&&!So)||!ko&&Oa.ctrlKey&&Oa.type==="wheel")return!1;if(!ko&&Oa.type==="touchstart"&&((Aa=Oa.touches)==null?void 0:Aa.length)>1)return Oa.preventDefault(),!1;if(!Ca&&!Io&&!Ea&&Oa.type==="wheel"||!Eo&&(Oa.type==="mousedown"||Oa.type==="touchstart")||Array.isArray(Eo)&&!Eo.includes(Oa.button)&&Oa.type==="mousedown")return!1;const Ta=Array.isArray(Eo)&&Eo.includes(Oa.button)||!Oa.button||Oa.button<=1;return(!Oa.ctrlKey||Oa.type==="wheel")&&Ta}}function XYPanZoom({domNode:So,minZoom:$o,maxZoom:ko,paneClickDistance:Eo,translateExtent:Io,viewport:$a,onPanZoom:ya,onPanZoomStart:wa,onPanZoomEnd:ka,onDraggingChange:Sa}){const Oa={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},Ca=So.getBoundingClientRect(),Ea=zoom$1().clickDistance(!isNumeric(Eo)||Eo<0?0:Eo).scaleExtent([$o,ko]).translateExtent(Io),Ta=select(So).call(Ea);La({x:$a.x,y:$a.y,zoom:clamp($a.zoom,$o,ko)},[[0,0],[Ca.width,Ca.height]],Io);const Aa=Ta.on("wheel.zoom"),Ia=Ta.on("dblclick.zoom");Ea.wheelDelta(wheelDelta);function Pa(Ya,Xa){return Ta?new Promise(Za=>{Ea==null||Ea.transform(getD3Transition(Ta,Xa==null?void 0:Xa.duration,()=>Za(!0)),Ya)}):Promise.resolve(!1)}function Ra({noWheelClassName:Ya,noPanClassName:Xa,onPaneContextMenu:Za,userSelectionActive:Ga,panOnScroll:Ka,panOnDrag:tl,panOnScrollMode:nl,panOnScrollSpeed:rl,preventScrolling:il,zoomOnPinch:sl,zoomOnScroll:ul,zoomOnDoubleClick:al,zoomActivationKeyPressed:dl,lib:gl,onTransformChange:cl}){Ga&&!Oa.isZoomingOrPanning&&Da();const pl=Ka&&!dl&&!Ga?createPanOnScrollHandler({zoomPanValues:Oa,noWheelClassName:Ya,d3Selection:Ta,d3Zoom:Ea,panOnScrollMode:nl,panOnScrollSpeed:rl,zoomOnPinch:sl,onPanZoomStart:wa,onPanZoom:ya,onPanZoomEnd:ka}):createZoomOnScrollHandler({noWheelClassName:Ya,preventScrolling:il,d3ZoomHandler:Aa});if(Ta.on("wheel.zoom",pl,{passive:!1}),!Ga){const vl=createPanZoomStartHandler({zoomPanValues:Oa,onDraggingChange:Sa,onPanZoomStart:wa});Ea.on("start",vl);const $l=createPanZoomHandler({zoomPanValues:Oa,panOnDrag:tl,onPaneContextMenu:!!Za,onPanZoom:ya,onTransformChange:cl});Ea.on("zoom",$l);const bl=createPanZoomEndHandler({zoomPanValues:Oa,panOnDrag:tl,panOnScroll:Ka,onPaneContextMenu:Za,onPanZoomEnd:ka,onDraggingChange:Sa});Ea.on("end",bl)}const ml=createFilter({zoomActivationKeyPressed:dl,panOnDrag:tl,zoomOnScroll:ul,panOnScroll:Ka,zoomOnDoubleClick:al,zoomOnPinch:sl,userSelectionActive:Ga,noPanClassName:Xa,noWheelClassName:Ya,lib:gl});Ea.filter(ml),al?Ta.on("dblclick.zoom",Ia):Ta.on("dblclick.zoom",null)}function Da(){Ea.on("zoom",null)}async function La(Ya,Xa,Za){const Ga=viewportToTransform(Ya),Ka=Ea==null?void 0:Ea.constrain()(Ga,Xa,Za);return Ka&&await Pa(Ka),new Promise(tl=>tl(Ka))}async function Na(Ya,Xa){const Za=viewportToTransform(Ya);return await Pa(Za,Xa),new Promise(Ga=>Ga(Za))}function Ba(Ya){if(Ta){const Xa=viewportToTransform(Ya),Za=Ta.property("__zoom");(Za.k!==Ya.zoom||Za.x!==Ya.x||Za.y!==Ya.y)&&(Ea==null||Ea.transform(Ta,Xa,null,{sync:!0}))}}function Fa(){const Ya=Ta?transform(Ta.node()):{x:0,y:0,k:1};return{x:Ya.x,y:Ya.y,zoom:Ya.k}}function za(Ya,Xa){return Ta?new Promise(Za=>{Ea==null||Ea.scaleTo(getD3Transition(Ta,Xa==null?void 0:Xa.duration,()=>Za(!0)),Ya)}):Promise.resolve(!1)}function Ua(Ya,Xa){return Ta?new Promise(Za=>{Ea==null||Ea.scaleBy(getD3Transition(Ta,Xa==null?void 0:Xa.duration,()=>Za(!0)),Ya)}):Promise.resolve(!1)}function Ha(Ya){Ea==null||Ea.scaleExtent(Ya)}function Wa(Ya){Ea==null||Ea.translateExtent(Ya)}function ja(Ya){const Xa=!isNumeric(Ya)||Ya<0?0:Ya;Ea==null||Ea.clickDistance(Xa)}return{update:Ra,destroy:Da,setViewport:Na,setViewportConstrained:La,getViewport:Fa,scaleTo:za,scaleBy:Ua,setScaleExtent:Ha,setTranslateExtent:Wa,syncViewport:Ba,setClickDistance:ja}}var ResizeControlVariant;(function(So){So.Line="line",So.Handle="handle"})(ResizeControlVariant||(ResizeControlVariant={}));function create_fragment$7u(So){let $o,ko,Eo,Io,$a,ya;const wa=So[45].default,ka=create_slot(wa,So,So[44],null);return{c(){$o=element("div"),ka&&ka.c(),attr($o,"data-handleid",So[6]),attr($o,"data-nodeid",So[14]),attr($o,"data-handlepos",So[2]),attr($o,"data-id",ko=So[13]+"-"+So[14]+"-"+(So[0]||null)+"-"+So[1]),attr($o,"class",Eo=cc(["svelte-flow__handle",`svelte-flow__handle-${So[2]}`,"nodrag","nopan",So[2],So[4]])),attr($o,"style",So[3]),attr($o,"role","button"),attr($o,"tabindex","-1"),toggle_class($o,"valid",So[7]),toggle_class($o,"connectingto",So[5]),toggle_class($o,"connectingfrom",So[9]),toggle_class($o,"source",!So[11]),toggle_class($o,"target",So[11]),toggle_class($o,"connectablestart",So[12]),toggle_class($o,"connectableend",So[12]),toggle_class($o,"connectable",So[12]),toggle_class($o,"connectionindicator",So[12]&&(!So[10]||So[8]))},m(Sa,Oa){insert$1(Sa,$o,Oa),ka&&ka.m($o,null),Io=!0,$a||(ya=[listen($o,"mousedown",So[32]),listen($o,"touchstart",So[32])],$a=!0)},p(Sa,Oa){ka&&ka.p&&(!Io||Oa[1]&8192)&&update_slot_base(ka,wa,Sa,Sa[44],Io?get_slot_changes(wa,Sa[44],Oa,null):get_all_dirty_from_scope(Sa[44]),null),(!Io||Oa[0]&64)&&attr($o,"data-handleid",Sa[6]),(!Io||Oa[0]&4)&&attr($o,"data-handlepos",Sa[2]),(!Io||Oa[0]&8195&&ko!==(ko=Sa[13]+"-"+Sa[14]+"-"+(Sa[0]||null)+"-"+Sa[1]))&&attr($o,"data-id",ko),(!Io||Oa[0]&20&&Eo!==(Eo=cc(["svelte-flow__handle",`svelte-flow__handle-${Sa[2]}`,"nodrag","nopan",Sa[2],Sa[4]])))&&attr($o,"class",Eo),(!Io||Oa[0]&8)&&attr($o,"style",Sa[3]),(!Io||Oa[0]&148)&&toggle_class($o,"valid",Sa[7]),(!Io||Oa[0]&52)&&toggle_class($o,"connectingto",Sa[5]),(!Io||Oa[0]&532)&&toggle_class($o,"connectingfrom",Sa[9]),(!Io||Oa[0]&2068)&&toggle_class($o,"source",!Sa[11]),(!Io||Oa[0]&2068)&&toggle_class($o,"target",Sa[11]),(!Io||Oa[0]&4116)&&toggle_class($o,"connectablestart",Sa[12]),(!Io||Oa[0]&4116)&&toggle_class($o,"connectableend",Sa[12]),(!Io||Oa[0]&4116)&&toggle_class($o,"connectable",Sa[12]),(!Io||Oa[0]&5396)&&toggle_class($o,"connectionindicator",Sa[12]&&(!Sa[10]||Sa[8]))},i(Sa){Io||(transition_in(ka,Sa),Io=!0)},o(Sa){transition_out(ka,Sa),Io=!1},d(Sa){Sa&&detach($o),ka&&ka.d(Sa),$a=!1,run_all(ya)}}}function instance$7t(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta,Aa,Ia,Pa,Ra,Da,La,Na,Ba,Fa,za,Ua,Ha,Wa,ja,{$$slots:Ya={},$$scope:Xa}=$o,{id:Za=void 0}=$o,{type:Ga="source"}=$o,{position:Ka=Position.Top}=$o,{style:tl=void 0}=$o,{isValidConnection:nl=void 0}=$o,{onconnect:rl=void 0}=$o,{ondisconnect:il=void 0}=$o,{isConnectable:sl=void 0}=$o,{class:ul=void 0}=$o;const al=getContext$1("svelteflow__node_id"),dl=getContext$1("svelteflow__node_connectable");component_subscribe(So,dl,Il=>ko(43,ja=Il));const gl=useStore(),{connectionMode:cl,domNode:fl,nodeLookup:pl,connectionRadius:ml,viewport:vl,isValidConnection:$l,lib:bl,addEdge:Cl,onedgecreate:wl,panBy:Al,cancelConnection:Ll,updateConnection:Dl,autoPanOnConnect:Gl,edges:Ol,connectionLookup:ic,onconnect:zl,onconnectstart:Ml,onconnectend:Kl,flowId:Ul,connection:Yl}=gl;component_subscribe(So,cl,Il=>ko(40,Ea=Il)),component_subscribe(So,fl,Il=>ko(55,Ha=Il)),component_subscribe(So,pl,Il=>ko(54,Ua=Il)),component_subscribe(So,ml,Il=>ko(56,Wa=Il)),component_subscribe(So,vl,Il=>ko(46,Ia=Il)),component_subscribe(So,$l,Il=>ko(51,Na=Il)),component_subscribe(So,bl,Il=>ko(53,za=Il)),component_subscribe(So,wl,Il=>ko(50,La=Il)),component_subscribe(So,Gl,Il=>ko(52,Fa=Il)),component_subscribe(So,Ol,Il=>ko(42,Aa=Il)),component_subscribe(So,ic,Il=>ko(41,Ta=Il)),component_subscribe(So,zl,Il=>ko(49,Da=Il)),component_subscribe(So,Ml,Il=>ko(48,Ra=Il)),component_subscribe(So,Kl,Il=>ko(47,Pa=Il)),component_subscribe(So,Ul,Il=>ko(13,Ba=Il)),component_subscribe(So,Yl,Il=>ko(39,Ca=Il));function jl(Il){const Wl=isMouseEvent(Il);(Wl&&Il.button===0||!Wl)&&XYHandle.onPointerDown(Il,{handleId:$a,nodeId:al,isTarget:Eo,connectionRadius:Wa,domNode:Ha,nodeLookup:Ua,connectionMode:Ea,lib:za,autoPanOnConnect:Fa,flowId:Ba,isValidConnection:nl??Na,updateConnection:Dl,cancelConnection:Ll,panBy:Al,onConnect:Tl=>{const Bl=La?La(Tl):Tl;Bl&&(Cl(Bl),Da==null||Da(Tl))},onConnectStart:(Tl,Bl)=>{Ra==null||Ra(Tl,{nodeId:Bl.nodeId,handleId:Bl.handleId,handleType:Bl.handleType})},onConnectEnd:(Tl,Bl)=>{Pa==null||Pa(Tl,Bl)},getTransform:()=>[Ia.x,Ia.y,Ia.zoom],getFromHandle:()=>Ca.fromHandle})}let Rl=null,ql;return So.$$set=Il=>{"id"in Il&&ko(0,Za=Il.id),"type"in Il&&ko(1,Ga=Il.type),"position"in Il&&ko(2,Ka=Il.position),"style"in Il&&ko(3,tl=Il.style),"isValidConnection"in Il&&ko(33,nl=Il.isValidConnection),"onconnect"in Il&&ko(34,rl=Il.onconnect),"ondisconnect"in Il&&ko(35,il=Il.ondisconnect),"isConnectable"in Il&&ko(36,sl=Il.isConnectable),"class"in Il&&ko(4,ul=Il.class),"$$scope"in Il&&ko(44,Xa=Il.$$scope)},So.$$.update=()=>{var Il,Wl,Tl,Bl,tc,xl,hc,kc,_c;if(So.$$.dirty[0]&2&&ko(11,Eo=Ga==="target"),So.$$.dirty[1]&4128&&ko(12,Io=sl!==void 0?sl:ja),So.$$.dirty[0]&1&&ko(6,$a=Za||null),So.$$.dirty[0]&3|So.$$.dirty[1]&3096&&(rl||il)&&ko(38,ql=Ta.get(`${al}-${Ga}${Za?`-${Za}`:""}`)),So.$$.dirty[1]&216){if(Rl&&!areConnectionMapsEqual(ql,Rl)){const Pc=ql??new Map;handleConnectionChange(Rl,Pc,il),handleConnectionChange(Pc,Rl,rl)}ko(37,Rl=ql??new Map)}So.$$.dirty[1]&256&&ko(10,ya=!!Ca.fromHandle),So.$$.dirty[0]&66|So.$$.dirty[1]&256&&ko(9,wa=((Il=Ca.fromHandle)==null?void 0:Il.nodeId)===al&&((Wl=Ca.fromHandle)==null?void 0:Wl.type)===Ga&&((Tl=Ca.fromHandle)==null?void 0:Tl.id)===$a),So.$$.dirty[0]&66|So.$$.dirty[1]&256&&ko(5,ka=((Bl=Ca.toHandle)==null?void 0:Bl.nodeId)===al&&((tc=Ca.toHandle)==null?void 0:tc.type)===Ga&&((xl=Ca.toHandle)==null?void 0:xl.id)===$a),So.$$.dirty[0]&66|So.$$.dirty[1]&768&&ko(8,Sa=Ea===ConnectionMode.Strict?((hc=Ca.fromHandle)==null?void 0:hc.type)!==Ga:al!==((kc=Ca.fromHandle)==null?void 0:kc.nodeId)||$a!==((_c=Ca.fromHandle)==null?void 0:_c.id)),So.$$.dirty[0]&32|So.$$.dirty[1]&256&&ko(7,Oa=ka&&Ca.isValid)},[Za,Ga,Ka,tl,ul,ka,$a,Oa,Sa,wa,ya,Eo,Io,Ba,al,dl,cl,fl,pl,ml,vl,$l,bl,wl,Gl,Ol,ic,zl,Ml,Kl,Ul,Yl,jl,nl,rl,il,sl,Rl,ql,Ca,Ea,Ta,Aa,ja,Xa,Ya]}class Handle extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7t,create_fragment$7u,safe_not_equal,{id:0,type:1,position:2,style:3,isValidConnection:33,onconnect:34,ondisconnect:35,isConnectable:36,class:4},null,[-1,-1])}}const Handle$1=Handle;function create_fragment$7t(So){var ka;let $o,ko,Eo=((ka=So[0])==null?void 0:ka.label)+"",Io,$a,ya,wa;return $o=new Handle$1({props:{type:"target",position:So[1]??Position.Top}}),ya=new Handle$1({props:{type:"source",position:So[2]??Position.Bottom}}),{c(){create_component($o.$$.fragment),ko=space$2(),Io=text(Eo),$a=space$2(),create_component(ya.$$.fragment)},m(Sa,Oa){mount_component($o,Sa,Oa),insert$1(Sa,ko,Oa),insert$1(Sa,Io,Oa),insert$1(Sa,$a,Oa),mount_component(ya,Sa,Oa),wa=!0},p(Sa,[Oa]){var Ta;const Ca={};Oa&2&&(Ca.position=Sa[1]??Position.Top),$o.$set(Ca),(!wa||Oa&1)&&Eo!==(Eo=((Ta=Sa[0])==null?void 0:Ta.label)+"")&&set_data(Io,Eo);const Ea={};Oa&4&&(Ea.position=Sa[2]??Position.Bottom),ya.$set(Ea)},i(Sa){wa||(transition_in($o.$$.fragment,Sa),transition_in(ya.$$.fragment,Sa),wa=!0)},o(Sa){transition_out($o.$$.fragment,Sa),transition_out(ya.$$.fragment,Sa),wa=!1},d(Sa){Sa&&(detach(ko),detach(Io),detach($a)),destroy_component($o,Sa),destroy_component(ya,Sa)}}}function instance$7s(So,$o,ko){const Eo=["data","targetPosition","sourcePosition"];compute_rest_props($o,Eo);let{data:Io={label:"Node"}}=$o,{targetPosition:$a=void 0}=$o,{sourcePosition:ya=void 0}=$o;return So.$$set=wa=>{$o=assign$1(assign$1({},$o),exclude_internal_props(wa)),ko(3,compute_rest_props($o,Eo)),"data"in wa&&ko(0,Io=wa.data),"targetPosition"in wa&&ko(1,$a=wa.targetPosition),"sourcePosition"in wa&&ko(2,ya=wa.sourcePosition)},[Io,$a,ya]}class DefaultNode extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7s,create_fragment$7t,safe_not_equal,{data:0,targetPosition:1,sourcePosition:2})}}const DefaultNode$1=DefaultNode;function create_fragment$7s(So){var ya;let $o=((ya=So[0])==null?void 0:ya.label)+"",ko,Eo,Io,$a;return Io=new Handle$1({props:{type:"source",position:So[1]??Position.Bottom}}),{c(){ko=text($o),Eo=space$2(),create_component(Io.$$.fragment)},m(wa,ka){insert$1(wa,ko,ka),insert$1(wa,Eo,ka),mount_component(Io,wa,ka),$a=!0},p(wa,[ka]){var Oa;(!$a||ka&1)&&$o!==($o=((Oa=wa[0])==null?void 0:Oa.label)+"")&&set_data(ko,$o);const Sa={};ka&2&&(Sa.position=wa[1]??Position.Bottom),Io.$set(Sa)},i(wa){$a||(transition_in(Io.$$.fragment,wa),$a=!0)},o(wa){transition_out(Io.$$.fragment,wa),$a=!1},d(wa){wa&&(detach(ko),detach(Eo)),destroy_component(Io,wa)}}}function instance$7r(So,$o,ko){const Eo=["data","sourcePosition"];compute_rest_props($o,Eo);let{data:Io={label:"Node"}}=$o,{sourcePosition:$a=void 0}=$o;return So.$$set=ya=>{$o=assign$1(assign$1({},$o),exclude_internal_props(ya)),ko(2,compute_rest_props($o,Eo)),"data"in ya&&ko(0,Io=ya.data),"sourcePosition"in ya&&ko(1,$a=ya.sourcePosition)},[Io,$a]}class InputNode extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7r,create_fragment$7s,safe_not_equal,{data:0,sourcePosition:1})}}const InputNode$1=InputNode;function create_fragment$7r(So){var ya;let $o=((ya=So[0])==null?void 0:ya.label)+"",ko,Eo,Io,$a;return Io=new Handle$1({props:{type:"target",position:So[1]??Position.Top}}),{c(){ko=text($o),Eo=space$2(),create_component(Io.$$.fragment)},m(wa,ka){insert$1(wa,ko,ka),insert$1(wa,Eo,ka),mount_component(Io,wa,ka),$a=!0},p(wa,[ka]){var Oa;(!$a||ka&1)&&$o!==($o=((Oa=wa[0])==null?void 0:Oa.label)+"")&&set_data(ko,$o);const Sa={};ka&2&&(Sa.position=wa[1]??Position.Top),Io.$set(Sa)},i(wa){$a||(transition_in(Io.$$.fragment,wa),$a=!0)},o(wa){transition_out(Io.$$.fragment,wa),$a=!1},d(wa){wa&&(detach(ko),detach(Eo)),destroy_component(Io,wa)}}}function instance$7q(So,$o,ko){const Eo=["data","targetPosition"];compute_rest_props($o,Eo);let{data:Io={label:"Node"}}=$o,{targetPosition:$a=void 0}=$o;return So.$$set=ya=>{$o=assign$1(assign$1({},$o),exclude_internal_props(ya)),ko(2,compute_rest_props($o,Eo)),"data"in ya&&ko(0,Io=ya.data),"targetPosition"in ya&&ko(1,$a=ya.targetPosition)},[Io,$a]}class OutputNode extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7q,create_fragment$7r,safe_not_equal,{data:0,targetPosition:1})}}const OutputNode$1=OutputNode;function instance$7p(So,$o,ko){const Eo=[];return compute_rest_props($o,Eo),So.$$set=Io=>{$o=assign$1(assign$1({},$o),exclude_internal_props(Io)),ko(0,compute_rest_props($o,Eo))},[]}class GroupNode extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7p,null,safe_not_equal,{})}}const GroupNode$1=GroupNode;function tryToMount(So,$o,ko){if(!$o)return;const Eo=ko?$o.querySelector(ko):$o;Eo&&Eo.appendChild(So)}function portal(So,{target:$o,domNode:ko}){return tryToMount(So,ko,$o),{async update({target:Eo,domNode:Io}){tryToMount(So,Io,Eo)},destroy(){So.parentNode&&So.parentNode.removeChild(So)}}}function create_fragment$7q(So){let $o,ko,Eo,Io,$a;const ya=So[3].default,wa=create_slot(ya,So,So[2],null);return{c(){$o=element("div"),wa&&wa.c()},m(ka,Sa){insert$1(ka,$o,Sa),wa&&wa.m($o,null),Eo=!0,Io||($a=action_destroyer(ko=portal.call(null,$o,{target:".svelte-flow__edgelabel-renderer",domNode:So[0]})),Io=!0)},p(ka,[Sa]){wa&&wa.p&&(!Eo||Sa&4)&&update_slot_base(wa,ya,ka,ka[2],Eo?get_slot_changes(ya,ka[2],Sa,null):get_all_dirty_from_scope(ka[2]),null),ko&&is_function(ko.update)&&Sa&1&&ko.update.call(null,{target:".svelte-flow__edgelabel-renderer",domNode:ka[0]})},i(ka){Eo||(transition_in(wa,ka),Eo=!0)},o(ka){transition_out(wa,ka),Eo=!1},d(ka){ka&&detach($o),wa&&wa.d(ka),Io=!1,$a()}}}function instance$7o(So,$o,ko){let Eo,{$$slots:Io={},$$scope:$a}=$o;const{domNode:ya}=useStore();return component_subscribe(So,ya,wa=>ko(0,Eo=wa)),So.$$set=wa=>{"$$scope"in wa&&ko(2,$a=wa.$$scope)},[Eo,ya,$a,Io]}class EdgeLabelRenderer extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7o,create_fragment$7q,safe_not_equal,{})}}const EdgeLabelRenderer$1=EdgeLabelRenderer;function useHandleEdgeSelect(){const{edgeLookup:So,selectionRect:$o,selectionRectMode:ko,multiselectionKeyPressed:Eo,addSelectedEdges:Io,unselectNodesAndEdges:$a,elementsSelectable:ya}=useStore();return wa=>{const ka=get_store_value(So).get(wa);if(!ka){console.warn("012",errorMessages.error012(wa));return}(ka.selectable||get_store_value(ya)&&typeof ka.selectable>"u")&&($o.set(null),ko.set(null),ka.selected?ka.selected&&get_store_value(Eo)&&$a({nodes:[],edges:[ka]}):Io([wa]))}}function create_default_slot$4r(So){let $o,ko,Eo=`translate(-50%, -50%) translate(${So[1]}px,${So[2]}px)`,Io,$a,ya;const wa=So[5].default,ka=create_slot(wa,So,So[7],null);return{c(){$o=element("div"),ka&&ka.c(),attr($o,"class","svelte-flow__edge-label"),attr($o,"style",ko="pointer-events: all;"+So[0]),attr($o,"role","button"),attr($o,"tabindex","-1"),set_style($o,"transform",Eo)},m(Sa,Oa){insert$1(Sa,$o,Oa),ka&&ka.m($o,null),Io=!0,$a||(ya=[listen($o,"keyup",keyup_handler$1),listen($o,"click",So[6])],$a=!0)},p(Sa,Oa){ka&&ka.p&&(!Io||Oa&128)&&update_slot_base(ka,wa,Sa,Sa[7],Io?get_slot_changes(wa,Sa[7],Oa,null):get_all_dirty_from_scope(Sa[7]),null),(!Io||Oa&1&&ko!==(ko="pointer-events: all;"+Sa[0]))&&attr($o,"style",ko);const Ca=Oa&1;(Oa&7&&Eo!==(Eo=`translate(-50%, -50%) translate(${Sa[1]}px,${Sa[2]}px)`)||Ca)&&set_style($o,"transform",Eo)},i(Sa){Io||(transition_in(ka,Sa),Io=!0)},o(Sa){transition_out(ka,Sa),Io=!1},d(Sa){Sa&&detach($o),ka&&ka.d(Sa),$a=!1,run_all(ya)}}}function create_fragment$7p(So){let $o,ko;return $o=new EdgeLabelRenderer$1({props:{$$slots:{default:[create_default_slot$4r]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&135&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}const keyup_handler$1=()=>{};function instance$7n(So,$o,ko){let{$$slots:Eo={},$$scope:Io}=$o,{style:$a=void 0}=$o,{x:ya=void 0}=$o,{y:wa=void 0}=$o;const ka=useHandleEdgeSelect(),Sa=getContext$1("svelteflow__edge_id"),Oa=()=>{Sa&&ka(Sa)};return So.$$set=Ca=>{"style"in Ca&&ko(0,$a=Ca.style),"x"in Ca&&ko(1,ya=Ca.x),"y"in Ca&&ko(2,wa=Ca.y),"$$scope"in Ca&&ko(7,Io=Ca.$$scope)},[$a,ya,wa,ka,Sa,Eo,Oa,Io]}class EdgeLabel extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7n,create_fragment$7p,safe_not_equal,{style:0,x:1,y:2})}}const EdgeLabel$1=EdgeLabel;function create_if_block_1$1P(So){let $o;return{c(){$o=svg_element("path"),attr($o,"d",So[1]),attr($o,"stroke-opacity",0),attr($o,"stroke-width",So[10]),attr($o,"fill","none"),attr($o,"class","svelte-flow__edge-interaction")},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo&2&&attr($o,"d",ko[1])},d(ko){ko&&detach($o)}}}function create_if_block$3o(So){let $o,ko;return $o=new EdgeLabel$1({props:{x:So[3],y:So[4],style:So[5],$$slots:{default:[create_default_slot$4q]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&8&&($a.x=Eo[3]),Io&16&&($a.y=Eo[4]),Io&32&&($a.style=Eo[5]),Io&4100&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot$4q(So){let $o;return{c(){$o=text(So[2])},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo&4&&set_data($o,ko[2])},d(ko){ko&&detach($o)}}}function create_fragment$7o(So){let $o,ko,Eo,Io,$a,ya,wa=So[10]&&create_if_block_1$1P(So),ka=So[2]&&create_if_block$3o(So);return{c(){$o=svg_element("path"),Eo=space$2(),wa&&wa.c(),Io=space$2(),ka&&ka.c(),$a=empty$4(),attr($o,"id",So[0]),attr($o,"d",So[1]),attr($o,"class",ko=cc(["svelte-flow__edge-path",So[9]])),attr($o,"marker-start",So[6]),attr($o,"marker-end",So[7]),attr($o,"fill","none"),attr($o,"style",So[8])},m(Sa,Oa){insert$1(Sa,$o,Oa),insert$1(Sa,Eo,Oa),wa&&wa.m(Sa,Oa),insert$1(Sa,Io,Oa),ka&&ka.m(Sa,Oa),insert$1(Sa,$a,Oa),ya=!0},p(Sa,[Oa]){(!ya||Oa&1)&&attr($o,"id",Sa[0]),(!ya||Oa&2)&&attr($o,"d",Sa[1]),(!ya||Oa&512&&ko!==(ko=cc(["svelte-flow__edge-path",Sa[9]])))&&attr($o,"class",ko),(!ya||Oa&64)&&attr($o,"marker-start",Sa[6]),(!ya||Oa&128)&&attr($o,"marker-end",Sa[7]),(!ya||Oa&256)&&attr($o,"style",Sa[8]),Sa[10]&&wa.p(Sa,Oa),Sa[2]?ka?(ka.p(Sa,Oa),Oa&4&&transition_in(ka,1)):(ka=create_if_block$3o(Sa),ka.c(),transition_in(ka,1),ka.m($a.parentNode,$a)):ka&&(group_outros(),transition_out(ka,1,1,()=>{ka=null}),check_outros())},i(Sa){ya||(transition_in(ka),ya=!0)},o(Sa){transition_out(ka),ya=!1},d(Sa){Sa&&(detach($o),detach(Eo),detach(Io),detach($a)),wa&&wa.d(Sa),ka&&ka.d(Sa)}}}function instance$7m(So,$o,ko){let{id:Eo=void 0}=$o,{path:Io}=$o,{label:$a=void 0}=$o,{labelX:ya=void 0}=$o,{labelY:wa=void 0}=$o,{labelStyle:ka=void 0}=$o,{markerStart:Sa=void 0}=$o,{markerEnd:Oa=void 0}=$o,{style:Ca=void 0}=$o,{interactionWidth:Ea=20}=$o,{class:Ta=void 0}=$o,Aa=Ea===void 0?20:Ea;return So.$$set=Ia=>{"id"in Ia&&ko(0,Eo=Ia.id),"path"in Ia&&ko(1,Io=Ia.path),"label"in Ia&&ko(2,$a=Ia.label),"labelX"in Ia&&ko(3,ya=Ia.labelX),"labelY"in Ia&&ko(4,wa=Ia.labelY),"labelStyle"in Ia&&ko(5,ka=Ia.labelStyle),"markerStart"in Ia&&ko(6,Sa=Ia.markerStart),"markerEnd"in Ia&&ko(7,Oa=Ia.markerEnd),"style"in Ia&&ko(8,Ca=Ia.style),"interactionWidth"in Ia&&ko(11,Ea=Ia.interactionWidth),"class"in Ia&&ko(9,Ta=Ia.class)},[Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ta,Aa,Ea]}class BaseEdge extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7m,create_fragment$7o,safe_not_equal,{id:0,path:1,label:2,labelX:3,labelY:4,labelStyle:5,markerStart:6,markerEnd:7,style:8,interactionWidth:11,class:9})}}const BaseEdge$1=BaseEdge;function create_fragment$7n(So){let $o,ko;return $o=new BaseEdge$1({props:{path:So[8],labelX:So[7],labelY:So[6],label:So[0],labelStyle:So[1],markerStart:So[3],markerEnd:So[4],interactionWidth:So[5],style:So[2]}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&256&&($a.path=Eo[8]),Io&128&&($a.labelX=Eo[7]),Io&64&&($a.labelY=Eo[6]),Io&1&&($a.label=Eo[0]),Io&2&&($a.labelStyle=Eo[1]),Io&8&&($a.markerStart=Eo[3]),Io&16&&($a.markerEnd=Eo[4]),Io&32&&($a.interactionWidth=Eo[5]),Io&4&&($a.style=Eo[2]),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function instance$7l(So,$o,ko){let Eo,Io,$a;const ya=["label","labelStyle","style","markerStart","markerEnd","interactionWidth","sourceX","sourceY","sourcePosition","targetX","targetY","targetPosition"];compute_rest_props($o,ya);let{label:wa=void 0}=$o,{labelStyle:ka=void 0}=$o,{style:Sa=void 0}=$o,{markerStart:Oa=void 0}=$o,{markerEnd:Ca=void 0}=$o,{interactionWidth:Ea=void 0}=$o,{sourceX:Ta}=$o,{sourceY:Aa}=$o,{sourcePosition:Ia}=$o,{targetX:Pa}=$o,{targetY:Ra}=$o,{targetPosition:Da}=$o;return So.$$set=La=>{$o=assign$1(assign$1({},$o),exclude_internal_props(La)),ko(15,compute_rest_props($o,ya)),"label"in La&&ko(0,wa=La.label),"labelStyle"in La&&ko(1,ka=La.labelStyle),"style"in La&&ko(2,Sa=La.style),"markerStart"in La&&ko(3,Oa=La.markerStart),"markerEnd"in La&&ko(4,Ca=La.markerEnd),"interactionWidth"in La&&ko(5,Ea=La.interactionWidth),"sourceX"in La&&ko(9,Ta=La.sourceX),"sourceY"in La&&ko(10,Aa=La.sourceY),"sourcePosition"in La&&ko(11,Ia=La.sourcePosition),"targetX"in La&&ko(12,Pa=La.targetX),"targetY"in La&&ko(13,Ra=La.targetY),"targetPosition"in La&&ko(14,Da=La.targetPosition)},So.$$.update=()=>{So.$$.dirty&32256&&ko(8,[Eo,Io,$a]=getBezierPath({sourceX:Ta,sourceY:Aa,targetX:Pa,targetY:Ra,sourcePosition:Ia,targetPosition:Da}),Eo,(ko(7,Io),ko(9,Ta),ko(10,Aa),ko(12,Pa),ko(13,Ra),ko(11,Ia),ko(14,Da)),(ko(6,$a),ko(9,Ta),ko(10,Aa),ko(12,Pa),ko(13,Ra),ko(11,Ia),ko(14,Da)))},[wa,ka,Sa,Oa,Ca,Ea,$a,Io,Eo,Ta,Aa,Ia,Pa,Ra,Da]}class BezierEdgeInternal extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7l,create_fragment$7n,safe_not_equal,{label:0,labelStyle:1,style:2,markerStart:3,markerEnd:4,interactionWidth:5,sourceX:9,sourceY:10,sourcePosition:11,targetX:12,targetY:13,targetPosition:14})}}const BezierEdgeInternal$1=BezierEdgeInternal;function create_fragment$7m(So){let $o,ko;return $o=new BaseEdge$1({props:{path:So[8],labelX:So[7],labelY:So[6],label:So[0],labelStyle:So[1],markerStart:So[3],markerEnd:So[4],interactionWidth:So[5],style:So[2]}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&256&&($a.path=Eo[8]),Io&128&&($a.labelX=Eo[7]),Io&64&&($a.labelY=Eo[6]),Io&1&&($a.label=Eo[0]),Io&2&&($a.labelStyle=Eo[1]),Io&8&&($a.markerStart=Eo[3]),Io&16&&($a.markerEnd=Eo[4]),Io&32&&($a.interactionWidth=Eo[5]),Io&4&&($a.style=Eo[2]),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function instance$7k(So,$o,ko){let Eo,Io,$a;const ya=["label","labelStyle","style","markerStart","markerEnd","interactionWidth","sourceX","sourceY","sourcePosition","targetX","targetY","targetPosition"];compute_rest_props($o,ya);let{label:wa=void 0}=$o,{labelStyle:ka=void 0}=$o,{style:Sa=void 0}=$o,{markerStart:Oa=void 0}=$o,{markerEnd:Ca=void 0}=$o,{interactionWidth:Ea=void 0}=$o,{sourceX:Ta}=$o,{sourceY:Aa}=$o,{sourcePosition:Ia}=$o,{targetX:Pa}=$o,{targetY:Ra}=$o,{targetPosition:Da}=$o;return So.$$set=La=>{$o=assign$1(assign$1({},$o),exclude_internal_props(La)),ko(15,compute_rest_props($o,ya)),"label"in La&&ko(0,wa=La.label),"labelStyle"in La&&ko(1,ka=La.labelStyle),"style"in La&&ko(2,Sa=La.style),"markerStart"in La&&ko(3,Oa=La.markerStart),"markerEnd"in La&&ko(4,Ca=La.markerEnd),"interactionWidth"in La&&ko(5,Ea=La.interactionWidth),"sourceX"in La&&ko(9,Ta=La.sourceX),"sourceY"in La&&ko(10,Aa=La.sourceY),"sourcePosition"in La&&ko(11,Ia=La.sourcePosition),"targetX"in La&&ko(12,Pa=La.targetX),"targetY"in La&&ko(13,Ra=La.targetY),"targetPosition"in La&&ko(14,Da=La.targetPosition)},So.$$.update=()=>{So.$$.dirty&32256&&ko(8,[Eo,Io,$a]=getSmoothStepPath({sourceX:Ta,sourceY:Aa,targetX:Pa,targetY:Ra,sourcePosition:Ia,targetPosition:Da}),Eo,(ko(7,Io),ko(9,Ta),ko(10,Aa),ko(12,Pa),ko(13,Ra),ko(11,Ia),ko(14,Da)),(ko(6,$a),ko(9,Ta),ko(10,Aa),ko(12,Pa),ko(13,Ra),ko(11,Ia),ko(14,Da)))},[wa,ka,Sa,Oa,Ca,Ea,$a,Io,Eo,Ta,Aa,Ia,Pa,Ra,Da]}class SmoothStepEdgeInternal extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7k,create_fragment$7m,safe_not_equal,{label:0,labelStyle:1,style:2,markerStart:3,markerEnd:4,interactionWidth:5,sourceX:9,sourceY:10,sourcePosition:11,targetX:12,targetY:13,targetPosition:14})}}const SmoothStepEdgeInternal$1=SmoothStepEdgeInternal;function create_fragment$7l(So){let $o,ko;return $o=new BaseEdge$1({props:{path:So[8],labelX:So[7],labelY:So[6],label:So[0],labelStyle:So[1],markerStart:So[3],markerEnd:So[4],interactionWidth:So[5],style:So[2]}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&256&&($a.path=Eo[8]),Io&128&&($a.labelX=Eo[7]),Io&64&&($a.labelY=Eo[6]),Io&1&&($a.label=Eo[0]),Io&2&&($a.labelStyle=Eo[1]),Io&8&&($a.markerStart=Eo[3]),Io&16&&($a.markerEnd=Eo[4]),Io&32&&($a.interactionWidth=Eo[5]),Io&4&&($a.style=Eo[2]),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function instance$7j(So,$o,ko){let Eo,Io,$a;const ya=["label","labelStyle","style","markerStart","markerEnd","interactionWidth","sourceX","sourceY","targetX","targetY"];compute_rest_props($o,ya);let{label:wa=void 0}=$o,{labelStyle:ka=void 0}=$o,{style:Sa=void 0}=$o,{markerStart:Oa=void 0}=$o,{markerEnd:Ca=void 0}=$o,{interactionWidth:Ea=void 0}=$o,{sourceX:Ta}=$o,{sourceY:Aa}=$o,{targetX:Ia}=$o,{targetY:Pa}=$o;return So.$$set=Ra=>{$o=assign$1(assign$1({},$o),exclude_internal_props(Ra)),ko(13,compute_rest_props($o,ya)),"label"in Ra&&ko(0,wa=Ra.label),"labelStyle"in Ra&&ko(1,ka=Ra.labelStyle),"style"in Ra&&ko(2,Sa=Ra.style),"markerStart"in Ra&&ko(3,Oa=Ra.markerStart),"markerEnd"in Ra&&ko(4,Ca=Ra.markerEnd),"interactionWidth"in Ra&&ko(5,Ea=Ra.interactionWidth),"sourceX"in Ra&&ko(9,Ta=Ra.sourceX),"sourceY"in Ra&&ko(10,Aa=Ra.sourceY),"targetX"in Ra&&ko(11,Ia=Ra.targetX),"targetY"in Ra&&ko(12,Pa=Ra.targetY)},So.$$.update=()=>{So.$$.dirty&7680&&ko(8,[Eo,Io,$a]=getStraightPath({sourceX:Ta,sourceY:Aa,targetX:Ia,targetY:Pa}),Eo,(ko(7,Io),ko(9,Ta),ko(10,Aa),ko(11,Ia),ko(12,Pa)),(ko(6,$a),ko(9,Ta),ko(10,Aa),ko(11,Ia),ko(12,Pa)))},[wa,ka,Sa,Oa,Ca,Ea,$a,Io,Eo,Ta,Aa,Ia,Pa]}class StraightEdgeInternal extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7j,create_fragment$7l,safe_not_equal,{label:0,labelStyle:1,style:2,markerStart:3,markerEnd:4,interactionWidth:5,sourceX:9,sourceY:10,targetX:11,targetY:12})}}const StraightEdgeInternal$1=StraightEdgeInternal;function create_fragment$7k(So){let $o,ko;return $o=new BaseEdge$1({props:{path:So[8],labelX:So[7],labelY:So[6],label:So[0],labelStyle:So[1],markerStart:So[3],markerEnd:So[4],interactionWidth:So[5],style:So[2]}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&256&&($a.path=Eo[8]),Io&128&&($a.labelX=Eo[7]),Io&64&&($a.labelY=Eo[6]),Io&1&&($a.label=Eo[0]),Io&2&&($a.labelStyle=Eo[1]),Io&8&&($a.markerStart=Eo[3]),Io&16&&($a.markerEnd=Eo[4]),Io&32&&($a.interactionWidth=Eo[5]),Io&4&&($a.style=Eo[2]),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function instance$7i(So,$o,ko){let Eo,Io,$a;const ya=["label","labelStyle","style","markerStart","markerEnd","interactionWidth","sourceX","sourceY","sourcePosition","targetX","targetY","targetPosition"];compute_rest_props($o,ya);let{label:wa=void 0}=$o,{labelStyle:ka=void 0}=$o,{style:Sa=void 0}=$o,{markerStart:Oa=void 0}=$o,{markerEnd:Ca=void 0}=$o,{interactionWidth:Ea=void 0}=$o,{sourceX:Ta}=$o,{sourceY:Aa}=$o,{sourcePosition:Ia}=$o,{targetX:Pa}=$o,{targetY:Ra}=$o,{targetPosition:Da}=$o;return So.$$set=La=>{$o=assign$1(assign$1({},$o),exclude_internal_props(La)),ko(15,compute_rest_props($o,ya)),"label"in La&&ko(0,wa=La.label),"labelStyle"in La&&ko(1,ka=La.labelStyle),"style"in La&&ko(2,Sa=La.style),"markerStart"in La&&ko(3,Oa=La.markerStart),"markerEnd"in La&&ko(4,Ca=La.markerEnd),"interactionWidth"in La&&ko(5,Ea=La.interactionWidth),"sourceX"in La&&ko(9,Ta=La.sourceX),"sourceY"in La&&ko(10,Aa=La.sourceY),"sourcePosition"in La&&ko(11,Ia=La.sourcePosition),"targetX"in La&&ko(12,Pa=La.targetX),"targetY"in La&&ko(13,Ra=La.targetY),"targetPosition"in La&&ko(14,Da=La.targetPosition)},So.$$.update=()=>{So.$$.dirty&32256&&ko(8,[Eo,Io,$a]=getSmoothStepPath({sourceX:Ta,sourceY:Aa,targetX:Pa,targetY:Ra,sourcePosition:Ia,targetPosition:Da,borderRadius:0}),Eo,(ko(7,Io),ko(9,Ta),ko(10,Aa),ko(12,Pa),ko(13,Ra),ko(11,Ia),ko(14,Da)),(ko(6,$a),ko(9,Ta),ko(10,Aa),ko(12,Pa),ko(13,Ra),ko(11,Ia),ko(14,Da)))},[wa,ka,Sa,Oa,Ca,Ea,$a,Io,Eo,Ta,Aa,Ia,Pa,Ra,Da]}class StepEdgeInternal extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7i,create_fragment$7k,safe_not_equal,{label:0,labelStyle:1,style:2,markerStart:3,markerEnd:4,interactionWidth:5,sourceX:9,sourceY:10,sourcePosition:11,targetX:12,targetY:13,targetPosition:14})}}const StepEdgeInternal$1=StepEdgeInternal;function syncNodeStores(So,$o){const ko=So.set,Eo=$o.set,Io=get_store_value(So),$a=get_store_value($o);let wa=Io.length===0&&$a.length>0?$a:Io;So.set(wa);const ka=Sa=>{const Oa=ko(Sa);return wa=Oa,Eo(wa),Oa};So.set=$o.set=ka,So.update=$o.update=Sa=>ka(Sa(wa))}function syncEdgeStores(So,$o){const ko=So.set,Eo=$o.set;let Io=get_store_value($o);So.set(Io);const $a=ya=>{ko(ya),Eo(ya),Io=ya};So.set=$o.set=$a,So.update=$o.update=ya=>$a(ya(Io))}const syncViewportStores=(So,$o,ko)=>{if(!ko)return;const Eo=get_store_value(So),Io=$o.set,$a=ko.set;let ya=ko?get_store_value(ko):{x:0,y:0,zoom:1};$o.set(ya),$o.set=wa=>(Io(wa),$a(wa),ya=wa,wa),ko.set=wa=>(Eo==null||Eo.syncViewport(wa),Io(wa),$a(wa),ya=wa,wa),$o.update=wa=>{$o.set(wa(ya))},ko.update=wa=>{ko.set(wa(ya))}},createNodesStore=(So,$o,ko,Eo=[0,0],Io=infiniteExtent,$a,ya,wa,ka,Sa,Oa,Ca,Ea)=>{const{subscribe:Ta,set:Aa,update:Ia}=writable([]);let Pa=So,Ra={},Da=!0;const La=za=>{const Ua=adoptUserNodes(za,$o,ko,{elevateNodesOnSelect:Da,nodeOrigin:Eo,nodeExtent:Io,defaults:Ra,checkEquality:!1});return get_store_value($a)&&Ua&&get_store_value(ka)&&(fitViewport({nodes:$o,width:get_store_value(Sa),height:get_store_value(Oa),panZoom:get_store_value(ka),minZoom:get_store_value(Ca),maxZoom:get_store_value(Ea)},get_store_value(ya)).then(Wa=>{var ja;(ja=get_store_value(wa))==null||ja.resolve(Wa),wa.set(null)}),$a.set(!1),ya.set(void 0)),Pa=za,Aa(Pa),Pa},Na=za=>La(za(Pa)),Ba=za=>{Ra=za},Fa=za=>{Da=za.elevateNodesOnSelect??Da};return La(Pa),{subscribe:Ta,set:La,update:Na,setDefaultOptions:Ba,setOptions:Fa}},createEdgesStore=(So,$o,ko,Eo)=>{const{subscribe:Io,set:$a,update:ya}=writable([]);let wa=So,ka=Eo||{};const Sa=Ea=>{const Ta=ka?Ea.map(Aa=>({...ka,...Aa})):Ea;updateConnectionLookup($o,ko,Ta),wa=Ta,$a(wa)},Oa=Ea=>Sa(Ea(wa)),Ca=Ea=>{ka=Ea};return Sa(wa),{subscribe:Io,set:Sa,update:Oa,setDefaultOptions:Ca}},initialNodeTypes={input:InputNode$1,output:OutputNode$1,default:DefaultNode$1,group:GroupNode$1},initialEdgeTypes={straight:StraightEdgeInternal$1,smoothstep:SmoothStepEdgeInternal$1,default:BezierEdgeInternal$1,step:StepEdgeInternal$1},getInitialStore=({nodes:So=[],edges:$o=[],width:ko,height:Eo,fitView:Io,nodeOrigin:$a,nodeExtent:ya})=>{const wa=new Map,ka=new Map,Sa=new Map,Oa=new Map,Ca=$a??[0,0],Ea=ya??infiniteExtent;adoptUserNodes(So,wa,ka,{nodeExtent:Ea,nodeOrigin:Ca,elevateNodesOnSelect:!1,checkEquality:!1}),updateConnectionLookup(Sa,Oa,$o);let Ta={x:0,y:0,zoom:1};if(Io&&ko&&Eo){const Fa=getInternalNodesBounds(wa,{filter:za=>!!((za.width||za.initialWidth)&&(za.height||za.initialHeight))});Ta=getViewportForBounds(Fa,ko,Eo,.5,2,.1)}const Aa=writable(!1),Ia=writable(void 0),Pa=writable(null),Ra=writable(null),Da=writable(500),La=writable(500),Na=writable(.5),Ba=writable(2);return{flowId:writable(null),nodes:createNodesStore(So,wa,ka,Ca,Ea,Aa,Ia,Pa,Ra,Da,La,Na,Ba),nodeLookup:readable(wa),parentLookup:readable(ka),edgeLookup:readable(Oa),visibleNodes:readable([]),edges:createEdgesStore($o,Sa,Oa),visibleEdges:readable([]),connectionLookup:readable(Sa),width:Da,height:La,minZoom:Na,maxZoom:Ba,nodeOrigin:writable(Ca),nodeDragThreshold:writable(1),nodeExtent:writable(Ea),translateExtent:writable(infiniteExtent),autoPanOnNodeDrag:writable(!0),autoPanOnConnect:writable(!0),fitViewQueued:Aa,fitViewOptions:Ia,fitViewResolver:Pa,panZoom:Ra,snapGrid:writable(null),dragging:writable(!1),selectionRect:writable(null),selectionKeyPressed:writable(!1),multiselectionKeyPressed:writable(!1),deleteKeyPressed:writable(!1),panActivationKeyPressed:writable(!1),zoomActivationKeyPressed:writable(!1),selectionRectMode:writable(null),selectionMode:writable(SelectionMode.Partial),nodeTypes:writable(initialNodeTypes),edgeTypes:writable(initialEdgeTypes),viewport:writable(Ta),connectionMode:writable(ConnectionMode.Strict),domNode:writable(null),connection:readable(initialConnection),connectionLineType:writable(ConnectionLineType.Bezier),connectionRadius:writable(20),isValidConnection:writable(()=>!0),nodesDraggable:writable(!0),nodesConnectable:writable(!0),elementsSelectable:writable(!0),selectNodesOnDrag:writable(!0),markers:readable([]),defaultMarkerColor:writable("#b1b1b7"),lib:readable("svelte"),onlyRenderVisibleElements:writable(!1),onerror:writable(devWarn),ondelete:writable(void 0),onedgecreate:writable(void 0),onconnect:writable(void 0),onconnectstart:writable(void 0),onconnectend:writable(void 0),onbeforedelete:writable(void 0),nodesInitialized:writable(!1),edgesInitialized:writable(!1),viewportInitialized:writable(!1),initialized:readable(!1)}};function getVisibleEdges(So){const $o=derived([So.edges,So.nodes,So.nodeLookup,So.onlyRenderVisibleElements,So.viewport,So.width,So.height],([ko,,Eo,Io,$a,ya,wa])=>Io&&ya&&wa?ko.filter(Sa=>{const Oa=Eo.get(Sa.source),Ca=Eo.get(Sa.target);return Oa&&Ca&&isEdgeVisible({sourceNode:Oa,targetNode:Ca,width:ya,height:wa,transform:[$a.x,$a.y,$a.zoom]})}):ko);return derived([$o,So.nodes,So.nodeLookup,So.connectionMode,So.onerror],([ko,,Eo,Io,$a])=>ko.reduce((wa,ka)=>{const Sa=Eo.get(ka.source),Oa=Eo.get(ka.target);if(!Sa||!Oa)return wa;const Ca=getEdgePosition({id:ka.id,sourceNode:Sa,targetNode:Oa,sourceHandle:ka.sourceHandle||null,targetHandle:ka.targetHandle||null,connectionMode:Io,onError:$a});return Ca&&wa.push({...ka,zIndex:getElevatedEdgeZIndex({selected:ka.selected,zIndex:ka.zIndex,sourceNode:Sa,targetNode:Oa,elevateOnSelect:!1}),...Ca}),wa},[]))}function getVisibleNodes(So){return derived([So.nodeLookup,So.onlyRenderVisibleElements,So.width,So.height,So.viewport,So.nodes],([$o,ko,Eo,Io,$a])=>{const ya=[$a.x,$a.y,$a.zoom];return ko?getNodesInside($o,{x:0,y:0,width:Eo,height:Io},ya,!0):Array.from($o.values())})}const key=Symbol();function createStore({nodes:So,edges:$o,width:ko,height:Eo,fitView:Io,nodeOrigin:$a,nodeExtent:ya}){const wa=getInitialStore({nodes:So,edges:$o,width:ko,height:Eo,fitView:Io,nodeOrigin:$a,nodeExtent:ya});function ka(Ga){wa.nodeTypes.set({...initialNodeTypes,...Ga})}function Sa(Ga){wa.edgeTypes.set({...initialEdgeTypes,...Ga})}function Oa(Ga){const Ka=get_store_value(wa.edges);wa.edges.set(addEdge(Ga,Ka))}const Ca=(Ga,Ka=!1)=>{var nl;const tl=get_store_value(wa.nodeLookup);for(const[rl,il]of Ga){const sl=(nl=tl.get(rl))==null?void 0:nl.internals.userNode;sl&&(sl.position=il.position,sl.dragging=Ka)}wa.nodes.update(rl=>rl)};function Ea(Ga){var il,sl,ul;const Ka=get_store_value(wa.nodeLookup),tl=get_store_value(wa.parentLookup),{changes:nl,updatedInternals:rl}=updateNodeInternals(Ga,Ka,get_store_value(wa.parentLookup),get_store_value(wa.domNode),get_store_value(wa.nodeOrigin));if(rl){updateAbsolutePositions(Ka,tl,{nodeOrigin:$a,nodeExtent:ya});for(const al of nl){const dl=(il=Ka.get(al.id))==null?void 0:il.internals.userNode;if(dl)switch(al.type){case"dimensions":{const gl={...dl.measured,...al.dimensions};al.setAttributes&&(dl.width=((sl=al.dimensions)==null?void 0:sl.width)??dl.width,dl.height=((ul=al.dimensions)==null?void 0:ul.height)??dl.height),dl.measured=gl;break}case"position":dl.position=al.position??dl.position;break}}wa.nodes.update(al=>al),get_store_value(wa.nodesInitialized)||wa.nodesInitialized.set(!0)}}function Ta(Ga){const Ka=get_store_value(wa.fitViewResolver)??withResolvers();return wa.fitViewQueued.set(!0),wa.fitViewOptions.set(Ga),wa.fitViewResolver.set(Ka),wa.nodes.set(get_store_value(wa.nodes)),Ka.promise}function Aa(Ga,Ka){const tl=get_store_value(wa.panZoom);return tl?tl.scaleBy(Ga,Ka):Promise.resolve(!1)}function Ia(Ga){return Aa(1.2,Ga)}function Pa(Ga){return Aa(1/1.2,Ga)}function Ra(Ga){const Ka=get_store_value(wa.panZoom);Ka&&(Ka.setScaleExtent([Ga,get_store_value(wa.maxZoom)]),wa.minZoom.set(Ga))}function Da(Ga){const Ka=get_store_value(wa.panZoom);Ka&&(Ka.setScaleExtent([get_store_value(wa.minZoom),Ga]),wa.maxZoom.set(Ga))}function La(Ga){const Ka=get_store_value(wa.panZoom);Ka&&(Ka.setTranslateExtent(Ga),wa.translateExtent.set(Ga))}function Na(Ga){let Ka=!1;return Ga.forEach(tl=>{tl.selected&&(tl.selected=!1,Ka=!0)}),Ka}function Ba(Ga){var Ka;(Ka=get_store_value(wa.panZoom))==null||Ka.setClickDistance(Ga)}function Fa(Ga){Na((Ga==null?void 0:Ga.nodes)||get_store_value(wa.nodes))&&wa.nodes.set(get_store_value(wa.nodes)),Na((Ga==null?void 0:Ga.edges)||get_store_value(wa.edges))&&wa.edges.set(get_store_value(wa.edges))}wa.deleteKeyPressed.subscribe(async Ga=>{var Ka;if(Ga){const tl=get_store_value(wa.nodes),nl=get_store_value(wa.edges),rl=tl.filter(al=>al.selected),il=nl.filter(al=>al.selected),{nodes:sl,edges:ul}=await getElementsToRemove({nodesToRemove:rl,edgesToRemove:il,nodes:tl,edges:nl,onBeforeDelete:get_store_value(wa.onbeforedelete)});(sl.length||ul.length)&&(wa.nodes.update(al=>al.filter(dl=>!sl.some(gl=>gl.id===dl.id))),wa.edges.update(al=>al.filter(dl=>!ul.some(gl=>gl.id===dl.id))),(Ka=get_store_value(wa.ondelete))==null||Ka({nodes:sl,edges:ul}))}});function za(Ga){const Ka=get_store_value(wa.multiselectionKeyPressed);wa.nodes.update(tl=>tl.map(nl=>{const rl=Ga.includes(nl.id),il=Ka&&nl.selected||rl;return nl.selected=il,nl})),Ka||wa.edges.update(tl=>tl.map(nl=>(nl.selected=!1,nl)))}function Ua(Ga){const Ka=get_store_value(wa.multiselectionKeyPressed);wa.edges.update(tl=>tl.map(nl=>{const rl=Ga.includes(nl.id),il=Ka&&nl.selected||rl;return nl.selected=il,nl})),Ka||wa.nodes.update(tl=>tl.map(nl=>(nl.selected=!1,nl)))}function Ha(Ga){var tl;const Ka=(tl=get_store_value(wa.nodes))==null?void 0:tl.find(nl=>nl.id===Ga);if(!Ka){console.warn("012",errorMessages.error012(Ga));return}wa.selectionRect.set(null),wa.selectionRectMode.set(null),Ka.selected?Ka.selected&&get_store_value(wa.multiselectionKeyPressed)&&Fa({nodes:[Ka],edges:[]}):za([Ga])}function Wa(Ga){const Ka=get_store_value(wa.viewport);return panBy({delta:Ga,panZoom:get_store_value(wa.panZoom),transform:[Ka.x,Ka.y,Ka.zoom],translateExtent:get_store_value(wa.translateExtent),width:get_store_value(wa.width),height:get_store_value(wa.height)})}const ja=writable(initialConnection),Ya=Ga=>{ja.set({...Ga})};function Xa(){ja.set(initialConnection)}function Za(){wa.selectionRect.set(null),wa.selectionRectMode.set(null),wa.snapGrid.set(null),wa.isValidConnection.set(()=>!0),Fa(),Xa()}return{...wa,visibleEdges:getVisibleEdges(wa),visibleNodes:getVisibleNodes(wa),connection:derived([ja,wa.viewport],([Ga,Ka])=>Ga.inProgress?{...Ga,to:pointToRendererPoint(Ga.to,[Ka.x,Ka.y,Ka.zoom])}:{...Ga}),markers:derived([wa.edges,wa.defaultMarkerColor,wa.flowId],([Ga,Ka,tl])=>createMarkerIds(Ga,{defaultColor:Ka,id:tl})),initialized:(()=>{let Ga=!1;const Ka=get_store_value(wa.nodes).length,tl=get_store_value(wa.edges).length;return derived([wa.nodesInitialized,wa.edgesInitialized,wa.viewportInitialized],([nl,rl,il])=>Ga||(Ka===0?Ga=il:tl===0?Ga=il&&nl:Ga=il&&nl&&rl,Ga))})(),syncNodeStores:Ga=>syncNodeStores(wa.nodes,Ga),syncEdgeStores:Ga=>syncEdgeStores(wa.edges,Ga),syncViewport:Ga=>syncViewportStores(wa.panZoom,wa.viewport,Ga),setNodeTypes:ka,setEdgeTypes:Sa,addEdge:Oa,updateNodePositions:Ca,updateNodeInternals:Ea,zoomIn:Ia,zoomOut:Pa,fitView:Ga=>Ta(Ga),setMinZoom:Ra,setMaxZoom:Da,setTranslateExtent:La,setPaneClickDistance:Ba,unselectNodesAndEdges:Fa,addSelectedNodes:za,addSelectedEdges:Ua,handleNodeSelection:Ha,panBy:Wa,updateConnection:Ya,cancelConnection:Xa,reset:Za}}function useStore(){const So=getContext$1(key);if(!So)throw new Error("In order to use useStore you need to wrap your component in a <SvelteFlowProvider />");return So.getStore()}function createStoreContext({nodes:So,edges:$o,width:ko,height:Eo,fitView:Io,nodeOrigin:$a,nodeExtent:ya}){const wa=createStore({nodes:So,edges:$o,width:ko,height:Eo,fitView:Io,nodeOrigin:$a,nodeExtent:ya});return setContext(key,{getStore:()=>wa}),wa}function zoom(So,$o){const{panZoom:ko,minZoom:Eo,maxZoom:Io,initialViewport:$a,viewport:ya,dragging:wa,translateExtent:ka,paneClickDistance:Sa}=$o,Oa=XYPanZoom({domNode:So,minZoom:Eo,maxZoom:Io,translateExtent:ka,viewport:$a,paneClickDistance:Sa,onDraggingChange:wa.set}),Ca=Oa.getViewport();return ya.set(Ca),ko.set(Oa),Oa.update($o),{update(Ea){Oa.update(Ea)}}}const Zoom_svelte_svelte_type_style_lang="";function create_fragment$7j(So){let $o,ko,Eo,Io,$a;const ya=So[35].default,wa=create_slot(ya,So,So[34],null);return{c(){$o=element("div"),wa&&wa.c(),attr($o,"class","svelte-flow__zoom svelte-4xkw84")},m(ka,Sa){insert$1(ka,$o,Sa),wa&&wa.m($o,null),Eo=!0,Io||($a=action_destroyer(ko=zoom.call(null,$o,{viewport:So[18],minZoom:So[12],maxZoom:So[13],initialViewport:So[11],dragging:So[23],panZoom:So[19],onPanZoomStart:So[0],onPanZoom:So[1],onPanZoomEnd:So[2],zoomOnScroll:So[5],zoomOnDoubleClick:So[6],zoomOnPinch:So[7],panOnScroll:So[9],panOnDrag:So[10],panOnScrollSpeed:.5,panOnScrollMode:So[3]||PanOnScrollMode.Free,zoomActivationKeyPressed:So[14],preventScrolling:typeof So[4]=="boolean"?So[4]:!0,noPanClassName:"nopan",noWheelClassName:"nowheel",userSelectionActive:!!So[15],translateExtent:So[16],lib:So[17],paneClickDistance:So[8],onTransformChange:So[29]})),Io=!0)},p(ka,Sa){wa&&wa.p&&(!Eo||Sa[1]&8)&&update_slot_base(wa,ya,ka,ka[34],Eo?get_slot_changes(ya,ka[34],Sa,null):get_all_dirty_from_scope(ka[34]),null),ko&&is_function(ko.update)&&Sa[0]&262143&&ko.update.call(null,{viewport:ka[18],minZoom:ka[12],maxZoom:ka[13],initialViewport:ka[11],dragging:ka[23],panZoom:ka[19],onPanZoomStart:ka[0],onPanZoom:ka[1],onPanZoomEnd:ka[2],zoomOnScroll:ka[5],zoomOnDoubleClick:ka[6],zoomOnPinch:ka[7],panOnScroll:ka[9],panOnDrag:ka[10],panOnScrollSpeed:.5,panOnScrollMode:ka[3]||PanOnScrollMode.Free,zoomActivationKeyPressed:ka[14],preventScrolling:typeof ka[4]=="boolean"?ka[4]:!0,noPanClassName:"nopan",noWheelClassName:"nowheel",userSelectionActive:!!ka[15],translateExtent:ka[16],lib:ka[17],paneClickDistance:ka[8],onTransformChange:ka[29]})},i(ka){Eo||(transition_in(wa,ka),Eo=!0)},o(ka){transition_out(wa,ka),Eo=!1},d(ka){ka&&detach($o),wa&&wa.d(ka),Io=!1,$a()}}}function instance$7h(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta,{$$slots:Aa={},$$scope:Ia}=$o,{initialViewport:Pa=void 0}=$o,{onMoveStart:Ra=void 0}=$o,{onMove:Da=void 0}=$o,{onMoveEnd:La=void 0}=$o,{panOnScrollMode:Na}=$o,{preventScrolling:Ba}=$o,{zoomOnScroll:Fa}=$o,{zoomOnDoubleClick:za}=$o,{zoomOnPinch:Ua}=$o,{panOnDrag:Ha}=$o,{panOnScroll:Wa}=$o,{paneClickDistance:ja}=$o;const{viewport:Ya,panZoom:Xa,selectionRect:Za,minZoom:Ga,maxZoom:Ka,dragging:tl,translateExtent:nl,lib:rl,panActivationKeyPressed:il,zoomActivationKeyPressed:sl,viewportInitialized:ul}=useStore();component_subscribe(So,Za,dl=>ko(15,Ca=dl)),component_subscribe(So,Ga,dl=>ko(12,ka=dl)),component_subscribe(So,Ka,dl=>ko(13,Sa=dl)),component_subscribe(So,nl,dl=>ko(16,Ea=dl)),component_subscribe(So,rl,dl=>ko(17,Ta=dl)),component_subscribe(So,il,dl=>ko(33,wa=dl)),component_subscribe(So,sl,dl=>ko(14,Oa=dl)),component_subscribe(So,ul,dl=>ko(36,ya=dl));const al=dl=>Ya.set({x:dl[0],y:dl[1],zoom:dl[2]});return onMount(()=>{set_store_value(ul,ya=!0,ya)}),So.$$set=dl=>{"initialViewport"in dl&&ko(30,Pa=dl.initialViewport),"onMoveStart"in dl&&ko(0,Ra=dl.onMoveStart),"onMove"in dl&&ko(1,Da=dl.onMove),"onMoveEnd"in dl&&ko(2,La=dl.onMoveEnd),"panOnScrollMode"in dl&&ko(3,Na=dl.panOnScrollMode),"preventScrolling"in dl&&ko(4,Ba=dl.preventScrolling),"zoomOnScroll"in dl&&ko(5,Fa=dl.zoomOnScroll),"zoomOnDoubleClick"in dl&&ko(6,za=dl.zoomOnDoubleClick),"zoomOnPinch"in dl&&ko(7,Ua=dl.zoomOnPinch),"panOnDrag"in dl&&ko(31,Ha=dl.panOnDrag),"panOnScroll"in dl&&ko(32,Wa=dl.panOnScroll),"paneClickDistance"in dl&&ko(8,ja=dl.paneClickDistance),"$$scope"in dl&&ko(34,Ia=dl.$$scope)},So.$$.update=()=>{So.$$.dirty[0]&1073741824&&ko(11,Eo=Pa||{x:0,y:0,zoom:1}),So.$$.dirty[1]&5&&ko(10,Io=wa||Ha),So.$$.dirty[1]&6&&ko(9,$a=wa||Wa)},[Ra,Da,La,Na,Ba,Fa,za,Ua,ja,$a,Io,Eo,ka,Sa,Oa,Ca,Ea,Ta,Ya,Xa,Za,Ga,Ka,tl,nl,rl,il,sl,ul,al,Pa,Ha,Wa,wa,Ia,Aa]}class Zoom extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7h,create_fragment$7j,safe_not_equal,{initialViewport:30,onMoveStart:0,onMove:1,onMoveEnd:2,panOnScrollMode:3,preventScrolling:4,zoomOnScroll:5,zoomOnDoubleClick:6,zoomOnPinch:7,panOnDrag:31,panOnScroll:32,paneClickDistance:8},null,[-1,-1])}}const Zoom$1=Zoom,Pane_svelte_svelte_type_style_lang="";function create_fragment$7i(So){let $o,ko,Eo,Io;const $a=So[29].default,ya=create_slot($a,So,So[28],null);return{c(){$o=element("div"),ya&&ya.c(),attr($o,"class","svelte-flow__pane svelte-1esy7hx"),toggle_class($o,"draggable",So[0]===!0||Array.isArray(So[0])&&So[0].includes(0)),toggle_class($o,"dragging",So[4]),toggle_class($o,"selection",So[1])},m(wa,ka){insert$1(wa,$o,ka),ya&&ya.m($o,null),So[30]($o),ko=!0,Eo||(Io=[listen($o,"click",function(){is_function(So[3]?void 0:wrapHandler(So[16],So[2]))&&(So[3]?void 0:wrapHandler(So[16],So[2])).apply(this,arguments)}),listen($o,"pointerdown",function(){is_function(So[3]?So[17]:void 0)&&(So[3]?So[17]:void 0).apply(this,arguments)}),listen($o,"pointermove",function(){is_function(So[3]?So[18]:void 0)&&(So[3]?So[18]:void 0).apply(this,arguments)}),listen($o,"pointerup",function(){is_function(So[3]?So[19]:void 0)&&(So[3]?So[19]:void 0).apply(this,arguments)}),listen($o,"contextmenu",function(){is_function(wrapHandler(So[20],So[2]))&&wrapHandler(So[20],So[2]).apply(this,arguments)})],Eo=!0)},p(wa,ka){So=wa,ya&&ya.p&&(!ko||ka[0]&268435456)&&update_slot_base(ya,$a,So,So[28],ko?get_slot_changes($a,So[28],ka,null):get_all_dirty_from_scope(So[28]),null),(!ko||ka[0]&1)&&toggle_class($o,"draggable",So[0]===!0||Array.isArray(So[0])&&So[0].includes(0)),(!ko||ka[0]&16)&&toggle_class($o,"dragging",So[4]),(!ko||ka[0]&2)&&toggle_class($o,"selection",So[1])},i(wa){ko||(transition_in(ya,wa),ko=!0)},o(wa){transition_out(ya,wa),ko=!1},d(wa){wa&&detach($o),ya&&ya.d(wa),So[30](null),Eo=!1,run_all(Io)}}}function wrapHandler(So,$o){return ko=>{ko.target===$o&&(So==null||So(ko))}}function toggleSelected(So){return $o=>{const ko=So.includes($o.id);return $o.selected!==ko&&($o.selected=ko),$o}}function instance$7g(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta,Aa,Ia,Pa,{$$slots:Ra={},$$scope:Da}=$o,{panOnDrag:La=void 0}=$o,{selectionOnDrag:Na=void 0}=$o;const Ba=createEventDispatcher(),{nodes:Fa,nodeLookup:za,edges:Ua,viewport:Ha,dragging:Wa,elementsSelectable:ja,selectionRect:Ya,selectionRectMode:Xa,selectionKeyPressed:Za,selectionMode:Ga,panActivationKeyPressed:Ka,unselectNodesAndEdges:tl,connection:nl}=useStore();component_subscribe(So,za,ml=>ko(37,Ca=ml)),component_subscribe(So,Ua,ml=>ko(34,ka=ml)),component_subscribe(So,Ha,ml=>ko(36,Oa=ml)),component_subscribe(So,Wa,ml=>ko(4,Pa=ml)),component_subscribe(So,ja,ml=>ko(26,Aa=ml)),component_subscribe(So,Ya,ml=>ko(25,Ea=ml)),component_subscribe(So,Xa,ml=>ko(24,wa=ml)),component_subscribe(So,Za,ml=>ko(23,ya=ml)),component_subscribe(So,Ga,ml=>ko(35,Sa=ml)),component_subscribe(So,Ka,ml=>ko(27,Ia=ml)),component_subscribe(So,nl,ml=>ko(38,Ta=ml));let rl,il=null,sl=[],ul=!1;function al(ml){if(ul||Ta.inProgress){ul=!1;return}Ba("paneclick",{event:ml}),tl(),Xa.set(null)}function dl(ml){var bl,Cl;if(il=rl.getBoundingClientRect(),!ja||!Io||ml.button!==0||ml.target!==rl||!il)return;(Cl=(bl=ml.target)==null?void 0:bl.setPointerCapture)==null||Cl.call(bl,ml.pointerId);const{x:vl,y:$l}=getEventPosition(ml,il);tl(),Ya.set({width:0,height:0,startX:vl,startY:$l,x:vl,y:$l})}function gl(ml){if(!Io||!il||!Ea)return;ul=!0;const vl=getEventPosition(ml,il),$l=Ea.startX??0,bl=Ea.startY??0,Cl={...Ea,x:vl.x<$l?vl.x:$l,y:vl.y<bl?vl.y:bl,width:Math.abs(vl.x-$l),height:Math.abs(vl.y-bl)},wl=sl.map(Gl=>Gl.id),Al=getConnectedEdges(sl,ka).map(Gl=>Gl.id);sl=getNodesInside(Ca,Cl,[Oa.x,Oa.y,Oa.zoom],Sa===SelectionMode.Partial,!0);const Ll=getConnectedEdges(sl,ka).map(Gl=>Gl.id),Dl=sl.map(Gl=>Gl.id);(wl.length!==Dl.length||Dl.some(Gl=>!wl.includes(Gl)))&&Fa.update(Gl=>Gl.map(toggleSelected(Dl))),(Al.length!==Ll.length||Ll.some(Gl=>!Al.includes(Gl)))&&Ua.update(Gl=>Gl.map(toggleSelected(Ll))),Xa.set("user"),Ya.set(Cl)}function cl(ml){var vl,$l;ml.button===0&&(($l=(vl=ml.target)==null?void 0:vl.releasePointerCapture)==null||$l.call(vl,ml.pointerId),!Io&&wa==="user"&&ml.target===rl&&(al==null||al(ml)),Ya.set(null),sl.length>0&&set_store_value(Xa,wa="nodes",wa),ya&&(ul=!1))}const fl=ml=>{if(Array.isArray(Eo)&&(Eo!=null&&Eo.includes(2))){ml.preventDefault();return}Ba("panecontextmenu",{event:ml})};function pl(ml){binding_callbacks[ml?"unshift":"push"](()=>{rl=ml,ko(2,rl)})}return So.$$set=ml=>{"panOnDrag"in ml&&ko(0,La=ml.panOnDrag),"selectionOnDrag"in ml&&ko(21,Na=ml.selectionOnDrag),"$$scope"in ml&&ko(28,Da=ml.$$scope)},So.$$.update=()=>{So.$$.dirty[0]&134217729&&ko(22,Eo=Ia||La),So.$$.dirty[0]&48234496&&ko(1,Io=ya||Ea||Na&&Eo!==!0),So.$$.dirty[0]&83886082&&ko(3,$a=Aa&&(Io||wa==="user"))},[La,Io,rl,$a,Pa,za,Ua,Ha,Wa,ja,Ya,Xa,Za,Ga,Ka,nl,al,dl,gl,cl,fl,Na,Eo,ya,wa,Ea,Aa,Ia,Da,Ra,pl]}class Pane extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7g,create_fragment$7i,safe_not_equal,{panOnDrag:0,selectionOnDrag:21},null,[-1,-1])}}const Pane$1=Pane,Viewport_svelte_svelte_type_style_lang="";function create_fragment$7h(So){let $o,ko;const Eo=So[3].default,Io=create_slot(Eo,So,So[2],null);return{c(){$o=element("div"),Io&&Io.c(),attr($o,"class","svelte-flow__viewport xyflow__viewport svelte-1floaup"),set_style($o,"transform","translate("+So[0].x+"px, "+So[0].y+"px) scale("+So[0].zoom+")")},m($a,ya){insert$1($a,$o,ya),Io&&Io.m($o,null),ko=!0},p($a,[ya]){Io&&Io.p&&(!ko||ya&4)&&update_slot_base(Io,Eo,$a,$a[2],ko?get_slot_changes(Eo,$a[2],ya,null):get_all_dirty_from_scope($a[2]),null),(!ko||ya&1)&&set_style($o,"transform","translate("+$a[0].x+"px, "+$a[0].y+"px) scale("+$a[0].zoom+")")},i($a){ko||(transition_in(Io,$a),ko=!0)},o($a){transition_out(Io,$a),ko=!1},d($a){$a&&detach($o),Io&&Io.d($a)}}}function instance$7f(So,$o,ko){let Eo,{$$slots:Io={},$$scope:$a}=$o;const{viewport:ya}=useStore();return component_subscribe(So,ya,wa=>ko(0,Eo=wa)),So.$$set=wa=>{"$$scope"in wa&&ko(2,$a=wa.$$scope)},[Eo,ya,$a,Io]}class Viewport extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7f,create_fragment$7h,safe_not_equal,{})}}const ViewportComponent=Viewport;function drag(So,$o){const{store:ko,onDrag:Eo,onDragStart:Io,onDragStop:$a,onNodeMouseDown:ya}=$o,wa=XYDrag({onDrag:Eo,onDragStart:Io,onDragStop:$a,onNodeMouseDown:ya,getStoreItems:()=>{const Sa=get_store_value(ko.snapGrid),Oa=get_store_value(ko.viewport);return{nodes:get_store_value(ko.nodes),nodeLookup:get_store_value(ko.nodeLookup),edges:get_store_value(ko.edges),nodeExtent:get_store_value(ko.nodeExtent),snapGrid:Sa||[0,0],snapToGrid:!!Sa,nodeOrigin:get_store_value(ko.nodeOrigin),multiSelectionActive:get_store_value(ko.multiselectionKeyPressed),domNode:get_store_value(ko.domNode),transform:[Oa.x,Oa.y,Oa.zoom],autoPanOnNodeDrag:get_store_value(ko.autoPanOnNodeDrag),nodesDraggable:get_store_value(ko.nodesDraggable),selectNodesOnDrag:get_store_value(ko.selectNodesOnDrag),nodeDragThreshold:get_store_value(ko.nodeDragThreshold),unselectNodesAndEdges:ko.unselectNodesAndEdges,updateNodePositions:ko.updateNodePositions,panBy:ko.panBy}}});function ka(Sa,Oa){if(Oa.disabled){wa.destroy();return}wa.update({domNode:Sa,noDragClassName:Oa.noDragClass,handleSelector:Oa.handleSelector,nodeId:Oa.nodeId,isSelectable:Oa.isSelectable,nodeClickDistance:Oa.nodeClickDistance})}return ka(So,$o),{update(Sa){ka(So,Sa)},destroy(){wa.destroy()}}}function getNodeInlineStyleDimensions({width:So,height:$o,initialWidth:ko,initialHeight:Eo,measuredWidth:Io,measuredHeight:$a}){if(Io===void 0&&$a===void 0){const ya=So??ko,wa=$o??Eo;return{width:ya?`width:${ya}px;`:"",height:wa?`height:${wa}px;`:""}}return{width:So?`width:${So}px;`:"",height:$o?`height:${$o}px;`:""}}function create_if_block$3n(So){let $o,ko,Eo,Io,$a,ya=`translate(${So[12]}px, ${So[13]}px)`,wa,ka,Sa;var Oa=So[27];function Ca(Ea,Ta){return{props:{data:Ea[2],id:Ea[1],selected:Ea[3]??!1,selectable:Ea[5]??Ea[28]??!0,deletable:Ea[7]??!0,sourcePosition:Ea[14],targetPosition:Ea[15],zIndex:Ea[16],dragging:Ea[9],draggable:Ea[4]??Ea[29]??!0,dragHandle:Ea[19],parentId:Ea[21],type:Ea[25],isConnectable:Ea[30],positionAbsoluteX:Ea[12],positionAbsoluteY:Ea[13],width:Ea[17],height:Ea[18]}}}return Oa&&(ko=construct_svelte_component(Oa,Ca(So))),{c(){$o=element("div"),ko&&create_component(ko.$$.fragment),attr($o,"data-id",So[1]),attr($o,"class",Eo=cc(["svelte-flow__node",`svelte-flow__node-${So[25]}`,So[23]])),attr($o,"style",Io=(So[10]??"")+";"+So[26].width+So[26].height),toggle_class($o,"dragging",So[9]),toggle_class($o,"selected",So[3]),toggle_class($o,"draggable",So[4]),toggle_class($o,"connectable",So[6]),toggle_class($o,"selectable",So[5]),toggle_class($o,"nopan",So[4]),toggle_class($o,"parent",So[11]),set_style($o,"z-index",So[16]),set_style($o,"transform",ya),set_style($o,"visibility",So[20]?"visible":"hidden")},m(Ea,Ta){insert$1(Ea,$o,Ta),ko&&mount_component(ko,$o,null),So[54]($o),wa=!0,ka||(Sa=[action_destroyer($a=drag.call(null,$o,{nodeId:So[1],isSelectable:So[5],disabled:!1,handleSelector:So[19],noDragClass:"nodrag",nodeClickDistance:So[22],onNodeMouseDown:So[33],onDrag:So[51],onDragStart:So[52],onDragStop:So[53],store:So[31]})),listen($o,"click",So[38]),listen($o,"mouseenter",So[55]),listen($o,"mouseleave",So[56]),listen($o,"mousemove",So[57]),listen($o,"contextmenu",So[58])],ka=!0)},p(Ea,Ta){if(Ta[0]&134217728&&Oa!==(Oa=Ea[27])){if(ko){group_outros();const Ia=ko;transition_out(Ia.$$.fragment,1,0,()=>{destroy_component(Ia,1)}),check_outros()}Oa?(ko=construct_svelte_component(Oa,Ca(Ea)),create_component(ko.$$.fragment),transition_in(ko.$$.fragment,1),mount_component(ko,$o,null)):ko=null}else if(Oa){const Ia={};Ta[0]&4&&(Ia.data=Ea[2]),Ta[0]&2&&(Ia.id=Ea[1]),Ta[0]&8&&(Ia.selected=Ea[3]??!1),Ta[0]&268435488&&(Ia.selectable=Ea[5]??Ea[28]??!0),Ta[0]&128&&(Ia.deletable=Ea[7]??!0),Ta[0]&16384&&(Ia.sourcePosition=Ea[14]),Ta[0]&32768&&(Ia.targetPosition=Ea[15]),Ta[0]&65536&&(Ia.zIndex=Ea[16]),Ta[0]&512&&(Ia.dragging=Ea[9]),Ta[0]&536870928&&(Ia.draggable=Ea[4]??Ea[29]??!0),Ta[0]&524288&&(Ia.dragHandle=Ea[19]),Ta[0]&2097152&&(Ia.parentId=Ea[21]),Ta[0]&33554432&&(Ia.type=Ea[25]),Ta[0]&1073741824&&(Ia.isConnectable=Ea[30]),Ta[0]&4096&&(Ia.positionAbsoluteX=Ea[12]),Ta[0]&8192&&(Ia.positionAbsoluteY=Ea[13]),Ta[0]&131072&&(Ia.width=Ea[17]),Ta[0]&262144&&(Ia.height=Ea[18]),ko.$set(Ia)}(!wa||Ta[0]&2)&&attr($o,"data-id",Ea[1]),(!wa||Ta[0]&41943040&&Eo!==(Eo=cc(["svelte-flow__node",`svelte-flow__node-${Ea[25]}`,Ea[23]])))&&attr($o,"class",Eo),(!wa||Ta[0]&67109888&&Io!==(Io=(Ea[10]??"")+";"+Ea[26].width+Ea[26].height))&&attr($o,"style",Io),$a&&is_function($a.update)&&Ta[0]&4718626&&$a.update.call(null,{nodeId:Ea[1],isSelectable:Ea[5],disabled:!1,handleSelector:Ea[19],noDragClass:"nodrag",nodeClickDistance:Ea[22],onNodeMouseDown:Ea[33],onDrag:Ea[51],onDragStart:Ea[52],onDragStop:Ea[53],store:Ea[31]}),(!wa||Ta[0]&41943552)&&toggle_class($o,"dragging",Ea[9]),(!wa||Ta[0]&41943048)&&toggle_class($o,"selected",Ea[3]),(!wa||Ta[0]&41943056)&&toggle_class($o,"draggable",Ea[4]),(!wa||Ta[0]&41943104)&&toggle_class($o,"connectable",Ea[6]),(!wa||Ta[0]&41943072)&&toggle_class($o,"selectable",Ea[5]),(!wa||Ta[0]&41943056)&&toggle_class($o,"nopan",Ea[4]),(!wa||Ta[0]&41945088)&&toggle_class($o,"parent",Ea[11]);const Aa=Ta[0]&67109888;(Ta[0]&67175424||Aa)&&set_style($o,"z-index",Ea[16]),(Ta[0]&67122176&&ya!==(ya=`translate(${Ea[12]}px, ${Ea[13]}px)`)||Aa)&&set_style($o,"transform",ya),(Ta[0]&68158464||Aa)&&set_style($o,"visibility",Ea[20]?"visible":"hidden")},i(Ea){wa||(ko&&transition_in(ko.$$.fragment,Ea),wa=!0)},o(Ea){ko&&transition_out(ko.$$.fragment,Ea),wa=!1},d(Ea){Ea&&detach($o),ko&&destroy_component(ko),So[54](null),ka=!1,run_all(Sa)}}}function create_fragment$7g(So){let $o,ko,Eo=!So[8]&&create_if_block$3n(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m(Io,$a){Eo&&Eo.m(Io,$a),insert$1(Io,$o,$a),ko=!0},p(Io,$a){Io[8]?Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros()):Eo?(Eo.p(Io,$a),$a[0]&256&&transition_in(Eo,1)):(Eo=create_if_block$3n(Io),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o))},i(Io){ko||(transition_in(Eo),ko=!0)},o(Io){transition_out(Eo),ko=!1},d(Io){Io&&detach($o),Eo&&Eo.d(Io)}}}function instance$7e(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa,Oa,{node:Ca}=$o,{id:Ea}=$o,{data:Ta={}}=$o,{selected:Aa=!1}=$o,{draggable:Ia=void 0}=$o,{selectable:Pa=void 0}=$o,{connectable:Ra=!0}=$o,{deletable:Da=!0}=$o,{hidden:La=!1}=$o,{dragging:Na=!1}=$o,{resizeObserver:Ba=null}=$o,{style:Fa=void 0}=$o,{type:za="default"}=$o,{isParent:Ua=!1}=$o,{positionX:Ha}=$o,{positionY:Wa}=$o,{sourcePosition:ja=void 0}=$o,{targetPosition:Ya=void 0}=$o,{zIndex:Xa}=$o,{measuredWidth:Za=void 0}=$o,{measuredHeight:Ga=void 0}=$o,{initialWidth:Ka=void 0}=$o,{initialHeight:tl=void 0}=$o,{width:nl=void 0}=$o,{height:rl=void 0}=$o,{dragHandle:il=void 0}=$o,{initialized:sl=!1}=$o,{parentId:ul=void 0}=$o,{nodeClickDistance:al=void 0}=$o,{class:dl=""}=$o;const gl=useStore(),{nodeTypes:cl,nodeDragThreshold:fl,selectNodesOnDrag:pl,handleNodeSelection:ml,updateNodeInternals:vl,elementsSelectable:$l,nodesDraggable:bl}=gl;component_subscribe(So,cl,Il=>ko(50,wa=Il)),component_subscribe(So,$l,Il=>ko(28,ka=Il)),component_subscribe(So,bl,Il=>ko(29,Sa=Il));let Cl,wl=null;const Al=createEventDispatcher(),Ll=writable(Ra);component_subscribe(So,Ll,Il=>ko(30,Oa=Il));let Dl,Gl,Ol;setContext("svelteflow__node_id",Ea),setContext("svelteflow__node_connectable",Ll),onDestroy(()=>{wl&&(Ba==null||Ba.unobserve(wl))});function ic(Il){Pa&&(!get_store_value(pl)||!Ia||get_store_value(fl)>0)&&ml(Ea),Al("nodeclick",{node:Ca.internals.userNode,event:Il})}const zl=(Il,Wl,Tl,Bl)=>{Al("nodedrag",{event:Il,targetNode:Tl,nodes:Bl})},Ml=(Il,Wl,Tl,Bl)=>{Al("nodedragstart",{event:Il,targetNode:Tl,nodes:Bl})},Kl=(Il,Wl,Tl,Bl)=>{Al("nodedragstop",{event:Il,targetNode:Tl,nodes:Bl})};function Ul(Il){binding_callbacks[Il?"unshift":"push"](()=>{Cl=Il,ko(24,Cl)})}const Yl=Il=>Al("nodemouseenter",{node:Ca,event:Il}),jl=Il=>Al("nodemouseleave",{node:Ca,event:Il}),Rl=Il=>Al("nodemousemove",{node:Ca,event:Il}),ql=Il=>Al("nodecontextmenu",{node:Ca,event:Il});return So.$$set=Il=>{"node"in Il&&ko(0,Ca=Il.node),"id"in Il&&ko(1,Ea=Il.id),"data"in Il&&ko(2,Ta=Il.data),"selected"in Il&&ko(3,Aa=Il.selected),"draggable"in Il&&ko(4,Ia=Il.draggable),"selectable"in Il&&ko(5,Pa=Il.selectable),"connectable"in Il&&ko(6,Ra=Il.connectable),"deletable"in Il&&ko(7,Da=Il.deletable),"hidden"in Il&&ko(8,La=Il.hidden),"dragging"in Il&&ko(9,Na=Il.dragging),"resizeObserver"in Il&&ko(39,Ba=Il.resizeObserver),"style"in Il&&ko(10,Fa=Il.style),"type"in Il&&ko(40,za=Il.type),"isParent"in Il&&ko(11,Ua=Il.isParent),"positionX"in Il&&ko(12,Ha=Il.positionX),"positionY"in Il&&ko(13,Wa=Il.positionY),"sourcePosition"in Il&&ko(14,ja=Il.sourcePosition),"targetPosition"in Il&&ko(15,Ya=Il.targetPosition),"zIndex"in Il&&ko(16,Xa=Il.zIndex),"measuredWidth"in Il&&ko(41,Za=Il.measuredWidth),"measuredHeight"in Il&&ko(42,Ga=Il.measuredHeight),"initialWidth"in Il&&ko(43,Ka=Il.initialWidth),"initialHeight"in Il&&ko(44,tl=Il.initialHeight),"width"in Il&&ko(17,nl=Il.width),"height"in Il&&ko(18,rl=Il.height),"dragHandle"in Il&&ko(19,il=Il.dragHandle),"initialized"in Il&&ko(20,sl=Il.initialized),"parentId"in Il&&ko(21,ul=Il.parentId),"nodeClickDistance"in Il&&ko(22,al=Il.nodeClickDistance),"class"in Il&&ko(23,dl=Il.class)},So.$$.update=()=>{So.$$.dirty[1]&512&&ko(25,Eo=za||"default"),So.$$.dirty[0]&33554432|So.$$.dirty[1]&524288&&ko(49,Io=!!wa[Eo]),So.$$.dirty[0]&33554432|So.$$.dirty[1]&524288&&ko(27,$a=wa[Eo]||DefaultNode$1),So.$$.dirty[1]&262656&&(Io||console.warn("003",errorMessages.error003(za))),So.$$.dirty[0]&393216|So.$$.dirty[1]&15360&&ko(26,ya=getNodeInlineStyleDimensions({width:nl,height:rl,initialWidth:Ka,initialHeight:tl,measuredWidth:Za,measuredHeight:Ga})),So.$$.dirty[0]&64&&Ll.set(!!Ra),So.$$.dirty[0]&50380802|So.$$.dirty[1]&229376&&((Dl&&Eo!==Dl||Gl&&ja!==Gl||Ol&&Ya!==Ol)&&requestAnimationFrame(()=>vl(new Map([[Ea,{id:Ea,nodeElement:Cl,force:!0}]]))),ko(46,Dl=Eo),ko(47,Gl=ja),ko(48,Ol=Ya)),So.$$.dirty[0]&17825792|So.$$.dirty[1]&16640&&Ba&&(Cl!==wl||!sl)&&(wl&&Ba.unobserve(wl),Cl&&Ba.observe(Cl),ko(45,wl=Cl))},[Ca,Ea,Ta,Aa,Ia,Pa,Ra,Da,La,Na,Fa,Ua,Ha,Wa,ja,Ya,Xa,nl,rl,il,sl,ul,al,dl,Cl,Eo,ya,$a,ka,Sa,Oa,gl,cl,ml,$l,bl,Al,Ll,ic,Ba,za,Za,Ga,Ka,tl,wl,Dl,Gl,Ol,Io,wa,zl,Ml,Kl,Ul,Yl,jl,Rl,ql]}let NodeWrapper$1=class extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7e,create_fragment$7g,not_equal,{node:0,id:1,data:2,selected:3,draggable:4,selectable:5,connectable:6,deletable:7,hidden:8,dragging:9,resizeObserver:39,style:10,type:40,isParent:11,positionX:12,positionY:13,sourcePosition:14,targetPosition:15,zIndex:16,measuredWidth:41,measuredHeight:42,initialWidth:43,initialHeight:44,width:17,height:18,dragHandle:19,initialized:20,parentId:21,nodeClickDistance:22,class:23},null,[-1,-1])}};const NodeWrapper$2=NodeWrapper$1,NodeRenderer_svelte_svelte_type_style_lang="",{Map:Map_1}=globals$1;function get_each_context$1x(So,$o,ko){const Eo=So.slice();return Eo[21]=$o[ko],Eo}function create_each_block$1x(So,$o){let ko,Eo,Io;return Eo=new NodeWrapper$2({props:{node:$o[21],id:$o[21].id,data:$o[21].data,selected:!!$o[21].selected,hidden:!!$o[21].hidden,draggable:!!($o[21].draggable||$o[2]&&typeof $o[21].draggable>"u"),selectable:!!($o[21].selectable||$o[3]&&typeof $o[21].selectable>"u"),connectable:!!($o[21].connectable||$o[4]&&typeof $o[21].connectable>"u"),deletable:$o[21].deletable??!0,positionX:$o[21].internals.positionAbsolute.x,positionY:$o[21].internals.positionAbsolute.y,isParent:$o[5].has($o[21].id),style:$o[21].style,class:$o[21].class,type:$o[21].type??"default",sourcePosition:$o[21].sourcePosition,targetPosition:$o[21].targetPosition,dragging:$o[21].dragging,zIndex:$o[21].internals.z??0,dragHandle:$o[21].dragHandle,initialized:nodeHasDimensions($o[21]),width:$o[21].width,height:$o[21].height,initialWidth:$o[21].initialWidth,initialHeight:$o[21].initialHeight,measuredWidth:$o[21].measured.width,measuredHeight:$o[21].measured.height,parentId:$o[21].parentId,resizeObserver:$o[11],nodeClickDistance:$o[0]}}),Eo.$on("nodeclick",$o[12]),Eo.$on("nodemouseenter",$o[13]),Eo.$on("nodemousemove",$o[14]),Eo.$on("nodemouseleave",$o[15]),Eo.$on("nodedrag",$o[16]),Eo.$on("nodedragstart",$o[17]),Eo.$on("nodedragstop",$o[18]),Eo.$on("nodecontextmenu",$o[19]),{key:So,first:null,c(){ko=empty$4(),create_component(Eo.$$.fragment),this.first=ko},m($a,ya){insert$1($a,ko,ya),mount_component(Eo,$a,ya),Io=!0},p($a,ya){$o=$a;const wa={};ya&2&&(wa.node=$o[21]),ya&2&&(wa.id=$o[21].id),ya&2&&(wa.data=$o[21].data),ya&2&&(wa.selected=!!$o[21].selected),ya&2&&(wa.hidden=!!$o[21].hidden),ya&6&&(wa.draggable=!!($o[21].draggable||$o[2]&&typeof $o[21].draggable>"u")),ya&10&&(wa.selectable=!!($o[21].selectable||$o[3]&&typeof $o[21].selectable>"u")),ya&18&&(wa.connectable=!!($o[21].connectable||$o[4]&&typeof $o[21].connectable>"u")),ya&2&&(wa.deletable=$o[21].deletable??!0),ya&2&&(wa.positionX=$o[21].internals.positionAbsolute.x),ya&2&&(wa.positionY=$o[21].internals.positionAbsolute.y),ya&34&&(wa.isParent=$o[5].has($o[21].id)),ya&2&&(wa.style=$o[21].style),ya&2&&(wa.class=$o[21].class),ya&2&&(wa.type=$o[21].type??"default"),ya&2&&(wa.sourcePosition=$o[21].sourcePosition),ya&2&&(wa.targetPosition=$o[21].targetPosition),ya&2&&(wa.dragging=$o[21].dragging),ya&2&&(wa.zIndex=$o[21].internals.z??0),ya&2&&(wa.dragHandle=$o[21].dragHandle),ya&2&&(wa.initialized=nodeHasDimensions($o[21])),ya&2&&(wa.width=$o[21].width),ya&2&&(wa.height=$o[21].height),ya&2&&(wa.initialWidth=$o[21].initialWidth),ya&2&&(wa.initialHeight=$o[21].initialHeight),ya&2&&(wa.measuredWidth=$o[21].measured.width),ya&2&&(wa.measuredHeight=$o[21].measured.height),ya&2&&(wa.parentId=$o[21].parentId),ya&1&&(wa.nodeClickDistance=$o[0]),Eo.$set(wa)},i($a){Io||(transition_in(Eo.$$.fragment,$a),Io=!0)},o($a){transition_out(Eo.$$.fragment,$a),Io=!1},d($a){$a&&detach(ko),destroy_component(Eo,$a)}}}function create_fragment$7f(So){let $o,ko=[],Eo=new Map_1,Io,$a=ensure_array_like(So[1]);const ya=wa=>wa[21].id;for(let wa=0;wa<$a.length;wa+=1){let ka=get_each_context$1x(So,$a,wa),Sa=ya(ka);Eo.set(Sa,ko[wa]=create_each_block$1x(Sa,ka))}return{c(){$o=element("div");for(let wa=0;wa<ko.length;wa+=1)ko[wa].c();attr($o,"class","svelte-flow__nodes svelte-tf4uy4")},m(wa,ka){insert$1(wa,$o,ka);for(let Sa=0;Sa<ko.length;Sa+=1)ko[Sa]&&ko[Sa].m($o,null);Io=!0},p(wa,[ka]){ka&2111&&($a=ensure_array_like(wa[1]),group_outros(),ko=update_keyed_each(ko,ka,ya,1,wa,$a,Eo,$o,outro_and_destroy_block,create_each_block$1x,null,get_each_context$1x),check_outros())},i(wa){if(!Io){for(let ka=0;ka<$a.length;ka+=1)transition_in(ko[ka]);Io=!0}},o(wa){for(let ka=0;ka<ko.length;ka+=1)transition_out(ko[ka]);Io=!1},d(wa){wa&&detach($o);for(let ka=0;ka<ko.length;ka+=1)ko[ka].d()}}}function instance$7d(So,$o,ko){let Eo,Io,$a,ya,wa,{nodeClickDistance:ka=0}=$o;const{visibleNodes:Sa,nodesDraggable:Oa,nodesConnectable:Ca,elementsSelectable:Ea,updateNodeInternals:Ta,parentLookup:Aa}=useStore();component_subscribe(So,Sa,Ua=>ko(1,Eo=Ua)),component_subscribe(So,Oa,Ua=>ko(2,Io=Ua)),component_subscribe(So,Ca,Ua=>ko(4,ya=Ua)),component_subscribe(So,Ea,Ua=>ko(3,$a=Ua)),component_subscribe(So,Aa,Ua=>ko(5,wa=Ua));const Ia=typeof ResizeObserver>"u"?null:new ResizeObserver(Ua=>{const Ha=new Map;Ua.forEach(Wa=>{const ja=Wa.target.getAttribute("data-id");Ha.set(ja,{id:ja,nodeElement:Wa.target,force:!0})}),Ta(Ha)});onDestroy(()=>{Ia==null||Ia.disconnect()});function Pa(Ua){bubble.call(this,So,Ua)}function Ra(Ua){bubble.call(this,So,Ua)}function Da(Ua){bubble.call(this,So,Ua)}function La(Ua){bubble.call(this,So,Ua)}function Na(Ua){bubble.call(this,So,Ua)}function Ba(Ua){bubble.call(this,So,Ua)}function Fa(Ua){bubble.call(this,So,Ua)}function za(Ua){bubble.call(this,So,Ua)}return So.$$set=Ua=>{"nodeClickDistance"in Ua&&ko(0,ka=Ua.nodeClickDistance)},[ka,Eo,Io,$a,ya,wa,Sa,Oa,Ca,Ea,Aa,Ia,Pa,Ra,Da,La,Na,Ba,Fa,za]}class NodeRenderer extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7d,create_fragment$7f,safe_not_equal,{nodeClickDistance:0})}}const NodeRenderer$1=NodeRenderer;function create_if_block$3m(So){let $o,ko,Eo,Io,$a,ya,wa,ka;var Sa=So[27];function Oa(Ca,Ea){return{props:{id:Ca[0],source:Ca[1],target:Ca[2],sourceX:Ca[14],sourceY:Ca[15],targetX:Ca[16],targetY:Ca[17],sourcePosition:Ca[18],targetPosition:Ca[19],animated:Ca[6],selected:Ca[7],label:Ca[10],labelStyle:Ca[11],data:Ca[3],style:Ca[4],interactionWidth:Ca[21],selectable:Ca[24],deletable:Ca[8]??!0,type:Ca[23],sourceHandleId:Ca[12],targetHandleId:Ca[13],markerStart:Ca[26],markerEnd:Ca[25]}}}return Sa&&(Eo=construct_svelte_component(Sa,Oa(So))),{c(){$o=svg_element("svg"),ko=svg_element("g"),Eo&&create_component(Eo.$$.fragment),attr(ko,"class",Io=cc(["svelte-flow__edge",So[22]])),attr(ko,"data-id",So[0]),attr(ko,"aria-label",$a=So[20]===null?void 0:So[20]?So[20]:`Edge from ${So[1]} to ${So[2]}`),attr(ko,"role","img"),toggle_class(ko,"animated",So[6]),toggle_class(ko,"selected",So[7]),toggle_class(ko,"selectable",So[24]),set_style($o,"z-index",So[5])},m(Ca,Ea){insert$1(Ca,$o,Ea),append$2($o,ko),Eo&&mount_component(Eo,ko,null),ya=!0,wa||(ka=[listen(ko,"click",So[32]),listen(ko,"contextmenu",So[41]),listen(ko,"mouseenter",So[42]),listen(ko,"mouseleave",So[43])],wa=!0)},p(Ca,Ea){if(Ea[0]&134217728&&Sa!==(Sa=Ca[27])){if(Eo){group_outros();const Ta=Eo;transition_out(Ta.$$.fragment,1,0,()=>{destroy_component(Ta,1)}),check_outros()}Sa?(Eo=construct_svelte_component(Sa,Oa(Ca)),create_component(Eo.$$.fragment),transition_in(Eo.$$.fragment,1),mount_component(Eo,ko,null)):Eo=null}else if(Sa){const Ta={};Ea[0]&1&&(Ta.id=Ca[0]),Ea[0]&2&&(Ta.source=Ca[1]),Ea[0]&4&&(Ta.target=Ca[2]),Ea[0]&16384&&(Ta.sourceX=Ca[14]),Ea[0]&32768&&(Ta.sourceY=Ca[15]),Ea[0]&65536&&(Ta.targetX=Ca[16]),Ea[0]&131072&&(Ta.targetY=Ca[17]),Ea[0]&262144&&(Ta.sourcePosition=Ca[18]),Ea[0]&524288&&(Ta.targetPosition=Ca[19]),Ea[0]&64&&(Ta.animated=Ca[6]),Ea[0]&128&&(Ta.selected=Ca[7]),Ea[0]&1024&&(Ta.label=Ca[10]),Ea[0]&2048&&(Ta.labelStyle=Ca[11]),Ea[0]&8&&(Ta.data=Ca[3]),Ea[0]&16&&(Ta.style=Ca[4]),Ea[0]&2097152&&(Ta.interactionWidth=Ca[21]),Ea[0]&16777216&&(Ta.selectable=Ca[24]),Ea[0]&256&&(Ta.deletable=Ca[8]??!0),Ea[0]&8388608&&(Ta.type=Ca[23]),Ea[0]&4096&&(Ta.sourceHandleId=Ca[12]),Ea[0]&8192&&(Ta.targetHandleId=Ca[13]),Ea[0]&67108864&&(Ta.markerStart=Ca[26]),Ea[0]&33554432&&(Ta.markerEnd=Ca[25]),Eo.$set(Ta)}(!ya||Ea[0]&4194304&&Io!==(Io=cc(["svelte-flow__edge",Ca[22]])))&&attr(ko,"class",Io),(!ya||Ea[0]&1)&&attr(ko,"data-id",Ca[0]),(!ya||Ea[0]&1048582&&$a!==($a=Ca[20]===null?void 0:Ca[20]?Ca[20]:`Edge from ${Ca[1]} to ${Ca[2]}`))&&attr(ko,"aria-label",$a),(!ya||Ea[0]&4194368)&&toggle_class(ko,"animated",Ca[6]),(!ya||Ea[0]&4194432)&&toggle_class(ko,"selected",Ca[7]),(!ya||Ea[0]&20971520)&&toggle_class(ko,"selectable",Ca[24]),Ea[0]&32&&set_style($o,"z-index",Ca[5])},i(Ca){ya||(Eo&&transition_in(Eo.$$.fragment,Ca),ya=!0)},o(Ca){Eo&&transition_out(Eo.$$.fragment,Ca),ya=!1},d(Ca){Ca&&detach($o),Eo&&destroy_component(Eo),wa=!1,run_all(ka)}}}function create_fragment$7e(So){let $o,ko,Eo=!So[9]&&create_if_block$3m(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m(Io,$a){Eo&&Eo.m(Io,$a),insert$1(Io,$o,$a),ko=!0},p(Io,$a){Io[9]?Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros()):Eo?(Eo.p(Io,$a),$a[0]&512&&transition_in(Eo,1)):(Eo=create_if_block$3m(Io),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o))},i(Io){ko||(transition_in(Eo),ko=!0)},o(Io){transition_out(Eo),ko=!1},d(Io){Io&&detach($o),Eo&&Eo.d(Io)}}}function instance$7c(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,{id:Ea}=$o,{type:Ta="default"}=$o,{source:Aa=""}=$o,{target:Ia=""}=$o,{data:Pa={}}=$o,{style:Ra=void 0}=$o,{zIndex:Da=void 0}=$o,{animated:La=!1}=$o,{selected:Na=!1}=$o,{selectable:Ba=void 0}=$o,{deletable:Fa=void 0}=$o,{hidden:za=!1}=$o,{label:Ua=void 0}=$o,{labelStyle:Ha=void 0}=$o,{markerStart:Wa=void 0}=$o,{markerEnd:ja=void 0}=$o,{sourceHandle:Ya=void 0}=$o,{targetHandle:Xa=void 0}=$o,{sourceX:Za}=$o,{sourceY:Ga}=$o,{targetX:Ka}=$o,{targetY:tl}=$o,{sourcePosition:nl}=$o,{targetPosition:rl}=$o,{ariaLabel:il=void 0}=$o,{interactionWidth:sl=void 0}=$o,{class:ul=""}=$o;setContext("svelteflow__edge_id",Ea);const{edgeLookup:al,edgeTypes:dl,flowId:gl,elementsSelectable:cl}=useStore();component_subscribe(So,al,wl=>ko(44,ka=wl)),component_subscribe(So,dl,wl=>ko(40,Ca=wl)),component_subscribe(So,gl,wl=>ko(39,Oa=wl)),component_subscribe(So,cl,wl=>ko(38,Sa=wl));const fl=createEventDispatcher(),pl=useHandleEdgeSelect();function ml(wl){const Al=ka.get(Ea);Al&&(pl(Ea),fl("edgeclick",{event:wl,edge:Al}))}function vl(wl,Al){const Ll=ka.get(Ea);Ll&&fl(Al,{event:wl,edge:Ll})}const $l=wl=>{vl(wl,"edgecontextmenu")},bl=wl=>{vl(wl,"edgemouseenter")},Cl=wl=>{vl(wl,"edgemouseleave")};return So.$$set=wl=>{"id"in wl&&ko(0,Ea=wl.id),"type"in wl&&ko(34,Ta=wl.type),"source"in wl&&ko(1,Aa=wl.source),"target"in wl&&ko(2,Ia=wl.target),"data"in wl&&ko(3,Pa=wl.data),"style"in wl&&ko(4,Ra=wl.style),"zIndex"in wl&&ko(5,Da=wl.zIndex),"animated"in wl&&ko(6,La=wl.animated),"selected"in wl&&ko(7,Na=wl.selected),"selectable"in wl&&ko(35,Ba=wl.selectable),"deletable"in wl&&ko(8,Fa=wl.deletable),"hidden"in wl&&ko(9,za=wl.hidden),"label"in wl&&ko(10,Ua=wl.label),"labelStyle"in wl&&ko(11,Ha=wl.labelStyle),"markerStart"in wl&&ko(36,Wa=wl.markerStart),"markerEnd"in wl&&ko(37,ja=wl.markerEnd),"sourceHandle"in wl&&ko(12,Ya=wl.sourceHandle),"targetHandle"in wl&&ko(13,Xa=wl.targetHandle),"sourceX"in wl&&ko(14,Za=wl.sourceX),"sourceY"in wl&&ko(15,Ga=wl.sourceY),"targetX"in wl&&ko(16,Ka=wl.targetX),"targetY"in wl&&ko(17,tl=wl.targetY),"sourcePosition"in wl&&ko(18,nl=wl.sourcePosition),"targetPosition"in wl&&ko(19,rl=wl.targetPosition),"ariaLabel"in wl&&ko(20,il=wl.ariaLabel),"interactionWidth"in wl&&ko(21,sl=wl.interactionWidth),"class"in wl&&ko(22,ul=wl.class)},So.$$.update=()=>{So.$$.dirty[1]&8&&ko(23,Eo=Ta||"default"),So.$$.dirty[0]&8388608|So.$$.dirty[1]&512&&ko(27,Io=Ca[Eo]||BezierEdgeInternal$1),So.$$.dirty[1]&288&&ko(26,$a=Wa?`url('#${getMarkerId(Wa,Oa)}')`:void 0),So.$$.dirty[1]&320&&ko(25,ya=ja?`url('#${getMarkerId(ja,Oa)}')`:void 0),So.$$.dirty[1]&144&&ko(24,wa=Ba??Sa)},[Ea,Aa,Ia,Pa,Ra,Da,La,Na,Fa,za,Ua,Ha,Ya,Xa,Za,Ga,Ka,tl,nl,rl,il,sl,ul,Eo,wa,ya,$a,Io,al,dl,gl,cl,ml,vl,Ta,Ba,Wa,ja,Sa,Oa,Ca,$l,bl,Cl]}class EdgeWrapper extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7c,create_fragment$7e,not_equal,{id:0,type:34,source:1,target:2,data:3,style:4,zIndex:5,animated:6,selected:7,selectable:35,deletable:8,hidden:9,label:10,labelStyle:11,markerStart:36,markerEnd:37,sourceHandle:12,targetHandle:13,sourceX:14,sourceY:15,targetX:16,targetY:17,sourcePosition:18,targetPosition:19,ariaLabel:20,interactionWidth:21,class:22},null,[-1,-1])}}const EdgeWrapper$1=EdgeWrapper;function instance$7b(So,$o,ko){let{onMount:Eo=void 0}=$o,{onDestroy:Io=void 0}=$o;return onMount(()=>(Eo==null||Eo(),Io)),So.$$set=$a=>{"onMount"in $a&&ko(0,Eo=$a.onMount),"onDestroy"in $a&&ko(1,Io=$a.onDestroy)},[Eo,Io]}class CallOnMount extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7b,null,safe_not_equal,{onMount:0,onDestroy:1})}}const CallOnMount$1=CallOnMount;function get_each_context$1w(So,$o,ko){const Eo=So.slice();return Eo[2]=$o[ko],Eo}function create_each_block$1w(So,$o){let ko,Eo,Io;const $a=[$o[2]];let ya={};for(let wa=0;wa<$a.length;wa+=1)ya=assign$1(ya,$a[wa]);return Eo=new Marker$1({props:ya}),{key:So,first:null,c(){ko=empty$4(),create_component(Eo.$$.fragment),this.first=ko},m(wa,ka){insert$1(wa,ko,ka),mount_component(Eo,wa,ka),Io=!0},p(wa,ka){$o=wa;const Sa=ka&1?get_spread_update($a,[get_spread_object($o[2])]):{};Eo.$set(Sa)},i(wa){Io||(transition_in(Eo.$$.fragment,wa),Io=!0)},o(wa){transition_out(Eo.$$.fragment,wa),Io=!1},d(wa){wa&&detach(ko),destroy_component(Eo,wa)}}}function create_fragment$7d(So){let $o,ko=[],Eo=new Map,Io,$a=ensure_array_like(So[0]);const ya=wa=>wa[2].id;for(let wa=0;wa<$a.length;wa+=1){let ka=get_each_context$1w(So,$a,wa),Sa=ya(ka);Eo.set(Sa,ko[wa]=create_each_block$1w(Sa,ka))}return{c(){$o=svg_element("defs");for(let wa=0;wa<ko.length;wa+=1)ko[wa].c()},m(wa,ka){insert$1(wa,$o,ka);for(let Sa=0;Sa<ko.length;Sa+=1)ko[Sa]&&ko[Sa].m($o,null);Io=!0},p(wa,[ka]){ka&1&&($a=ensure_array_like(wa[0]),group_outros(),ko=update_keyed_each(ko,ka,ya,1,wa,$a,Eo,$o,outro_and_destroy_block,create_each_block$1w,null,get_each_context$1w),check_outros())},i(wa){if(!Io){for(let ka=0;ka<$a.length;ka+=1)transition_in(ko[ka]);Io=!0}},o(wa){for(let ka=0;ka<ko.length;ka+=1)transition_out(ko[ka]);Io=!1},d(wa){wa&&detach($o);for(let ka=0;ka<ko.length;ka+=1)ko[ka].d()}}}function instance$7a(So,$o,ko){let Eo;const{markers:Io}=useStore();return component_subscribe(So,Io,$a=>ko(0,Eo=$a)),[Eo,Io]}class MarkerDefinition extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$7a,create_fragment$7d,safe_not_equal,{})}}const MarkerDefinition$1=MarkerDefinition;function create_if_block_1$1O(So){let $o;return{c(){$o=svg_element("polyline"),attr($o,"stroke",So[6]),attr($o,"stroke-linecap","round"),attr($o,"stroke-linejoin","round"),attr($o,"stroke-width",So[7]),attr($o,"fill",So[6]),attr($o,"points","-5,-4 0,0 -5,4 -5,-4")},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo&64&&attr($o,"stroke",ko[6]),Eo&128&&attr($o,"stroke-width",ko[7]),Eo&64&&attr($o,"fill",ko[6])},d(ko){ko&&detach($o)}}}function create_if_block$3l(So){let $o;return{c(){$o=svg_element("polyline"),attr($o,"stroke",So[6]),attr($o,"stroke-linecap","round"),attr($o,"stroke-linejoin","round"),attr($o,"stroke-width",So[7]),attr($o,"fill","none"),attr($o,"points","-5,-4 0,0 -5,4")},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo&64&&attr($o,"stroke",ko[6]),Eo&128&&attr($o,"stroke-width",ko[7])},d(ko){ko&&detach($o)}}}function create_fragment$7c(So){let $o,ko,Eo;function Io(wa,ka){if(wa[1]===MarkerType.Arrow)return create_if_block$3l;if(wa[1]===MarkerType.ArrowClosed)return create_if_block_1$1O}let $a=Io(So),ya=$a&&$a(So);return{c(){$o=svg_element("marker"),ya&&ya.c(),attr($o,"class","svelte-flow__arrowhead"),attr($o,"id",So[0]),attr($o,"markerWidth",ko=`${So[2]}`),attr($o,"markerHeight",Eo=`${So[3]}`),attr($o,"viewBox","-10 -10 20 20"),attr($o,"markerUnits",So[4]),attr($o,"orient",So[5]),attr($o,"refX","0"),attr($o,"refY","0")},m(wa,ka){insert$1(wa,$o,ka),ya&&ya.m($o,null)},p(wa,[ka]){$a===($a=Io(wa))&&ya?ya.p(wa,ka):(ya&&ya.d(1),ya=$a&&$a(wa),ya&&(ya.c(),ya.m($o,null))),ka&1&&attr($o,"id",wa[0]),ka&4&&ko!==(ko=`${wa[2]}`)&&attr($o,"markerWidth",ko),ka&8&&Eo!==(Eo=`${wa[3]}`)&&attr($o,"markerHeight",Eo),ka&16&&attr($o,"markerUnits",wa[4]),ka&32&&attr($o,"orient",wa[5])},i:noop$5,o:noop$5,d(wa){wa&&detach($o),ya&&ya.d()}}}function instance$79(So,$o,ko){let{id:Eo}=$o,{type:Io}=$o,{width:$a=12.5}=$o,{height:ya=12.5}=$o,{markerUnits:wa="strokeWidth"}=$o,{orient:ka="auto-start-reverse"}=$o,{color:Sa=void 0}=$o,{strokeWidth:Oa=void 0}=$o;return So.$$set=Ca=>{"id"in Ca&&ko(0,Eo=Ca.id),"type"in Ca&&ko(1,Io=Ca.type),"width"in Ca&&ko(2,$a=Ca.width),"height"in Ca&&ko(3,ya=Ca.height),"markerUnits"in Ca&&ko(4,wa=Ca.markerUnits),"orient"in Ca&&ko(5,ka=Ca.orient),"color"in Ca&&ko(6,Sa=Ca.color),"strokeWidth"in Ca&&ko(7,Oa=Ca.strokeWidth)},[Eo,Io,$a,ya,wa,ka,Sa,Oa]}class Marker extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$79,create_fragment$7c,safe_not_equal,{id:0,type:1,width:2,height:3,markerUnits:4,orient:5,color:6,strokeWidth:7})}}const Marker$1=Marker;function get_each_context$1v(So,$o,ko){const Eo=So.slice();return Eo[14]=$o[ko],Eo}function create_each_block$1v(So,$o){let ko,Eo,Io;return Eo=new EdgeWrapper$1({props:{id:$o[14].id,source:$o[14].source,target:$o[14].target,data:$o[14].data,style:$o[14].style,animated:$o[14].animated,selected:$o[14].selected,selectable:$o[14].selectable??$o[1],deletable:$o[14].deletable,hidden:$o[14].hidden,label:$o[14].label,labelStyle:$o[14].labelStyle,markerStart:$o[14].markerStart,markerEnd:$o[14].markerEnd,sourceHandle:$o[14].sourceHandle,targetHandle:$o[14].targetHandle,sourceX:$o[14].sourceX,sourceY:$o[14].sourceY,targetX:$o[14].targetX,targetY:$o[14].targetY,sourcePosition:$o[14].sourcePosition,targetPosition:$o[14].targetPosition,ariaLabel:$o[14].ariaLabel,interactionWidth:$o[14].interactionWidth,class:$o[14].class,type:$o[14].type||"default",zIndex:$o[14].zIndex}}),Eo.$on("edgeclick",$o[7]),Eo.$on("edgecontextmenu",$o[8]),Eo.$on("edgemouseenter",$o[9]),Eo.$on("edgemouseleave",$o[10]),{key:So,first:null,c(){ko=empty$4(),create_component(Eo.$$.fragment),this.first=ko},m($a,ya){insert$1($a,ko,ya),mount_component(Eo,$a,ya),Io=!0},p($a,ya){$o=$a;const wa={};ya&1&&(wa.id=$o[14].id),ya&1&&(wa.source=$o[14].source),ya&1&&(wa.target=$o[14].target),ya&1&&(wa.data=$o[14].data),ya&1&&(wa.style=$o[14].style),ya&1&&(wa.animated=$o[14].animated),ya&1&&(wa.selected=$o[14].selected),ya&3&&(wa.selectable=$o[14].selectable??$o[1]),ya&1&&(wa.deletable=$o[14].deletable),ya&1&&(wa.hidden=$o[14].hidden),ya&1&&(wa.label=$o[14].label),ya&1&&(wa.labelStyle=$o[14].labelStyle),ya&1&&(wa.markerStart=$o[14].markerStart),ya&1&&(wa.markerEnd=$o[14].markerEnd),ya&1&&(wa.sourceHandle=$o[14].sourceHandle),ya&1&&(wa.targetHandle=$o[14].targetHandle),ya&1&&(wa.sourceX=$o[14].sourceX),ya&1&&(wa.sourceY=$o[14].sourceY),ya&1&&(wa.targetX=$o[14].targetX),ya&1&&(wa.targetY=$o[14].targetY),ya&1&&(wa.sourcePosition=$o[14].sourcePosition),ya&1&&(wa.targetPosition=$o[14].targetPosition),ya&1&&(wa.ariaLabel=$o[14].ariaLabel),ya&1&&(wa.interactionWidth=$o[14].interactionWidth),ya&1&&(wa.class=$o[14].class),ya&1&&(wa.type=$o[14].type||"default"),ya&1&&(wa.zIndex=$o[14].zIndex),Eo.$set(wa)},i($a){Io||(transition_in(Eo.$$.fragment,$a),Io=!0)},o($a){transition_out(Eo.$$.fragment,$a),Io=!1},d($a){$a&&detach(ko),destroy_component(Eo,$a)}}}function create_if_block$3k(So){let $o,ko;return $o=new CallOnMount$1({props:{onMount:So[11],onDestroy:So[12]}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&4&&($a.onMount=Eo[11]),Io&4&&($a.onDestroy=Eo[12]),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_fragment$7b(So){let $o,ko,Eo,Io,$a=[],ya=new Map,wa,ka;Eo=new MarkerDefinition$1({});let Sa=ensure_array_like(So[0]);const Oa=Ea=>Ea[14].id;for(let Ea=0;Ea<Sa.length;Ea+=1){let Ta=get_each_context$1v(So,Sa,Ea),Aa=Oa(Ta);ya.set(Aa,$a[Ea]=create_each_block$1v(Aa,Ta))}let Ca=So[0].length>0&&create_if_block$3k(So);return{c(){$o=element("div"),ko=svg_element("svg"),create_component(Eo.$$.fragment),Io=space$2();for(let Ea=0;Ea<$a.length;Ea+=1)$a[Ea].c();wa=space$2(),Ca&&Ca.c(),attr(ko,"class","svelte-flow__marker"),attr($o,"class","svelte-flow__edges")},m(Ea,Ta){insert$1(Ea,$o,Ta),append$2($o,ko),mount_component(Eo,ko,null),append$2($o,Io);for(let Aa=0;Aa<$a.length;Aa+=1)$a[Aa]&&$a[Aa].m($o,null);append$2($o,wa),Ca&&Ca.m($o,null),ka=!0},p(Ea,[Ta]){Ta&3&&(Sa=ensure_array_like(Ea[0]),group_outros(),$a=update_keyed_each($a,Ta,Oa,1,Ea,Sa,ya,$o,outro_and_destroy_block,create_each_block$1v,wa,get_each_context$1v),check_outros()),Ea[0].length>0?Ca?(Ca.p(Ea,Ta),Ta&1&&transition_in(Ca,1)):(Ca=create_if_block$3k(Ea),Ca.c(),transition_in(Ca,1),Ca.m($o,null)):Ca&&(group_outros(),transition_out(Ca,1,1,()=>{Ca=null}),check_outros())},i(Ea){if(!ka){transition_in(Eo.$$.fragment,Ea);for(let Ta=0;Ta<Sa.length;Ta+=1)transition_in($a[Ta]);transition_in(Ca),ka=!0}},o(Ea){transition_out(Eo.$$.fragment,Ea);for(let Ta=0;Ta<$a.length;Ta+=1)transition_out($a[Ta]);transition_out(Ca),ka=!1},d(Ea){Ea&&detach($o),destroy_component(Eo);for(let Ta=0;Ta<$a.length;Ta+=1)$a[Ta].d();Ca&&Ca.d()}}}function instance$78(So,$o,ko){let Eo,Io,$a,{defaultEdgeOptions:ya}=$o;const{visibleEdges:wa,edgesInitialized:ka,edges:{setDefaultOptions:Sa},elementsSelectable:Oa}=useStore();component_subscribe(So,wa,Ra=>ko(0,Eo=Ra)),component_subscribe(So,ka,Ra=>ko(2,$a=Ra)),component_subscribe(So,Oa,Ra=>ko(1,Io=Ra)),onMount(()=>{ya&&Sa(ya)});function Ca(Ra){bubble.call(this,So,Ra)}function Ea(Ra){bubble.call(this,So,Ra)}function Ta(Ra){bubble.call(this,So,Ra)}function Aa(Ra){bubble.call(this,So,Ra)}const Ia=()=>{set_store_value(ka,$a=!0,$a)},Pa=()=>{set_store_value(ka,$a=!1,$a)};return So.$$set=Ra=>{"defaultEdgeOptions"in Ra&&ko(6,ya=Ra.defaultEdgeOptions)},[Eo,Io,$a,wa,ka,Oa,ya,Ca,Ea,Ta,Aa,Ia,Pa]}class EdgeRenderer extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$78,create_fragment$7b,safe_not_equal,{defaultEdgeOptions:6})}}const EdgeRenderer$1=EdgeRenderer,Selection_svelte_svelte_type_style_lang="";function create_if_block$3j(So){let $o;return{c(){$o=element("div"),attr($o,"class","svelte-flow__selection svelte-1iugwpu"),set_style($o,"width",typeof So[2]=="string"?So[2]:`${So[2]}px`),set_style($o,"height",typeof So[3]=="string"?So[3]:`${So[3]}px`),set_style($o,"transform",`translate(${So[0]}px, ${So[1]}px)`)},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo&4&&set_style($o,"width",typeof ko[2]=="string"?ko[2]:`${ko[2]}px`),Eo&8&&set_style($o,"height",typeof ko[3]=="string"?ko[3]:`${ko[3]}px`),Eo&3&&set_style($o,"transform",`translate(${ko[0]}px, ${ko[1]}px)`)},d(ko){ko&&detach($o)}}}function create_fragment$7a(So){let $o,ko=So[4]&&create_if_block$3j(So);return{c(){ko&&ko.c(),$o=empty$4()},m(Eo,Io){ko&&ko.m(Eo,Io),insert$1(Eo,$o,Io)},p(Eo,[Io]){Eo[4]?ko?ko.p(Eo,Io):(ko=create_if_block$3j(Eo),ko.c(),ko.m($o.parentNode,$o)):ko&&(ko.d(1),ko=null)},i:noop$5,o:noop$5,d(Eo){Eo&&detach($o),ko&&ko.d(Eo)}}}function instance$77(So,$o,ko){let{x:Eo=0}=$o,{y:Io=0}=$o,{width:$a=0}=$o,{height:ya=0}=$o,{isVisible:wa=!0}=$o;return So.$$set=ka=>{"x"in ka&&ko(0,Eo=ka.x),"y"in ka&&ko(1,Io=ka.y),"width"in ka&&ko(2,$a=ka.width),"height"in ka&&ko(3,ya=ka.height),"isVisible"in ka&&ko(4,wa=ka.isVisible)},[Eo,Io,$a,ya,wa]}class Selection extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$77,create_fragment$7a,safe_not_equal,{x:0,y:1,width:2,height:3,isVisible:4})}}const Selection$1=Selection;function create_fragment$79(So){var Eo,Io,$a,ya;let $o,ko;return $o=new Selection$1({props:{isVisible:!!(So[0]&&So[1]==="user"),width:(Eo=So[0])==null?void 0:Eo.width,height:(Io=So[0])==null?void 0:Io.height,x:($a=So[0])==null?void 0:$a.x,y:(ya=So[0])==null?void 0:ya.y}}),{c(){create_component($o.$$.fragment)},m(wa,ka){mount_component($o,wa,ka),ko=!0},p(wa,[ka]){var Oa,Ca,Ea,Ta;const Sa={};ka&3&&(Sa.isVisible=!!(wa[0]&&wa[1]==="user")),ka&1&&(Sa.width=(Oa=wa[0])==null?void 0:Oa.width),ka&1&&(Sa.height=(Ca=wa[0])==null?void 0:Ca.height),ka&1&&(Sa.x=(Ea=wa[0])==null?void 0:Ea.x),ka&1&&(Sa.y=(Ta=wa[0])==null?void 0:Ta.y),$o.$set(Sa)},i(wa){ko||(transition_in($o.$$.fragment,wa),ko=!0)},o(wa){transition_out($o.$$.fragment,wa),ko=!1},d(wa){destroy_component($o,wa)}}}function instance$76(So,$o,ko){let Eo,Io;const{selectionRect:$a,selectionRectMode:ya}=useStore();return component_subscribe(So,$a,wa=>ko(0,Eo=wa)),component_subscribe(So,ya,wa=>ko(1,Io=wa)),[Eo,Io,$a,ya]}class UserSelection extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$76,create_fragment$79,safe_not_equal,{})}}const UserSelection$1=UserSelection,NodeSelection_svelte_svelte_type_style_lang="";function create_if_block$3i(So){let $o,ko,Eo,Io,$a;return ko=new Selection$1({props:{width:"100%",height:"100%",x:0,y:0}}),{c(){$o=element("div"),create_component(ko.$$.fragment),attr($o,"class","selection-wrapper nopan svelte-5pxri"),set_style($o,"width",So[1].width+"px"),set_style($o,"height",So[1].height+"px"),set_style($o,"transform","translate("+So[1].x+"px, "+So[1].y+"px)"),attr($o,"role","button"),attr($o,"tabindex","-1")},m(ya,wa){insert$1(ya,$o,wa),mount_component(ko,$o,null),Eo=!0,Io||($a=[action_destroyer(drag.call(null,$o,{disabled:!1,store:So[2],onDrag:So[11],onDragStart:So[12],onDragStop:So[13]})),listen($o,"contextmenu",So[7]),listen($o,"click",So[8]),listen($o,"keyup",keyup_handler)],Io=!0)},p(ya,wa){(!Eo||wa&2)&&set_style($o,"width",ya[1].width+"px"),(!Eo||wa&2)&&set_style($o,"height",ya[1].height+"px"),(!Eo||wa&2)&&set_style($o,"transform","translate("+ya[1].x+"px, "+ya[1].y+"px)")},i(ya){Eo||(transition_in(ko.$$.fragment,ya),Eo=!0)},o(ya){transition_out(ko.$$.fragment,ya),Eo=!1},d(ya){ya&&detach($o),destroy_component(ko),Io=!1,run_all($a)}}}function create_fragment$78(So){let $o=So[0]==="nodes"&&So[1]&&isNumeric(So[1].x)&&isNumeric(So[1].y),ko,Eo,Io=$o&&create_if_block$3i(So);return{c(){Io&&Io.c(),ko=empty$4()},m($a,ya){Io&&Io.m($a,ya),insert$1($a,ko,ya),Eo=!0},p($a,[ya]){ya&3&&($o=$a[0]==="nodes"&&$a[1]&&isNumeric($a[1].x)&&isNumeric($a[1].y)),$o?Io?(Io.p($a,ya),ya&3&&transition_in(Io,1)):(Io=create_if_block$3i($a),Io.c(),transition_in(Io,1),Io.m(ko.parentNode,ko)):Io&&(group_outros(),transition_out(Io,1,1,()=>{Io=null}),check_outros())},i($a){Eo||(transition_in(Io),Eo=!0)},o($a){transition_out(Io),Eo=!1},d($a){$a&&detach(ko),Io&&Io.d($a)}}}const keyup_handler=()=>{};function instance$75(So,$o,ko){let Eo,Io,$a;const ya=useStore(),{selectionRectMode:wa,nodes:ka,nodeLookup:Sa}=ya;component_subscribe(So,wa,Ra=>ko(0,$a=Ra)),component_subscribe(So,ka,Ra=>ko(9,Eo=Ra)),component_subscribe(So,Sa,Ra=>ko(10,Io=Ra));const Oa=createEventDispatcher();let Ca=null;function Ea(Ra){const Da=Eo.filter(La=>La.selected);Oa("selectioncontextmenu",{nodes:Da,event:Ra})}function Ta(Ra){const Da=Eo.filter(La=>La.selected);Oa("selectionclick",{nodes:Da,event:Ra})}const Aa=(Ra,Da,La,Na)=>{Oa("nodedrag",{event:Ra,targetNode:null,nodes:Na})},Ia=(Ra,Da,La,Na)=>{Oa("nodedragstart",{event:Ra,targetNode:null,nodes:Na})},Pa=(Ra,Da,La,Na)=>{Oa("nodedragstop",{event:Ra,targetNode:null,nodes:Na})};return So.$$.update=()=>{So.$$.dirty&1537&&$a==="nodes"&&ko(1,Ca=getInternalNodesBounds(Io,{filter:Ra=>!!Ra.selected}))},[$a,Ca,ya,wa,ka,Sa,Oa,Ea,Ta,Eo,Io,Aa,Ia,Pa]}class NodeSelection extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$75,create_fragment$78,safe_not_equal,{})}}const NodeSelection$1=NodeSelection;function shortcut(So,$o){let{enabled:ko=!0,trigger:Eo,type:Io="keydown"}=$o;function $a(ya){const wa=Array.isArray(Eo)?Eo:[Eo],ka={alt:ya.altKey,ctrl:ya.ctrlKey,shift:ya.shiftKey,meta:ya.metaKey};for(const Sa of wa){const Oa={modifier:[],preventDefault:!1,enabled:!0,...Sa},{modifier:Ca,key:Ea,callback:Ta,preventDefault:Aa,enabled:Ia}=Oa;if(Ia){if(Ca.length&&!(Array.isArray(Ca)?Ca:[Ca]).map(Da=>typeof Da=="string"?[Da]:Da).some(Da=>Da.every(La=>ka[La])))continue;if(ya.key===Ea){Aa&&ya.preventDefault();const Pa={node:So,trigger:Oa,originalEvent:ya};So.dispatchEvent(new CustomEvent("shortcut",{detail:Pa})),Ta==null||Ta(Pa)}}}}return ko&&So.addEventListener(Io,$a),{update:ya=>{const{enabled:wa=!0,type:ka="keydown"}=ya;ko&&(!wa||Io!==ka)?So.removeEventListener(Io,$a):!ko&&wa&&So.addEventListener(ka,$a),ko=wa,Io=ka,Eo=ya.trigger},destroy:()=>{So.removeEventListener(Io,$a)}}}function create_fragment$77(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea;return{c:noop$5,m(Ta,Aa){Ca||(Ea=[action_destroyer($o=shortcut.call(null,window,{trigger:getShortcutTrigger(So[0],So[11]),type:"keydown"})),action_destroyer(ko=shortcut.call(null,window,{trigger:getShortcutTrigger(So[0],So[12]),type:"keyup"})),action_destroyer(Eo=shortcut.call(null,window,{trigger:getShortcutTrigger(So[1],So[13]),type:"keydown"})),action_destroyer(Io=shortcut.call(null,window,{trigger:getShortcutTrigger(So[1],So[14]),type:"keyup"})),action_destroyer($a=shortcut.call(null,window,{trigger:getShortcutTrigger(So[2],So[15]),type:"keydown"})),action_destroyer(ya=shortcut.call(null,window,{trigger:getShortcutTrigger(So[2],So[16]),type:"keyup"})),action_destroyer(wa=shortcut.call(null,window,{trigger:getShortcutTrigger(So[3],So[17]),type:"keydown"})),action_destroyer(ka=shortcut.call(null,window,{trigger:getShortcutTrigger(So[3],So[18]),type:"keyup"})),action_destroyer(Sa=shortcut.call(null,window,{trigger:getShortcutTrigger(So[4],So[19]),type:"keydown"})),action_destroyer(Oa=shortcut.call(null,window,{trigger:getShortcutTrigger(So[4],So[20]),type:"keyup"})),listen(window,"blur",So[10]),listen(window,"contextmenu",So[10])],Ca=!0)},p(Ta,[Aa]){$o&&is_function($o.update)&&Aa&1&&$o.update.call(null,{trigger:getShortcutTrigger(Ta[0],Ta[11]),type:"keydown"}),ko&&is_function(ko.update)&&Aa&1&&ko.update.call(null,{trigger:getShortcutTrigger(Ta[0],Ta[12]),type:"keyup"}),Eo&&is_function(Eo.update)&&Aa&2&&Eo.update.call(null,{trigger:getShortcutTrigger(Ta[1],Ta[13]),type:"keydown"}),Io&&is_function(Io.update)&&Aa&2&&Io.update.call(null,{trigger:getShortcutTrigger(Ta[1],Ta[14]),type:"keyup"}),$a&&is_function($a.update)&&Aa&4&&$a.update.call(null,{trigger:getShortcutTrigger(Ta[2],Ta[15]),type:"keydown"}),ya&&is_function(ya.update)&&Aa&4&&ya.update.call(null,{trigger:getShortcutTrigger(Ta[2],Ta[16]),type:"keyup"}),wa&&is_function(wa.update)&&Aa&8&&wa.update.call(null,{trigger:getShortcutTrigger(Ta[3],Ta[17]),type:"keydown"}),ka&&is_function(ka.update)&&Aa&8&&ka.update.call(null,{trigger:getShortcutTrigger(Ta[3],Ta[18]),type:"keyup"}),Sa&&is_function(Sa.update)&&Aa&16&&Sa.update.call(null,{trigger:getShortcutTrigger(Ta[4],Ta[19]),type:"keydown"}),Oa&&is_function(Oa.update)&&Aa&16&&Oa.update.call(null,{trigger:getShortcutTrigger(Ta[4],Ta[20]),type:"keyup"})},i:noop$5,o:noop$5,d(Ta){Ca=!1,run_all(Ea)}}}function isKeyObject(So){return So!==null&&typeof So=="object"}function getModifier(So){return isKeyObject(So)?So.modifier||[]:[]}function getKeyString(So){return So==null?"":isKeyObject(So)?So.key:So}function getShortcutTrigger(So,$o){return(Array.isArray(So)?So:[So]).map(Eo=>{const Io=getKeyString(Eo);return{key:Io,modifier:getModifier(Eo),enabled:Io!==null,callback:$o}})}function instance$74(So,$o,ko){let{selectionKey:Eo="Shift"}=$o,{multiSelectionKey:Io=isMacOs()?"Meta":"Control"}=$o,{deleteKey:$a="Backspace"}=$o,{panActivationKey:ya=" "}=$o,{zoomActivationKey:wa=isMacOs()?"Meta":"Control"}=$o;const{selectionKeyPressed:ka,multiselectionKeyPressed:Sa,deleteKeyPressed:Oa,panActivationKeyPressed:Ca,zoomActivationKeyPressed:Ea,selectionRect:Ta}=useStore();function Aa(){Ta.set(null),ka.set(!1),Sa.set(!1),Oa.set(!1),Ca.set(!1),Ea.set(!1)}const Ia=()=>ka.set(!0),Pa=()=>ka.set(!1),Ra=()=>Sa.set(!0),Da=()=>Sa.set(!1),La=Ha=>{!(Ha.originalEvent.ctrlKey||Ha.originalEvent.metaKey||Ha.originalEvent.shiftKey)&&!isInputDOMNode(Ha.originalEvent)&&Oa.set(!0)},Na=()=>Oa.set(!1),Ba=()=>Ca.set(!0),Fa=()=>Ca.set(!1),za=()=>Ea.set(!0),Ua=()=>Ea.set(!1);return So.$$set=Ha=>{"selectionKey"in Ha&&ko(0,Eo=Ha.selectionKey),"multiSelectionKey"in Ha&&ko(1,Io=Ha.multiSelectionKey),"deleteKey"in Ha&&ko(2,$a=Ha.deleteKey),"panActivationKey"in Ha&&ko(3,ya=Ha.panActivationKey),"zoomActivationKey"in Ha&&ko(4,wa=Ha.zoomActivationKey)},[Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Aa,Ia,Pa,Ra,Da,La,Na,Ba,Fa,za,Ua]}class KeyHandler extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$74,create_fragment$77,safe_not_equal,{selectionKey:0,multiSelectionKey:1,deleteKey:2,panActivationKey:3,zoomActivationKey:4})}}const KeyHandler$1=KeyHandler,get_connectionLine_slot_changes$1=So=>({}),get_connectionLine_slot_context$1=So=>({});function create_if_block$3h(So){let $o,ko,Eo,Io;const $a=So[13].connectionLine,ya=create_slot($a,So,So[12],get_connectionLine_slot_context$1);let wa=!So[2]&&create_if_block_1$1N(So);return{c(){$o=svg_element("svg"),ko=svg_element("g"),ya&&ya.c(),wa&&wa.c(),attr(ko,"class",Eo=cc(["svelte-flow__connection",getConnectionStatus(So[3].isValid)])),attr($o,"width",So[5]),attr($o,"height",So[6]),attr($o,"class","svelte-flow__connectionline"),attr($o,"style",So[0])},m(ka,Sa){insert$1(ka,$o,Sa),append$2($o,ko),ya&&ya.m(ko,null),wa&&wa.m(ko,null),Io=!0},p(ka,Sa){ya&&ya.p&&(!Io||Sa&4096)&&update_slot_base(ya,$a,ka,ka[12],Io?get_slot_changes($a,ka[12],Sa,get_connectionLine_slot_changes$1):get_all_dirty_from_scope(ka[12]),get_connectionLine_slot_context$1),ka[2]?wa&&(wa.d(1),wa=null):wa?wa.p(ka,Sa):(wa=create_if_block_1$1N(ka),wa.c(),wa.m(ko,null)),(!Io||Sa&8&&Eo!==(Eo=cc(["svelte-flow__connection",getConnectionStatus(ka[3].isValid)])))&&attr(ko,"class",Eo),(!Io||Sa&32)&&attr($o,"width",ka[5]),(!Io||Sa&64)&&attr($o,"height",ka[6]),(!Io||Sa&1)&&attr($o,"style",ka[0])},i(ka){Io||(transition_in(ya,ka),Io=!0)},o(ka){transition_out(ya,ka),Io=!1},d(ka){ka&&detach($o),ya&&ya.d(ka),wa&&wa.d()}}}function create_if_block_1$1N(So){let $o;return{c(){$o=svg_element("path"),attr($o,"d",So[4]),attr($o,"style",So[1]),attr($o,"fill","none"),attr($o,"class","svelte-flow__connection-path")},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo&16&&attr($o,"d",ko[4]),Eo&2&&attr($o,"style",ko[1])},d(ko){ko&&detach($o)}}}function create_fragment$76(So){let $o,ko,Eo=So[3].inProgress&&create_if_block$3h(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m(Io,$a){Eo&&Eo.m(Io,$a),insert$1(Io,$o,$a),ko=!0},p(Io,[$a]){Io[3].inProgress?Eo?(Eo.p(Io,$a),$a&8&&transition_in(Eo,1)):(Eo=create_if_block$3h(Io),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o)):Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros())},i(Io){ko||(transition_in(Eo),ko=!0)},o(Io){transition_out(Eo),ko=!1},d(Io){Io&&detach($o),Eo&&Eo.d(Io)}}}function instance$73(So,$o,ko){let Eo,Io,$a,ya,{$$slots:wa={},$$scope:ka}=$o,{containerStyle:Sa=""}=$o,{style:Oa=""}=$o,{isCustomComponent:Ca=!1}=$o;const{width:Ea,height:Ta,connection:Aa,connectionLineType:Ia}=useStore();component_subscribe(So,Ea,Ra=>ko(5,$a=Ra)),component_subscribe(So,Ta,Ra=>ko(6,ya=Ra)),component_subscribe(So,Aa,Ra=>ko(3,Io=Ra)),component_subscribe(So,Ia,Ra=>ko(11,Eo=Ra));let Pa=null;return So.$$set=Ra=>{"containerStyle"in Ra&&ko(0,Sa=Ra.containerStyle),"style"in Ra&&ko(1,Oa=Ra.style),"isCustomComponent"in Ra&&ko(2,Ca=Ra.isCustomComponent),"$$scope"in Ra&&ko(12,ka=Ra.$$scope)},So.$$.update=()=>{if(So.$$.dirty&2060&&Io.inProgress&&!Ca){const{from:Ra,to:Da,fromPosition:La,toPosition:Na}=Io,Ba={sourceX:Ra.x,sourceY:Ra.y,sourcePosition:La,targetX:Da.x,targetY:Da.y,targetPosition:Na};switch(Eo){case ConnectionLineType.Bezier:ko(4,[Pa]=getBezierPath(Ba),Pa);break;case ConnectionLineType.Step:ko(4,[Pa]=getSmoothStepPath({...Ba,borderRadius:0}),Pa);break;case ConnectionLineType.SmoothStep:ko(4,[Pa]=getSmoothStepPath(Ba),Pa);break;default:ko(4,[Pa]=getStraightPath(Ba),Pa)}}},[Sa,Oa,Ca,Io,Pa,$a,ya,Ea,Ta,Aa,Ia,Eo,ka,wa]}class ConnectionLine extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$73,create_fragment$76,safe_not_equal,{containerStyle:0,style:1,isCustomComponent:2})}}const ConnectionLine$1=ConnectionLine;function create_fragment$75(So){let $o,ko,Eo;const Io=So[8].default,$a=create_slot(Io,So,So[7],null);let ya=[{class:ko=cc(["svelte-flow__panel",So[1],...So[2]])},{style:So[0]},So[5]],wa={};for(let ka=0;ka<ya.length;ka+=1)wa=assign$1(wa,ya[ka]);return{c(){$o=element("div"),$a&&$a.c(),set_attributes($o,wa),set_style($o,"pointer-events",So[3]?"none":"")},m(ka,Sa){insert$1(ka,$o,Sa),$a&&$a.m($o,null),Eo=!0},p(ka,[Sa]){$a&&$a.p&&(!Eo||Sa&128)&&update_slot_base($a,Io,ka,ka[7],Eo?get_slot_changes(Io,ka[7],Sa,null):get_all_dirty_from_scope(ka[7]),null),set_attributes($o,wa=get_spread_update(ya,[(!Eo||Sa&6&&ko!==(ko=cc(["svelte-flow__panel",ka[1],...ka[2]])))&&{class:ko},(!Eo||Sa&1)&&{style:ka[0]},Sa&32&&ka[5]])),set_style($o,"pointer-events",ka[3]?"none":"")},i(ka){Eo||(transition_in($a,ka),Eo=!0)},o(ka){transition_out($a,ka),Eo=!1},d(ka){ka&&detach($o),$a&&$a.d(ka)}}}function instance$72(So,$o,ko){let Eo;const Io=["position","style","class"];let $a=compute_rest_props($o,Io),ya,{$$slots:wa={},$$scope:ka}=$o,{position:Sa="top-right"}=$o,{style:Oa=void 0}=$o,{class:Ca=void 0}=$o;const{selectionRectMode:Ea}=useStore();return component_subscribe(So,Ea,Ta=>ko(3,ya=Ta)),So.$$set=Ta=>{$o=assign$1(assign$1({},$o),exclude_internal_props(Ta)),ko(5,$a=compute_rest_props($o,Io)),"position"in Ta&&ko(6,Sa=Ta.position),"style"in Ta&&ko(0,Oa=Ta.style),"class"in Ta&&ko(1,Ca=Ta.class),"$$scope"in Ta&&ko(7,ka=Ta.$$scope)},So.$$.update=()=>{So.$$.dirty&64&&ko(2,Eo=`${Sa}`.split("-"))},[Oa,Ca,Eo,ya,Ea,$a,Sa,ka,wa]}let Panel$2=class extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$72,create_fragment$75,safe_not_equal,{position:6,style:0,class:1})}};const Panel$3=Panel$2;function create_if_block$3g(So){let $o,ko;return $o=new Panel$3({props:{position:So[1],class:"svelte-flow__attribution","data-message":"Feel free to remove the attribution or check out how you could support us: https://svelteflow.dev/support-us",$$slots:{default:[create_default_slot$4p]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&2&&($a.position=Eo[1]),Io&4&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_default_slot$4p(So){let $o;return{c(){$o=element("a"),$o.textContent="Svelte Flow",attr($o,"href","https://svelteflow.dev"),attr($o,"target","_blank"),attr($o,"rel","noopener noreferrer"),attr($o,"aria-label","Svelte Flow attribution")},m(ko,Eo){insert$1(ko,$o,Eo)},p:noop$5,d(ko){ko&&detach($o)}}}function create_fragment$74(So){var Io;let $o,ko,Eo=!((Io=So[0])!=null&&Io.hideAttribution)&&create_if_block$3g(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m($a,ya){Eo&&Eo.m($a,ya),insert$1($a,$o,ya),ko=!0},p($a,[ya]){var wa;(wa=$a[0])!=null&&wa.hideAttribution?Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros()):Eo?(Eo.p($a,ya),ya&1&&transition_in(Eo,1)):(Eo=create_if_block$3g($a),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o))},i($a){ko||(transition_in(Eo),ko=!0)},o($a){transition_out(Eo),ko=!1},d($a){$a&&detach($o),Eo&&Eo.d($a)}}}function instance$71(So,$o,ko){let{proOptions:Eo=void 0}=$o,{position:Io="bottom-right"}=$o;return So.$$set=$a=>{"proOptions"in $a&&ko(0,Eo=$a.proOptions),"position"in $a&&ko(1,Io=$a.position)},[Eo,Io]}class Attribution extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$71,create_fragment$74,safe_not_equal,{proOptions:0,position:1})}}const Attribution$1=Attribution;function updateStore(So,{nodeTypes:$o,edgeTypes:ko,minZoom:Eo,maxZoom:Io,translateExtent:$a,paneClickDistance:ya}){$o!==void 0&&So.setNodeTypes($o),ko!==void 0&&So.setEdgeTypes(ko),Eo!==void 0&&So.setMinZoom(Eo),Io!==void 0&&So.setMaxZoom(Io),$a!==void 0&&So.setTranslateExtent($a),ya!==void 0&&So.setPaneClickDistance(ya)}const getKeys=So=>Object.keys(So);function updateStoreByKeys(So,$o){getKeys($o).forEach(ko=>{const Eo=$o[ko];Eo!==void 0&&So[ko].set(Eo)})}function getMediaQuery(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function useColorModeClass(So="light"){return readable("light",ko=>{if(So!=="system"){ko(So);return}const Eo=getMediaQuery(),Io=()=>ko(Eo!=null&&Eo.matches?"dark":"light");return ko(Eo!=null&&Eo.matches?"dark":"light"),Eo==null||Eo.addEventListener("change",Io),()=>{Eo==null||Eo.removeEventListener("change",Io)}})}const SvelteFlow_svelte_svelte_type_style_lang="",get_connectionLine_slot_changes=So=>({}),get_connectionLine_slot_context=So=>({slot:"connectionLine"});function create_connectionLine_slot(So){let $o;const ko=So[75].connectionLine,Eo=create_slot(ko,So,So[99],get_connectionLine_slot_context);return{c(){Eo&&Eo.c()},m(Io,$a){Eo&&Eo.m(Io,$a),$o=!0},p(Io,$a){Eo&&Eo.p&&(!$o||$a[3]&64)&&update_slot_base(Eo,ko,Io,Io[99],$o?get_slot_changes(ko,Io[99],$a,get_connectionLine_slot_changes):get_all_dirty_from_scope(Io[99]),get_connectionLine_slot_context)},i(Io){$o||(transition_in(Eo,Io),$o=!0)},o(Io){transition_out(Eo,Io),$o=!1},d(Io){Eo&&Eo.d(Io)}}}function create_default_slot_2$1V(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea;return $o=new EdgeRenderer$1({props:{defaultEdgeOptions:So[21]}}),$o.$on("edgeclick",So[78]),$o.$on("edgecontextmenu",So[79]),$o.$on("edgemouseenter",So[80]),$o.$on("edgemouseleave",So[81]),Eo=new ConnectionLine$1({props:{containerStyle:So[7],style:So[6],isCustomComponent:So[34].connectionLine,$$slots:{connectionLine:[create_connectionLine_slot]},$$scope:{ctx:So}}}),Sa=new NodeRenderer$1({props:{nodeClickDistance:So[23]}}),Sa.$on("nodeclick",So[82]),Sa.$on("nodemouseenter",So[83]),Sa.$on("nodemousemove",So[84]),Sa.$on("nodemouseleave",So[85]),Sa.$on("nodedragstart",So[86]),Sa.$on("nodedrag",So[87]),Sa.$on("nodedragstop",So[88]),Sa.$on("nodecontextmenu",So[89]),Ca=new NodeSelection$1({}),Ca.$on("selectionclick",So[90]),Ca.$on("selectioncontextmenu",So[91]),Ca.$on("nodedragstart",So[92]),Ca.$on("nodedrag",So[93]),Ca.$on("nodedragstop",So[94]),{c(){create_component($o.$$.fragment),ko=space$2(),create_component(Eo.$$.fragment),Io=space$2(),$a=element("div"),ya=space$2(),wa=element("div"),ka=space$2(),create_component(Sa.$$.fragment),Oa=space$2(),create_component(Ca.$$.fragment),attr($a,"class","svelte-flow__edgelabel-renderer"),attr(wa,"class","svelte-flow__viewport-portal")},m(Ta,Aa){mount_component($o,Ta,Aa),insert$1(Ta,ko,Aa),mount_component(Eo,Ta,Aa),insert$1(Ta,Io,Aa),insert$1(Ta,$a,Aa),insert$1(Ta,ya,Aa),insert$1(Ta,wa,Aa),insert$1(Ta,ka,Aa),mount_component(Sa,Ta,Aa),insert$1(Ta,Oa,Aa),mount_component(Ca,Ta,Aa),Ea=!0},p(Ta,Aa){const Ia={};Aa[0]&2097152&&(Ia.defaultEdgeOptions=Ta[21]),$o.$set(Ia);const Pa={};Aa[0]&128&&(Pa.containerStyle=Ta[7]),Aa[0]&64&&(Pa.style=Ta[6]),Aa[1]&8&&(Pa.isCustomComponent=Ta[34].connectionLine),Aa[3]&64&&(Pa.$$scope={dirty:Aa,ctx:Ta}),Eo.$set(Pa);const Ra={};Aa[0]&8388608&&(Ra.nodeClickDistance=Ta[23]),Sa.$set(Ra)},i(Ta){Ea||(transition_in($o.$$.fragment,Ta),transition_in(Eo.$$.fragment,Ta),transition_in(Sa.$$.fragment,Ta),transition_in(Ca.$$.fragment,Ta),Ea=!0)},o(Ta){transition_out($o.$$.fragment,Ta),transition_out(Eo.$$.fragment,Ta),transition_out(Sa.$$.fragment,Ta),transition_out(Ca.$$.fragment,Ta),Ea=!1},d(Ta){Ta&&(detach(ko),detach(Io),detach($a),detach(ya),detach(wa),detach(ka),detach(Oa)),destroy_component($o,Ta),destroy_component(Eo,Ta),destroy_component(Sa,Ta),destroy_component(Ca,Ta)}}}function create_default_slot_1$2K(So){let $o,ko,Eo,Io;return $o=new ViewportComponent({props:{$$slots:{default:[create_default_slot_2$1V]},$$scope:{ctx:So}}}),Eo=new UserSelection$1({}),{c(){create_component($o.$$.fragment),ko=space$2(),create_component(Eo.$$.fragment)},m($a,ya){mount_component($o,$a,ya),insert$1($a,ko,ya),mount_component(Eo,$a,ya),Io=!0},p($a,ya){const wa={};ya[0]&10485952|ya[1]&8|ya[3]&64&&(wa.$$scope={dirty:ya,ctx:$a}),$o.$set(wa)},i($a){Io||(transition_in($o.$$.fragment,$a),transition_in(Eo.$$.fragment,$a),Io=!0)},o($a){transition_out($o.$$.fragment,$a),transition_out(Eo.$$.fragment,$a),Io=!1},d($a){$a&&detach(ko),destroy_component($o,$a),destroy_component(Eo,$a)}}}function create_default_slot$4o(So){let $o,ko;return $o=new Pane$1({props:{panOnDrag:So[17]===void 0?!0:So[17],selectionOnDrag:So[18],$$slots:{default:[create_default_slot_1$2K]},$$scope:{ctx:So}}}),$o.$on("paneclick",So[95]),$o.$on("panecontextmenu",So[96]),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io[0]&131072&&($a.panOnDrag=Eo[17]===void 0?!0:Eo[17]),Io[0]&262144&&($a.selectionOnDrag=Eo[18]),Io[0]&10485952|Io[1]&8|Io[3]&64&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_fragment$73(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea;ko=new KeyHandler$1({props:{selectionKey:So[1],deleteKey:So[5],panActivationKey:So[2],multiSelectionKey:So[3],zoomActivationKey:So[4]}}),Io=new Zoom$1({props:{initialViewport:So[31],onMoveStart:So[8],onMove:So[9],onMoveEnd:So[10],panOnScrollMode:So[11]===void 0?PanOnScrollMode.Free:So[11],preventScrolling:So[12]===void 0?!0:So[12],zoomOnScroll:So[13]===void 0?!0:So[13],zoomOnDoubleClick:So[14]===void 0?!0:So[14],zoomOnPinch:So[15]===void 0?!0:So[15],panOnScroll:So[16]===void 0?!1:So[16],panOnDrag:So[17]===void 0?!0:So[17],paneClickDistance:So[22]===void 0?0:So[22],$$slots:{default:[create_default_slot$4o]},$$scope:{ctx:So}}}),ya=new Attribution$1({props:{proOptions:So[20],position:So[19]}});const Ta=So[75].default,Aa=create_slot(Ta,So,So[99],null);let Ia=[{style:So[24]},{class:ka=cc(["svelte-flow",So[25],So[30]])},{"data-testid":"svelte-flow__wrapper"},So[33],{role:"application"}],Pa={};for(let Ra=0;Ra<Ia.length;Ra+=1)Pa=assign$1(Pa,Ia[Ra]);return{c(){$o=element("div"),create_component(ko.$$.fragment),Eo=space$2(),create_component(Io.$$.fragment),$a=space$2(),create_component(ya.$$.fragment),wa=space$2(),Aa&&Aa.c(),set_attributes($o,Pa),add_render_callback(()=>So[98].call($o)),toggle_class($o,"svelte-18e9ir1",!0)},m(Ra,Da){insert$1(Ra,$o,Da),mount_component(ko,$o,null),append$2($o,Eo),mount_component(Io,$o,null),append$2($o,$a),mount_component(ya,$o,null),append$2($o,wa),Aa&&Aa.m($o,null),So[97]($o),Sa=add_iframe_resize_listener($o,So[98].bind($o)),Oa=!0,Ca||(Ea=[listen($o,"dragover",So[76]),listen($o,"drop",So[77])],Ca=!0)},p(Ra,Da){const La={};Da[0]&2&&(La.selectionKey=Ra[1]),Da[0]&32&&(La.deleteKey=Ra[5]),Da[0]&4&&(La.panActivationKey=Ra[2]),Da[0]&8&&(La.multiSelectionKey=Ra[3]),Da[0]&16&&(La.zoomActivationKey=Ra[4]),ko.$set(La);const Na={};Da[0]&256&&(Na.onMoveStart=Ra[8]),Da[0]&512&&(Na.onMove=Ra[9]),Da[0]&1024&&(Na.onMoveEnd=Ra[10]),Da[0]&2048&&(Na.panOnScrollMode=Ra[11]===void 0?PanOnScrollMode.Free:Ra[11]),Da[0]&4096&&(Na.preventScrolling=Ra[12]===void 0?!0:Ra[12]),Da[0]&8192&&(Na.zoomOnScroll=Ra[13]===void 0?!0:Ra[13]),Da[0]&16384&&(Na.zoomOnDoubleClick=Ra[14]===void 0?!0:Ra[14]),Da[0]&32768&&(Na.zoomOnPinch=Ra[15]===void 0?!0:Ra[15]),Da[0]&65536&&(Na.panOnScroll=Ra[16]===void 0?!1:Ra[16]),Da[0]&131072&&(Na.panOnDrag=Ra[17]===void 0?!0:Ra[17]),Da[0]&4194304&&(Na.paneClickDistance=Ra[22]===void 0?0:Ra[22]),Da[0]&10879168|Da[1]&8|Da[3]&64&&(Na.$$scope={dirty:Da,ctx:Ra}),Io.$set(Na);const Ba={};Da[0]&1048576&&(Ba.proOptions=Ra[20]),Da[0]&524288&&(Ba.position=Ra[19]),ya.$set(Ba),Aa&&Aa.p&&(!Oa||Da[3]&64)&&update_slot_base(Aa,Ta,Ra,Ra[99],Oa?get_slot_changes(Ta,Ra[99],Da,null):get_all_dirty_from_scope(Ra[99]),null),set_attributes($o,Pa=get_spread_update(Ia,[(!Oa||Da[0]&16777216)&&{style:Ra[24]},(!Oa||Da[0]&1107296256&&ka!==(ka=cc(["svelte-flow",Ra[25],Ra[30]])))&&{class:ka},{"data-testid":"svelte-flow__wrapper"},Da[1]&4&&Ra[33],{role:"application"}])),toggle_class($o,"svelte-18e9ir1",!0)},i(Ra){Oa||(transition_in(ko.$$.fragment,Ra),transition_in(Io.$$.fragment,Ra),transition_in(ya.$$.fragment,Ra),transition_in(Aa,Ra),Oa=!0)},o(Ra){transition_out(ko.$$.fragment,Ra),transition_out(Io.$$.fragment,Ra),transition_out(ya.$$.fragment,Ra),transition_out(Aa,Ra),Oa=!1},d(Ra){Ra&&detach($o),destroy_component(ko),destroy_component(Io),destroy_component(ya),Aa&&Aa.d(Ra),So[97](null),Sa(),Ca=!1,run_all(Ea)}}}function instance$70(So,$o,ko){let Eo;const Io=["id","nodes","edges","fitView","fitViewOptions","minZoom","maxZoom","initialViewport","viewport","nodeTypes","edgeTypes","selectionKey","selectionMode","panActivationKey","multiSelectionKey","zoomActivationKey","nodesDraggable","nodesConnectable","nodeDragThreshold","elementsSelectable","snapGrid","deleteKey","connectionRadius","connectionLineType","connectionMode","connectionLineStyle","connectionLineContainerStyle","onMoveStart","onMove","onMoveEnd","isValidConnection","translateExtent","nodeExtent","onlyRenderVisibleElements","panOnScrollMode","preventScrolling","zoomOnScroll","zoomOnDoubleClick","zoomOnPinch","panOnScroll","panOnDrag","selectionOnDrag","autoPanOnConnect","autoPanOnNodeDrag","onerror","ondelete","onedgecreate","attributionPosition","proOptions","defaultEdgeOptions","width","height","colorMode","onconnect","onconnectstart","onconnectend","onbeforedelete","oninit","nodeOrigin","paneClickDistance","nodeClickDistance","defaultMarkerColor","style","class"];let $a=compute_rest_props($o,Io),ya,wa,ka=noop$5,Sa=()=>(ka(),ka=subscribe(Ua,ac=>ko(100,wa=ac)),Ua),Oa,Ca=noop$5,Ea=()=>(Ca(),Ca=subscribe(Eo,ac=>ko(30,Oa=ac)),Eo);So.$$.on_destroy.push(()=>ka()),So.$$.on_destroy.push(()=>Ca());let{$$slots:Ta={},$$scope:Aa}=$o;const Ia=compute_slots(Ta);let{id:Pa="1"}=$o,{nodes:Ra}=$o,{edges:Da}=$o,{fitView:La=void 0}=$o,{fitViewOptions:Na=void 0}=$o,{minZoom:Ba=void 0}=$o,{maxZoom:Fa=void 0}=$o,{initialViewport:za=void 0}=$o,{viewport:Ua=void 0}=$o;Sa();let{nodeTypes:Ha=void 0}=$o,{edgeTypes:Wa=void 0}=$o,{selectionKey:ja=void 0}=$o,{selectionMode:Ya=void 0}=$o,{panActivationKey:Xa=void 0}=$o,{multiSelectionKey:Za=void 0}=$o,{zoomActivationKey:Ga=void 0}=$o,{nodesDraggable:Ka=void 0}=$o,{nodesConnectable:tl=void 0}=$o,{nodeDragThreshold:nl=void 0}=$o,{elementsSelectable:rl=void 0}=$o,{snapGrid:il=void 0}=$o,{deleteKey:sl=void 0}=$o,{connectionRadius:ul=void 0}=$o,{connectionLineType:al=void 0}=$o,{connectionMode:dl=ConnectionMode.Strict}=$o,{connectionLineStyle:gl=""}=$o,{connectionLineContainerStyle:cl=""}=$o,{onMoveStart:fl=void 0}=$o,{onMove:pl=void 0}=$o,{onMoveEnd:ml=void 0}=$o,{isValidConnection:vl=void 0}=$o,{translateExtent:$l=void 0}=$o,{nodeExtent:bl=void 0}=$o,{onlyRenderVisibleElements:Cl=void 0}=$o,{panOnScrollMode:wl=PanOnScrollMode.Free}=$o,{preventScrolling:Al=!0}=$o,{zoomOnScroll:Ll=!0}=$o,{zoomOnDoubleClick:Dl=!0}=$o,{zoomOnPinch:Gl=!0}=$o,{panOnScroll:Ol=!1}=$o,{panOnDrag:ic=!0}=$o,{selectionOnDrag:zl=void 0}=$o,{autoPanOnConnect:Ml=!0}=$o,{autoPanOnNodeDrag:Kl=!0}=$o,{onerror:Ul=void 0}=$o,{ondelete:Yl=void 0}=$o,{onedgecreate:jl=void 0}=$o,{attributionPosition:Rl=void 0}=$o,{proOptions:ql=void 0}=$o,{defaultEdgeOptions:Il=void 0}=$o,{width:Wl=void 0}=$o,{height:Tl=void 0}=$o,{colorMode:Bl="light"}=$o,{onconnect:tc=void 0}=$o,{onconnectstart:xl=void 0}=$o,{onconnectend:hc=void 0}=$o,{onbeforedelete:kc=void 0}=$o,{oninit:_c=void 0}=$o,{nodeOrigin:Pc=void 0}=$o,{paneClickDistance:fc=0}=$o,{nodeClickDistance:Zc=0}=$o,{defaultMarkerColor:Cc="#b1b1b7"}=$o,{style:Wc=void 0}=$o,{class:uc=void 0}=$o,Ec,Fc,Gc;const Jc=wa||za,wc=hasContext(key)?useStore():createStoreContext({nodes:get_store_value(Ra),edges:get_store_value(Da),width:Wl,height:Tl,fitView:La,nodeOrigin:Pc,nodeExtent:bl});onMount(()=>(wc.width.set(Fc),wc.height.set(Gc),wc.domNode.set(Ec),wc.syncNodeStores(Ra),wc.syncEdgeStores(Da),wc.syncViewport(Ua),La!==void 0&&wc.fitViewQueued.set(La),Na&&wc.fitViewOptions.set(Na),updateStore(wc,{nodeTypes:Ha,edgeTypes:Wa,minZoom:Ba,maxZoom:Fa,translateExtent:$l,paneClickDistance:fc}),()=>{wc.reset()}));const{initialized:Vc}=wc;component_subscribe(So,Vc,ac=>ko(74,ya=ac));let hu=!1;function ku(ac){bubble.call(this,So,ac)}function Au(ac){bubble.call(this,So,ac)}function ju(ac){bubble.call(this,So,ac)}function Bu(ac){bubble.call(this,So,ac)}function $c(ac){bubble.call(this,So,ac)}function Kc(ac){bubble.call(this,So,ac)}function ou(ac){bubble.call(this,So,ac)}function Qc(ac){bubble.call(this,So,ac)}function Ou(ac){bubble.call(this,So,ac)}function Gf(ac){bubble.call(this,So,ac)}function Ru(ac){bubble.call(this,So,ac)}function gc(ac){bubble.call(this,So,ac)}function Rc(ac){bubble.call(this,So,ac)}function iu(ac){bubble.call(this,So,ac)}function du(ac){bubble.call(this,So,ac)}function pu(ac){bubble.call(this,So,ac)}function Iu(ac){bubble.call(this,So,ac)}function sf(ac){bubble.call(this,So,ac)}function Pf(ac){bubble.call(this,So,ac)}function nu(ac){bubble.call(this,So,ac)}function Cu(ac){bubble.call(this,So,ac)}function af(ac){binding_callbacks[ac?"unshift":"push"](()=>{Ec=ac,ko(28,Ec)})}function Zu(){Fc=this.clientWidth,Gc=this.clientHeight,ko(26,Fc),ko(27,Gc)}return So.$$set=ac=>{$o=assign$1(assign$1({},$o),exclude_internal_props(ac)),ko(33,$a=compute_rest_props($o,Io)),"id"in ac&&ko(35,Pa=ac.id),"nodes"in ac&&ko(36,Ra=ac.nodes),"edges"in ac&&ko(37,Da=ac.edges),"fitView"in ac&&ko(38,La=ac.fitView),"fitViewOptions"in ac&&ko(39,Na=ac.fitViewOptions),"minZoom"in ac&&ko(40,Ba=ac.minZoom),"maxZoom"in ac&&ko(41,Fa=ac.maxZoom),"initialViewport"in ac&&ko(42,za=ac.initialViewport),"viewport"in ac&&Sa(ko(0,Ua=ac.viewport)),"nodeTypes"in ac&&ko(43,Ha=ac.nodeTypes),"edgeTypes"in ac&&ko(44,Wa=ac.edgeTypes),"selectionKey"in ac&&ko(1,ja=ac.selectionKey),"selectionMode"in ac&&ko(45,Ya=ac.selectionMode),"panActivationKey"in ac&&ko(2,Xa=ac.panActivationKey),"multiSelectionKey"in ac&&ko(3,Za=ac.multiSelectionKey),"zoomActivationKey"in ac&&ko(4,Ga=ac.zoomActivationKey),"nodesDraggable"in ac&&ko(46,Ka=ac.nodesDraggable),"nodesConnectable"in ac&&ko(47,tl=ac.nodesConnectable),"nodeDragThreshold"in ac&&ko(48,nl=ac.nodeDragThreshold),"elementsSelectable"in ac&&ko(49,rl=ac.elementsSelectable),"snapGrid"in ac&&ko(50,il=ac.snapGrid),"deleteKey"in ac&&ko(5,sl=ac.deleteKey),"connectionRadius"in ac&&ko(51,ul=ac.connectionRadius),"connectionLineType"in ac&&ko(52,al=ac.connectionLineType),"connectionMode"in ac&&ko(53,dl=ac.connectionMode),"connectionLineStyle"in ac&&ko(6,gl=ac.connectionLineStyle),"connectionLineContainerStyle"in ac&&ko(7,cl=ac.connectionLineContainerStyle),"onMoveStart"in ac&&ko(8,fl=ac.onMoveStart),"onMove"in ac&&ko(9,pl=ac.onMove),"onMoveEnd"in ac&&ko(10,ml=ac.onMoveEnd),"isValidConnection"in ac&&ko(54,vl=ac.isValidConnection),"translateExtent"in ac&&ko(55,$l=ac.translateExtent),"nodeExtent"in ac&&ko(56,bl=ac.nodeExtent),"onlyRenderVisibleElements"in ac&&ko(57,Cl=ac.onlyRenderVisibleElements),"panOnScrollMode"in ac&&ko(11,wl=ac.panOnScrollMode),"preventScrolling"in ac&&ko(12,Al=ac.preventScrolling),"zoomOnScroll"in ac&&ko(13,Ll=ac.zoomOnScroll),"zoomOnDoubleClick"in ac&&ko(14,Dl=ac.zoomOnDoubleClick),"zoomOnPinch"in ac&&ko(15,Gl=ac.zoomOnPinch),"panOnScroll"in ac&&ko(16,Ol=ac.panOnScroll),"panOnDrag"in ac&&ko(17,ic=ac.panOnDrag),"selectionOnDrag"in ac&&ko(18,zl=ac.selectionOnDrag),"autoPanOnConnect"in ac&&ko(58,Ml=ac.autoPanOnConnect),"autoPanOnNodeDrag"in ac&&ko(59,Kl=ac.autoPanOnNodeDrag),"onerror"in ac&&ko(60,Ul=ac.onerror),"ondelete"in ac&&ko(61,Yl=ac.ondelete),"onedgecreate"in ac&&ko(62,jl=ac.onedgecreate),"attributionPosition"in ac&&ko(19,Rl=ac.attributionPosition),"proOptions"in ac&&ko(20,ql=ac.proOptions),"defaultEdgeOptions"in ac&&ko(21,Il=ac.defaultEdgeOptions),"width"in ac&&ko(63,Wl=ac.width),"height"in ac&&ko(64,Tl=ac.height),"colorMode"in ac&&ko(65,Bl=ac.colorMode),"onconnect"in ac&&ko(66,tc=ac.onconnect),"onconnectstart"in ac&&ko(67,xl=ac.onconnectstart),"onconnectend"in ac&&ko(68,hc=ac.onconnectend),"onbeforedelete"in ac&&ko(69,kc=ac.onbeforedelete),"oninit"in ac&&ko(70,_c=ac.oninit),"nodeOrigin"in ac&&ko(71,Pc=ac.nodeOrigin),"paneClickDistance"in ac&&ko(22,fc=ac.paneClickDistance),"nodeClickDistance"in ac&&ko(23,Zc=ac.nodeClickDistance),"defaultMarkerColor"in ac&&ko(72,Cc=ac.defaultMarkerColor),"style"in ac&&ko(24,Wc=ac.style),"class"in ac&&ko(25,uc=ac.class),"$$scope"in ac&&ko(99,Aa=ac.$$scope)},So.$$.update=()=>{So.$$.dirty[0]&201326592&&Fc!==void 0&&Gc!==void 0&&(wc.width.set(Fc),wc.height.set(Gc)),So.$$.dirty[2]&6400&&!hu&&ya&&(_c==null||_c(),ko(73,hu=!0)),So.$$.dirty[1]&2097135632|So.$$.dirty[2]&1777&&updateStoreByKeys(wc,{flowId:Pa,connectionLineType:al,connectionRadius:ul,selectionMode:Ya,snapGrid:il,defaultMarkerColor:Cc,nodesDraggable:Ka,nodesConnectable:tl,elementsSelectable:rl,onlyRenderVisibleElements:Cl,isValidConnection:vl,autoPanOnConnect:Ml,autoPanOnNodeDrag:Kl,onerror:Ul,ondelete:Yl,onedgecreate:jl,connectionMode:dl,nodeDragThreshold:nl,onconnect:tc,onconnectstart:xl,onconnectend:hc,onbeforedelete:kc,nodeOrigin:Pc}),So.$$.dirty[0]&4194304|So.$$.dirty[1]&16791040&&updateStore(wc,{nodeTypes:Ha,edgeTypes:Wa,minZoom:Ba,maxZoom:Fa,translateExtent:$l,paneClickDistance:fc}),So.$$.dirty[2]&8&&Ea(ko(29,Eo=useColorModeClass(Bl)))},[Ua,ja,Xa,Za,Ga,sl,gl,cl,fl,pl,ml,wl,Al,Ll,Dl,Gl,Ol,ic,zl,Rl,ql,Il,fc,Zc,Wc,uc,Fc,Gc,Ec,Eo,Oa,Jc,Vc,$a,Ia,Pa,Ra,Da,La,Na,Ba,Fa,za,Ha,Wa,Ya,Ka,tl,nl,rl,il,ul,al,dl,vl,$l,bl,Cl,Ml,Kl,Ul,Yl,jl,Wl,Tl,Bl,tc,xl,hc,kc,_c,Pc,Cc,hu,ya,Ta,ku,Au,ju,Bu,$c,Kc,ou,Qc,Ou,Gf,Ru,gc,Rc,iu,du,pu,Iu,sf,Pf,nu,Cu,af,Zu,Aa]}class SvelteFlow extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$70,create_fragment$73,safe_not_equal,{id:35,nodes:36,edges:37,fitView:38,fitViewOptions:39,minZoom:40,maxZoom:41,initialViewport:42,viewport:0,nodeTypes:43,edgeTypes:44,selectionKey:1,selectionMode:45,panActivationKey:2,multiSelectionKey:3,zoomActivationKey:4,nodesDraggable:46,nodesConnectable:47,nodeDragThreshold:48,elementsSelectable:49,snapGrid:50,deleteKey:5,connectionRadius:51,connectionLineType:52,connectionMode:53,connectionLineStyle:6,connectionLineContainerStyle:7,onMoveStart:8,onMove:9,onMoveEnd:10,isValidConnection:54,translateExtent:55,nodeExtent:56,onlyRenderVisibleElements:57,panOnScrollMode:11,preventScrolling:12,zoomOnScroll:13,zoomOnDoubleClick:14,zoomOnPinch:15,panOnScroll:16,panOnDrag:17,selectionOnDrag:18,autoPanOnConnect:58,autoPanOnNodeDrag:59,onerror:60,ondelete:61,onedgecreate:62,attributionPosition:19,proOptions:20,defaultEdgeOptions:21,width:63,height:64,colorMode:65,onconnect:66,onconnectstart:67,onconnectend:68,onbeforedelete:69,oninit:70,nodeOrigin:71,paneClickDistance:22,nodeClickDistance:23,defaultMarkerColor:72,style:24,class:25},null,[-1,-1,-1,-1])}}const SvelteFlow$1=SvelteFlow;function create_fragment$72(So){let $o;const ko=So[7].default,Eo=create_slot(ko,So,So[6],null);return{c(){Eo&&Eo.c()},m(Io,$a){Eo&&Eo.m(Io,$a),$o=!0},p(Io,[$a]){Eo&&Eo.p&&(!$o||$a&64)&&update_slot_base(Eo,ko,Io,Io[6],$o?get_slot_changes(ko,Io[6],$a,null):get_all_dirty_from_scope(Io[6]),null)},i(Io){$o||(transition_in(Eo,Io),$o=!0)},o(Io){transition_out(Eo,Io),$o=!1},d(Io){Eo&&Eo.d(Io)}}}function instance$6$(So,$o,ko){let{$$slots:Eo={},$$scope:Io}=$o,{initialNodes:$a=void 0}=$o,{initialEdges:ya=void 0}=$o,{initialWidth:wa=void 0}=$o,{initialHeight:ka=void 0}=$o,{fitView:Sa=void 0}=$o,{nodeOrigin:Oa=void 0}=$o;const Ca=createStore({nodes:$a,edges:ya,width:wa,height:ka,nodeOrigin:Oa,fitView:Sa});return setContext(key,{getStore:()=>Ca}),onDestroy(()=>{Ca.reset()}),So.$$set=Ea=>{"initialNodes"in Ea&&ko(0,$a=Ea.initialNodes),"initialEdges"in Ea&&ko(1,ya=Ea.initialEdges),"initialWidth"in Ea&&ko(2,wa=Ea.initialWidth),"initialHeight"in Ea&&ko(3,ka=Ea.initialHeight),"fitView"in Ea&&ko(4,Sa=Ea.fitView),"nodeOrigin"in Ea&&ko(5,Oa=Ea.nodeOrigin),"$$scope"in Ea&&ko(6,Io=Ea.$$scope)},[$a,ya,wa,ka,Sa,Oa,Io,Eo]}class SvelteFlowProvider extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6$,create_fragment$72,safe_not_equal,{initialNodes:0,initialEdges:1,initialWidth:2,initialHeight:3,fitView:4,nodeOrigin:5})}}const SvelteFlowProvider$1=SvelteFlowProvider;var BackgroundVariant;(function(So){So.Lines="lines",So.Dots="dots",So.Cross="cross"})(BackgroundVariant||(BackgroundVariant={}));function create_fragment$71(So){let $o,ko;return{c(){$o=svg_element("circle"),attr($o,"cx",So[0]),attr($o,"cy",So[0]),attr($o,"r",So[0]),attr($o,"class",ko=cc(["svelte-flow__background-pattern","dots",So[1]]))},m(Eo,Io){insert$1(Eo,$o,Io)},p(Eo,[Io]){Io&1&&attr($o,"cx",Eo[0]),Io&1&&attr($o,"cy",Eo[0]),Io&1&&attr($o,"r",Eo[0]),Io&2&&ko!==(ko=cc(["svelte-flow__background-pattern","dots",Eo[1]]))&&attr($o,"class",ko)},i:noop$5,o:noop$5,d(Eo){Eo&&detach($o)}}}function instance$6_(So,$o,ko){let{radius:Eo=5}=$o,{class:Io=""}=$o;return So.$$set=$a=>{"radius"in $a&&ko(0,Eo=$a.radius),"class"in $a&&ko(1,Io=$a.class)},[Eo,Io]}class DotPattern extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6_,create_fragment$71,safe_not_equal,{radius:0,class:1})}}const DotPattern$1=DotPattern;function create_fragment$70(So){let $o,ko,Eo;return{c(){$o=svg_element("path"),attr($o,"stroke-width",So[0]),attr($o,"d",ko=`M${So[1][0]/2} 0 V${So[1][1]} M0 ${So[1][1]/2} H${So[1][0]}`),attr($o,"class",Eo=cc(["svelte-flow__background-pattern",So[2],So[3]]))},m(Io,$a){insert$1(Io,$o,$a)},p(Io,[$a]){$a&1&&attr($o,"stroke-width",Io[0]),$a&2&&ko!==(ko=`M${Io[1][0]/2} 0 V${Io[1][1]} M0 ${Io[1][1]/2} H${Io[1][0]}`)&&attr($o,"d",ko),$a&12&&Eo!==(Eo=cc(["svelte-flow__background-pattern",Io[2],Io[3]]))&&attr($o,"class",Eo)},i:noop$5,o:noop$5,d(Io){Io&&detach($o)}}}function instance$6Z(So,$o,ko){let{lineWidth:Eo=1}=$o,{dimensions:Io}=$o,{variant:$a=void 0}=$o,{class:ya=""}=$o;return So.$$set=wa=>{"lineWidth"in wa&&ko(0,Eo=wa.lineWidth),"dimensions"in wa&&ko(1,Io=wa.dimensions),"variant"in wa&&ko(2,$a=wa.variant),"class"in wa&&ko(3,ya=wa.class)},[Eo,Io,$a,ya]}class LinePattern extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6Z,create_fragment$70,safe_not_equal,{lineWidth:0,dimensions:1,variant:2,class:3})}}const LinePattern$1=LinePattern,Background_svelte_svelte_type_style_lang="";function create_else_block$1f(So){let $o,ko;return $o=new LinePattern$1({props:{dimensions:So[6],variant:So[0],lineWidth:So[1],class:So[4]}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&64&&($a.dimensions=Eo[6]),Io&1&&($a.variant=Eo[0]),Io&2&&($a.lineWidth=Eo[1]),Io&16&&($a.class=Eo[4]),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_if_block$3f(So){let $o,ko;return $o=new DotPattern$1({props:{radius:So[7]/2,class:So[4]}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&128&&($a.radius=Eo[7]/2),Io&16&&($a.class=Eo[4]),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_fragment$6$(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta;const Aa=[create_if_block$3f,create_else_block$1f],Ia=[];function Pa(Ra,Da){return Ra[14]?0:1}return Eo=Pa(So),Io=Ia[Eo]=Aa[Eo](So),{c(){$o=svg_element("svg"),ko=svg_element("pattern"),Io.c(),Oa=svg_element("rect"),attr(ko,"id",So[11]),attr(ko,"x",$a=So[9].x%So[8][0]),attr(ko,"y",ya=So[9].y%So[8][1]),attr(ko,"width",wa=So[8][0]),attr(ko,"height",ka=So[8][1]),attr(ko,"patternUnits","userSpaceOnUse"),attr(ko,"patternTransform",Sa=`translate(-${So[10][0]},-${So[10][1]})`),attr(Oa,"x","0"),attr(Oa,"y","0"),attr(Oa,"width","100%"),attr(Oa,"height","100%"),attr(Oa,"fill",Ca=`url(#${So[11]})`),attr($o,"class",Ea=null_to_empty(cc(["svelte-flow__background",So[5]]))+" svelte-1r7pe8d"),attr($o,"data-testid","svelte-flow__background"),set_style($o,"--xy-background-color-props",So[2]),set_style($o,"--xy-background-pattern-color-props",So[3])},m(Ra,Da){insert$1(Ra,$o,Da),append$2($o,ko),Ia[Eo].m(ko,null),append$2($o,Oa),Ta=!0},p(Ra,[Da]){Io.p(Ra,Da),(!Ta||Da&2048)&&attr(ko,"id",Ra[11]),(!Ta||Da&768&&$a!==($a=Ra[9].x%Ra[8][0]))&&attr(ko,"x",$a),(!Ta||Da&768&&ya!==(ya=Ra[9].y%Ra[8][1]))&&attr(ko,"y",ya),(!Ta||Da&256&&wa!==(wa=Ra[8][0]))&&attr(ko,"width",wa),(!Ta||Da&256&&ka!==(ka=Ra[8][1]))&&attr(ko,"height",ka),(!Ta||Da&1024&&Sa!==(Sa=`translate(-${Ra[10][0]},-${Ra[10][1]})`))&&attr(ko,"patternTransform",Sa),(!Ta||Da&2048&&Ca!==(Ca=`url(#${Ra[11]})`))&&attr(Oa,"fill",Ca),(!Ta||Da&32&&Ea!==(Ea=null_to_empty(cc(["svelte-flow__background",Ra[5]]))+" svelte-1r7pe8d"))&&attr($o,"class",Ea),Da&4&&set_style($o,"--xy-background-color-props",Ra[2]),Da&8&&set_style($o,"--xy-background-pattern-color-props",Ra[3])},i(Ra){Ta||(transition_in(Io),Ta=!0)},o(Ra){transition_out(Io),Ta=!1},d(Ra){Ra&&detach($o),Ia[Eo].d()}}}const defaultSize={[BackgroundVariant.Dots]:1,[BackgroundVariant.Lines]:1,[BackgroundVariant.Cross]:6};function instance$6Y(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa,{id:Oa=void 0}=$o,{variant:Ca=BackgroundVariant.Dots}=$o,{gap:Ea=20}=$o,{size:Ta=1}=$o,{lineWidth:Aa=1}=$o,{bgColor:Ia=void 0}=$o,{patternColor:Pa=void 0}=$o,{patternClass:Ra=void 0}=$o,{class:Da=""}=$o;const{viewport:La,flowId:Na}=useStore();component_subscribe(So,La,Ha=>ko(9,ka=Ha)),component_subscribe(So,Na,Ha=>ko(18,Sa=Ha));const Ba=Ta||defaultSize[Ca],Fa=Ca===BackgroundVariant.Dots,za=Ca===BackgroundVariant.Cross,Ua=Array.isArray(Ea)?Ea:[Ea,Ea];return So.$$set=Ha=>{"id"in Ha&&ko(15,Oa=Ha.id),"variant"in Ha&&ko(0,Ca=Ha.variant),"gap"in Ha&&ko(16,Ea=Ha.gap),"size"in Ha&&ko(17,Ta=Ha.size),"lineWidth"in Ha&&ko(1,Aa=Ha.lineWidth),"bgColor"in Ha&&ko(2,Ia=Ha.bgColor),"patternColor"in Ha&&ko(3,Pa=Ha.patternColor),"patternClass"in Ha&&ko(4,Ra=Ha.patternClass),"class"in Ha&&ko(5,Da=Ha.class)},So.$$.update=()=>{So.$$.dirty&294912&&ko(11,Eo=`background-pattern-${Sa}-${Oa||""}`),So.$$.dirty&512&&ko(8,Io=[Ua[0]*ka.zoom||1,Ua[1]*ka.zoom||1]),So.$$.dirty&512&&ko(7,$a=Ba*ka.zoom),So.$$.dirty&384&&ko(6,ya=za?[$a,$a]:Io),So.$$.dirty&192&&ko(10,wa=Fa?[$a/2,$a/2]:[ya[0]/2,ya[1]/2])},[Ca,Aa,Ia,Pa,Ra,Da,ya,$a,Io,ka,wa,Eo,La,Na,Fa,Oa,Ea,Ta,Sa]}class Background extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6Y,create_fragment$6$,safe_not_equal,{id:15,variant:0,gap:16,size:17,lineWidth:1,bgColor:2,patternColor:3,patternClass:4,class:5})}}const Background$1=Background;function create_fragment$6_(So){let $o,ko,Eo;return{c(){$o=svg_element("rect"),attr($o,"class",ko=cc(["svelte-flow__minimap-node",So[10]])),attr($o,"x",So[0]),attr($o,"y",So[1]),attr($o,"rx",So[4]),attr($o,"ry",So[4]),attr($o,"width",So[2]),attr($o,"height",So[3]),attr($o,"style",Eo=`${So[5]?`fill: ${So[5]};`:""}${So[7]?`stroke: ${So[7]};`:""}${So[8]?`stroke-width: ${So[8]};`:""}`),attr($o,"shape-rendering",So[6]),toggle_class($o,"selected",So[9])},m(Io,$a){insert$1(Io,$o,$a)},p(Io,[$a]){$a&1024&&ko!==(ko=cc(["svelte-flow__minimap-node",Io[10]]))&&attr($o,"class",ko),$a&1&&attr($o,"x",Io[0]),$a&2&&attr($o,"y",Io[1]),$a&16&&attr($o,"rx",Io[4]),$a&16&&attr($o,"ry",Io[4]),$a&4&&attr($o,"width",Io[2]),$a&8&&attr($o,"height",Io[3]),$a&416&&Eo!==(Eo=`${Io[5]?`fill: ${Io[5]};`:""}${Io[7]?`stroke: ${Io[7]};`:""}${Io[8]?`stroke-width: ${Io[8]};`:""}`)&&attr($o,"style",Eo),$a&64&&attr($o,"shape-rendering",Io[6]),$a&1536&&toggle_class($o,"selected",Io[9])},i:noop$5,o:noop$5,d(Io){Io&&detach($o)}}}function instance$6X(So,$o,ko){let{x:Eo}=$o,{y:Io}=$o,{width:$a=0}=$o,{height:ya=0}=$o,{borderRadius:wa=5}=$o,{color:ka=void 0}=$o,{shapeRendering:Sa}=$o,{strokeColor:Oa=void 0}=$o,{strokeWidth:Ca=2}=$o,{selected:Ea=!1}=$o,{class:Ta=""}=$o;return So.$$set=Aa=>{"x"in Aa&&ko(0,Eo=Aa.x),"y"in Aa&&ko(1,Io=Aa.y),"width"in Aa&&ko(2,$a=Aa.width),"height"in Aa&&ko(3,ya=Aa.height),"borderRadius"in Aa&&ko(4,wa=Aa.borderRadius),"color"in Aa&&ko(5,ka=Aa.color),"shapeRendering"in Aa&&ko(6,Sa=Aa.shapeRendering),"strokeColor"in Aa&&ko(7,Oa=Aa.strokeColor),"strokeWidth"in Aa&&ko(8,Ca=Aa.strokeWidth),"selected"in Aa&&ko(9,Ea=Aa.selected),"class"in Aa&&ko(10,Ta=Aa.class)},[Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta]}class MinimapNode extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6X,create_fragment$6_,safe_not_equal,{x:0,y:1,width:2,height:3,borderRadius:4,color:5,shapeRendering:6,strokeColor:7,strokeWidth:8,selected:9,class:10})}}const MinimapNode$1=MinimapNode;function interactive(So,$o){const ko=XYMinimap({domNode:So,panZoom:$o.panZoom,getTransform:()=>{const Io=get_store_value($o.viewport);return[Io.x,Io.y,Io.zoom]},getViewScale:$o.getViewScale});function Eo(Io){ko.update({translateExtent:Io.translateExtent,width:Io.width,height:Io.height,inversePan:Io.inversePan,zoomStep:Io.zoomStep,pannable:Io.pannable,zoomable:Io.zoomable})}return{update:Eo,destroy(){ko.destroy()}}}function get_each_context$1u(So,$o,ko){const Eo=So.slice();Eo[55]=$o[ko];const Io=Eo[20].get(Eo[55].id);return Eo[56]=Io,Eo}function get_if_ctx$3(So){const $o=So.slice(),ko=getNodeDimensions($o[56]);return $o[59]=ko,$o}function create_if_block$3e(So){let $o,ko,Eo=[],Io=new Map,$a,ya,wa,ka,Sa,Oa,Ca,Ea=So[1]&&create_if_block_2$19(So),Ta=ensure_array_like(So[19]);const Aa=Ia=>Ia[55].id;for(let Ia=0;Ia<Ta.length;Ia+=1){let Pa=get_each_context$1u(So,Ta,Ia),Ra=Aa(Pa);Io.set(Ra,Eo[Ia]=create_each_block$1u(Ra,Pa))}return{c(){$o=svg_element("svg"),Ea&&Ea.c(),ko=empty$4();for(let Ia=0;Ia<Eo.length;Ia+=1)Eo[Ia].c();$a=svg_element("path"),attr($a,"class","svelte-flow__minimap-mask"),attr($a,"d",ya="M"+(So[26]-So[15])+","+(So[25]-So[15])+"h"+(So[24]+So[15]*2)+"v"+(So[23]+So[15]*2)+"h"+(-So[24]-So[15]*2)+`z
763
763
  M`+So[18].x+","+So[18].y+"h"+So[18].width+"v"+So[18].height+"h"+-So[18].width+"z"),attr($a,"fill-rule","evenodd"),attr($a,"pointer-events","none"),attr($o,"width",So[17]),attr($o,"height",So[16]),attr($o,"viewBox",wa=So[26]+" "+So[25]+" "+So[24]+" "+So[23]),attr($o,"class","svelte-flow__minimap-svg"),attr($o,"role","img"),attr($o,"aria-labelledby",So[41]),set_style($o,"--xy-minimap-mask-background-color-props",So[5]),set_style($o,"--xy-minimap-mask-stroke-color-props",So[6]),set_style($o,"--xy-minimap-mask-stroke-width-props",So[7]?So[7]*So[14]:void 0)},m(Ia,Pa){insert$1(Ia,$o,Pa),Ea&&Ea.m($o,null),append$2($o,ko);for(let Ra=0;Ra<Eo.length;Ra+=1)Eo[Ra]&&Eo[Ra].m($o,null);append$2($o,$a),Sa=!0,Oa||(Ca=action_destroyer(ka=interactive.call(null,$o,{panZoom:So[27],viewport:So[31],getViewScale:So[42],translateExtent:So[28],width:So[22],height:So[21],inversePan:So[10],zoomStep:So[11],pannable:So[8],zoomable:So[9]})),Oa=!0)},p(Ia,Pa){Ia[1]?Ea?Ea.p(Ia,Pa):(Ea=create_if_block_2$19(Ia),Ea.c(),Ea.m($o,ko)):Ea&&(Ea.d(1),Ea=null),Pa[0]&1572876|Pa[1]&960&&(Ta=ensure_array_like(Ia[19]),group_outros(),Eo=update_keyed_each(Eo,Pa,Aa,1,Ia,Ta,Io,$o,outro_and_destroy_block,create_each_block$1u,$a,get_each_context$1u),check_outros()),(!Sa||Pa[0]&126124032&&ya!==(ya="M"+(Ia[26]-Ia[15])+","+(Ia[25]-Ia[15])+"h"+(Ia[24]+Ia[15]*2)+"v"+(Ia[23]+Ia[15]*2)+"h"+(-Ia[24]-Ia[15]*2)+`z
764
764
  M`+Ia[18].x+","+Ia[18].y+"h"+Ia[18].width+"v"+Ia[18].height+"h"+-Ia[18].width+"z"))&&attr($a,"d",ya),(!Sa||Pa[0]&131072)&&attr($o,"width",Ia[17]),(!Sa||Pa[0]&65536)&&attr($o,"height",Ia[16]),(!Sa||Pa[0]&125829120&&wa!==(wa=Ia[26]+" "+Ia[25]+" "+Ia[24]+" "+Ia[23]))&&attr($o,"viewBox",wa),ka&&is_function(ka.update)&&Pa[0]&408948480&&ka.update.call(null,{panZoom:Ia[27],viewport:Ia[31],getViewScale:Ia[42],translateExtent:Ia[28],width:Ia[22],height:Ia[21],inversePan:Ia[10],zoomStep:Ia[11],pannable:Ia[8],zoomable:Ia[9]}),Pa[0]&32&&set_style($o,"--xy-minimap-mask-background-color-props",Ia[5]),Pa[0]&64&&set_style($o,"--xy-minimap-mask-stroke-color-props",Ia[6]),Pa[0]&16512&&set_style($o,"--xy-minimap-mask-stroke-width-props",Ia[7]?Ia[7]*Ia[14]:void 0)},i(Ia){if(!Sa){for(let Pa=0;Pa<Ta.length;Pa+=1)transition_in(Eo[Pa]);Sa=!0}},o(Ia){for(let Pa=0;Pa<Eo.length;Pa+=1)transition_out(Eo[Pa]);Sa=!1},d(Ia){Ia&&detach($o),Ea&&Ea.d();for(let Pa=0;Pa<Eo.length;Pa+=1)Eo[Pa].d();Oa=!1,Ca()}}}function create_if_block_2$19(So){let $o,ko;return{c(){$o=svg_element("title"),ko=text(So[1]),attr($o,"id",So[41])},m(Eo,Io){insert$1(Eo,$o,Io),append$2($o,ko)},p(Eo,Io){Io[0]&2&&set_data(ko,Eo[1])},d(Eo){Eo&&detach($o)}}}function create_if_block_1$1M(So){var $a;let $o,ko;const Eo=[{x:So[56].internals.positionAbsolute.x},{y:So[56].internals.positionAbsolute.y},So[59],{selected:So[56].selected},{color:($a=So[37])==null?void 0:$a.call(So,So[56])},{borderRadius:So[2]},{strokeColor:So[38](So[56])},{strokeWidth:So[3]},{shapeRendering:So[40]},{class:So[39](So[56])}];let Io={};for(let ya=0;ya<Eo.length;ya+=1)Io=assign$1(Io,Eo[ya]);return $o=new MinimapNode$1({props:Io}),{c(){create_component($o.$$.fragment)},m(ya,wa){mount_component($o,ya,wa),ko=!0},p(ya,wa){var Sa;const ka=wa[0]&1572876|wa[1]&960?get_spread_update(Eo,[wa[0]&1572864&&{x:ya[56].internals.positionAbsolute.x},wa[0]&1572864&&{y:ya[56].internals.positionAbsolute.y},wa[0]&1572864&&get_spread_object(ya[59]),wa[0]&1572864&&{selected:ya[56].selected},wa[0]&1572864|wa[1]&64&&{color:(Sa=ya[37])==null?void 0:Sa.call(ya,ya[56])},wa[0]&4&&{borderRadius:ya[2]},wa[0]&1572864|wa[1]&128&&{strokeColor:ya[38](ya[56])},wa[0]&8&&{strokeWidth:ya[3]},wa[1]&512&&{shapeRendering:ya[40]},wa[0]&1572864|wa[1]&256&&{class:ya[39](ya[56])}]):{};$o.$set(ka)},i(ya){ko||(transition_in($o.$$.fragment,ya),ko=!0)},o(ya){transition_out($o.$$.fragment,ya),ko=!1},d(ya){destroy_component($o,ya)}}}function create_each_block$1u(So,$o){let ko,Eo=$o[56]&&nodeHasDimensions($o[56]),Io,$a,ya=Eo&&create_if_block_1$1M(get_if_ctx$3($o));return{key:So,first:null,c(){ko=empty$4(),ya&&ya.c(),Io=empty$4(),this.first=ko},m(wa,ka){insert$1(wa,ko,ka),ya&&ya.m(wa,ka),insert$1(wa,Io,ka),$a=!0},p(wa,ka){$o=wa,ka[0]&1572864&&(Eo=$o[56]&&nodeHasDimensions($o[56])),Eo?ya?(ya.p(get_if_ctx$3($o),ka),ka[0]&1572864&&transition_in(ya,1)):(ya=create_if_block_1$1M(get_if_ctx$3($o)),ya.c(),transition_in(ya,1),ya.m(Io.parentNode,Io)):ya&&(group_outros(),transition_out(ya,1,1,()=>{ya=null}),check_outros())},i(wa){$a||(transition_in(ya),$a=!0)},o(wa){transition_out(ya),$a=!1},d(wa){wa&&(detach(ko),detach(Io)),ya&&ya.d(wa)}}}function create_default_slot$4n(So){let $o,ko,Eo=So[27]&&create_if_block$3e(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m(Io,$a){Eo&&Eo.m(Io,$a),insert$1(Io,$o,$a),ko=!0},p(Io,$a){Io[27]?Eo?(Eo.p(Io,$a),$a[0]&134217728&&transition_in(Eo,1)):(Eo=create_if_block$3e(Io),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o)):Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros())},i(Io){ko||(transition_in(Eo),ko=!0)},o(Io){transition_out(Eo),ko=!1},d(Io){Io&&detach($o),Eo&&Eo.d(Io)}}}function create_fragment$6Z(So){let $o,ko;return $o=new Panel$3({props:{position:So[0],style:So[12]+(So[4]?`;--xy-minimap-background-color-props:${So[4]}`:""),class:cc(["svelte-flow__minimap",So[13]]),"data-testid":"svelte-flow__minimap",$$slots:{default:[create_default_slot$4n]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io[0]&1&&($a.position=Eo[0]),Io[0]&4112&&($a.style=Eo[12]+(Eo[4]?`;--xy-minimap-background-color-props:${Eo[4]}`:"")),Io[0]&8192&&($a.class=cc(["svelte-flow__minimap",Eo[13]])),Io[0]&536858606|Io[1]&536870912&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}const getAttrFunction=So=>So instanceof Function?So:()=>So,defaultWidth=200,defaultHeight=150;function instance$6W(So,$o,ko){let Eo,Io,$a,ya,wa,ka,Sa,Oa,Ca,Ea,Ta,Aa,Ia,Pa,Ra,Da,La,Na,Ba,Fa,za,{position:Ua="bottom-right"}=$o,{ariaLabel:Ha="Mini map"}=$o,{nodeStrokeColor:Wa="transparent"}=$o,{nodeColor:ja=void 0}=$o,{nodeClass:Ya=""}=$o,{nodeBorderRadius:Xa=5}=$o,{nodeStrokeWidth:Za=2}=$o,{bgColor:Ga=void 0}=$o,{maskColor:Ka=void 0}=$o,{maskStrokeColor:tl=void 0}=$o,{maskStrokeWidth:nl=void 0}=$o,{width:rl=void 0}=$o,{height:il=void 0}=$o,{pannable:sl=!0}=$o,{zoomable:ul=!0}=$o,{inversePan:al=void 0}=$o,{zoomStep:dl=void 0}=$o,{style:gl=""}=$o,{class:cl=""}=$o;const{nodes:fl,nodeLookup:pl,viewport:ml,width:vl,height:$l,flowId:bl,panZoom:Cl,translateExtent:wl}=useStore();component_subscribe(So,fl,Ml=>ko(19,Pa=Ml)),component_subscribe(So,pl,Ml=>ko(20,Ra=Ml)),component_subscribe(So,ml,Ml=>ko(53,Da=Ml)),component_subscribe(So,vl,Ml=>ko(22,Na=Ml)),component_subscribe(So,$l,Ml=>ko(21,La=Ml)),component_subscribe(So,bl,Ml=>ko(54,Ba=Ml)),component_subscribe(So,Cl,Ml=>ko(27,Fa=Ml)),component_subscribe(So,wl,Ml=>ko(28,za=Ml));const Al=ja===void 0?void 0:getAttrFunction(ja),Ll=getAttrFunction(Wa),Dl=getAttrFunction(Ya),Gl=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision",Ol=`svelte-flow__minimap-desc-${Ba}`;let ic=Eo;const zl=()=>ka;return So.$$set=Ml=>{"position"in Ml&&ko(0,Ua=Ml.position),"ariaLabel"in Ml&&ko(1,Ha=Ml.ariaLabel),"nodeStrokeColor"in Ml&&ko(43,Wa=Ml.nodeStrokeColor),"nodeColor"in Ml&&ko(44,ja=Ml.nodeColor),"nodeClass"in Ml&&ko(45,Ya=Ml.nodeClass),"nodeBorderRadius"in Ml&&ko(2,Xa=Ml.nodeBorderRadius),"nodeStrokeWidth"in Ml&&ko(3,Za=Ml.nodeStrokeWidth),"bgColor"in Ml&&ko(4,Ga=Ml.bgColor),"maskColor"in Ml&&ko(5,Ka=Ml.maskColor),"maskStrokeColor"in Ml&&ko(6,tl=Ml.maskStrokeColor),"maskStrokeWidth"in Ml&&ko(7,nl=Ml.maskStrokeWidth),"width"in Ml&&ko(46,rl=Ml.width),"height"in Ml&&ko(47,il=Ml.height),"pannable"in Ml&&ko(8,sl=Ml.pannable),"zoomable"in Ml&&ko(9,ul=Ml.zoomable),"inversePan"in Ml&&ko(10,al=Ml.inversePan),"zoomStep"in Ml&&ko(11,dl=Ml.zoomStep),"style"in Ml&&ko(12,gl=Ml.style),"class"in Ml&&ko(13,cl=Ml.class)},So.$$.update=()=>{So.$$.dirty[0]&6291456|So.$$.dirty[1]&4194304&&ko(18,Eo={x:-Da.x/Da.zoom,y:-Da.y/Da.zoom,width:Na/Da.zoom,height:La/Da.zoom}),So.$$.dirty[0]&1835008&&ko(48,ic=Ra.size>0?getBoundsOfRects(getInternalNodesBounds(Ra,{filter:Ml=>!Ml.hidden}),Eo):Eo),So.$$.dirty[1]&32768&&ko(17,Io=rl??defaultWidth),So.$$.dirty[1]&65536&&ko(16,$a=il??defaultHeight),So.$$.dirty[0]&131072|So.$$.dirty[1]&131072&&ko(52,ya=ic.width/Io),So.$$.dirty[0]&65536|So.$$.dirty[1]&131072&&ko(51,wa=ic.height/$a),So.$$.dirty[1]&3145728&&ko(14,ka=Math.max(ya,wa)),So.$$.dirty[0]&147456&&ko(50,Sa=ka*Io),So.$$.dirty[0]&81920&&ko(49,Oa=ka*$a),So.$$.dirty[0]&16384&&ko(15,Ca=5*ka),So.$$.dirty[0]&32768|So.$$.dirty[1]&655360&&ko(26,Ea=ic.x-(Sa-ic.width)/2-Ca),So.$$.dirty[0]&32768|So.$$.dirty[1]&393216&&ko(25,Ta=ic.y-(Oa-ic.height)/2-Ca),So.$$.dirty[0]&32768|So.$$.dirty[1]&524288&&ko(24,Aa=Sa+Ca*2),So.$$.dirty[0]&32768|So.$$.dirty[1]&262144&&ko(23,Ia=Oa+Ca*2)},[Ua,Ha,Xa,Za,Ga,Ka,tl,nl,sl,ul,al,dl,gl,cl,ka,Ca,$a,Io,Eo,Pa,Ra,La,Na,Ia,Aa,Ta,Ea,Fa,za,fl,pl,ml,vl,$l,bl,Cl,wl,Al,Ll,Dl,Gl,Ol,zl,Wa,ja,Ya,rl,il,ic,Oa,Sa,wa,ya,Da]}class Minimap extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6W,create_fragment$6Z,safe_not_equal,{position:0,ariaLabel:1,nodeStrokeColor:43,nodeColor:44,nodeClass:45,nodeBorderRadius:2,nodeStrokeWidth:3,bgColor:4,maskColor:5,maskStrokeColor:6,maskStrokeWidth:7,width:46,height:47,pannable:8,zoomable:9,inversePan:10,zoomStep:11,style:12,class:13},null,[-1,-1])}}const MiniMap=Minimap,isNode=So=>isNodeBase(So);function useSvelteFlow(){const{zoomIn:So,zoomOut:$o,fitView:ko,onbeforedelete:Eo,snapGrid:Io,viewport:$a,width:ya,height:wa,minZoom:ka,maxZoom:Sa,panZoom:Oa,nodes:Ca,edges:Ea,domNode:Ta,nodeLookup:Aa,nodeOrigin:Ia,edgeLookup:Pa,connectionLookup:Ra}=useStore(),Da=Ba=>{var Wa,ja;const Fa=get_store_value(Aa),za=isNode(Ba)?Ba:Fa.get(Ba.id),Ua=za.parentId?evaluateAbsolutePosition(za.position,za.measured,za.parentId,Fa,get_store_value(Ia)):za.position,Ha={...za,position:Ua,width:((Wa=za.measured)==null?void 0:Wa.width)??za.width,height:((ja=za.measured)==null?void 0:ja.height)??za.height};return nodeToRect(Ha)},La=(Ba,Fa,za={replace:!1})=>{var Wa;const Ua=(Wa=get_store_value(Aa).get(Ba))==null?void 0:Wa.internals.userNode;if(!Ua)return;const Ha=typeof Fa=="function"?Fa(Ua):Fa;za.replace?Ca.update(ja=>ja.map(Ya=>Ya.id===Ba?isNode(Ha)?Ha:{...Ya,...Ha}:Ya)):(Object.assign(Ua,Ha),Ca.update(ja=>ja))},Na=Ba=>get_store_value(Aa).get(Ba);return{zoomIn:So,zoomOut:$o,getInternalNode:Na,getNode:Ba=>{var Fa;return(Fa=Na(Ba))==null?void 0:Fa.internals.userNode},getNodes:Ba=>Ba===void 0?get_store_value(Ca):getElements(get_store_value(Aa),Ba),getEdge:Ba=>get_store_value(Pa).get(Ba),getEdges:Ba=>Ba===void 0?get_store_value(Ea):getElements(get_store_value(Pa),Ba),setZoom:(Ba,Fa)=>{const za=get_store_value(Oa);return za?za.scaleTo(Ba,{duration:Fa==null?void 0:Fa.duration}):Promise.resolve(!1)},getZoom:()=>get_store_value($a).zoom,setViewport:async(Ba,Fa)=>{const za=get_store_value($a),Ua=get_store_value(Oa);return Ua?(await Ua.setViewport({x:Ba.x??za.x,y:Ba.y??za.y,zoom:Ba.zoom??za.zoom},{duration:Fa==null?void 0:Fa.duration}),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>get_store_value($a),setCenter:async(Ba,Fa,za)=>{const Ua=typeof(za==null?void 0:za.zoom)<"u"?za.zoom:get_store_value(Sa),Ha=get_store_value(Oa);return Ha?(await Ha.setViewport({x:get_store_value(ya)/2-Ba*Ua,y:get_store_value(wa)/2-Fa*Ua,zoom:Ua},{duration:za==null?void 0:za.duration}),Promise.resolve(!0)):Promise.resolve(!1)},fitView:ko,fitBounds:async(Ba,Fa)=>{const za=get_store_value(Oa);if(!za)return Promise.resolve(!1);const Ua=getViewportForBounds(Ba,get_store_value(ya),get_store_value(wa),get_store_value(ka),get_store_value(Sa),(Fa==null?void 0:Fa.padding)??.1);return await za.setViewport(Ua,{duration:Fa==null?void 0:Fa.duration}),Promise.resolve(!0)},getIntersectingNodes:(Ba,Fa=!0,za)=>{const Ua=isRectObject(Ba),Ha=Ua?Ba:Da(Ba);return Ha?(za||get_store_value(Ca)).filter(Wa=>{const ja=get_store_value(Aa).get(Wa.id);if(!ja||!Ua&&Wa.id===Ba.id)return!1;const Ya=nodeToRect(ja),Xa=getOverlappingArea(Ya,Ha);return Fa&&Xa>0||Xa>=Ha.width*Ha.height}):[]},isNodeIntersecting:(Ba,Fa,za=!0)=>{const Ha=isRectObject(Ba)?Ba:Da(Ba);if(!Ha)return!1;const Wa=getOverlappingArea(Ha,Fa);return za&&Wa>0||Wa>=Ha.width*Ha.height},deleteElements:async({nodes:Ba=[],edges:Fa=[]})=>{const{nodes:za,edges:Ua}=await getElementsToRemove({nodesToRemove:Ba,edgesToRemove:Fa,nodes:get_store_value(Ca),edges:get_store_value(Ea),onBeforeDelete:get_store_value(Eo)});return za&&Ca.update(Ha=>Ha.filter(Wa=>!za.some(({id:ja})=>ja===Wa.id))),Ua&&Ea.update(Ha=>Ha.filter(Wa=>!Ua.some(({id:ja})=>ja===Wa.id))),{deletedNodes:za,deletedEdges:Ua}},screenToFlowPosition:(Ba,Fa={snapToGrid:!0})=>{const za=get_store_value(Ta);if(!za)return Ba;const Ua=Fa.snapToGrid?get_store_value(Io):!1,{x:Ha,y:Wa,zoom:ja}=get_store_value($a),{x:Ya,y:Xa}=za.getBoundingClientRect(),Za={x:Ba.x-Ya,y:Ba.y-Xa};return pointToRendererPoint(Za,[Ha,Wa,ja],Ua!==null,Ua||[1,1])},flowToScreenPosition:Ba=>{const Fa=get_store_value(Ta);if(!Fa)return Ba;const{x:za,y:Ua,zoom:Ha}=get_store_value($a),{x:Wa,y:ja}=Fa.getBoundingClientRect(),Ya=rendererPointToPoint(Ba,[za,Ua,Ha]);return{x:Ya.x+Wa,y:Ya.y+ja}},toObject:()=>({nodes:get_store_value(Ca).map(Ba=>({...Ba,position:{...Ba.position},data:{...Ba.data}})),edges:get_store_value(Ea).map(Ba=>({...Ba})),viewport:{...get_store_value($a)}}),updateNode:La,updateNodeData:(Ba,Fa,za)=>{var Wa;const Ua=(Wa=get_store_value(Aa).get(Ba))==null?void 0:Wa.internals.userNode;if(!Ua)return;const Ha=typeof Fa=="function"?Fa(Ua):Fa;Ua.data=za!=null&&za.replace?Ha:{...Ua.data,...Ha},Ca.update(ja=>ja)},getNodesBounds:Ba=>{const Fa=get_store_value(Aa),za=get_store_value(Ia);return getNodesBounds(Ba,{nodeLookup:Fa,nodeOrigin:za})},getHandleConnections:({type:Ba,id:Fa,nodeId:za})=>{var Ua;return Array.from(((Ua=get_store_value(Ra).get(`${za}-${Ba}-${Fa??null}`))==null?void 0:Ua.values())??[])},viewport:$a}}function getElements(So,$o){var Eo;const ko=[];for(const Io of $o){const $a=So.get(Io);if($a){const ya="internals"in $a?(Eo=$a.internals)==null?void 0:Eo.userNode:$a;ko.push(ya)}}return ko}const resolvePathTo=(So,$o)=>{var ko;if(So)return So.branchNode?So.pathTo:(ko=$o==null?void 0:$o[So.id])==null?void 0:ko.pathTo},getBlocks=(So,$o)=>{const ko=get_store_value(automationStore).blockDefinitions,Eo=get_store_value(automationStore).selectedLog;let Io=[];return $o===ViewMode.LOGS&&Eo?Io=processLogSteps({...So,blockDefinitions:ko},Eo):(So.definition.trigger&&Io.push(So.definition.trigger),Io=Io.concat(So.definition.steps||[])),Io},processLogSteps=(So,$o)=>{let ko=[];So.definition.trigger&&ko.push(So.definition.trigger);const Eo=getBranchChildStepIds($o.steps);return $o.steps.filter(Io=>{var $a;return Io.stepId!==(($a=So.definition.trigger)==null?void 0:$a.stepId)}).filter(Io=>!Eo.has(Io.id)).forEach(Io=>{const $a=getStepDefinition(So.blockDefinitions,Io.stepId);ko.push({...Io,name:($a==null?void 0:$a.name)||Io.name||"",icon:($a==null?void 0:$a.icon)||Io.icon||""})}),ko},getBranchChildStepIds=So=>{const $o=new Set;return So.forEach(ko=>{var Eo,Io;if(ko.stepId===AutomationActionStepId.BRANCH&&((Eo=ko.outputs)!=null&&Eo.branchId)){const $a=ko.outputs.branchId;(((Io=ko.inputs.children)==null?void 0:Io[$a])||[]).forEach(wa=>{$o.add(wa.id)})}}),$o},getStepDefinition=(So,$o)=>{var ko,Eo;return((ko=So==null?void 0:So.ACTION)==null?void 0:ko[$o])||((Eo=So==null?void 0:So.TRIGGER)==null?void 0:Eo[$o])},enrichLog=(So,$o)=>{var Eo;if(!So||!$o||!$o.steps)return $o;const ko={...$o,steps:[...$o.steps]};for(let Io of ko.steps){const $a=(Eo=So.TRIGGER)==null?void 0:Eo[Io.stepId],ya=So.ACTION[Io.stepId];($a||ya)&&(Io.icon=($a?$a.icon:ya==null?void 0:ya.icon)||Io.icon,Io.name=($a?$a.name:ya==null?void 0:ya.name)||Io.name)}return ko},getCurrentStepData=So=>So?{inputs:So.inputs||{},outputs:So.outputs||{},errors:getStepErrors(So)}:null,getStepErrors=So=>{var $o,ko;return!So||(($o=So.outputs)==null?void 0:$o.success)!==!1?[]:[{message:((ko=So.outputs)==null?void 0:ko.message)||"Step failed",type:"error"}]},summariseBranch=So=>{var wa,ka;const $o=((wa=So==null?void 0:So.conditionUI)==null?void 0:wa.groups)||[];if($o.length===0)return"";const ko=((ka=$o[0])==null?void 0:ka.filters)||[];if(ko.length===0)return"";const{field:Eo,operator:Io,value:$a}=ko[0];let ya=`${Eo} ${Io} ${$a}`;return ko.length>1&&(ya+=` and ${ko.length-1} other condition${ko.length-1>1?"s":""}`),ya},getBranchConditionDetails=So=>{var $a,ya,wa;if(!So||So.stepId!==AutomationActionStepId.BRANCH)return null;const $o=($a=So.outputs)==null?void 0:$a.branchId,ko=(ya=So.outputs)==null?void 0:ya.branchName,Eo=((wa=So.inputs)==null?void 0:wa.branches)||[],Io=Eo.find(ka=>ka.id===$o);return{executedBranchId:$o,executedBranchName:ko,executedBranch:Io,allBranches:Eo,totalBranches:Eo.length}},DEFAULT_NODE_WIDTH=320,DEFAULT_STEP_HEIGHT=100,DEFAULT_BRANCH_HEIGHT=180,dagreLayoutAutomation=(So,$o)=>{const ko=($o==null?void 0:$o.rankdir)||"TB",Eo=($o==null?void 0:$o.ranksep)??260,Io=($o==null?void 0:$o.nodesep)??220,$a=new dagre$1.graphlib.Graph;return $a.setDefaultEdgeLabel(()=>({})),$a.setGraph({rankdir:ko,ranksep:Eo,nodesep:Io}),So.nodes.forEach(ya=>{const wa=DEFAULT_NODE_WIDTH;let ka=DEFAULT_STEP_HEIGHT;ya.type==="branch-node"?ka=DEFAULT_BRANCH_HEIGHT:ya.type==="anchor-node"&&(ka=1),$a.setNode(ya.id,{width:wa,height:ka})}),So.edges.forEach(ya=>{$a.setEdge(ya.source,ya.target)}),dagre$1.layout($a),So.nodes.forEach(ya=>{const wa=$a.node(ya.id);wa&&(ko==="LR"?(ya.targetPosition=Position.Left,ya.sourcePosition=Position.Right):(ya.targetPosition=Position.Top,ya.sourcePosition=Position.Bottom),ya.position={x:Math.round(wa.x-wa.width/2),y:Math.round(wa.y-wa.height/2)})}),So},renderChain=(So,$o,ko,Eo,Io,$a)=>{let ya=$o,wa=ko,ka=Io,Sa=!1;for(let Oa=0;Oa<So.length;Oa++){const Ca=So[Oa];if(Ca.stepId===AutomationActionStepId.BRANCH){const Aa=renderBranches(Ca,ya,wa,Eo,ka,$a);return{lastNodeId:ya,lastNodeBlock:wa,bottomY:Aa,branched:!0}}const Ta=$a.ensurePosition(Ca.id,{x:Eo,y:ka});$a.newNodes.push({id:Ca.id,type:"step-node",data:{testDataModal:$a.testDataModal,block:Ca,direction:$a.direction},position:Ta}),$a.newEdges.push({id:`edge-${ya}-${Ca.id}`,type:"add-item",source:ya,target:Ca.id,data:{block:wa,direction:$a.direction,pathTo:resolvePathTo(wa,$a.blockRefs)}}),ya=Ca.id,wa=Ca,ka+=$a.ySpacing}return{lastNodeId:ya,lastNodeBlock:wa,bottomY:ka,branched:Sa}},renderBranches=(So,$o,ko,Eo,Io,$a)=>{var Oa,Ca;const ya=So.id,wa=((Oa=So==null?void 0:So.inputs)==null?void 0:Oa.branches)||[],ka=((Ca=So==null?void 0:So.inputs)==null?void 0:Ca.children)||{};let Sa=Io+$a.ySpacing;return wa.forEach((Ea,Ta)=>{var Ha;const Aa=`branch-${ya}-${Ta}-${Ea.id}`,Ia=Eo+(Ta-(wa.length-1)/2)*$a.xSpacing,Pa=$a.ensurePosition(Aa,{x:Ia,y:Io});$a.newNodes.push({id:Aa,type:"branch-node",data:{block:So,branch:Ea,branchIdx:Ta,direction:$a.direction},position:Pa}),$a.newEdges.push({id:`edge-${$o}-${Aa}`,type:"add-item",source:$o,target:Aa,data:{block:ko,isBranchEdge:!0,isPrimaryEdge:Ta===Math.floor((wa.length-1)/2),branchStepId:ya,branchIdx:Ta,branchesCount:wa.length,direction:$a.direction,pathTo:resolvePathTo(ko,$a.blockRefs)}});const Ra=((Ha=$a.blockRefs[ya])==null?void 0:Ha.pathTo)||[],Da=(ka==null?void 0:ka[Ea.id])||[],Na={branchNode:!0,pathTo:[...Ra,{branchIdx:Ta,branchStepId:ya,stepIdx:Da.length-1}],branchIdx:Ta,branchStepId:ya};let Ba=Aa,Fa=Na,za=Io+$a.ySpacing;const Ua=Da.length>0?renderChain(Da,Ba,Fa,Ia,Io+$a.ySpacing,$a):null;if(Ua&&(Ba=Ua.lastNodeId,Fa=Ua.lastNodeBlock,za=Ua.bottomY),!(Ua!=null&&Ua.branched)){const Wa=`anchor-${Ba}`,ja=$a.ensurePosition(Wa,{x:Ia,y:za});$a.newNodes.push({id:Wa,type:"anchor-node",data:{direction:$a.direction},position:ja}),$a.newEdges.push({id:`edge-${Ba}-${Wa}`,type:"add-item",source:Ba,target:Wa,data:{block:Fa,direction:$a.direction,pathTo:resolvePathTo(Fa,$a.blockRefs)}})}Sa=Math.max(Sa,za+$a.ySpacing)}),Sa},PublishStatusBadge_svelte_svelte_type_style_lang="";function create_fragment$6Y(So){let $o,ko=So[2][So[0]]+"",Eo;return{c(){$o=element("div"),Eo=text(ko),attr($o,"class","status svelte-htrp3"),toggle_class($o,"published",So[0]===PublishResourceState.PUBLISHED),toggle_class($o,"disabled",So[0]===PublishResourceState.DISABLED),toggle_class($o,"loading",So[1])},m(Io,$a){insert$1(Io,$o,$a),append$2($o,Eo)},p(Io,[$a]){$a&1&&ko!==(ko=Io[2][Io[0]]+"")&&set_data(Eo,ko),$a&1&&toggle_class($o,"published",Io[0]===PublishResourceState.PUBLISHED),$a&1&&toggle_class($o,"disabled",Io[0]===PublishResourceState.DISABLED),$a&2&&toggle_class($o,"loading",Io[1])},i:noop$5,o:noop$5,d(Io){Io&&detach($o)}}}function instance$6V(So,$o,ko){let{status:Eo}=$o,{loading:Io=!1}=$o;const $a={[PublishResourceState.PUBLISHED]:"Live",[PublishResourceState.DISABLED]:"Off"};return So.$$set=ya=>{"status"in ya&&ko(0,Eo=ya.status),"loading"in ya&&ko(1,Io=ya.loading)},[Eo,Io,$a]}class PublishStatusBadge extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6V,create_fragment$6Y,safe_not_equal,{status:0,loading:1})}}const createFlowChartDnD=So=>{const $o=writable({dragging:!1,moveStep:null,dragSpot:null,scale:1,dropzones:{},droptarget:null}),ko=writable({x:0,y:0}),Eo=writable({scrollX:0,scrollY:0});let Io=null,$a=null,ya,wa=null;const ka=Ia=>{Io=Ia},Sa=()=>{Io&&($a=Io.getBoundingClientRect())},Oa=()=>{ya&&(clearInterval(ya),ya=void 0,wa=null)},Ca=Ia=>{if(!Io||($a||Sa(),!$a))return;const Pa=Math.round(Ia.clientX-$a.left),Ra=Math.round(Ia.clientY-$a.top);ko.set({x:Math.max(Pa,0),y:Math.max(Ra,0)});const Da=get_store_value($o);if(Da.moveStep&&!Da.dragging&&$o.update(La=>({...La,dragging:!0})),Da.dragging&&Da.moveStep){const La=So.getViewport(),Na=(La==null?void 0:La.zoom)||1;Na!==Da.scale&&$o.update(Xa=>({...Xa,scale:Na}));const Ba=(Ia.clientX-$a.left-Da.moveStep.offsetX)/Na,Fa=(Ia.clientY-$a.top-Da.moveStep.offsetY)/Na;$o.update(Xa=>({...Xa,dragSpot:{x:Ba,y:Fa}}));let za=!1;const Ua=get_store_value($o).dropzones;for(const[Xa,Za]of Object.entries(Ua)){const Ga=Za.dims;if(Ia.clientX<Ga.right&&Ia.clientX>Ga.left&&Ia.clientY<Ga.bottom&&Ia.clientY>Ga.top){za=!0,$o.update(Ka=>({...Ka,droptarget:Xa}));break}}!za&&get_store_value($o).droptarget&&$o.update(Xa=>({...Xa,droptarget:null}));const Ha=100,Wa=$a.width-(Da.moveStep.w||0),ja={top:Ra<Ha,bottom:Ra>$a.height-Ha,left:Pa<Ha,right:Pa>Wa};Object.values(ja).some(Boolean)?ya?wa=ja:(wa=ja,ya=setInterval(()=>{const Xa=wa||ja,Za=30,Ga=Xa.right?-Za:Xa.left?Za:0,Ka=Xa.bottom?-Za:Xa.top?Za:0,tl=So.getViewport();tl&&So.setViewport({x:(tl.x||0)+Ga,y:(tl.y||0)+Ka,zoom:tl.zoom}),Eo.update(nl=>({scrollX:nl.scrollX+Ga,scrollY:nl.scrollY+Ka}))},30)):Oa()}else Oa()},Ea=()=>{var Ra,Da;const Ia=get_store_value($o),Pa=!!Ia.moveStep;if(Ia.dragging||Pa){if(Ia.dragging&&Ia.droptarget)try{const La=So.getSelectedAutomation(),Na=(Da=La.blockRefs)==null?void 0:Da[(Ra=Ia.moveStep)==null?void 0:Ra.id],Ba=Na==null?void 0:Na.pathTo,Fa=Ia.dropzones[Ia.droptarget],za=Fa==null?void 0:Fa.path;Ba&&za&&La.data&&So.moveBlock({sourcePath:Ba,destPath:za,automationData:La.data})}catch(La){console.error("Drag drop move failed",La)}$o.update(La=>({...La,dragging:!1,moveStep:null,dragSpot:null,dropzones:{},droptarget:null})),Eo.set({scrollX:0,scrollY:0}),Oa()}};return{view:$o,viewPos:ko,contentPos:Eo,setPaneEl:ka,updatePaneRect:Sa,handlePointerMove:Ca,initDnD:()=>{document.addEventListener("mouseup",Ea)},destroyDnD:()=>{Oa(),document.removeEventListener("mouseup",Ea)}}};function create_fragment$6X(So){let $o,ko,Eo;function Io(ya){So[6](ya)}let $a={options:So[2],getOptionLabel:func$H,getOptionValue:func_1$y,disabled:So[1]};return So[0]!==void 0&&($a.value=So[0]),$o=new Select_1$1({props:$a}),binding_callbacks.push(()=>bind$3($o,"value",Io)),$o.$on("change",So[3]),{c(){create_component($o.$$.fragment)},m(ya,wa){mount_component($o,ya,wa),Eo=!0},p(ya,[wa]){const ka={};wa&4&&(ka.options=ya[2]),wa&2&&(ka.disabled=ya[1]),!ko&&wa&1&&(ko=!0,ka.value=ya[0],add_flush_callback(()=>ko=!1)),$o.$set(ka)},i(ya){Eo||(transition_in($o.$$.fragment,ya),Eo=!0)},o(ya){transition_out($o.$$.fragment,ya),Eo=!1},d(ya){destroy_component($o,ya)}}}const func$H=So=>So.name,func_1$y=So=>So._id;function instance$6U(So,$o,ko){let Eo,Io;component_subscribe(So,tables,Ca=>ko(5,Io=Ca));const $a=createEventDispatcher();let{value:ya}=$o,{isTrigger:wa=!1}=$o,{disabled:ka=!1}=$o;const Sa=Ca=>{ko(0,ya=Ca.detail),$a("change",Ca.detail)};function Oa(Ca){ya=Ca,ko(0,ya)}return So.$$set=Ca=>{"value"in Ca&&ko(0,ya=Ca.value),"isTrigger"in Ca&&ko(4,wa=Ca.isTrigger),"disabled"in Ca&&ko(1,ka=Ca.disabled)},So.$$.update=()=>{So.$$.dirty&48&&ko(2,Eo=Io.list.filter(Ca=>!wa||Ca._id!==TableNames.USERS))},[ya,ka,Eo,Sa,wa,Io,Oa]}class TableSelector extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6U,create_fragment$6X,safe_not_equal,{value:0,isTrigger:4,disabled:1})}}const PropField_svelte_svelte_type_style_lang="";function create_default_slot$4m(So){let $o;return{c(){$o=text(So[0])},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo&1&&set_data($o,ko[0])},d(ko){ko&&detach($o)}}}function create_fragment$6W(So){let $o,ko,Eo,Io,$a,ya,wa;Eo=new Label({props:{tooltip:So[1],$$slots:{default:[create_default_slot$4m]},$$scope:{ctx:So}}});const ka=So[4].default,Sa=create_slot(ka,So,So[5],null);return{c(){$o=element("div"),ko=element("div"),create_component(Eo.$$.fragment),Io=space$2(),$a=element("div"),Sa&&Sa.c(),attr(ko,"class","prop-label svelte-exlo81"),attr(ko,"title",So[0]),attr($a,"class","prop-control svelte-exlo81"),attr($o,"class","prop-field svelte-exlo81"),attr($o,"style",ya=`--comp-width: ${So[3]}px;`),toggle_class($o,"fullWidth",So[2])},m(Oa,Ca){insert$1(Oa,$o,Ca),append$2($o,ko),mount_component(Eo,ko,null),append$2($o,Io),append$2($o,$a),Sa&&Sa.m($a,null),wa=!0},p(Oa,[Ca]){const Ea={};Ca&2&&(Ea.tooltip=Oa[1]),Ca&33&&(Ea.$$scope={dirty:Ca,ctx:Oa}),Eo.$set(Ea),(!wa||Ca&1)&&attr(ko,"title",Oa[0]),Sa&&Sa.p&&(!wa||Ca&32)&&update_slot_base(Sa,ka,Oa,Oa[5],wa?get_slot_changes(ka,Oa[5],Ca,null):get_all_dirty_from_scope(Oa[5]),null),(!wa||Ca&8&&ya!==(ya=`--comp-width: ${Oa[3]}px;`))&&attr($o,"style",ya),(!wa||Ca&4)&&toggle_class($o,"fullWidth",Oa[2])},i(Oa){wa||(transition_in(Eo.$$.fragment,Oa),transition_in(Sa,Oa),wa=!0)},o(Oa){transition_out(Eo.$$.fragment,Oa),transition_out(Sa,Oa),wa=!1},d(Oa){Oa&&detach($o),destroy_component(Eo),Sa&&Sa.d(Oa)}}}function instance$6T(So,$o,ko){let{$$slots:Eo={},$$scope:Io}=$o,{label:$a=""}=$o,{labelTooltip:ya=""}=$o,{fullWidth:wa=!1}=$o,{componentWidth:ka=320}=$o;return So.$$set=Sa=>{"label"in Sa&&ko(0,$a=Sa.label),"labelTooltip"in Sa&&ko(1,ya=Sa.labelTooltip),"fullWidth"in Sa&&ko(2,wa=Sa.fullWidth),"componentWidth"in Sa&&ko(3,ka=Sa.componentWidth),"$$scope"in Sa&&ko(5,Io=Sa.$$scope)},[$a,ya,wa,ka,Eo,Io]}class PropField extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6T,create_fragment$6W,safe_not_equal,{label:0,labelTooltip:1,fullWidth:2,componentWidth:3})}}function create_fragment$6V(So){let $o,ko;const Eo=[So[0],{forceModal:!0}];let Io={};for(let $a=0;$a<Eo.length;$a+=1)Io=assign$1(Io,Eo[$a]);return $o=new DrawerBindableInput({props:Io}),$o.$on("change",So[1]),$o.$on("blur",So[2]),$o.$on("drawerHide",So[3]),$o.$on("drawerShow",So[4]),{c(){create_component($o.$$.fragment)},m($a,ya){mount_component($o,$a,ya),ko=!0},p($a,[ya]){const wa=ya&1?get_spread_update(Eo,[get_spread_object($a[0]),Eo[1]]):{};$o.$set(wa)},i($a){ko||(transition_in($o.$$.fragment,$a),ko=!0)},o($a){transition_out($o.$$.fragment,$a),ko=!1},d($a){destroy_component($o,$a)}}}function instance$6S(So,$o,ko){function Eo(wa){bubble.call(this,So,wa)}function Io(wa){bubble.call(this,So,wa)}function $a(wa){bubble.call(this,So,wa)}function ya(wa){bubble.call(this,So,wa)}return So.$$set=wa=>{ko(0,$o=assign$1(assign$1({},$o),exclude_internal_props(wa)))},$o=exclude_internal_props($o),[$o,Eo,Io,$a,ya]}class ModalBindableInput extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6S,create_fragment$6V,safe_not_equal,{})}}function create_fragment$6U(So){let $o,ko;return $o=new BindingPanel({props:{bindings:So[4],snippets:So[5],allowHelpers:!0,value:So[0],allowJS:So[1],allowHBS:So[2],context:So[3]}}),$o.$on("change",So[7]),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,[Io]){const $a={};Io&16&&($a.bindings=Eo[4]),Io&32&&($a.snippets=Eo[5]),Io&1&&($a.value=Eo[0]),Io&2&&($a.allowJS=Eo[1]),Io&4&&($a.allowHBS=Eo[2]),Io&8&&($a.context=Eo[3]),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function instance$6R(So,$o,ko){let Eo,Io;component_subscribe(So,snippets,Ea=>ko(5,Io=Ea));let{bindings:$a=[]}=$o,{value:ya=""}=$o,{allowJS:wa=!1}=$o,{allowHBS:ka=!0}=$o,{context:Sa=null}=$o;const Oa=Ea=>Ea==null?void 0:Ea.map(Ta=>({...Ta,readableBinding:Ta.readableBinding||Ta.label,runtimeBinding:Ta.runtimeBinding||Ta.path}));function Ca(Ea){bubble.call(this,So,Ea)}return So.$$set=Ea=>{"bindings"in Ea&&ko(6,$a=Ea.bindings),"value"in Ea&&ko(0,ya=Ea.value),"allowJS"in Ea&&ko(1,wa=Ea.allowJS),"allowHBS"in Ea&&ko(2,ka=Ea.allowHBS),"context"in Ea&&ko(3,Sa=Ea.context)},So.$$.update=()=>{So.$$.dirty&64&&ko(4,Eo=Oa($a))},[ya,wa,ka,Sa,Eo,Io,$a,Ca]}class ServerBindingPanel extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6R,create_fragment$6U,safe_not_equal,{bindings:6,value:0,allowJS:1,allowHBS:2,context:3})}}const FieldSelector_svelte_svelte_type_style_lang="";function get_each_context$1t(So,$o,ko){const Eo=So.slice();return Eo[15]=$o[ko][0],Eo[16]=$o[ko][1],Eo}function create_if_block$3d(So){let $o,ko,Eo=ensure_array_like(So[3]),Io=[];for(let ya=0;ya<Eo.length;ya+=1)Io[ya]=create_each_block$1t(get_each_context$1t(So,Eo,ya));const $a=ya=>transition_out(Io[ya],1,1,()=>{Io[ya]=null});return{c(){$o=element("div");for(let ya=0;ya<Io.length;ya+=1)Io[ya].c();attr($o,"class","fields svelte-1dhsvqc")},m(ya,wa){insert$1(ya,$o,wa);for(let ka=0;ka<Io.length;ka+=1)Io[ka]&&Io[ka].m($o,null);ko=!0},p(ya,wa){if(wa&255){Eo=ensure_array_like(ya[3]);let ka;for(ka=0;ka<Eo.length;ka+=1){const Sa=get_each_context$1t(ya,Eo,ka);Io[ka]?(Io[ka].p(Sa,wa),transition_in(Io[ka],1)):(Io[ka]=create_each_block$1t(Sa),Io[ka].c(),transition_in(Io[ka],1),Io[ka].m($o,null))}for(group_outros(),ka=Eo.length;ka<Io.length;ka+=1)$a(ka);check_outros()}},i(ya){if(!ko){for(let wa=0;wa<Eo.length;wa+=1)transition_in(Io[wa]);ko=!0}},o(ya){Io=Io.filter(Boolean);for(let wa=0;wa<Io.length;wa+=1)transition_out(Io[wa]);ko=!1},d(ya){ya&&detach($o),destroy_each(Io,ya)}}}function create_if_block_3$Q(So){let $o,ko;function Eo(...Io){return So[12](So[15],...Io)}return $o=new DatePicker_1({props:{value:So[2][So[15]]}}),$o.$on("change",Eo),{c(){create_component($o.$$.fragment)},m(Io,$a){mount_component($o,Io,$a),ko=!0},p(Io,$a){So=Io;const ya={};$a&12&&(ya.value=So[2][So[15]]),$o.$set(ya)},i(Io){ko||(transition_in($o.$$.fragment,Io),ko=!0)},o(Io){transition_out($o.$$.fragment,Io),ko=!1},d(Io){destroy_component($o,Io)}}}function create_if_block_2$18(So){let $o,ko;function Eo(...Io){return So[11](So[15],...Io)}return $o=new Select_1$1({props:{value:So[2][So[15]],options:[{label:"True",value:"true"},{label:"False",value:"false"}]}}),$o.$on("change",Eo),{c(){create_component($o.$$.fragment)},m(Io,$a){mount_component($o,Io,$a),ko=!0},p(Io,$a){So=Io;const ya={};$a&12&&(ya.value=So[2][So[15]]),$o.$set(ya)},i(Io){ko||(transition_in($o.$$.fragment,Io),ko=!0)},o(Io){transition_out($o.$$.fragment,Io),ko=!1},d(Io){destroy_component($o,Io)}}}function create_if_block_1$1L(So){let $o,ko,Eo;function Io(...wa){return So[10](So[15],...wa)}var $a=So[1]?ModalBindableInput:DrawerBindableInput;function ya(wa,ka){return{props:{panel:ServerBindingPanel,value:wa[2][wa[15]],type:"string",bindings:wa[0],allowJS:!0,updateOnChange:!1,title:wa[16].name,autocomplete:"off"}}}return $a&&($o=construct_svelte_component($a,ya(So)),$o.$on("change",Io)),{c(){$o&&create_component($o.$$.fragment),ko=empty$4()},m(wa,ka){$o&&mount_component($o,wa,ka),insert$1(wa,ko,ka),Eo=!0},p(wa,ka){if(So=wa,ka&2&&$a!==($a=So[1]?ModalBindableInput:DrawerBindableInput)){if($o){group_outros();const Sa=$o;transition_out(Sa.$$.fragment,1,0,()=>{destroy_component(Sa,1)}),check_outros()}$a?($o=construct_svelte_component($a,ya(So)),$o.$on("change",Io),create_component($o.$$.fragment),transition_in($o.$$.fragment,1),mount_component($o,ko.parentNode,ko)):$o=null}else if($a){const Sa={};ka&12&&(Sa.value=So[2][So[15]]),ka&1&&(Sa.bindings=So[0]),ka&8&&(Sa.title=So[16].name),$o.$set(Sa)}},i(wa){Eo||($o&&transition_in($o.$$.fragment,wa),Eo=!0)},o(wa){$o&&transition_out($o.$$.fragment,wa),Eo=!1},d(wa){wa&&detach(ko),$o&&destroy_component($o,wa)}}}function create_default_slot$4l(So){let $o,ko,Eo,Io,$a;const ya=[create_if_block_1$1L,create_if_block_2$18,create_if_block_3$Q],wa=[];function ka(Sa,Oa){return Oa&8&&($o=null),$o==null&&($o=!![Sa[4],Sa[5],Sa[6]].includes(Sa[16].type)),$o?0:Sa[16].type==="boolean"?1:Sa[16].type==="datetime"?2:-1}return~(ko=ka(So,-1))&&(Eo=wa[ko]=ya[ko](So)),{c(){Eo&&Eo.c(),Io=space$2()},m(Sa,Oa){~ko&&wa[ko].m(Sa,Oa),insert$1(Sa,Io,Oa),$a=!0},p(Sa,Oa){let Ca=ko;ko=ka(Sa,Oa),ko===Ca?~ko&&wa[ko].p(Sa,Oa):(Eo&&(group_outros(),transition_out(wa[Ca],1,1,()=>{wa[Ca]=null}),check_outros()),~ko?(Eo=wa[ko],Eo?Eo.p(Sa,Oa):(Eo=wa[ko]=ya[ko](Sa),Eo.c()),transition_in(Eo,1),Eo.m(Io.parentNode,Io)):Eo=null)},i(Sa){$a||(transition_in(Eo),$a=!0)},o(Sa){transition_out(Eo),$a=!1},d(Sa){Sa&&detach(Io),~ko&&wa[ko].d(Sa)}}}function create_each_block$1t(So){let $o,ko;return $o=new PropField({props:{label:So[15],$$slots:{default:[create_default_slot$4l]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&8&&($a.label=Eo[15]),Io&524303&&($a.$$scope={dirty:Io,ctx:Eo}),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_fragment$6T(So){var Io;let $o,ko,Eo=((Io=So[3])==null?void 0:Io.length)&&So[1]&&create_if_block$3d(So);return{c(){Eo&&Eo.c(),$o=empty$4()},m($a,ya){Eo&&Eo.m($a,ya),insert$1($a,$o,ya),ko=!0},p($a,[ya]){var wa;(wa=$a[3])!=null&&wa.length&&$a[1]?Eo?(Eo.p($a,ya),ya&10&&transition_in(Eo,1)):(Eo=create_if_block$3d($a),Eo.c(),transition_in(Eo,1),Eo.m($o.parentNode,$o)):Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros())},i($a){ko||(transition_in(Eo),ko=!0)},o($a){transition_out(Eo),ko=!1},d($a){$a&&detach($o),Eo&&Eo.d($a)}}}function instance$6Q(So,$o,ko){const Eo=createEventDispatcher();let{value:Io={}}=$o,{bindings:$a}=$o,{block:ya}=$o,{isTestModal:wa}=$o;const{STRING:ka,NUMBER:Sa,ARRAY:Oa}=FieldType;let Ca=[],Ea;const Ta={BOOLEAN:null,NUMBER:null,DATETIME:null,STRING:"",ARRAY:""},Aa=(Da,La)=>{Da.detail!==Ea[La]&&(ko(2,Ea[La]=Da.detail,Ea),Eo("change",Ea))},Ia=(Da,La)=>Aa(La,Da),Pa=(Da,La)=>Aa(La,Da),Ra=(Da,La)=>Aa(La,Da);return So.$$set=Da=>{"value"in Da&&ko(8,Io=Da.value),"bindings"in Da&&ko(0,$a=Da.bindings),"block"in Da&&ko(9,ya=Da.block),"isTestModal"in Da&&ko(1,wa=Da.isTestModal)},So.$$.update=()=>{var Da;if(So.$$.dirty&256&&ko(2,Ea={...Io}),So.$$.dirty&516){let La={};for(const[Na,Ba]of Object.entries(((Da=ya==null?void 0:ya.inputs)==null?void 0:Da.fields)??{}))La={...La,[Na]:{type:Ba,name:Na,fieldName:Na,constraints:{type:Ba}}},Ea[Na]===Ba&&ko(2,Ea[Na]=Ta[Ba.toUpperCase()],Ea);ko(3,Ca=Object.entries(La))}},[$a,wa,Ea,Ca,ka,Sa,Oa,Aa,Io,ya,Ia,Pa,Ra]}class FieldSelector extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6Q,create_fragment$6T,safe_not_equal,{value:8,bindings:0,block:9,isTestModal:1})}}const SchemaSetup_svelte_svelte_type_style_lang="";function get_each_context$1s(So,$o,ko){const Eo=So.slice();return Eo[11]=$o[ko],Eo[13]=ko,Eo}function create_each_block$1s(So){let $o,ko,Eo,Io,$a,ya,wa,ka,Sa;ko=new Input$5({props:{value:So[11].name,secondary:!0,placeholder:"Enter field name",updateOnChange:!1}}),ko.$on("change",So[4](So[13])),Io=new Select_1$1({props:{value:So[11].type,options:So[1]}}),Io.$on("change",So[5](So[13]));function Oa(){return So[9](So[13])}return{c(){$o=element("div"),create_component(ko.$$.fragment),Eo=space$2(),create_component(Io.$$.fragment),$a=space$2(),ya=element("i"),attr(ya,"class","remove-field ri-delete-bin-line svelte-ssr1ai"),attr($o,"class","field svelte-ssr1ai")},m(Ca,Ea){insert$1(Ca,$o,Ea),mount_component(ko,$o,null),append$2($o,Eo),mount_component(Io,$o,null),append$2($o,$a),append$2($o,ya),wa=!0,ka||(Sa=listen(ya,"click",Oa),ka=!0)},p(Ca,Ea){So=Ca;const Ta={};Ea&1&&(Ta.value=So[11].name),ko.$set(Ta);const Aa={};Ea&1&&(Aa.value=So[11].type),Io.$set(Aa)},i(Ca){wa||(transition_in(ko.$$.fragment,Ca),transition_in(Io.$$.fragment,Ca),wa=!0)},o(Ca){transition_out(ko.$$.fragment,Ca),transition_out(Io.$$.fragment,Ca),wa=!1},d(Ca){Ca&&detach($o),destroy_component(ko),destroy_component(Io),ka=!1,Sa()}}}function create_default_slot$4k(So){let $o;return{c(){$o=text("Add field")},m(ko,Eo){insert$1(ko,$o,Eo)},d(ko){ko&&detach($o)}}}function create_fragment$6S(So){let $o,ko,Eo,Io,$a,ya,wa=ensure_array_like(So[0]),ka=[];for(let Oa=0;Oa<wa.length;Oa+=1)ka[Oa]=create_each_block$1s(get_each_context$1s(So,wa,Oa));const Sa=Oa=>transition_out(ka[Oa],1,1,()=>{ka[Oa]=null});return $a=new Button({props:{quiet:!0,secondary:!0,icon:"plus",$$slots:{default:[create_default_slot$4k]},$$scope:{ctx:So}}}),$a.$on("click",So[2]),{c(){$o=element("div"),ko=element("div"),Eo=space$2();for(let Oa=0;Oa<ka.length;Oa+=1)ka[Oa].c();Io=space$2(),create_component($a.$$.fragment),attr(ko,"class","spacer svelte-ssr1ai"),attr($o,"class","root svelte-ssr1ai")},m(Oa,Ca){insert$1(Oa,$o,Ca),append$2($o,ko),append$2($o,Eo);for(let Ea=0;Ea<ka.length;Ea+=1)ka[Ea]&&ka[Ea].m($o,null);append$2($o,Io),mount_component($a,$o,null),ya=!0},p(Oa,[Ca]){if(Ca&59){wa=ensure_array_like(Oa[0]);let Ta;for(Ta=0;Ta<wa.length;Ta+=1){const Aa=get_each_context$1s(Oa,wa,Ta);ka[Ta]?(ka[Ta].p(Aa,Ca),transition_in(ka[Ta],1)):(ka[Ta]=create_each_block$1s(Aa),ka[Ta].c(),transition_in(ka[Ta],1),ka[Ta].m($o,Io))}for(group_outros(),Ta=wa.length;Ta<ka.length;Ta+=1)Sa(Ta);check_outros()}const Ea={};Ca&16384&&(Ea.$$scope={dirty:Ca,ctx:Oa}),$a.$set(Ea)},i(Oa){if(!ya){for(let Ca=0;Ca<wa.length;Ca+=1)transition_in(ka[Ca]);transition_in($a.$$.fragment,Oa),ya=!0}},o(Oa){ka=ka.filter(Boolean);for(let Ca=0;Ca<ka.length;Ca+=1)transition_out(ka[Ca]);transition_out($a.$$.fragment,Oa),ya=!1},d(Oa){Oa&&detach($o),destroy_each(ka,Oa),destroy_component($a)}}}function instance$6P(So,$o,ko){let{value:Eo={}}=$o;const Io=[{label:"Text",value:"string"},{label:"Number",value:"number"},{label:"Boolean",value:"boolean"},{label:"DateTime",value:"datetime"},{label:"Array",value:"array"}],$a=createEventDispatcher();let ya=[],wa=!1,ka=null;function Sa(){ko(0,ya=[...ya,{name:"",type:"string"}])}function Oa(Aa){const Ia=ya[Aa];if(ko(0,ya=ya.filter((Pa,Ra)=>Ra!==Aa)),((Ia==null?void 0:Ia.name)||"").trim()){const Pa={};for(const Ra of ya){const Da=(Ra.name||"").trim();Da&&(Pa[Da]=Ra.type||"string")}$a("change",Pa)}}const Ca=Aa=>Ia=>{var La;const Pa=(Ia.detail||"").trim(),Ra=(((La=ya[Aa])==null?void 0:La.name)||"").trim(),Da=[...ya];if(Pa){Da[Aa]={...Da[Aa],name:Pa},ko(0,ya=Da);const Na={};for(const Ba of ya){const Fa=(Ba.name||"").trim();Fa&&(Na[Fa]=Ba.type||"string")}$a("change",Na)}else if(ko(0,ya=Da.filter((Na,Ba)=>Ba!==Aa)),Ra){const Na={};for(const Ba of ya){const Fa=(Ba.name||"").trim();Fa&&(Na[Fa]=Ba.type||"string")}$a("change",Na)}},Ea=Aa=>Ia=>{var Ra;const Pa=Ia.detail;if(ko(0,ya=ya.map((Da,La)=>La===Aa?{...Da,type:Pa}:Da)),(((Ra=ya[Aa])==null?void 0:Ra.name)||"").trim()){const Da={};for(const La of ya){const Na=(La.name||"").trim();Na&&(Da[Na]=La.type||"string")}$a("change",Da)}},Ta=Aa=>{Oa(Aa)};return So.$$set=Aa=>{"value"in Aa&&ko(6,Eo=Aa.value)},So.$$.update=()=>{So.$$.dirty&448&&(!wa||Eo!==ka)&&(ko(0,ya=Object.entries(Eo||{}).map(([Aa,Ia])=>({name:Aa,type:Ia}))),ko(7,wa=!0),ko(8,ka=Eo))},[ya,Io,Sa,Oa,Ca,Ea,Eo,wa,ka,Ta]}class SchemaSetup extends SvelteComponent{constructor($o){super(),init$3(this,$o,instance$6P,create_fragment$6S,safe_not_equal,{value:6})}}function create_else_block$1e(So){let $o,ko;return $o=new Multiselect_1({props:{value:So[6],label:So[2]?So[0]:null,options:So[3],getOptionLabel:So[8],getOptionValue:func_1$x,sort:!0}}),$o.$on("change",So[13]),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&64&&($a.value=Eo[6]),Io&5&&($a.label=Eo[2]?Eo[0]:null),Io&8&&($a.options=Eo[3]),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_if_block_1$1K(So){let $o,ko;return $o=new Select_1$1({props:{value:So[6],options:So[3],getOptionLabel:So[8],getOptionValue:func$G,label:So[2]?So[0]:null,sort:!0}}),$o.$on("change",So[12]),{c(){create_component($o.$$.fragment)},m(Eo,Io){mount_component($o,Eo,Io),ko=!0},p(Eo,Io){const $a={};Io&64&&($a.value=Eo[6]),Io&8&&($a.options=Eo[3]),Io&5&&($a.label=Eo[2]?Eo[0]:null),$o.$set($a)},i(Eo){ko||(transition_in($o.$$.fragment,Eo),ko=!0)},o(Eo){transition_out($o.$$.fragment,Eo),ko=!1},d(Eo){destroy_component($o,Eo)}}}function create_if_block$3c(So){let $o,ko,Eo,Io;return $o=new Label({props:{extraSmall:!0,grey:!0,$$slots:{default:[create_default_slot_1$2J]},$$scope:{ctx:So}}}),Eo=new Label({props:{small:!0,black:!0,$$slots:{default:[create_default_slot$4j]},$$scope:{ctx:So}}}),{c(){create_component($o.$$.fragment),ko=space$2(),create_component(Eo.$$.fragment)},m($a,ya){mount_component($o,$a,ya),insert$1($a,ko,ya),mount_component(Eo,$a,ya),Io=!0},p($a,ya){const wa={};ya&65537&&(wa.$$scope={dirty:ya,ctx:$a}),$o.$set(wa);const ka={};ya&65568&&(ka.$$scope={dirty:ya,ctx:$a}),Eo.$set(ka)},i($a){Io||(transition_in($o.$$.fragment,$a),transition_in(Eo.$$.fragment,$a),Io=!0)},o($a){transition_out($o.$$.fragment,$a),transition_out(Eo.$$.fragment,$a),Io=!1},d($a){$a&&detach(ko),destroy_component($o,$a),destroy_component(Eo,$a)}}}function create_default_slot_1$2J(So){let $o;return{c(){$o=text(So[0])},m(ko,Eo){insert$1(ko,$o,Eo)},p(ko,Eo){Eo&1&&set_data($o,ko[0])},d(ko){ko&&detach($o)}}}function create_default_slot$4j(So){let $o,ko,Eo=So[5].name+"",Io,$a;return{c(){$o=text(`Please choose a display column for the
765
765
  `),ko=element("b"),Io=text(Eo),$a=text(`