@open-mercato/cezar 0.16.2 → 0.16.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api-origin.d.ts +6 -0
- package/dist/api-origin.js +32 -0
- package/dist/api-origin.js.map +1 -0
- package/dist/automations/schedule-runner.d.ts +1 -0
- package/dist/automations/schedule-runner.js +2 -2
- package/dist/automations/schedule-runner.js.map +1 -1
- package/dist/core/agent-errors.d.ts +5 -0
- package/dist/core/agent-errors.js +49 -0
- package/dist/core/agent-errors.js.map +1 -1
- package/dist/core/claude-cli-runner.d.ts +3 -0
- package/dist/core/claude-cli-runner.js +20 -4
- package/dist/core/claude-cli-runner.js.map +1 -1
- package/dist/core/codex-ui-mapper.js +4 -1
- package/dist/core/codex-ui-mapper.js.map +1 -1
- package/dist/core/copilot-acp-runner.d.ts +1 -1
- package/dist/core/copilot-acp-runner.js +26 -5
- package/dist/core/copilot-acp-runner.js.map +1 -1
- package/dist/core/model-presets.d.ts +11 -0
- package/dist/core/model-presets.js +35 -1
- package/dist/core/model-presets.js.map +1 -1
- package/dist/core/opencode-model-catalog.js +3 -0
- package/dist/core/opencode-model-catalog.js.map +1 -1
- package/dist/core/opencode-server-runner.d.ts +7 -0
- package/dist/core/opencode-server-runner.js +36 -1
- package/dist/core/opencode-server-runner.js.map +1 -1
- package/dist/core/pi-runner.js +2 -0
- package/dist/core/pi-runner.js.map +1 -1
- package/dist/core/provider-auth.d.ts +6 -0
- package/dist/core/provider-auth.js +59 -13
- package/dist/core/provider-auth.js.map +1 -1
- package/dist/core/usage-limit.js +8 -2
- package/dist/core/usage-limit.js.map +1 -1
- package/dist/index.js +3 -19
- package/dist/index.js.map +1 -1
- package/dist/release/bump.d.ts +1 -1
- package/dist/release/bump.js +1 -1
- package/dist/release/stable.d.ts +21 -4
- package/dist/release/stable.js +48 -15
- package/dist/release/stable.js.map +1 -1
- package/dist/runs/agent-error-telemetry.js +4 -2
- package/dist/runs/agent-error-telemetry.js.map +1 -1
- package/dist/runs/store.d.ts +1 -1
- package/dist/runs/store.js +31 -4
- package/dist/runs/store.js.map +1 -1
- package/dist/server/git-changes.d.ts +22 -0
- package/dist/server/git-changes.js +19 -1
- package/dist/server/git-changes.js.map +1 -1
- package/dist/server/open-in-app.js +14 -3
- package/dist/server/open-in-app.js.map +1 -1
- package/dist/server/preview/location-reporter.d.ts +12 -0
- package/dist/server/preview/location-reporter.js +45 -0
- package/dist/server/preview/location-reporter.js.map +1 -0
- package/dist/server/preview/picker-script.d.ts +0 -22
- package/dist/server/preview/picker-script.js +3 -1
- package/dist/server/preview/picker-script.js.map +1 -1
- package/dist/server/provider-telemetry.d.ts +3 -1
- package/dist/server/provider-telemetry.js +4 -2
- package/dist/server/provider-telemetry.js.map +1 -1
- package/dist/server/repo-sync.js +5 -10
- package/dist/server/repo-sync.js.map +1 -1
- package/dist/server/server.d.ts +1854 -1854
- package/dist/server/server.js +7 -2
- package/dist/server/server.js.map +1 -1
- package/dist/server/worktree-lifecycle.d.ts +8 -8
- package/dist/telemetry.js +3 -1
- package/dist/telemetry.js.map +1 -1
- package/dist/workflows/continuation-context.d.ts +3 -1
- package/dist/workflows/continuation-context.js +22 -3
- package/dist/workflows/continuation-context.js.map +1 -1
- package/dist/workflows/run.d.ts +20 -9
- package/dist/workflows/run.js +49 -11
- package/dist/workflows/run.js.map +1 -1
- package/package.json +3 -3
- package/scripts/mock-copilot-acp.mjs +4 -0
- package/web/dist/assets/{agent-task-pickers-DEW3Vgdv.js → agent-task-pickers-CNuwgeJL.js} +1 -1
- package/web/dist/assets/{automations-route-Cx7mzYhD.js → automations-route-Cs1tsu1W.js} +1 -1
- package/web/dist/assets/{commit-list-xMdmPYbz.js → commit-list-Ti2arrt8.js} +1 -1
- package/web/dist/assets/{compare-variants-B6ja1M4D.js → compare-variants-CdchlJMs.js} +1 -1
- package/web/dist/assets/{dashboard-ClEGBFFq.js → dashboard-wi0EQack.js} +2 -2
- package/web/dist/assets/{file-preview-iucr8WDo.js → file-preview-pS9i9ZDR.js} +1 -1
- package/web/dist/assets/git-tab-loading-BC6WP7W4.js +1 -0
- package/web/dist/assets/{git-toolbar-DU5Ca6RI.js → git-toolbar-Dra1QlHb.js} +1 -1
- package/web/dist/assets/github-DZcdhMzw.js +1 -0
- package/web/dist/assets/{host-usage-DjDYDU0A.js → host-usage-DnkXF0CT.js} +1 -1
- package/web/dist/assets/index-qeFtKZ4e.js +22 -0
- package/web/dist/assets/{layout-cards-Sur4EWtx.js → layout-cards-CXMlrDUf.js} +1 -1
- package/web/dist/assets/{project-router-DZsR9P9C.js → project-router-CZzr7lzN.js} +2 -2
- package/web/dist/assets/queries-Bn7zl9OU.js +1 -0
- package/web/dist/assets/{reference-chip-DnemrSPW.js → reference-chip-CScP5y_O.js} +1 -1
- package/web/dist/assets/repo-git-CV-yXaSx.js +1 -0
- package/web/dist/assets/{run-diff-BPZ85gAE.js → run-diff-GHEaeAio.js} +2 -2
- package/web/dist/assets/{skills-BgCN1gTp.js → skills-DuSNv5op.js} +1 -1
- package/web/dist/assets/{task-commits-W1ZZiEt4.js → task-commits-D_gLpFQo.js} +1 -1
- package/web/dist/assets/{task-graph-DI2fn5M8.js → task-graph-BgHk8Y3v.js} +1 -1
- package/web/dist/assets/{task-notes-lmvd1UM7.js → task-notes-BBp0rdzM.js} +1 -1
- package/web/dist/assets/task-workspace-Cr9AjTxP.js +27 -0
- package/web/dist/assets/{terminal-drawer-DAkquqSe.js → terminal-drawer-CcPOjWwP.js} +2 -2
- package/web/dist/assets/{tracker-Cqdpt9RN.js → tracker-BHwMGsDY.js} +2 -2
- package/web/dist/assets/use-automations-Dh3Wj-79.js +5 -0
- package/web/dist/assets/{use-now-pBdvhv13.js → use-now-BB7W0F--.js} +1 -1
- package/web/dist/assets/{workflow-graph-l7O50dsV.js → workflow-graph-CcOTCItr.js} +3 -3
- package/web/dist/assets/worktree-lifecycle-operation-vTgExKUM.js +18 -0
- package/web/dist/index.html +10 -10
- package/web/dist/assets/git-tab-loading-BfC2ir8N.js +0 -1
- package/web/dist/assets/github-CELdSmld.js +0 -1
- package/web/dist/assets/index-BBND6Sg3.js +0 -22
- package/web/dist/assets/queries-CI0EmEcH.js +0 -1
- package/web/dist/assets/repo-git-Bj0PBOjX.js +0 -1
- package/web/dist/assets/task-workspace-B8Fpho3e.js +0 -27
- package/web/dist/assets/use-automations-v77gHYDG.js +0 -5
- package/web/dist/assets/worktree-lifecycle-operation-DOTiqQFx.js +0 -18
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e,t}from"./rolldown-runtime-QTnfLwEv.js";import{i as n,r,t as i}from"./react-runtime-CCIEwYL0.js";import{Hi as a,Kt as o,Nt as s,Sa as c,Yn as l,gr as u,ia as d,pi as f,qt as p,r as m,ui as h,xr as g,ya as _}from"./queries-CI0EmEcH.js";import{F as v,r as y,t as b}from"./button-Clwd6u4_.js";import{c as x,f as S,t as C,w}from"./project-router-DZsR9P9C.js";import{a as T,i as E,n as D,r as O,t as k}from"./textarea-ewNKsXDa.js";import{t as A}from"./circle-check-DnEaQ9Rj.js";import{t as j}from"./download-DOJ8Dqfh.js";import{n as M,t as N}from"./terminal-F3ZJ5fI8.js";import{n as P,t as F}from"./upload-J0hBTVF7.js";import{n as I,t as ee}from"./settings-2-COky68xN.js";import{n as L,r as te,t as R}from"./triangle-alert-BqI_9MkV.js";import{t as z}from"./message-square-EWpWB_Gr.js";import{n as ne,t as re}from"./square-8OFxLPoA.js";import{t as ie}from"./plus-CBVm02wz.js";import{t as ae}from"./save-B8DEQI2V.js";import{t as oe}from"./tag-yruQH0i-.js";import{t as se}from"./x-DMIsmLBt.js";import{a as ce,c as le,i as ue,n as de,o as fe,r as pe,s as me,t as he}from"./alert-dialog-DvPnvVvK.js";import{t as B}from"./input-DIWTlsx6.js";import{t as ge}from"./centered-state-nM7v9xtl.js";import{P as _e,i as ve,j as ye}from"./index-BBND6Sg3.js";var be=v(`flag`,[[`path`,{d:`M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528`,key:`1jaruq`}]]),xe=v(`hand`,[[`path`,{d:`M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2`,key:`1fvzgz`}],[`path`,{d:`M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`,key:`1kc0my`}],[`path`,{d:`M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8`,key:`10h0bg`}],[`path`,{d:`M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`,key:`1s1gnw`}]]),Se=v(`merge`,[[`path`,{d:`m8 6 4-4 4 4`,key:`ybng9g`}],[`path`,{d:`M12 2v10.3a4 4 0 0 1-1.172 2.872L4 22`,key:`1hyw0i`}],[`path`,{d:`m20 22-5-5`,key:`1m27yz`}]]),Ce=v(`message-circle-question-mark`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),V=v(`repeat`,[[`path`,{d:`m17 2 4 4-4 4`,key:`nntrym`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 4-4h14`,key:`84bu3i`}],[`path`,{d:`m7 22-4-4 4-4`,key:`1wqhfi`}],[`path`,{d:`M21 13v1a4 4 0 0 1-4 4H3`,key:`1rx37r`}]]),we=v(`signpost`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M12 3v3`,key:`1n5kay`}],[`path`,{d:`M2.354 10.354a1.207 1.207 0 0 1 0-1.708l2.06-2.06A2 2 0 0 1 5.828 6h12.344a2 2 0 0 1 1.414.586l2.06 2.06a1.207 1.207 0 0 1 0 1.708l-2.06 2.06a2 2 0 0 1-1.414.586H5.828a2 2 0 0 1-1.414-.586z`,key:`1tm261`}]]),Te=v(`timer`,[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]),Ee=v(`webhook`,[[`path`,{d:`M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2`,key:`q3hayz`}],[`path`,{d:`m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06`,key:`1go1hn`}],[`path`,{d:`m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8`,key:`qlwsc0`}]]),H=e(n(),1),U=i();function W(e){if(typeof e==`string`||typeof e==`number`)return``+e;let t=``;if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=W(e[n]))!==``&&(t+=(t&&` `)+r);else for(let n in e)e[n]&&(t+=(t&&` `)+n);return t}var De={value:()=>{}};function Oe(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new ke(n)}function ke(e){this._=e}function Ae(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}ke.prototype=Oe.prototype={constructor:ke,on:function(e,t){var n=this._,r=Ae(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=je(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=Me(n[i],e.name,t);else if(t==null)for(i in n)n[i]=Me(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new ke(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function je(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function Me(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=De,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Ne={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function Pe(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),Ne.hasOwnProperty(t)?{space:Ne[t],local:e}:e}function Fe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function Ie(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Le(e){var t=Pe(e);return(t.local?Ie:Fe)(t)}function Re(){}function ze(e){return e==null?Re:function(){return this.querySelector(e)}}function Be(e){typeof e!=`function`&&(e=ze(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new Dn(r,this._parents)}function Ve(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function He(){return[]}function Ue(e){return e==null?He:function(){return this.querySelectorAll(e)}}function G(e){return function(){return Ve(e.apply(this,arguments))}}function We(e){e=typeof e==`function`?G(e):Ue(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new Dn(r,i)}function K(e){return function(){return this.matches(e)}}function Ge(e){return function(t){return t.matches(e)}}var Ke=Array.prototype.find;function qe(e){return function(){return Ke.call(this.children,e)}}function Je(){return this.firstElementChild}function Ye(e){return this.select(e==null?Je:qe(typeof e==`function`?e:Ge(e)))}var Xe=Array.prototype.filter;function Ze(){return Array.from(this.children)}function Qe(e){return function(){return Xe.call(this.children,e)}}function $e(e){return this.selectAll(e==null?Ze:Qe(typeof e==`function`?e:Ge(e)))}function et(e){typeof e!=`function`&&(e=K(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Dn(r,this._parents)}function tt(e){return Array(e.length)}function nt(){return new Dn(this._enter||this._groups.map(tt),this._parents)}function rt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}rt.prototype={constructor:rt,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function it(e){return function(){return e}}function at(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new rt(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function ot(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new rt(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function st(e){return e.__data__}function ct(e,t){if(!arguments.length)return Array.from(this,st);var n=t?ot:at,r=this._parents,i=this._groups;typeof e!=`function`&&(e=it(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=lt(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new Dn(o,r),o._enter=s,o._exit=c,o}function lt(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function ut(){return new Dn(this._exit||this._groups.map(tt),this._parents)}function dt(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function ft(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new Dn(s,this._parents)}function pt(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function mt(e){e||=ht;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new Dn(i,this._parents).order()}function ht(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function gt(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function _t(){return Array.from(this)}function vt(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function yt(){let e=0;for(let t of this)++e;return e}function bt(){return!this.node()}function xt(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function St(e){return function(){this.removeAttribute(e)}}function Ct(e){return function(){this.removeAttributeNS(e.space,e.local)}}function wt(e,t){return function(){this.setAttribute(e,t)}}function Tt(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Et(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function Dt(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Ot(e,t){var n=Pe(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?Ct:St:typeof t==`function`?n.local?Dt:Et:n.local?Tt:wt)(n,t))}function kt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function At(e){return function(){this.style.removeProperty(e)}}function jt(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Mt(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function Nt(e,t,n){return arguments.length>1?this.each((t==null?At:typeof t==`function`?Mt:jt)(e,t,n??``)):Pt(this.node(),e)}function Pt(e,t){return e.style.getPropertyValue(t)||kt(e).getComputedStyle(e,null).getPropertyValue(t)}function Ft(e){return function(){delete this[e]}}function It(e,t){return function(){this[e]=t}}function Lt(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Rt(e,t){return arguments.length>1?this.each((t==null?Ft:typeof t==`function`?Lt:It)(e,t)):this.node()[e]}function zt(e){return e.trim().split(/^|\s+/)}function Bt(e){return e.classList||new Vt(e)}function Vt(e){this._node=e,this._names=zt(e.getAttribute(`class`)||``)}Vt.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function Ht(e,t){for(var n=Bt(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Ut(e,t){for(var n=Bt(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Wt(e){return function(){Ht(this,e)}}function Gt(e){return function(){Ut(this,e)}}function Kt(e,t){return function(){(t.apply(this,arguments)?Ht:Ut)(this,e)}}function qt(e,t){var n=zt(e+``);if(arguments.length<2){for(var r=Bt(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?Kt:t?Wt:Gt)(n,t))}function Jt(){this.textContent=``}function Yt(e){return function(){this.textContent=e}}function Xt(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function Zt(e){return arguments.length?this.each(e==null?Jt:(typeof e==`function`?Xt:Yt)(e)):this.node().textContent}function Qt(){this.innerHTML=``}function $t(e){return function(){this.innerHTML=e}}function en(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function tn(e){return arguments.length?this.each(e==null?Qt:(typeof e==`function`?en:$t)(e)):this.node().innerHTML}function nn(){this.nextSibling&&this.parentNode.appendChild(this)}function rn(){return this.each(nn)}function an(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function on(){return this.each(an)}function sn(e){var t=typeof e==`function`?e:Le(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function cn(){return null}function ln(e,t){var n=typeof e==`function`?e:Le(e),r=t==null?cn:typeof t==`function`?t:ze(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function un(){var e=this.parentNode;e&&e.removeChild(this)}function dn(){return this.each(un)}function fn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function pn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function mn(e){return this.select(e?pn:fn)}function hn(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function gn(e){return function(t){e.call(this,t,this.__data__)}}function _n(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function vn(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function yn(e,t,n){return function(){var r=this.__on,i,a=gn(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function bn(e,t,n){var r=_n(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?yn:vn,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function xn(e,t,n){var r=kt(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function Sn(e,t){return function(){return xn(this,e,t)}}function Cn(e,t){return function(){return xn(this,e,t.apply(this,arguments))}}function wn(e,t){return this.each((typeof t==`function`?Cn:Sn)(e,t))}function*Tn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var En=[null];function Dn(e,t){this._groups=e,this._parents=t}function On(){return new Dn([[document.documentElement]],En)}function kn(){return this}Dn.prototype=On.prototype={constructor:Dn,select:Be,selectAll:We,selectChild:Ye,selectChildren:$e,filter:et,data:ct,enter:nt,exit:ut,join:dt,merge:ft,selection:kn,order:pt,sort:mt,call:gt,nodes:_t,node:vt,size:yt,empty:bt,each:xt,attr:Ot,style:Nt,property:Rt,classed:qt,text:Zt,html:tn,raise:rn,lower:on,append:sn,insert:ln,remove:dn,clone:mn,datum:hn,on:bn,dispatch:wn,[Symbol.iterator]:Tn};function An(e){return typeof e==`string`?new Dn([[document.querySelector(e)]],[document.documentElement]):new Dn([[e]],En)}function jn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Mn(e,t){if(e=jn(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var Nn={passive:!1},Pn={capture:!0,passive:!1};function Fn(e){e.stopImmediatePropagation()}function In(e){e.preventDefault(),e.stopImmediatePropagation()}function Ln(e){var t=e.document.documentElement,n=An(e).on(`dragstart.drag`,In,Pn);`onselectstart`in t?n.on(`selectstart.drag`,In,Pn):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=`none`)}function Rn(e,t){var n=e.document.documentElement,r=An(e).on(`dragstart.drag`,null);t&&(r.on(`click.drag`,In,Pn),setTimeout(function(){r.on(`click.drag`,null)},0)),`onselectstart`in n?r.on(`selectstart.drag`,null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var zn=e=>()=>e;function Bn(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:a,x:o,y:s,dx:c,dy:l,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}Bn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Vn(e){return!e.ctrlKey&&!e.button}function Hn(){return this.parentNode}function Un(e,t){return t??{x:e.x,y:e.y}}function Wn(){return navigator.maxTouchPoints||`ontouchstart`in this}function Gn(){var e=Vn,t=Hn,n=Un,r=Wn,i={},a=Oe(`start`,`drag`,`end`),o=0,s,c,l,u,d=0;function f(e){e.on(`mousedown.drag`,p).filter(r).on(`touchstart.drag`,g).on(`touchmove.drag`,_,Nn).on(`touchend.drag touchcancel.drag`,v).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function p(n,r){if(!(u||!e.call(this,n,r))){var i=y(this,t.call(this,n,r),n,r,`mouse`);i&&(An(n.view).on(`mousemove.drag`,m,Pn).on(`mouseup.drag`,h,Pn),Ln(n.view),Fn(n),l=!1,s=n.clientX,c=n.clientY,i(`start`,n))}}function m(e){if(In(e),!l){var t=e.clientX-s,n=e.clientY-c;l=t*t+n*n>d}i.mouse(`drag`,e)}function h(e){An(e.view).on(`mousemove.drag mouseup.drag`,null),Rn(e.view,l),In(e),i.mouse(`end`,e)}function g(n,r){if(e.call(this,n,r)){var i=n.changedTouches,a=t.call(this,n,r),o=i.length,s,c;for(s=0;s<o;++s)(c=y(this,a,n,r,i[s].identifier,i[s]))&&(Fn(n),c(`start`,n,i[s]))}}function _(e){var t=e.changedTouches,n=t.length,r,a;for(r=0;r<n;++r)(a=i[t[r].identifier])&&(In(e),a(`drag`,e,t[r]))}function v(e){var t=e.changedTouches,n=t.length,r,a;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),r=0;r<n;++r)(a=i[t[r].identifier])&&(Fn(e),a(`end`,e,t[r]))}function y(e,t,r,s,c,l){var u=a.copy(),d=Mn(l||r,t),p,m,h;if((h=n.call(e,new Bn(`beforestart`,{sourceEvent:r,target:f,identifier:c,active:o,x:d[0],y:d[1],dx:0,dy:0,dispatch:u}),s))!=null)return p=h.x-d[0]||0,m=h.y-d[1]||0,function n(r,a,l){var g=d,_;switch(r){case`start`:i[c]=n,_=o++;break;case`end`:delete i[c],--o;case`drag`:d=Mn(l||a,t),_=o;break}u.call(r,e,new Bn(r,{sourceEvent:a,subject:h,target:f,identifier:c,active:_,x:d[0]+p,y:d[1]+m,dx:d[0]-g[0],dy:d[1]-g[1],dispatch:u}),s)}}return f.filter=function(t){return arguments.length?(e=typeof t==`function`?t:zn(!!t),f):e},f.container=function(e){return arguments.length?(t=typeof e==`function`?e:zn(e),f):t},f.subject=function(e){return arguments.length?(n=typeof e==`function`?e:zn(e),f):n},f.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:zn(!!e),f):r},f.on=function(){var e=a.on.apply(a,arguments);return e===a?f:e},f.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,f):Math.sqrt(d)},f}function Kn(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function qn(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Jn(){}var Yn=.7,Xn=1/Yn,Zn=`\\s*([+-]?\\d+)\\s*`,Qn=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,$n=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,er=/^#([0-9a-f]{3,8})$/,tr=RegExp(`^rgb\\(${Zn},${Zn},${Zn}\\)$`),nr=RegExp(`^rgb\\(${$n},${$n},${$n}\\)$`),rr=RegExp(`^rgba\\(${Zn},${Zn},${Zn},${Qn}\\)$`),ir=RegExp(`^rgba\\(${$n},${$n},${$n},${Qn}\\)$`),ar=RegExp(`^hsl\\(${Qn},${$n},${$n}\\)$`),or=RegExp(`^hsla\\(${Qn},${$n},${$n},${Qn}\\)$`),sr={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};Kn(Jn,fr,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:cr,formatHex:cr,formatHex8:lr,formatHsl:ur,formatRgb:dr,toString:dr});function cr(){return this.rgb().formatHex()}function lr(){return this.rgb().formatHex8()}function ur(){return Tr(this).formatHsl()}function dr(){return this.rgb().formatRgb()}function fr(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=er.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?pr(t):n===3?new _r(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?mr(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?mr(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=tr.exec(e))?new _r(t[1],t[2],t[3],1):(t=nr.exec(e))?new _r(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=rr.exec(e))?mr(t[1],t[2],t[3],t[4]):(t=ir.exec(e))?mr(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=ar.exec(e))?wr(t[1],t[2]/100,t[3]/100,1):(t=or.exec(e))?wr(t[1],t[2]/100,t[3]/100,t[4]):sr.hasOwnProperty(e)?pr(sr[e]):e===`transparent`?new _r(NaN,NaN,NaN,0):null}function pr(e){return new _r(e>>16&255,e>>8&255,e&255,1)}function mr(e,t,n,r){return r<=0&&(e=t=n=NaN),new _r(e,t,n,r)}function hr(e){return e instanceof Jn||(e=fr(e)),e?(e=e.rgb(),new _r(e.r,e.g,e.b,e.opacity)):new _r}function gr(e,t,n,r){return arguments.length===1?hr(e):new _r(e,t,n,r??1)}function _r(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Kn(_r,gr,qn(Jn,{brighter(e){return e=e==null?Xn:Xn**+e,new _r(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Yn:Yn**+e,new _r(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new _r(Sr(this.r),Sr(this.g),Sr(this.b),xr(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:vr,formatHex:vr,formatHex8:yr,formatRgb:br,toString:br}));function vr(){return`#${Cr(this.r)}${Cr(this.g)}${Cr(this.b)}`}function yr(){return`#${Cr(this.r)}${Cr(this.g)}${Cr(this.b)}${Cr((isNaN(this.opacity)?1:this.opacity)*255)}`}function br(){let e=xr(this.opacity);return`${e===1?`rgb(`:`rgba(`}${Sr(this.r)}, ${Sr(this.g)}, ${Sr(this.b)}${e===1?`)`:`, ${e})`}`}function xr(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Sr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Cr(e){return e=Sr(e),(e<16?`0`:``)+e.toString(16)}function wr(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Dr(e,t,n,r)}function Tr(e){if(e instanceof Dr)return new Dr(e.h,e.s,e.l,e.opacity);if(e instanceof Jn||(e=fr(e)),!e)return new Dr;if(e instanceof Dr)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new Dr(o,s,c,e.opacity)}function Er(e,t,n,r){return arguments.length===1?Tr(e):new Dr(e,t,n,r??1)}function Dr(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Kn(Dr,Er,qn(Jn,{brighter(e){return e=e==null?Xn:Xn**+e,new Dr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Yn:Yn**+e,new Dr(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new _r(Ar(e>=240?e-240:e+120,i,r),Ar(e,i,r),Ar(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Dr(Or(this.h),kr(this.s),kr(this.l),xr(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(){let e=xr(this.opacity);return`${e===1?`hsl(`:`hsla(`}${Or(this.h)}, ${kr(this.s)*100}%, ${kr(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function Or(e){return e=(e||0)%360,e<0?e+360:e}function kr(e){return Math.max(0,Math.min(1,e||0))}function Ar(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var jr=e=>()=>e;function Mr(e,t){return function(n){return e+n*t}}function Nr(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function Pr(e){return(e=+e)==1?Fr:function(t,n){return n-t?Nr(t,n,e):jr(isNaN(t)?n:t)}}function Fr(e,t){var n=t-e;return n?Mr(e,n):jr(isNaN(e)?t:e)}var Ir=(function e(t){var n=Pr(t);function r(e,t){var r=n((e=gr(e)).r,(t=gr(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Fr(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function Lr(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function Rr(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function zr(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o;for(o=0;o<r;++o)i[o]=Jr(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function Br(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Vr(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Hr(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=Jr(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Ur=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Wr=new RegExp(Ur.source,`g`);function Gr(e){return function(){return e}}function Kr(e){return function(t){return e(t)+``}}function qr(e,t){var n=Ur.lastIndex=Wr.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Ur.exec(e))&&(i=Wr.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Vr(r,i)})),n=Wr.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?Kr(c[0].x):Gr(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function Jr(e,t){var n=typeof t,r;return t==null||n===`boolean`?jr(t):(n===`number`?Vr:n===`string`?(r=fr(t))?(t=r,Ir):qr:t instanceof fr?Ir:t instanceof Date?Br:Rr(t)?Lr:Array.isArray(t)?zr:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?Hr:Vr)(e,t)}var Yr=180/Math.PI,Xr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Zr(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Yr,skewX:Math.atan(c)*Yr,scaleX:o,scaleY:s}}var Qr;function $r(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Xr:Zr(t.a,t.b,t.c,t.d,t.e,t.f)}function ei(e){return e==null||(Qr||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),Qr.setAttribute(`transform`,e),!(e=Qr.transform.baseVal.consolidate()))?Xr:(e=e.matrix,Zr(e.a,e.b,e.c,e.d,e.e,e.f))}function ti(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:Vr(e,i)},{i:c-2,x:Vr(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:Vr(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:Vr(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:Vr(e,n)},{i:s-2,x:Vr(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var ni=ti($r,`px, `,`px)`,`deg)`),ri=ti(ei,`, `,`)`,`)`),ii=1e-12;function ai(e){return((e=Math.exp(e))+1/e)/2}function oi(e){return((e=Math.exp(e))-1/e)/2}function si(e){return((e=Math.exp(2*e))-1)/(e+1)}var ci=(function e(t,n,r){function i(e,i){var a=e[0],o=e[1],s=e[2],c=i[0],l=i[1],u=i[2],d=c-a,f=l-o,p=d*d+f*f,m,h;if(p<ii)h=Math.log(u/s)/t,m=function(e){return[a+e*d,o+e*f,s*Math.exp(t*e*h)]};else{var g=Math.sqrt(p),_=(u*u-s*s+r*p)/(2*s*n*g),v=(u*u-s*s-r*p)/(2*u*n*g),y=Math.log(Math.sqrt(_*_+1)-_);h=(Math.log(Math.sqrt(v*v+1)-v)-y)/t,m=function(e){var r=e*h,i=ai(y),c=s/(n*g)*(i*si(t*r+y)-oi(y));return[a+c*d,o+c*f,s*i/ai(t*r+y)]}}return m.duration=h*1e3*t/Math.SQRT2,m}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i})(Math.SQRT2,2,4),li=0,ui=0,di=0,fi=1e3,pi,mi,hi=0,gi=0,_i=0,vi=typeof performance==`object`&&performance.now?performance:Date,yi=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function bi(){return gi||=(yi(xi),vi.now()+_i)}function xi(){gi=0}function Si(){this._call=this._time=this._next=null}Si.prototype=Ci.prototype={constructor:Si,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?bi():+n)+(t==null?0:+t),!this._next&&mi!==this&&(mi?mi._next=this:pi=this,mi=this),this._call=e,this._time=n,Oi()},stop:function(){this._call&&(this._call=null,this._time=1/0,Oi())}};function Ci(e,t,n){var r=new Si;return r.restart(e,t,n),r}function wi(){bi(),++li;for(var e=pi,t;e;)(t=gi-e._time)>=0&&e._call.call(void 0,t),e=e._next;--li}function Ti(){gi=(hi=vi.now())+_i,li=ui=0;try{wi()}finally{li=0,Di(),gi=0}}function Ei(){var e=vi.now(),t=e-hi;t>fi&&(_i-=t,hi=e)}function Di(){for(var e,t=pi,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:pi=n);mi=e,Oi(r)}function Oi(e){li||(ui&&=clearTimeout(ui),e-gi>24?(e<1/0&&(ui=setTimeout(Ti,e-vi.now()-_i)),di&&=clearInterval(di)):(di||=(hi=vi.now(),setInterval(Ei,fi)),li=1,yi(Ti)))}function ki(e,t,n){var r=new Si;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var Ai=Oe(`start`,`end`,`cancel`,`interrupt`),ji=[];function Mi(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;Ii(e,n,{name:t,index:r,group:i,on:Ai,tween:ji,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function Ni(e,t){var n=Fi(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function Pi(e,t){var n=Fi(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function Fi(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function Ii(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=Ci(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return ki(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(ki(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function Li(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function Ri(e){return this.each(function(){Li(this,e)})}function zi(e,t){var n,r;return function(){var i=Pi(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function Bi(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=Pi(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function Vi(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=Fi(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?zi:Bi)(n,e,t))}function Hi(e,t,n){var r=e._id;return e.each(function(){var e=Pi(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return Fi(e,r).value[t]}}function Ui(e,t){var n;return(typeof t==`number`?Vr:t instanceof fr?Ir:(n=fr(t))?(t=n,Ir):qr)(e,t)}function Wi(e){return function(){this.removeAttribute(e)}}function Gi(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ki(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function qi(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function Ji(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Yi(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Xi(e,t){var n=Pe(e),r=n===`transform`?ri:Ui;return this.attrTween(e,typeof t==`function`?(n.local?Yi:Ji)(n,r,Hi(this,`attr.`+e,t)):t==null?(n.local?Gi:Wi)(n):(n.local?qi:Ki)(n,r,t))}function Zi(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Qi(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function $i(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Qi(e,i)),n}return i._value=t,i}function ea(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Zi(e,i)),n}return i._value=t,i}function ta(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=Pe(e);return this.tween(n,(r.local?$i:ea)(r,t))}function na(e,t){return function(){Ni(this,e).delay=+t.apply(this,arguments)}}function ra(e,t){return t=+t,function(){Ni(this,e).delay=t}}function ia(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?na:ra)(t,e)):Fi(this.node(),t).delay}function aa(e,t){return function(){Pi(this,e).duration=+t.apply(this,arguments)}}function oa(e,t){return t=+t,function(){Pi(this,e).duration=t}}function sa(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?aa:oa)(t,e)):Fi(this.node(),t).duration}function ca(e,t){if(typeof t!=`function`)throw Error();return function(){Pi(this,e).ease=t}}function la(e){var t=this._id;return arguments.length?this.each(ca(t,e)):Fi(this.node(),t).ease}function ua(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();Pi(this,e).ease=n}}function da(e){if(typeof e!=`function`)throw Error();return this.each(ua(this._id,e))}function fa(e){typeof e!=`function`&&(e=K(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Va(r,this._parents,this._name,this._id)}function pa(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new Va(o,this._parents,this._name,this._id)}function ma(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function ha(e,t,n){var r,i,a=ma(t)?Ni:Pi;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function ga(e,t){var n=this._id;return arguments.length<2?Fi(this.node(),n).on.on(e):this.each(ha(n,e,t))}function _a(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function va(){return this.on(`end.remove`,_a(this._id))}function ya(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=ze(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,Mi(l[f],t,n,f,l,Fi(u,n)));return new Va(a,this._parents,t,n)}function ba(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Ue(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=Fi(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&Mi(p,t,n,h,f,m);a.push(f),o.push(u)}return new Va(a,o,t,n)}var xa=On.prototype.constructor;function Sa(){return new xa(this._groups,this._parents)}function Ca(e,t){var n,r,i;return function(){var a=Pt(this,e),o=(this.style.removeProperty(e),Pt(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function wa(e){return function(){this.style.removeProperty(e)}}function Ta(e,t,n){var r,i=n+``,a;return function(){var o=Pt(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function Ea(e,t,n){var r,i,a;return function(){var o=Pt(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),Pt(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function Da(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=Pi(this,e),l=c.on,u=c.value[a]==null?s||=wa(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function Oa(e,t,n){var r=(e+=``)==`transform`?ni:Ui;return t==null?this.styleTween(e,Ca(e,r)).on(`end.style.`+e,wa(e)):typeof t==`function`?this.styleTween(e,Ea(e,r,Hi(this,`style.`+e,t))).each(Da(this._id,e)):this.styleTween(e,Ta(e,r,t),n).on(`end.style.`+e,null)}function ka(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function Aa(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&ka(e,a,n)),r}return a._value=t,a}function ja(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,Aa(e,t,n??``))}function Ma(e){return function(){this.textContent=e}}function Na(e){return function(){var t=e(this);this.textContent=t??``}}function Pa(e){return this.tween(`text`,typeof e==`function`?Na(Hi(this,`text`,e)):Ma(e==null?``:e+``))}function Fa(e){return function(t){this.textContent=e.call(this,t)}}function Ia(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&Fa(r)),t}return r._value=e,r}function La(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,Ia(e))}function Ra(){for(var e=this._name,t=this._id,n=Ua(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=Fi(c,t);Mi(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Va(r,this._parents,e,n)}function za(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=Pi(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var Ba=0;function Va(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Ha(e){return On().transition(e)}function Ua(){return++Ba}var Wa=On.prototype;Va.prototype=Ha.prototype={constructor:Va,select:ya,selectAll:ba,selectChild:Wa.selectChild,selectChildren:Wa.selectChildren,filter:fa,merge:pa,selection:Sa,transition:Ra,call:Wa.call,nodes:Wa.nodes,node:Wa.node,size:Wa.size,empty:Wa.empty,each:Wa.each,on:ga,attr:Xi,attrTween:ta,style:Oa,styleTween:ja,text:Pa,textTween:La,remove:va,tween:Vi,delay:ia,duration:sa,ease:la,easeVarying:da,end:za,[Symbol.iterator]:Wa[Symbol.iterator]};function Ga(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Ka={time:null,delay:0,duration:250,ease:Ga};function qa(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function Ja(e){var t,n;e instanceof Va?(t=e._id,e=e._name):(t=Ua(),(n=Ka).time=bi(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&Mi(c,e,t,l,o,n||qa(c,t));return new Va(r,this._parents,e,t)}On.prototype.interrupt=Ri,On.prototype.transition=Ja;var Ya=e=>()=>e;function Xa(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Za(e,t,n){this.k=e,this.x=t,this.y=n}Za.prototype={constructor:Za,scale:function(e){return e===1?this:new Za(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Za(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return`translate(`+this.x+`,`+this.y+`) scale(`+this.k+`)`}};var Qa=new Za(1,0,0);$a.prototype=Za.prototype;function $a(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Qa;return e.__zoom}function eo(e){e.stopImmediatePropagation()}function to(e){e.preventDefault(),e.stopImmediatePropagation()}function no(e){return(!e.ctrlKey||e.type===`wheel`)&&!e.button}function ro(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute(`viewBox`)?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function io(){return this.__zoom||Qa}function ao(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function oo(){return navigator.maxTouchPoints||`ontouchstart`in this}function so(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function co(){var e=no,t=ro,n=so,r=ao,i=oo,a=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],s=250,c=ci,l=Oe(`start`,`zoom`,`end`),u,d,f,p=500,m=150,h=0,g=10;function _(e){e.property(`__zoom`,io).on(`wheel.zoom`,w,{passive:!1}).on(`mousedown.zoom`,T).on(`dblclick.zoom`,E).filter(i).on(`touchstart.zoom`,D).on(`touchmove.zoom`,O).on(`touchend.zoom touchcancel.zoom`,k).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}_.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property(`__zoom`,io),e===i?i.interrupt().each(function(){S(this,arguments).event(r).start().zoom(null,typeof t==`function`?t.apply(this,arguments):t).end()}):x(e,t,n,r)},_.scaleBy=function(e,t,n,r){_.scaleTo(e,function(){return this.__zoom.k*(typeof t==`function`?t.apply(this,arguments):t)},n,r)},_.scaleTo=function(e,r,i,a){_.transform(e,function(){var e=t.apply(this,arguments),a=this.__zoom,s=i==null?b(e):typeof i==`function`?i.apply(this,arguments):i,c=a.invert(s),l=typeof r==`function`?r.apply(this,arguments):r;return n(y(v(a,l),s,c),e,o)},i,a)},_.translateBy=function(e,r,i,a){_.transform(e,function(){return n(this.__zoom.translate(typeof r==`function`?r.apply(this,arguments):r,typeof i==`function`?i.apply(this,arguments):i),t.apply(this,arguments),o)},null,a)},_.translateTo=function(e,r,i,a,s){_.transform(e,function(){var e=t.apply(this,arguments),s=this.__zoom,c=a==null?b(e):typeof a==`function`?a.apply(this,arguments):a;return n(Qa.translate(c[0],c[1]).scale(s.k).translate(typeof r==`function`?-r.apply(this,arguments):-r,typeof i==`function`?-i.apply(this,arguments):-i),e,o)},a,s)};function v(e,t){return t=Math.max(a[0],Math.min(a[1],t)),t===e.k?e:new Za(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new Za(e.k,r,i)}function b(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function x(e,n,r,i){e.on(`start.zoom`,function(){S(this,arguments).event(i).start()}).on(`interrupt.zoom end.zoom`,function(){S(this,arguments).event(i).end()}).tween(`zoom`,function(){var e=this,a=arguments,o=S(e,a).event(i),s=t.apply(e,a),l=r==null?b(s):typeof r==`function`?r.apply(e,a):r,u=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),d=e.__zoom,f=typeof n==`function`?n.apply(e,a):n,p=c(d.invert(l).concat(u/d.k),f.invert(l).concat(u/f.k));return function(e){if(e===1)e=f;else{var t=p(e),n=u/t[2];e=new Za(n,l[0]-t[0]*n,l[1]-t[1]*n)}o.zoom(null,e)}})}function S(e,t,n){return!n&&e.__zooming||new C(e,t)}function C(e,n){this.that=e,this.args=n,this.active=0,this.sourceEvent=null,this.extent=t.apply(e,n),this.taps=0}C.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(`start`)),this},zoom:function(e,t){return this.mouse&&e!==`mouse`&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&e!==`touch`&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&e!==`touch`&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(`zoom`),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(`end`)),this},emit:function(e){var t=An(this.that).datum();l.call(e,this.that,new Xa(e,{sourceEvent:this.sourceEvent,target:_,type:e,transform:this.that.__zoom,dispatch:l}),t)}};function w(t,...i){if(!e.apply(this,arguments))return;var s=S(this,i).event(t),c=this.__zoom,l=Math.max(a[0],Math.min(a[1],c.k*2**r.apply(this,arguments))),u=Mn(t);if(s.wheel)(s.mouse[0][0]!==u[0]||s.mouse[0][1]!==u[1])&&(s.mouse[1]=c.invert(s.mouse[0]=u)),clearTimeout(s.wheel);else if(c.k===l)return;else s.mouse=[u,c.invert(u)],Li(this),s.start();to(t),s.wheel=setTimeout(d,m),s.zoom(`mouse`,n(y(v(c,l),s.mouse[0],s.mouse[1]),s.extent,o));function d(){s.wheel=null,s.end()}}function T(t,...r){if(f||!e.apply(this,arguments))return;var i=t.currentTarget,a=S(this,r,!0).event(t),s=An(t.view).on(`mousemove.zoom`,d,!0).on(`mouseup.zoom`,p,!0),c=Mn(t,i),l=t.clientX,u=t.clientY;Ln(t.view),eo(t),a.mouse=[c,this.__zoom.invert(c)],Li(this),a.start();function d(e){if(to(e),!a.moved){var t=e.clientX-l,r=e.clientY-u;a.moved=t*t+r*r>h}a.event(e).zoom(`mouse`,n(y(a.that.__zoom,a.mouse[0]=Mn(e,i),a.mouse[1]),a.extent,o))}function p(e){s.on(`mousemove.zoom mouseup.zoom`,null),Rn(e.view,a.moved),to(e),a.event(e).end()}}function E(r,...i){if(e.apply(this,arguments)){var a=this.__zoom,c=Mn(r.changedTouches?r.changedTouches[0]:r,this),l=a.invert(c),u=a.k*(r.shiftKey?.5:2),d=n(y(v(a,u),c,l),t.apply(this,i),o);to(r),s>0?An(this).transition().duration(s).call(x,d,c,r):An(this).call(_.transform,d,c,r)}}function D(t,...n){if(e.apply(this,arguments)){var r=t.touches,i=r.length,a=S(this,n,t.changedTouches.length===i).event(t),o,s,c,l;for(eo(t),s=0;s<i;++s)c=r[s],l=Mn(c,this),l=[l,this.__zoom.invert(l),c.identifier],a.touch0?!a.touch1&&a.touch0[2]!==l[2]&&(a.touch1=l,a.taps=0):(a.touch0=l,o=!0,a.taps=1+!!u);u&&=clearTimeout(u),o&&(a.taps<2&&(d=l[0],u=setTimeout(function(){u=null},p)),Li(this),a.start())}}function O(e,...t){if(this.__zooming){var r=S(this,t).event(e),i=e.changedTouches,a=i.length,s,c,l,u;for(to(e),s=0;s<a;++s)c=i[s],l=Mn(c,this),r.touch0&&r.touch0[2]===c.identifier?r.touch0[0]=l:r.touch1&&r.touch1[2]===c.identifier&&(r.touch1[0]=l);if(c=r.that.__zoom,r.touch1){var d=r.touch0[0],f=r.touch0[1],p=r.touch1[0],m=r.touch1[1],h=(h=p[0]-d[0])*h+(h=p[1]-d[1])*h,g=(g=m[0]-f[0])*g+(g=m[1]-f[1])*g;c=v(c,Math.sqrt(h/g)),l=[(d[0]+p[0])/2,(d[1]+p[1])/2],u=[(f[0]+m[0])/2,(f[1]+m[1])/2]}else if(r.touch0)l=r.touch0[0],u=r.touch0[1];else return;r.zoom(`touch`,n(y(c,l,u),r.extent,o))}}function k(e,...t){if(this.__zooming){var n=S(this,t).event(e),r=e.changedTouches,i=r.length,a,o;for(eo(e),f&&clearTimeout(f),f=setTimeout(function(){f=null},p),a=0;a<i;++a)o=r[a],n.touch0&&n.touch0[2]===o.identifier?delete n.touch0:n.touch1&&n.touch1[2]===o.identifier&&delete n.touch1;if(n.touch1&&!n.touch0&&(n.touch0=n.touch1,delete n.touch1),n.touch0)n.touch0[1]=this.__zoom.invert(n.touch0[0]);else if(n.end(),n.taps===2&&(o=Mn(o,this),Math.hypot(d[0]-o[0],d[1]-o[1])<g)){var s=An(this).on(`dblclick.zoom`);s&&s.apply(this,arguments)}}}return _.wheelDelta=function(e){return arguments.length?(r=typeof e==`function`?e:Ya(+e),_):r},_.filter=function(t){return arguments.length?(e=typeof t==`function`?t:Ya(!!t),_):e},_.touchable=function(e){return arguments.length?(i=typeof e==`function`?e:Ya(!!e),_):i},_.extent=function(e){return arguments.length?(t=typeof e==`function`?e:Ya([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),_):t},_.scaleExtent=function(e){return arguments.length?(a[0]=+e[0],a[1]=+e[1],_):[a[0],a[1]]},_.translateExtent=function(e){return arguments.length?(o[0][0]=+e[0][0],o[1][0]=+e[1][0],o[0][1]=+e[0][1],o[1][1]=+e[1][1],_):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},_.constrain=function(e){return arguments.length?(n=e,_):n},_.duration=function(e){return arguments.length?(s=+e,_):s},_.interpolate=function(e){return arguments.length?(c=e,_):c},_.on=function(){var e=l.on.apply(l,arguments);return e===l?_:e},_.clickDistance=function(e){return arguments.length?(h=(e=+e)*e,_):Math.sqrt(h)},_.tapDistance=function(e){return arguments.length?(g=+e,_):g},_}var lo={error001:(e=`react`)=>`Seems like you have not used ${e===`svelte`?`SvelteFlowProvider`:`ReactFlowProvider`} as an ancestor. Help: https://${e}flow.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:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>`The 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:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e===`source`?n:r}", edge id: ${t}.`,error010:()=>`Handle: No node id found. Make sure to only use a Handle inside a custom Node.`,error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e=`react`)=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/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.`,error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},uo=[[-1/0,-1/0],[1/0,1/0]],fo=[`Enter`,` `,`Escape`],po={"node.a11yDescription.default":`Press enter or space to select a node. Press delete to remove it and escape to cancel.`,"node.a11yDescription.keyboardDisabled":`Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.`,"node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":`Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.`,"controls.ariaLabel":`Control Panel`,"controls.zoomIn.ariaLabel":`Zoom In`,"controls.zoomOut.ariaLabel":`Zoom Out`,"controls.fitView.ariaLabel":`Fit View`,"controls.interactive.ariaLabel":`Toggle Interactivity`,"minimap.ariaLabel":`Mini Map`,"handle.ariaLabel":`Handle`},mo;(function(e){e.Strict=`strict`,e.Loose=`loose`})(mo||={});var ho;(function(e){e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`})(ho||={});var go;(function(e){e.Partial=`partial`,e.Full=`full`})(go||={});var _o={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},vo;(function(e){e.Bezier=`default`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e.SimpleBezier=`simplebezier`})(vo||={});var yo;(function(e){e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`})(yo||={});var q;(function(e){e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`})(q||={});var bo={[q.Left]:q.Right,[q.Right]:q.Left,[q.Top]:q.Bottom,[q.Bottom]:q.Top},xo=e=>!!e&&typeof e==`object`&&`id`in e&&`source`in e&&`target`in e,So=e=>!!e&&typeof e==`object`&&`id`in e&&`position`in e&&!(`source`in e)&&!(`target`in e),Co=e=>!!e&&typeof e==`object`&&`id`in e&&`internals`in e&&!(`source`in e)&&!(`target`in e),wo=(e,t=[0,0])=>{let{width:n,height:r}=is(e),i=e.origin??t,a=n*i[0],o=r*i[1];return{x:e.position.x-a,y:e.position.y-o}},To=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};let n=!1,r=e.reduce((e,r)=>{let i=typeof r==`string`,a=!t.nodeLookup&&!i?r:void 0;return t.nodeLookup&&(a=i?t.nodeLookup.get(r):Co(r)?r:t.nodeLookup.get(r.id)),a?(n=!0,Ro(e,Ho(a,t.nodeOrigin))):e},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return n?Bo(r):{x:0,y:0,width:0,height:0}},Eo=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(e=>{(t.filter===void 0||t.filter(e))&&(n=Ro(n,Ho(e)),r=!0)}),r?Bo(n):{x:0,y:0,width:0,height:0}},Do=(e,t,[n,r,i]=[0,0,1],a=!1,o=!1)=>{let s=(t.x-n)/i,c=(t.y-r)/i,l=t.width/i,u=t.height/i,d=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:r=!1}=t;if(o&&!n||r)continue;let i=e.width??t.width??t.initialWidth??0,f=e.height??t.height??t.initialHeight??0,{x:p,y:m}=t.internals.positionAbsolute,h=Wo(s,c,l,u,p,m,i,f),g=i*f,_=a&&h>0;(!t.internals.handleBounds||_||h>=g||t.dragging)&&d.push(t)}return d},Oo=(e,t)=>{let n=new Set;return e.forEach(e=>{n.add(e.id)}),t.filter(e=>n.has(e.source)||n.has(e.target))};function ko(e,t){let n=new Map,r=t?.nodes?new Set(t.nodes.map(e=>e.id)):null;return e.forEach(e=>{let i;if(t?.includeHiddenNodes){let{width:t,height:n}=is(e);i=t>0&&n>0}else i=!!(e.measured.width&&e.measured.height&&!e.hidden);i&&(!r||r.has(e.id))&&n.set(e.id,e)}),n}async function Ao({nodes:e,width:t,height:n,panZoom:r,minZoom:i,maxZoom:a},o){if(e.size===0)return!0;let s=ts(Eo(ko(e,o)),t,n,o?.minZoom??i,o?.maxZoom??a,o?.padding??.1);return await r.setViewport(s,{duration:o?.duration,ease:o?.ease,interpolate:o?.interpolate}),!0}function jo({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:i,onError:a}){let o=n.get(e),s=o.parentId?n.get(o.parentId):void 0,{x:c,y:l}=s?s.internals.positionAbsolute:{x:0,y:0},u=o.origin??r,d=o.extent||i;if(o.extent===`parent`&&!o.expandParent)if(!s)a?.(`005`,lo.error005());else{let{width:e,height:t}=is(s);e&&t&&(d=[[c,l],[c+e,l+t]])}else s&&rs(o.extent)&&(d=[[o.extent[0][0]+c,o.extent[0][1]+l],[o.extent[1][0]+c,o.extent[1][1]+l]]);let f=rs(d)?Po(t,d,o.measured):t;return(o.measured.width===void 0||o.measured.height===void 0)&&a?.(`015`,lo.error015()),{position:{x:f.x-c+(o.measured.width??0)*u[0],y:f.y-l+(o.measured.height??0)*u[1]},positionAbsolute:f}}async function Mo({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:i}){let a=new Set(e.map(e=>e.id)),o=[];for(let e of n){if(e.deletable===!1)continue;let t=a.has(e.id),n=!t&&e.parentId&&o.find(t=>t.id===e.parentId);(t||n)&&o.push(e)}let s=new Set(t.map(e=>e.id)),c=r.filter(e=>e.deletable!==!1),l=Oo(o,c);for(let e of c)s.has(e.id)&&!l.find(t=>t.id===e.id)&&l.push(e);if(!i)return{edges:l,nodes:o};let u=await i({nodes:o,edges:l});return typeof u==`boolean`?u?{edges:l,nodes:o}:{edges:[],nodes:[]}:u}var No=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Po=(e={x:0,y:0},t,n)=>({x:No(e.x,t[0][0],t[1][0]-(n?.width??0)),y:No(e.y,t[0][1],t[1][1]-(n?.height??0))});function Fo(e,t,n){let{width:r,height:i}=is(n),{x:a,y:o}=n.internals.positionAbsolute;return Po(e,[[a,o],[a+r,o+i]],t)}var Io=(e,t,n)=>e<t?No(Math.abs(e-t),1,t)/t:e>n?-No(Math.abs(e-n),1,t)/t:0,Lo=(e,t,n=15,r=40)=>[Io(e.x,r,t.width-r)*n,Io(e.y,r,t.height-r)*n],Ro=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),zo=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),Bo=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Vo=(e,t=[0,0])=>{let{x:n,y:r}=Co(e)?e.internals.positionAbsolute:wo(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},Ho=(e,t=[0,0])=>{let{x:n,y:r}=Co(e)?e.internals.positionAbsolute:wo(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},Uo=(e,t)=>Bo(Ro(zo(e),zo(t))),Wo=(e,t,n,r,i,a,o,s)=>{let c=Math.max(0,Math.min(e+n,i+o)-Math.max(e,i)),l=Math.max(0,Math.min(t+r,a+s)-Math.max(t,a));return Math.ceil(c*l)},Go=(e,t)=>Wo(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),Ko=e=>qo(e.width)&&qo(e.height)&&qo(e.x)&&qo(e.y),qo=e=>!isNaN(e)&&isFinite(e),Jo=(e,t)=>(e,t)=>{},Yo=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Xo=({x:e,y:t},[n,r,i],a=!1,o=[1,1])=>{let s={x:(e-n)/i,y:(t-r)/i};return a?Yo(s,o):s},Zo=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r});function Qo(e,t){if(typeof e==`number`)return Math.floor((t-t/(1+e))*.5);if(typeof e==`string`&&e.endsWith(`px`)){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if(typeof e==`string`&&e.endsWith(`%`)){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function $o(e,t,n){if(typeof e==`string`||typeof e==`number`){let r=Qo(e,n),i=Qo(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e==`object`){let r=Qo(e.top??e.y??0,n),i=Qo(e.bottom??e.y??0,n),a=Qo(e.left??e.x??0,t),o=Qo(e.right??e.x??0,t);return{top:r,right:o,bottom:i,left:a,x:a+o,y:r+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function es(e,t,n,r,i,a){let{x:o,y:s}=Zo(e,[t,n,r]),{x:c,y:l}=Zo({x:e.x+e.width,y:e.y+e.height},[t,n,r]),u=i-c,d=a-l;return{left:Math.floor(o),top:Math.floor(s),right:Math.floor(u),bottom:Math.floor(d)}}var ts=(e,t,n,r,i,a)=>{let o=$o(a,t,n),s=(t-o.x)/e.width,c=(n-o.y)/e.height,l=No(Math.min(s,c),r,i),u=e.x+e.width/2,d=e.y+e.height/2,f=t/2-u*l,p=n/2-d*l,m=es(e,f,p,l,t,n),h={left:Math.min(m.left-o.left,0),top:Math.min(m.top-o.top,0),right:Math.min(m.right-o.right,0),bottom:Math.min(m.bottom-o.bottom,0)};return{x:f-h.left+h.right,y:p-h.top+h.bottom,zoom:l}},ns=()=>typeof navigator<`u`&&navigator?.userAgent?.indexOf(`Mac`)>=0;function rs(e){return e!=null&&e!==`parent`}function is(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function as(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function os(e,t={width:0,height:0},n,r,i){let a={...e},o=r.get(n);if(o){let e=o.origin||i;a.x+=o.internals.positionAbsolute.x-(t.width??0)*e[0],a.y+=o.internals.positionAbsolute.y-(t.height??0)*e[1]}return a}function ss(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function cs(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function ls(e){return{...po,...e||{}}}function us(e){return e===null?null:e?`valid`:`invalid`}function ds(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){let{x:a,y:o}=_s(e),s=Xo({x:a-(i?.left??0),y:o-(i?.top??0)},r),{x:c,y:l}=n?Yo(s,t):s;return{xSnapped:c,ySnapped:l,...s}}var fs=e=>({width:e.offsetWidth,height:e.offsetHeight}),ps=e=>e?.getRootNode?.()||window?.document,ms=[`INPUT`,`SELECT`,`TEXTAREA`];function hs(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1?ms.includes(t.nodeName)||t.hasAttribute(`contenteditable`)||!!t.closest(`.nokey`):!1}var gs=e=>`clientX`in e,_s=(e,t)=>{let n=gs(e),r=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:i-(t?.top??0)}},vs=(e,t,n,r,i)=>{let a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(t=>{let a=t.getBoundingClientRect();return{id:t.getAttribute(`data-handleid`),type:e,nodeId:i,position:t.getAttribute(`data-handlepos`),x:(a.left-n.left)/r,y:(a.top-n.top)/r,...fs(t)}})};function ys({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:o,targetControlY:s}){let c=e*.125+i*.375+o*.375+n*.125,l=t*.125+a*.375+s*.375+r*.125;return[c,l,Math.abs(c-e),Math.abs(l-t)]}function bs(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function xs({pos:e,x1:t,y1:n,x2:r,y2:i,c:a}){switch(e){case q.Left:return[t-bs(t-r,a),n];case q.Right:return[t+bs(r-t,a),n];case q.Top:return[t,n-bs(n-i,a)];case q.Bottom:return[t,n+bs(i-n,a)]}}function Ss({sourceX:e,sourceY:t,sourcePosition:n=q.Bottom,targetX:r,targetY:i,targetPosition:a=q.Top,curvature:o=.25}){let[s,c]=xs({pos:n,x1:e,y1:t,x2:r,y2:i,c:o}),[l,u]=xs({pos:a,x1:r,y1:i,x2:e,y2:t,c:o}),[d,f,p,m]=ys({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:c,targetControlX:l,targetControlY:u});return[`M${e},${t} C${s},${c} ${l},${u} ${r},${i}`,d,f,p,m]}function Cs({sourceX:e,sourceY:t,targetX:n,targetY:r}){let i=Math.abs(n-e)/2,a=n<e?n+i:n-i,o=Math.abs(r-t)/2;return[a,r<t?r+o:r-o,i,o]}function ws({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:i=!1,zIndexMode:a=`basic`}){return a===`manual`?r:(i&&n?r+1e3:r)+Math.max(e.parentId||i&&e.selected?e.internals.z:0,t.parentId||i&&t.selected?t.internals.z:0)}function Ts({sourceNode:e,targetNode:t,width:n,height:r,transform:i}){let a=Ro(Ho(e),Ho(t));return a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1),Go({x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:r/i[2]},Bo(a))>0}var Es=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||``}-${n}${r||``}`,Ds=(e,t)=>t.some(t=>t.source===e.source&&t.target===e.target&&(t.sourceHandle===e.sourceHandle||!t.sourceHandle&&!e.sourceHandle)&&(t.targetHandle===e.targetHandle||!t.targetHandle&&!e.targetHandle)),Os=(e,t,n={})=>{if(!e.source||!e.target)return n.onError?.(`006`,lo.error006()),t;let r=n.getEdgeId||Es,i;return i=xo(e)?{...e}:{...e,id:r(e)},Ds(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))};function ks({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[i,a,o,s]=Cs({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,a,o,s]}var As={[q.Left]:{x:-1,y:0},[q.Right]:{x:1,y:0},[q.Top]:{x:0,y:-1},[q.Bottom]:{x:0,y:1}},js=({source:e,sourcePosition:t=q.Bottom,target:n})=>t===q.Left||t===q.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},Ms=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2);function Ns({source:e,sourcePosition:t=q.Bottom,target:n,targetPosition:r=q.Top,center:i,offset:a,stepPosition:o}){let s=As[t],c=As[r],l={x:e.x+s.x*a,y:e.y+s.y*a},u={x:n.x+c.x*a,y:n.y+c.y*a},d=js({source:l,sourcePosition:t,target:u}),f=d.x===0?`y`:`x`,p=d[f],m=[],h,g,_={x:0,y:0},v={x:0,y:0},[,,y,b]=Cs({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*c[f]===-1){f===`x`?(h=i.x??l.x+(u.x-l.x)*o,g=i.y??(l.y+u.y)/2):(h=i.x??(l.x+u.x)/2,g=i.y??l.y+(u.y-l.y)*o);let e=[{x:h,y:l.y},{x:h,y:u.y}],t=[{x:l.x,y:g},{x:u.x,y:g}];m=s[f]===p?f===`x`?e:t:f===`x`?t:e}else{let i=[{x:l.x,y:u.y}],o=[{x:u.x,y:l.y}];if(m=f===`x`?s.x===p?o:i:s.y===p?i:o,t===r){let t=Math.abs(e[f]-n[f]);if(t<=a){let r=Math.min(a-1,a-t);s[f]===p?_[f]=(l[f]>e[f]?-1:1)*r:v[f]=(u[f]>n[f]?-1:1)*r}}if(t!==r){let e=f===`x`?`y`:`x`,t=s[f]===c[e],n=l[e]>u[e],r=l[e]<u[e];(s[f]===1&&(!t&&n||t&&r)||s[f]!==1&&(!t&&r||t&&n))&&(m=f===`x`?i:o)}let d={x:l.x+_.x,y:l.y+_.y},y={x:u.x+v.x,y:u.y+v.y};Math.max(Math.abs(d.x-m[0].x),Math.abs(y.x-m[0].x))>=Math.max(Math.abs(d.y-m[0].y),Math.abs(y.y-m[0].y))?(h=(d.x+y.x)/2,g=m[0].y):(h=m[0].x,g=(d.y+y.y)/2)}let x={x:l.x+_.x,y:l.y+_.y},S={x:u.x+v.x,y:u.y+v.y};return[[e,...x.x!==m[0].x||x.y!==m[0].y?[x]:[],...m,...S.x!==m[m.length-1].x||S.y!==m[m.length-1].y?[S]:[],n],h,g,y,b]}function Ps(e,t,n,r){let i=Math.min(Ms(e,t)/2,Ms(t,n)/2,r),{x:a,y:o}=t;if(e.x===a&&a===n.x||e.y===o&&o===n.y)return`L${a} ${o}`;if(e.y===o){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${a+i*t},${o}Q ${a},${o} ${a},${o+i*r}`}let s=e.x<n.x?1:-1;return`L ${a},${o+i*(e.y<n.y?-1:1)}Q ${a},${o} ${a+i*s},${o}`}function Fs({sourceX:e,sourceY:t,sourcePosition:n=q.Bottom,targetX:r,targetY:i,targetPosition:a=q.Top,borderRadius:o=5,centerX:s,centerY:c,offset:l=20,stepPosition:u=.5}){let[d,f,p,m,h]=Ns({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:a,center:{x:s,y:c},offset:l,stepPosition:u}),g=`M${d[0].x} ${d[0].y}`;for(let e=1;e<d.length-1;e++)g+=Ps(d[e-1],d[e],d[e+1],o);return g+=`L${d[d.length-1].x} ${d[d.length-1].y}`,[g,f,p,m,h]}function Is(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function Ls(e){let{sourceNode:t,targetNode:n}=e;if(!Is(t)||!Is(n))return null;let r=t.internals.handleBounds||Rs(t.handles),i=n.internals.handleBounds||Rs(n.handles),a=Bs(r?.source??[],e.sourceHandle),o=Bs(e.connectionMode===mo.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),e.targetHandle);if(!a||!o)return e.onError?.(`008`,lo.error008(a?`target`:`source`,{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let s=a?.position||q.Bottom,c=o?.position||q.Top,l=zs(t,a,s),u=zs(n,o,c);return{sourceX:l.x,sourceY:l.y,targetX:u.x,targetY:u.y,sourcePosition:s,targetPosition:c}}function Rs(e){if(!e)return null;let t=[],n=[];for(let r of e)r.width=r.width??1,r.height=r.height??1,r.type===`source`?t.push(r):r.type===`target`&&n.push(r);return{source:t,target:n}}function zs(e,t,n=q.Left,r=!1){let i=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:o,height:s}=t??is(e);if(r)return{x:i+o/2,y:a+s/2};switch(t?.position??n){case q.Top:return{x:i+o/2,y:a};case q.Right:return{x:i+o,y:a+s/2};case q.Bottom:return{x:i+o/2,y:a+s};case q.Left:return{x:i,y:a+s/2}}}function Bs(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function Vs(e,t){return e?typeof e==`string`?e:`${t?`${t}__`:``}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join(`&`)}`:``}function Hs(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:i}){let a=new Set;return e.reduce((e,o)=>([o.markerStart||r,o.markerEnd||i].forEach(r=>{if(r&&typeof r==`object`){let i=Vs(r,t);a.has(i)||(e.push({id:i,color:r.color||n,...r}),a.add(i))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}var Us=1e3,Ws=10,Gs={nodeOrigin:[0,0],nodeExtent:uo,elevateNodesOnSelect:!0,zIndexMode:`basic`,defaults:{}},Ks={...Gs,checkEquality:!0};function qs(e,t){let n={...e};for(let e in t)t[e]!==void 0&&(n[e]=t[e]);return n}function Js(e,t,n){let r=qs(Gs,n);for(let n of e.values())if(n.parentId)$s(n,e,t,r);else{let e=Po(wo(n,r.nodeOrigin),rs(n.extent)?n.extent:r.nodeExtent,is(n));n.internals.positionAbsolute=e}}function Ys(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],r=[];for(let t of e.handles){let i={id:t.id,width:t.width??1,height:t.height??1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};t.type===`source`?n.push(i):t.type===`target`&&r.push(i)}return{source:n,target:r}}function Xs(e){return e===`manual`}function Zs(e,t,n,r={}){let i=qs(Ks,r),a={i:0},o=new Map(t),s=i?.elevateNodesOnSelect&&!Xs(i.zIndexMode)?Us:0,c=e.length>0,l=!1;t.clear(),n.clear();for(let u of e){let e=o.get(u.id);if(i.checkEquality&&u===e?.internals.userNode)t.set(u.id,e);else{let n=Po(wo(u,i.nodeOrigin),rs(u.extent)?u.extent:i.nodeExtent,is(u));e={...i.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:n,handleBounds:Ys(u,e),z:ec(u,s,i.zIndexMode),userNode:u}},t.set(u.id,e)}(e.measured===void 0||e.measured.width===void 0||e.measured.height===void 0)&&!e.hidden&&(c=!1),u.parentId&&$s(e,t,n,r,a),l||=u.selected??!1}return{nodesInitialized:c,hasSelectedNodes:l}}function Qs(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function $s(e,t,n,r,i){let{elevateNodesOnSelect:a,nodeOrigin:o,nodeExtent:s,zIndexMode:c}=qs(Gs,r),l=e.parentId,u=t.get(l);if(!u){console.warn(`Parent node ${l} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Qs(e,n),i&&!u.parentId&&u.internals.rootParentIndex===void 0&&c===`auto`&&(u.internals.rootParentIndex=++i.i,u.internals.z=u.internals.z+i.i*Ws),i&&u.internals.rootParentIndex!==void 0&&(i.i=u.internals.rootParentIndex);let{x:d,y:f,z:p}=tc(e,u,o,s,a&&!Xs(c)?Us:0,c),{positionAbsolute:m}=e.internals,h=d!==m.x||f!==m.y;(h||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:h?{x:d,y:f}:m,z:p}})}function ec(e,t,n){let r=qo(e.zIndex)?e.zIndex:0;return Xs(n)?r:r+(e.selected?t:0)}function tc(e,t,n,r,i,a){let{x:o,y:s}=t.internals.positionAbsolute,c=is(e),l=wo(e,n),u=rs(e.extent)?Po(l,e.extent,c):l,d=Po({x:o+u.x,y:s+u.y},r,c);e.extent===`parent`&&(d=Fo(d,c,t));let f=ec(e,i,a),p=t.internals.z??0;return{x:d.x,y:d.y,z:p>=f?p+1:f}}function nc(e,t,n,r=[0,0]){let i=[],a=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let r=Uo(a.get(n.parentId)?.expandedRect??Vo(e),n.rect);a.set(n.parentId,{expandedRect:r,parent:e})}return a.size>0&&a.forEach(({expandedRect:t,parent:a},o)=>{let s=a.internals.positionAbsolute,c=is(a),l=a.origin??r,u=t.x<s.x?Math.round(Math.abs(s.x-t.x)):0,d=t.y<s.y?Math.round(Math.abs(s.y-t.y)):0,f=Math.max(c.width,Math.round(t.width)),p=Math.max(c.height,Math.round(t.height)),m=(f-c.width)*l[0],h=(p-c.height)*l[1];(u>0||d>0||m||h)&&(i.push({id:o,type:`position`,position:{x:a.position.x-u+m,y:a.position.y-d+h}}),n.get(o)?.forEach(t=>{e.some(e=>e.id===t.id)||i.push({id:t.id,type:`position`,position:{x:t.position.x+u,y:t.position.y+d}})})),(c.width<t.width||c.height<t.height||u||d)&&i.push({id:o,type:`dimensions`,setAttributes:!0,dimensions:{width:f+(u?l[0]*u-m:0),height:p+(d?l[1]*d-h:0)}})}),i}function rc(e,t,n,r,i,a,o){let s=r?.querySelector(`.xyflow__viewport`),c=!1;if(!s)return{changes:[],updatedInternals:c};let l=[],u=window.getComputedStyle(s),{m22:d}=new window.DOMMatrixReadOnly(u.transform),f=[];for(let r of e.values()){let e=t.get(r.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),c=!0;continue}let s=fs(r.nodeElement),u=e.measured.width!==s.width||e.measured.height!==s.height;if(s.width&&s.height&&(u||!e.internals.handleBounds||r.force)){let p=r.nodeElement.getBoundingClientRect(),m=rs(e.extent)?e.extent:a,{positionAbsolute:h}=e.internals;if(e.parentId&&e.extent===`parent`){let n=t.get(e.parentId);n&&(h=Fo(h,s,n))}else m&&(h=Po(h,m,s));let g={...e,measured:s,internals:{...e.internals,positionAbsolute:h,handleBounds:{source:vs(`source`,r.nodeElement,p,d,e.id),target:vs(`target`,r.nodeElement,p,d,e.id)}}};t.set(e.id,g),e.parentId&&$s(g,t,n,{nodeOrigin:i,zIndexMode:o}),c=!0,u&&(l.push({id:e.id,type:`dimensions`,dimensions:s}),e.expandParent&&e.parentId&&f.push({id:e.id,parentId:e.parentId,rect:Vo(g,i)}))}}if(f.length>0){let e=nc(f,t,n,i);l.push(...e)}return{changes:l,updatedInternals:c}}async function ic({delta:e,panZoom:t,transform:n,translateExtent:r,width:i,height:a}){if(!t||!e.x&&!e.y)return!1;let o=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,a]],r);return!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2])}function ac(e,t,n,r,i,a){let o=i,s=r.get(o)||new Map;r.set(o,s.set(n,t)),o=`${i}-${e}`;let c=r.get(o)||new Map;if(r.set(o,c.set(n,t)),a){o=`${i}-${e}-${a}`;let s=r.get(o)||new Map;r.set(o,s.set(n,t))}}function oc(e,t,n){e.clear(),t.clear();for(let r of n){let{source:n,target:i,sourceHandle:a=null,targetHandle:o=null}=r,s={edgeId:r.id,source:n,target:i,sourceHandle:a,targetHandle:o},c=`${n}-${a}--${i}-${o}`;ac(`source`,s,`${i}-${o}--${n}-${a}`,e,n,a),ac(`target`,s,c,e,i,o),t.set(r.id,r)}}function sc(e,t){if(!e.parentId)return!1;let n=t.get(e.parentId);return n?n.selected?!0:sc(n,t):!1}function cc(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function lc(e,t,n,r){let i=new Map;for(let[a,o]of e)if((o.selected||o.id===r)&&(!o.parentId||!sc(o,e))&&(o.draggable||t&&o.draggable===void 0)){let t=e.get(a);t&&i.set(a,{id:a,position:t.position||{x:0,y:0},distance:{x:n.x-t.internals.positionAbsolute.x,y:n.y-t.internals.positionAbsolute.y},extent:t.extent,parentId:t.parentId,origin:t.origin,expandParent:t.expandParent,internals:{positionAbsolute:t.internals.positionAbsolute||{x:0,y:0}},measured:{width:t.measured.width??0,height:t.measured.height??0}})}return i}function uc({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){let i=[];for(let[e,a]of t){let t=n.get(e)?.internals.userNode;t&&i.push({...t,position:a.position,dragging:r})}if(!e)return[i[0],i];let a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:i[0],i]}function dc({dragItems:e,snapGrid:t,x:n,y:r}){let i=e.values().next().value;if(!i)return null;let a={x:n-i.distance.x,y:r-i.distance.y},o=Yo(a,t);return{x:o.x-a.x,y:o.y-a.y}}function fc({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:i}){let a={x:null,y:null},o=0,s=new Map,c=!1,l={x:0,y:0},u=null,d=!1,f=null,p=!1,m=!1,h=null;function g({noDragClassName:g,handleSelector:_,domNode:v,isSelectable:y,nodeId:b,nodeClickDistance:x=0}){f=An(v);function S({x:e,y:n}){let{nodeLookup:i,nodeExtent:o,snapGrid:c,snapToGrid:l,nodeOrigin:u,onNodeDrag:d,onSelectionDrag:f,onError:p,updateNodePositions:g}=t();a={x:e,y:n};let _=!1,v=s.size>1,y=v&&o?zo(Eo(s)):null,x=v&&l?dc({dragItems:s,snapGrid:c,x:e,y:n}):null;for(let[t,r]of s){if(!i.has(t))continue;let a={x:e-r.distance.x,y:n-r.distance.y};l&&(a=x?{x:Math.round(a.x+x.x),y:Math.round(a.y+x.y)}:Yo(a,c));let s=null;if(v&&o&&!r.extent&&y){let{positionAbsolute:e}=r.internals,t=e.x-y.x+o[0][0],n=e.x+r.measured.width-y.x2+o[1][0],i=e.y-y.y+o[0][1],a=e.y+r.measured.height-y.y2+o[1][1];s=[[t,i],[n,a]]}let{position:d,positionAbsolute:f}=jo({nodeId:t,nextPosition:a,nodeLookup:i,nodeExtent:s||o,nodeOrigin:u,onError:p});_=_||r.position.x!==d.x||r.position.y!==d.y,r.position=d,r.internals.positionAbsolute=f}if(m||=_,_&&(g(s,!0),h&&(r||d||!b&&f))){let[e,t]=uc({nodeId:b,dragItems:s,nodeLookup:i});r?.(h,s,e,t),d?.(h,e,t),b||f?.(h,t)}}async function C(){if(!u)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:i}=t();if(!i){c=!1,cancelAnimationFrame(o);return}let[s,d]=Lo(l,u,r);(s!==0||d!==0)&&(a.x=(a.x??0)-s/e[2],a.y=(a.y??0)-d/e[2],await n({x:s,y:d})&&S(a)),o=requestAnimationFrame(C)}function w(r){let{nodeLookup:i,multiSelectionActive:o,nodesDraggable:c,transform:l,snapGrid:f,snapToGrid:p,selectNodesOnDrag:m,onNodeDragStart:h,onSelectionDragStart:g,unselectNodesAndEdges:_}=t();d=!0,(!m||!y)&&!o&&b&&(i.get(b)?.selected||_()),y&&m&&b&&e?.(b);let v=ds(r.sourceEvent,{transform:l,snapGrid:f,snapToGrid:p,containerBounds:u});if(a=v,s=lc(i,c,v,b),s.size>0&&(n||h||!b&&g)){let[e,t]=uc({nodeId:b,dragItems:s,nodeLookup:i});n?.(r.sourceEvent,s,e,t),h?.(r.sourceEvent,e,t),b||g?.(r.sourceEvent,t)}}let T=Gn().clickDistance(x).on(`start`,e=>{let{domNode:n,nodeDragThreshold:r,transform:i,snapGrid:o,snapToGrid:s}=t();u=n?.getBoundingClientRect()||null,p=!1,m=!1,h=e.sourceEvent,r===0&&w(e),a=ds(e.sourceEvent,{transform:i,snapGrid:o,snapToGrid:s,containerBounds:u}),l=_s(e.sourceEvent,u)}).on(`drag`,e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:i,snapToGrid:o,nodeDragThreshold:f,nodeLookup:m}=t(),g=ds(e.sourceEvent,{transform:r,snapGrid:i,snapToGrid:o,containerBounds:u});if(h=e.sourceEvent,(e.sourceEvent.type===`touchmove`&&e.sourceEvent.touches.length>1||b&&!m.has(b))&&(p=!0),!p){if(!c&&n&&d&&(c=!0,C()),!d){let t=_s(e.sourceEvent,u),n=t.x-l.x,r=t.y-l.y;Math.sqrt(n*n+r*r)>f&&w(e)}(a.x!==g.xSnapped||a.y!==g.ySnapped)&&s&&d&&(l=_s(e.sourceEvent,u),S(g))}}).on(`end`,e=>{if(!d||p){p&&s.size>0&&t().updateNodePositions(s,!1);return}if(c=!1,d=!1,cancelAnimationFrame(o),s.size>0){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:a,onSelectionDragStop:o}=t();if(m&&=(r(s,!1),!1),i||a||!b&&o){let[t,r]=uc({nodeId:b,dragItems:s,nodeLookup:n,dragging:!1});i?.(e.sourceEvent,s,t,r),a?.(e.sourceEvent,t,r),b||o?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!g||!cc(t,`.${g}`,v))&&(!_||cc(t,_,v))});f.call(T)}function _(){f?.on(`.drag`,null)}return{update:g,destroy:_}}function pc(e,t,n){let r=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(let e of t.values())Go(i,Vo(e))>0&&r.push(e);return r}var mc=250;function hc(e,t,n,r){let i=[],a=1/0,o=pc(e,n,t+mc);for(let n of o){let o=[...n.internals.handleBounds?.source??[],...n.internals.handleBounds?.target??[]];for(let s of o){if(r.nodeId===s.nodeId&&r.type===s.type&&r.id===s.id)continue;let{x:o,y:c}=zs(n,s,s.position,!0),l=Math.sqrt((o-e.x)**2+(c-e.y)**2);l>t||(l<a?(i=[{...s,x:o,y:c}],a=l):l===a&&i.push({...s,x:o,y:c}))}}if(!i.length)return null;if(i.length>1){let e=r.type===`source`?`target`:`source`;return i.find(t=>t.type===e)??i[0]}return i[0]}function gc(e,t,n,r,i,a=!1){let o=r.get(e);if(!o)return null;let s=i===`strict`?o.internals.handleBounds?.[t]:[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]],c=(n?s?.find(e=>e.id===n):s?.[0])??null;return c&&a?{...c,...zs(o,c,c.position,!0)}:c}function _c(e,t){return e||(t?.classList.contains(`target`)?`target`:t?.classList.contains(`source`)?`source`:null)}function vc(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}var yc=()=>!0;function bc(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:i,edgeUpdaterType:a,isTarget:o,domNode:s,nodeLookup:c,lib:l,autoPanOnConnect:u,flowId:d,panBy:f,cancelConnection:p,onConnectStart:m,onConnect:h,onConnectEnd:g,isValidConnection:_=yc,onReconnectEnd:v,updateConnection:y,getTransform:b,getFromHandle:x,autoPanSpeed:S,dragThreshold:C=1,handleDomNode:w}){let T=ps(e.target),E=0,D,{x:O,y:k}=_s(e),A=_c(a,w),j=s?.getBoundingClientRect(),M=!1;if(!j||!A)return;let N=gc(i,A,r,c,t);if(!N)return;let P=_s(e,j),F=!1,I=null,ee=!1,L=null;function te(){if(!u||!j)return;let[e,t]=Lo(P,j,S);f({x:e,y:t}),E=requestAnimationFrame(te)}let R={...N,nodeId:i,type:A,position:N.position},z=c.get(i),ne={inProgress:!0,isValid:null,from:zs(z,R,q.Left,!0),fromHandle:R,fromPosition:R.position,fromNode:z,to:P,toHandle:null,toPosition:bo[R.position],toNode:null,pointer:P};function re(){M=!0,y(ne),m?.(e,{nodeId:i,handleId:r,handleType:A})}C===0&&re();function ie(e){if(!M){let{x:t,y:n}=_s(e),r=t-O,i=n-k;if(!(r*r+i*i>C*C))return;re()}if(!x()||!R){ae(e);return}let a=b();P=_s(e,j),D=hc(Xo(P,a,!1,[1,1]),n,c,R),F||=(te(),!0);let s=xc(e,{handle:D,connectionMode:t,fromNodeId:i,fromHandleId:r,fromType:o?`target`:`source`,isValidConnection:_,doc:T,lib:l,flowId:d,nodeLookup:c});L=s.handleDomNode,I=s.connection,ee=vc(!!D,s.isValid);let u=c.get(i),f=u?zs(u,R,q.Left,!0):ne.from,p={...ne,from:f,isValid:ee,to:s.toHandle&&ee?Zo({x:s.toHandle.x,y:s.toHandle.y},a):P,toHandle:s.toHandle,toPosition:ee&&s.toHandle?s.toHandle.position:bo[R.position],toNode:s.toHandle?c.get(s.toHandle.nodeId):null,pointer:P};y(p),ne=p}function ae(e){if(!(`touches`in e&&e.touches.length>0)){if(M){(D||L)&&I&&ee&&h?.(I);let{inProgress:t,...n}=ne,r={...n,toPosition:ne.toHandle?ne.toPosition:null};g?.(e,r),a&&v?.(e,r)}p(),cancelAnimationFrame(E),F=!1,ee=!1,I=null,L=null,T.removeEventListener(`mousemove`,ie),T.removeEventListener(`mouseup`,ae),T.removeEventListener(`touchmove`,ie),T.removeEventListener(`touchend`,ae)}}T.addEventListener(`mousemove`,ie),T.addEventListener(`mouseup`,ae),T.addEventListener(`touchmove`,ie),T.addEventListener(`touchend`,ae)}function xc(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:a,doc:o,lib:s,flowId:c,isValidConnection:l=yc,nodeLookup:u}){let d=a===`target`,f=t?o.querySelector(`.${s}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:p,y:m}=_s(e),h=o.elementFromPoint(p,m),g=h?.classList.contains(`${s}-flow__handle`)?h:f,_={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let e=_c(void 0,g),t=g.getAttribute(`data-nodeid`),a=g.getAttribute(`data-handleid`),o=g.classList.contains(`connectable`),s=g.classList.contains(`connectableend`);if(!t||!e)return _;let c={source:d?t:r,sourceHandle:d?a:i,target:d?r:t,targetHandle:d?i:a};_.connection=c,_.isValid=o&&s&&(n===mo.Strict?d&&e===`source`||!d&&e===`target`:t!==r||a!==i)&&l(c),_.toHandle=gc(t,e,a,u,n,!0)}return _}var Sc={onPointerDown:bc,isValid:xc};function Cc({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){let i=An(e);function a({translateExtent:e,width:a,height:o,zoomStep:s=1,pannable:c=!0,zoomable:l=!0,inversePan:u=!1}){let d=e=>{if(e.sourceEvent.type!==`wheel`||!t)return;let r=n(),i=e.sourceEvent.ctrlKey&&ns()?10:1,a=-e.sourceEvent.deltaY*(e.sourceEvent.deltaMode===1?.05:e.sourceEvent.deltaMode?1:.002)*s,o=r[2]*2**(a*i);t.scaleTo(o)},f=[0,0],p=co().on(`start`,e=>{(e.sourceEvent.type===`mousedown`||e.sourceEvent.type===`touchstart`)&&(f=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on(`zoom`,c?i=>{let s=n();if(i.sourceEvent.type!==`mousemove`&&i.sourceEvent.type!==`touchmove`||!t)return;let c=[i.sourceEvent.clientX??i.sourceEvent.touches[0].clientX,i.sourceEvent.clientY??i.sourceEvent.touches[0].clientY],l=[c[0]-f[0],c[1]-f[1]];f=c;let d=r()*Math.max(s[2],Math.log(s[2]))*(u?-1:1),p={x:s[0]-l[0]*d,y:s[1]-l[1]*d},m=[[0,0],[a,o]];t.setViewportConstrained({x:p.x,y:p.y,zoom:s[2]},m,e)}:null).on(`zoom.wheel`,l?d:null);i.call(p,{})}function o(){i.on(`zoom`,null)}return{update:a,destroy:o,pointer:Mn}}var wc=e=>({x:e.x,y:e.y,zoom:e.k}),Tc=({x:e,y:t,zoom:n})=>Qa.translate(e,t).scale(n),Ec=(e,t)=>e.target.closest(`.${t}`),Dc=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Oc=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,kc=(e,t=0,n=Oc,r=()=>{})=>{let i=typeof t==`number`&&t>0;return i||r(),i?e.transition().duration(t).ease(n).on(`end`,r):e},Ac=e=>{let t=e.ctrlKey&&ns()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function jc({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:o,onPanZoomStart:s,onPanZoom:c,onPanZoomEnd:l}){return u=>{if(Ec(u,t))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();let d=n.property(`__zoom`).k||1;if(u.ctrlKey&&o){let e=Mn(u),t=d*2**Ac(u);r.scaleTo(n,t,e,u);return}let f=u.deltaMode===1?20:1,p=i===ho.Vertical?0:u.deltaX*f,m=i===ho.Horizontal?0:u.deltaY*f;!ns()&&u.shiftKey&&i!==ho.Vertical&&(p=u.deltaY*f,m=0),r.translateBy(n,-(p/d)*a,-(m/d)*a,{internal:!0});let h=wc(n.property(`__zoom`));clearTimeout(e.panScrollTimeout),e.isPanScrolling?c?.(u,h):(e.isPanScrolling=!0,s?.(u,h)),e.panScrollTimeout=setTimeout(()=>{l?.(u,h),e.isPanScrolling=!1},150)}}function Mc({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,i){let a=r.type===`wheel`,o=!t&&a&&!r.ctrlKey,s=Ec(r,e);if(r.ctrlKey&&a&&s&&r.preventDefault(),o||s)return null;r.preventDefault(),n.call(this,r,i)}}function Nc({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let i=wc(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=i,r.sourceEvent?.type===`mousedown`&&t(!0),n&&n?.(r.sourceEvent,i)}}function Pc({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return a=>{e.usedRightMouseButton=!!(n&&Dc(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),i&&!a.sourceEvent?.internal&&i?.(a.sourceEvent,wc(a.transform))}}function Fc({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:a}){return o=>{if(!o.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&Dc(t,e.mouseButton??0)&&!e.usedRightMouseButton&&o.sourceEvent&&a(o.sourceEvent),e.usedRightMouseButton=!1,r(!1),i)){let t=wc(o.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i?.(o.sourceEvent,t)},n?150:0)}}}function Ic({panActivationKeyPressed:e,zoomActivationKeyPressed:t,zoomOnScroll:n,zoomOnPinch:r,panOnDrag:i,panOnScroll:a,zoomOnDoubleClick:o,userSelectionActive:s,noWheelClassName:c,noPanClassName:l,lib:u,connectionInProgress:d}){return f=>{let p=t||n,m=r&&f.ctrlKey,h=f.type===`wheel`;if(f.button===1&&f.type===`mousedown`&&(Ec(f,`${u}-flow__node`)||Ec(f,`${u}-flow__edge`)||Ec(f,`${u}-flow__selection`)||Ec(f,`${u}-flow__nodesselection`)))return!0;if(!i&&!p&&!a&&!o&&!r||s||d&&!h||Ec(f,c)&&h||Ec(f,l)&&(!h||a&&h&&!t)||!r&&f.ctrlKey&&h)return!1;if(!r&&f.type===`touchstart`&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!a&&!m&&h||!i&&(f.type===`mousedown`||f.type===`touchstart`)||Array.isArray(i)&&!i.includes(f.button)&&f.type===`mousedown`)return!1;let g=Array.isArray(i)&&i.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||h||e)&&g}}function Lc({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:i,onPanZoom:a,onPanZoomStart:o,onPanZoomEnd:s,onDraggingChange:c}){let l={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},u=e.getBoundingClientRect(),d=[[0,0],[u.width,u.height]];(typeof ResizeObserver<`u`?new ResizeObserver(e=>{let t=e[0];t&&(d=[[0,0],[t.contentRect.width,t.contentRect.height]])}):null)?.observe(e);let f=co().extent(()=>d).scaleExtent([t,n]).translateExtent(r),p=An(e).call(f);y({x:i.x,y:i.y,zoom:No(i.zoom,t,n)},[[0,0],[u.width,u.height]],r);let m=p.on(`wheel.zoom`),h=p.on(`dblclick.zoom`);f.wheelDelta(Ac);async function g(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?Jr:ci).transform(kc(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function _({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:i,panOnDrag:u,panOnScrollMode:d,panOnScrollSpeed:g,preventScrolling:_,zoomOnPinch:y,zoomOnScroll:b,zoomOnDoubleClick:x,panActivationKeyPressed:S=!1,zoomActivationKeyPressed:C,lib:w,onTransformChange:T,connectionInProgress:E,paneClickDistance:D,selectionOnDrag:O}){r&&!l.isZoomingOrPanning&&v();let k=i&&!C&&!r;f.clickDistance(O?1/0:!qo(D)||D<0?0:D);let A=k?jc({zoomPanValues:l,noWheelClassName:e,d3Selection:p,d3Zoom:f,panOnScrollMode:d,panOnScrollSpeed:g,zoomOnPinch:y,onPanZoomStart:o,onPanZoom:a,onPanZoomEnd:s}):Mc({noWheelClassName:e,preventScrolling:_,d3ZoomHandler:m});p.on(`wheel.zoom`,A,{passive:!1});let j=Nc({zoomPanValues:l,onDraggingChange:c,onPanZoomStart:o});f.on(`start`,j);let M=Pc({zoomPanValues:l,panOnDrag:u,onPaneContextMenu:!!n,onPanZoom:a,onTransformChange:T});f.on(`zoom`,M);let N=Fc({zoomPanValues:l,panOnDrag:u,panOnScroll:i,onPaneContextMenu:n,onPanZoomEnd:s,onDraggingChange:c});f.on(`end`,N);let P=Ic({panActivationKeyPressed:S,zoomActivationKeyPressed:C,panOnDrag:u,zoomOnScroll:b,panOnScroll:i,zoomOnDoubleClick:x,zoomOnPinch:y,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:w,connectionInProgress:E});f.filter(P),x?p.on(`dblclick.zoom`,h):p.on(`dblclick.zoom`,null)}function v(){f.on(`zoom`,null)}async function y(e,t,n){let r=Tc(e),i=f?.constrain()(r,t,n);return i&&await g(i),i}async function b(e,t){let n=Tc(e);return await g(n,t),n}function x(e){if(p){let t=Tc(e),n=p.property(`__zoom`);(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&f?.transform(p,t,null,{sync:!0})}}function S(){let e=p?$a(p.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}}async function C(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?Jr:ci).scaleTo(kc(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}async function w(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?Jr:ci).scaleBy(kc(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function T(e){f?.scaleExtent(e)}function E(e){f?.translateExtent(e)}function D(e){let t=!qo(e)||e<0?0:e;f?.clickDistance(t)}return{update:_,destroy:v,setViewport:b,setViewportConstrained:y,getViewport:S,scaleTo:C,scaleBy:w,setScaleExtent:T,setTranslateExtent:E,syncViewport:x,setClickDistance:D}}var Rc;(function(e){e.Line=`line`,e.Handle=`handle`})(Rc||={});function zc({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:i,affectsY:a}){let o=e-t,s=n-r,c=[o>0?1:o<0?-1:0,s>0?1:s<0?-1:0];return o&&i&&(c[0]*=-1),s&&a&&(c[1]*=-1),c}function Bc(e){return{isHorizontal:e.includes(`right`)||e.includes(`left`),isVertical:e.includes(`bottom`)||e.includes(`top`),affectsX:e.includes(`left`),affectsY:e.includes(`top`)}}function Vc(e,t){return Math.max(0,t-e)}function Hc(e,t){return Math.max(0,e-t)}function Uc(e,t,n){return Math.max(0,t-e,e-n)}function Wc(e,t){return e?!t:t}function Gc(e,t,n,r,i,a,o,s){let{affectsX:c,affectsY:l}=t,{isHorizontal:u,isVertical:d}=t,f=u&&d,{xSnapped:p,ySnapped:m}=n,{minWidth:h,maxWidth:g,minHeight:_,maxHeight:v}=r,{x:y,y:b,width:x,height:S,aspectRatio:C}=e,w=Math.floor(u?p-e.pointerX:0),T=Math.floor(d?m-e.pointerY:0),E=x+(c?-w:w),D=S+(l?-T:T),O=-a[0]*x,k=-a[1]*S,A=Uc(E,h,g),j=Uc(D,_,v);if(o){let e=0,t=0;c&&w<0?e=Vc(y+w+O,o[0][0]):!c&&w>0&&(e=Hc(y+E+O,o[1][0])),l&&T<0?t=Vc(b+T+k,o[0][1]):!l&&T>0&&(t=Hc(b+D+k,o[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(s){let e=0,t=0;c&&w>0?e=Hc(y+w,s[0][0]):!c&&w<0&&(e=Vc(y+E,s[1][0])),l&&T>0?t=Hc(b+T,s[0][1]):!l&&T<0&&(t=Vc(b+D,s[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(i){if(u){let e=Uc(E/C,_,v)*C;if(A=Math.max(A,e),o){let e=0;e=!c&&!l||c&&!l&&f?Hc(b+k+E/C,o[1][1])*C:Vc(b+k+(c?w:-w)/C,o[0][1])*C,A=Math.max(A,e)}if(s){let e=0;e=!c&&!l||c&&!l&&f?Vc(b+E/C,s[1][1])*C:Hc(b+(c?w:-w)/C,s[0][1])*C,A=Math.max(A,e)}}if(d){let e=Uc(D*C,h,g)/C;if(j=Math.max(j,e),o){let e=0;e=!c&&!l||l&&!c&&f?Hc(y+D*C+O,o[1][0])/C:Vc(y+(l?T:-T)*C+O,o[0][0])/C,j=Math.max(j,e)}if(s){let e=0;e=!c&&!l||l&&!c&&f?Vc(y+D*C,s[1][0])/C:Hc(y+(l?T:-T)*C,s[0][0])/C,j=Math.max(j,e)}}}T+=T<0?j:-j,w+=w<0?A:-A,i&&(f?E>D*C?T=(Wc(c,l)?-w:w)/C:w=(Wc(c,l)?-T:T)*C:u?(T=w/C,l=c):(w=T*C,c=l));let M=c?y+w:y,N=l?b+T:b;return{width:x+(c?-w:w),height:S+(l?-T:T),x:a[0]*w*(c?-1:1)+M,y:a[1]*T*(l?-1:1)+N}}var Kc={width:0,height:0,x:0,y:0},qc={...Kc,pointerX:0,pointerY:0,aspectRatio:1};function Jc(e,t,n){let r=t.position.x+e.position.x,i=t.position.y+e.position.y,a=e.measured.width??0,o=e.measured.height??0,s=n[0]*a,c=n[1]*o;return[[r-s,i-c],[r+a-s,i+o-c]]}function Yc({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:i}){let a=An(e),o={controlDirection:Bc(`bottom-right`),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function s({controlPosition:e,boundaries:s,keepAspectRatio:c,resizeDirection:l,onResizeStart:u,onResize:d,onResizeEnd:f,shouldResize:p}){let m={...Kc},h={...qc};o={boundaries:s,resizeDirection:l,keepAspectRatio:c,controlDirection:Bc(e)};let g,_=null,v=[],y,b,x,S=Gn().on(`start`,e=>{let{nodeLookup:r,transform:i,snapGrid:a,snapToGrid:o,nodeOrigin:s,paneDomNode:c}=n();if(g=r.get(t),!g)return;_=c?.getBoundingClientRect()??null;let{xSnapped:l,ySnapped:d}=ds(e.sourceEvent,{transform:i,snapGrid:a,snapToGrid:o,containerBounds:_});m={width:g.measured.width??0,height:g.measured.height??0,x:g.position.x??0,y:g.position.y??0},h={...m,pointerX:l,pointerY:d,aspectRatio:m.width/m.height},y=void 0,b=rs(g.extent)?g.extent:void 0,g.parentId&&(g.extent===`parent`||g.expandParent)&&(y=r.get(g.parentId)),y&&g.extent===`parent`&&(b=[[0,0],[y.measured.width,y.measured.height]]),v=[],x=void 0;for(let[e,n]of r)if(n.parentId===t&&(v.push({id:e,position:{...n.position},extent:n.extent}),n.extent===`parent`||n.expandParent)){let e=Jc(n,g,n.origin??s);x=x?[[Math.min(e[0][0],x[0][0]),Math.min(e[0][1],x[0][1])],[Math.max(e[1][0],x[1][0]),Math.max(e[1][1],x[1][1])]]:e}u?.(e,{...m})}).on(`drag`,e=>{let{transform:t,snapGrid:i,snapToGrid:a,nodeOrigin:s}=n(),c=ds(e.sourceEvent,{transform:t,snapGrid:i,snapToGrid:a,containerBounds:_}),l=[];if(!g)return;let{x:u,y:f,width:S,height:C}=m,w={},T=g.origin??s,{width:E,height:D,x:O,y:k}=Gc(h,o.controlDirection,c,o.boundaries,o.keepAspectRatio,T,b,x),A=E!==S,j=D!==C,M=O!==u&&A,N=k!==f&&j;if(!M&&!N&&!A&&!j)return;let P={prevValues:{...m},startX:h.x,startY:h.y,childNodes:v.map(e=>({...e,position:{...e.position}}))};if((M||N||T[0]===1||T[1]===1)&&(w.x=M?O:m.x,w.y=N?k:m.y,m.x=w.x,m.y=w.y,v.length>0)){let e=O-u,t=k-f;for(let n of v)n.position={x:n.position.x-e+T[0]*(E-S),y:n.position.y-t+T[1]*(D-C)},l.push(n)}if((A||j)&&(w.width=A&&(!o.resizeDirection||o.resizeDirection===`horizontal`)?E:m.width,w.height=j&&(!o.resizeDirection||o.resizeDirection===`vertical`)?D:m.height,m.width=w.width,m.height=w.height),y&&g.expandParent){let e=T[0]*(w.width??0);w.x&&w.x<e&&(m.x=e,h.x-=w.x-e);let t=T[1]*(w.height??0);w.y&&w.y<t&&(m.y=t,h.y-=w.y-t)}let F=zc({width:m.width,prevWidth:S,height:m.height,prevHeight:C,affectsX:o.controlDirection.affectsX,affectsY:o.controlDirection.affectsY}),I={...m,direction:F};if(p?.(e,I)===!1){m=P.prevValues,h.x=P.startX,h.y=P.startY,v.forEach((e,t)=>{e.position=P.childNodes[t].position});return}d?.(e,I),r(w,l)}).on(`end`,e=>{f?.(e,{...m}),i?.({...m})});a.call(S)}function c(){a.on(`.drag`,null)}return{update:s,destroy:c}}var Xc=t((e=>{var t=n();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),Zc=t(((e,t)=>{t.exports=Xc()})),Qc=t((e=>{var t=n(),r=Zc();function i(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var a=typeof Object.is==`function`?Object.is:i,o=r.useSyncExternalStore,s=t.useRef,c=t.useEffect,l=t.useMemo,u=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var d=s(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=l(function(){function e(e){if(!o){if(o=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,a(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var o=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=o(e,d[0],d[1]);return c(function(){f.hasValue=!0,f.value=p},[p]),u(p),p}})),$c=e(t(((e,t)=>{t.exports=Qc()}))(),1),el=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{n.clear()}},o=t=e(r,i,a);return a},tl=e=>e?el(e):el,{useDebugValue:nl}=H.default,{useSyncExternalStoreWithSelector:rl}=$c.default,il=e=>e;function al(e,t=il,n){let r=rl(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return nl(r),r}var ol=(e,t)=>{let n=tl(e),r=(e,r=t)=>al(n,e,r);return Object.assign(r,n),r},sl=(e,t)=>e?ol(e,t):ol;function J(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}r();var cl=(0,H.createContext)(null),ll=cl.Provider,ul=lo.error001(`react`);function Y(e,t){let n=(0,H.useContext)(cl);if(n===null)throw Error(ul);return al(n,e,t)}function X(){let e=(0,H.useContext)(cl);if(e===null)throw Error(ul);return(0,H.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}var dl={display:`none`},fl={position:`absolute`,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0px, 0px, 0px, 0px)`,clipPath:`inset(100%)`},pl=`react-flow__node-desc`,ml=`react-flow__edge-desc`,hl=`react-flow__aria-live`,gl=e=>e.ariaLiveMessage,_l=e=>e.ariaLabelConfig;function vl({rfId:e}){let t=Y(gl);return(0,U.jsx)(`div`,{id:`${hl}-${e}`,"aria-live":`assertive`,"aria-atomic":`true`,style:fl,children:t})}function yl({rfId:e,disableKeyboardA11y:t}){let n=Y(_l);return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`div`,{id:`${pl}-${e}`,style:dl,children:t?n[`node.a11yDescription.default`]:n[`node.a11yDescription.keyboardDisabled`]}),(0,U.jsx)(`div`,{id:`${ml}-${e}`,style:dl,children:n[`edge.a11yDescription.default`]}),!t&&(0,U.jsx)(vl,{rfId:e})]})}var bl=(0,H.forwardRef)(({position:e=`top-left`,children:t,className:n,style:r,...i},a)=>(0,U.jsx)(`div`,{className:W([`react-flow__panel`,n,...`${e}`.split(`-`)]),style:r,ref:a,...i,children:t}));bl.displayName=`Panel`;var xl=`https://reactflow.dev?utm_source=attribution`;function Sl({proOptions:e,position:t=`bottom-right`}){return(0,H.useEffect)(()=>{},[]),e?.hideAttribution?null:(0,U.jsx)(bl,{position:t,className:`react-flow__attribution`,"data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${xl}`,children:(0,U.jsx)(`a`,{href:xl,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`React Flow attribution`,children:`React Flow`})})}var Cl=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},wl=e=>e.id;function Tl(e,t){return J(e.selectedNodes.map(wl),t.selectedNodes.map(wl))&&J(e.selectedEdges.map(wl),t.selectedEdges.map(wl))}function El({onSelectionChange:e}){let t=X(),{selectedNodes:n,selectedEdges:r}=Y(Cl,Tl);return(0,H.useEffect)(()=>{let i={nodes:n,edges:r};e?.(i),t.getState().onSelectionChangeHandlers.forEach(e=>e(i))},[n,r,e]),null}var Dl=e=>!!e.onSelectionChangeHandlers;function Ol({onSelectionChange:e}){let t=Y(Dl);return e||t?(0,U.jsx)(El,{onSelectionChange:e}):null}var kl=[0,0],Al={x:0,y:0,zoom:1},jl=[...`nodes.edges.defaultNodes.defaultEdges.onConnect.onConnectStart.onConnectEnd.onClickConnectStart.onClickConnectEnd.nodesDraggable.autoPanOnNodeFocus.nodesConnectable.nodesFocusable.edgesFocusable.edgesReconnectable.elevateNodesOnSelect.elevateEdgesOnSelect.minZoom.maxZoom.nodeExtent.onNodesChange.onEdgesChange.elementsSelectable.connectionMode.snapGrid.snapToGrid.translateExtent.connectOnClick.defaultEdgeOptions.fitView.fitViewOptions.onNodesDelete.onEdgesDelete.onDelete.onNodeDrag.onNodeDragStart.onNodeDragStop.onSelectionDrag.onSelectionDragStart.onSelectionDragStop.onMoveStart.onMove.onMoveEnd.noPanClassName.nodeOrigin.autoPanOnConnect.autoPanOnNodeDrag.onError.connectionRadius.isValidConnection.selectNodesOnDrag.nodeDragThreshold.connectionDragThreshold.onBeforeDelete.debug.autoPanSpeed.ariaLabelConfig.zIndexMode`.split(`.`),`rfId`],Ml=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),Nl={translateExtent:uo,nodeOrigin:kl,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:`nopan`,rfId:`1`};function Pl(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:i,setTranslateExtent:a,setNodeExtent:o,reset:s,setDefaultNodesAndEdges:c}=Y(Ml,J),l=X();(0,H.useEffect)(()=>(c(e.defaultNodes,e.defaultEdges),()=>{u.current=Nl,s()}),[]);let u=(0,H.useRef)(Nl);return(0,H.useEffect)(()=>{for(let s of jl){let c=e[s];c!==u.current[s]&&e[s]!==void 0&&(s===`nodes`?t(c):s===`edges`?n(c):s===`minZoom`?r(c):s===`maxZoom`?i(c):s===`translateExtent`?a(c):s===`nodeExtent`?o(c):s===`ariaLabelConfig`?l.setState({ariaLabelConfig:ls(c)}):s===`fitView`?l.setState({fitViewQueued:c}):s===`fitViewOptions`?l.setState({fitViewOptions:c}):l.setState({[s]:c}))}u.current=e},jl.map(t=>e[t])),null}function Fl(){return typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`)}function Il(e){let[t,n]=(0,H.useState)(e===`system`?null:e);return(0,H.useEffect)(()=>{if(e!==`system`){n(e);return}let t=Fl(),r=()=>n(t?.matches?`dark`:`light`);return r(),t?.addEventListener(`change`,r),()=>{t?.removeEventListener(`change`,r)}},[e]),t===null?Fl()?.matches?`dark`:`light`:t}var Ll=typeof document<`u`?document:null;function Rl(e=null,t={target:Ll,actInsideInputWithModifier:!0}){let[n,r]=(0,H.useState)(!1),i=(0,H.useRef)(!1),a=(0,H.useRef)(new Set([])),[o,s]=(0,H.useMemo)(()=>{if(e!==null){let t=(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`).map(e=>e.replace(/\+/g,`
|
|
1
|
+
import{r as e,t}from"./rolldown-runtime-QTnfLwEv.js";import{i as n,r,t as i}from"./react-runtime-CCIEwYL0.js";import{Hi as a,Kt as o,Nt as s,Yn as c,gr as l,pi as u,qt as d,r as f,ra as p,ui as m,va as h,xa as g,xr as _}from"./queries-Bn7zl9OU.js";import{F as v,r as y,t as b}from"./button-Clwd6u4_.js";import{c as x,f as S,t as C,w}from"./project-router-CZzr7lzN.js";import{a as T,i as E,n as D,r as O,t as k}from"./textarea-ewNKsXDa.js";import{t as A}from"./circle-check-DnEaQ9Rj.js";import{t as j}from"./download-DOJ8Dqfh.js";import{n as M,t as N}from"./terminal-F3ZJ5fI8.js";import{n as P,t as F}from"./upload-J0hBTVF7.js";import{n as I,t as ee}from"./settings-2-COky68xN.js";import{n as L,r as te,t as R}from"./triangle-alert-BqI_9MkV.js";import{t as z}from"./message-square-EWpWB_Gr.js";import{n as ne,t as re}from"./square-8OFxLPoA.js";import{t as ie}from"./plus-CBVm02wz.js";import{t as ae}from"./save-B8DEQI2V.js";import{t as oe}from"./tag-yruQH0i-.js";import{t as se}from"./x-DMIsmLBt.js";import{a as ce,c as le,i as ue,n as de,o as fe,r as pe,s as me,t as he}from"./alert-dialog-DvPnvVvK.js";import{t as B}from"./input-DIWTlsx6.js";import{t as ge}from"./centered-state-nM7v9xtl.js";import{P as _e,i as ve,j as ye}from"./index-qeFtKZ4e.js";var be=v(`flag`,[[`path`,{d:`M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528`,key:`1jaruq`}]]),xe=v(`hand`,[[`path`,{d:`M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2`,key:`1fvzgz`}],[`path`,{d:`M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`,key:`1kc0my`}],[`path`,{d:`M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8`,key:`10h0bg`}],[`path`,{d:`M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`,key:`1s1gnw`}]]),Se=v(`merge`,[[`path`,{d:`m8 6 4-4 4 4`,key:`ybng9g`}],[`path`,{d:`M12 2v10.3a4 4 0 0 1-1.172 2.872L4 22`,key:`1hyw0i`}],[`path`,{d:`m20 22-5-5`,key:`1m27yz`}]]),Ce=v(`message-circle-question-mark`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),V=v(`repeat`,[[`path`,{d:`m17 2 4 4-4 4`,key:`nntrym`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 4-4h14`,key:`84bu3i`}],[`path`,{d:`m7 22-4-4 4-4`,key:`1wqhfi`}],[`path`,{d:`M21 13v1a4 4 0 0 1-4 4H3`,key:`1rx37r`}]]),we=v(`signpost`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M12 3v3`,key:`1n5kay`}],[`path`,{d:`M2.354 10.354a1.207 1.207 0 0 1 0-1.708l2.06-2.06A2 2 0 0 1 5.828 6h12.344a2 2 0 0 1 1.414.586l2.06 2.06a1.207 1.207 0 0 1 0 1.708l-2.06 2.06a2 2 0 0 1-1.414.586H5.828a2 2 0 0 1-1.414-.586z`,key:`1tm261`}]]),Te=v(`timer`,[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]),Ee=v(`webhook`,[[`path`,{d:`M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2`,key:`q3hayz`}],[`path`,{d:`m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06`,key:`1go1hn`}],[`path`,{d:`m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8`,key:`qlwsc0`}]]),H=e(n(),1),U=i();function W(e){if(typeof e==`string`||typeof e==`number`)return``+e;let t=``;if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=W(e[n]))!==``&&(t+=(t&&` `)+r);else for(let n in e)e[n]&&(t+=(t&&` `)+n);return t}var De={value:()=>{}};function Oe(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new ke(n)}function ke(e){this._=e}function Ae(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}ke.prototype=Oe.prototype={constructor:ke,on:function(e,t){var n=this._,r=Ae(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=je(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=Me(n[i],e.name,t);else if(t==null)for(i in n)n[i]=Me(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new ke(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function je(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function Me(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=De,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Ne={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function Pe(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),Ne.hasOwnProperty(t)?{space:Ne[t],local:e}:e}function Fe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function Ie(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Le(e){var t=Pe(e);return(t.local?Ie:Fe)(t)}function Re(){}function ze(e){return e==null?Re:function(){return this.querySelector(e)}}function Be(e){typeof e!=`function`&&(e=ze(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new Dn(r,this._parents)}function Ve(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function He(){return[]}function Ue(e){return e==null?He:function(){return this.querySelectorAll(e)}}function G(e){return function(){return Ve(e.apply(this,arguments))}}function We(e){e=typeof e==`function`?G(e):Ue(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new Dn(r,i)}function K(e){return function(){return this.matches(e)}}function Ge(e){return function(t){return t.matches(e)}}var Ke=Array.prototype.find;function qe(e){return function(){return Ke.call(this.children,e)}}function Je(){return this.firstElementChild}function Ye(e){return this.select(e==null?Je:qe(typeof e==`function`?e:Ge(e)))}var Xe=Array.prototype.filter;function Ze(){return Array.from(this.children)}function Qe(e){return function(){return Xe.call(this.children,e)}}function $e(e){return this.selectAll(e==null?Ze:Qe(typeof e==`function`?e:Ge(e)))}function et(e){typeof e!=`function`&&(e=K(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Dn(r,this._parents)}function tt(e){return Array(e.length)}function nt(){return new Dn(this._enter||this._groups.map(tt),this._parents)}function rt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}rt.prototype={constructor:rt,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function it(e){return function(){return e}}function at(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new rt(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function ot(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new rt(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function st(e){return e.__data__}function ct(e,t){if(!arguments.length)return Array.from(this,st);var n=t?ot:at,r=this._parents,i=this._groups;typeof e!=`function`&&(e=it(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=lt(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new Dn(o,r),o._enter=s,o._exit=c,o}function lt(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function ut(){return new Dn(this._exit||this._groups.map(tt),this._parents)}function dt(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function ft(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new Dn(s,this._parents)}function pt(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function mt(e){e||=ht;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new Dn(i,this._parents).order()}function ht(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function gt(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function _t(){return Array.from(this)}function vt(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function yt(){let e=0;for(let t of this)++e;return e}function bt(){return!this.node()}function xt(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function St(e){return function(){this.removeAttribute(e)}}function Ct(e){return function(){this.removeAttributeNS(e.space,e.local)}}function wt(e,t){return function(){this.setAttribute(e,t)}}function Tt(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Et(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function Dt(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Ot(e,t){var n=Pe(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?Ct:St:typeof t==`function`?n.local?Dt:Et:n.local?Tt:wt)(n,t))}function kt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function At(e){return function(){this.style.removeProperty(e)}}function jt(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Mt(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function Nt(e,t,n){return arguments.length>1?this.each((t==null?At:typeof t==`function`?Mt:jt)(e,t,n??``)):Pt(this.node(),e)}function Pt(e,t){return e.style.getPropertyValue(t)||kt(e).getComputedStyle(e,null).getPropertyValue(t)}function Ft(e){return function(){delete this[e]}}function It(e,t){return function(){this[e]=t}}function Lt(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Rt(e,t){return arguments.length>1?this.each((t==null?Ft:typeof t==`function`?Lt:It)(e,t)):this.node()[e]}function zt(e){return e.trim().split(/^|\s+/)}function Bt(e){return e.classList||new Vt(e)}function Vt(e){this._node=e,this._names=zt(e.getAttribute(`class`)||``)}Vt.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function Ht(e,t){for(var n=Bt(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Ut(e,t){for(var n=Bt(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Wt(e){return function(){Ht(this,e)}}function Gt(e){return function(){Ut(this,e)}}function Kt(e,t){return function(){(t.apply(this,arguments)?Ht:Ut)(this,e)}}function qt(e,t){var n=zt(e+``);if(arguments.length<2){for(var r=Bt(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?Kt:t?Wt:Gt)(n,t))}function Jt(){this.textContent=``}function Yt(e){return function(){this.textContent=e}}function Xt(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function Zt(e){return arguments.length?this.each(e==null?Jt:(typeof e==`function`?Xt:Yt)(e)):this.node().textContent}function Qt(){this.innerHTML=``}function $t(e){return function(){this.innerHTML=e}}function en(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function tn(e){return arguments.length?this.each(e==null?Qt:(typeof e==`function`?en:$t)(e)):this.node().innerHTML}function nn(){this.nextSibling&&this.parentNode.appendChild(this)}function rn(){return this.each(nn)}function an(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function on(){return this.each(an)}function sn(e){var t=typeof e==`function`?e:Le(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function cn(){return null}function ln(e,t){var n=typeof e==`function`?e:Le(e),r=t==null?cn:typeof t==`function`?t:ze(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function un(){var e=this.parentNode;e&&e.removeChild(this)}function dn(){return this.each(un)}function fn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function pn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function mn(e){return this.select(e?pn:fn)}function hn(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function gn(e){return function(t){e.call(this,t,this.__data__)}}function _n(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function vn(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function yn(e,t,n){return function(){var r=this.__on,i,a=gn(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function bn(e,t,n){var r=_n(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?yn:vn,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function xn(e,t,n){var r=kt(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function Sn(e,t){return function(){return xn(this,e,t)}}function Cn(e,t){return function(){return xn(this,e,t.apply(this,arguments))}}function wn(e,t){return this.each((typeof t==`function`?Cn:Sn)(e,t))}function*Tn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var En=[null];function Dn(e,t){this._groups=e,this._parents=t}function On(){return new Dn([[document.documentElement]],En)}function kn(){return this}Dn.prototype=On.prototype={constructor:Dn,select:Be,selectAll:We,selectChild:Ye,selectChildren:$e,filter:et,data:ct,enter:nt,exit:ut,join:dt,merge:ft,selection:kn,order:pt,sort:mt,call:gt,nodes:_t,node:vt,size:yt,empty:bt,each:xt,attr:Ot,style:Nt,property:Rt,classed:qt,text:Zt,html:tn,raise:rn,lower:on,append:sn,insert:ln,remove:dn,clone:mn,datum:hn,on:bn,dispatch:wn,[Symbol.iterator]:Tn};function An(e){return typeof e==`string`?new Dn([[document.querySelector(e)]],[document.documentElement]):new Dn([[e]],En)}function jn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Mn(e,t){if(e=jn(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var Nn={passive:!1},Pn={capture:!0,passive:!1};function Fn(e){e.stopImmediatePropagation()}function In(e){e.preventDefault(),e.stopImmediatePropagation()}function Ln(e){var t=e.document.documentElement,n=An(e).on(`dragstart.drag`,In,Pn);`onselectstart`in t?n.on(`selectstart.drag`,In,Pn):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=`none`)}function Rn(e,t){var n=e.document.documentElement,r=An(e).on(`dragstart.drag`,null);t&&(r.on(`click.drag`,In,Pn),setTimeout(function(){r.on(`click.drag`,null)},0)),`onselectstart`in n?r.on(`selectstart.drag`,null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var zn=e=>()=>e;function Bn(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:a,x:o,y:s,dx:c,dy:l,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}Bn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Vn(e){return!e.ctrlKey&&!e.button}function Hn(){return this.parentNode}function Un(e,t){return t??{x:e.x,y:e.y}}function Wn(){return navigator.maxTouchPoints||`ontouchstart`in this}function Gn(){var e=Vn,t=Hn,n=Un,r=Wn,i={},a=Oe(`start`,`drag`,`end`),o=0,s,c,l,u,d=0;function f(e){e.on(`mousedown.drag`,p).filter(r).on(`touchstart.drag`,g).on(`touchmove.drag`,_,Nn).on(`touchend.drag touchcancel.drag`,v).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function p(n,r){if(!(u||!e.call(this,n,r))){var i=y(this,t.call(this,n,r),n,r,`mouse`);i&&(An(n.view).on(`mousemove.drag`,m,Pn).on(`mouseup.drag`,h,Pn),Ln(n.view),Fn(n),l=!1,s=n.clientX,c=n.clientY,i(`start`,n))}}function m(e){if(In(e),!l){var t=e.clientX-s,n=e.clientY-c;l=t*t+n*n>d}i.mouse(`drag`,e)}function h(e){An(e.view).on(`mousemove.drag mouseup.drag`,null),Rn(e.view,l),In(e),i.mouse(`end`,e)}function g(n,r){if(e.call(this,n,r)){var i=n.changedTouches,a=t.call(this,n,r),o=i.length,s,c;for(s=0;s<o;++s)(c=y(this,a,n,r,i[s].identifier,i[s]))&&(Fn(n),c(`start`,n,i[s]))}}function _(e){var t=e.changedTouches,n=t.length,r,a;for(r=0;r<n;++r)(a=i[t[r].identifier])&&(In(e),a(`drag`,e,t[r]))}function v(e){var t=e.changedTouches,n=t.length,r,a;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),r=0;r<n;++r)(a=i[t[r].identifier])&&(Fn(e),a(`end`,e,t[r]))}function y(e,t,r,s,c,l){var u=a.copy(),d=Mn(l||r,t),p,m,h;if((h=n.call(e,new Bn(`beforestart`,{sourceEvent:r,target:f,identifier:c,active:o,x:d[0],y:d[1],dx:0,dy:0,dispatch:u}),s))!=null)return p=h.x-d[0]||0,m=h.y-d[1]||0,function n(r,a,l){var g=d,_;switch(r){case`start`:i[c]=n,_=o++;break;case`end`:delete i[c],--o;case`drag`:d=Mn(l||a,t),_=o;break}u.call(r,e,new Bn(r,{sourceEvent:a,subject:h,target:f,identifier:c,active:_,x:d[0]+p,y:d[1]+m,dx:d[0]-g[0],dy:d[1]-g[1],dispatch:u}),s)}}return f.filter=function(t){return arguments.length?(e=typeof t==`function`?t:zn(!!t),f):e},f.container=function(e){return arguments.length?(t=typeof e==`function`?e:zn(e),f):t},f.subject=function(e){return arguments.length?(n=typeof e==`function`?e:zn(e),f):n},f.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:zn(!!e),f):r},f.on=function(){var e=a.on.apply(a,arguments);return e===a?f:e},f.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,f):Math.sqrt(d)},f}function Kn(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function qn(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Jn(){}var Yn=.7,Xn=1/Yn,Zn=`\\s*([+-]?\\d+)\\s*`,Qn=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,$n=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,er=/^#([0-9a-f]{3,8})$/,tr=RegExp(`^rgb\\(${Zn},${Zn},${Zn}\\)$`),nr=RegExp(`^rgb\\(${$n},${$n},${$n}\\)$`),rr=RegExp(`^rgba\\(${Zn},${Zn},${Zn},${Qn}\\)$`),ir=RegExp(`^rgba\\(${$n},${$n},${$n},${Qn}\\)$`),ar=RegExp(`^hsl\\(${Qn},${$n},${$n}\\)$`),or=RegExp(`^hsla\\(${Qn},${$n},${$n},${Qn}\\)$`),sr={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};Kn(Jn,fr,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:cr,formatHex:cr,formatHex8:lr,formatHsl:ur,formatRgb:dr,toString:dr});function cr(){return this.rgb().formatHex()}function lr(){return this.rgb().formatHex8()}function ur(){return Tr(this).formatHsl()}function dr(){return this.rgb().formatRgb()}function fr(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=er.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?pr(t):n===3?new _r(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?mr(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?mr(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=tr.exec(e))?new _r(t[1],t[2],t[3],1):(t=nr.exec(e))?new _r(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=rr.exec(e))?mr(t[1],t[2],t[3],t[4]):(t=ir.exec(e))?mr(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=ar.exec(e))?wr(t[1],t[2]/100,t[3]/100,1):(t=or.exec(e))?wr(t[1],t[2]/100,t[3]/100,t[4]):sr.hasOwnProperty(e)?pr(sr[e]):e===`transparent`?new _r(NaN,NaN,NaN,0):null}function pr(e){return new _r(e>>16&255,e>>8&255,e&255,1)}function mr(e,t,n,r){return r<=0&&(e=t=n=NaN),new _r(e,t,n,r)}function hr(e){return e instanceof Jn||(e=fr(e)),e?(e=e.rgb(),new _r(e.r,e.g,e.b,e.opacity)):new _r}function gr(e,t,n,r){return arguments.length===1?hr(e):new _r(e,t,n,r??1)}function _r(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Kn(_r,gr,qn(Jn,{brighter(e){return e=e==null?Xn:Xn**+e,new _r(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Yn:Yn**+e,new _r(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new _r(Sr(this.r),Sr(this.g),Sr(this.b),xr(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:vr,formatHex:vr,formatHex8:yr,formatRgb:br,toString:br}));function vr(){return`#${Cr(this.r)}${Cr(this.g)}${Cr(this.b)}`}function yr(){return`#${Cr(this.r)}${Cr(this.g)}${Cr(this.b)}${Cr((isNaN(this.opacity)?1:this.opacity)*255)}`}function br(){let e=xr(this.opacity);return`${e===1?`rgb(`:`rgba(`}${Sr(this.r)}, ${Sr(this.g)}, ${Sr(this.b)}${e===1?`)`:`, ${e})`}`}function xr(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Sr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Cr(e){return e=Sr(e),(e<16?`0`:``)+e.toString(16)}function wr(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Dr(e,t,n,r)}function Tr(e){if(e instanceof Dr)return new Dr(e.h,e.s,e.l,e.opacity);if(e instanceof Jn||(e=fr(e)),!e)return new Dr;if(e instanceof Dr)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new Dr(o,s,c,e.opacity)}function Er(e,t,n,r){return arguments.length===1?Tr(e):new Dr(e,t,n,r??1)}function Dr(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Kn(Dr,Er,qn(Jn,{brighter(e){return e=e==null?Xn:Xn**+e,new Dr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Yn:Yn**+e,new Dr(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new _r(Ar(e>=240?e-240:e+120,i,r),Ar(e,i,r),Ar(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Dr(Or(this.h),kr(this.s),kr(this.l),xr(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(){let e=xr(this.opacity);return`${e===1?`hsl(`:`hsla(`}${Or(this.h)}, ${kr(this.s)*100}%, ${kr(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function Or(e){return e=(e||0)%360,e<0?e+360:e}function kr(e){return Math.max(0,Math.min(1,e||0))}function Ar(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var jr=e=>()=>e;function Mr(e,t){return function(n){return e+n*t}}function Nr(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function Pr(e){return(e=+e)==1?Fr:function(t,n){return n-t?Nr(t,n,e):jr(isNaN(t)?n:t)}}function Fr(e,t){var n=t-e;return n?Mr(e,n):jr(isNaN(e)?t:e)}var Ir=(function e(t){var n=Pr(t);function r(e,t){var r=n((e=gr(e)).r,(t=gr(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Fr(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function Lr(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function Rr(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function zr(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o;for(o=0;o<r;++o)i[o]=Jr(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function Br(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Vr(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Hr(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=Jr(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Ur=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Wr=new RegExp(Ur.source,`g`);function Gr(e){return function(){return e}}function Kr(e){return function(t){return e(t)+``}}function qr(e,t){var n=Ur.lastIndex=Wr.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Ur.exec(e))&&(i=Wr.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Vr(r,i)})),n=Wr.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?Kr(c[0].x):Gr(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function Jr(e,t){var n=typeof t,r;return t==null||n===`boolean`?jr(t):(n===`number`?Vr:n===`string`?(r=fr(t))?(t=r,Ir):qr:t instanceof fr?Ir:t instanceof Date?Br:Rr(t)?Lr:Array.isArray(t)?zr:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?Hr:Vr)(e,t)}var Yr=180/Math.PI,Xr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Zr(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Yr,skewX:Math.atan(c)*Yr,scaleX:o,scaleY:s}}var Qr;function $r(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Xr:Zr(t.a,t.b,t.c,t.d,t.e,t.f)}function ei(e){return e==null||(Qr||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),Qr.setAttribute(`transform`,e),!(e=Qr.transform.baseVal.consolidate()))?Xr:(e=e.matrix,Zr(e.a,e.b,e.c,e.d,e.e,e.f))}function ti(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:Vr(e,i)},{i:c-2,x:Vr(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:Vr(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:Vr(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:Vr(e,n)},{i:s-2,x:Vr(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var ni=ti($r,`px, `,`px)`,`deg)`),ri=ti(ei,`, `,`)`,`)`),ii=1e-12;function ai(e){return((e=Math.exp(e))+1/e)/2}function oi(e){return((e=Math.exp(e))-1/e)/2}function si(e){return((e=Math.exp(2*e))-1)/(e+1)}var ci=(function e(t,n,r){function i(e,i){var a=e[0],o=e[1],s=e[2],c=i[0],l=i[1],u=i[2],d=c-a,f=l-o,p=d*d+f*f,m,h;if(p<ii)h=Math.log(u/s)/t,m=function(e){return[a+e*d,o+e*f,s*Math.exp(t*e*h)]};else{var g=Math.sqrt(p),_=(u*u-s*s+r*p)/(2*s*n*g),v=(u*u-s*s-r*p)/(2*u*n*g),y=Math.log(Math.sqrt(_*_+1)-_);h=(Math.log(Math.sqrt(v*v+1)-v)-y)/t,m=function(e){var r=e*h,i=ai(y),c=s/(n*g)*(i*si(t*r+y)-oi(y));return[a+c*d,o+c*f,s*i/ai(t*r+y)]}}return m.duration=h*1e3*t/Math.SQRT2,m}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i})(Math.SQRT2,2,4),li=0,ui=0,di=0,fi=1e3,pi,mi,hi=0,gi=0,_i=0,vi=typeof performance==`object`&&performance.now?performance:Date,yi=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function bi(){return gi||=(yi(xi),vi.now()+_i)}function xi(){gi=0}function Si(){this._call=this._time=this._next=null}Si.prototype=Ci.prototype={constructor:Si,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?bi():+n)+(t==null?0:+t),!this._next&&mi!==this&&(mi?mi._next=this:pi=this,mi=this),this._call=e,this._time=n,Oi()},stop:function(){this._call&&(this._call=null,this._time=1/0,Oi())}};function Ci(e,t,n){var r=new Si;return r.restart(e,t,n),r}function wi(){bi(),++li;for(var e=pi,t;e;)(t=gi-e._time)>=0&&e._call.call(void 0,t),e=e._next;--li}function Ti(){gi=(hi=vi.now())+_i,li=ui=0;try{wi()}finally{li=0,Di(),gi=0}}function Ei(){var e=vi.now(),t=e-hi;t>fi&&(_i-=t,hi=e)}function Di(){for(var e,t=pi,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:pi=n);mi=e,Oi(r)}function Oi(e){li||(ui&&=clearTimeout(ui),e-gi>24?(e<1/0&&(ui=setTimeout(Ti,e-vi.now()-_i)),di&&=clearInterval(di)):(di||=(hi=vi.now(),setInterval(Ei,fi)),li=1,yi(Ti)))}function ki(e,t,n){var r=new Si;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var Ai=Oe(`start`,`end`,`cancel`,`interrupt`),ji=[];function Mi(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;Ii(e,n,{name:t,index:r,group:i,on:Ai,tween:ji,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function Ni(e,t){var n=Fi(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function Pi(e,t){var n=Fi(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function Fi(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function Ii(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=Ci(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return ki(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(ki(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function Li(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function Ri(e){return this.each(function(){Li(this,e)})}function zi(e,t){var n,r;return function(){var i=Pi(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function Bi(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=Pi(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function Vi(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=Fi(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?zi:Bi)(n,e,t))}function Hi(e,t,n){var r=e._id;return e.each(function(){var e=Pi(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return Fi(e,r).value[t]}}function Ui(e,t){var n;return(typeof t==`number`?Vr:t instanceof fr?Ir:(n=fr(t))?(t=n,Ir):qr)(e,t)}function Wi(e){return function(){this.removeAttribute(e)}}function Gi(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ki(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function qi(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function Ji(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Yi(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Xi(e,t){var n=Pe(e),r=n===`transform`?ri:Ui;return this.attrTween(e,typeof t==`function`?(n.local?Yi:Ji)(n,r,Hi(this,`attr.`+e,t)):t==null?(n.local?Gi:Wi)(n):(n.local?qi:Ki)(n,r,t))}function Zi(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Qi(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function $i(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Qi(e,i)),n}return i._value=t,i}function ea(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Zi(e,i)),n}return i._value=t,i}function ta(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=Pe(e);return this.tween(n,(r.local?$i:ea)(r,t))}function na(e,t){return function(){Ni(this,e).delay=+t.apply(this,arguments)}}function ra(e,t){return t=+t,function(){Ni(this,e).delay=t}}function ia(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?na:ra)(t,e)):Fi(this.node(),t).delay}function aa(e,t){return function(){Pi(this,e).duration=+t.apply(this,arguments)}}function oa(e,t){return t=+t,function(){Pi(this,e).duration=t}}function sa(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?aa:oa)(t,e)):Fi(this.node(),t).duration}function ca(e,t){if(typeof t!=`function`)throw Error();return function(){Pi(this,e).ease=t}}function la(e){var t=this._id;return arguments.length?this.each(ca(t,e)):Fi(this.node(),t).ease}function ua(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();Pi(this,e).ease=n}}function da(e){if(typeof e!=`function`)throw Error();return this.each(ua(this._id,e))}function fa(e){typeof e!=`function`&&(e=K(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Va(r,this._parents,this._name,this._id)}function pa(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new Va(o,this._parents,this._name,this._id)}function ma(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function ha(e,t,n){var r,i,a=ma(t)?Ni:Pi;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function ga(e,t){var n=this._id;return arguments.length<2?Fi(this.node(),n).on.on(e):this.each(ha(n,e,t))}function _a(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function va(){return this.on(`end.remove`,_a(this._id))}function ya(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=ze(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,Mi(l[f],t,n,f,l,Fi(u,n)));return new Va(a,this._parents,t,n)}function ba(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Ue(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=Fi(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&Mi(p,t,n,h,f,m);a.push(f),o.push(u)}return new Va(a,o,t,n)}var xa=On.prototype.constructor;function Sa(){return new xa(this._groups,this._parents)}function Ca(e,t){var n,r,i;return function(){var a=Pt(this,e),o=(this.style.removeProperty(e),Pt(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function wa(e){return function(){this.style.removeProperty(e)}}function Ta(e,t,n){var r,i=n+``,a;return function(){var o=Pt(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function Ea(e,t,n){var r,i,a;return function(){var o=Pt(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),Pt(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function Da(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=Pi(this,e),l=c.on,u=c.value[a]==null?s||=wa(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function Oa(e,t,n){var r=(e+=``)==`transform`?ni:Ui;return t==null?this.styleTween(e,Ca(e,r)).on(`end.style.`+e,wa(e)):typeof t==`function`?this.styleTween(e,Ea(e,r,Hi(this,`style.`+e,t))).each(Da(this._id,e)):this.styleTween(e,Ta(e,r,t),n).on(`end.style.`+e,null)}function ka(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function Aa(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&ka(e,a,n)),r}return a._value=t,a}function ja(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,Aa(e,t,n??``))}function Ma(e){return function(){this.textContent=e}}function Na(e){return function(){var t=e(this);this.textContent=t??``}}function Pa(e){return this.tween(`text`,typeof e==`function`?Na(Hi(this,`text`,e)):Ma(e==null?``:e+``))}function Fa(e){return function(t){this.textContent=e.call(this,t)}}function Ia(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&Fa(r)),t}return r._value=e,r}function La(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,Ia(e))}function Ra(){for(var e=this._name,t=this._id,n=Ua(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=Fi(c,t);Mi(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Va(r,this._parents,e,n)}function za(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=Pi(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var Ba=0;function Va(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Ha(e){return On().transition(e)}function Ua(){return++Ba}var Wa=On.prototype;Va.prototype=Ha.prototype={constructor:Va,select:ya,selectAll:ba,selectChild:Wa.selectChild,selectChildren:Wa.selectChildren,filter:fa,merge:pa,selection:Sa,transition:Ra,call:Wa.call,nodes:Wa.nodes,node:Wa.node,size:Wa.size,empty:Wa.empty,each:Wa.each,on:ga,attr:Xi,attrTween:ta,style:Oa,styleTween:ja,text:Pa,textTween:La,remove:va,tween:Vi,delay:ia,duration:sa,ease:la,easeVarying:da,end:za,[Symbol.iterator]:Wa[Symbol.iterator]};function Ga(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Ka={time:null,delay:0,duration:250,ease:Ga};function qa(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function Ja(e){var t,n;e instanceof Va?(t=e._id,e=e._name):(t=Ua(),(n=Ka).time=bi(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&Mi(c,e,t,l,o,n||qa(c,t));return new Va(r,this._parents,e,t)}On.prototype.interrupt=Ri,On.prototype.transition=Ja;var Ya=e=>()=>e;function Xa(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Za(e,t,n){this.k=e,this.x=t,this.y=n}Za.prototype={constructor:Za,scale:function(e){return e===1?this:new Za(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Za(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return`translate(`+this.x+`,`+this.y+`) scale(`+this.k+`)`}};var Qa=new Za(1,0,0);$a.prototype=Za.prototype;function $a(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Qa;return e.__zoom}function eo(e){e.stopImmediatePropagation()}function to(e){e.preventDefault(),e.stopImmediatePropagation()}function no(e){return(!e.ctrlKey||e.type===`wheel`)&&!e.button}function ro(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute(`viewBox`)?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function io(){return this.__zoom||Qa}function ao(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function oo(){return navigator.maxTouchPoints||`ontouchstart`in this}function so(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function co(){var e=no,t=ro,n=so,r=ao,i=oo,a=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],s=250,c=ci,l=Oe(`start`,`zoom`,`end`),u,d,f,p=500,m=150,h=0,g=10;function _(e){e.property(`__zoom`,io).on(`wheel.zoom`,w,{passive:!1}).on(`mousedown.zoom`,T).on(`dblclick.zoom`,E).filter(i).on(`touchstart.zoom`,D).on(`touchmove.zoom`,O).on(`touchend.zoom touchcancel.zoom`,k).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}_.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property(`__zoom`,io),e===i?i.interrupt().each(function(){S(this,arguments).event(r).start().zoom(null,typeof t==`function`?t.apply(this,arguments):t).end()}):x(e,t,n,r)},_.scaleBy=function(e,t,n,r){_.scaleTo(e,function(){return this.__zoom.k*(typeof t==`function`?t.apply(this,arguments):t)},n,r)},_.scaleTo=function(e,r,i,a){_.transform(e,function(){var e=t.apply(this,arguments),a=this.__zoom,s=i==null?b(e):typeof i==`function`?i.apply(this,arguments):i,c=a.invert(s),l=typeof r==`function`?r.apply(this,arguments):r;return n(y(v(a,l),s,c),e,o)},i,a)},_.translateBy=function(e,r,i,a){_.transform(e,function(){return n(this.__zoom.translate(typeof r==`function`?r.apply(this,arguments):r,typeof i==`function`?i.apply(this,arguments):i),t.apply(this,arguments),o)},null,a)},_.translateTo=function(e,r,i,a,s){_.transform(e,function(){var e=t.apply(this,arguments),s=this.__zoom,c=a==null?b(e):typeof a==`function`?a.apply(this,arguments):a;return n(Qa.translate(c[0],c[1]).scale(s.k).translate(typeof r==`function`?-r.apply(this,arguments):-r,typeof i==`function`?-i.apply(this,arguments):-i),e,o)},a,s)};function v(e,t){return t=Math.max(a[0],Math.min(a[1],t)),t===e.k?e:new Za(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new Za(e.k,r,i)}function b(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function x(e,n,r,i){e.on(`start.zoom`,function(){S(this,arguments).event(i).start()}).on(`interrupt.zoom end.zoom`,function(){S(this,arguments).event(i).end()}).tween(`zoom`,function(){var e=this,a=arguments,o=S(e,a).event(i),s=t.apply(e,a),l=r==null?b(s):typeof r==`function`?r.apply(e,a):r,u=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),d=e.__zoom,f=typeof n==`function`?n.apply(e,a):n,p=c(d.invert(l).concat(u/d.k),f.invert(l).concat(u/f.k));return function(e){if(e===1)e=f;else{var t=p(e),n=u/t[2];e=new Za(n,l[0]-t[0]*n,l[1]-t[1]*n)}o.zoom(null,e)}})}function S(e,t,n){return!n&&e.__zooming||new C(e,t)}function C(e,n){this.that=e,this.args=n,this.active=0,this.sourceEvent=null,this.extent=t.apply(e,n),this.taps=0}C.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(`start`)),this},zoom:function(e,t){return this.mouse&&e!==`mouse`&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&e!==`touch`&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&e!==`touch`&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(`zoom`),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(`end`)),this},emit:function(e){var t=An(this.that).datum();l.call(e,this.that,new Xa(e,{sourceEvent:this.sourceEvent,target:_,type:e,transform:this.that.__zoom,dispatch:l}),t)}};function w(t,...i){if(!e.apply(this,arguments))return;var s=S(this,i).event(t),c=this.__zoom,l=Math.max(a[0],Math.min(a[1],c.k*2**r.apply(this,arguments))),u=Mn(t);if(s.wheel)(s.mouse[0][0]!==u[0]||s.mouse[0][1]!==u[1])&&(s.mouse[1]=c.invert(s.mouse[0]=u)),clearTimeout(s.wheel);else if(c.k===l)return;else s.mouse=[u,c.invert(u)],Li(this),s.start();to(t),s.wheel=setTimeout(d,m),s.zoom(`mouse`,n(y(v(c,l),s.mouse[0],s.mouse[1]),s.extent,o));function d(){s.wheel=null,s.end()}}function T(t,...r){if(f||!e.apply(this,arguments))return;var i=t.currentTarget,a=S(this,r,!0).event(t),s=An(t.view).on(`mousemove.zoom`,d,!0).on(`mouseup.zoom`,p,!0),c=Mn(t,i),l=t.clientX,u=t.clientY;Ln(t.view),eo(t),a.mouse=[c,this.__zoom.invert(c)],Li(this),a.start();function d(e){if(to(e),!a.moved){var t=e.clientX-l,r=e.clientY-u;a.moved=t*t+r*r>h}a.event(e).zoom(`mouse`,n(y(a.that.__zoom,a.mouse[0]=Mn(e,i),a.mouse[1]),a.extent,o))}function p(e){s.on(`mousemove.zoom mouseup.zoom`,null),Rn(e.view,a.moved),to(e),a.event(e).end()}}function E(r,...i){if(e.apply(this,arguments)){var a=this.__zoom,c=Mn(r.changedTouches?r.changedTouches[0]:r,this),l=a.invert(c),u=a.k*(r.shiftKey?.5:2),d=n(y(v(a,u),c,l),t.apply(this,i),o);to(r),s>0?An(this).transition().duration(s).call(x,d,c,r):An(this).call(_.transform,d,c,r)}}function D(t,...n){if(e.apply(this,arguments)){var r=t.touches,i=r.length,a=S(this,n,t.changedTouches.length===i).event(t),o,s,c,l;for(eo(t),s=0;s<i;++s)c=r[s],l=Mn(c,this),l=[l,this.__zoom.invert(l),c.identifier],a.touch0?!a.touch1&&a.touch0[2]!==l[2]&&(a.touch1=l,a.taps=0):(a.touch0=l,o=!0,a.taps=1+!!u);u&&=clearTimeout(u),o&&(a.taps<2&&(d=l[0],u=setTimeout(function(){u=null},p)),Li(this),a.start())}}function O(e,...t){if(this.__zooming){var r=S(this,t).event(e),i=e.changedTouches,a=i.length,s,c,l,u;for(to(e),s=0;s<a;++s)c=i[s],l=Mn(c,this),r.touch0&&r.touch0[2]===c.identifier?r.touch0[0]=l:r.touch1&&r.touch1[2]===c.identifier&&(r.touch1[0]=l);if(c=r.that.__zoom,r.touch1){var d=r.touch0[0],f=r.touch0[1],p=r.touch1[0],m=r.touch1[1],h=(h=p[0]-d[0])*h+(h=p[1]-d[1])*h,g=(g=m[0]-f[0])*g+(g=m[1]-f[1])*g;c=v(c,Math.sqrt(h/g)),l=[(d[0]+p[0])/2,(d[1]+p[1])/2],u=[(f[0]+m[0])/2,(f[1]+m[1])/2]}else if(r.touch0)l=r.touch0[0],u=r.touch0[1];else return;r.zoom(`touch`,n(y(c,l,u),r.extent,o))}}function k(e,...t){if(this.__zooming){var n=S(this,t).event(e),r=e.changedTouches,i=r.length,a,o;for(eo(e),f&&clearTimeout(f),f=setTimeout(function(){f=null},p),a=0;a<i;++a)o=r[a],n.touch0&&n.touch0[2]===o.identifier?delete n.touch0:n.touch1&&n.touch1[2]===o.identifier&&delete n.touch1;if(n.touch1&&!n.touch0&&(n.touch0=n.touch1,delete n.touch1),n.touch0)n.touch0[1]=this.__zoom.invert(n.touch0[0]);else if(n.end(),n.taps===2&&(o=Mn(o,this),Math.hypot(d[0]-o[0],d[1]-o[1])<g)){var s=An(this).on(`dblclick.zoom`);s&&s.apply(this,arguments)}}}return _.wheelDelta=function(e){return arguments.length?(r=typeof e==`function`?e:Ya(+e),_):r},_.filter=function(t){return arguments.length?(e=typeof t==`function`?t:Ya(!!t),_):e},_.touchable=function(e){return arguments.length?(i=typeof e==`function`?e:Ya(!!e),_):i},_.extent=function(e){return arguments.length?(t=typeof e==`function`?e:Ya([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),_):t},_.scaleExtent=function(e){return arguments.length?(a[0]=+e[0],a[1]=+e[1],_):[a[0],a[1]]},_.translateExtent=function(e){return arguments.length?(o[0][0]=+e[0][0],o[1][0]=+e[1][0],o[0][1]=+e[0][1],o[1][1]=+e[1][1],_):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},_.constrain=function(e){return arguments.length?(n=e,_):n},_.duration=function(e){return arguments.length?(s=+e,_):s},_.interpolate=function(e){return arguments.length?(c=e,_):c},_.on=function(){var e=l.on.apply(l,arguments);return e===l?_:e},_.clickDistance=function(e){return arguments.length?(h=(e=+e)*e,_):Math.sqrt(h)},_.tapDistance=function(e){return arguments.length?(g=+e,_):g},_}var lo={error001:(e=`react`)=>`Seems like you have not used ${e===`svelte`?`SvelteFlowProvider`:`ReactFlowProvider`} as an ancestor. Help: https://${e}flow.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:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>`The 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:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e===`source`?n:r}", edge id: ${t}.`,error010:()=>`Handle: No node id found. Make sure to only use a Handle inside a custom Node.`,error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e=`react`)=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/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.`,error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},uo=[[-1/0,-1/0],[1/0,1/0]],fo=[`Enter`,` `,`Escape`],po={"node.a11yDescription.default":`Press enter or space to select a node. Press delete to remove it and escape to cancel.`,"node.a11yDescription.keyboardDisabled":`Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.`,"node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":`Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.`,"controls.ariaLabel":`Control Panel`,"controls.zoomIn.ariaLabel":`Zoom In`,"controls.zoomOut.ariaLabel":`Zoom Out`,"controls.fitView.ariaLabel":`Fit View`,"controls.interactive.ariaLabel":`Toggle Interactivity`,"minimap.ariaLabel":`Mini Map`,"handle.ariaLabel":`Handle`},mo;(function(e){e.Strict=`strict`,e.Loose=`loose`})(mo||={});var ho;(function(e){e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`})(ho||={});var go;(function(e){e.Partial=`partial`,e.Full=`full`})(go||={});var _o={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},vo;(function(e){e.Bezier=`default`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e.SimpleBezier=`simplebezier`})(vo||={});var yo;(function(e){e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`})(yo||={});var q;(function(e){e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`})(q||={});var bo={[q.Left]:q.Right,[q.Right]:q.Left,[q.Top]:q.Bottom,[q.Bottom]:q.Top},xo=e=>!!e&&typeof e==`object`&&`id`in e&&`source`in e&&`target`in e,So=e=>!!e&&typeof e==`object`&&`id`in e&&`position`in e&&!(`source`in e)&&!(`target`in e),Co=e=>!!e&&typeof e==`object`&&`id`in e&&`internals`in e&&!(`source`in e)&&!(`target`in e),wo=(e,t=[0,0])=>{let{width:n,height:r}=is(e),i=e.origin??t,a=n*i[0],o=r*i[1];return{x:e.position.x-a,y:e.position.y-o}},To=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};let n=!1,r=e.reduce((e,r)=>{let i=typeof r==`string`,a=!t.nodeLookup&&!i?r:void 0;return t.nodeLookup&&(a=i?t.nodeLookup.get(r):Co(r)?r:t.nodeLookup.get(r.id)),a?(n=!0,Ro(e,Ho(a,t.nodeOrigin))):e},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return n?Bo(r):{x:0,y:0,width:0,height:0}},Eo=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(e=>{(t.filter===void 0||t.filter(e))&&(n=Ro(n,Ho(e)),r=!0)}),r?Bo(n):{x:0,y:0,width:0,height:0}},Do=(e,t,[n,r,i]=[0,0,1],a=!1,o=!1)=>{let s=(t.x-n)/i,c=(t.y-r)/i,l=t.width/i,u=t.height/i,d=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:r=!1}=t;if(o&&!n||r)continue;let i=e.width??t.width??t.initialWidth??0,f=e.height??t.height??t.initialHeight??0,{x:p,y:m}=t.internals.positionAbsolute,h=Wo(s,c,l,u,p,m,i,f),g=i*f,_=a&&h>0;(!t.internals.handleBounds||_||h>=g||t.dragging)&&d.push(t)}return d},Oo=(e,t)=>{let n=new Set;return e.forEach(e=>{n.add(e.id)}),t.filter(e=>n.has(e.source)||n.has(e.target))};function ko(e,t){let n=new Map,r=t?.nodes?new Set(t.nodes.map(e=>e.id)):null;return e.forEach(e=>{let i;if(t?.includeHiddenNodes){let{width:t,height:n}=is(e);i=t>0&&n>0}else i=!!(e.measured.width&&e.measured.height&&!e.hidden);i&&(!r||r.has(e.id))&&n.set(e.id,e)}),n}async function Ao({nodes:e,width:t,height:n,panZoom:r,minZoom:i,maxZoom:a},o){if(e.size===0)return!0;let s=ts(Eo(ko(e,o)),t,n,o?.minZoom??i,o?.maxZoom??a,o?.padding??.1);return await r.setViewport(s,{duration:o?.duration,ease:o?.ease,interpolate:o?.interpolate}),!0}function jo({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:i,onError:a}){let o=n.get(e),s=o.parentId?n.get(o.parentId):void 0,{x:c,y:l}=s?s.internals.positionAbsolute:{x:0,y:0},u=o.origin??r,d=o.extent||i;if(o.extent===`parent`&&!o.expandParent)if(!s)a?.(`005`,lo.error005());else{let{width:e,height:t}=is(s);e&&t&&(d=[[c,l],[c+e,l+t]])}else s&&rs(o.extent)&&(d=[[o.extent[0][0]+c,o.extent[0][1]+l],[o.extent[1][0]+c,o.extent[1][1]+l]]);let f=rs(d)?Po(t,d,o.measured):t;return(o.measured.width===void 0||o.measured.height===void 0)&&a?.(`015`,lo.error015()),{position:{x:f.x-c+(o.measured.width??0)*u[0],y:f.y-l+(o.measured.height??0)*u[1]},positionAbsolute:f}}async function Mo({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:i}){let a=new Set(e.map(e=>e.id)),o=[];for(let e of n){if(e.deletable===!1)continue;let t=a.has(e.id),n=!t&&e.parentId&&o.find(t=>t.id===e.parentId);(t||n)&&o.push(e)}let s=new Set(t.map(e=>e.id)),c=r.filter(e=>e.deletable!==!1),l=Oo(o,c);for(let e of c)s.has(e.id)&&!l.find(t=>t.id===e.id)&&l.push(e);if(!i)return{edges:l,nodes:o};let u=await i({nodes:o,edges:l});return typeof u==`boolean`?u?{edges:l,nodes:o}:{edges:[],nodes:[]}:u}var No=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Po=(e={x:0,y:0},t,n)=>({x:No(e.x,t[0][0],t[1][0]-(n?.width??0)),y:No(e.y,t[0][1],t[1][1]-(n?.height??0))});function Fo(e,t,n){let{width:r,height:i}=is(n),{x:a,y:o}=n.internals.positionAbsolute;return Po(e,[[a,o],[a+r,o+i]],t)}var Io=(e,t,n)=>e<t?No(Math.abs(e-t),1,t)/t:e>n?-No(Math.abs(e-n),1,t)/t:0,Lo=(e,t,n=15,r=40)=>[Io(e.x,r,t.width-r)*n,Io(e.y,r,t.height-r)*n],Ro=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),zo=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),Bo=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Vo=(e,t=[0,0])=>{let{x:n,y:r}=Co(e)?e.internals.positionAbsolute:wo(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},Ho=(e,t=[0,0])=>{let{x:n,y:r}=Co(e)?e.internals.positionAbsolute:wo(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},Uo=(e,t)=>Bo(Ro(zo(e),zo(t))),Wo=(e,t,n,r,i,a,o,s)=>{let c=Math.max(0,Math.min(e+n,i+o)-Math.max(e,i)),l=Math.max(0,Math.min(t+r,a+s)-Math.max(t,a));return Math.ceil(c*l)},Go=(e,t)=>Wo(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),Ko=e=>qo(e.width)&&qo(e.height)&&qo(e.x)&&qo(e.y),qo=e=>!isNaN(e)&&isFinite(e),Jo=(e,t)=>(e,t)=>{},Yo=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Xo=({x:e,y:t},[n,r,i],a=!1,o=[1,1])=>{let s={x:(e-n)/i,y:(t-r)/i};return a?Yo(s,o):s},Zo=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r});function Qo(e,t){if(typeof e==`number`)return Math.floor((t-t/(1+e))*.5);if(typeof e==`string`&&e.endsWith(`px`)){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if(typeof e==`string`&&e.endsWith(`%`)){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function $o(e,t,n){if(typeof e==`string`||typeof e==`number`){let r=Qo(e,n),i=Qo(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e==`object`){let r=Qo(e.top??e.y??0,n),i=Qo(e.bottom??e.y??0,n),a=Qo(e.left??e.x??0,t),o=Qo(e.right??e.x??0,t);return{top:r,right:o,bottom:i,left:a,x:a+o,y:r+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function es(e,t,n,r,i,a){let{x:o,y:s}=Zo(e,[t,n,r]),{x:c,y:l}=Zo({x:e.x+e.width,y:e.y+e.height},[t,n,r]),u=i-c,d=a-l;return{left:Math.floor(o),top:Math.floor(s),right:Math.floor(u),bottom:Math.floor(d)}}var ts=(e,t,n,r,i,a)=>{let o=$o(a,t,n),s=(t-o.x)/e.width,c=(n-o.y)/e.height,l=No(Math.min(s,c),r,i),u=e.x+e.width/2,d=e.y+e.height/2,f=t/2-u*l,p=n/2-d*l,m=es(e,f,p,l,t,n),h={left:Math.min(m.left-o.left,0),top:Math.min(m.top-o.top,0),right:Math.min(m.right-o.right,0),bottom:Math.min(m.bottom-o.bottom,0)};return{x:f-h.left+h.right,y:p-h.top+h.bottom,zoom:l}},ns=()=>typeof navigator<`u`&&navigator?.userAgent?.indexOf(`Mac`)>=0;function rs(e){return e!=null&&e!==`parent`}function is(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function as(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function os(e,t={width:0,height:0},n,r,i){let a={...e},o=r.get(n);if(o){let e=o.origin||i;a.x+=o.internals.positionAbsolute.x-(t.width??0)*e[0],a.y+=o.internals.positionAbsolute.y-(t.height??0)*e[1]}return a}function ss(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function cs(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function ls(e){return{...po,...e||{}}}function us(e){return e===null?null:e?`valid`:`invalid`}function ds(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){let{x:a,y:o}=_s(e),s=Xo({x:a-(i?.left??0),y:o-(i?.top??0)},r),{x:c,y:l}=n?Yo(s,t):s;return{xSnapped:c,ySnapped:l,...s}}var fs=e=>({width:e.offsetWidth,height:e.offsetHeight}),ps=e=>e?.getRootNode?.()||window?.document,ms=[`INPUT`,`SELECT`,`TEXTAREA`];function hs(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1?ms.includes(t.nodeName)||t.hasAttribute(`contenteditable`)||!!t.closest(`.nokey`):!1}var gs=e=>`clientX`in e,_s=(e,t)=>{let n=gs(e),r=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:i-(t?.top??0)}},vs=(e,t,n,r,i)=>{let a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(t=>{let a=t.getBoundingClientRect();return{id:t.getAttribute(`data-handleid`),type:e,nodeId:i,position:t.getAttribute(`data-handlepos`),x:(a.left-n.left)/r,y:(a.top-n.top)/r,...fs(t)}})};function ys({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:o,targetControlY:s}){let c=e*.125+i*.375+o*.375+n*.125,l=t*.125+a*.375+s*.375+r*.125;return[c,l,Math.abs(c-e),Math.abs(l-t)]}function bs(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function xs({pos:e,x1:t,y1:n,x2:r,y2:i,c:a}){switch(e){case q.Left:return[t-bs(t-r,a),n];case q.Right:return[t+bs(r-t,a),n];case q.Top:return[t,n-bs(n-i,a)];case q.Bottom:return[t,n+bs(i-n,a)]}}function Ss({sourceX:e,sourceY:t,sourcePosition:n=q.Bottom,targetX:r,targetY:i,targetPosition:a=q.Top,curvature:o=.25}){let[s,c]=xs({pos:n,x1:e,y1:t,x2:r,y2:i,c:o}),[l,u]=xs({pos:a,x1:r,y1:i,x2:e,y2:t,c:o}),[d,f,p,m]=ys({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:c,targetControlX:l,targetControlY:u});return[`M${e},${t} C${s},${c} ${l},${u} ${r},${i}`,d,f,p,m]}function Cs({sourceX:e,sourceY:t,targetX:n,targetY:r}){let i=Math.abs(n-e)/2,a=n<e?n+i:n-i,o=Math.abs(r-t)/2;return[a,r<t?r+o:r-o,i,o]}function ws({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:i=!1,zIndexMode:a=`basic`}){return a===`manual`?r:(i&&n?r+1e3:r)+Math.max(e.parentId||i&&e.selected?e.internals.z:0,t.parentId||i&&t.selected?t.internals.z:0)}function Ts({sourceNode:e,targetNode:t,width:n,height:r,transform:i}){let a=Ro(Ho(e),Ho(t));return a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1),Go({x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:r/i[2]},Bo(a))>0}var Es=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||``}-${n}${r||``}`,Ds=(e,t)=>t.some(t=>t.source===e.source&&t.target===e.target&&(t.sourceHandle===e.sourceHandle||!t.sourceHandle&&!e.sourceHandle)&&(t.targetHandle===e.targetHandle||!t.targetHandle&&!e.targetHandle)),Os=(e,t,n={})=>{if(!e.source||!e.target)return n.onError?.(`006`,lo.error006()),t;let r=n.getEdgeId||Es,i;return i=xo(e)?{...e}:{...e,id:r(e)},Ds(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))};function ks({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[i,a,o,s]=Cs({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,a,o,s]}var As={[q.Left]:{x:-1,y:0},[q.Right]:{x:1,y:0},[q.Top]:{x:0,y:-1},[q.Bottom]:{x:0,y:1}},js=({source:e,sourcePosition:t=q.Bottom,target:n})=>t===q.Left||t===q.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},Ms=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2);function Ns({source:e,sourcePosition:t=q.Bottom,target:n,targetPosition:r=q.Top,center:i,offset:a,stepPosition:o}){let s=As[t],c=As[r],l={x:e.x+s.x*a,y:e.y+s.y*a},u={x:n.x+c.x*a,y:n.y+c.y*a},d=js({source:l,sourcePosition:t,target:u}),f=d.x===0?`y`:`x`,p=d[f],m=[],h,g,_={x:0,y:0},v={x:0,y:0},[,,y,b]=Cs({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*c[f]===-1){f===`x`?(h=i.x??l.x+(u.x-l.x)*o,g=i.y??(l.y+u.y)/2):(h=i.x??(l.x+u.x)/2,g=i.y??l.y+(u.y-l.y)*o);let e=[{x:h,y:l.y},{x:h,y:u.y}],t=[{x:l.x,y:g},{x:u.x,y:g}];m=s[f]===p?f===`x`?e:t:f===`x`?t:e}else{let i=[{x:l.x,y:u.y}],o=[{x:u.x,y:l.y}];if(m=f===`x`?s.x===p?o:i:s.y===p?i:o,t===r){let t=Math.abs(e[f]-n[f]);if(t<=a){let r=Math.min(a-1,a-t);s[f]===p?_[f]=(l[f]>e[f]?-1:1)*r:v[f]=(u[f]>n[f]?-1:1)*r}}if(t!==r){let e=f===`x`?`y`:`x`,t=s[f]===c[e],n=l[e]>u[e],r=l[e]<u[e];(s[f]===1&&(!t&&n||t&&r)||s[f]!==1&&(!t&&r||t&&n))&&(m=f===`x`?i:o)}let d={x:l.x+_.x,y:l.y+_.y},y={x:u.x+v.x,y:u.y+v.y};Math.max(Math.abs(d.x-m[0].x),Math.abs(y.x-m[0].x))>=Math.max(Math.abs(d.y-m[0].y),Math.abs(y.y-m[0].y))?(h=(d.x+y.x)/2,g=m[0].y):(h=m[0].x,g=(d.y+y.y)/2)}let x={x:l.x+_.x,y:l.y+_.y},S={x:u.x+v.x,y:u.y+v.y};return[[e,...x.x!==m[0].x||x.y!==m[0].y?[x]:[],...m,...S.x!==m[m.length-1].x||S.y!==m[m.length-1].y?[S]:[],n],h,g,y,b]}function Ps(e,t,n,r){let i=Math.min(Ms(e,t)/2,Ms(t,n)/2,r),{x:a,y:o}=t;if(e.x===a&&a===n.x||e.y===o&&o===n.y)return`L${a} ${o}`;if(e.y===o){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${a+i*t},${o}Q ${a},${o} ${a},${o+i*r}`}let s=e.x<n.x?1:-1;return`L ${a},${o+i*(e.y<n.y?-1:1)}Q ${a},${o} ${a+i*s},${o}`}function Fs({sourceX:e,sourceY:t,sourcePosition:n=q.Bottom,targetX:r,targetY:i,targetPosition:a=q.Top,borderRadius:o=5,centerX:s,centerY:c,offset:l=20,stepPosition:u=.5}){let[d,f,p,m,h]=Ns({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:a,center:{x:s,y:c},offset:l,stepPosition:u}),g=`M${d[0].x} ${d[0].y}`;for(let e=1;e<d.length-1;e++)g+=Ps(d[e-1],d[e],d[e+1],o);return g+=`L${d[d.length-1].x} ${d[d.length-1].y}`,[g,f,p,m,h]}function Is(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function Ls(e){let{sourceNode:t,targetNode:n}=e;if(!Is(t)||!Is(n))return null;let r=t.internals.handleBounds||Rs(t.handles),i=n.internals.handleBounds||Rs(n.handles),a=Bs(r?.source??[],e.sourceHandle),o=Bs(e.connectionMode===mo.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),e.targetHandle);if(!a||!o)return e.onError?.(`008`,lo.error008(a?`target`:`source`,{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let s=a?.position||q.Bottom,c=o?.position||q.Top,l=zs(t,a,s),u=zs(n,o,c);return{sourceX:l.x,sourceY:l.y,targetX:u.x,targetY:u.y,sourcePosition:s,targetPosition:c}}function Rs(e){if(!e)return null;let t=[],n=[];for(let r of e)r.width=r.width??1,r.height=r.height??1,r.type===`source`?t.push(r):r.type===`target`&&n.push(r);return{source:t,target:n}}function zs(e,t,n=q.Left,r=!1){let i=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:o,height:s}=t??is(e);if(r)return{x:i+o/2,y:a+s/2};switch(t?.position??n){case q.Top:return{x:i+o/2,y:a};case q.Right:return{x:i+o,y:a+s/2};case q.Bottom:return{x:i+o/2,y:a+s};case q.Left:return{x:i,y:a+s/2}}}function Bs(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function Vs(e,t){return e?typeof e==`string`?e:`${t?`${t}__`:``}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join(`&`)}`:``}function Hs(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:i}){let a=new Set;return e.reduce((e,o)=>([o.markerStart||r,o.markerEnd||i].forEach(r=>{if(r&&typeof r==`object`){let i=Vs(r,t);a.has(i)||(e.push({id:i,color:r.color||n,...r}),a.add(i))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}var Us=1e3,Ws=10,Gs={nodeOrigin:[0,0],nodeExtent:uo,elevateNodesOnSelect:!0,zIndexMode:`basic`,defaults:{}},Ks={...Gs,checkEquality:!0};function qs(e,t){let n={...e};for(let e in t)t[e]!==void 0&&(n[e]=t[e]);return n}function Js(e,t,n){let r=qs(Gs,n);for(let n of e.values())if(n.parentId)$s(n,e,t,r);else{let e=Po(wo(n,r.nodeOrigin),rs(n.extent)?n.extent:r.nodeExtent,is(n));n.internals.positionAbsolute=e}}function Ys(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],r=[];for(let t of e.handles){let i={id:t.id,width:t.width??1,height:t.height??1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};t.type===`source`?n.push(i):t.type===`target`&&r.push(i)}return{source:n,target:r}}function Xs(e){return e===`manual`}function Zs(e,t,n,r={}){let i=qs(Ks,r),a={i:0},o=new Map(t),s=i?.elevateNodesOnSelect&&!Xs(i.zIndexMode)?Us:0,c=e.length>0,l=!1;t.clear(),n.clear();for(let u of e){let e=o.get(u.id);if(i.checkEquality&&u===e?.internals.userNode)t.set(u.id,e);else{let n=Po(wo(u,i.nodeOrigin),rs(u.extent)?u.extent:i.nodeExtent,is(u));e={...i.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:n,handleBounds:Ys(u,e),z:ec(u,s,i.zIndexMode),userNode:u}},t.set(u.id,e)}(e.measured===void 0||e.measured.width===void 0||e.measured.height===void 0)&&!e.hidden&&(c=!1),u.parentId&&$s(e,t,n,r,a),l||=u.selected??!1}return{nodesInitialized:c,hasSelectedNodes:l}}function Qs(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function $s(e,t,n,r,i){let{elevateNodesOnSelect:a,nodeOrigin:o,nodeExtent:s,zIndexMode:c}=qs(Gs,r),l=e.parentId,u=t.get(l);if(!u){console.warn(`Parent node ${l} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Qs(e,n),i&&!u.parentId&&u.internals.rootParentIndex===void 0&&c===`auto`&&(u.internals.rootParentIndex=++i.i,u.internals.z=u.internals.z+i.i*Ws),i&&u.internals.rootParentIndex!==void 0&&(i.i=u.internals.rootParentIndex);let{x:d,y:f,z:p}=tc(e,u,o,s,a&&!Xs(c)?Us:0,c),{positionAbsolute:m}=e.internals,h=d!==m.x||f!==m.y;(h||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:h?{x:d,y:f}:m,z:p}})}function ec(e,t,n){let r=qo(e.zIndex)?e.zIndex:0;return Xs(n)?r:r+(e.selected?t:0)}function tc(e,t,n,r,i,a){let{x:o,y:s}=t.internals.positionAbsolute,c=is(e),l=wo(e,n),u=rs(e.extent)?Po(l,e.extent,c):l,d=Po({x:o+u.x,y:s+u.y},r,c);e.extent===`parent`&&(d=Fo(d,c,t));let f=ec(e,i,a),p=t.internals.z??0;return{x:d.x,y:d.y,z:p>=f?p+1:f}}function nc(e,t,n,r=[0,0]){let i=[],a=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let r=Uo(a.get(n.parentId)?.expandedRect??Vo(e),n.rect);a.set(n.parentId,{expandedRect:r,parent:e})}return a.size>0&&a.forEach(({expandedRect:t,parent:a},o)=>{let s=a.internals.positionAbsolute,c=is(a),l=a.origin??r,u=t.x<s.x?Math.round(Math.abs(s.x-t.x)):0,d=t.y<s.y?Math.round(Math.abs(s.y-t.y)):0,f=Math.max(c.width,Math.round(t.width)),p=Math.max(c.height,Math.round(t.height)),m=(f-c.width)*l[0],h=(p-c.height)*l[1];(u>0||d>0||m||h)&&(i.push({id:o,type:`position`,position:{x:a.position.x-u+m,y:a.position.y-d+h}}),n.get(o)?.forEach(t=>{e.some(e=>e.id===t.id)||i.push({id:t.id,type:`position`,position:{x:t.position.x+u,y:t.position.y+d}})})),(c.width<t.width||c.height<t.height||u||d)&&i.push({id:o,type:`dimensions`,setAttributes:!0,dimensions:{width:f+(u?l[0]*u-m:0),height:p+(d?l[1]*d-h:0)}})}),i}function rc(e,t,n,r,i,a,o){let s=r?.querySelector(`.xyflow__viewport`),c=!1;if(!s)return{changes:[],updatedInternals:c};let l=[],u=window.getComputedStyle(s),{m22:d}=new window.DOMMatrixReadOnly(u.transform),f=[];for(let r of e.values()){let e=t.get(r.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),c=!0;continue}let s=fs(r.nodeElement),u=e.measured.width!==s.width||e.measured.height!==s.height;if(s.width&&s.height&&(u||!e.internals.handleBounds||r.force)){let p=r.nodeElement.getBoundingClientRect(),m=rs(e.extent)?e.extent:a,{positionAbsolute:h}=e.internals;if(e.parentId&&e.extent===`parent`){let n=t.get(e.parentId);n&&(h=Fo(h,s,n))}else m&&(h=Po(h,m,s));let g={...e,measured:s,internals:{...e.internals,positionAbsolute:h,handleBounds:{source:vs(`source`,r.nodeElement,p,d,e.id),target:vs(`target`,r.nodeElement,p,d,e.id)}}};t.set(e.id,g),e.parentId&&$s(g,t,n,{nodeOrigin:i,zIndexMode:o}),c=!0,u&&(l.push({id:e.id,type:`dimensions`,dimensions:s}),e.expandParent&&e.parentId&&f.push({id:e.id,parentId:e.parentId,rect:Vo(g,i)}))}}if(f.length>0){let e=nc(f,t,n,i);l.push(...e)}return{changes:l,updatedInternals:c}}async function ic({delta:e,panZoom:t,transform:n,translateExtent:r,width:i,height:a}){if(!t||!e.x&&!e.y)return!1;let o=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,a]],r);return!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2])}function ac(e,t,n,r,i,a){let o=i,s=r.get(o)||new Map;r.set(o,s.set(n,t)),o=`${i}-${e}`;let c=r.get(o)||new Map;if(r.set(o,c.set(n,t)),a){o=`${i}-${e}-${a}`;let s=r.get(o)||new Map;r.set(o,s.set(n,t))}}function oc(e,t,n){e.clear(),t.clear();for(let r of n){let{source:n,target:i,sourceHandle:a=null,targetHandle:o=null}=r,s={edgeId:r.id,source:n,target:i,sourceHandle:a,targetHandle:o},c=`${n}-${a}--${i}-${o}`;ac(`source`,s,`${i}-${o}--${n}-${a}`,e,n,a),ac(`target`,s,c,e,i,o),t.set(r.id,r)}}function sc(e,t){if(!e.parentId)return!1;let n=t.get(e.parentId);return n?n.selected?!0:sc(n,t):!1}function cc(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function lc(e,t,n,r){let i=new Map;for(let[a,o]of e)if((o.selected||o.id===r)&&(!o.parentId||!sc(o,e))&&(o.draggable||t&&o.draggable===void 0)){let t=e.get(a);t&&i.set(a,{id:a,position:t.position||{x:0,y:0},distance:{x:n.x-t.internals.positionAbsolute.x,y:n.y-t.internals.positionAbsolute.y},extent:t.extent,parentId:t.parentId,origin:t.origin,expandParent:t.expandParent,internals:{positionAbsolute:t.internals.positionAbsolute||{x:0,y:0}},measured:{width:t.measured.width??0,height:t.measured.height??0}})}return i}function uc({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){let i=[];for(let[e,a]of t){let t=n.get(e)?.internals.userNode;t&&i.push({...t,position:a.position,dragging:r})}if(!e)return[i[0],i];let a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:i[0],i]}function dc({dragItems:e,snapGrid:t,x:n,y:r}){let i=e.values().next().value;if(!i)return null;let a={x:n-i.distance.x,y:r-i.distance.y},o=Yo(a,t);return{x:o.x-a.x,y:o.y-a.y}}function fc({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:i}){let a={x:null,y:null},o=0,s=new Map,c=!1,l={x:0,y:0},u=null,d=!1,f=null,p=!1,m=!1,h=null;function g({noDragClassName:g,handleSelector:_,domNode:v,isSelectable:y,nodeId:b,nodeClickDistance:x=0}){f=An(v);function S({x:e,y:n}){let{nodeLookup:i,nodeExtent:o,snapGrid:c,snapToGrid:l,nodeOrigin:u,onNodeDrag:d,onSelectionDrag:f,onError:p,updateNodePositions:g}=t();a={x:e,y:n};let _=!1,v=s.size>1,y=v&&o?zo(Eo(s)):null,x=v&&l?dc({dragItems:s,snapGrid:c,x:e,y:n}):null;for(let[t,r]of s){if(!i.has(t))continue;let a={x:e-r.distance.x,y:n-r.distance.y};l&&(a=x?{x:Math.round(a.x+x.x),y:Math.round(a.y+x.y)}:Yo(a,c));let s=null;if(v&&o&&!r.extent&&y){let{positionAbsolute:e}=r.internals,t=e.x-y.x+o[0][0],n=e.x+r.measured.width-y.x2+o[1][0],i=e.y-y.y+o[0][1],a=e.y+r.measured.height-y.y2+o[1][1];s=[[t,i],[n,a]]}let{position:d,positionAbsolute:f}=jo({nodeId:t,nextPosition:a,nodeLookup:i,nodeExtent:s||o,nodeOrigin:u,onError:p});_=_||r.position.x!==d.x||r.position.y!==d.y,r.position=d,r.internals.positionAbsolute=f}if(m||=_,_&&(g(s,!0),h&&(r||d||!b&&f))){let[e,t]=uc({nodeId:b,dragItems:s,nodeLookup:i});r?.(h,s,e,t),d?.(h,e,t),b||f?.(h,t)}}async function C(){if(!u)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:i}=t();if(!i){c=!1,cancelAnimationFrame(o);return}let[s,d]=Lo(l,u,r);(s!==0||d!==0)&&(a.x=(a.x??0)-s/e[2],a.y=(a.y??0)-d/e[2],await n({x:s,y:d})&&S(a)),o=requestAnimationFrame(C)}function w(r){let{nodeLookup:i,multiSelectionActive:o,nodesDraggable:c,transform:l,snapGrid:f,snapToGrid:p,selectNodesOnDrag:m,onNodeDragStart:h,onSelectionDragStart:g,unselectNodesAndEdges:_}=t();d=!0,(!m||!y)&&!o&&b&&(i.get(b)?.selected||_()),y&&m&&b&&e?.(b);let v=ds(r.sourceEvent,{transform:l,snapGrid:f,snapToGrid:p,containerBounds:u});if(a=v,s=lc(i,c,v,b),s.size>0&&(n||h||!b&&g)){let[e,t]=uc({nodeId:b,dragItems:s,nodeLookup:i});n?.(r.sourceEvent,s,e,t),h?.(r.sourceEvent,e,t),b||g?.(r.sourceEvent,t)}}let T=Gn().clickDistance(x).on(`start`,e=>{let{domNode:n,nodeDragThreshold:r,transform:i,snapGrid:o,snapToGrid:s}=t();u=n?.getBoundingClientRect()||null,p=!1,m=!1,h=e.sourceEvent,r===0&&w(e),a=ds(e.sourceEvent,{transform:i,snapGrid:o,snapToGrid:s,containerBounds:u}),l=_s(e.sourceEvent,u)}).on(`drag`,e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:i,snapToGrid:o,nodeDragThreshold:f,nodeLookup:m}=t(),g=ds(e.sourceEvent,{transform:r,snapGrid:i,snapToGrid:o,containerBounds:u});if(h=e.sourceEvent,(e.sourceEvent.type===`touchmove`&&e.sourceEvent.touches.length>1||b&&!m.has(b))&&(p=!0),!p){if(!c&&n&&d&&(c=!0,C()),!d){let t=_s(e.sourceEvent,u),n=t.x-l.x,r=t.y-l.y;Math.sqrt(n*n+r*r)>f&&w(e)}(a.x!==g.xSnapped||a.y!==g.ySnapped)&&s&&d&&(l=_s(e.sourceEvent,u),S(g))}}).on(`end`,e=>{if(!d||p){p&&s.size>0&&t().updateNodePositions(s,!1);return}if(c=!1,d=!1,cancelAnimationFrame(o),s.size>0){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:a,onSelectionDragStop:o}=t();if(m&&=(r(s,!1),!1),i||a||!b&&o){let[t,r]=uc({nodeId:b,dragItems:s,nodeLookup:n,dragging:!1});i?.(e.sourceEvent,s,t,r),a?.(e.sourceEvent,t,r),b||o?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!g||!cc(t,`.${g}`,v))&&(!_||cc(t,_,v))});f.call(T)}function _(){f?.on(`.drag`,null)}return{update:g,destroy:_}}function pc(e,t,n){let r=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(let e of t.values())Go(i,Vo(e))>0&&r.push(e);return r}var mc=250;function hc(e,t,n,r){let i=[],a=1/0,o=pc(e,n,t+mc);for(let n of o){let o=[...n.internals.handleBounds?.source??[],...n.internals.handleBounds?.target??[]];for(let s of o){if(r.nodeId===s.nodeId&&r.type===s.type&&r.id===s.id)continue;let{x:o,y:c}=zs(n,s,s.position,!0),l=Math.sqrt((o-e.x)**2+(c-e.y)**2);l>t||(l<a?(i=[{...s,x:o,y:c}],a=l):l===a&&i.push({...s,x:o,y:c}))}}if(!i.length)return null;if(i.length>1){let e=r.type===`source`?`target`:`source`;return i.find(t=>t.type===e)??i[0]}return i[0]}function gc(e,t,n,r,i,a=!1){let o=r.get(e);if(!o)return null;let s=i===`strict`?o.internals.handleBounds?.[t]:[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]],c=(n?s?.find(e=>e.id===n):s?.[0])??null;return c&&a?{...c,...zs(o,c,c.position,!0)}:c}function _c(e,t){return e||(t?.classList.contains(`target`)?`target`:t?.classList.contains(`source`)?`source`:null)}function vc(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}var yc=()=>!0;function bc(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:i,edgeUpdaterType:a,isTarget:o,domNode:s,nodeLookup:c,lib:l,autoPanOnConnect:u,flowId:d,panBy:f,cancelConnection:p,onConnectStart:m,onConnect:h,onConnectEnd:g,isValidConnection:_=yc,onReconnectEnd:v,updateConnection:y,getTransform:b,getFromHandle:x,autoPanSpeed:S,dragThreshold:C=1,handleDomNode:w}){let T=ps(e.target),E=0,D,{x:O,y:k}=_s(e),A=_c(a,w),j=s?.getBoundingClientRect(),M=!1;if(!j||!A)return;let N=gc(i,A,r,c,t);if(!N)return;let P=_s(e,j),F=!1,I=null,ee=!1,L=null;function te(){if(!u||!j)return;let[e,t]=Lo(P,j,S);f({x:e,y:t}),E=requestAnimationFrame(te)}let R={...N,nodeId:i,type:A,position:N.position},z=c.get(i),ne={inProgress:!0,isValid:null,from:zs(z,R,q.Left,!0),fromHandle:R,fromPosition:R.position,fromNode:z,to:P,toHandle:null,toPosition:bo[R.position],toNode:null,pointer:P};function re(){M=!0,y(ne),m?.(e,{nodeId:i,handleId:r,handleType:A})}C===0&&re();function ie(e){if(!M){let{x:t,y:n}=_s(e),r=t-O,i=n-k;if(!(r*r+i*i>C*C))return;re()}if(!x()||!R){ae(e);return}let a=b();P=_s(e,j),D=hc(Xo(P,a,!1,[1,1]),n,c,R),F||=(te(),!0);let s=xc(e,{handle:D,connectionMode:t,fromNodeId:i,fromHandleId:r,fromType:o?`target`:`source`,isValidConnection:_,doc:T,lib:l,flowId:d,nodeLookup:c});L=s.handleDomNode,I=s.connection,ee=vc(!!D,s.isValid);let u=c.get(i),f=u?zs(u,R,q.Left,!0):ne.from,p={...ne,from:f,isValid:ee,to:s.toHandle&&ee?Zo({x:s.toHandle.x,y:s.toHandle.y},a):P,toHandle:s.toHandle,toPosition:ee&&s.toHandle?s.toHandle.position:bo[R.position],toNode:s.toHandle?c.get(s.toHandle.nodeId):null,pointer:P};y(p),ne=p}function ae(e){if(!(`touches`in e&&e.touches.length>0)){if(M){(D||L)&&I&&ee&&h?.(I);let{inProgress:t,...n}=ne,r={...n,toPosition:ne.toHandle?ne.toPosition:null};g?.(e,r),a&&v?.(e,r)}p(),cancelAnimationFrame(E),F=!1,ee=!1,I=null,L=null,T.removeEventListener(`mousemove`,ie),T.removeEventListener(`mouseup`,ae),T.removeEventListener(`touchmove`,ie),T.removeEventListener(`touchend`,ae)}}T.addEventListener(`mousemove`,ie),T.addEventListener(`mouseup`,ae),T.addEventListener(`touchmove`,ie),T.addEventListener(`touchend`,ae)}function xc(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:a,doc:o,lib:s,flowId:c,isValidConnection:l=yc,nodeLookup:u}){let d=a===`target`,f=t?o.querySelector(`.${s}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:p,y:m}=_s(e),h=o.elementFromPoint(p,m),g=h?.classList.contains(`${s}-flow__handle`)?h:f,_={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let e=_c(void 0,g),t=g.getAttribute(`data-nodeid`),a=g.getAttribute(`data-handleid`),o=g.classList.contains(`connectable`),s=g.classList.contains(`connectableend`);if(!t||!e)return _;let c={source:d?t:r,sourceHandle:d?a:i,target:d?r:t,targetHandle:d?i:a};_.connection=c,_.isValid=o&&s&&(n===mo.Strict?d&&e===`source`||!d&&e===`target`:t!==r||a!==i)&&l(c),_.toHandle=gc(t,e,a,u,n,!0)}return _}var Sc={onPointerDown:bc,isValid:xc};function Cc({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){let i=An(e);function a({translateExtent:e,width:a,height:o,zoomStep:s=1,pannable:c=!0,zoomable:l=!0,inversePan:u=!1}){let d=e=>{if(e.sourceEvent.type!==`wheel`||!t)return;let r=n(),i=e.sourceEvent.ctrlKey&&ns()?10:1,a=-e.sourceEvent.deltaY*(e.sourceEvent.deltaMode===1?.05:e.sourceEvent.deltaMode?1:.002)*s,o=r[2]*2**(a*i);t.scaleTo(o)},f=[0,0],p=co().on(`start`,e=>{(e.sourceEvent.type===`mousedown`||e.sourceEvent.type===`touchstart`)&&(f=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on(`zoom`,c?i=>{let s=n();if(i.sourceEvent.type!==`mousemove`&&i.sourceEvent.type!==`touchmove`||!t)return;let c=[i.sourceEvent.clientX??i.sourceEvent.touches[0].clientX,i.sourceEvent.clientY??i.sourceEvent.touches[0].clientY],l=[c[0]-f[0],c[1]-f[1]];f=c;let d=r()*Math.max(s[2],Math.log(s[2]))*(u?-1:1),p={x:s[0]-l[0]*d,y:s[1]-l[1]*d},m=[[0,0],[a,o]];t.setViewportConstrained({x:p.x,y:p.y,zoom:s[2]},m,e)}:null).on(`zoom.wheel`,l?d:null);i.call(p,{})}function o(){i.on(`zoom`,null)}return{update:a,destroy:o,pointer:Mn}}var wc=e=>({x:e.x,y:e.y,zoom:e.k}),Tc=({x:e,y:t,zoom:n})=>Qa.translate(e,t).scale(n),Ec=(e,t)=>e.target.closest(`.${t}`),Dc=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Oc=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,kc=(e,t=0,n=Oc,r=()=>{})=>{let i=typeof t==`number`&&t>0;return i||r(),i?e.transition().duration(t).ease(n).on(`end`,r):e},Ac=e=>{let t=e.ctrlKey&&ns()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function jc({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:o,onPanZoomStart:s,onPanZoom:c,onPanZoomEnd:l}){return u=>{if(Ec(u,t))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();let d=n.property(`__zoom`).k||1;if(u.ctrlKey&&o){let e=Mn(u),t=d*2**Ac(u);r.scaleTo(n,t,e,u);return}let f=u.deltaMode===1?20:1,p=i===ho.Vertical?0:u.deltaX*f,m=i===ho.Horizontal?0:u.deltaY*f;!ns()&&u.shiftKey&&i!==ho.Vertical&&(p=u.deltaY*f,m=0),r.translateBy(n,-(p/d)*a,-(m/d)*a,{internal:!0});let h=wc(n.property(`__zoom`));clearTimeout(e.panScrollTimeout),e.isPanScrolling?c?.(u,h):(e.isPanScrolling=!0,s?.(u,h)),e.panScrollTimeout=setTimeout(()=>{l?.(u,h),e.isPanScrolling=!1},150)}}function Mc({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,i){let a=r.type===`wheel`,o=!t&&a&&!r.ctrlKey,s=Ec(r,e);if(r.ctrlKey&&a&&s&&r.preventDefault(),o||s)return null;r.preventDefault(),n.call(this,r,i)}}function Nc({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let i=wc(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=i,r.sourceEvent?.type===`mousedown`&&t(!0),n&&n?.(r.sourceEvent,i)}}function Pc({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return a=>{e.usedRightMouseButton=!!(n&&Dc(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),i&&!a.sourceEvent?.internal&&i?.(a.sourceEvent,wc(a.transform))}}function Fc({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:a}){return o=>{if(!o.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&Dc(t,e.mouseButton??0)&&!e.usedRightMouseButton&&o.sourceEvent&&a(o.sourceEvent),e.usedRightMouseButton=!1,r(!1),i)){let t=wc(o.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i?.(o.sourceEvent,t)},n?150:0)}}}function Ic({panActivationKeyPressed:e,zoomActivationKeyPressed:t,zoomOnScroll:n,zoomOnPinch:r,panOnDrag:i,panOnScroll:a,zoomOnDoubleClick:o,userSelectionActive:s,noWheelClassName:c,noPanClassName:l,lib:u,connectionInProgress:d}){return f=>{let p=t||n,m=r&&f.ctrlKey,h=f.type===`wheel`;if(f.button===1&&f.type===`mousedown`&&(Ec(f,`${u}-flow__node`)||Ec(f,`${u}-flow__edge`)||Ec(f,`${u}-flow__selection`)||Ec(f,`${u}-flow__nodesselection`)))return!0;if(!i&&!p&&!a&&!o&&!r||s||d&&!h||Ec(f,c)&&h||Ec(f,l)&&(!h||a&&h&&!t)||!r&&f.ctrlKey&&h)return!1;if(!r&&f.type===`touchstart`&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!a&&!m&&h||!i&&(f.type===`mousedown`||f.type===`touchstart`)||Array.isArray(i)&&!i.includes(f.button)&&f.type===`mousedown`)return!1;let g=Array.isArray(i)&&i.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||h||e)&&g}}function Lc({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:i,onPanZoom:a,onPanZoomStart:o,onPanZoomEnd:s,onDraggingChange:c}){let l={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},u=e.getBoundingClientRect(),d=[[0,0],[u.width,u.height]];(typeof ResizeObserver<`u`?new ResizeObserver(e=>{let t=e[0];t&&(d=[[0,0],[t.contentRect.width,t.contentRect.height]])}):null)?.observe(e);let f=co().extent(()=>d).scaleExtent([t,n]).translateExtent(r),p=An(e).call(f);y({x:i.x,y:i.y,zoom:No(i.zoom,t,n)},[[0,0],[u.width,u.height]],r);let m=p.on(`wheel.zoom`),h=p.on(`dblclick.zoom`);f.wheelDelta(Ac);async function g(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?Jr:ci).transform(kc(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function _({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:i,panOnDrag:u,panOnScrollMode:d,panOnScrollSpeed:g,preventScrolling:_,zoomOnPinch:y,zoomOnScroll:b,zoomOnDoubleClick:x,panActivationKeyPressed:S=!1,zoomActivationKeyPressed:C,lib:w,onTransformChange:T,connectionInProgress:E,paneClickDistance:D,selectionOnDrag:O}){r&&!l.isZoomingOrPanning&&v();let k=i&&!C&&!r;f.clickDistance(O?1/0:!qo(D)||D<0?0:D);let A=k?jc({zoomPanValues:l,noWheelClassName:e,d3Selection:p,d3Zoom:f,panOnScrollMode:d,panOnScrollSpeed:g,zoomOnPinch:y,onPanZoomStart:o,onPanZoom:a,onPanZoomEnd:s}):Mc({noWheelClassName:e,preventScrolling:_,d3ZoomHandler:m});p.on(`wheel.zoom`,A,{passive:!1});let j=Nc({zoomPanValues:l,onDraggingChange:c,onPanZoomStart:o});f.on(`start`,j);let M=Pc({zoomPanValues:l,panOnDrag:u,onPaneContextMenu:!!n,onPanZoom:a,onTransformChange:T});f.on(`zoom`,M);let N=Fc({zoomPanValues:l,panOnDrag:u,panOnScroll:i,onPaneContextMenu:n,onPanZoomEnd:s,onDraggingChange:c});f.on(`end`,N);let P=Ic({panActivationKeyPressed:S,zoomActivationKeyPressed:C,panOnDrag:u,zoomOnScroll:b,panOnScroll:i,zoomOnDoubleClick:x,zoomOnPinch:y,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:w,connectionInProgress:E});f.filter(P),x?p.on(`dblclick.zoom`,h):p.on(`dblclick.zoom`,null)}function v(){f.on(`zoom`,null)}async function y(e,t,n){let r=Tc(e),i=f?.constrain()(r,t,n);return i&&await g(i),i}async function b(e,t){let n=Tc(e);return await g(n,t),n}function x(e){if(p){let t=Tc(e),n=p.property(`__zoom`);(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&f?.transform(p,t,null,{sync:!0})}}function S(){let e=p?$a(p.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}}async function C(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?Jr:ci).scaleTo(kc(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}async function w(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?Jr:ci).scaleBy(kc(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function T(e){f?.scaleExtent(e)}function E(e){f?.translateExtent(e)}function D(e){let t=!qo(e)||e<0?0:e;f?.clickDistance(t)}return{update:_,destroy:v,setViewport:b,setViewportConstrained:y,getViewport:S,scaleTo:C,scaleBy:w,setScaleExtent:T,setTranslateExtent:E,syncViewport:x,setClickDistance:D}}var Rc;(function(e){e.Line=`line`,e.Handle=`handle`})(Rc||={});function zc({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:i,affectsY:a}){let o=e-t,s=n-r,c=[o>0?1:o<0?-1:0,s>0?1:s<0?-1:0];return o&&i&&(c[0]*=-1),s&&a&&(c[1]*=-1),c}function Bc(e){return{isHorizontal:e.includes(`right`)||e.includes(`left`),isVertical:e.includes(`bottom`)||e.includes(`top`),affectsX:e.includes(`left`),affectsY:e.includes(`top`)}}function Vc(e,t){return Math.max(0,t-e)}function Hc(e,t){return Math.max(0,e-t)}function Uc(e,t,n){return Math.max(0,t-e,e-n)}function Wc(e,t){return e?!t:t}function Gc(e,t,n,r,i,a,o,s){let{affectsX:c,affectsY:l}=t,{isHorizontal:u,isVertical:d}=t,f=u&&d,{xSnapped:p,ySnapped:m}=n,{minWidth:h,maxWidth:g,minHeight:_,maxHeight:v}=r,{x:y,y:b,width:x,height:S,aspectRatio:C}=e,w=Math.floor(u?p-e.pointerX:0),T=Math.floor(d?m-e.pointerY:0),E=x+(c?-w:w),D=S+(l?-T:T),O=-a[0]*x,k=-a[1]*S,A=Uc(E,h,g),j=Uc(D,_,v);if(o){let e=0,t=0;c&&w<0?e=Vc(y+w+O,o[0][0]):!c&&w>0&&(e=Hc(y+E+O,o[1][0])),l&&T<0?t=Vc(b+T+k,o[0][1]):!l&&T>0&&(t=Hc(b+D+k,o[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(s){let e=0,t=0;c&&w>0?e=Hc(y+w,s[0][0]):!c&&w<0&&(e=Vc(y+E,s[1][0])),l&&T>0?t=Hc(b+T,s[0][1]):!l&&T<0&&(t=Vc(b+D,s[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(i){if(u){let e=Uc(E/C,_,v)*C;if(A=Math.max(A,e),o){let e=0;e=!c&&!l||c&&!l&&f?Hc(b+k+E/C,o[1][1])*C:Vc(b+k+(c?w:-w)/C,o[0][1])*C,A=Math.max(A,e)}if(s){let e=0;e=!c&&!l||c&&!l&&f?Vc(b+E/C,s[1][1])*C:Hc(b+(c?w:-w)/C,s[0][1])*C,A=Math.max(A,e)}}if(d){let e=Uc(D*C,h,g)/C;if(j=Math.max(j,e),o){let e=0;e=!c&&!l||l&&!c&&f?Hc(y+D*C+O,o[1][0])/C:Vc(y+(l?T:-T)*C+O,o[0][0])/C,j=Math.max(j,e)}if(s){let e=0;e=!c&&!l||l&&!c&&f?Vc(y+D*C,s[1][0])/C:Hc(y+(l?T:-T)*C,s[0][0])/C,j=Math.max(j,e)}}}T+=T<0?j:-j,w+=w<0?A:-A,i&&(f?E>D*C?T=(Wc(c,l)?-w:w)/C:w=(Wc(c,l)?-T:T)*C:u?(T=w/C,l=c):(w=T*C,c=l));let M=c?y+w:y,N=l?b+T:b;return{width:x+(c?-w:w),height:S+(l?-T:T),x:a[0]*w*(c?-1:1)+M,y:a[1]*T*(l?-1:1)+N}}var Kc={width:0,height:0,x:0,y:0},qc={...Kc,pointerX:0,pointerY:0,aspectRatio:1};function Jc(e,t,n){let r=t.position.x+e.position.x,i=t.position.y+e.position.y,a=e.measured.width??0,o=e.measured.height??0,s=n[0]*a,c=n[1]*o;return[[r-s,i-c],[r+a-s,i+o-c]]}function Yc({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:i}){let a=An(e),o={controlDirection:Bc(`bottom-right`),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function s({controlPosition:e,boundaries:s,keepAspectRatio:c,resizeDirection:l,onResizeStart:u,onResize:d,onResizeEnd:f,shouldResize:p}){let m={...Kc},h={...qc};o={boundaries:s,resizeDirection:l,keepAspectRatio:c,controlDirection:Bc(e)};let g,_=null,v=[],y,b,x,S=Gn().on(`start`,e=>{let{nodeLookup:r,transform:i,snapGrid:a,snapToGrid:o,nodeOrigin:s,paneDomNode:c}=n();if(g=r.get(t),!g)return;_=c?.getBoundingClientRect()??null;let{xSnapped:l,ySnapped:d}=ds(e.sourceEvent,{transform:i,snapGrid:a,snapToGrid:o,containerBounds:_});m={width:g.measured.width??0,height:g.measured.height??0,x:g.position.x??0,y:g.position.y??0},h={...m,pointerX:l,pointerY:d,aspectRatio:m.width/m.height},y=void 0,b=rs(g.extent)?g.extent:void 0,g.parentId&&(g.extent===`parent`||g.expandParent)&&(y=r.get(g.parentId)),y&&g.extent===`parent`&&(b=[[0,0],[y.measured.width,y.measured.height]]),v=[],x=void 0;for(let[e,n]of r)if(n.parentId===t&&(v.push({id:e,position:{...n.position},extent:n.extent}),n.extent===`parent`||n.expandParent)){let e=Jc(n,g,n.origin??s);x=x?[[Math.min(e[0][0],x[0][0]),Math.min(e[0][1],x[0][1])],[Math.max(e[1][0],x[1][0]),Math.max(e[1][1],x[1][1])]]:e}u?.(e,{...m})}).on(`drag`,e=>{let{transform:t,snapGrid:i,snapToGrid:a,nodeOrigin:s}=n(),c=ds(e.sourceEvent,{transform:t,snapGrid:i,snapToGrid:a,containerBounds:_}),l=[];if(!g)return;let{x:u,y:f,width:S,height:C}=m,w={},T=g.origin??s,{width:E,height:D,x:O,y:k}=Gc(h,o.controlDirection,c,o.boundaries,o.keepAspectRatio,T,b,x),A=E!==S,j=D!==C,M=O!==u&&A,N=k!==f&&j;if(!M&&!N&&!A&&!j)return;let P={prevValues:{...m},startX:h.x,startY:h.y,childNodes:v.map(e=>({...e,position:{...e.position}}))};if((M||N||T[0]===1||T[1]===1)&&(w.x=M?O:m.x,w.y=N?k:m.y,m.x=w.x,m.y=w.y,v.length>0)){let e=O-u,t=k-f;for(let n of v)n.position={x:n.position.x-e+T[0]*(E-S),y:n.position.y-t+T[1]*(D-C)},l.push(n)}if((A||j)&&(w.width=A&&(!o.resizeDirection||o.resizeDirection===`horizontal`)?E:m.width,w.height=j&&(!o.resizeDirection||o.resizeDirection===`vertical`)?D:m.height,m.width=w.width,m.height=w.height),y&&g.expandParent){let e=T[0]*(w.width??0);w.x&&w.x<e&&(m.x=e,h.x-=w.x-e);let t=T[1]*(w.height??0);w.y&&w.y<t&&(m.y=t,h.y-=w.y-t)}let F=zc({width:m.width,prevWidth:S,height:m.height,prevHeight:C,affectsX:o.controlDirection.affectsX,affectsY:o.controlDirection.affectsY}),I={...m,direction:F};if(p?.(e,I)===!1){m=P.prevValues,h.x=P.startX,h.y=P.startY,v.forEach((e,t)=>{e.position=P.childNodes[t].position});return}d?.(e,I),r(w,l)}).on(`end`,e=>{f?.(e,{...m}),i?.({...m})});a.call(S)}function c(){a.on(`.drag`,null)}return{update:s,destroy:c}}var Xc=t((e=>{var t=n();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),Zc=t(((e,t)=>{t.exports=Xc()})),Qc=t((e=>{var t=n(),r=Zc();function i(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var a=typeof Object.is==`function`?Object.is:i,o=r.useSyncExternalStore,s=t.useRef,c=t.useEffect,l=t.useMemo,u=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var d=s(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=l(function(){function e(e){if(!o){if(o=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,a(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var o=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=o(e,d[0],d[1]);return c(function(){f.hasValue=!0,f.value=p},[p]),u(p),p}})),$c=e(t(((e,t)=>{t.exports=Qc()}))(),1),el=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{n.clear()}},o=t=e(r,i,a);return a},tl=e=>e?el(e):el,{useDebugValue:nl}=H.default,{useSyncExternalStoreWithSelector:rl}=$c.default,il=e=>e;function al(e,t=il,n){let r=rl(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return nl(r),r}var ol=(e,t)=>{let n=tl(e),r=(e,r=t)=>al(n,e,r);return Object.assign(r,n),r},sl=(e,t)=>e?ol(e,t):ol;function J(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}r();var cl=(0,H.createContext)(null),ll=cl.Provider,ul=lo.error001(`react`);function Y(e,t){let n=(0,H.useContext)(cl);if(n===null)throw Error(ul);return al(n,e,t)}function X(){let e=(0,H.useContext)(cl);if(e===null)throw Error(ul);return(0,H.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}var dl={display:`none`},fl={position:`absolute`,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0px, 0px, 0px, 0px)`,clipPath:`inset(100%)`},pl=`react-flow__node-desc`,ml=`react-flow__edge-desc`,hl=`react-flow__aria-live`,gl=e=>e.ariaLiveMessage,_l=e=>e.ariaLabelConfig;function vl({rfId:e}){let t=Y(gl);return(0,U.jsx)(`div`,{id:`${hl}-${e}`,"aria-live":`assertive`,"aria-atomic":`true`,style:fl,children:t})}function yl({rfId:e,disableKeyboardA11y:t}){let n=Y(_l);return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`div`,{id:`${pl}-${e}`,style:dl,children:t?n[`node.a11yDescription.default`]:n[`node.a11yDescription.keyboardDisabled`]}),(0,U.jsx)(`div`,{id:`${ml}-${e}`,style:dl,children:n[`edge.a11yDescription.default`]}),!t&&(0,U.jsx)(vl,{rfId:e})]})}var bl=(0,H.forwardRef)(({position:e=`top-left`,children:t,className:n,style:r,...i},a)=>(0,U.jsx)(`div`,{className:W([`react-flow__panel`,n,...`${e}`.split(`-`)]),style:r,ref:a,...i,children:t}));bl.displayName=`Panel`;var xl=`https://reactflow.dev?utm_source=attribution`;function Sl({proOptions:e,position:t=`bottom-right`}){return(0,H.useEffect)(()=>{},[]),e?.hideAttribution?null:(0,U.jsx)(bl,{position:t,className:`react-flow__attribution`,"data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${xl}`,children:(0,U.jsx)(`a`,{href:xl,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`React Flow attribution`,children:`React Flow`})})}var Cl=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},wl=e=>e.id;function Tl(e,t){return J(e.selectedNodes.map(wl),t.selectedNodes.map(wl))&&J(e.selectedEdges.map(wl),t.selectedEdges.map(wl))}function El({onSelectionChange:e}){let t=X(),{selectedNodes:n,selectedEdges:r}=Y(Cl,Tl);return(0,H.useEffect)(()=>{let i={nodes:n,edges:r};e?.(i),t.getState().onSelectionChangeHandlers.forEach(e=>e(i))},[n,r,e]),null}var Dl=e=>!!e.onSelectionChangeHandlers;function Ol({onSelectionChange:e}){let t=Y(Dl);return e||t?(0,U.jsx)(El,{onSelectionChange:e}):null}var kl=[0,0],Al={x:0,y:0,zoom:1},jl=[...`nodes.edges.defaultNodes.defaultEdges.onConnect.onConnectStart.onConnectEnd.onClickConnectStart.onClickConnectEnd.nodesDraggable.autoPanOnNodeFocus.nodesConnectable.nodesFocusable.edgesFocusable.edgesReconnectable.elevateNodesOnSelect.elevateEdgesOnSelect.minZoom.maxZoom.nodeExtent.onNodesChange.onEdgesChange.elementsSelectable.connectionMode.snapGrid.snapToGrid.translateExtent.connectOnClick.defaultEdgeOptions.fitView.fitViewOptions.onNodesDelete.onEdgesDelete.onDelete.onNodeDrag.onNodeDragStart.onNodeDragStop.onSelectionDrag.onSelectionDragStart.onSelectionDragStop.onMoveStart.onMove.onMoveEnd.noPanClassName.nodeOrigin.autoPanOnConnect.autoPanOnNodeDrag.onError.connectionRadius.isValidConnection.selectNodesOnDrag.nodeDragThreshold.connectionDragThreshold.onBeforeDelete.debug.autoPanSpeed.ariaLabelConfig.zIndexMode`.split(`.`),`rfId`],Ml=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),Nl={translateExtent:uo,nodeOrigin:kl,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:`nopan`,rfId:`1`};function Pl(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:i,setTranslateExtent:a,setNodeExtent:o,reset:s,setDefaultNodesAndEdges:c}=Y(Ml,J),l=X();(0,H.useEffect)(()=>(c(e.defaultNodes,e.defaultEdges),()=>{u.current=Nl,s()}),[]);let u=(0,H.useRef)(Nl);return(0,H.useEffect)(()=>{for(let s of jl){let c=e[s];c!==u.current[s]&&e[s]!==void 0&&(s===`nodes`?t(c):s===`edges`?n(c):s===`minZoom`?r(c):s===`maxZoom`?i(c):s===`translateExtent`?a(c):s===`nodeExtent`?o(c):s===`ariaLabelConfig`?l.setState({ariaLabelConfig:ls(c)}):s===`fitView`?l.setState({fitViewQueued:c}):s===`fitViewOptions`?l.setState({fitViewOptions:c}):l.setState({[s]:c}))}u.current=e},jl.map(t=>e[t])),null}function Fl(){return typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`)}function Il(e){let[t,n]=(0,H.useState)(e===`system`?null:e);return(0,H.useEffect)(()=>{if(e!==`system`){n(e);return}let t=Fl(),r=()=>n(t?.matches?`dark`:`light`);return r(),t?.addEventListener(`change`,r),()=>{t?.removeEventListener(`change`,r)}},[e]),t===null?Fl()?.matches?`dark`:`light`:t}var Ll=typeof document<`u`?document:null;function Rl(e=null,t={target:Ll,actInsideInputWithModifier:!0}){let[n,r]=(0,H.useState)(!1),i=(0,H.useRef)(!1),a=(0,H.useRef)(new Set([])),[o,s]=(0,H.useMemo)(()=>{if(e!==null){let t=(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`).map(e=>e.replace(/\+/g,`
|
|
2
2
|
`).replace(`
|
|
3
3
|
|
|
4
4
|
`,`
|
|
@@ -9,5 +9,5 @@ import{r as e,t}from"./rolldown-runtime-QTnfLwEv.js";import{i as n,r,t as i}from
|
|
|
9
9
|
`),i=(r?t.slice(0,-1):t).split(`
|
|
10
10
|
`);return[`${n}${e}: ${r?`|`:`|-`}`,...i.map(e=>e?`${n} ${e}`:``)]}return[`${n}${e}: ${C_(t)}`]}function T_(e,t,n){let r=[`name: ${C_(e.trim()||`my-workflow`)}`];t.trim()&&r.push(...w_(`description`,t.trim(),``));let i=i_(n);if(i)return`${[...r,`skills:`,...i.map(e=>` - ${C_(e)}`)].join(`
|
|
11
11
|
`)}\n`;let a=[`version: 2`,...r];a.push(`nodes:`);for(let e of n.nodes){let{id:t,...n}=e;a.push(` - id: ${C_(t)}`,...Object.entries(n).flatMap(([e,t])=>w_(e,t,` `)))}a.push(`edges:`);for(let e of n.edges)a.push(` - { from: ${C_(e.from)}, to: ${C_(e.to)} }`);if(n.layout&&Object.keys(n.layout).length){a.push(`layout:`);for(let[e,t]of Object.entries(n.layout))a.push(` ${C_(e)}: { x: ${Math.round(t.x)}, y: ${Math.round(t.y)} }`)}return`${a.join(`
|
|
12
|
-
`)}\n`}function E_(e){return`${e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||`workflow`}.yaml`}function D_(e,t){let n=t.graphState?.taken??[],r=new Map,i=new Set;for(let e of n){r.set(e,(r.get(e)??0)+1);let t=e.slice(e.indexOf(`->`)+2);t&&i.add(t)}let a=new Map;for(let r of e.nodes){let e=t.steps.find(e=>e.id===r.id);if(e)a.set(r.id,{status:e.status,...e.iterations?{iterations:e.iterations}:{},...e.costUsd?{costUsd:e.costUsd}:{}});else if(r.type===`loop`){let e=t.graphState?.loops[r.id];a.set(r.id,{status:i.has(r.id)?`reached`:`pending`,...e?{loopCount:e}:{}})}else{let e=r.type===`start`?n.length>0:i.has(r.id);a.set(r.id,{status:e?`reached`:`pending`})}}return{nodes:a,edges:r}}function O_(e,t,n={w:240,h:110}){let r=Object.values(e??{}),i={...t};for(let e=0;e<200;e++){if(!r.some(e=>Math.abs(e.x-i.x)<n.w&&Math.abs(e.y-i.y)<n.h))return i;i.y+=n.h}return i}function k_(e,t){let n=e.layout??{},r=e.nodes.flatMap(t=>{let r=n[t.id];if(!r)return[];let i=p_(e,t),a=s_.has(t.type),o=a?216:64;return[{id:t.id,x0:r.x-(a?0:64/2),x1:r.x-i.dx+i.w,y0:r.y,y1:r.y+64+(a?0:c_-6),tileRight:r.x+o}]}),i=new Map(r.map(e=>[e.id,e])),a=(t,r)=>{let i=e.nodes.find(e=>e.id===t),a=i?Z(i):[],o=Math.max(0,a.indexOf(r));return(n[t]?.y??0)+(o+1)/(a.length+1)*64},o=(e,t,n,i,a)=>r.some(r=>!a.has(r.id)&&r.x0-10<Math.max(e,n)&&r.x1+10>Math.min(e,n)&&r.y0-10<Math.max(t,i)&&r.y1+10>Math.min(t,i)),s=new Map,c=[];for(let e of t){let t=i.get(e.from),l=i.get(e.to);if(!t||!l)continue;let u=a(e.from,e.port),d=(n[e.to]?.y??0)+64/2,f=t.x1+12,p=l.x0-14,[m,h]=[Math.min(f,p),Math.max(f,p)],g=r.filter(e=>e.x0-10<h&&e.x1+10>m).map(e=>[e.y0-10,e.y1+10]).sort((e,t)=>e[0]-t[0]),_=[Math.min(...g.map(e=>e[0]))-8,Math.max(...g.map(e=>e[1]))+8],v=-1/0;for(let[e,t]of g)v!==-1/0&&e-v>=14&&_.push((v+e)/2),v=Math.max(v,t);let y=t=>!o(f,u,f,t,new Set([e.from]))&&!o(m,t,h,t,new Set)&&!o(p,t,p,d,new Set([e.to])),b=e=>Math.abs(e-u)+Math.abs(e-d)+(h-m),x=[...new Set(_)].sort((e,t)=>b(e)-b(t)),S=x.find(y)??x[0],C=S>=(u+d)/2;for(;c.some(e=>e.x0<h&&e.x1>m&&Math.abs(e.y-S)<12);)S+=C?12:-12;c.push({x0:m,x1:h,y:S}),s.set(e.key,{y:S,outX:f,inX:p})}return s}function A_(e,t=12){if(e.length<2)return``;let n=`M ${e[0].x} ${e[0].y}`;for(let r=1;r<e.length-1;r++){let[i,a,o]=[e[r-1],e[r],e[r+1]],s=Math.hypot(a.x-i.x,a.y-i.y),c=Math.hypot(o.x-a.x,o.y-a.y),l=Math.min(t,s/2,c/2),u={x:a.x-(a.x-i.x)/(s||1)*l,y:a.y-(a.y-i.y)/(s||1)*l},d={x:a.x+(o.x-a.x)/(c||1)*l,y:a.y+(o.y-a.y)/(c||1)*l};n+=` L ${u.x} ${u.y} Q ${a.x} ${a.y} ${d.x} ${d.y}`}let r=e[e.length-1];return`${n} L ${r.x} ${r.y}`}var j_=[{id:`agents`,label:`Agents`,color:`var(--violet)`},{id:`flow`,label:`Flow control`,color:`var(--primary)`},{id:`scripts`,label:`Scripts & checks`,color:`var(--info)`},{id:`git`,label:`Git & GitHub`,color:`var(--foreground)`}],M_={start:`flow`,end:`flow`,loop:`flow`,"gate.human":`flow`,agent:`agents`,"ask-user":`agents`,dispatch:`agents`,check:`scripts`,"git.commit":`git`,"github.draft-pr":`git`,"github.wait-ci":`git`,"github.pr-comment":`git`,fork:`flow`,join:`flow`,if:`flow`,workflow:`flow`,"git.push":`git`,"git.sync-base":`git`,"github.pr-update":`git`,"github.issue-comment":`git`,"notify.webhook":`scripts`},N_={start:ne,end:be,loop:V,agent:T,check:N,"gate.human":xe,"ask-user":Ce,dispatch:ye,"git.commit":P,"github.draft-pr":L,"github.wait-ci":Te,"github.pr-comment":z,fork:I,join:Se,if:we,workflow:D,"git.push":F,"git.sync-base":te,"github.pr-update":oe,"github.issue-comment":z,"notify.webhook":Ee},P_={success:`var(--success)`,failure:`var(--danger)`,verdict:`var(--violet)`,neutral:`var(--muted-foreground)`},F_={start:`Start`,end:`End`,loop:`Loop`,agent:`Agent`,check:`Check`,"gate.human":`Human gate`,"ask-user":`Ask user`,dispatch:`Subtask`,"git.commit":`Commit`,"github.draft-pr":`Draft PR`,"github.wait-ci":`Wait for CI`,"github.pr-comment":`PR comment`,fork:`Fork`,join:`Join`,if:`If`,workflow:`Sub-workflow`,"git.push":`Push`,"git.sync-base":`Sync with base`,"github.pr-update":`Update PR`,"github.issue-comment":`Issue comment`,"notify.webhook":`Webhook`},I_=e=>j_.find(t=>t.id===M_[e])?.color??`var(--muted-foreground)`,L_=s_;function R_(e,t){switch(e.type){case`agent`:return[e.review?`reviewer`:``,e.runner??``,e.budgetUsd?`$${e.budgetUsd}`:``,e.skill?`/${e.skill}`:``,e.session?`↺ ${e.session.continue}`:``].filter(Boolean).join(` · `)||`agent`;case`dispatch`:return[e.runner??`subtask`,e.budgetUsd?`$${e.budgetUsd}`:``].filter(Boolean).join(` · `);case`check`:return`$ ${e.command}`;case`loop`:return t?`${t} / ${e.max}`:`max ${e.max}`;case`end`:return e.status===`failed`?`fails the run`:`succeeds`;case`gate.human`:return e.message;case`ask-user`:return e.question;case`git.commit`:return e.message;case`github.draft-pr`:return e.title??`task title`;case`github.wait-ci`:return`≤ ${Math.round(e.timeoutMs/6e4)} min`;case`github.pr-comment`:return e.body;case`fork`:return`${e.branches} agents at once`;case`join`:return e.wait===`any`?`first to succeed`:`wait for all`;case`workflow`:return e.workflow;case`git.push`:return`task branch → origin`;case`git.sync-base`:return`merge latest base`;case`github.pr-update`:return[e.ready?`ready`:``,e.addLabels?.length?`+${e.addLabels.join(`, `)}`:``,e.reviewers?.length?`@${e.reviewers.join(`, @`)}`:``].filter(Boolean).join(` · `)||`no changes`;case`github.issue-comment`:return e.issue?`#${e.issue}`:`task's issue`;case`notify.webhook`:return e.url.replace(/^https?:\/\//,``);case`if`:{let t=e.condition;switch(t.kind){case`diff-lines`:return`lines ${t.op} ${t.value}`;case`diff-files`:return`files ${t.op} ${t.value}`;case`paths-changed`:return`changed ${t.glob}`;case`output`:return`${t.ref} ${t.op} ${t.value}`;case`branch`:return`base ${t.op} ${t.value}`}return``}default:return``}}var z_={running:{ring:`ring-2 ring-primary shadow-lg shadow-primary/25`,dot:`bg-primary motion-safe:animate-pulse`,label:`running`},waiting:{ring:`ring-2 ring-info`,dot:`bg-info motion-safe:animate-pulse`,label:`needs you`},done:{ring:``,dot:`bg-success`,label:`done`},failed:{ring:`ring-2 ring-danger`,dot:`bg-danger`,label:`failed`},cancelled:{ring:``,dot:`bg-muted-foreground`,label:`cancelled`}},B_={running:`bg-primary motion-safe:animate-pulse`,waiting:`bg-info motion-safe:animate-pulse`,done:`bg-success`,failed:`bg-danger`};function V_({steps:e}){return(0,U.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1 text-[10px] text-muted-foreground`,"aria-label":`steps inside`,children:[e.slice(0,6).map((e,t)=>(0,U.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,title:`${e.name}${e.status?` — ${e.status}`:``}`,children:[t>0&&(0,U.jsx)(`span`,{"aria-hidden":`true`,children:`→`}),(0,U.jsx)(`span`,{className:y(`size-1.5 shrink-0 rounded-full`,e.status&&B_[e.status]||`bg-muted-foreground/40`)}),(0,U.jsx)(`span`,{className:`truncate`,children:e.name})]},e.id)),e.length>6&&(0,U.jsxs)(`span`,{children:[`+`,e.length-6]})]})}var H_=(0,H.memo)(function({node:e,selected:t,issue:n,status:r,loopCount:i,iterations:a,costUsd:o,wired:s,connectable:c=!0,onAddFromPort:l,inner:u,subtaskTo:d}){let f=N_[e.type],p=I_(e.type),m=Z(e),h=L_.has(e.type),g=e.name??(h?F_[e.type]:e.id),_=R_(e,i),v=r?z_[r]:void 0,b=[a&&a>1?`×${a}`:``,o?`$${o.toFixed(2)}`:``].filter(Boolean).join(` · `),x=e.type===`start`?`rounded-l-[32px] rounded-r-xl`:e.type===`end`?`rounded-full`:`rounded-xl`;return(0,U.jsxs)(`div`,{"data-node-type":e.type,"data-node-status":r,className:y(`group relative`,r===`pending`&&`opacity-45`),title:h?void 0:`${g} — ${_}`,children:[(0,U.jsxs)(`div`,{className:y(`relative flex items-center border bg-card text-card-foreground transition-[border-color,box-shadow]`,`border-border group-hover:border-muted-foreground/60`,x,h?`h-16 gap-3 px-4`:`size-16 justify-center`,t&&`border-primary ring-2 ring-primary/40`,n&&`ring-2 ring-danger`,v?.ring),style:{width:h?216:64},children:[e.type!==`start`&&(0,U.jsx)(Fu,{type:`target`,position:q.Left,isConnectable:c,className:`!h-4 !w-1.5 !rounded-sm !border-0 !bg-muted-foreground/70`}),(0,U.jsx)(f,{className:y(`shrink-0`,h?`size-6`:`size-7`),style:{color:p},strokeWidth:1.75}),h&&(0,U.jsxs)(`div`,{className:`min-w-0`,children:[(0,U.jsx)(`div`,{className:`truncate text-[13px] font-medium leading-tight`,children:g}),u?.length?(0,U.jsx)(V_,{steps:u}):(0,U.jsx)(`div`,{className:`truncate text-[11px] text-muted-foreground`,children:_})]}),d&&(0,U.jsx)(C,{to:d,className:`nodrag nopan absolute right-1.5 bottom-1 rounded p-0.5 text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,"aria-label":`Open the subtask for ${g}`,title:`Open the subtask`,onClick:e=>e.stopPropagation(),children:(0,U.jsx)(M,{className:`size-3`})}),v&&(0,U.jsx)(`span`,{className:y(`absolute -top-1 -right-1 size-2.5 rounded-full ring-2 ring-background`,v.dot),"aria-label":v.label}),e.type===`loop`&&i?(0,U.jsxs)(`span`,{className:`absolute -bottom-1.5 left-1/2 -translate-x-1/2 rounded-full border border-border bg-background px-1.5 text-[9px] leading-4 text-muted-foreground`,children:[i,`/`,e.max]}):null,m.map((t,n)=>{let r=P_[Bg(e,t)],i=`${(n+1)/(m.length+1)*100}%`,a=s!==void 0&&!s.includes(t);return(0,U.jsxs)(`div`,{children:[(0,U.jsx)(Fu,{id:t,type:`source`,position:q.Right,isConnectable:c,className:`!size-2.5 !border-[1.5px]`,style:{top:i,borderColor:r,background:a?`var(--card)`:r}}),(m.length>1||a&&l)&&(0,U.jsxs)(`div`,{className:`absolute left-[calc(100%+9px)] flex -translate-y-1/2 items-center`,style:{top:i},children:[m.length>1&&(0,U.jsx)(`span`,{className:`pointer-events-none whitespace-nowrap rounded bg-background px-1 text-[10px] leading-4`,style:{color:r},children:t}),a&&l&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`span`,{"aria-hidden":`true`,className:`h-px w-6 bg-border`}),(0,U.jsx)(`button`,{type:`button`,className:`nodrag nopan flex size-5 items-center justify-center rounded-md border border-border bg-card text-muted-foreground hover:border-primary hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,"aria-label":`Add a node after ${e.name??e.id} → ${t}`,title:`Add a node on “${t}”`,onClick:e=>{e.stopPropagation(),l(t)},children:(0,U.jsx)(ie,{className:`size-3`})})]})]})]},t)})]}),!h&&(0,U.jsxs)(`div`,{className:`pointer-events-none absolute top-full left-1/2 mt-1.5 -translate-x-1/2 text-center`,style:{width:128},children:[(0,U.jsx)(`div`,{className:`truncate text-[11px] leading-tight text-foreground/85`,children:g}),_?(0,U.jsx)(`div`,{className:`truncate text-[10px] text-muted-foreground`,children:_}):null]}),b?(0,U.jsx)(`div`,{className:y(`pointer-events-none absolute left-1/2 -translate-x-1/2 text-[10px] text-muted-foreground`,h?`top-full mt-1`:`top-full mt-9`),children:b}):null]})});function U_(e){let t=e.tone===`failure`?`color-mix(in oklab, var(--danger) 55%, transparent)`:`color-mix(in oklab, var(--muted-foreground) 55%, transparent)`;return{stroke:e.emphasis===`taken`?e.tone===`failure`?`var(--danger)`:`var(--primary)`:t,strokeWidth:e.emphasis===`taken`?2.5:1.5,strokeDasharray:e.back?`5 4`:void 0,opacity:e.emphasis===`dim`?.35:1}}function W_({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i,targetPosition:a,data:o,style:s,markerEnd:c}){let l=o?.lane;if(l===void 0){let[o]=Fs({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i,targetPosition:a,offset:28,borderRadius:14});return(0,U.jsx)(hd,{path:o,style:s,markerEnd:c})}let u=l.y,d=Math.max(e+12,l.outX),f=Math.min(n-12,l.inX);return(0,U.jsx)(hd,{path:A_([{x:e,y:t},{x:d,y:t},{x:d,y:u},{x:f,y:u},{x:f,y:r},{x:n,y:r}]),style:s,markerEnd:c})}var G_={lane:W_};function K_(e,t){let n=[];for(let r of e.nodes)for(let i of Z(r)){let a=Hg(e,r.id,i);if(!a)continue;let o=`${r.id}.${i}->${a}`,s=(e.layout?.[a]?.x??0)<=(e.layout?.[r.id]?.x??0);(t.has(o)||s||q_(e,r.id,i,a))&&n.push({key:o,from:r.id,port:i,to:a})}return k_(e,n)}function q_(e,t,n,r){let i=e.layout??{},a=e.nodes.find(e=>e.id===t),o=i[t],s=i[r];if(!a||!o||!s)return!1;let c=Z(a),l=o.x+(s_.has(a.type)?216:64),u=o.y+(Math.max(0,c.indexOf(n))+1)/(c.length+1)*64,d=s.x,f=s.y+64/2,[p,m]=[Math.min(l,d),Math.max(l,d)],[h,g]=[Math.min(u,f)-6,Math.max(u,f)+6];return e.nodes.some(e=>{if(e.id===t||e.id===r)return!1;let n=i[e.id];if(!n)return!1;let a=s_.has(e.type)?216:64,o=s_.has(e.type)?0:34;return n.x<m&&n.x+a>p&&n.y<g&&n.y+64+o>h})}var J_=[`claude`,`codex`,`opencode`,`cursor`,`pi`],Y_=`application/x-cezar-node`;function X_({data:e,selected:t}){return(0,U.jsx)(H_,{inner:Q_(e.node),node:e.node,wired:e.wired,selected:t,issue:e.issue,status:e.status,loopCount:e.loopCount,onAddFromPort:e.onAddFromPort})}var Z_={graph:X_};function Q_(e){let t=p({enabled:e.type===`workflow`});if(e.type!==`workflow`)return;let n=t.data?.workflows.find(t=>t.name===e.workflow);if(!n)return;let r=n.graph?n.graph.nodes.filter(e=>e.type!==`start`&&e.type!==`end`&&e.type!==`loop`&&e.type!==`join`).map(e=>({id:e.id,name:e.name??e.id})):n.steps.map(e=>({id:e.id,name:e.name??e.id}));return r.length?r:void 0}function $_(e,t){let n=[...e.taken,...t.transitions.filter(e=>e.to).map(e=>`${e.from}.${e.port}->${e.to}`)],r=[...e.log,...t.transitions.map(e=>`${e.from}.${e.port} → ${e.to??`(ends run)`}`)],i=[...e.visited,...t.transitions.flatMap(e=>e.to?[e.to]:[])];return t.kind===`end`?{...e,cursor:null,taken:n,log:r,visited:i,finished:t.status}:{...e,cursor:t.node,taken:n,log:r,visited:i}}function ev(e,t,n,r){let i=new Map(t.loops),a=e.nodes.find(e=>e.id===n)?.type===`fork`;return $_({...t,loops:i},a?x_(e,n,r,i):b_(e,n,r,i))}function tv(e){let t=new Map,n=e.nodes.find(e=>e.type===`start`),r={cursor:null,visited:[],taken:[],loops:t,log:[]};return n?$_({...r,visited:[n.id]},b_(e,n.id,`next`,t)):{...r,finished:`failed`,log:[`no start node`]}}function nv(e,t){if(e)return e.cursor===t?`running`:e.visited.includes(t)?`reached`:`pending`}function rv(){return(0,U.jsx)(df,{children:(0,U.jsx)(av,{})})}function iv({side:e,title:t,onClose:n,children:r,label:i}){return(0,U.jsxs)(`aside`,{"aria-label":i,className:y(`absolute top-3 bottom-3 z-10 flex flex-col overflow-hidden rounded-xl border border-border bg-card/95 shadow-xl backdrop-blur`,e===`left`?`left-3 w-60`:`right-3 w-80`),children:[(0,U.jsxs)(`div`,{className:`flex h-10 shrink-0 items-center justify-between border-b border-border pr-1 pl-3 text-[12px] font-medium`,children:[(0,U.jsx)(`span`,{className:`min-w-0 truncate`,children:t}),(0,U.jsx)(b,{size:`sm`,variant:`ghost`,onClick:n,"aria-label":`Close ${i.toLowerCase()}`,children:(0,U.jsx)(se,{})})]}),(0,U.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:r})]})}function av(){let{name:e}=w(),t=x(),n=c(),r=p(),i=o(),v=cu(),[y,C]=(0,H.useState)(n_),[T,D]=(0,H.useState)(``),[M,N]=(0,H.useState)(``),[P,F]=(0,H.useState)(!1),[I,L]=(0,H.useState)(null),[te,z]=(0,H.useState)(!1),[oe,se]=(0,H.useState)(!1);te&&!oe&&se(!0);let ye=s(oe),[be,xe]=(0,H.useState)(``),[Se,Ce]=(0,H.useState)(!1),[V,we]=(0,H.useState)(null),[Te,Ee]=(0,H.useState)([]),[W,De]=(0,H.useState)(!1),[Oe,ke]=(0,H.useState)(``),[Ae,je]=(0,H.useState)(``),[Me,Ne]=(0,H.useState)([]),[Pe,Fe]=(0,H.useState)(null),[Ie,Le]=(0,H.useState)(null),Re=(0,H.useCallback)((e,t)=>{Le({node:e,port:t}),z(!0),L(null),Ce(!1)},[]),ze=(0,H.useRef)(new Map),Be=(0,H.useCallback)(e=>{let t=ze.current.get(e);return t||(t=t=>Re(e,t),ze.current.set(e,t)),t},[Re]),Ve=(0,H.useRef)(null),He=(0,H.useRef)(!0),Ue=_f(),[G,We]=(0,H.useState)(null);(0,H.useEffect)(()=>{let t=e??`(new)`;if(Ve.current===t||e&&!r.data)return;Ve.current=t;let n=e?r.data?.workflows.find(t=>t.name===e):void 0;C(n?y_(n):n_()),D(n?n.source===`built-in`?`${n.name}-copy`:n.name:``),N(n?.description??``),F(!1),L(null),we(null),Ee([]),De(!0),e&&!n&&S(`No workflow named “${e}” — starting a new one.`,{tone:`danger`}),He.current=!0},[e,r.data]),(0,H.useEffect)(()=>{!Ue||!He.current||Me.length===0||(He.current=!1,v.fitView({padding:.2,maxZoom:1.2}))},[Ue,Me,v]);let K=(0,H.useCallback)(e=>{C(t=>e(t)),F(!0),we(null)},[]),{nodes:Ge,edges:Ke}=y;(0,H.useEffect)(()=>{De(!0);let e=setTimeout(()=>{d({nodes:Ge,edges:Ke}).then(e=>Ee(e.issues)).catch(e=>Ee([e instanceof Error?e.message:String(e)])).finally(()=>De(!1))},350);return()=>clearTimeout(e)},[Ge,Ke]);let qe=(0,H.useMemo)(()=>{let e=new Set;for(let t of Te)for(let n of t.matchAll(/"([A-Za-z0-9_-]+)"/g))e.add(n[1]);return e},[Te]);(0,H.useEffect)(()=>{Ne(e=>y.nodes.map(t=>{let n=e.find(e=>e.id===t.id),r={node:t,wired:Z(t).filter(e=>Hg(y,t.id,e)!==void 0),issue:qe.has(t.id),status:nv(V,t.id),loopCount:V?.loops.get(t.id),...V?{}:{onAddFromPort:Be(t.id)}},i=y.layout?.[t.id]??n?.position??{x:0,y:0};return n?{...n,position:i,data:r,selected:t.id===I}:{id:t.id,type:`graph`,position:i,data:r,selected:t.id===I}}))},[y,qe,V,I,Be]);let Je=(0,H.useMemo)(()=>v_({nodes:Ge,edges:Ke}),[Ge,Ke]),Ye=(0,H.useMemo)(()=>K_(y,Je),[y,Je]),Xe=(0,H.useMemo)(()=>y.nodes.flatMap(e=>Z(e).flatMap(t=>{let n=Hg(y,e.id,t);if(!n)return[];let r=Bg(e,t),i=Je.has(`${e.id}.${t}->${n}`),a=(y.layout?.[n]?.x??0)<=(y.layout?.[e.id]?.x??0),o=`${e.id}.${t}->${n}`,s=U_({tone:r,back:i,...V?{emphasis:V.taken.includes(o)?`taken`:`dim`}:{}});return[{id:o,source:e.id,sourceHandle:t,target:n,type:i||a||Ye.has(o)?`lane`:`default`,...Ye.has(o)?{data:{lane:Ye.get(o)}}:{},selected:o===Pe,style:o===Pe?{...s,stroke:`var(--primary)`,strokeWidth:2.5}:s,markerEnd:{type:yo.ArrowClosed,color:s.stroke,width:14,height:14}}]})),[y,V,Pe,Je,Ye]),Ze=(0,H.useCallback)(e=>{Ne(t=>Wl(e,t));for(let t of e)if(t.type===`position`&&t.position&&!t.dragging){let{id:e,position:n}=t;C(t=>({...t,layout:{...t.layout,[e]:n}})),F(!0)}else t.type===`remove`?(K(e=>Gg(e,t.id)),L(e=>e===t.id?null:e)):t.type===`select`&&(t.selected?(L(t.id),Ce(!1)):L(e=>e===t.id?null:e))},[K]),Qe=(0,H.useCallback)(e=>{for(let t of e){if(t.type===`select`&&Fe(t.selected?t.id:null),t.type!==`remove`)continue;let e=t.id.split(`->`)[0]??``;K(t=>{let n=Vg(e,t.nodes);return n?Wg(t,n.node,n.port):t}),Fe(null)}},[K]),$e=(0,H.useCallback)(e=>{let{source:t,target:n,sourceHandle:r}=e;!t||!n||!r||K(e=>Ug(e,t,r,n))},[K]),et=(0,H.useCallback)((e,t,n)=>{if(e===`fork`){let e=Ie?y.layout?.[Ie.node]:void 0,n=Object.values(y.layout??{}),r=t??(e?{x:e.x+216+170,y:e.y}:{x:n.length?Math.min(...n.map(e=>e.x)):0,y:n.length?Math.max(...n.map(e=>e.y))+260:0}),i=Ie;K(e=>{let t=$g(e,r);return i?Ug(t.graph,i.node,i.port,t.forkId):t.graph}),Le(null),z(!1),Ce(!1),v.setCenter(r.x+300,r.y+64/2,{zoom:v.getZoom(),duration:250});return}let r=qg(e,y.nodes.map(e=>e.id)),i=n&&r.type===`agent`?{...r,id:Q(n.replace(/[^A-Za-z0-9_-]/g,`-`),y.nodes.map(e=>e.id)),name:n,skill:n}:r;if(Ie&&!t){let e=y.nodes.find(e=>e.id===Ie.node),t=y.layout?.[Ie.node];if(e&&t){let n=Z(e),r=Math.max(0,n.indexOf(Ie.port)),a=e.type===`agent`||e.type===`dispatch`?216:64,o=O_(y.layout,{x:t.x+a+170,y:t.y+(r-(n.length-1)/2)*110}),{node:s,port:c}=Ie;K(e=>Ug({...e,nodes:[...e.nodes,i],layout:{...e.layout,[i.id]:o}},s,c,i.id)),Le(null),z(!1),L(i.id),v.setCenter(o.x+64,o.y+64/2,{zoom:v.getZoom(),duration:250});return}}let a=Object.values(y.layout??{}),o=t??{x:a.length?Math.min(...a.map(e=>e.x)):0,y:a.length?Math.max(...a.map(e=>e.y))+130:0};K(e=>({...e,nodes:[...e.nodes,i],layout:{...e.layout,[i.id]:o}})),L(i.id),Ce(!1),t||v.setCenter(o.x+64,o.y+64/2,{zoom:v.getZoom(),duration:250})},[Ie,K,v,y.nodes,y.layout]),tt=e=>{let t=e.dataTransfer.getData(Y_);if(!t)return;e.preventDefault();let n=v.screenToFlowPosition({x:e.clientX,y:e.clientY}),r=(t===`agent`||t===`dispatch`?216:64)/2;et(t,{x:n.x-r,y:n.y-64/2})};(0,H.useCallback)(()=>{L(null),Ce(!1),z(!1)},[]),(0,H.useEffect)(()=>{let e=e=>{e.key!==`Escape`||G||e.target instanceof Element&&e.target.closest(`input, textarea, select`)||(I||Se?(L(null),Ce(!1)):(z(!1),Le(null)))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[G,I,Se]);let nt=_({mutationFn:e=>{let t={name:T.trim(),...M.trim()?{description:M.trim()}:{}},n=i_(y);return n?u({...t,skills:n,...e?{overwrite:!0}:{}}):a({...t,graph:y,overwrite:e})},onSuccess:r=>{F(!1),S(`Saved ${r.path.split(`/`).pop()??r.path}`),n.invalidateQueries({queryKey:m.workflows}),r.name!==e&&(Ve.current=r.name,t(`/workflows/${encodeURIComponent(r.name)}`))},onError:(e,t)=>{if(!t&&e instanceof l&&e.exists){We({kind:`overwrite`});return}S(e instanceof Error?e.message:String(e),{tone:`danger`})}}),rt=_({mutationFn:()=>h(Oe),onSuccess:e=>{K(()=>y_(e)),D(e.name),N(e.description??``),ke(``),He.current=!0},onError:e=>S(e instanceof Error?e.message:String(e),{tone:`danger`})}),it=_({mutationFn:()=>f(Ae.trim()),onSuccess:e=>{K(()=>y_({steps:o_(e.steps)})),e.name?.trim()&&D(e.name.trim()),je(``),He.current=!0,S(e.fallback?`Planner unavailable — added a single step. Edit, then Save.`:`Built a workflow — review, tweak, then Save.`,e.fallback?{tone:`danger`}:void 0)},onError:e=>S(e instanceof Error?e.message:String(e),{tone:`danger`})}),at=_({mutationFn:e=>g(e),onSuccess:(e,r)=>{S(`Deleted “${r}”.`),F(!1),n.invalidateQueries({queryKey:m.workflows}),t(`/workflows`)},onError:e=>S(e instanceof Error?e.message:String(e),{tone:`danger`})}),ot=()=>{let e=URL.createObjectURL(new Blob([T_(T,M,y)],{type:`application/yaml;charset=utf-8`})),t=document.createElement(`a`);t.href=e,t.download=E_(T),document.body.append(t),t.click(),t.remove(),setTimeout(()=>URL.revokeObjectURL(e),1e3)};if(i.isPending||e&&r.isPending)return(0,U.jsx)(ve,{});if(i.isError)return(0,U.jsx)(ge,{icon:(0,U.jsx)(R,{}),tone:`neutral`,title:`The node catalog did not load`,subtitle:i.error instanceof Error?i.error.message:`Try again in a moment.`});let st=y.nodes.find(e=>e.id===I)??null,ct=V?.cursor?y.nodes.find(e=>e.id===V.cursor):void 0,lt=S_(y),ut=T.trim().length>0&&Te.length===0&&!W&&!nt.isPending,dt=e?r.data?.workflows.find(t=>t.name===e):void 0,ft=dt?.source===`file`&&T.trim()===e,pt=!!r.data?.workflows.some(e=>e.name===T.trim()&&e.source===`built-in`);return(0,U.jsxs)(`div`,{"data-route":`workflows`,className:`flex h-full min-h-0 flex-col`,children:[(0,U.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-2 border-b border-border bg-background px-3`,children:[(0,U.jsxs)(`select`,{"aria-label":`Open workflow`,className:`h-8 max-w-44 rounded-md border border-transparent bg-transparent px-1.5 text-[13px] font-medium outline-none hover:border-border focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e??``,onChange:e=>{let n=e.target.value?`/workflows/${encodeURIComponent(e.target.value)}`:`/workflows`;P?We({kind:`discard`,to:n}):t(n)},children:[(0,U.jsx)(`option`,{value:``,children:`New workflow`}),(0,U.jsx)(`optgroup`,{label:`This repo`,children:r.data?.workflows.filter(e=>e.source===`file`).map(e=>(0,U.jsxs)(`option`,{value:e.name,children:[e.name,e.graph?``:` (v1)`]},e.name))}),(0,U.jsx)(`optgroup`,{label:`Built-in templates`,children:r.data?.workflows.filter(e=>e.source===`built-in`).map(e=>(0,U.jsx)(`option`,{value:e.name,children:e.name},e.name))})]}),(0,U.jsx)(`span`,{className:`text-muted-foreground/60`,children:`/`}),(0,U.jsx)(B,{"aria-label":`Workflow name`,placeholder:`name this workflow`,value:T,onChange:e=>{D(e.target.value),F(!0)},className:`h-8 w-52 border-transparent bg-transparent text-[13px] shadow-none hover:border-border`}),P&&(0,U.jsx)(`span`,{className:`size-1.5 rounded-full bg-primary`,title:`Unsaved changes`,"aria-label":`Unsaved changes`}),(0,U.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 rounded-md px-1.5 py-1 text-[12px] hover:bg-accent`,style:{color:Te.length?P_.failure:`var(--muted-foreground)`},title:Te.join(`
|
|
13
|
-
`)||`The server validated this workflow`,onClick:()=>{L(null),Ce(!0)},children:[Te.length?(0,U.jsx)(R,{className:`size-3.5`}):(0,U.jsx)(A,{className:`size-3.5`}),Te.length?`${Te.length} issue${Te.length>1?`s`:``}`:`valid`]}),(0,U.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[(0,U.jsxs)(b,{size:`sm`,variant:te?`primary`:`ghost`,onClick:()=>{Le(null),z(e=>!e)},children:[(0,U.jsx)(ie,{}),` Add node`]}),(0,U.jsx)(b,{size:`sm`,variant:`ghost`,title:`Tidy up the layout`,"aria-label":`Tidy up`,onClick:()=>{K(e=>({...e,layout:m_(e)})),He.current=!0},children:(0,U.jsx)(E,{})}),(0,U.jsxs)(b,{size:`sm`,variant:V?`primary`:`ghost`,onClick:()=>we(e=>e?null:tv(y)),children:[V?(0,U.jsx)(re,{}):(0,U.jsx)(ne,{}),` `,V?`Stop`:`Simulate`]}),(0,U.jsx)(b,{size:`sm`,variant:Se?`primary`:`ghost`,title:`Workflow settings, YAML and import`,"aria-label":`Workflow settings`,onClick:()=>{L(null),Ce(e=>!e)},children:(0,U.jsx)(ee,{})}),(0,U.jsx)(b,{size:`sm`,variant:`ghost`,title:`Export as a .yaml file`,"aria-label":`Export YAML`,onClick:ot,children:(0,U.jsx)(j,{})}),(0,U.jsxs)(b,{size:`sm`,variant:`primary`,disabled:!ut,onClick:()=>pt?We({kind:`shadow`}):nt.mutate(ft),children:[(0,U.jsx)(ae,{}),` Save`]})]})]}),(0,U.jsxs)(`div`,{className:`relative min-h-0 flex-1`,onDragOver:e=>e.preventDefault(),onDrop:tt,children:[(0,U.jsxs)(hf,{nodes:Me,edges:Xe,nodeTypes:Z_,edgeTypes:G_,onNodesChange:Ze,onEdgesChange:Qe,onConnect:$e,onPaneClick:()=>{L(null),Fe(null),Ce(!1)},nodesDraggable:!V,nodesConnectable:!V,deleteKeyCode:[`Backspace`,`Delete`],fitView:!0,fitViewOptions:{padding:.2,maxZoom:1.2},minZoom:.2,colorMode:`system`,proOptions:{hideAttribution:!0},children:[(0,U.jsx)(wf,{variant:bf.Dots,gap:20,size:1}),(0,U.jsx)(Nf,{showInteractive:!1,position:`bottom-left`})]}),te&&(0,U.jsx)(iv,{side:`left`,label:`Node palette`,title:Ie?(0,U.jsxs)(`span`,{children:[`Add after `,(0,U.jsx)(`span`,{className:`text-muted-foreground`,children:Ie.node}),` →`,` `,(0,U.jsx)(`span`,{style:{color:P_.success},children:Ie.port})]}):`Add a node`,onClose:()=>{z(!1),Le(null)},children:(0,U.jsxs)(`div`,{className:`p-2`,children:[j_.map(e=>{let t=i.data.nodes.filter(t=>t.category===e.id);return t.length?(0,U.jsxs)(`section`,{className:`mb-3`,children:[(0,U.jsx)(`h2`,{className:`px-1.5 pb-1 text-[10px] font-semibold tracking-wide text-muted-foreground uppercase`,children:e.label}),t.map(t=>{let n=N_[t.type];return(0,U.jsxs)(`button`,{type:`button`,draggable:!0,onDragStart:e=>{e.dataTransfer.setData(Y_,t.type),e.dataTransfer.effectAllowed=`move`},onClick:()=>et(t.type),className:`flex w-full cursor-grab items-center gap-2.5 rounded-lg px-1.5 py-1.5 text-left hover:bg-accent`,title:`${t.description} — drag onto the canvas, or click to add`,children:[(0,U.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md border border-border bg-background`,children:(0,U.jsx)(n,{className:`size-4`,style:{color:e.color},strokeWidth:1.75})}),(0,U.jsxs)(`span`,{className:`min-w-0`,children:[(0,U.jsx)(`span`,{className:`block text-[12px] leading-tight font-medium`,children:t.label}),(0,U.jsx)(`span`,{className:`block truncate text-[10px] text-muted-foreground`,children:t.description})]})]},t.type)})]},e.id):null}),(0,U.jsxs)(`section`,{className:`mb-1`,children:[(0,U.jsx)(`h2`,{className:`px-1.5 pb-1 text-[10px] font-semibold tracking-wide text-muted-foreground uppercase`,children:`Skills`}),(0,U.jsx)(B,{"aria-label":`Search skills`,placeholder:`search skills…`,value:be,onChange:e=>xe(e.target.value),className:`mb-1 h-7 text-[12px]`}),ye.isPending?(0,U.jsx)(`p`,{className:`px-1.5 text-[11px] text-muted-foreground`,children:`Loading skills…`}):(ye.data??[]).filter(e=>{let t=be.trim().toLowerCase();return!t||e.name.toLowerCase().includes(t)||(e.description??``).toLowerCase().includes(t)}).slice(0,40).map(e=>(0,U.jsxs)(`button`,{type:`button`,onClick:()=>et(`agent`,void 0,e.name),className:`flex w-full items-center gap-2.5 rounded-lg px-1.5 py-1 text-left hover:bg-accent`,title:e.description??e.name,children:[(0,U.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md border border-border bg-background text-[11px] text-muted-foreground`,children:`/`}),(0,U.jsxs)(`span`,{className:`min-w-0`,children:[(0,U.jsx)(`span`,{className:`block truncate text-[12px] leading-tight`,children:e.name}),e.description?(0,U.jsx)(`span`,{className:`block truncate text-[10px] text-muted-foreground`,children:e.description}):null]})]},`${e.source}:${e.name}`))]})]})}),st?(0,U.jsx)(iv,{side:`right`,label:`Inspector`,title:st.name??st.id,onClose:()=>L(null),children:(0,U.jsx)(pv,{node:st,graph:y,onGraphEdit:K,onChange:e=>{K(t=>Kg(t,st.id,e)),e.id!==st.id&&L(e.id)},onDelete:()=>{K(e=>Gg(e,st.id)),L(null)}},st.id)}):Se?(0,U.jsx)(iv,{side:`right`,label:`Workflow settings`,title:`Workflow`,onClose:()=>Ce(!1),children:(0,U.jsxs)(`div`,{className:`space-y-4 p-4 text-[12px]`,children:[(0,U.jsx)($,{label:`description`,children:(0,U.jsx)(k,{value:M,rows:3,onChange:e=>{N(e.target.value),F(!0)}})}),(Te.length>0||lt.length>0)&&(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[Te.map(e=>(0,U.jsxs)(`div`,{className:`flex gap-1.5 text-[11px]`,style:{color:P_.failure},children:[(0,U.jsx)(R,{className:`mt-0.5 size-3 shrink-0`}),e]},e)),lt.length>0&&(0,U.jsxs)(`div`,{className:`text-[11px] text-muted-foreground`,children:[`Unwired — end the run: `,lt.join(`, `)]})]}),(0,U.jsxs)(`div`,{children:[(0,U.jsxs)(`div`,{className:`mb-1 flex items-center justify-between text-[11px] text-muted-foreground`,children:[(0,U.jsx)(`span`,{children:`YAML`}),(0,U.jsx)(`button`,{type:`button`,className:`hover:text-foreground`,onClick:()=>void navigator.clipboard?.writeText(T_(T,M,y)),children:`Copy`})]}),(0,U.jsx)(`pre`,{className:`max-h-64 overflow-auto rounded-md bg-muted/40 p-2 text-[10.5px] leading-relaxed`,children:T_(T,M,y)})]}),(0,U.jsx)($,{label:`import YAML (v1 or v2)`,children:(0,U.jsx)(k,{value:Oe,onChange:e=>ke(e.target.value),rows:4,className:`font-mono text-[11px]`,placeholder:`paste a workflow file…`})}),(0,U.jsx)(b,{size:`sm`,variant:`outline`,disabled:!Oe.trim()||rt.isPending,onClick:()=>rt.mutate(),children:`Import`}),(0,U.jsx)($,{label:`build from a description — replaces the canvas`,children:(0,U.jsx)(k,{value:Ae,onChange:e=>je(e.target.value),rows:3,placeholder:`implement, run the tests, then review…`})}),(0,U.jsx)(b,{size:`sm`,variant:`outline`,disabled:!Ae.trim()||it.isPending,onClick:()=>it.mutate(),children:it.isPending?`Building…`:`Build workflow`}),dt?.source===`file`&&(0,U.jsx)(`div`,{className:`border-t border-border pt-3`,children:(0,U.jsxs)(b,{size:`sm`,variant:`danger-ghost`,disabled:at.isPending,onClick:()=>We({kind:`delete`,name:dt.name}),children:[(0,U.jsx)(O,{}),` Delete workflow`]})})]})}):null,V&&(0,U.jsx)(`div`,{className:`absolute bottom-4 left-1/2 z-20 w-[min(520px,90%)] -translate-x-1/2 rounded-xl border border-border bg-card/95 p-3 shadow-xl backdrop-blur`,children:V.finished||!ct?(0,U.jsxs)(`div`,{className:`flex items-center gap-2 text-[13px]`,children:[(0,U.jsx)(A,{className:`size-4`,style:{color:V.finished===`failed`?P_.failure:P_.success}}),`Run ends `,(0,U.jsx)(`b`,{children:V.finished}),` after `,V.taken.length,` steps.`,(0,U.jsxs)(b,{size:`sm`,variant:`ghost`,className:`ml-auto`,onClick:()=>we(tv(y)),children:[(0,U.jsx)(_e,{}),` Restart`]})]}):(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,U.jsxs)(`span`,{className:`text-[12px] text-muted-foreground`,children:[(0,U.jsx)(`b`,{className:`text-foreground`,children:ct.name??ct.id}),` ends with`]}),(ct.type===`fork`?[`done`,`failed`]:Z(ct)).map(e=>(0,U.jsx)(b,{size:`sm`,variant:`outline`,style:{color:P_[ct.type===`fork`?e===`failed`?`failure`:`success`:Bg(ct,e)]},onClick:()=>we(t=>t&&ev(y,t,ct.id,e)),children:ct.type===`fork`?e===`done`?`all branches done`:`a branch failed`:e},e))]})})]}),(0,U.jsx)(he,{open:G!==null,onOpenChange:e=>!e&&We(null),children:(0,U.jsxs)(ue,{"data-slot":`wg-confirm-dialog`,children:[(0,U.jsxs)(me,{children:[(0,U.jsx)(le,{children:G?.kind===`overwrite`?`“${T.trim()}” already exists`:G?.kind===`shadow`?`Replace the built-in “${T.trim()}”?`:G?.kind===`delete`?`Delete “${G.name}”?`:`Discard unsaved changes?`}),(0,U.jsx)(ce,{children:G?.kind===`overwrite`?`Saving replaces the existing workflow file — including a v1 file of the same name. There is no undo.`:G?.kind===`shadow`?`A saved file with a built-in name takes its place for every task in this repository, including tasks that use the default. Rename it to keep the built-in; delete the file to bring it back.`:G?.kind===`delete`?`This removes the workflow file from the repository. Tasks already started with it keep running; there is no undo.`:`The edits on this canvas have not been saved.`})]}),(0,U.jsxs)(fe,{children:[(0,U.jsx)(pe,{children:`Keep editing`}),(0,U.jsx)(de,{"data-slot":`wg-confirm-action`,onClick:()=>{G?.kind===`overwrite`?nt.mutate(!0):G?.kind===`shadow`?nt.mutate(!1):G?.kind===`delete`?at.mutate(G.name):G?.kind===`discard`&&(F(!1),t(G.to)),We(null)},children:G?.kind===`overwrite`?`Overwrite`:G?.kind===`shadow`?`Replace built-in`:G?.kind===`delete`?`Delete`:`Discard`})]})]})})]})}function ov({value:e,onChange:t}){let n=(s().data??[]).map(e=>e.name),r=e===void 0||n.includes(e);return(0,U.jsx)($,{label:`skill`,children:(0,U.jsxs)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e??``,onChange:e=>t(e.target.value||void 0),children:[(0,U.jsx)(`option`,{value:``,children:`no skill`}),!r&&(0,U.jsxs)(`option`,{value:e,children:[e,` (not in this repo)`]}),n.map(e=>(0,U.jsx)(`option`,{value:e,children:e},e))]})})}function sv({label:e,value:t,onChange:n}){return(0,U.jsx)($,{label:e,children:(0,U.jsx)(B,{defaultValue:t?.join(`, `)??``,onBlur:e=>{let t=e.target.value.split(`,`).map(e=>e.trim()).filter(Boolean);n(t.length?t:void 0)},className:`h-8`})})}function cv({label:e,value:t,optional:n,onChange:r}){let i=(p().data?.workflows??[]).map(e=>e.name);return(0,U.jsxs)(`select`,{"aria-label":e,className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:t??``,onChange:e=>r(e.target.value||void 0),children:[n?(0,U.jsx)(`option`,{value:``,children:`one agent step`}):null,t&&!i.includes(t)?(0,U.jsxs)(`option`,{value:t,children:[t,` (not found)`]}):null,i.map(e=>(0,U.jsx)(`option`,{value:e,children:e},e))]})}function lv({condition:e,onChange:t}){let n=[`>`,`>=`,`<`,`<=`,`==`],r=[`equals`,`not-equals`,`contains`,`>`,`>=`,`<`,`<=`],i=e=>{switch(e){case`diff-lines`:case`diff-files`:return t({kind:e,op:`>`,value:e===`diff-lines`?500:20});case`paths-changed`:return t({kind:e,glob:`packages/web/**`});case`output`:return t({kind:e,ref:`review.verdict`,op:`equals`,value:`approve`});case`branch`:return t({kind:e,op:`equals`,value:`main`})}};return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`look at`,children:(0,U.jsxs)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e.kind,onChange:e=>i(e.target.value),children:[(0,U.jsx)(`option`,{value:`diff-lines`,children:`the task's diff — changed lines`}),(0,U.jsx)(`option`,{value:`diff-files`,children:`the task's diff — changed files`}),(0,U.jsx)(`option`,{value:`paths-changed`,children:`which paths changed (glob)`}),(0,U.jsx)(`option`,{value:`output`,children:`another node's output`}),(0,U.jsx)(`option`,{value:`branch`,children:`the base branch`})]})}),(e.kind===`diff-lines`||e.kind===`diff-files`)&&(0,U.jsxs)(`div`,{className:`grid grid-cols-[5rem_1fr] gap-2`,children:[(0,U.jsx)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,"aria-label":`operator`,value:e.op,onChange:n=>t({...e,op:n.target.value}),children:n.map(e=>(0,U.jsx)(`option`,{value:e,children:e},e))}),(0,U.jsx)(B,{type:`number`,min:0,"aria-label":`threshold`,value:e.value,onChange:n=>t({...e,value:Math.max(0,Number(n.target.value)||0)}),className:`h-8`})]}),e.kind===`paths-changed`&&(0,U.jsx)($,{label:`glob — * within a folder, ** across folders`,children:(0,U.jsx)(B,{value:e.glob,onChange:n=>t({...e,glob:n.target.value}),className:`h-8 font-mono text-[11px]`})}),e.kind===`output`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`output — <node>.<field>`,children:(0,U.jsx)(B,{value:e.ref,onChange:n=>t({...e,ref:n.target.value.trim()}),className:`h-8 font-mono text-[11px]`})}),(0,U.jsxs)(`div`,{className:`grid grid-cols-[7rem_1fr] gap-2`,children:[(0,U.jsx)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,"aria-label":`operator`,value:e.op,onChange:n=>t({...e,op:n.target.value}),children:r.map(e=>(0,U.jsx)(`option`,{value:e,children:e},e))}),(0,U.jsx)(B,{"aria-label":`value`,value:String(e.value),onChange:n=>t({...e,value:n.target.value}),className:`h-8`})]})]}),e.kind===`branch`&&(0,U.jsxs)(`div`,{className:`grid grid-cols-[7rem_1fr] gap-2`,children:[(0,U.jsxs)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,"aria-label":`operator`,value:e.op,onChange:n=>t({...e,op:n.target.value}),children:[(0,U.jsx)(`option`,{value:`equals`,children:`equals`}),(0,U.jsx)(`option`,{value:`matches`,children:`matches glob`})]}),(0,U.jsx)(B,{"aria-label":`branch`,value:e.value,onChange:n=>t({...e,value:n.target.value}),className:`h-8 font-mono text-[11px]`})]}),(0,U.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Leaves by true or false. Diff and paths are this task's own changes vs its base.`})]})}function $({label:e,children:t}){return(0,U.jsxs)(`label`,{className:`block`,children:[(0,U.jsx)(`span`,{className:`mb-1 block text-[11px] text-muted-foreground`,children:e}),t]})}function uv({label:e,value:t,optional:n,onChange:r}){return(0,U.jsx)($,{label:e,children:(0,U.jsx)(B,{type:`number`,min:1,value:t?Math.round(t/6e4):``,placeholder:n?`no timeout`:void 0,onChange:e=>{let t=Math.floor(Number(e.target.value));r(t>=1?t*6e4:void 0)},className:`h-8`})})}var dv={start:[],end:[],loop:[`iteration`,`max`],agent:[`summary`,`verdict`,`costUsd`],check:[`exitCode`,`output`],"gate.human":[`comment`],"ask-user":[`answer`],dispatch:[`runId`,`status`,`summary`],"git.commit":[`sha`],"github.draft-pr":[`url`,`number`],"github.wait-ci":[`status`],"github.pr-comment":[],fork:[`runIds`],join:[`succeeded`,`failed`],workflow:[`runId`,`status`,`summary`],if:[`result`,`value`],"git.push":[],"git.sync-base":[`conflicts`],"github.pr-update":[],"github.issue-comment":[`issue`],"notify.webhook":[`status`]};function fv(e,t){return e.type===`agent`&&t?.has(e.id)?[`runId`,`status`,`summary`]:dv[e.type]}function pv({node:e,graph:t,onChange:n,onGraphEdit:r,onDelete:i}){let a=Yg(t),o=e.type===`agent`&&a.has(e.id),[s,c]=(0,H.useState)(e.id),l=t=>{let r={...e,...t};for(let[e,n]of Object.entries(t))(n===void 0||n===``)&&delete r[e];n(r)};return(0,U.jsxs)(`div`,{className:`space-y-3 p-4 text-[12px]`,children:[(0,U.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,U.jsxs)(`span`,{className:`text-[11px] uppercase text-muted-foreground`,children:[e.type,` node`]}),(0,U.jsx)(b,{size:`sm`,variant:`danger-ghost`,onClick:i,"aria-label":`Delete node`,children:(0,U.jsx)(O,{})})]}),(0,U.jsx)($,{label:`id`,children:(0,U.jsx)(B,{value:s,onChange:e=>c(e.target.value),onBlur:()=>{let r=s.trim();if(!r||r===e.id)return c(e.id);if(!/^[A-Za-z0-9][A-Za-z0-9_-]*$/.test(r)||t.nodes.some(e=>e.id===r))return S(`“${r}” is taken or not a valid id (letters, digits, - and _).`,{tone:`danger`}),c(e.id);n({...e,id:r})},className:`h-8`})}),(0,U.jsx)($,{label:`name`,children:(0,U.jsx)(B,{value:e.name??``,onChange:e=>l({name:e.target.value}),className:`h-8`})}),e.type===`agent`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`prompt — {{task}}, {{nodes.<id>.<field>}}`,children:(0,U.jsx)(k,{value:e.prompt??``,rows:5,className:`font-mono text-[11px]`,onChange:e=>l({prompt:e.target.value})})}),(0,U.jsx)(ov,{value:e.skill,onChange:e=>l({skill:e})}),(0,U.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,U.jsx)($,{label:`runner`,children:(0,U.jsxs)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e.runner??``,onChange:e=>l({runner:e.target.value||void 0}),children:[(0,U.jsx)(`option`,{value:``,children:`task default`}),J_.map(e=>(0,U.jsx)(`option`,{value:e,children:e},e))]})}),(0,U.jsx)($,{label:`model`,children:(0,U.jsx)(B,{value:e.model??``,onChange:e=>l({model:e.target.value}),className:`h-8`})})]}),o?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`input`,{type:`checkbox`,className:`size-3.5 accent-primary`,checked:e.review??!1,onChange:e=>l({review:e.target.checked||void 0})}),`reviewer — judges the task branch, never implements`]}),(0,U.jsx)($,{label:`budget USD — carved from this run`,children:(0,U.jsx)(B,{type:`number`,min:0,step:.5,value:e.budgetUsd??``,onChange:e=>l({budgetUsd:Number(e.target.value)>0?Number(e.target.value):void 0}),className:`h-8`})}),(0,U.jsx)(`p`,{className:`rounded-md bg-accent/50 p-2 text-[11px] text-muted-foreground`,children:`A fork branch: runs as its own subtask at the same time as the other branches — a fresh session in its own worktree, starting from the task's work so far.`})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`verdicts — comma-separated, each becomes a port`,children:(0,U.jsx)(B,{defaultValue:e.verdicts?.join(`, `)??``,onBlur:e=>{let t=e.target.value.split(`,`).map(e=>e.trim()).filter(Boolean);l({verdicts:t.length?t:void 0})},className:`h-8`,placeholder:`approve, changes`})}),(0,U.jsx)($,{label:`session`,children:(0,U.jsxs)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e.session?.continue??``,onChange:e=>l({session:e.target.value?{continue:e.target.value}:void 0}),children:[(0,U.jsx)(`option`,{value:``,children:`fresh session`}),t.nodes.filter(t=>t.type===`agent`&&t.id!==e.id).map(e=>(0,U.jsxs)(`option`,{value:e.id,children:[`continue `,e.name??e.id]},e.id))]})})]}),e.verdicts?.length?(0,U.jsxs)(`p`,{className:`rounded-md bg-accent/50 p-2 text-[11px] text-muted-foreground`,children:[`The agent ends its turn with `,e.verdicts.map(e=>`CEZ:VERDICT ${e}`).join(` or `),`. No verdict → one reminder, then `,(0,U.jsx)(`span`,{style:{color:P_.failure},children:`failed`}),`.`]}):null]}),e.type===`check`&&(0,U.jsx)($,{label:`command — runs in the worktree; exit 0 passes`,children:(0,U.jsx)(k,{value:e.command,rows:3,className:`font-mono text-[11px]`,onChange:e=>l({command:e.target.value})})}),e.type===`loop`&&(0,U.jsx)($,{label:`max iterations — repeat while within, then exhausted`,children:(0,U.jsx)(B,{type:`number`,min:1,value:e.max,onChange:e=>l({max:Math.max(1,Math.floor(Number(e.target.value)||1))}),className:`h-8`})}),e.type===`gate.human`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`message — shown on the approve / reject card`,children:(0,U.jsx)(k,{value:e.message,rows:3,onChange:e=>l({message:e.target.value})})}),(0,U.jsx)(uv,{label:`timeout (minutes, optional) — adds a timeout port`,value:e.timeoutMs,optional:!0,onChange:e=>l({timeoutMs:e})}),(0,U.jsxs)(`p`,{className:`rounded-md bg-accent/50 p-2 text-[11px] text-muted-foreground`,children:[`The run waits without holding a slot. A reply starting with “approve” takes approve; anything else takes reject and becomes `,(0,U.jsx)(`code`,{children:`{{nodes.${e.id}.comment}}`}),`.`]})]}),e.type===`ask-user`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`question`,children:(0,U.jsx)(k,{value:e.question,rows:3,onChange:e=>l({question:e.target.value})})}),(0,U.jsx)($,{label:`options — comma-separated, optional (free text always works)`,children:(0,U.jsx)(B,{defaultValue:e.options?.join(`, `)??``,onBlur:e=>{let t=e.target.value.split(`,`).map(e=>e.trim()).filter(Boolean);l({options:t.length?t:void 0})},className:`h-8`})}),(0,U.jsx)(uv,{label:`timeout (minutes, optional) — adds a timeout port`,value:e.timeoutMs,optional:!0,onChange:e=>l({timeoutMs:e})})]}),e.type===`dispatch`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`objective — {{task}}, {{nodes.<id>.<field>}}`,children:(0,U.jsx)(k,{value:e.prompt,rows:4,className:`font-mono text-[11px]`,onChange:e=>l({prompt:e.target.value})})}),(0,U.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,U.jsx)($,{label:`runner`,children:(0,U.jsxs)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e.runner??``,onChange:e=>l({runner:e.target.value||void 0}),children:[(0,U.jsx)(`option`,{value:``,children:`task default`}),J_.map(e=>(0,U.jsx)(`option`,{value:e,children:e},e))]})}),(0,U.jsx)($,{label:`budget USD`,children:(0,U.jsx)(B,{type:`number`,min:0,step:.5,value:e.budgetUsd??``,onChange:e=>l({budgetUsd:Number(e.target.value)>0?Number(e.target.value):void 0}),className:`h-8`})})]})]}),e.type===`git.commit`&&(0,U.jsx)($,{label:`commit message — commits everything in the worktree`,children:(0,U.jsx)(B,{value:e.message,onChange:e=>l({message:e.target.value}),className:`h-8`})}),e.type===`github.draft-pr`&&(0,U.jsx)($,{label:`title — optional, defaults to the task title`,children:(0,U.jsx)(B,{value:e.title??``,onChange:e=>l({title:e.target.value}),className:`h-8`})}),e.type===`github.pr-comment`&&(0,U.jsx)($,{label:`comment body`,children:(0,U.jsx)(k,{value:e.body,rows:3,onChange:e=>l({body:e.target.value})})}),e.type===`github.wait-ci`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(uv,{label:`timeout (minutes) — required`,value:e.timeoutMs,onChange:e=>l({timeoutMs:e??60*6e4})}),(0,U.jsx)($,{label:`poll every (seconds)`,children:(0,U.jsx)(B,{type:`number`,min:10,value:Math.round(e.pollMs/1e3),onChange:e=>l({pollMs:Math.max(10,Math.floor(Number(e.target.value)||60))*1e3}),className:`h-8`})})]}),e.type===`fork`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`branches — one agent each, all at once`,children:(0,U.jsx)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e.branches,onChange:t=>r(n=>e_(n,e.id,Number(t.target.value))),children:[2,3,4].map(e=>(0,U.jsxs)(`option`,{value:e,children:[e,` agents`]},e))})}),(0,U.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Each branch is the agent it is wired to: set its prompt, runner and budget there. They run as subtasks in their own worktrees (at most 4 at once) and meet at the join.`})]}),e.type===`join`&&(0,U.jsx)($,{label:`wait for`,children:(0,U.jsxs)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e.wait,onChange:e=>l({wait:e.target.value}),children:[(0,U.jsx)(`option`,{value:`all`,children:`every branch (done only if all succeed)`}),(0,U.jsx)(`option`,{value:`any`,children:`the first to succeed (the rest are cancelled)`})]})}),e.type===`workflow`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(cv,{label:`workflow to run`,value:e.workflow,onChange:e=>l({workflow:e??`quick-task`})}),(0,U.jsx)($,{label:`task for it — {{task}}, {{nodes.<id>.<field>}}`,children:(0,U.jsx)(k,{value:e.prompt??``,placeholder:`{{task}}`,rows:3,className:`font-mono text-[11px]`,onChange:e=>l({prompt:e.target.value})})}),(0,U.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Runs as a subtask in its own worktree; this node waits for it.`})]}),e.type===`git.push`&&(0,U.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Commits anything pending, then pushes the task branch to origin.`}),e.type===`git.sync-base`&&(0,U.jsxs)(`p`,{className:`text-[11px] text-muted-foreground`,children:[`Merges the latest base branch into the task. On a conflict the merge is left in progress and the node leaves by`,` `,(0,U.jsx)(`span`,{style:{color:P_.failure},children:`conflict`}),` — wire it to an agent to resolve it;`,` `,(0,U.jsx)(`code`,{children:`{{nodes.${e.id}.conflicts}}`}),` lists the files.`]}),e.type===`github.pr-update`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`input`,{type:`checkbox`,checked:e.ready??!1,onChange:e=>l({ready:e.target.checked||void 0})}),(0,U.jsx)(`span`,{children:`mark ready for review`})]}),(0,U.jsx)(sv,{label:`add labels — comma-separated`,value:e.addLabels,onChange:e=>l({addLabels:e})}),(0,U.jsx)(sv,{label:`request reviewers — comma-separated logins`,value:e.reviewers,onChange:e=>l({reviewers:e})})]}),e.type===`github.issue-comment`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`issue number — empty = the task's own issue`,children:(0,U.jsx)(B,{type:`number`,min:1,value:e.issue??``,onChange:e=>l({issue:Number(e.target.value)>0?Math.floor(Number(e.target.value)):void 0}),className:`h-8`})}),(0,U.jsx)($,{label:`comment`,children:(0,U.jsx)(k,{value:e.body,rows:3,onChange:e=>l({body:e.target.value})})})]}),e.type===`notify.webhook`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`URL (http/https)`,children:(0,U.jsx)(B,{value:e.url,onChange:e=>l({url:e.target.value}),className:`h-8 font-mono text-[11px]`})}),(0,U.jsx)($,{label:`message — sent as JSON text`,children:(0,U.jsx)(k,{value:e.body??``,rows:3,onChange:e=>l({body:e.target.value})})}),(0,U.jsxs)(`p`,{className:`text-[11px] text-muted-foreground`,children:[`Only runs when the server has `,(0,U.jsx)(`code`,{children:`CEZ_WORKFLOW_WEBHOOKS=1`}),`; otherwise it leaves by failed.`]})]}),e.type===`if`&&(0,U.jsx)(lv,{condition:e.condition,onChange:e=>l({condition:e})}),e.type===`end`&&(0,U.jsx)($,{label:`run status`,children:(0,U.jsxs)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e.status,onChange:e=>l({status:e.target.value}),children:[(0,U.jsx)(`option`,{value:`success`,children:`success`}),(0,U.jsx)(`option`,{value:`failed`,children:`failed`})]})}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`mb-1 text-[11px] uppercase text-muted-foreground`,children:`Output ports`}),Z(e).map(n=>(0,U.jsxs)(`div`,{className:`flex justify-between py-0.5`,children:[(0,U.jsx)(`span`,{style:{color:P_[Bg(e,n)]},children:n}),(0,U.jsx)(`span`,{className:`text-muted-foreground`,children:Hg(t,e.id,n)??`ends run`})]},n))]}),fv(e,a).length>0&&(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`mb-1 text-[11px] uppercase text-muted-foreground`,children:`Outputs for templates`}),fv(e,a).map(t=>(0,U.jsx)(`code`,{className:`block text-[11px]`,children:`{{nodes.${e.id}.${t}}}`},t))]})]})}export{iv as FloatingPanel,rv as WorkflowGraphRoute,y_ as a,Z as c,wf as d,bf as f,yo as h,G_ as i,D_ as l,hf as m,K_ as n,v_ as o,Nf as p,U_ as r,Bg as s,H_ as t,Hg as u};
|
|
12
|
+
`)}\n`}function E_(e){return`${e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||`workflow`}.yaml`}function D_(e,t){let n=t.graphState?.taken??[],r=new Map,i=new Set;for(let e of n){r.set(e,(r.get(e)??0)+1);let t=e.slice(e.indexOf(`->`)+2);t&&i.add(t)}let a=new Map;for(let r of e.nodes){let e=t.steps.find(e=>e.id===r.id);if(e)a.set(r.id,{status:e.status,...e.iterations?{iterations:e.iterations}:{},...e.costUsd?{costUsd:e.costUsd}:{}});else if(r.type===`loop`){let e=t.graphState?.loops[r.id];a.set(r.id,{status:i.has(r.id)?`reached`:`pending`,...e?{loopCount:e}:{}})}else{let e=r.type===`start`?n.length>0:i.has(r.id);a.set(r.id,{status:e?`reached`:`pending`})}}return{nodes:a,edges:r}}function O_(e,t,n={w:240,h:110}){let r=Object.values(e??{}),i={...t};for(let e=0;e<200;e++){if(!r.some(e=>Math.abs(e.x-i.x)<n.w&&Math.abs(e.y-i.y)<n.h))return i;i.y+=n.h}return i}function k_(e,t){let n=e.layout??{},r=e.nodes.flatMap(t=>{let r=n[t.id];if(!r)return[];let i=p_(e,t),a=s_.has(t.type),o=a?216:64;return[{id:t.id,x0:r.x-(a?0:64/2),x1:r.x-i.dx+i.w,y0:r.y,y1:r.y+64+(a?0:c_-6),tileRight:r.x+o}]}),i=new Map(r.map(e=>[e.id,e])),a=(t,r)=>{let i=e.nodes.find(e=>e.id===t),a=i?Z(i):[],o=Math.max(0,a.indexOf(r));return(n[t]?.y??0)+(o+1)/(a.length+1)*64},o=(e,t,n,i,a)=>r.some(r=>!a.has(r.id)&&r.x0-10<Math.max(e,n)&&r.x1+10>Math.min(e,n)&&r.y0-10<Math.max(t,i)&&r.y1+10>Math.min(t,i)),s=new Map,c=[];for(let e of t){let t=i.get(e.from),l=i.get(e.to);if(!t||!l)continue;let u=a(e.from,e.port),d=(n[e.to]?.y??0)+64/2,f=t.x1+12,p=l.x0-14,[m,h]=[Math.min(f,p),Math.max(f,p)],g=r.filter(e=>e.x0-10<h&&e.x1+10>m).map(e=>[e.y0-10,e.y1+10]).sort((e,t)=>e[0]-t[0]),_=[Math.min(...g.map(e=>e[0]))-8,Math.max(...g.map(e=>e[1]))+8],v=-1/0;for(let[e,t]of g)v!==-1/0&&e-v>=14&&_.push((v+e)/2),v=Math.max(v,t);let y=t=>!o(f,u,f,t,new Set([e.from]))&&!o(m,t,h,t,new Set)&&!o(p,t,p,d,new Set([e.to])),b=e=>Math.abs(e-u)+Math.abs(e-d)+(h-m),x=[...new Set(_)].sort((e,t)=>b(e)-b(t)),S=x.find(y)??x[0],C=S>=(u+d)/2;for(;c.some(e=>e.x0<h&&e.x1>m&&Math.abs(e.y-S)<12);)S+=C?12:-12;c.push({x0:m,x1:h,y:S}),s.set(e.key,{y:S,outX:f,inX:p})}return s}function A_(e,t=12){if(e.length<2)return``;let n=`M ${e[0].x} ${e[0].y}`;for(let r=1;r<e.length-1;r++){let[i,a,o]=[e[r-1],e[r],e[r+1]],s=Math.hypot(a.x-i.x,a.y-i.y),c=Math.hypot(o.x-a.x,o.y-a.y),l=Math.min(t,s/2,c/2),u={x:a.x-(a.x-i.x)/(s||1)*l,y:a.y-(a.y-i.y)/(s||1)*l},d={x:a.x+(o.x-a.x)/(c||1)*l,y:a.y+(o.y-a.y)/(c||1)*l};n+=` L ${u.x} ${u.y} Q ${a.x} ${a.y} ${d.x} ${d.y}`}let r=e[e.length-1];return`${n} L ${r.x} ${r.y}`}var j_=[{id:`agents`,label:`Agents`,color:`var(--violet)`},{id:`flow`,label:`Flow control`,color:`var(--primary)`},{id:`scripts`,label:`Scripts & checks`,color:`var(--info)`},{id:`git`,label:`Git & GitHub`,color:`var(--foreground)`}],M_={start:`flow`,end:`flow`,loop:`flow`,"gate.human":`flow`,agent:`agents`,"ask-user":`agents`,dispatch:`agents`,check:`scripts`,"git.commit":`git`,"github.draft-pr":`git`,"github.wait-ci":`git`,"github.pr-comment":`git`,fork:`flow`,join:`flow`,if:`flow`,workflow:`flow`,"git.push":`git`,"git.sync-base":`git`,"github.pr-update":`git`,"github.issue-comment":`git`,"notify.webhook":`scripts`},N_={start:ne,end:be,loop:V,agent:T,check:N,"gate.human":xe,"ask-user":Ce,dispatch:ye,"git.commit":P,"github.draft-pr":L,"github.wait-ci":Te,"github.pr-comment":z,fork:I,join:Se,if:we,workflow:D,"git.push":F,"git.sync-base":te,"github.pr-update":oe,"github.issue-comment":z,"notify.webhook":Ee},P_={success:`var(--success)`,failure:`var(--danger)`,verdict:`var(--violet)`,neutral:`var(--muted-foreground)`},F_={start:`Start`,end:`End`,loop:`Loop`,agent:`Agent`,check:`Check`,"gate.human":`Human gate`,"ask-user":`Ask user`,dispatch:`Subtask`,"git.commit":`Commit`,"github.draft-pr":`Draft PR`,"github.wait-ci":`Wait for CI`,"github.pr-comment":`PR comment`,fork:`Fork`,join:`Join`,if:`If`,workflow:`Sub-workflow`,"git.push":`Push`,"git.sync-base":`Sync with base`,"github.pr-update":`Update PR`,"github.issue-comment":`Issue comment`,"notify.webhook":`Webhook`},I_=e=>j_.find(t=>t.id===M_[e])?.color??`var(--muted-foreground)`,L_=s_;function R_(e,t){switch(e.type){case`agent`:return[e.review?`reviewer`:``,e.runner??``,e.budgetUsd?`$${e.budgetUsd}`:``,e.skill?`/${e.skill}`:``,e.session?`↺ ${e.session.continue}`:``].filter(Boolean).join(` · `)||`agent`;case`dispatch`:return[e.runner??`subtask`,e.budgetUsd?`$${e.budgetUsd}`:``].filter(Boolean).join(` · `);case`check`:return`$ ${e.command}`;case`loop`:return t?`${t} / ${e.max}`:`max ${e.max}`;case`end`:return e.status===`failed`?`fails the run`:`succeeds`;case`gate.human`:return e.message;case`ask-user`:return e.question;case`git.commit`:return e.message;case`github.draft-pr`:return e.title??`task title`;case`github.wait-ci`:return`≤ ${Math.round(e.timeoutMs/6e4)} min`;case`github.pr-comment`:return e.body;case`fork`:return`${e.branches} agents at once`;case`join`:return e.wait===`any`?`first to succeed`:`wait for all`;case`workflow`:return e.workflow;case`git.push`:return`task branch → origin`;case`git.sync-base`:return`merge latest base`;case`github.pr-update`:return[e.ready?`ready`:``,e.addLabels?.length?`+${e.addLabels.join(`, `)}`:``,e.reviewers?.length?`@${e.reviewers.join(`, @`)}`:``].filter(Boolean).join(` · `)||`no changes`;case`github.issue-comment`:return e.issue?`#${e.issue}`:`task's issue`;case`notify.webhook`:return e.url.replace(/^https?:\/\//,``);case`if`:{let t=e.condition;switch(t.kind){case`diff-lines`:return`lines ${t.op} ${t.value}`;case`diff-files`:return`files ${t.op} ${t.value}`;case`paths-changed`:return`changed ${t.glob}`;case`output`:return`${t.ref} ${t.op} ${t.value}`;case`branch`:return`base ${t.op} ${t.value}`}return``}default:return``}}var z_={running:{ring:`ring-2 ring-primary shadow-lg shadow-primary/25`,dot:`bg-primary motion-safe:animate-pulse`,label:`running`},waiting:{ring:`ring-2 ring-info`,dot:`bg-info motion-safe:animate-pulse`,label:`needs you`},done:{ring:``,dot:`bg-success`,label:`done`},failed:{ring:`ring-2 ring-danger`,dot:`bg-danger`,label:`failed`},cancelled:{ring:``,dot:`bg-muted-foreground`,label:`cancelled`}},B_={running:`bg-primary motion-safe:animate-pulse`,waiting:`bg-info motion-safe:animate-pulse`,done:`bg-success`,failed:`bg-danger`};function V_({steps:e}){return(0,U.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1 text-[10px] text-muted-foreground`,"aria-label":`steps inside`,children:[e.slice(0,6).map((e,t)=>(0,U.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,title:`${e.name}${e.status?` — ${e.status}`:``}`,children:[t>0&&(0,U.jsx)(`span`,{"aria-hidden":`true`,children:`→`}),(0,U.jsx)(`span`,{className:y(`size-1.5 shrink-0 rounded-full`,e.status&&B_[e.status]||`bg-muted-foreground/40`)}),(0,U.jsx)(`span`,{className:`truncate`,children:e.name})]},e.id)),e.length>6&&(0,U.jsxs)(`span`,{children:[`+`,e.length-6]})]})}var H_=(0,H.memo)(function({node:e,selected:t,issue:n,status:r,loopCount:i,iterations:a,costUsd:o,wired:s,connectable:c=!0,onAddFromPort:l,inner:u,subtaskTo:d}){let f=N_[e.type],p=I_(e.type),m=Z(e),h=L_.has(e.type),g=e.name??(h?F_[e.type]:e.id),_=R_(e,i),v=r?z_[r]:void 0,b=[a&&a>1?`×${a}`:``,o?`$${o.toFixed(2)}`:``].filter(Boolean).join(` · `),x=e.type===`start`?`rounded-l-[32px] rounded-r-xl`:e.type===`end`?`rounded-full`:`rounded-xl`;return(0,U.jsxs)(`div`,{"data-node-type":e.type,"data-node-status":r,className:y(`group relative`,r===`pending`&&`opacity-45`),title:h?void 0:`${g} — ${_}`,children:[(0,U.jsxs)(`div`,{className:y(`relative flex items-center border bg-card text-card-foreground transition-[border-color,box-shadow]`,`border-border group-hover:border-muted-foreground/60`,x,h?`h-16 gap-3 px-4`:`size-16 justify-center`,t&&`border-primary ring-2 ring-primary/40`,n&&`ring-2 ring-danger`,v?.ring),style:{width:h?216:64},children:[e.type!==`start`&&(0,U.jsx)(Fu,{type:`target`,position:q.Left,isConnectable:c,className:`!h-4 !w-1.5 !rounded-sm !border-0 !bg-muted-foreground/70`}),(0,U.jsx)(f,{className:y(`shrink-0`,h?`size-6`:`size-7`),style:{color:p},strokeWidth:1.75}),h&&(0,U.jsxs)(`div`,{className:`min-w-0`,children:[(0,U.jsx)(`div`,{className:`truncate text-[13px] font-medium leading-tight`,children:g}),u?.length?(0,U.jsx)(V_,{steps:u}):(0,U.jsx)(`div`,{className:`truncate text-[11px] text-muted-foreground`,children:_})]}),d&&(0,U.jsx)(C,{to:d,className:`nodrag nopan absolute right-1.5 bottom-1 rounded p-0.5 text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,"aria-label":`Open the subtask for ${g}`,title:`Open the subtask`,onClick:e=>e.stopPropagation(),children:(0,U.jsx)(M,{className:`size-3`})}),v&&(0,U.jsx)(`span`,{className:y(`absolute -top-1 -right-1 size-2.5 rounded-full ring-2 ring-background`,v.dot),"aria-label":v.label}),e.type===`loop`&&i?(0,U.jsxs)(`span`,{className:`absolute -bottom-1.5 left-1/2 -translate-x-1/2 rounded-full border border-border bg-background px-1.5 text-[9px] leading-4 text-muted-foreground`,children:[i,`/`,e.max]}):null,m.map((t,n)=>{let r=P_[Bg(e,t)],i=`${(n+1)/(m.length+1)*100}%`,a=s!==void 0&&!s.includes(t);return(0,U.jsxs)(`div`,{children:[(0,U.jsx)(Fu,{id:t,type:`source`,position:q.Right,isConnectable:c,className:`!size-2.5 !border-[1.5px]`,style:{top:i,borderColor:r,background:a?`var(--card)`:r}}),(m.length>1||a&&l)&&(0,U.jsxs)(`div`,{className:`absolute left-[calc(100%+9px)] flex -translate-y-1/2 items-center`,style:{top:i},children:[m.length>1&&(0,U.jsx)(`span`,{className:`pointer-events-none whitespace-nowrap rounded bg-background px-1 text-[10px] leading-4`,style:{color:r},children:t}),a&&l&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`span`,{"aria-hidden":`true`,className:`h-px w-6 bg-border`}),(0,U.jsx)(`button`,{type:`button`,className:`nodrag nopan flex size-5 items-center justify-center rounded-md border border-border bg-card text-muted-foreground hover:border-primary hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,"aria-label":`Add a node after ${e.name??e.id} → ${t}`,title:`Add a node on “${t}”`,onClick:e=>{e.stopPropagation(),l(t)},children:(0,U.jsx)(ie,{className:`size-3`})})]})]})]},t)})]}),!h&&(0,U.jsxs)(`div`,{className:`pointer-events-none absolute top-full left-1/2 mt-1.5 -translate-x-1/2 text-center`,style:{width:128},children:[(0,U.jsx)(`div`,{className:`truncate text-[11px] leading-tight text-foreground/85`,children:g}),_?(0,U.jsx)(`div`,{className:`truncate text-[10px] text-muted-foreground`,children:_}):null]}),b?(0,U.jsx)(`div`,{className:y(`pointer-events-none absolute left-1/2 -translate-x-1/2 text-[10px] text-muted-foreground`,h?`top-full mt-1`:`top-full mt-9`),children:b}):null]})});function U_(e){let t=e.tone===`failure`?`color-mix(in oklab, var(--danger) 55%, transparent)`:`color-mix(in oklab, var(--muted-foreground) 55%, transparent)`;return{stroke:e.emphasis===`taken`?e.tone===`failure`?`var(--danger)`:`var(--primary)`:t,strokeWidth:e.emphasis===`taken`?2.5:1.5,strokeDasharray:e.back?`5 4`:void 0,opacity:e.emphasis===`dim`?.35:1}}function W_({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i,targetPosition:a,data:o,style:s,markerEnd:c}){let l=o?.lane;if(l===void 0){let[o]=Fs({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i,targetPosition:a,offset:28,borderRadius:14});return(0,U.jsx)(hd,{path:o,style:s,markerEnd:c})}let u=l.y,d=Math.max(e+12,l.outX),f=Math.min(n-12,l.inX);return(0,U.jsx)(hd,{path:A_([{x:e,y:t},{x:d,y:t},{x:d,y:u},{x:f,y:u},{x:f,y:r},{x:n,y:r}]),style:s,markerEnd:c})}var G_={lane:W_};function K_(e,t){let n=[];for(let r of e.nodes)for(let i of Z(r)){let a=Hg(e,r.id,i);if(!a)continue;let o=`${r.id}.${i}->${a}`,s=(e.layout?.[a]?.x??0)<=(e.layout?.[r.id]?.x??0);(t.has(o)||s||q_(e,r.id,i,a))&&n.push({key:o,from:r.id,port:i,to:a})}return k_(e,n)}function q_(e,t,n,r){let i=e.layout??{},a=e.nodes.find(e=>e.id===t),o=i[t],s=i[r];if(!a||!o||!s)return!1;let c=Z(a),l=o.x+(s_.has(a.type)?216:64),u=o.y+(Math.max(0,c.indexOf(n))+1)/(c.length+1)*64,d=s.x,f=s.y+64/2,[p,m]=[Math.min(l,d),Math.max(l,d)],[h,g]=[Math.min(u,f)-6,Math.max(u,f)+6];return e.nodes.some(e=>{if(e.id===t||e.id===r)return!1;let n=i[e.id];if(!n)return!1;let a=s_.has(e.type)?216:64,o=s_.has(e.type)?0:34;return n.x<m&&n.x+a>p&&n.y<g&&n.y+64+o>h})}var J_=[`claude`,`codex`,`opencode`,`cursor`,`pi`],Y_=`application/x-cezar-node`;function X_({data:e,selected:t}){return(0,U.jsx)(H_,{inner:Q_(e.node),node:e.node,wired:e.wired,selected:t,issue:e.issue,status:e.status,loopCount:e.loopCount,onAddFromPort:e.onAddFromPort})}var Z_={graph:X_};function Q_(e){let t=d({enabled:e.type===`workflow`});if(e.type!==`workflow`)return;let n=t.data?.workflows.find(t=>t.name===e.workflow);if(!n)return;let r=n.graph?n.graph.nodes.filter(e=>e.type!==`start`&&e.type!==`end`&&e.type!==`loop`&&e.type!==`join`).map(e=>({id:e.id,name:e.name??e.id})):n.steps.map(e=>({id:e.id,name:e.name??e.id}));return r.length?r:void 0}function $_(e,t){let n=[...e.taken,...t.transitions.filter(e=>e.to).map(e=>`${e.from}.${e.port}->${e.to}`)],r=[...e.log,...t.transitions.map(e=>`${e.from}.${e.port} → ${e.to??`(ends run)`}`)],i=[...e.visited,...t.transitions.flatMap(e=>e.to?[e.to]:[])];return t.kind===`end`?{...e,cursor:null,taken:n,log:r,visited:i,finished:t.status}:{...e,cursor:t.node,taken:n,log:r,visited:i}}function ev(e,t,n,r){let i=new Map(t.loops),a=e.nodes.find(e=>e.id===n)?.type===`fork`;return $_({...t,loops:i},a?x_(e,n,r,i):b_(e,n,r,i))}function tv(e){let t=new Map,n=e.nodes.find(e=>e.type===`start`),r={cursor:null,visited:[],taken:[],loops:t,log:[]};return n?$_({...r,visited:[n.id]},b_(e,n.id,`next`,t)):{...r,finished:`failed`,log:[`no start node`]}}function nv(e,t){if(e)return e.cursor===t?`running`:e.visited.includes(t)?`reached`:`pending`}function rv(){return(0,U.jsx)(df,{children:(0,U.jsx)(av,{})})}function iv({side:e,title:t,onClose:n,children:r,label:i}){return(0,U.jsxs)(`aside`,{"aria-label":i,className:y(`absolute top-3 bottom-3 z-10 flex flex-col overflow-hidden rounded-xl border border-border bg-card/95 shadow-xl backdrop-blur`,e===`left`?`left-3 w-60`:`right-3 w-80`),children:[(0,U.jsxs)(`div`,{className:`flex h-10 shrink-0 items-center justify-between border-b border-border pr-1 pl-3 text-[12px] font-medium`,children:[(0,U.jsx)(`span`,{className:`min-w-0 truncate`,children:t}),(0,U.jsx)(b,{size:`sm`,variant:`ghost`,onClick:n,"aria-label":`Close ${i.toLowerCase()}`,children:(0,U.jsx)(se,{})})]}),(0,U.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:r})]})}function av(){let{name:e}=w(),t=x(),n=g(),r=d(),i=o(),v=cu(),[y,C]=(0,H.useState)(n_),[T,D]=(0,H.useState)(``),[M,N]=(0,H.useState)(``),[P,F]=(0,H.useState)(!1),[I,L]=(0,H.useState)(null),[te,z]=(0,H.useState)(!1),[oe,se]=(0,H.useState)(!1);te&&!oe&&se(!0);let ye=s(oe),[be,xe]=(0,H.useState)(``),[Se,Ce]=(0,H.useState)(!1),[V,we]=(0,H.useState)(null),[Te,Ee]=(0,H.useState)([]),[W,De]=(0,H.useState)(!1),[Oe,ke]=(0,H.useState)(``),[Ae,je]=(0,H.useState)(``),[Me,Ne]=(0,H.useState)([]),[Pe,Fe]=(0,H.useState)(null),[Ie,Le]=(0,H.useState)(null),Re=(0,H.useCallback)((e,t)=>{Le({node:e,port:t}),z(!0),L(null),Ce(!1)},[]),ze=(0,H.useRef)(new Map),Be=(0,H.useCallback)(e=>{let t=ze.current.get(e);return t||(t=t=>Re(e,t),ze.current.set(e,t)),t},[Re]),Ve=(0,H.useRef)(null),He=(0,H.useRef)(!0),Ue=_f(),[G,We]=(0,H.useState)(null);(0,H.useEffect)(()=>{let t=e??`(new)`;if(Ve.current===t||e&&!r.data)return;Ve.current=t;let n=e?r.data?.workflows.find(t=>t.name===e):void 0;C(n?y_(n):n_()),D(n?n.source===`built-in`?`${n.name}-copy`:n.name:``),N(n?.description??``),F(!1),L(null),we(null),Ee([]),De(!0),e&&!n&&S(`No workflow named “${e}” — starting a new one.`,{tone:`danger`}),He.current=!0},[e,r.data]),(0,H.useEffect)(()=>{!Ue||!He.current||Me.length===0||(He.current=!1,v.fitView({padding:.2,maxZoom:1.2}))},[Ue,Me,v]);let K=(0,H.useCallback)(e=>{C(t=>e(t)),F(!0),we(null)},[]),{nodes:Ge,edges:Ke}=y;(0,H.useEffect)(()=>{De(!0);let e=setTimeout(()=>{p({nodes:Ge,edges:Ke}).then(e=>Ee(e.issues)).catch(e=>Ee([e instanceof Error?e.message:String(e)])).finally(()=>De(!1))},350);return()=>clearTimeout(e)},[Ge,Ke]);let qe=(0,H.useMemo)(()=>{let e=new Set;for(let t of Te)for(let n of t.matchAll(/"([A-Za-z0-9_-]+)"/g))e.add(n[1]);return e},[Te]);(0,H.useEffect)(()=>{Ne(e=>y.nodes.map(t=>{let n=e.find(e=>e.id===t.id),r={node:t,wired:Z(t).filter(e=>Hg(y,t.id,e)!==void 0),issue:qe.has(t.id),status:nv(V,t.id),loopCount:V?.loops.get(t.id),...V?{}:{onAddFromPort:Be(t.id)}},i=y.layout?.[t.id]??n?.position??{x:0,y:0};return n?{...n,position:i,data:r,selected:t.id===I}:{id:t.id,type:`graph`,position:i,data:r,selected:t.id===I}}))},[y,qe,V,I,Be]);let Je=(0,H.useMemo)(()=>v_({nodes:Ge,edges:Ke}),[Ge,Ke]),Ye=(0,H.useMemo)(()=>K_(y,Je),[y,Je]),Xe=(0,H.useMemo)(()=>y.nodes.flatMap(e=>Z(e).flatMap(t=>{let n=Hg(y,e.id,t);if(!n)return[];let r=Bg(e,t),i=Je.has(`${e.id}.${t}->${n}`),a=(y.layout?.[n]?.x??0)<=(y.layout?.[e.id]?.x??0),o=`${e.id}.${t}->${n}`,s=U_({tone:r,back:i,...V?{emphasis:V.taken.includes(o)?`taken`:`dim`}:{}});return[{id:o,source:e.id,sourceHandle:t,target:n,type:i||a||Ye.has(o)?`lane`:`default`,...Ye.has(o)?{data:{lane:Ye.get(o)}}:{},selected:o===Pe,style:o===Pe?{...s,stroke:`var(--primary)`,strokeWidth:2.5}:s,markerEnd:{type:yo.ArrowClosed,color:s.stroke,width:14,height:14}}]})),[y,V,Pe,Je,Ye]),Ze=(0,H.useCallback)(e=>{Ne(t=>Wl(e,t));for(let t of e)if(t.type===`position`&&t.position&&!t.dragging){let{id:e,position:n}=t;C(t=>({...t,layout:{...t.layout,[e]:n}})),F(!0)}else t.type===`remove`?(K(e=>Gg(e,t.id)),L(e=>e===t.id?null:e)):t.type===`select`&&(t.selected?(L(t.id),Ce(!1)):L(e=>e===t.id?null:e))},[K]),Qe=(0,H.useCallback)(e=>{for(let t of e){if(t.type===`select`&&Fe(t.selected?t.id:null),t.type!==`remove`)continue;let e=t.id.split(`->`)[0]??``;K(t=>{let n=Vg(e,t.nodes);return n?Wg(t,n.node,n.port):t}),Fe(null)}},[K]),$e=(0,H.useCallback)(e=>{let{source:t,target:n,sourceHandle:r}=e;!t||!n||!r||K(e=>Ug(e,t,r,n))},[K]),et=(0,H.useCallback)((e,t,n)=>{if(e===`fork`){let e=Ie?y.layout?.[Ie.node]:void 0,n=Object.values(y.layout??{}),r=t??(e?{x:e.x+216+170,y:e.y}:{x:n.length?Math.min(...n.map(e=>e.x)):0,y:n.length?Math.max(...n.map(e=>e.y))+260:0}),i=Ie;K(e=>{let t=$g(e,r);return i?Ug(t.graph,i.node,i.port,t.forkId):t.graph}),Le(null),z(!1),Ce(!1),v.setCenter(r.x+300,r.y+64/2,{zoom:v.getZoom(),duration:250});return}let r=qg(e,y.nodes.map(e=>e.id)),i=n&&r.type===`agent`?{...r,id:Q(n.replace(/[^A-Za-z0-9_-]/g,`-`),y.nodes.map(e=>e.id)),name:n,skill:n}:r;if(Ie&&!t){let e=y.nodes.find(e=>e.id===Ie.node),t=y.layout?.[Ie.node];if(e&&t){let n=Z(e),r=Math.max(0,n.indexOf(Ie.port)),a=e.type===`agent`||e.type===`dispatch`?216:64,o=O_(y.layout,{x:t.x+a+170,y:t.y+(r-(n.length-1)/2)*110}),{node:s,port:c}=Ie;K(e=>Ug({...e,nodes:[...e.nodes,i],layout:{...e.layout,[i.id]:o}},s,c,i.id)),Le(null),z(!1),L(i.id),v.setCenter(o.x+64,o.y+64/2,{zoom:v.getZoom(),duration:250});return}}let a=Object.values(y.layout??{}),o=t??{x:a.length?Math.min(...a.map(e=>e.x)):0,y:a.length?Math.max(...a.map(e=>e.y))+130:0};K(e=>({...e,nodes:[...e.nodes,i],layout:{...e.layout,[i.id]:o}})),L(i.id),Ce(!1),t||v.setCenter(o.x+64,o.y+64/2,{zoom:v.getZoom(),duration:250})},[Ie,K,v,y.nodes,y.layout]),tt=e=>{let t=e.dataTransfer.getData(Y_);if(!t)return;e.preventDefault();let n=v.screenToFlowPosition({x:e.clientX,y:e.clientY}),r=(t===`agent`||t===`dispatch`?216:64)/2;et(t,{x:n.x-r,y:n.y-64/2})};(0,H.useCallback)(()=>{L(null),Ce(!1),z(!1)},[]),(0,H.useEffect)(()=>{let e=e=>{e.key!==`Escape`||G||e.target instanceof Element&&e.target.closest(`input, textarea, select`)||(I||Se?(L(null),Ce(!1)):(z(!1),Le(null)))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[G,I,Se]);let nt=h({mutationFn:e=>{let t={name:T.trim(),...M.trim()?{description:M.trim()}:{}},n=i_(y);return n?l({...t,skills:n,...e?{overwrite:!0}:{}}):a({...t,graph:y,overwrite:e})},onSuccess:r=>{F(!1),S(`Saved ${r.path.split(`/`).pop()??r.path}`),n.invalidateQueries({queryKey:f.workflows}),r.name!==e&&(Ve.current=r.name,t(`/workflows/${encodeURIComponent(r.name)}`))},onError:(e,t)=>{if(!t&&e instanceof c&&e.exists){We({kind:`overwrite`});return}S(e instanceof Error?e.message:String(e),{tone:`danger`})}}),rt=h({mutationFn:()=>m(Oe),onSuccess:e=>{K(()=>y_(e)),D(e.name),N(e.description??``),ke(``),He.current=!0},onError:e=>S(e instanceof Error?e.message:String(e),{tone:`danger`})}),it=h({mutationFn:()=>u(Ae.trim()),onSuccess:e=>{K(()=>y_({steps:o_(e.steps)})),e.name?.trim()&&D(e.name.trim()),je(``),He.current=!0,S(e.fallback?`Planner unavailable — added a single step. Edit, then Save.`:`Built a workflow — review, tweak, then Save.`,e.fallback?{tone:`danger`}:void 0)},onError:e=>S(e instanceof Error?e.message:String(e),{tone:`danger`})}),at=h({mutationFn:e=>_(e),onSuccess:(e,r)=>{S(`Deleted “${r}”.`),F(!1),n.invalidateQueries({queryKey:f.workflows}),t(`/workflows`)},onError:e=>S(e instanceof Error?e.message:String(e),{tone:`danger`})}),ot=()=>{let e=URL.createObjectURL(new Blob([T_(T,M,y)],{type:`application/yaml;charset=utf-8`})),t=document.createElement(`a`);t.href=e,t.download=E_(T),document.body.append(t),t.click(),t.remove(),setTimeout(()=>URL.revokeObjectURL(e),1e3)};if(i.isPending||e&&r.isPending)return(0,U.jsx)(ve,{});if(i.isError)return(0,U.jsx)(ge,{icon:(0,U.jsx)(R,{}),tone:`neutral`,title:`The node catalog did not load`,subtitle:i.error instanceof Error?i.error.message:`Try again in a moment.`});let st=y.nodes.find(e=>e.id===I)??null,ct=V?.cursor?y.nodes.find(e=>e.id===V.cursor):void 0,lt=S_(y),ut=T.trim().length>0&&Te.length===0&&!W&&!nt.isPending,dt=e?r.data?.workflows.find(t=>t.name===e):void 0,ft=dt?.source===`file`&&T.trim()===e,pt=!!r.data?.workflows.some(e=>e.name===T.trim()&&e.source===`built-in`);return(0,U.jsxs)(`div`,{"data-route":`workflows`,className:`flex h-full min-h-0 flex-col`,children:[(0,U.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-2 border-b border-border bg-background px-3`,children:[(0,U.jsxs)(`select`,{"aria-label":`Open workflow`,className:`h-8 max-w-44 rounded-md border border-transparent bg-transparent px-1.5 text-[13px] font-medium outline-none hover:border-border focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e??``,onChange:e=>{let n=e.target.value?`/workflows/${encodeURIComponent(e.target.value)}`:`/workflows`;P?We({kind:`discard`,to:n}):t(n)},children:[(0,U.jsx)(`option`,{value:``,children:`New workflow`}),(0,U.jsx)(`optgroup`,{label:`This repo`,children:r.data?.workflows.filter(e=>e.source===`file`).map(e=>(0,U.jsxs)(`option`,{value:e.name,children:[e.name,e.graph?``:` (v1)`]},e.name))}),(0,U.jsx)(`optgroup`,{label:`Built-in templates`,children:r.data?.workflows.filter(e=>e.source===`built-in`).map(e=>(0,U.jsx)(`option`,{value:e.name,children:e.name},e.name))})]}),(0,U.jsx)(`span`,{className:`text-muted-foreground/60`,children:`/`}),(0,U.jsx)(B,{"aria-label":`Workflow name`,placeholder:`name this workflow`,value:T,onChange:e=>{D(e.target.value),F(!0)},className:`h-8 w-52 border-transparent bg-transparent text-[13px] shadow-none hover:border-border`}),P&&(0,U.jsx)(`span`,{className:`size-1.5 rounded-full bg-primary`,title:`Unsaved changes`,"aria-label":`Unsaved changes`}),(0,U.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 rounded-md px-1.5 py-1 text-[12px] hover:bg-accent`,style:{color:Te.length?P_.failure:`var(--muted-foreground)`},title:Te.join(`
|
|
13
|
+
`)||`The server validated this workflow`,onClick:()=>{L(null),Ce(!0)},children:[Te.length?(0,U.jsx)(R,{className:`size-3.5`}):(0,U.jsx)(A,{className:`size-3.5`}),Te.length?`${Te.length} issue${Te.length>1?`s`:``}`:`valid`]}),(0,U.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[(0,U.jsxs)(b,{size:`sm`,variant:te?`primary`:`ghost`,onClick:()=>{Le(null),z(e=>!e)},children:[(0,U.jsx)(ie,{}),` Add node`]}),(0,U.jsx)(b,{size:`sm`,variant:`ghost`,title:`Tidy up the layout`,"aria-label":`Tidy up`,onClick:()=>{K(e=>({...e,layout:m_(e)})),He.current=!0},children:(0,U.jsx)(E,{})}),(0,U.jsxs)(b,{size:`sm`,variant:V?`primary`:`ghost`,onClick:()=>we(e=>e?null:tv(y)),children:[V?(0,U.jsx)(re,{}):(0,U.jsx)(ne,{}),` `,V?`Stop`:`Simulate`]}),(0,U.jsx)(b,{size:`sm`,variant:Se?`primary`:`ghost`,title:`Workflow settings, YAML and import`,"aria-label":`Workflow settings`,onClick:()=>{L(null),Ce(e=>!e)},children:(0,U.jsx)(ee,{})}),(0,U.jsx)(b,{size:`sm`,variant:`ghost`,title:`Export as a .yaml file`,"aria-label":`Export YAML`,onClick:ot,children:(0,U.jsx)(j,{})}),(0,U.jsxs)(b,{size:`sm`,variant:`primary`,disabled:!ut,onClick:()=>pt?We({kind:`shadow`}):nt.mutate(ft),children:[(0,U.jsx)(ae,{}),` Save`]})]})]}),(0,U.jsxs)(`div`,{className:`relative min-h-0 flex-1`,onDragOver:e=>e.preventDefault(),onDrop:tt,children:[(0,U.jsxs)(hf,{nodes:Me,edges:Xe,nodeTypes:Z_,edgeTypes:G_,onNodesChange:Ze,onEdgesChange:Qe,onConnect:$e,onPaneClick:()=>{L(null),Fe(null),Ce(!1)},nodesDraggable:!V,nodesConnectable:!V,deleteKeyCode:[`Backspace`,`Delete`],fitView:!0,fitViewOptions:{padding:.2,maxZoom:1.2},minZoom:.2,colorMode:`system`,proOptions:{hideAttribution:!0},children:[(0,U.jsx)(wf,{variant:bf.Dots,gap:20,size:1}),(0,U.jsx)(Nf,{showInteractive:!1,position:`bottom-left`})]}),te&&(0,U.jsx)(iv,{side:`left`,label:`Node palette`,title:Ie?(0,U.jsxs)(`span`,{children:[`Add after `,(0,U.jsx)(`span`,{className:`text-muted-foreground`,children:Ie.node}),` →`,` `,(0,U.jsx)(`span`,{style:{color:P_.success},children:Ie.port})]}):`Add a node`,onClose:()=>{z(!1),Le(null)},children:(0,U.jsxs)(`div`,{className:`p-2`,children:[j_.map(e=>{let t=i.data.nodes.filter(t=>t.category===e.id);return t.length?(0,U.jsxs)(`section`,{className:`mb-3`,children:[(0,U.jsx)(`h2`,{className:`px-1.5 pb-1 text-[10px] font-semibold tracking-wide text-muted-foreground uppercase`,children:e.label}),t.map(t=>{let n=N_[t.type];return(0,U.jsxs)(`button`,{type:`button`,draggable:!0,onDragStart:e=>{e.dataTransfer.setData(Y_,t.type),e.dataTransfer.effectAllowed=`move`},onClick:()=>et(t.type),className:`flex w-full cursor-grab items-center gap-2.5 rounded-lg px-1.5 py-1.5 text-left hover:bg-accent`,title:`${t.description} — drag onto the canvas, or click to add`,children:[(0,U.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md border border-border bg-background`,children:(0,U.jsx)(n,{className:`size-4`,style:{color:e.color},strokeWidth:1.75})}),(0,U.jsxs)(`span`,{className:`min-w-0`,children:[(0,U.jsx)(`span`,{className:`block text-[12px] leading-tight font-medium`,children:t.label}),(0,U.jsx)(`span`,{className:`block truncate text-[10px] text-muted-foreground`,children:t.description})]})]},t.type)})]},e.id):null}),(0,U.jsxs)(`section`,{className:`mb-1`,children:[(0,U.jsx)(`h2`,{className:`px-1.5 pb-1 text-[10px] font-semibold tracking-wide text-muted-foreground uppercase`,children:`Skills`}),(0,U.jsx)(B,{"aria-label":`Search skills`,placeholder:`search skills…`,value:be,onChange:e=>xe(e.target.value),className:`mb-1 h-7 text-[12px]`}),ye.isPending?(0,U.jsx)(`p`,{className:`px-1.5 text-[11px] text-muted-foreground`,children:`Loading skills…`}):(ye.data??[]).filter(e=>{let t=be.trim().toLowerCase();return!t||e.name.toLowerCase().includes(t)||(e.description??``).toLowerCase().includes(t)}).slice(0,40).map(e=>(0,U.jsxs)(`button`,{type:`button`,onClick:()=>et(`agent`,void 0,e.name),className:`flex w-full items-center gap-2.5 rounded-lg px-1.5 py-1 text-left hover:bg-accent`,title:e.description??e.name,children:[(0,U.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md border border-border bg-background text-[11px] text-muted-foreground`,children:`/`}),(0,U.jsxs)(`span`,{className:`min-w-0`,children:[(0,U.jsx)(`span`,{className:`block truncate text-[12px] leading-tight`,children:e.name}),e.description?(0,U.jsx)(`span`,{className:`block truncate text-[10px] text-muted-foreground`,children:e.description}):null]})]},`${e.source}:${e.name}`))]})]})}),st?(0,U.jsx)(iv,{side:`right`,label:`Inspector`,title:st.name??st.id,onClose:()=>L(null),children:(0,U.jsx)(pv,{node:st,graph:y,onGraphEdit:K,onChange:e=>{K(t=>Kg(t,st.id,e)),e.id!==st.id&&L(e.id)},onDelete:()=>{K(e=>Gg(e,st.id)),L(null)}},st.id)}):Se?(0,U.jsx)(iv,{side:`right`,label:`Workflow settings`,title:`Workflow`,onClose:()=>Ce(!1),children:(0,U.jsxs)(`div`,{className:`space-y-4 p-4 text-[12px]`,children:[(0,U.jsx)($,{label:`description`,children:(0,U.jsx)(k,{value:M,rows:3,onChange:e=>{N(e.target.value),F(!0)}})}),(Te.length>0||lt.length>0)&&(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[Te.map(e=>(0,U.jsxs)(`div`,{className:`flex gap-1.5 text-[11px]`,style:{color:P_.failure},children:[(0,U.jsx)(R,{className:`mt-0.5 size-3 shrink-0`}),e]},e)),lt.length>0&&(0,U.jsxs)(`div`,{className:`text-[11px] text-muted-foreground`,children:[`Unwired — end the run: `,lt.join(`, `)]})]}),(0,U.jsxs)(`div`,{children:[(0,U.jsxs)(`div`,{className:`mb-1 flex items-center justify-between text-[11px] text-muted-foreground`,children:[(0,U.jsx)(`span`,{children:`YAML`}),(0,U.jsx)(`button`,{type:`button`,className:`hover:text-foreground`,onClick:()=>void navigator.clipboard?.writeText(T_(T,M,y)),children:`Copy`})]}),(0,U.jsx)(`pre`,{className:`max-h-64 overflow-auto rounded-md bg-muted/40 p-2 text-[10.5px] leading-relaxed`,children:T_(T,M,y)})]}),(0,U.jsx)($,{label:`import YAML (v1 or v2)`,children:(0,U.jsx)(k,{value:Oe,onChange:e=>ke(e.target.value),rows:4,className:`font-mono text-[11px]`,placeholder:`paste a workflow file…`})}),(0,U.jsx)(b,{size:`sm`,variant:`outline`,disabled:!Oe.trim()||rt.isPending,onClick:()=>rt.mutate(),children:`Import`}),(0,U.jsx)($,{label:`build from a description — replaces the canvas`,children:(0,U.jsx)(k,{value:Ae,onChange:e=>je(e.target.value),rows:3,placeholder:`implement, run the tests, then review…`})}),(0,U.jsx)(b,{size:`sm`,variant:`outline`,disabled:!Ae.trim()||it.isPending,onClick:()=>it.mutate(),children:it.isPending?`Building…`:`Build workflow`}),dt?.source===`file`&&(0,U.jsx)(`div`,{className:`border-t border-border pt-3`,children:(0,U.jsxs)(b,{size:`sm`,variant:`danger-ghost`,disabled:at.isPending,onClick:()=>We({kind:`delete`,name:dt.name}),children:[(0,U.jsx)(O,{}),` Delete workflow`]})})]})}):null,V&&(0,U.jsx)(`div`,{className:`absolute bottom-4 left-1/2 z-20 w-[min(520px,90%)] -translate-x-1/2 rounded-xl border border-border bg-card/95 p-3 shadow-xl backdrop-blur`,children:V.finished||!ct?(0,U.jsxs)(`div`,{className:`flex items-center gap-2 text-[13px]`,children:[(0,U.jsx)(A,{className:`size-4`,style:{color:V.finished===`failed`?P_.failure:P_.success}}),`Run ends `,(0,U.jsx)(`b`,{children:V.finished}),` after `,V.taken.length,` steps.`,(0,U.jsxs)(b,{size:`sm`,variant:`ghost`,className:`ml-auto`,onClick:()=>we(tv(y)),children:[(0,U.jsx)(_e,{}),` Restart`]})]}):(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,U.jsxs)(`span`,{className:`text-[12px] text-muted-foreground`,children:[(0,U.jsx)(`b`,{className:`text-foreground`,children:ct.name??ct.id}),` ends with`]}),(ct.type===`fork`?[`done`,`failed`]:Z(ct)).map(e=>(0,U.jsx)(b,{size:`sm`,variant:`outline`,style:{color:P_[ct.type===`fork`?e===`failed`?`failure`:`success`:Bg(ct,e)]},onClick:()=>we(t=>t&&ev(y,t,ct.id,e)),children:ct.type===`fork`?e===`done`?`all branches done`:`a branch failed`:e},e))]})})]}),(0,U.jsx)(he,{open:G!==null,onOpenChange:e=>!e&&We(null),children:(0,U.jsxs)(ue,{"data-slot":`wg-confirm-dialog`,children:[(0,U.jsxs)(me,{children:[(0,U.jsx)(le,{children:G?.kind===`overwrite`?`“${T.trim()}” already exists`:G?.kind===`shadow`?`Replace the built-in “${T.trim()}”?`:G?.kind===`delete`?`Delete “${G.name}”?`:`Discard unsaved changes?`}),(0,U.jsx)(ce,{children:G?.kind===`overwrite`?`Saving replaces the existing workflow file — including a v1 file of the same name. There is no undo.`:G?.kind===`shadow`?`A saved file with a built-in name takes its place for every task in this repository, including tasks that use the default. Rename it to keep the built-in; delete the file to bring it back.`:G?.kind===`delete`?`This removes the workflow file from the repository. Tasks already started with it keep running; there is no undo.`:`The edits on this canvas have not been saved.`})]}),(0,U.jsxs)(fe,{children:[(0,U.jsx)(pe,{children:`Keep editing`}),(0,U.jsx)(de,{"data-slot":`wg-confirm-action`,onClick:()=>{G?.kind===`overwrite`?nt.mutate(!0):G?.kind===`shadow`?nt.mutate(!1):G?.kind===`delete`?at.mutate(G.name):G?.kind===`discard`&&(F(!1),t(G.to)),We(null)},children:G?.kind===`overwrite`?`Overwrite`:G?.kind===`shadow`?`Replace built-in`:G?.kind===`delete`?`Delete`:`Discard`})]})]})})]})}function ov({value:e,onChange:t}){let n=(s().data??[]).map(e=>e.name),r=e===void 0||n.includes(e);return(0,U.jsx)($,{label:`skill`,children:(0,U.jsxs)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e??``,onChange:e=>t(e.target.value||void 0),children:[(0,U.jsx)(`option`,{value:``,children:`no skill`}),!r&&(0,U.jsxs)(`option`,{value:e,children:[e,` (not in this repo)`]}),n.map(e=>(0,U.jsx)(`option`,{value:e,children:e},e))]})})}function sv({label:e,value:t,onChange:n}){return(0,U.jsx)($,{label:e,children:(0,U.jsx)(B,{defaultValue:t?.join(`, `)??``,onBlur:e=>{let t=e.target.value.split(`,`).map(e=>e.trim()).filter(Boolean);n(t.length?t:void 0)},className:`h-8`})})}function cv({label:e,value:t,optional:n,onChange:r}){let i=(d().data?.workflows??[]).map(e=>e.name);return(0,U.jsxs)(`select`,{"aria-label":e,className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:t??``,onChange:e=>r(e.target.value||void 0),children:[n?(0,U.jsx)(`option`,{value:``,children:`one agent step`}):null,t&&!i.includes(t)?(0,U.jsxs)(`option`,{value:t,children:[t,` (not found)`]}):null,i.map(e=>(0,U.jsx)(`option`,{value:e,children:e},e))]})}function lv({condition:e,onChange:t}){let n=[`>`,`>=`,`<`,`<=`,`==`],r=[`equals`,`not-equals`,`contains`,`>`,`>=`,`<`,`<=`],i=e=>{switch(e){case`diff-lines`:case`diff-files`:return t({kind:e,op:`>`,value:e===`diff-lines`?500:20});case`paths-changed`:return t({kind:e,glob:`packages/web/**`});case`output`:return t({kind:e,ref:`review.verdict`,op:`equals`,value:`approve`});case`branch`:return t({kind:e,op:`equals`,value:`main`})}};return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`look at`,children:(0,U.jsxs)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e.kind,onChange:e=>i(e.target.value),children:[(0,U.jsx)(`option`,{value:`diff-lines`,children:`the task's diff — changed lines`}),(0,U.jsx)(`option`,{value:`diff-files`,children:`the task's diff — changed files`}),(0,U.jsx)(`option`,{value:`paths-changed`,children:`which paths changed (glob)`}),(0,U.jsx)(`option`,{value:`output`,children:`another node's output`}),(0,U.jsx)(`option`,{value:`branch`,children:`the base branch`})]})}),(e.kind===`diff-lines`||e.kind===`diff-files`)&&(0,U.jsxs)(`div`,{className:`grid grid-cols-[5rem_1fr] gap-2`,children:[(0,U.jsx)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,"aria-label":`operator`,value:e.op,onChange:n=>t({...e,op:n.target.value}),children:n.map(e=>(0,U.jsx)(`option`,{value:e,children:e},e))}),(0,U.jsx)(B,{type:`number`,min:0,"aria-label":`threshold`,value:e.value,onChange:n=>t({...e,value:Math.max(0,Number(n.target.value)||0)}),className:`h-8`})]}),e.kind===`paths-changed`&&(0,U.jsx)($,{label:`glob — * within a folder, ** across folders`,children:(0,U.jsx)(B,{value:e.glob,onChange:n=>t({...e,glob:n.target.value}),className:`h-8 font-mono text-[11px]`})}),e.kind===`output`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`output — <node>.<field>`,children:(0,U.jsx)(B,{value:e.ref,onChange:n=>t({...e,ref:n.target.value.trim()}),className:`h-8 font-mono text-[11px]`})}),(0,U.jsxs)(`div`,{className:`grid grid-cols-[7rem_1fr] gap-2`,children:[(0,U.jsx)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,"aria-label":`operator`,value:e.op,onChange:n=>t({...e,op:n.target.value}),children:r.map(e=>(0,U.jsx)(`option`,{value:e,children:e},e))}),(0,U.jsx)(B,{"aria-label":`value`,value:String(e.value),onChange:n=>t({...e,value:n.target.value}),className:`h-8`})]})]}),e.kind===`branch`&&(0,U.jsxs)(`div`,{className:`grid grid-cols-[7rem_1fr] gap-2`,children:[(0,U.jsxs)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,"aria-label":`operator`,value:e.op,onChange:n=>t({...e,op:n.target.value}),children:[(0,U.jsx)(`option`,{value:`equals`,children:`equals`}),(0,U.jsx)(`option`,{value:`matches`,children:`matches glob`})]}),(0,U.jsx)(B,{"aria-label":`branch`,value:e.value,onChange:n=>t({...e,value:n.target.value}),className:`h-8 font-mono text-[11px]`})]}),(0,U.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Leaves by true or false. Diff and paths are this task's own changes vs its base.`})]})}function $({label:e,children:t}){return(0,U.jsxs)(`label`,{className:`block`,children:[(0,U.jsx)(`span`,{className:`mb-1 block text-[11px] text-muted-foreground`,children:e}),t]})}function uv({label:e,value:t,optional:n,onChange:r}){return(0,U.jsx)($,{label:e,children:(0,U.jsx)(B,{type:`number`,min:1,value:t?Math.round(t/6e4):``,placeholder:n?`no timeout`:void 0,onChange:e=>{let t=Math.floor(Number(e.target.value));r(t>=1?t*6e4:void 0)},className:`h-8`})})}var dv={start:[],end:[],loop:[`iteration`,`max`],agent:[`summary`,`verdict`,`costUsd`],check:[`exitCode`,`output`],"gate.human":[`comment`],"ask-user":[`answer`],dispatch:[`runId`,`status`,`summary`],"git.commit":[`sha`],"github.draft-pr":[`url`,`number`],"github.wait-ci":[`status`],"github.pr-comment":[],fork:[`runIds`],join:[`succeeded`,`failed`],workflow:[`runId`,`status`,`summary`],if:[`result`,`value`],"git.push":[],"git.sync-base":[`conflicts`],"github.pr-update":[],"github.issue-comment":[`issue`],"notify.webhook":[`status`]};function fv(e,t){return e.type===`agent`&&t?.has(e.id)?[`runId`,`status`,`summary`]:dv[e.type]}function pv({node:e,graph:t,onChange:n,onGraphEdit:r,onDelete:i}){let a=Yg(t),o=e.type===`agent`&&a.has(e.id),[s,c]=(0,H.useState)(e.id),l=t=>{let r={...e,...t};for(let[e,n]of Object.entries(t))(n===void 0||n===``)&&delete r[e];n(r)};return(0,U.jsxs)(`div`,{className:`space-y-3 p-4 text-[12px]`,children:[(0,U.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,U.jsxs)(`span`,{className:`text-[11px] uppercase text-muted-foreground`,children:[e.type,` node`]}),(0,U.jsx)(b,{size:`sm`,variant:`danger-ghost`,onClick:i,"aria-label":`Delete node`,children:(0,U.jsx)(O,{})})]}),(0,U.jsx)($,{label:`id`,children:(0,U.jsx)(B,{value:s,onChange:e=>c(e.target.value),onBlur:()=>{let r=s.trim();if(!r||r===e.id)return c(e.id);if(!/^[A-Za-z0-9][A-Za-z0-9_-]*$/.test(r)||t.nodes.some(e=>e.id===r))return S(`“${r}” is taken or not a valid id (letters, digits, - and _).`,{tone:`danger`}),c(e.id);n({...e,id:r})},className:`h-8`})}),(0,U.jsx)($,{label:`name`,children:(0,U.jsx)(B,{value:e.name??``,onChange:e=>l({name:e.target.value}),className:`h-8`})}),e.type===`agent`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`prompt — {{task}}, {{nodes.<id>.<field>}}`,children:(0,U.jsx)(k,{value:e.prompt??``,rows:5,className:`font-mono text-[11px]`,onChange:e=>l({prompt:e.target.value})})}),(0,U.jsx)(ov,{value:e.skill,onChange:e=>l({skill:e})}),(0,U.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,U.jsx)($,{label:`runner`,children:(0,U.jsxs)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e.runner??``,onChange:e=>l({runner:e.target.value||void 0}),children:[(0,U.jsx)(`option`,{value:``,children:`task default`}),J_.map(e=>(0,U.jsx)(`option`,{value:e,children:e},e))]})}),(0,U.jsx)($,{label:`model`,children:(0,U.jsx)(B,{value:e.model??``,onChange:e=>l({model:e.target.value}),className:`h-8`})})]}),o?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`input`,{type:`checkbox`,className:`size-3.5 accent-primary`,checked:e.review??!1,onChange:e=>l({review:e.target.checked||void 0})}),`reviewer — judges the task branch, never implements`]}),(0,U.jsx)($,{label:`budget USD — carved from this run`,children:(0,U.jsx)(B,{type:`number`,min:0,step:.5,value:e.budgetUsd??``,onChange:e=>l({budgetUsd:Number(e.target.value)>0?Number(e.target.value):void 0}),className:`h-8`})}),(0,U.jsx)(`p`,{className:`rounded-md bg-accent/50 p-2 text-[11px] text-muted-foreground`,children:`A fork branch: runs as its own subtask at the same time as the other branches — a fresh session in its own worktree, starting from the task's work so far.`})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`verdicts — comma-separated, each becomes a port`,children:(0,U.jsx)(B,{defaultValue:e.verdicts?.join(`, `)??``,onBlur:e=>{let t=e.target.value.split(`,`).map(e=>e.trim()).filter(Boolean);l({verdicts:t.length?t:void 0})},className:`h-8`,placeholder:`approve, changes`})}),(0,U.jsx)($,{label:`session`,children:(0,U.jsxs)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e.session?.continue??``,onChange:e=>l({session:e.target.value?{continue:e.target.value}:void 0}),children:[(0,U.jsx)(`option`,{value:``,children:`fresh session`}),t.nodes.filter(t=>t.type===`agent`&&t.id!==e.id).map(e=>(0,U.jsxs)(`option`,{value:e.id,children:[`continue `,e.name??e.id]},e.id))]})})]}),e.verdicts?.length?(0,U.jsxs)(`p`,{className:`rounded-md bg-accent/50 p-2 text-[11px] text-muted-foreground`,children:[`The agent ends its turn with `,e.verdicts.map(e=>`CEZ:VERDICT ${e}`).join(` or `),`. No verdict → one reminder, then `,(0,U.jsx)(`span`,{style:{color:P_.failure},children:`failed`}),`.`]}):null]}),e.type===`check`&&(0,U.jsx)($,{label:`command — runs in the worktree; exit 0 passes`,children:(0,U.jsx)(k,{value:e.command,rows:3,className:`font-mono text-[11px]`,onChange:e=>l({command:e.target.value})})}),e.type===`loop`&&(0,U.jsx)($,{label:`max iterations — repeat while within, then exhausted`,children:(0,U.jsx)(B,{type:`number`,min:1,value:e.max,onChange:e=>l({max:Math.max(1,Math.floor(Number(e.target.value)||1))}),className:`h-8`})}),e.type===`gate.human`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`message — shown on the approve / reject card`,children:(0,U.jsx)(k,{value:e.message,rows:3,onChange:e=>l({message:e.target.value})})}),(0,U.jsx)(uv,{label:`timeout (minutes, optional) — adds a timeout port`,value:e.timeoutMs,optional:!0,onChange:e=>l({timeoutMs:e})}),(0,U.jsxs)(`p`,{className:`rounded-md bg-accent/50 p-2 text-[11px] text-muted-foreground`,children:[`The run waits without holding a slot. A reply starting with “approve” takes approve; anything else takes reject and becomes `,(0,U.jsx)(`code`,{children:`{{nodes.${e.id}.comment}}`}),`.`]})]}),e.type===`ask-user`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`question`,children:(0,U.jsx)(k,{value:e.question,rows:3,onChange:e=>l({question:e.target.value})})}),(0,U.jsx)($,{label:`options — comma-separated, optional (free text always works)`,children:(0,U.jsx)(B,{defaultValue:e.options?.join(`, `)??``,onBlur:e=>{let t=e.target.value.split(`,`).map(e=>e.trim()).filter(Boolean);l({options:t.length?t:void 0})},className:`h-8`})}),(0,U.jsx)(uv,{label:`timeout (minutes, optional) — adds a timeout port`,value:e.timeoutMs,optional:!0,onChange:e=>l({timeoutMs:e})})]}),e.type===`dispatch`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`objective — {{task}}, {{nodes.<id>.<field>}}`,children:(0,U.jsx)(k,{value:e.prompt,rows:4,className:`font-mono text-[11px]`,onChange:e=>l({prompt:e.target.value})})}),(0,U.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,U.jsx)($,{label:`runner`,children:(0,U.jsxs)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e.runner??``,onChange:e=>l({runner:e.target.value||void 0}),children:[(0,U.jsx)(`option`,{value:``,children:`task default`}),J_.map(e=>(0,U.jsx)(`option`,{value:e,children:e},e))]})}),(0,U.jsx)($,{label:`budget USD`,children:(0,U.jsx)(B,{type:`number`,min:0,step:.5,value:e.budgetUsd??``,onChange:e=>l({budgetUsd:Number(e.target.value)>0?Number(e.target.value):void 0}),className:`h-8`})})]})]}),e.type===`git.commit`&&(0,U.jsx)($,{label:`commit message — commits everything in the worktree`,children:(0,U.jsx)(B,{value:e.message,onChange:e=>l({message:e.target.value}),className:`h-8`})}),e.type===`github.draft-pr`&&(0,U.jsx)($,{label:`title — optional, defaults to the task title`,children:(0,U.jsx)(B,{value:e.title??``,onChange:e=>l({title:e.target.value}),className:`h-8`})}),e.type===`github.pr-comment`&&(0,U.jsx)($,{label:`comment body`,children:(0,U.jsx)(k,{value:e.body,rows:3,onChange:e=>l({body:e.target.value})})}),e.type===`github.wait-ci`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(uv,{label:`timeout (minutes) — required`,value:e.timeoutMs,onChange:e=>l({timeoutMs:e??60*6e4})}),(0,U.jsx)($,{label:`poll every (seconds)`,children:(0,U.jsx)(B,{type:`number`,min:10,value:Math.round(e.pollMs/1e3),onChange:e=>l({pollMs:Math.max(10,Math.floor(Number(e.target.value)||60))*1e3}),className:`h-8`})})]}),e.type===`fork`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`branches — one agent each, all at once`,children:(0,U.jsx)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e.branches,onChange:t=>r(n=>e_(n,e.id,Number(t.target.value))),children:[2,3,4].map(e=>(0,U.jsxs)(`option`,{value:e,children:[e,` agents`]},e))})}),(0,U.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Each branch is the agent it is wired to: set its prompt, runner and budget there. They run as subtasks in their own worktrees (at most 4 at once) and meet at the join.`})]}),e.type===`join`&&(0,U.jsx)($,{label:`wait for`,children:(0,U.jsxs)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e.wait,onChange:e=>l({wait:e.target.value}),children:[(0,U.jsx)(`option`,{value:`all`,children:`every branch (done only if all succeed)`}),(0,U.jsx)(`option`,{value:`any`,children:`the first to succeed (the rest are cancelled)`})]})}),e.type===`workflow`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(cv,{label:`workflow to run`,value:e.workflow,onChange:e=>l({workflow:e??`quick-task`})}),(0,U.jsx)($,{label:`task for it — {{task}}, {{nodes.<id>.<field>}}`,children:(0,U.jsx)(k,{value:e.prompt??``,placeholder:`{{task}}`,rows:3,className:`font-mono text-[11px]`,onChange:e=>l({prompt:e.target.value})})}),(0,U.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Runs as a subtask in its own worktree; this node waits for it.`})]}),e.type===`git.push`&&(0,U.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Commits anything pending, then pushes the task branch to origin.`}),e.type===`git.sync-base`&&(0,U.jsxs)(`p`,{className:`text-[11px] text-muted-foreground`,children:[`Merges the latest base branch into the task. On a conflict the merge is left in progress and the node leaves by`,` `,(0,U.jsx)(`span`,{style:{color:P_.failure},children:`conflict`}),` — wire it to an agent to resolve it;`,` `,(0,U.jsx)(`code`,{children:`{{nodes.${e.id}.conflicts}}`}),` lists the files.`]}),e.type===`github.pr-update`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`input`,{type:`checkbox`,checked:e.ready??!1,onChange:e=>l({ready:e.target.checked||void 0})}),(0,U.jsx)(`span`,{children:`mark ready for review`})]}),(0,U.jsx)(sv,{label:`add labels — comma-separated`,value:e.addLabels,onChange:e=>l({addLabels:e})}),(0,U.jsx)(sv,{label:`request reviewers — comma-separated logins`,value:e.reviewers,onChange:e=>l({reviewers:e})})]}),e.type===`github.issue-comment`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`issue number — empty = the task's own issue`,children:(0,U.jsx)(B,{type:`number`,min:1,value:e.issue??``,onChange:e=>l({issue:Number(e.target.value)>0?Math.floor(Number(e.target.value)):void 0}),className:`h-8`})}),(0,U.jsx)($,{label:`comment`,children:(0,U.jsx)(k,{value:e.body,rows:3,onChange:e=>l({body:e.target.value})})})]}),e.type===`notify.webhook`&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($,{label:`URL (http/https)`,children:(0,U.jsx)(B,{value:e.url,onChange:e=>l({url:e.target.value}),className:`h-8 font-mono text-[11px]`})}),(0,U.jsx)($,{label:`message — sent as JSON text`,children:(0,U.jsx)(k,{value:e.body??``,rows:3,onChange:e=>l({body:e.target.value})})}),(0,U.jsxs)(`p`,{className:`text-[11px] text-muted-foreground`,children:[`Only runs when the server has `,(0,U.jsx)(`code`,{children:`CEZ_WORKFLOW_WEBHOOKS=1`}),`; otherwise it leaves by failed.`]})]}),e.type===`if`&&(0,U.jsx)(lv,{condition:e.condition,onChange:e=>l({condition:e})}),e.type===`end`&&(0,U.jsx)($,{label:`run status`,children:(0,U.jsxs)(`select`,{className:`w-full rounded-md border border-input bg-card px-2 py-1 text-[12px] shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:e.status,onChange:e=>l({status:e.target.value}),children:[(0,U.jsx)(`option`,{value:`success`,children:`success`}),(0,U.jsx)(`option`,{value:`failed`,children:`failed`})]})}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`mb-1 text-[11px] uppercase text-muted-foreground`,children:`Output ports`}),Z(e).map(n=>(0,U.jsxs)(`div`,{className:`flex justify-between py-0.5`,children:[(0,U.jsx)(`span`,{style:{color:P_[Bg(e,n)]},children:n}),(0,U.jsx)(`span`,{className:`text-muted-foreground`,children:Hg(t,e.id,n)??`ends run`})]},n))]}),fv(e,a).length>0&&(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`mb-1 text-[11px] uppercase text-muted-foreground`,children:`Outputs for templates`}),fv(e,a).map(t=>(0,U.jsx)(`code`,{className:`block text-[11px]`,children:`{{nodes.${e.id}.${t}}}`},t))]})]})}export{iv as FloatingPanel,rv as WorkflowGraphRoute,y_ as a,Z as c,wf as d,bf as f,yo as h,G_ as i,D_ as l,hf as m,K_ as n,v_ as o,Nf as p,U_ as r,Bg as s,H_ as t,Hg as u};
|