speckit-assistant 0.1.0

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.
Files changed (180) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-build-manifest.json +71 -0
  3. package/.next/app-path-routes-manifest.json +10 -0
  4. package/.next/build-manifest.json +33 -0
  5. package/.next/cache/.previewinfo +1 -0
  6. package/.next/cache/.rscinfo +1 -0
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/1.pack +0 -0
  9. package/.next/cache/webpack/client-production/10.pack +0 -0
  10. package/.next/cache/webpack/client-production/11.pack +0 -0
  11. package/.next/cache/webpack/client-production/12.pack +0 -0
  12. package/.next/cache/webpack/client-production/13.pack +0 -0
  13. package/.next/cache/webpack/client-production/14.pack +0 -0
  14. package/.next/cache/webpack/client-production/15.pack +0 -0
  15. package/.next/cache/webpack/client-production/16.pack +0 -0
  16. package/.next/cache/webpack/client-production/17.pack +0 -0
  17. package/.next/cache/webpack/client-production/18.pack +0 -0
  18. package/.next/cache/webpack/client-production/19.pack +0 -0
  19. package/.next/cache/webpack/client-production/2.pack +0 -0
  20. package/.next/cache/webpack/client-production/20.pack +0 -0
  21. package/.next/cache/webpack/client-production/21.pack +0 -0
  22. package/.next/cache/webpack/client-production/22.pack +0 -0
  23. package/.next/cache/webpack/client-production/3.pack +0 -0
  24. package/.next/cache/webpack/client-production/4.pack +0 -0
  25. package/.next/cache/webpack/client-production/5.pack +0 -0
  26. package/.next/cache/webpack/client-production/6.pack +0 -0
  27. package/.next/cache/webpack/client-production/7.pack +0 -0
  28. package/.next/cache/webpack/client-production/8.pack +0 -0
  29. package/.next/cache/webpack/client-production/9.pack +0 -0
  30. package/.next/cache/webpack/client-production/index.pack +0 -0
  31. package/.next/cache/webpack/client-production/index.pack.old +0 -0
  32. package/.next/cache/webpack/edge-server-production/0.pack +0 -0
  33. package/.next/cache/webpack/edge-server-production/index.pack +0 -0
  34. package/.next/cache/webpack/server-production/0.pack +0 -0
  35. package/.next/cache/webpack/server-production/1.pack +0 -0
  36. package/.next/cache/webpack/server-production/10.pack +0 -0
  37. package/.next/cache/webpack/server-production/11.pack +0 -0
  38. package/.next/cache/webpack/server-production/12.pack +0 -0
  39. package/.next/cache/webpack/server-production/13.pack +0 -0
  40. package/.next/cache/webpack/server-production/14.pack +0 -0
  41. package/.next/cache/webpack/server-production/15.pack +0 -0
  42. package/.next/cache/webpack/server-production/16.pack +0 -0
  43. package/.next/cache/webpack/server-production/17.pack +0 -0
  44. package/.next/cache/webpack/server-production/18.pack +0 -0
  45. package/.next/cache/webpack/server-production/19.pack +0 -0
  46. package/.next/cache/webpack/server-production/2.pack +0 -0
  47. package/.next/cache/webpack/server-production/20.pack +0 -0
  48. package/.next/cache/webpack/server-production/3.pack +0 -0
  49. package/.next/cache/webpack/server-production/4.pack +0 -0
  50. package/.next/cache/webpack/server-production/5.pack +0 -0
  51. package/.next/cache/webpack/server-production/6.pack +0 -0
  52. package/.next/cache/webpack/server-production/7.pack +0 -0
  53. package/.next/cache/webpack/server-production/8.pack +0 -0
  54. package/.next/cache/webpack/server-production/9.pack +0 -0
  55. package/.next/cache/webpack/server-production/index.pack +0 -0
  56. package/.next/cache/webpack/server-production/index.pack.old +0 -0
  57. package/.next/diagnostics/build-diagnostics.json +6 -0
  58. package/.next/diagnostics/framework.json +1 -0
  59. package/.next/export-marker.json +6 -0
  60. package/.next/images-manifest.json +58 -0
  61. package/.next/next-minimal-server.js.nft.json +1 -0
  62. package/.next/next-server.js.nft.json +1 -0
  63. package/.next/package.json +1 -0
  64. package/.next/prerender-manifest.json +61 -0
  65. package/.next/react-loadable-manifest.json +1 -0
  66. package/.next/required-server-files.json +320 -0
  67. package/.next/routes-manifest.json +53 -0
  68. package/.next/server/app/_not-found/page.js +2 -0
  69. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  70. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  71. package/.next/server/app/_not-found.html +1 -0
  72. package/.next/server/app/_not-found.meta +8 -0
  73. package/.next/server/app/_not-found.rsc +15 -0
  74. package/.next/server/app/api/feature/route.js +1 -0
  75. package/.next/server/app/api/feature/route.js.nft.json +1 -0
  76. package/.next/server/app/api/feature/route_client-reference-manifest.js +1 -0
  77. package/.next/server/app/api/file/route.js +1 -0
  78. package/.next/server/app/api/file/route.js.nft.json +1 -0
  79. package/.next/server/app/api/file/route_client-reference-manifest.js +1 -0
  80. package/.next/server/app/api/phase/route.js +4 -0
  81. package/.next/server/app/api/phase/route.js.nft.json +1 -0
  82. package/.next/server/app/api/phase/route_client-reference-manifest.js +1 -0
  83. package/.next/server/app/api/state/route.js +1 -0
  84. package/.next/server/app/api/state/route.js.nft.json +1 -0
  85. package/.next/server/app/api/state/route_client-reference-manifest.js +1 -0
  86. package/.next/server/app/api/state/watch/route.js +4 -0
  87. package/.next/server/app/api/state/watch/route.js.nft.json +1 -0
  88. package/.next/server/app/api/state/watch/route_client-reference-manifest.js +1 -0
  89. package/.next/server/app/api/task/route.js +1 -0
  90. package/.next/server/app/api/task/route.js.nft.json +1 -0
  91. package/.next/server/app/api/task/route_client-reference-manifest.js +1 -0
  92. package/.next/server/app/index.html +1 -0
  93. package/.next/server/app/index.meta +7 -0
  94. package/.next/server/app/index.rsc +20 -0
  95. package/.next/server/app/page.js +14 -0
  96. package/.next/server/app/page.js.nft.json +1 -0
  97. package/.next/server/app/page_client-reference-manifest.js +1 -0
  98. package/.next/server/app-paths-manifest.json +10 -0
  99. package/.next/server/chunks/355.js +22 -0
  100. package/.next/server/chunks/6.js +9 -0
  101. package/.next/server/chunks/607.js +6 -0
  102. package/.next/server/chunks/643.js +1 -0
  103. package/.next/server/chunks/897.js +9 -0
  104. package/.next/server/functions-config-manifest.json +4 -0
  105. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  106. package/.next/server/middleware-build-manifest.js +1 -0
  107. package/.next/server/middleware-manifest.json +6 -0
  108. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  109. package/.next/server/next-font-manifest.js +1 -0
  110. package/.next/server/next-font-manifest.json +1 -0
  111. package/.next/server/pages/404.html +1 -0
  112. package/.next/server/pages/500.html +1 -0
  113. package/.next/server/pages/_app.js +1 -0
  114. package/.next/server/pages/_app.js.nft.json +1 -0
  115. package/.next/server/pages/_document.js +1 -0
  116. package/.next/server/pages/_document.js.nft.json +1 -0
  117. package/.next/server/pages/_error.js +19 -0
  118. package/.next/server/pages/_error.js.nft.json +1 -0
  119. package/.next/server/pages-manifest.json +6 -0
  120. package/.next/server/server-reference-manifest.js +1 -0
  121. package/.next/server/server-reference-manifest.json +1 -0
  122. package/.next/server/webpack-runtime.js +1 -0
  123. package/.next/static/chunks/590-a6568595ecd2a994.js +1 -0
  124. package/.next/static/chunks/8381d2c4-9707dccab70b742b.js +1 -0
  125. package/.next/static/chunks/920-f9bfc1b0d0402c3e.js +1 -0
  126. package/.next/static/chunks/acfafb44-8249079a6627ac92.js +1 -0
  127. package/.next/static/chunks/app/_not-found/page-be798b363e27e8c5.js +1 -0
  128. package/.next/static/chunks/app/api/feature/route-bb3c1a82e892ab58.js +1 -0
  129. package/.next/static/chunks/app/api/file/route-bb3c1a82e892ab58.js +1 -0
  130. package/.next/static/chunks/app/api/phase/route-bb3c1a82e892ab58.js +1 -0
  131. package/.next/static/chunks/app/api/state/route-bb3c1a82e892ab58.js +1 -0
  132. package/.next/static/chunks/app/api/state/watch/route-bb3c1a82e892ab58.js +1 -0
  133. package/.next/static/chunks/app/api/task/route-bb3c1a82e892ab58.js +1 -0
  134. package/.next/static/chunks/app/layout-3226c76a5f7f74bc.js +1 -0
  135. package/.next/static/chunks/app/page-8a5248f7704cde29.js +1 -0
  136. package/.next/static/chunks/framework-20dd4f6054cc5446.js +1 -0
  137. package/.next/static/chunks/main-91029f76ac1b7110.js +1 -0
  138. package/.next/static/chunks/main-app-b9ad56d6b1dfa941.js +1 -0
  139. package/.next/static/chunks/pages/_app-aa33dc41c3472021.js +1 -0
  140. package/.next/static/chunks/pages/_error-78b0b3b591df0e73.js +1 -0
  141. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  142. package/.next/static/chunks/webpack-c460f8e58a9e9eff.js +1 -0
  143. package/.next/static/css/008a05b0ad6b854a.css +31 -0
  144. package/.next/static/css/6fd2e11db3a59771.css +3 -0
  145. package/.next/static/fWuQ3yoHovA7Cre6u89W7/_buildManifest.js +1 -0
  146. package/.next/static/fWuQ3yoHovA7Cre6u89W7/_ssgManifest.js +1 -0
  147. package/.next/trace +3 -0
  148. package/.next/types/app/api/feature/route.ts +347 -0
  149. package/.next/types/app/api/file/route.ts +347 -0
  150. package/.next/types/app/api/phase/route.ts +347 -0
  151. package/.next/types/app/api/state/route.ts +347 -0
  152. package/.next/types/app/api/state/watch/route.ts +347 -0
  153. package/.next/types/app/api/task/route.ts +347 -0
  154. package/.next/types/app/layout.ts +84 -0
  155. package/.next/types/app/page.ts +84 -0
  156. package/.next/types/cache-life.d.ts +141 -0
  157. package/.next/types/package.json +1 -0
  158. package/.next/types/routes.d.ts +78 -0
  159. package/.next/types/validator.ts +124 -0
  160. package/LICENSE +21 -0
  161. package/README.md +284 -0
  162. package/bin/adapters/di.js +9 -0
  163. package/bin/adapters/primary/api/utils.js +57 -0
  164. package/bin/adapters/secondary/agent/ProcessAgentRunner.js +161 -0
  165. package/bin/adapters/secondary/fs/FSWorkspaceRepository.js +283 -0
  166. package/bin/app/api/feature/route.js +35 -0
  167. package/bin/app/api/file/route.js +36 -0
  168. package/bin/app/api/phase/route.js +55 -0
  169. package/bin/app/api/state/route.js +28 -0
  170. package/bin/app/api/state/watch/route.js +92 -0
  171. package/bin/app/api/task/route.js +20 -0
  172. package/bin/bin/cli.js +317 -0
  173. package/bin/cli.js +85 -0
  174. package/bin/domain/models/types.js +2 -0
  175. package/bin/domain/ports/in/WorkflowUseCases.js +2 -0
  176. package/bin/domain/ports/out/AgentRunnerPort.js +2 -0
  177. package/bin/domain/ports/out/WorkspaceRepositoryPort.js +2 -0
  178. package/bin/domain/services/WorkflowService.js +174 -0
  179. package/next.config.ts +13 -0
  180. package/package.json +53 -0
@@ -0,0 +1,14 @@
1
+ (()=>{var a={};a.id=974,a.ids=[974],a.modules={61:()=>{},261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},355:(a,b,c)=>{"use strict";a.exports=c(7625)},786:(a,b,c)=>{Promise.resolve().then(c.bind(c,7969))},846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},920:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>E.a,__next_app__:()=>K,handler:()=>M,pages:()=>J,routeModule:()=>L,tree:()=>I});var d=c(975),e=c(7232),f=c(8604),g=c(5809),h=c(9319),i=c(4831),j=c(374),k=c(3003),l=c(195),m=c(5297),n=c(6631),o=c(5829),p=c(7010),q=c(5340),r=c(6621),s=c(261),t=c(7028),u=c(2145),v=c(6713),w=c(9421),x=c(5686),y=c(3578),z=c(9687),A=c(1305),B=c(1267),C=c(6439),D=c(3501),E=c.n(D),F=c(3061),G=c(7340),H={};for(let a in F)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(H[a]=()=>F[a]);c.d(b,H);let I=["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,7969)),"/Users/guru/work/dmux/speckit-assistant/src/app/page.tsx"]}]},{layout:[()=>Promise.resolve().then(c.bind(c,3274)),"/Users/guru/work/dmux/speckit-assistant/src/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,3501,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,969,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,7044,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,5927,23)),"next/dist/client/components/builtin/unauthorized.js"]}],J=["/Users/guru/work/dmux/speckit-assistant/src/app/page.tsx"],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next",relativeProjectDir:""});async function M(a,b,d){var D;let H="/page";"/index"===H&&(H="/");let N=(0,h.getRequestMeta)(a,"postponed"),O=(0,h.getRequestMeta)(a,"minimalMode"),P=await L.prepare(a,b,{srcPage:H,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,parsedUrl:T,pageIsDynamic:U,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,serverActionsManifest:Y,clientReferenceManifest:Z,subresourceIntegrityManifest:$,prerenderManifest:_,isDraftMode:aa,resolvedPathname:ab,revalidateOnlyGenerated:ac,routerServerContext:ad,nextConfig:ae,interceptionRoutePatterns:af}=P,ag=T.pathname||"/",ah=(0,s.normalizeAppPath)(H),{isOnDemandRevalidate:ai}=P,aj=L.match(ag,_),ak=!!_.routes[ab],al=!!(aj||ak||_.routes[ah]),am=a.headers["user-agent"]||"",an=(0,v.getBotType)(am),ao=(0,q.isHtmlBotRequest)(a),ap=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[u.NEXT_ROUTER_PREFETCH_HEADER],aq=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[u.RSC_HEADER]),ar=(0,t.getIsPossibleServerAction)(a),as=(0,m.checkIsAppPPREnabled)(ae.experimental.ppr)&&(null==(D=_.routes[ah]??_.dynamicRoutes[ah])?void 0:D.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?N:void 0,aw=as&&aq&&!ap,ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=!am||(0,q.shouldServeStreamingMetadata)(am,ae.htmlLimitedBots);ao&&as&&(al=!1,ay=!1);let az=!0===L.isDev||!al||"string"==typeof N||aw,aA=ao&&as,aB=null;aa||!al||az||ar||av||aw||(aB=ab);let aC=aB;!aC&&L.isDev&&(aC=ab),L.isDev||aa||!al||!aq||aw||(0,k.d)(a.headers);let aD={...F,tree:I,pages:J,GlobalError:E(),handler:M,routeModule:L,__next_app__:K};Y&&Z&&(0,p.setReferenceManifestsSingleton)({page:H,clientReferenceManifest:Z,serverActionsManifest:Y,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Y})});let aE=a.method||"GET",aF=(0,g.getTracer)(),aG=aF.getActiveScopeSpan();try{let f=L.getVaryHeader(ab,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aF.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aE} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aE} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aD,Component:(0,j.T)(aD),params:S,routeModule:L,page:H,postponed:f,shouldWaitOnAllReady:aA,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||az,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,subresourceIntegrityManifest:$,serverActionsManifest:Y,clientReferenceManifest:Z,setIsrStatus:null==ad?void 0:ad.setIsrStatus,dir:c(3873).join(process.cwd(),L.relativeProjectDir),isDraftMode:aa,isRevalidate:al&&!f&&!aw,botType:an,isOnDemandRevalidate:ai,isPossibleServerAction:ar,assetPrefix:ae.assetPrefix,nextConfigOutput:ae.output,crossOrigin:ae.crossOrigin,trailingSlash:ae.trailingSlash,previewProps:_.preview,deploymentId:ae.deploymentId,enableTainting:ae.experimental.taint,htmlLimitedBots:ae.htmlLimitedBots,devtoolSegmentExplorer:ae.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ae.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ae.experimental.cacheLife,basePath:ae.basePath,serverActions:ae.experimental.serverActions,...at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:at}:{},experimental:{isRoutePPREnabled:as,expireTime:ae.expireTime,staleTimes:ae.experimental.staleTimes,cacheComponents:!!ae.experimental.cacheComponents,clientSegmentCache:!!ae.experimental.clientSegmentCache,clientParamParsing:!!ae.experimental.clientParamParsing,dynamicOnHover:!!ae.experimental.dynamicOnHover,inlineCss:!!ae.experimental.inlineCss,authInterrupts:!!ae.experimental.authInterrupts,clientTraceMetadata:ae.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>L.onRequestError(a,b,d,ad),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[z.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,al&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!as){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ab}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},1025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},1431:()=>{},1586:(a,b,c)=>{"use strict";var d=c(2702),e="function"==typeof Object.is?Object.is:function(a,b){return a===b&&(0!==a||1/a==1/b)||a!=a&&b!=b},f=d.useState,g=d.useEffect,h=d.useLayoutEffect,i=d.useDebugValue;function j(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!e(a,c)}catch(a){return!0}}var k="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(a,b){return b()}:function(a,b){var c=b(),d=f({inst:{value:c,getSnapshot:b}}),e=d[0].inst,k=d[1];return h(function(){e.value=c,e.getSnapshot=b,j(e)&&k({inst:e})},[a,c,b]),g(function(){return j(e)&&k({inst:e}),a(function(){j(e)&&k({inst:e})})},[a]),i(c),c};b.useSyncExternalStore=void 0!==d.useSyncExternalStore?d.useSyncExternalStore:k},1842:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>fP});var d,e,f,g,h,i,j,k,l,m=c(6315),n=c(2702),o=c.n(n);let p=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var q={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let r=(0,n.forwardRef)(({color:a="currentColor",size:b=24,strokeWidth:c=2,absoluteStrokeWidth:d,className:e="",children:f,iconNode:g,...h},i)=>(0,n.createElement)("svg",{ref:i,...q,width:b,height:b,stroke:a,strokeWidth:d?24*Number(c)/Number(b):c,className:p("lucide",e),...h},[...g.map(([a,b])=>(0,n.createElement)(a,b)),...Array.isArray(f)?f:[f]])),s=(a,b)=>{let c=(0,n.forwardRef)(({className:c,...d},e)=>(0,n.createElement)(r,{ref:e,iconNode:b,className:p(`lucide-${a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,c),...d}));return c.displayName=`${a}`,c},t=s("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),u=s("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]),v=s("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),w=s("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]),x=s("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]),y=s("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),z={specification:"Specification",clarification:"Clarification",planning:"Planning",checklist:"Checklist",analyze:"Analysis",tasks:"Tasks",taskstoissues:"Tasks to Issues",implementation:"Implementation",completed:"Completed"},A=({state:a,onRunPhase:b,onApprovePhase:c,onDiscardPhase:d,onSelectFeature:e,onDeleteFeature:f,onSelectPhaseFile:g,onCardDrop:h})=>{let[i,j]=o().useState(null),k=a=>{a.preventDefault()},l=()=>{j(null)},n=(a,b)=>{if(b)return(0,m.jsxs)("span",{className:"flex items-center gap-1 text-[10px] font-semibold text-red-500 bg-red-500/10 px-1.5 py-0.5 rounded border border-red-500/20",children:[(0,m.jsx)(t,{size:10}),"STALE"]});switch(a){case"running":return(0,m.jsx)("span",{className:"flex items-center gap-1 text-[10px] font-semibold text-blue-500 bg-blue-500/10 px-1.5 py-0.5 rounded border border-blue-500/20 animate-pulse",children:"RUNNING"});case"awaiting_review":return(0,m.jsx)("span",{className:"flex items-center gap-1 text-[10px] font-semibold text-amber-500 bg-amber-500/10 px-1.5 py-0.5 rounded border border-amber-500/20",children:"REVIEW"});case"approved":return(0,m.jsx)("span",{className:"flex items-center gap-1 text-[10px] font-semibold text-green-500 bg-green-500/10 px-1.5 py-0.5 rounded border border-green-500/20",children:"APPROVED"});default:return(0,m.jsx)("span",{className:"text-[10px] font-semibold text-zinc-400 bg-zinc-100 dark:bg-zinc-900 px-1.5 py-0.5 rounded border border-zinc-200 dark:border-zinc-800",children:"IDLE"})}};return(0,m.jsxs)("div",{className:"flex flex-col h-full bg-white dark:bg-black overflow-y-auto",children:[(0,m.jsxs)("div",{className:"mx-6 my-4 p-4 border border-zinc-200 dark:border-zinc-800 rounded-lg bg-zinc-50 dark:bg-zinc-950 flex flex-col md:flex-row md:items-center justify-between gap-4",children:[(0,m.jsxs)("div",{children:[(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("h2",{className:"text-sm font-bold text-zinc-900 dark:text-zinc-100",children:"Project Constitution"}),n(a.constitutionPhase.status,a.constitutionPhase.stale)]}),(0,m.jsx)("p",{className:"text-xs text-zinc-500 mt-1",children:"Governing principles and rules that guide all subsequent planning and implementation."})]}),(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("button",{onClick:()=>g(a.constitutionPhase.filePath),disabled:!a.constitutionPhase.filePath,className:"px-3 py-1.5 border border-zinc-200 dark:border-zinc-800 hover:bg-zinc-100 dark:hover:bg-zinc-900 rounded text-xs transition disabled:opacity-50",children:"View Constitution"}),"approved"!==a.constitutionPhase.status?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("button",{onClick:()=>b("constitution",null),disabled:"running"===a.constitutionPhase.status,className:"flex items-center gap-1 px-3 py-1.5 bg-black dark:bg-white text-white dark:text-black rounded text-xs font-semibold hover:opacity-90 transition disabled:opacity-50",children:[(0,m.jsx)(u,{size:10,fill:"currentColor"})," Run"]}),"awaiting_review"===a.constitutionPhase.status&&(0,m.jsxs)("button",{onClick:()=>c("constitution",null),className:"flex items-center gap-1 px-3 py-1.5 bg-green-650 hover:bg-green-700 text-white rounded text-xs font-semibold transition",children:[(0,m.jsx)(v,{size:10})," Approve"]})]}):(0,m.jsxs)("button",{onClick:()=>d("constitution",null),className:"flex items-center gap-1 px-3 py-1.5 border border-zinc-200 dark:border-zinc-800 hover:bg-zinc-100 dark:hover:bg-zinc-900 rounded text-xs transition",children:[(0,m.jsx)(w,{size:10})," Discard"]})]})]}),(0,m.jsx)("div",{className:"flex-1 flex gap-4 px-6 pb-6 overflow-x-auto min-h-0",children:["specification","clarification","planning","checklist","analyze","tasks","taskstoissues","implementation","completed"].map(o=>{let p=a.features.filter(a=>(a=>{for(let b of a.phases)if("approved"!==b.status)return b.phase;return"completed"})(a)===o);return(0,m.jsxs)("div",{onDragOver:k,onDragEnter:a=>{a.preventDefault(),j(o)},onDragLeave:l,onDrop:a=>((a,b)=>{a.preventDefault(),j(null);let c=a.dataTransfer.getData("text/plain");c&&h?.(c,b)})(a,o),className:`flex flex-col flex-shrink-0 w-72 h-full border rounded-lg overflow-hidden transition-all duration-200 ${i===o?"border-dashed border-zinc-400 dark:border-zinc-500 bg-zinc-100/70 dark:bg-zinc-900/40 ring-1 ring-zinc-400 dark:ring-zinc-500":"border-zinc-200 dark:border-zinc-800 bg-zinc-50 dark:bg-zinc-950/20"}`,children:[(0,m.jsxs)("div",{className:"flex justify-between items-center px-3.5 py-3 border-b border-zinc-200 dark:border-zinc-800 bg-zinc-100 dark:bg-zinc-950/70",children:[(0,m.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-zinc-500",children:z[o]}),(0,m.jsx)("span",{className:"text-xs text-zinc-400 bg-zinc-200 dark:bg-zinc-900 px-1.5 py-0.5 rounded-full font-semibold",children:p.length})]}),(0,m.jsx)("div",{className:"flex-1 p-3 overflow-y-auto space-y-3",style:{scrollbarWidth:"thin"},children:0===p.length?(0,m.jsx)("div",{className:"flex items-center justify-center h-24 border border-dashed border-zinc-200 dark:border-zinc-800 rounded bg-white dark:bg-black/10 text-xs text-zinc-400",children:"No features in this phase"}):p.map(h=>{let i=(a=>{let b=a.phases.find(a=>"tasks"===a.phase);if(!b?.content)return null;let c=[...b.content.matchAll(/^\s*(?:[-*]|\d+\.)\s+\[( |x|X)\]/gm)];return 0===c.length?null:{done:c.filter(a=>"x"===a[1].toLowerCase()).length,total:c.length}})(h),j="completed"===o?h.phases[h.phases.length-1]:h.phases.find(a=>a.phase===o),k=a.activeFeatureName===h.name;return(0,m.jsxs)("div",{draggable:!0,onDragStart:a=>((a,b)=>{a.dataTransfer.setData("text/plain",b),a.dataTransfer.effectAllowed="move"})(a,h.name),onClick:()=>e(h.name),className:`p-3.5 border rounded-lg bg-white dark:bg-black transition-all cursor-pointer group flex flex-col justify-between hover:shadow-sm active:scale-[0.98] ${k?"border-black dark:border-white ring-1 ring-black dark:ring-white shadow-sm":"border-zinc-200 dark:border-zinc-850 hover:border-zinc-350 dark:hover:border-zinc-700"}`,children:[(0,m.jsxs)("div",{children:[(0,m.jsxs)("div",{className:"flex justify-between items-start gap-2",children:[(0,m.jsx)("span",{className:"text-xs font-bold text-zinc-850 dark:text-zinc-100 truncate group-hover:text-black dark:group-hover:text-white",children:h.name}),(0,m.jsx)("button",{onClick:a=>{a.stopPropagation(),f(h.name)},className:"text-zinc-400 hover:text-red-500 p-0.5 hover:bg-zinc-100 dark:hover:bg-zinc-900 rounded opacity-0 group-hover:opacity-100 transition",children:(0,m.jsx)(x,{size:12})})]}),"completed"!==o&&(0,m.jsxs)("div",{className:"flex justify-between items-center mt-3",children:[n(j.status,j.stale),i&&(0,m.jsxs)("span",{className:"text-[10px] font-mono text-zinc-400 bg-zinc-100 dark:bg-zinc-900 px-1 py-0.5 rounded",children:[i.done,"/",i.total," Tasks"]})]})]}),(0,m.jsxs)("div",{className:"mt-4 pt-3 border-t border-zinc-100 dark:border-zinc-900 flex justify-end items-center gap-1.5",children:[(0,m.jsx)("button",{onClick:a=>{a.stopPropagation(),g(j.filePath)},disabled:!j.filePath,className:"mr-auto text-[10px] hover:underline text-zinc-500 hover:text-zinc-800 dark:hover:text-zinc-200 disabled:opacity-0",children:"Open File"}),"completed"!==o?"approved"!==j.status?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("button",{onClick:a=>{a.stopPropagation(),b(o,h.name)},disabled:"running"===j.status,className:"flex items-center gap-0.5 p-1 px-2 border border-zinc-200 dark:border-zinc-800 hover:bg-zinc-50 dark:hover:bg-zinc-900 text-[10px] font-semibold rounded transition",children:[(0,m.jsx)(u,{size:8,fill:"currentColor"})," Run"]}),"awaiting_review"===j.status&&(0,m.jsxs)("button",{onClick:a=>{a.stopPropagation(),c(o,h.name)},className:"flex items-center gap-0.5 p-1 px-2 bg-green-500 hover:bg-green-600 text-white text-[10px] font-semibold rounded transition",children:[(0,m.jsx)(v,{size:8})," Approve"]})]}):(0,m.jsxs)("button",{onClick:a=>{a.stopPropagation(),d(o,h.name)},className:"flex items-center gap-0.5 p-1 px-2 border border-zinc-200 dark:border-zinc-800 hover:bg-zinc-50 dark:hover:bg-zinc-900 text-[10px] font-semibold rounded text-zinc-500 hover:text-zinc-700 transition",children:[(0,m.jsx)(w,{size:8})," Reset"]}):(0,m.jsxs)("span",{className:"flex items-center gap-0.5 text-green-500 font-bold text-[10px] uppercase",children:[(0,m.jsx)(y,{size:10})," Complete"]})]})]},h.name)})})]},o)})})]})};function B(a){if("string"==typeof a||"number"==typeof a)return""+a;let b="";if(Array.isArray(a))for(let c=0,d;c<a.length;c++)""!==(d=B(a[c]))&&(b+=(b&&" ")+d);else for(let c in a)a[c]&&(b+=(b&&" ")+c);return b}var C={value:()=>{}};function D(){for(var a,b=0,c=arguments.length,d={};b<c;++b){if(!(a=arguments[b]+"")||a in d||/[\s.]/.test(a))throw Error("illegal type: "+a);d[a]=[]}return new E(d)}function E(a){this._=a}function F(a,b,c){for(var d=0,e=a.length;d<e;++d)if(a[d].name===b){a[d]=C,a=a.slice(0,d).concat(a.slice(d+1));break}return null!=c&&a.push({name:b,value:c}),a}function G(){}function H(a){return null==a?G:function(){return this.querySelector(a)}}function I(){return[]}function J(a){return null==a?I:function(){return this.querySelectorAll(a)}}function K(a){return function(){return this.matches(a)}}function L(a){return function(b){return b.matches(a)}}E.prototype=D.prototype={constructor:E,on:function(a,b){var c,d=this._,e=(a+"").trim().split(/^|\s+/).map(function(a){var b="",c=a.indexOf(".");if(c>=0&&(b=a.slice(c+1),a=a.slice(0,c)),a&&!d.hasOwnProperty(a))throw Error("unknown type: "+a);return{type:a,name:b}}),f=-1,g=e.length;if(arguments.length<2){for(;++f<g;)if((c=(a=e[f]).type)&&(c=function(a,b){for(var c,d=0,e=a.length;d<e;++d)if((c=a[d]).name===b)return c.value}(d[c],a.name)))return c;return}if(null!=b&&"function"!=typeof b)throw Error("invalid callback: "+b);for(;++f<g;)if(c=(a=e[f]).type)d[c]=F(d[c],a.name,b);else if(null==b)for(c in d)d[c]=F(d[c],a.name,null);return this},copy:function(){var a={},b=this._;for(var c in b)a[c]=b[c].slice();return new E(a)},call:function(a,b){if((c=arguments.length-2)>0)for(var c,d,e=Array(c),f=0;f<c;++f)e[f]=arguments[f+2];if(!this._.hasOwnProperty(a))throw Error("unknown type: "+a);for(d=this._[a],f=0,c=d.length;f<c;++f)d[f].value.apply(b,e)},apply:function(a,b,c){if(!this._.hasOwnProperty(a))throw Error("unknown type: "+a);for(var d=this._[a],e=0,f=d.length;e<f;++e)d[e].value.apply(b,c)}};var M=Array.prototype.find;function N(){return this.firstElementChild}var O=Array.prototype.filter;function P(){return Array.from(this.children)}function Q(a){return Array(a.length)}function R(a,b){this.ownerDocument=a.ownerDocument,this.namespaceURI=a.namespaceURI,this._next=null,this._parent=a,this.__data__=b}function S(a,b,c,d,e,f){for(var g,h=0,i=b.length,j=f.length;h<j;++h)(g=b[h])?(g.__data__=f[h],d[h]=g):c[h]=new R(a,f[h]);for(;h<i;++h)(g=b[h])&&(e[h]=g)}function T(a,b,c,d,e,f,g){var h,i,j,k=new Map,l=b.length,m=f.length,n=Array(l);for(h=0;h<l;++h)(i=b[h])&&(n[h]=j=g.call(i,i.__data__,h,b)+"",k.has(j)?e[h]=i:k.set(j,i));for(h=0;h<m;++h)j=g.call(a,f[h],h,f)+"",(i=k.get(j))?(d[h]=i,i.__data__=f[h],k.delete(j)):c[h]=new R(a,f[h]);for(h=0;h<l;++h)(i=b[h])&&k.get(n[h])===i&&(e[h]=i)}function U(a){return a.__data__}function V(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}R.prototype={constructor:R,appendChild:function(a){return this._parent.insertBefore(a,this._next)},insertBefore:function(a,b){return this._parent.insertBefore(a,b)},querySelector:function(a){return this._parent.querySelector(a)},querySelectorAll:function(a){return this._parent.querySelectorAll(a)}};var W="http://www.w3.org/1999/xhtml";let X={svg:"http://www.w3.org/2000/svg",xhtml:W,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Y(a){var b=a+="",c=b.indexOf(":");return c>=0&&"xmlns"!==(b=a.slice(0,c))&&(a=a.slice(c+1)),X.hasOwnProperty(b)?{space:X[b],local:a}:a}function Z(a){return a.ownerDocument&&a.ownerDocument.defaultView||a.document&&a||a.defaultView}function $(a,b){return a.style.getPropertyValue(b)||Z(a).getComputedStyle(a,null).getPropertyValue(b)}function _(a){return a.trim().split(/^|\s+/)}function aa(a){return a.classList||new ab(a)}function ab(a){this._node=a,this._names=_(a.getAttribute("class")||"")}function ac(a,b){for(var c=aa(a),d=-1,e=b.length;++d<e;)c.add(b[d])}function ad(a,b){for(var c=aa(a),d=-1,e=b.length;++d<e;)c.remove(b[d])}function ae(){this.textContent=""}function af(){this.innerHTML=""}function ag(){this.nextSibling&&this.parentNode.appendChild(this)}function ah(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ai(a){var b=Y(a);return(b.local?function(a){return function(){return this.ownerDocument.createElementNS(a.space,a.local)}}:function(a){return function(){var b=this.ownerDocument,c=this.namespaceURI;return c===W&&b.documentElement.namespaceURI===W?b.createElement(a):b.createElementNS(c,a)}})(b)}function aj(){return null}function ak(){var a=this.parentNode;a&&a.removeChild(this)}function al(){var a=this.cloneNode(!1),b=this.parentNode;return b?b.insertBefore(a,this.nextSibling):a}function am(){var a=this.cloneNode(!0),b=this.parentNode;return b?b.insertBefore(a,this.nextSibling):a}function an(a){return function(){var b=this.__on;if(b){for(var c,d=0,e=-1,f=b.length;d<f;++d)(c=b[d],a.type&&c.type!==a.type||c.name!==a.name)?b[++e]=c:this.removeEventListener(c.type,c.listener,c.options);++e?b.length=e:delete this.__on}}}function ao(a,b,c){return function(){var d,e=this.__on,f=function(a){b.call(this,a,this.__data__)};if(e){for(var g=0,h=e.length;g<h;++g)if((d=e[g]).type===a.type&&d.name===a.name){this.removeEventListener(d.type,d.listener,d.options),this.addEventListener(d.type,d.listener=f,d.options=c),d.value=b;return}}this.addEventListener(a.type,f,c),d={type:a.type,name:a.name,value:b,listener:f,options:c},e?e.push(d):this.__on=[d]}}function ap(a,b,c){var d=Z(a),e=d.CustomEvent;"function"==typeof e?e=new e(b,c):(e=d.document.createEvent("Event"),c?(e.initEvent(b,c.bubbles,c.cancelable),e.detail=c.detail):e.initEvent(b,!1,!1)),a.dispatchEvent(e)}ab.prototype={add:function(a){0>this._names.indexOf(a)&&(this._names.push(a),this._node.setAttribute("class",this._names.join(" ")))},remove:function(a){var b=this._names.indexOf(a);b>=0&&(this._names.splice(b,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(a){return this._names.indexOf(a)>=0}};var aq=[null];function ar(a,b){this._groups=a,this._parents=b}function as(){return new ar([[document.documentElement]],aq)}function at(a){return((a=Math.exp(a))+1/a)/2}ar.prototype=as.prototype={constructor:ar,select:function(a){"function"!=typeof a&&(a=H(a));for(var b=this._groups,c=b.length,d=Array(c),e=0;e<c;++e)for(var f,g,h=b[e],i=h.length,j=d[e]=Array(i),k=0;k<i;++k)(f=h[k])&&(g=a.call(f,f.__data__,k,h))&&("__data__"in f&&(g.__data__=f.__data__),j[k]=g);return new ar(d,this._parents)},selectAll:function(a){if("function"==typeof a){var b;b=a,a=function(){var a;return a=b.apply(this,arguments),null==a?[]:Array.isArray(a)?a:Array.from(a)}}else a=J(a);for(var c=this._groups,d=c.length,e=[],f=[],g=0;g<d;++g)for(var h,i=c[g],j=i.length,k=0;k<j;++k)(h=i[k])&&(e.push(a.call(h,h.__data__,k,i)),f.push(h));return new ar(e,f)},selectChild:function(a){var b;return this.select(null==a?N:(b="function"==typeof a?a:L(a),function(){return M.call(this.children,b)}))},selectChildren:function(a){var b;return this.selectAll(null==a?P:(b="function"==typeof a?a:L(a),function(){return O.call(this.children,b)}))},filter:function(a){"function"!=typeof a&&(a=K(a));for(var b=this._groups,c=b.length,d=Array(c),e=0;e<c;++e)for(var f,g=b[e],h=g.length,i=d[e]=[],j=0;j<h;++j)(f=g[j])&&a.call(f,f.__data__,j,g)&&i.push(f);return new ar(d,this._parents)},data:function(a,b){if(!arguments.length)return Array.from(this,U);var c=b?T:S,d=this._parents,e=this._groups;"function"!=typeof a&&(s=a,a=function(){return s});for(var f=e.length,g=Array(f),h=Array(f),i=Array(f),j=0;j<f;++j){var k=d[j],l=e[j],m=l.length,n="object"==typeof(r=a.call(k,k&&k.__data__,j,d))&&"length"in r?r:Array.from(r),o=n.length,p=h[j]=Array(o),q=g[j]=Array(o);c(k,l,p,q,i[j]=Array(m),n,b);for(var r,s,t,u,v=0,w=0;v<o;++v)if(t=p[v]){for(v>=w&&(w=v+1);!(u=q[w])&&++w<o;);t._next=u||null}}return(g=new ar(g,d))._enter=h,g._exit=i,g},enter:function(){return new ar(this._enter||this._groups.map(Q),this._parents)},exit:function(){return new ar(this._exit||this._groups.map(Q),this._parents)},join:function(a,b,c){var d=this.enter(),e=this,f=this.exit();return"function"==typeof a?(d=a(d))&&(d=d.selection()):d=d.append(a+""),null!=b&&(e=b(e))&&(e=e.selection()),null==c?f.remove():c(f),d&&e?d.merge(e).order():e},merge:function(a){for(var b=a.selection?a.selection():a,c=this._groups,d=b._groups,e=c.length,f=d.length,g=Math.min(e,f),h=Array(e),i=0;i<g;++i)for(var j,k=c[i],l=d[i],m=k.length,n=h[i]=Array(m),o=0;o<m;++o)(j=k[o]||l[o])&&(n[o]=j);for(;i<e;++i)h[i]=c[i];return new ar(h,this._parents)},selection:function(){return this},order:function(){for(var a=this._groups,b=-1,c=a.length;++b<c;)for(var d,e=a[b],f=e.length-1,g=e[f];--f>=0;)(d=e[f])&&(g&&4^d.compareDocumentPosition(g)&&g.parentNode.insertBefore(d,g),g=d);return this},sort:function(a){function b(b,c){return b&&c?a(b.__data__,c.__data__):!b-!c}a||(a=V);for(var c=this._groups,d=c.length,e=Array(d),f=0;f<d;++f){for(var g,h=c[f],i=h.length,j=e[f]=Array(i),k=0;k<i;++k)(g=h[k])&&(j[k]=g);j.sort(b)}return new ar(e,this._parents).order()},call:function(){var a=arguments[0];return arguments[0]=this,a.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var a=this._groups,b=0,c=a.length;b<c;++b)for(var d=a[b],e=0,f=d.length;e<f;++e){var g=d[e];if(g)return g}return null},size:function(){let a=0;for(let b of this)++a;return a},empty:function(){return!this.node()},each:function(a){for(var b=this._groups,c=0,d=b.length;c<d;++c)for(var e,f=b[c],g=0,h=f.length;g<h;++g)(e=f[g])&&a.call(e,e.__data__,g,f);return this},attr:function(a,b){var c=Y(a);if(arguments.length<2){var d=this.node();return c.local?d.getAttributeNS(c.space,c.local):d.getAttribute(c)}return this.each((null==b?c.local?function(a){return function(){this.removeAttributeNS(a.space,a.local)}}:function(a){return function(){this.removeAttribute(a)}}:"function"==typeof b?c.local?function(a,b){return function(){var c=b.apply(this,arguments);null==c?this.removeAttributeNS(a.space,a.local):this.setAttributeNS(a.space,a.local,c)}}:function(a,b){return function(){var c=b.apply(this,arguments);null==c?this.removeAttribute(a):this.setAttribute(a,c)}}:c.local?function(a,b){return function(){this.setAttributeNS(a.space,a.local,b)}}:function(a,b){return function(){this.setAttribute(a,b)}})(c,b))},style:function(a,b,c){return arguments.length>1?this.each((null==b?function(a){return function(){this.style.removeProperty(a)}}:"function"==typeof b?function(a,b,c){return function(){var d=b.apply(this,arguments);null==d?this.style.removeProperty(a):this.style.setProperty(a,d,c)}}:function(a,b,c){return function(){this.style.setProperty(a,b,c)}})(a,b,null==c?"":c)):$(this.node(),a)},property:function(a,b){return arguments.length>1?this.each((null==b?function(a){return function(){delete this[a]}}:"function"==typeof b?function(a,b){return function(){var c=b.apply(this,arguments);null==c?delete this[a]:this[a]=c}}:function(a,b){return function(){this[a]=b}})(a,b)):this.node()[a]},classed:function(a,b){var c=_(a+"");if(arguments.length<2){for(var d=aa(this.node()),e=-1,f=c.length;++e<f;)if(!d.contains(c[e]))return!1;return!0}return this.each(("function"==typeof b?function(a,b){return function(){(b.apply(this,arguments)?ac:ad)(this,a)}}:b?function(a){return function(){ac(this,a)}}:function(a){return function(){ad(this,a)}})(c,b))},text:function(a){return arguments.length?this.each(null==a?ae:("function"==typeof a?function(a){return function(){var b=a.apply(this,arguments);this.textContent=null==b?"":b}}:function(a){return function(){this.textContent=a}})(a)):this.node().textContent},html:function(a){return arguments.length?this.each(null==a?af:("function"==typeof a?function(a){return function(){var b=a.apply(this,arguments);this.innerHTML=null==b?"":b}}:function(a){return function(){this.innerHTML=a}})(a)):this.node().innerHTML},raise:function(){return this.each(ag)},lower:function(){return this.each(ah)},append:function(a){var b="function"==typeof a?a:ai(a);return this.select(function(){return this.appendChild(b.apply(this,arguments))})},insert:function(a,b){var c="function"==typeof a?a:ai(a),d=null==b?aj:"function"==typeof b?b:H(b);return this.select(function(){return this.insertBefore(c.apply(this,arguments),d.apply(this,arguments)||null)})},remove:function(){return this.each(ak)},clone:function(a){return this.select(a?am:al)},datum:function(a){return arguments.length?this.property("__data__",a):this.node().__data__},on:function(a,b,c){var d,e,f=(a+"").trim().split(/^|\s+/).map(function(a){var b="",c=a.indexOf(".");return c>=0&&(b=a.slice(c+1),a=a.slice(0,c)),{type:a,name:b}}),g=f.length;if(arguments.length<2){var h=this.node().__on;if(h){for(var i,j=0,k=h.length;j<k;++j)for(d=0,i=h[j];d<g;++d)if((e=f[d]).type===i.type&&e.name===i.name)return i.value}return}for(d=0,h=b?ao:an;d<g;++d)this.each(h(f[d],b,c));return this},dispatch:function(a,b){return this.each(("function"==typeof b?function(a,b){return function(){return ap(this,a,b.apply(this,arguments))}}:function(a,b){return function(){return ap(this,a,b)}})(a,b))},[Symbol.iterator]:function*(){for(var a=this._groups,b=0,c=a.length;b<c;++b)for(var d,e=a[b],f=0,g=e.length;f<g;++f)(d=e[f])&&(yield d)}},(function(a,{sourceEvent:b,subject:c,target:d,identifier:e,active:f,x:g,y:h,dx:i,dy:j,dispatch:k}){Object.defineProperties(this,{type:{value:a,enumerable:!0,configurable:!0},sourceEvent:{value:b,enumerable:!0,configurable:!0},subject:{value:c,enumerable:!0,configurable:!0},target:{value:d,enumerable:!0,configurable:!0},identifier:{value:e,enumerable:!0,configurable:!0},active:{value:f,enumerable:!0,configurable:!0},x:{value:g,enumerable:!0,configurable:!0},y:{value:h,enumerable:!0,configurable:!0},dx:{value:i,enumerable:!0,configurable:!0},dy:{value:j,enumerable:!0,configurable:!0},_:{value:k}})}).prototype.on=function(){var a=this._.on.apply(this._,arguments);return a===this._?this:a},!function a(b,c,d){function e(a,e){var f,g,h=a[0],i=a[1],j=a[2],k=e[0],l=e[1],m=e[2],n=k-h,o=l-i,p=n*n+o*o;if(p<1e-12)g=Math.log(m/j)/b,f=function(a){return[h+a*n,i+a*o,j*Math.exp(b*a*g)]};else{var q=Math.sqrt(p),r=(m*m-j*j+d*p)/(2*j*c*q),s=(m*m-j*j-d*p)/(2*m*c*q),t=Math.log(Math.sqrt(r*r+1)-r);g=(Math.log(Math.sqrt(s*s+1)-s)-t)/b,f=function(a){var d,e,f=a*g,k=at(t),l=j/(c*q)*(k*(((d=Math.exp(2*(d=b*f+t)))-1)/(d+1))-((e=Math.exp(e=t))-1/e)/2);return[h+l*n,i+l*o,j*k/at(b*f+t)]}}return f.duration=1e3*g*b/Math.SQRT2,f}return e.rho=function(b){var c=Math.max(.001,+b),d=c*c;return a(c,d,d*d)},e}(Math.SQRT2,2,4);var au,av,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC="object"==typeof performance&&performance.now?performance:Date,aD="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(a){setTimeout(a,17)};function aE(){return aA||(aD(aF),aA=aC.now()+aB)}function aF(){aA=0}function aG(){this._call=this._time=this._next=null}function aH(a,b,c){var d=new aG;return d.restart(a,b,c),d}function aI(){aA=(az=aC.now())+aB,aw=ax=0;try{aE(),++aw;for(var a,b=au;b;)(a=aA-b._time)>=0&&b._call.call(void 0,a),b=b._next;--aw}finally{aw=0,function(){for(var a,b,c=au,d=1/0;c;)c._call?(d>c._time&&(d=c._time),a=c,c=c._next):(b=c._next,c._next=null,c=a?a._next=b:au=b);av=a,aK(d)}(),aA=0}}function aJ(){var a=aC.now(),b=a-az;b>1e3&&(aB-=b,az=a)}function aK(a){!aw&&(ax&&(ax=clearTimeout(ax)),a-aA>24?(a<1/0&&(ax=setTimeout(aI,a-aC.now()-aB)),ay&&(ay=clearInterval(ay))):(ay||(az=aC.now(),ay=setInterval(aJ,1e3)),aw=1,aD(aI)))}function aL(a,b,c){var d=new aG;return b=null==b?0:+b,d.restart(c=>{d.stop(),a(c+b)},b,c),d}aG.prototype=aH.prototype={constructor:aG,restart:function(a,b,c){if("function"!=typeof a)throw TypeError("callback is not a function");c=(null==c?aE():+c)+(null==b?0:+b),this._next||av===this||(av?av._next=this:au=this,av=this),this._call=a,this._time=c,aK()},stop:function(){this._call&&(this._call=null,this._time=1/0,aK())}};var aM=D("start","end","cancel","interrupt"),aN=[];function aO(a,b,c,d,e,f){var g=a.__transition;if(g){if(c in g)return}else a.__transition={};!function(a,b,c){var d,e=a.__transition;function f(i){var j,k,l,m;if(1!==c.state)return h();for(j in e)if((m=e[j]).name===c.name){if(3===m.state)return aL(f);4===m.state?(m.state=6,m.timer.stop(),m.on.call("interrupt",a,a.__data__,m.index,m.group),delete e[j]):+j<b&&(m.state=6,m.timer.stop(),m.on.call("cancel",a,a.__data__,m.index,m.group),delete e[j])}if(aL(function(){3===c.state&&(c.state=4,c.timer.restart(g,c.delay,c.time),g(i))}),c.state=2,c.on.call("start",a,a.__data__,c.index,c.group),2===c.state){for(j=0,c.state=3,d=Array(l=c.tween.length),k=-1;j<l;++j)(m=c.tween[j].value.call(a,a.__data__,c.index,c.group))&&(d[++k]=m);d.length=k+1}}function g(b){for(var e=b<c.duration?c.ease.call(null,b/c.duration):(c.timer.restart(h),c.state=5,1),f=-1,g=d.length;++f<g;)d[f].call(a,e);5===c.state&&(c.on.call("end",a,a.__data__,c.index,c.group),h())}function h(){for(var d in c.state=6,c.timer.stop(),delete e[b],e)return;delete a.__transition}e[b]=c,c.timer=aH(function(a){c.state=1,c.timer.restart(f,c.delay,c.time),c.delay<=a&&f(a-c.delay)},0,c.time)}(a,c,{name:b,index:d,group:e,on:aM,tween:aN,time:f.time,delay:f.delay,duration:f.duration,ease:f.ease,timer:null,state:0})}function aP(a,b){var c=aR(a,b);if(c.state>0)throw Error("too late; already scheduled");return c}function aQ(a,b){var c=aR(a,b);if(c.state>3)throw Error("too late; already running");return c}function aR(a,b){var c=a.__transition;if(!c||!(c=c[b]))throw Error("transition not found");return c}function aS(a,b){return a*=1,b*=1,function(c){return a*(1-c)+b*c}}var aT=180/Math.PI,aU={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function aV(a,b,c,d,e,f){var g,h,i;return(g=Math.sqrt(a*a+b*b))&&(a/=g,b/=g),(i=a*c+b*d)&&(c-=a*i,d-=b*i),(h=Math.sqrt(c*c+d*d))&&(c/=h,d/=h,i/=h),a*d<b*c&&(a=-a,b=-b,i=-i,g=-g),{translateX:e,translateY:f,rotate:Math.atan2(b,a)*aT,skewX:Math.atan(i)*aT,scaleX:g,scaleY:h}}function aW(a,b,c,d){function e(a){return a.length?a.pop()+" ":""}return function(f,g){var h,i,j,k,l=[],m=[];return f=a(f),g=a(g),!function(a,d,e,f,g,h){if(a!==e||d!==f){var i=g.push("translate(",null,b,null,c);h.push({i:i-4,x:aS(a,e)},{i:i-2,x:aS(d,f)})}else(e||f)&&g.push("translate("+e+b+f+c)}(f.translateX,f.translateY,g.translateX,g.translateY,l,m),h=f.rotate,i=g.rotate,h!==i?(h-i>180?i+=360:i-h>180&&(h+=360),m.push({i:l.push(e(l)+"rotate(",null,d)-2,x:aS(h,i)})):i&&l.push(e(l)+"rotate("+i+d),j=f.skewX,k=g.skewX,j!==k?m.push({i:l.push(e(l)+"skewX(",null,d)-2,x:aS(j,k)}):k&&l.push(e(l)+"skewX("+k+d),!function(a,b,c,d,f,g){if(a!==c||b!==d){var h=f.push(e(f)+"scale(",null,",",null,")");g.push({i:h-4,x:aS(a,c)},{i:h-2,x:aS(b,d)})}else(1!==c||1!==d)&&f.push(e(f)+"scale("+c+","+d+")")}(f.scaleX,f.scaleY,g.scaleX,g.scaleY,l,m),f=g=null,function(a){for(var b,c=-1,d=m.length;++c<d;)l[(b=m[c]).i]=b.x(a);return l.join("")}}}var aX=aW(function(a){let b=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(a+"");return b.isIdentity?aU:aV(b.a,b.b,b.c,b.d,b.e,b.f)},"px, ","px)","deg)"),aY=aW(function(a){return null==a?aU:(d||(d=document.createElementNS("http://www.w3.org/2000/svg","g")),d.setAttribute("transform",a),a=d.transform.baseVal.consolidate())?aV((a=a.matrix).a,a.b,a.c,a.d,a.e,a.f):aU},", ",")",")");function aZ(a,b,c){var d=a._id;return a.each(function(){var a=aQ(this,d);(a.value||(a.value={}))[b]=c.apply(this,arguments)}),function(a){return aR(a,d).value[b]}}function a$(a,b,c){a.prototype=b.prototype=c,c.constructor=a}function a_(a,b){var c=Object.create(a.prototype);for(var d in b)c[d]=b[d];return c}function a0(){}var a1="\\s*([+-]?\\d+)\\s*",a2="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",a3="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",a4=/^#([0-9a-f]{3,8})$/,a5=RegExp(`^rgb\\(${a1},${a1},${a1}\\)$`),a6=RegExp(`^rgb\\(${a3},${a3},${a3}\\)$`),a7=RegExp(`^rgba\\(${a1},${a1},${a1},${a2}\\)$`),a8=RegExp(`^rgba\\(${a3},${a3},${a3},${a2}\\)$`),a9=RegExp(`^hsl\\(${a2},${a3},${a3}\\)$`),ba=RegExp(`^hsla\\(${a2},${a3},${a3},${a2}\\)$`),bb={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function bc(){return this.rgb().formatHex()}function bd(){return this.rgb().formatRgb()}function be(a){var b,c;return a=(a+"").trim().toLowerCase(),(b=a4.exec(a))?(c=b[1].length,b=parseInt(b[1],16),6===c?bf(b):3===c?new bi(b>>8&15|b>>4&240,b>>4&15|240&b,(15&b)<<4|15&b,1):8===c?bg(b>>24&255,b>>16&255,b>>8&255,(255&b)/255):4===c?bg(b>>12&15|b>>8&240,b>>8&15|b>>4&240,b>>4&15|240&b,((15&b)<<4|15&b)/255):null):(b=a5.exec(a))?new bi(b[1],b[2],b[3],1):(b=a6.exec(a))?new bi(255*b[1]/100,255*b[2]/100,255*b[3]/100,1):(b=a7.exec(a))?bg(b[1],b[2],b[3],b[4]):(b=a8.exec(a))?bg(255*b[1]/100,255*b[2]/100,255*b[3]/100,b[4]):(b=a9.exec(a))?bo(b[1],b[2]/100,b[3]/100,1):(b=ba.exec(a))?bo(b[1],b[2]/100,b[3]/100,b[4]):bb.hasOwnProperty(a)?bf(bb[a]):"transparent"===a?new bi(NaN,NaN,NaN,0):null}function bf(a){return new bi(a>>16&255,a>>8&255,255&a,1)}function bg(a,b,c,d){return d<=0&&(a=b=c=NaN),new bi(a,b,c,d)}function bh(a,b,c,d){var e;return 1==arguments.length?((e=a)instanceof a0||(e=be(e)),e)?new bi((e=e.rgb()).r,e.g,e.b,e.opacity):new bi:new bi(a,b,c,null==d?1:d)}function bi(a,b,c,d){this.r=+a,this.g=+b,this.b=+c,this.opacity=+d}function bj(){return`#${bn(this.r)}${bn(this.g)}${bn(this.b)}`}function bk(){let a=bl(this.opacity);return`${1===a?"rgb(":"rgba("}${bm(this.r)}, ${bm(this.g)}, ${bm(this.b)}${1===a?")":`, ${a})`}`}function bl(a){return isNaN(a)?1:Math.max(0,Math.min(1,a))}function bm(a){return Math.max(0,Math.min(255,Math.round(a)||0))}function bn(a){return((a=bm(a))<16?"0":"")+a.toString(16)}function bo(a,b,c,d){return d<=0?a=b=c=NaN:c<=0||c>=1?a=b=NaN:b<=0&&(a=NaN),new bq(a,b,c,d)}function bp(a){if(a instanceof bq)return new bq(a.h,a.s,a.l,a.opacity);if(a instanceof a0||(a=be(a)),!a)return new bq;if(a instanceof bq)return a;var b=(a=a.rgb()).r/255,c=a.g/255,d=a.b/255,e=Math.min(b,c,d),f=Math.max(b,c,d),g=NaN,h=f-e,i=(f+e)/2;return h?(g=b===f?(c-d)/h+(c<d)*6:c===f?(d-b)/h+2:(b-c)/h+4,h/=i<.5?f+e:2-f-e,g*=60):h=i>0&&i<1?0:g,new bq(g,h,i,a.opacity)}function bq(a,b,c,d){this.h=+a,this.s=+b,this.l=+c,this.opacity=+d}function br(a){return(a=(a||0)%360)<0?a+360:a}function bs(a){return Math.max(0,Math.min(1,a||0))}function bt(a,b,c){return(a<60?b+(c-b)*a/60:a<180?c:a<240?b+(c-b)*(240-a)/60:b)*255}function bu(a,b,c,d,e){var f=a*a,g=f*a;return((1-3*a+3*f-g)*b+(4-6*f+3*g)*c+(1+3*a+3*f-3*g)*d+g*e)/6}a$(a0,be,{copy(a){return Object.assign(new this.constructor,this,a)},displayable(){return this.rgb().displayable()},hex:bc,formatHex:bc,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return bp(this).formatHsl()},formatRgb:bd,toString:bd}),a$(bi,bh,a_(a0,{brighter(a){return a=null==a?1.4285714285714286:Math.pow(1.4285714285714286,a),new bi(this.r*a,this.g*a,this.b*a,this.opacity)},darker(a){return a=null==a?.7:Math.pow(.7,a),new bi(this.r*a,this.g*a,this.b*a,this.opacity)},rgb(){return this},clamp(){return new bi(bm(this.r),bm(this.g),bm(this.b),bl(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:bj,formatHex:bj,formatHex8:function(){return`#${bn(this.r)}${bn(this.g)}${bn(this.b)}${bn((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:bk,toString:bk})),a$(bq,function(a,b,c,d){return 1==arguments.length?bp(a):new bq(a,b,c,null==d?1:d)},a_(a0,{brighter(a){return a=null==a?1.4285714285714286:Math.pow(1.4285714285714286,a),new bq(this.h,this.s,this.l*a,this.opacity)},darker(a){return a=null==a?.7:Math.pow(.7,a),new bq(this.h,this.s,this.l*a,this.opacity)},rgb(){var a=this.h%360+(this.h<0)*360,b=isNaN(a)||isNaN(this.s)?0:this.s,c=this.l,d=c+(c<.5?c:1-c)*b,e=2*c-d;return new bi(bt(a>=240?a-240:a+120,e,d),bt(a,e,d),bt(a<120?a+240:a-120,e,d),this.opacity)},clamp(){return new bq(br(this.h),bs(this.s),bs(this.l),bl(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 a=bl(this.opacity);return`${1===a?"hsl(":"hsla("}${br(this.h)}, ${100*bs(this.s)}%, ${100*bs(this.l)}%${1===a?")":`, ${a})`}`}}));let bv=a=>()=>a;function bw(a,b){var c=b-a;return c?function(b){return a+b*c}:bv(isNaN(a)?b:a)}let bx=function a(b){var c,d=1==(c=+b)?bw:function(a,b){var d,e,f;return b-a?(d=a,e=b,d=Math.pow(d,f=c),e=Math.pow(e,f)-d,f=1/f,function(a){return Math.pow(d+a*e,f)}):bv(isNaN(a)?b:a)};function e(a,b){var c=d((a=bh(a)).r,(b=bh(b)).r),e=d(a.g,b.g),f=d(a.b,b.b),g=bw(a.opacity,b.opacity);return function(b){return a.r=c(b),a.g=e(b),a.b=f(b),a.opacity=g(b),a+""}}return e.gamma=a,e}(1);function by(a){return function(b){var c,d,e=b.length,f=Array(e),g=Array(e),h=Array(e);for(c=0;c<e;++c)d=bh(b[c]),f[c]=d.r||0,g[c]=d.g||0,h[c]=d.b||0;return f=a(f),g=a(g),h=a(h),d.opacity=1,function(a){return d.r=f(a),d.g=g(a),d.b=h(a),d+""}}}by(function(a){var b=a.length-1;return function(c){var d=c<=0?c=0:c>=1?(c=1,b-1):Math.floor(c*b),e=a[d],f=a[d+1],g=d>0?a[d-1]:2*e-f,h=d<b-1?a[d+2]:2*f-e;return bu((c-d/b)*b,g,e,f,h)}}),by(function(a){var b=a.length;return function(c){var d=Math.floor(((c%=1)<0?++c:c)*b),e=a[(d+b-1)%b],f=a[d%b],g=a[(d+1)%b],h=a[(d+2)%b];return bu((c-d/b)*b,e,f,g,h)}});var bz=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,bA=RegExp(bz.source,"g");function bB(a,b){var c,d,e,f,g,h=bz.lastIndex=bA.lastIndex=0,i=-1,j=[],k=[];for(a+="",b+="";(e=bz.exec(a))&&(f=bA.exec(b));)(g=f.index)>h&&(g=b.slice(h,g),j[i]?j[i]+=g:j[++i]=g),(e=e[0])===(f=f[0])?j[i]?j[i]+=f:j[++i]=f:(j[++i]=null,k.push({i:i,x:aS(e,f)})),h=bA.lastIndex;return h<b.length&&(g=b.slice(h),j[i]?j[i]+=g:j[++i]=g),j.length<2?k[0]?(c=k[0].x,function(a){return c(a)+""}):(d=b,function(){return d}):(b=k.length,function(a){for(var c,d=0;d<b;++d)j[(c=k[d]).i]=c.x(a);return j.join("")})}function bC(a,b){var c;return("number"==typeof b?aS:b instanceof be?bx:(c=be(b))?(b=c,bx):bB)(a,b)}var bD=as.prototype.constructor;function bE(a){return function(){this.style.removeProperty(a)}}var bF=0;function bG(a,b,c,d){this._groups=a,this._parents=b,this._name=c,this._id=d}var bH=as.prototype;bG.prototype=(function(a){return as().transition(a)}).prototype={constructor:bG,select:function(a){var b=this._name,c=this._id;"function"!=typeof a&&(a=H(a));for(var d=this._groups,e=d.length,f=Array(e),g=0;g<e;++g)for(var h,i,j=d[g],k=j.length,l=f[g]=Array(k),m=0;m<k;++m)(h=j[m])&&(i=a.call(h,h.__data__,m,j))&&("__data__"in h&&(i.__data__=h.__data__),l[m]=i,aO(l[m],b,c,m,l,aR(h,c)));return new bG(f,this._parents,b,c)},selectAll:function(a){var b=this._name,c=this._id;"function"!=typeof a&&(a=J(a));for(var d=this._groups,e=d.length,f=[],g=[],h=0;h<e;++h)for(var i,j=d[h],k=j.length,l=0;l<k;++l)if(i=j[l]){for(var m,n=a.call(i,i.__data__,l,j),o=aR(i,c),p=0,q=n.length;p<q;++p)(m=n[p])&&aO(m,b,c,p,n,o);f.push(n),g.push(i)}return new bG(f,g,b,c)},selectChild:bH.selectChild,selectChildren:bH.selectChildren,filter:function(a){"function"!=typeof a&&(a=K(a));for(var b=this._groups,c=b.length,d=Array(c),e=0;e<c;++e)for(var f,g=b[e],h=g.length,i=d[e]=[],j=0;j<h;++j)(f=g[j])&&a.call(f,f.__data__,j,g)&&i.push(f);return new bG(d,this._parents,this._name,this._id)},merge:function(a){if(a._id!==this._id)throw Error();for(var b=this._groups,c=a._groups,d=b.length,e=c.length,f=Math.min(d,e),g=Array(d),h=0;h<f;++h)for(var i,j=b[h],k=c[h],l=j.length,m=g[h]=Array(l),n=0;n<l;++n)(i=j[n]||k[n])&&(m[n]=i);for(;h<d;++h)g[h]=b[h];return new bG(g,this._parents,this._name,this._id)},selection:function(){return new bD(this._groups,this._parents)},transition:function(){for(var a=this._name,b=this._id,c=++bF,d=this._groups,e=d.length,f=0;f<e;++f)for(var g,h=d[f],i=h.length,j=0;j<i;++j)if(g=h[j]){var k=aR(g,b);aO(g,a,c,j,h,{time:k.time+k.delay+k.duration,delay:0,duration:k.duration,ease:k.ease})}return new bG(d,this._parents,a,c)},call:bH.call,nodes:bH.nodes,node:bH.node,size:bH.size,empty:bH.empty,each:bH.each,on:function(a,b){var c,d,e,f,g,h,i=this._id;return arguments.length<2?aR(this.node(),i).on.on(a):this.each((c=i,d=a,e=b,h=(d+"").trim().split(/^|\s+/).every(function(a){var b=a.indexOf(".");return b>=0&&(a=a.slice(0,b)),!a||"start"===a})?aP:aQ,function(){var a=h(this,c),b=a.on;b!==f&&(g=(f=b).copy()).on(d,e),a.on=g}))},attr:function(a,b){var c=Y(a),d="transform"===c?aY:bC;return this.attrTween(a,"function"==typeof b?(c.local?function(a,b,c){var d,e,f;return function(){var g,h,i=c(this);return null==i?void this.removeAttributeNS(a.space,a.local):(g=this.getAttributeNS(a.space,a.local))===(h=i+"")?null:g===d&&h===e?f:(e=h,f=b(d=g,i))}}:function(a,b,c){var d,e,f;return function(){var g,h,i=c(this);return null==i?void this.removeAttribute(a):(g=this.getAttribute(a))===(h=i+"")?null:g===d&&h===e?f:(e=h,f=b(d=g,i))}})(c,d,aZ(this,"attr."+a,b)):null==b?(c.local?function(a){return function(){this.removeAttributeNS(a.space,a.local)}}:function(a){return function(){this.removeAttribute(a)}})(c):(c.local?function(a,b,c){var d,e,f=c+"";return function(){var g=this.getAttributeNS(a.space,a.local);return g===f?null:g===d?e:e=b(d=g,c)}}:function(a,b,c){var d,e,f=c+"";return function(){var g=this.getAttribute(a);return g===f?null:g===d?e:e=b(d=g,c)}})(c,d,b))},attrTween:function(a,b){var c="attr."+a;if(arguments.length<2)return(c=this.tween(c))&&c._value;if(null==b)return this.tween(c,null);if("function"!=typeof b)throw Error();var d=Y(a);return this.tween(c,(d.local?function(a,b){var c,d;function e(){var e=b.apply(this,arguments);return e!==d&&(c=(d=e)&&function(b){this.setAttributeNS(a.space,a.local,e.call(this,b))}),c}return e._value=b,e}:function(a,b){var c,d;function e(){var e=b.apply(this,arguments);return e!==d&&(c=(d=e)&&function(b){this.setAttribute(a,e.call(this,b))}),c}return e._value=b,e})(d,b))},style:function(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y="transform"==(a+="")?aX:bC;return null==b?this.styleTween(a,(d=a,function(){var a=$(this,d),b=(this.style.removeProperty(d),$(this,d));return a===b?null:a===e&&b===f?g:g=y(e=a,f=b)})).on("end.style."+a,bE(a)):"function"==typeof b?this.styleTween(a,(h=a,i=aZ(this,"style."+a,b),function(){var a=$(this,h),b=i(this),c=b+"";return null==b&&(this.style.removeProperty(h),c=b=$(this,h)),a===c?null:a===j&&c===k?l:(k=c,l=y(j=a,b))})).each((m=this._id,t="end."+(s="style."+(n=a)),function(){var a=aQ(this,m),b=a.on,c=null==a.value[s]?r||(r=bE(n)):void 0;(b!==o||q!==c)&&(p=(o=b).copy()).on(t,q=c),a.on=p})):this.styleTween(a,(u=a,x=b+"",function(){var a=$(this,u);return a===x?null:a===v?w:w=y(v=a,b)}),c).on("end.style."+a,null)},styleTween:function(a,b,c){var d="style."+(a+="");if(arguments.length<2)return(d=this.tween(d))&&d._value;if(null==b)return this.tween(d,null);if("function"!=typeof b)throw Error();return this.tween(d,function(a,b,c){var d,e;function f(){var f=b.apply(this,arguments);return f!==e&&(d=(e=f)&&function(b){this.style.setProperty(a,f.call(this,b),c)}),d}return f._value=b,f}(a,b,null==c?"":c))},text:function(a){var b,c;return this.tween("text","function"==typeof a?(b=aZ(this,"text",a),function(){var a=b(this);this.textContent=null==a?"":a}):(c=null==a?"":a+"",function(){this.textContent=c}))},textTween:function(a){var b="text";if(arguments.length<1)return(b=this.tween(b))&&b._value;if(null==a)return this.tween(b,null);if("function"!=typeof a)throw Error();return this.tween(b,function(a){var b,c;function d(){var d=a.apply(this,arguments);return d!==c&&(b=(c=d)&&function(a){this.textContent=d.call(this,a)}),b}return d._value=a,d}(a))},remove:function(){var a;return this.on("end.remove",(a=this._id,function(){var b=this.parentNode;for(var c in this.__transition)if(+c!==a)return;b&&b.removeChild(this)}))},tween:function(a,b){var c=this._id;if(a+="",arguments.length<2){for(var d,e=aR(this.node(),c).tween,f=0,g=e.length;f<g;++f)if((d=e[f]).name===a)return d.value;return null}return this.each((null==b?function(a,b){var c,d;return function(){var e=aQ(this,a),f=e.tween;if(f!==c){d=c=f;for(var g=0,h=d.length;g<h;++g)if(d[g].name===b){(d=d.slice()).splice(g,1);break}}e.tween=d}}:function(a,b,c){var d,e;if("function"!=typeof c)throw Error();return function(){var f=aQ(this,a),g=f.tween;if(g!==d){e=(d=g).slice();for(var h={name:b,value:c},i=0,j=e.length;i<j;++i)if(e[i].name===b){e[i]=h;break}i===j&&e.push(h)}f.tween=e}})(c,a,b))},delay:function(a){var b=this._id;return arguments.length?this.each(("function"==typeof a?function(a,b){return function(){aP(this,a).delay=+b.apply(this,arguments)}}:function(a,b){return b*=1,function(){aP(this,a).delay=b}})(b,a)):aR(this.node(),b).delay},duration:function(a){var b=this._id;return arguments.length?this.each(("function"==typeof a?function(a,b){return function(){aQ(this,a).duration=+b.apply(this,arguments)}}:function(a,b){return b*=1,function(){aQ(this,a).duration=b}})(b,a)):aR(this.node(),b).duration},ease:function(a){var b=this._id;return arguments.length?this.each(function(a,b){if("function"!=typeof b)throw Error();return function(){aQ(this,a).ease=b}}(b,a)):aR(this.node(),b).ease},easeVarying:function(a){var b;if("function"!=typeof a)throw Error();return this.each((b=this._id,function(){var c=a.apply(this,arguments);if("function"!=typeof c)throw Error();aQ(this,b).ease=c}))},end:function(){var a,b,c=this,d=c._id,e=c.size();return new Promise(function(f,g){var h={value:g},i={value:function(){0==--e&&f()}};c.each(function(){var c=aQ(this,d),e=c.on;e!==a&&((b=(a=e).copy())._.cancel.push(h),b._.interrupt.push(h),b._.end.push(i)),c.on=b}),0===e&&f()})},[Symbol.iterator]:bH[Symbol.iterator]};var bI={time:null,delay:0,duration:250,ease:function(a){return((a*=2)<=1?a*a*a:(a-=2)*a*a+2)/2}};function bJ(a,b,c){this.k=a,this.x=b,this.y=c}as.prototype.interrupt=function(a){return this.each(function(){!function(a,b){var c,d,e,f=a.__transition,g=!0;if(f){for(e in b=null==b?null:b+"",f){if((c=f[e]).name!==b){g=!1;continue}d=c.state>2&&c.state<5,c.state=6,c.timer.stop(),c.on.call(d?"interrupt":"cancel",a,a.__data__,c.index,c.group),delete f[e]}g&&delete a.__transition}}(this,a)})},as.prototype.transition=function(a){var b,c;a instanceof bG?(b=a._id,a=a._name):(b=++bF,(c=bI).time=aE(),a=null==a?null:a+"");for(var d=this._groups,e=d.length,f=0;f<e;++f)for(var g,h=d[f],i=h.length,j=0;j<i;++j)(g=h[j])&&aO(g,a,b,j,h,c||function(a,b){for(var c;!(c=a.__transition)||!(c=c[b]);)if(!(a=a.parentNode))throw Error(`transition ${b} not found`);return c}(g,b));return new bG(d,this._parents,a,b)},bJ.prototype={constructor:bJ,scale:function(a){return 1===a?this:new bJ(this.k*a,this.x,this.y)},translate:function(a,b){return 0===a&0===b?this:new bJ(this.k,this.x+this.k*a,this.y+this.k*b)},apply:function(a){return[a[0]*this.k+this.x,a[1]*this.k+this.y]},applyX:function(a){return a*this.k+this.x},applyY:function(a){return a*this.k+this.y},invert:function(a){return[(a[0]-this.x)/this.k,(a[1]-this.y)/this.k]},invertX:function(a){return(a-this.x)/this.k},invertY:function(a){return(a-this.y)/this.k},rescaleX:function(a){return a.copy().domain(a.range().map(this.invertX,this).map(a.invert,a))},rescaleY:function(a){return a.copy().domain(a.range().map(this.invertY,this).map(a.invert,a))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};new bJ(1,0,0);bJ.prototype;let bK={error001:(a="react")=>`Seems like you have not used zustand provider as an ancestor. Help: https://${a}flow.dev/error#001`,error003:a=>`Node type "${a}" not found. Using fallback type "default".`,error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error009:a=>`Marker type "${a}" doesn't exist.`,error008:(a,{id:b,sourceHandle:c,targetHandle:d})=>`Couldn't create edge for ${a} handle id: "${"source"===a?c:d}", edge id: ${b}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:a=>`Edge type "${a}" not found. Using fallback type "default".`,error012:a=>`Node with id "${a}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,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."},bL=[[-1/0,-1/0],[1/0,1/0]],bM=["Enter"," ","Escape"],bN={"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:a,x:b,y:c})=>`Moved selected node ${a}. New position, x: ${b}, y: ${c}`,"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"};!function(a){a.Strict="strict",a.Loose="loose"}(e||(e={})),function(a){a.Free="free",a.Vertical="vertical",a.Horizontal="horizontal"}(f||(f={})),function(a){a.Partial="partial",a.Full="full"}(g||(g={}));let bO={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};!function(a){a.Bezier="default",a.Straight="straight",a.Step="step",a.SmoothStep="smoothstep",a.SimpleBezier="simplebezier"}(h||(h={})),function(a){a.Arrow="arrow",a.ArrowClosed="arrowclosed"}(i||(i={})),function(a){a.Left="left",a.Top="top",a.Right="right",a.Bottom="bottom"}(j||(j={}));let bP={[j.Left]:j.Right,[j.Right]:j.Left,[j.Top]:j.Bottom,[j.Bottom]:j.Top};function bQ(a){return null===a?null:a?"valid":"invalid"}let bR=a=>"id"in a&&"source"in a&&"target"in a,bS=a=>"id"in a&&"internals"in a&&!("source"in a)&&!("target"in a),bT=(a,b=[0,0])=>{let{width:c,height:d}=ci(a),e=a.origin??b,f=c*e[0],g=d*e[1];return{x:a.position.x-f,y:a.position.y-g}},bU=(a,b={})=>{let c={x:1/0,y:1/0,x2:-1/0,y2:-1/0},d=!1;return a.forEach(a=>{(void 0===b.filter||b.filter(a))&&(c=b1(c,b5(a)),d=!0)}),d?b3(c):{x:0,y:0,width:0,height:0}},bV=(a,b,[c,d,e]=[0,0,1],f=!1,g=!1)=>{let h={...cc(b,[c,d,e]),width:b.width/e,height:b.height/e},i=[];for(let b of a.values()){let{measured:a,selectable:c=!0,hidden:d=!1}=b;if(g&&!c||d)continue;let e=a.width??b.width??b.initialWidth??null,j=a.height??b.height??b.initialHeight??null,k=b7(h,b4(b)),l=(e??0)*(j??0),m=f&&k>0;(!b.internals.handleBounds||m||k>=l||b.dragging)&&i.push(b)}return i};async function bW({nodes:a,width:b,height:c,panZoom:d,minZoom:e,maxZoom:f},g){if(0===a.size)return!0;let h=cf(bU(function(a,b){let c=new Map,d=b?.nodes?new Set(b.nodes.map(a=>a.id)):null;return a.forEach(a=>{a.measured.width&&a.measured.height&&(b?.includeHiddenNodes||!a.hidden)&&(!d||d.has(a.id))&&c.set(a.id,a)}),c}(a,g)),b,c,g?.minZoom??e,g?.maxZoom??f,g?.padding??.1);return await d.setViewport(h,{duration:g?.duration,ease:g?.ease,interpolate:g?.interpolate}),!0}async function bX({nodesToRemove:a=[],edgesToRemove:b=[],nodes:c,edges:d,onBeforeDelete:e}){let f=new Set(a.map(a=>a.id)),g=[];for(let a of c){if(!1===a.deletable)continue;let b=f.has(a.id),c=!b&&a.parentId&&g.find(b=>b.id===a.parentId);(b||c)&&g.push(a)}let h=new Set(b.map(a=>a.id)),i=d.filter(a=>!1!==a.deletable),j=((a,b)=>{let c=new Set;return a.forEach(a=>{c.add(a.id)}),b.filter(a=>c.has(a.source)||c.has(a.target))})(g,i);for(let a of i)h.has(a.id)&&!j.find(b=>b.id===a.id)&&j.push(a);if(!e)return{edges:j,nodes:g};let k=await e({nodes:g,edges:j});return"boolean"==typeof k?k?{edges:j,nodes:g}:{edges:[],nodes:[]}:k}let bY=(a,b=0,c=1)=>Math.min(Math.max(a,b),c),bZ=(a={x:0,y:0},b,c)=>({x:bY(a.x,b[0][0],b[1][0]-(c?.width??0)),y:bY(a.y,b[0][1],b[1][1]-(c?.height??0))});function b$(a,b,c){let{width:d,height:e}=ci(c),{x:f,y:g}=c.internals.positionAbsolute;return bZ(a,[[f,g],[f+d,g+e]],b)}let b_=(a,b,c)=>a<b?bY(Math.abs(a-b),1,b)/b:a>c?-bY(Math.abs(a-c),1,b)/b:0,b0=(a,b,c=15,d=40)=>[b_(a.x,d,b.width-d)*c,b_(a.y,d,b.height-d)*c],b1=(a,b)=>({x:Math.min(a.x,b.x),y:Math.min(a.y,b.y),x2:Math.max(a.x2,b.x2),y2:Math.max(a.y2,b.y2)}),b2=({x:a,y:b,width:c,height:d})=>({x:a,y:b,x2:a+c,y2:b+d}),b3=({x:a,y:b,x2:c,y2:d})=>({x:a,y:b,width:c-a,height:d-b}),b4=(a,b=[0,0])=>{let{x:c,y:d}=bS(a)?a.internals.positionAbsolute:bT(a,b);return{x:c,y:d,width:a.measured?.width??a.width??a.initialWidth??0,height:a.measured?.height??a.height??a.initialHeight??0}},b5=(a,b=[0,0])=>{let{x:c,y:d}=bS(a)?a.internals.positionAbsolute:bT(a,b);return{x:c,y:d,x2:c+(a.measured?.width??a.width??a.initialWidth??0),y2:d+(a.measured?.height??a.height??a.initialHeight??0)}},b6=(a,b)=>b3(b1(b2(a),b2(b))),b7=(a,b)=>Math.ceil(Math.max(0,Math.min(a.x+a.width,b.x+b.width)-Math.max(a.x,b.x))*Math.max(0,Math.min(a.y+a.height,b.y+b.height)-Math.max(a.y,b.y))),b8=a=>b9(a.width)&&b9(a.height)&&b9(a.x)&&b9(a.y),b9=a=>!isNaN(a)&&isFinite(a),ca=(a,b)=>(a,b)=>{},cb=(a,b=[1,1])=>({x:b[0]*Math.round(a.x/b[0]),y:b[1]*Math.round(a.y/b[1])}),cc=({x:a,y:b},[c,d,e],f=!1,g=[1,1])=>{let h={x:(a-c)/e,y:(b-d)/e};return f?cb(h,g):h},cd=({x:a,y:b},[c,d,e])=>({x:a*e+c,y:b*e+d});function ce(a,b){if("number"==typeof a)return Math.floor((b-b/(1+a))*.5);if("string"==typeof a&&a.endsWith("px")){let b=parseFloat(a);if(!Number.isNaN(b))return Math.floor(b)}if("string"==typeof a&&a.endsWith("%")){let c=parseFloat(a);if(!Number.isNaN(c))return Math.floor(b*c*.01)}return console.error(`The padding value "${a}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}let cf=(a,b,c,d,e,f)=>{let g=function(a,b,c){if("string"==typeof a||"number"==typeof a){let d=ce(a,c),e=ce(a,b);return{top:d,right:e,bottom:d,left:e,x:2*e,y:2*d}}if("object"==typeof a){let d=ce(a.top??a.y??0,c),e=ce(a.bottom??a.y??0,c),f=ce(a.left??a.x??0,b),g=ce(a.right??a.x??0,b);return{top:d,right:g,bottom:e,left:f,x:f+g,y:d+e}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}(f,b,c),h=bY(Math.min((b-g.x)/a.width,(c-g.y)/a.height),d,e),i=a.x+a.width/2,j=a.y+a.height/2,k=b/2-i*h,l=c/2-j*h,m=function(a,b,c,d,e,f){let{x:g,y:h}=cd(a,[b,c,d]),{x:i,y:j}=cd({x:a.x+a.width,y:a.y+a.height},[b,c,d]);return{left:Math.floor(g),top:Math.floor(h),right:Math.floor(e-i),bottom:Math.floor(f-j)}}(a,k,l,h,b,c),n={left:Math.min(m.left-g.left,0),top:Math.min(m.top-g.top,0),right:Math.min(m.right-g.right,0),bottom:Math.min(m.bottom-g.bottom,0)};return{x:k-n.left+n.right,y:l-n.top+n.bottom,zoom:h}},cg=()=>"undefined"!=typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0;function ch(a){return null!=a&&"parent"!==a}function ci(a){return{width:a.measured?.width??a.width??a.initialWidth??0,height:a.measured?.height??a.height??a.initialHeight??0}}function cj(a){return(a.measured?.width??a.width??a.initialWidth)!==void 0&&(a.measured?.height??a.height??a.initialHeight)!==void 0}function ck(a,b){if(a.size!==b.size)return!1;for(let c of a)if(!b.has(c))return!1;return!0}let cl=a=>({width:a.offsetWidth,height:a.offsetHeight}),cm=a=>a?.getRootNode?.()||window?.document,cn=["INPUT","SELECT","TEXTAREA"],co=(a,b)=>{let c="clientX"in a,d=c?a.clientX:a.touches?.[0].clientX,e=c?a.clientY:a.touches?.[0].clientY;return{x:d-(b?.left??0),y:e-(b?.top??0)}},cp=(a,b,c,d,e)=>{let f=b.querySelectorAll(`.${a}`);return f&&f.length?Array.from(f).map(b=>{let f=b.getBoundingClientRect();return{id:b.getAttribute("data-handleid"),type:a,nodeId:e,position:b.getAttribute("data-handlepos"),x:(f.left-c.left)/d,y:(f.top-c.top)/d,...cl(b)}}):null};function cq({sourceX:a,sourceY:b,targetX:c,targetY:d,sourceControlX:e,sourceControlY:f,targetControlX:g,targetControlY:h}){let i=.125*a+.375*e+.375*g+.125*c,j=.125*b+.375*f+.375*h+.125*d,k=Math.abs(i-a),l=Math.abs(j-b);return[i,j,k,l]}function cr(a,b){return a>=0?.5*a:25*b*Math.sqrt(-a)}function cs({pos:a,x1:b,y1:c,x2:d,y2:e,c:f}){switch(a){case j.Left:return[b-cr(b-d,f),c];case j.Right:return[b+cr(d-b,f),c];case j.Top:return[b,c-cr(c-e,f)];case j.Bottom:return[b,c+cr(e-c,f)]}}function ct({sourceX:a,sourceY:b,sourcePosition:c=j.Bottom,targetX:d,targetY:e,targetPosition:f=j.Top,curvature:g=.25}){let[h,i]=cs({pos:c,x1:a,y1:b,x2:d,y2:e,c:g}),[k,l]=cs({pos:f,x1:d,y1:e,x2:a,y2:b,c:g}),[m,n,o,p]=cq({sourceX:a,sourceY:b,targetX:d,targetY:e,sourceControlX:h,sourceControlY:i,targetControlX:k,targetControlY:l});return[`M${a},${b} C${h},${i} ${k},${l} ${d},${e}`,m,n,o,p]}function cu({sourceX:a,sourceY:b,targetX:c,targetY:d}){let e=Math.abs(c-a)/2,f=Math.abs(d-b)/2;return[c<a?c+e:c-e,d<b?d+f:d-f,e,f]}let cv=({source:a,sourceHandle:b,target:c,targetHandle:d})=>`xy-edge__${a}${b||""}-${c}${d||""}`;function cw({sourceX:a,sourceY:b,targetX:c,targetY:d}){let[e,f,g,h]=cu({sourceX:a,sourceY:b,targetX:c,targetY:d});return[`M ${a},${b}L ${c},${d}`,e,f,g,h]}let cx={[j.Left]:{x:-1,y:0},[j.Right]:{x:1,y:0},[j.Top]:{x:0,y:-1},[j.Bottom]:{x:0,y:1}},cy=({source:a,sourcePosition:b=j.Bottom,target:c})=>b===j.Left||b===j.Right?a.x<c.x?{x:1,y:0}:{x:-1,y:0}:a.y<c.y?{x:0,y:1}:{x:0,y:-1},cz=(a,b)=>Math.sqrt(Math.pow(b.x-a.x,2)+Math.pow(b.y-a.y,2));function cA({sourceX:a,sourceY:b,sourcePosition:c=j.Bottom,targetX:d,targetY:e,targetPosition:f=j.Top,borderRadius:g=5,centerX:h,centerY:i,offset:k=20,stepPosition:l=.5}){let[m,n,o,p,q]=function({source:a,sourcePosition:b=j.Bottom,target:c,targetPosition:d=j.Top,center:e,offset:f,stepPosition:g}){let h,i,k=cx[b],l=cx[d],m={x:a.x+k.x*f,y:a.y+k.y*f},n={x:c.x+l.x*f,y:c.y+l.y*f},o=cy({source:m,sourcePosition:b,target:n}),p=0!==o.x?"x":"y",q=o[p],r=[],s={x:0,y:0},t={x:0,y:0},[,,u,v]=cu({sourceX:a.x,sourceY:a.y,targetX:c.x,targetY:c.y});if(k[p]*l[p]==-1){"x"===p?(h=e.x??m.x+(n.x-m.x)*g,i=e.y??(m.y+n.y)/2):(h=e.x??(m.x+n.x)/2,i=e.y??m.y+(n.y-m.y)*g);let a=[{x:h,y:m.y},{x:h,y:n.y}],b=[{x:m.x,y:i},{x:n.x,y:i}];r=k[p]===q?"x"===p?a:b:"x"===p?b:a}else{let e=[{x:m.x,y:n.y}],g=[{x:n.x,y:m.y}];if(r="x"===p?k.x===q?g:e:k.y===q?e:g,b===d){let b=Math.abs(a[p]-c[p]);if(b<=f){let d=Math.min(f-1,f-b);k[p]===q?s[p]=(m[p]>a[p]?-1:1)*d:t[p]=(n[p]>c[p]?-1:1)*d}}if(b!==d){let a="x"===p?"y":"x",b=k[p]===l[a],c=m[a]>n[a],d=m[a]<n[a];(1===k[p]&&(!b&&c||b&&d)||1!==k[p]&&(!b&&d||b&&c))&&(r="x"===p?e:g)}let j={x:m.x+s.x,y:m.y+s.y},o={x:n.x+t.x,y:n.y+t.y};Math.max(Math.abs(j.x-r[0].x),Math.abs(o.x-r[0].x))>=Math.max(Math.abs(j.y-r[0].y),Math.abs(o.y-r[0].y))?(h=(j.x+o.x)/2,i=r[0].y):(h=r[0].x,i=(j.y+o.y)/2)}let w={x:m.x+s.x,y:m.y+s.y},x={x:n.x+t.x,y:n.y+t.y};return[[a,...w.x!==r[0].x||w.y!==r[0].y?[w]:[],...r,...x.x!==r[r.length-1].x||x.y!==r[r.length-1].y?[x]:[],c],h,i,u,v]}({source:{x:a,y:b},sourcePosition:c,target:{x:d,y:e},targetPosition:f,center:{x:h,y:i},offset:k,stepPosition:l}),r=`M${m[0].x} ${m[0].y}`;for(let a=1;a<m.length-1;a++)r+=function(a,b,c,d){let e=Math.min(cz(a,b)/2,cz(b,c)/2,d),{x:f,y:g}=b;if(a.x===f&&f===c.x||a.y===g&&g===c.y)return`L${f} ${g}`;if(a.y===g){let b=a.x<c.x?-1:1,d=a.y<c.y?1:-1;return`L ${f+e*b},${g}Q ${f},${g} ${f},${g+e*d}`}let h=a.x<c.x?1:-1,i=a.y<c.y?-1:1;return`L ${f},${g+e*i}Q ${f},${g} ${f+e*h},${g}`}(m[a-1],m[a],m[a+1],g);return[r+=`L${m[m.length-1].x} ${m[m.length-1].y}`,n,o,p,q]}function cB(a){return a&&!!(a.internals.handleBounds||a.handles?.length)&&!!(a.measured.width||a.width||a.initialWidth)}function cC(a){if(!a)return null;let b=[],c=[];for(let d of a)d.width=d.width??1,d.height=d.height??1,"source"===d.type?b.push(d):"target"===d.type&&c.push(d);return{source:b,target:c}}function cD(a,b,c=j.Left,d=!1){let e=(b?.x??0)+a.internals.positionAbsolute.x,f=(b?.y??0)+a.internals.positionAbsolute.y,{width:g,height:h}=b??ci(a);if(d)return{x:e+g/2,y:f+h/2};switch(b?.position??c){case j.Top:return{x:e+g/2,y:f};case j.Right:return{x:e+g,y:f+h/2};case j.Bottom:return{x:e+g/2,y:f+h};case j.Left:return{x:e,y:f+h/2}}}function cE(a,b){return a&&(b?a.find(a=>a.id===b):a[0])||null}function cF(a,b){if(!a)return"";if("string"==typeof a)return a;let c=b?`${b}__`:"";return`${c}${Object.keys(a).sort().map(b=>`${b}=${a[b]}`).join("&")}`}let cG={nodeOrigin:[0,0],nodeExtent:bL,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},cH={...cG,checkEquality:!0};function cI(a,b){let c={...a};for(let a in b)void 0!==b[a]&&(c[a]=b[a]);return c}function cJ(a){return"manual"===a}function cK(a,b,c,d={}){let e=cI(cH,d),f={i:0},g=new Map(b),h=e?.elevateNodesOnSelect&&!cJ(e.zIndexMode)?1e3:0,i=a.length>0,j=!1;for(let k of(b.clear(),c.clear(),a)){let a=g.get(k.id);if(e.checkEquality&&k===a?.internals.userNode)b.set(k.id,a);else{let c=bZ(bT(k,e.nodeOrigin),ch(k.extent)?k.extent:e.nodeExtent,ci(k));a={...e.defaults,...k,measured:{width:k.measured?.width,height:k.measured?.height},internals:{positionAbsolute:c,handleBounds:function(a,b){if(!a.handles)return a.measured?b?.internals.handleBounds:void 0;let c=[],d=[];for(let b of a.handles){let e={id:b.id,width:b.width??1,height:b.height??1,nodeId:a.id,x:b.x,y:b.y,position:b.position,type:b.type};"source"===b.type?c.push(e):"target"===b.type&&d.push(e)}return{source:c,target:d}}(k,a),z:cM(k,h,e.zIndexMode),userNode:k}},b.set(k.id,a)}void 0!==a.measured&&void 0!==a.measured.width&&void 0!==a.measured.height||a.hidden||(i=!1),k.parentId&&cL(a,b,c,d,f),j||=k.selected??!1}return{nodesInitialized:i,hasSelectedNodes:j}}function cL(a,b,c,d,e){let{elevateNodesOnSelect:f,nodeOrigin:g,nodeExtent:h,zIndexMode:i}=cI(cG,d),j=a.parentId,k=b.get(j);if(!k)return void console.warn(`Parent node ${j} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);!function(a,b){if(!a.parentId)return;let c=b.get(a.parentId);c?c.set(a.id,a):b.set(a.parentId,new Map([[a.id,a]]))}(a,c),e&&!k.parentId&&void 0===k.internals.rootParentIndex&&"auto"===i&&(k.internals.rootParentIndex=++e.i,k.internals.z=k.internals.z+10*e.i),e&&void 0!==k.internals.rootParentIndex&&(e.i=k.internals.rootParentIndex);let{x:l,y:m,z:n}=function(a,b,c,d,e,f){let{x:g,y:h}=b.internals.positionAbsolute,i=ci(a),j=bT(a,c),k=ch(a.extent)?bZ(j,a.extent,i):j,l=bZ({x:g+k.x,y:h+k.y},d,i);"parent"===a.extent&&(l=b$(l,i,b));let m=cM(a,e,f),n=b.internals.z??0;return{x:l.x,y:l.y,z:n>=m?n+1:m}}(a,k,g,h,f&&!cJ(i)?1e3:0,i),{positionAbsolute:o}=a.internals,p=l!==o.x||m!==o.y;(p||n!==a.internals.z)&&b.set(a.id,{...a,internals:{...a.internals,positionAbsolute:p?{x:l,y:m}:o,z:n}})}function cM(a,b,c){let d=b9(a.zIndex)?a.zIndex:0;return cJ(c)?d:d+(a.selected?b:0)}function cN(a,b,c,d=[0,0]){let e=[],f=new Map;for(let c of a){let a=b.get(c.parentId);if(!a)continue;let d=b6(f.get(c.parentId)?.expandedRect??b4(a),c.rect);f.set(c.parentId,{expandedRect:d,parent:a})}return f.size>0&&f.forEach(({expandedRect:b,parent:f},g)=>{let h=f.internals.positionAbsolute,i=ci(f),j=f.origin??d,k=b.x<h.x?Math.round(Math.abs(h.x-b.x)):0,l=b.y<h.y?Math.round(Math.abs(h.y-b.y)):0,m=Math.max(i.width,Math.round(b.width)),n=Math.max(i.height,Math.round(b.height)),o=(m-i.width)*j[0],p=(n-i.height)*j[1];(k>0||l>0||o||p)&&(e.push({id:g,type:"position",position:{x:f.position.x-k+o,y:f.position.y-l+p}}),c.get(g)?.forEach(b=>{a.some(a=>a.id===b.id)||e.push({id:b.id,type:"position",position:{x:b.position.x+k,y:b.position.y+l}})})),(i.width<b.width||i.height<b.height||k||l)&&e.push({id:g,type:"dimensions",setAttributes:!0,dimensions:{width:m+(k?j[0]*k-o:0),height:n+(l?j[1]*l-p:0)}})}),e}async function cO({delta:a,panZoom:b,transform:c,translateExtent:d,width:e,height:f}){if(!b||!a.x&&!a.y)return!1;let g=await b.setViewportConstrained({x:c[0]+a.x,y:c[1]+a.y,zoom:c[2]},[[0,0],[e,f]],d);return!!g&&(g.x!==c[0]||g.y!==c[1]||g.k!==c[2])}function cP(a,b,c,d,e,f){let g=e,h=d.get(g)||new Map;d.set(g,h.set(c,b)),g=`${e}-${a}`;let i=d.get(g)||new Map;if(d.set(g,i.set(c,b)),f){g=`${e}-${a}-${f}`;let h=d.get(g)||new Map;d.set(g,h.set(c,b))}}function cQ(a,b,c){for(let d of(a.clear(),b.clear(),c)){let{source:c,target:e,sourceHandle:f=null,targetHandle:g=null}=d,h={edgeId:d.id,source:c,target:e,sourceHandle:f,targetHandle:g},i=`${c}-${f}--${e}-${g}`;cP("source",h,`${e}-${g}--${c}-${f}`,a,c,f),cP("target",h,i,a,e,g),b.set(d.id,d)}}function cR(a,b,c,d,e,f=!1){let g=d.get(a);if(!g)return null;let h="strict"===e?g.internals.handleBounds?.[b]:[...g.internals.handleBounds?.source??[],...g.internals.handleBounds?.target??[]],i=(c?h?.find(a=>a.id===c):h?.[0])??null;return i&&f?{...i,...cD(g,i,i.position,!0)}:i}function cS(a,b){return a?a:b?.classList.contains("target")?"target":b?.classList.contains("source")?"source":null}let cT=()=>!0;function cU(a,{handle:b,connectionMode:c,fromNodeId:d,fromHandleId:f,fromType:g,doc:h,lib:i,flowId:j,isValidConnection:k=cT,nodeLookup:l}){let m="target"===g,n=b?h.querySelector(`.${i}-flow__handle[data-id="${j}-${b?.nodeId}-${b?.id}-${b?.type}"]`):null,{x:o,y:p}=co(a),q=h.elementFromPoint(o,p),r=q?.classList.contains(`${i}-flow__handle`)?q:n,s={handleDomNode:r,isValid:!1,connection:null,toHandle:null};if(r){let a=cS(void 0,r),b=r.getAttribute("data-nodeid"),g=r.getAttribute("data-handleid"),h=r.classList.contains("connectable"),i=r.classList.contains("connectableend");if(!b||!a)return s;let j={source:m?b:d,sourceHandle:m?g:f,target:m?d:b,targetHandle:m?f:g};s.connection=j,s.isValid=h&&i&&(c===e.Strict?m&&"source"===a||!m&&"target"===a:b!==d||g!==f)&&k(j),s.toHandle=cR(b,a,g,l,c,!0)}return s}let cV={onPointerDown:function(a,{connectionMode:b,connectionRadius:c,handleId:d,nodeId:e,edgeUpdaterType:f,isTarget:g,domNode:h,nodeLookup:i,lib:k,autoPanOnConnect:l,flowId:m,panBy:n,cancelConnection:o,onConnectStart:p,onConnect:q,onConnectEnd:r,isValidConnection:s=cT,onReconnectEnd:t,updateConnection:u,getTransform:v,getFromHandle:w,autoPanSpeed:x,dragThreshold:y=1,handleDomNode:z}){let A,B=cm(a.target),C=0,{x:D,y:E}=co(a),F=cS(f,z),G=h?.getBoundingClientRect(),H=!1;if(!G||!F)return;let I=cR(e,F,d,i,b);if(!I)return;let J=co(a,G),K=!1,L=null,M=!1,N=null,O={...I,nodeId:e,type:F,position:I.position},P=i.get(e),Q={inProgress:!0,isValid:null,from:cD(P,O,j.Left,!0),fromHandle:O,fromPosition:O.position,fromNode:P,to:J,toHandle:null,toPosition:bP[O.position],toNode:null,pointer:J};function R(){H=!0,u(Q),p?.(a,{nodeId:e,handleId:d,handleType:F})}function S(a){var f,h;let o;if(!H){let{x:b,y:c}=co(a),d=b-D,e=c-E;if(!(d*d+e*e>y*y))return;R()}if(!w()||!O)return void T(a);let p=v();A=function(a,b,c,d){let e=[],f=1/0;for(let g of function(a,b,c){let d=[],e={x:a.x-c,y:a.y-c,width:2*c,height:2*c};for(let a of b.values())b7(e,b4(a))>0&&d.push(a);return d}(a,c,b+250))for(let c of[...g.internals.handleBounds?.source??[],...g.internals.handleBounds?.target??[]]){if(d.nodeId===c.nodeId&&d.type===c.type&&d.id===c.id)continue;let{x:h,y:i}=cD(g,c,c.position,!0),j=Math.sqrt(Math.pow(h-a.x,2)+Math.pow(i-a.y,2));j>b||(j<f?(e=[{...c,x:h,y:i}],f=j):j===f&&e.push({...c,x:h,y:i}))}if(!e.length)return null;if(e.length>1){let a="source"===d.type?"target":"source";return e.find(b=>b.type===a)??e[0]}return e[0]}(cc(J=co(a,G),p,!1,[1,1]),c,i,O),K||(!function a(){if(!l||!G)return;let[b,c]=b0(J,G,x);n({x:b,y:c}),C=requestAnimationFrame(a)}(),K=!0);let q=cU(a,{handle:A,connectionMode:b,fromNodeId:e,fromHandleId:d,fromType:g?"target":"source",isValidConnection:s,doc:B,lib:k,flowId:m,nodeLookup:i});N=q.handleDomNode,L=q.connection,f=!!A,h=q.isValid,o=null,h?o=!0:f&&!h&&(o=!1),M=o;let r=i.get(e),t=r?cD(r,O,j.Left,!0):Q.from,z={...Q,from:t,isValid:M,to:q.toHandle&&M?cd({x:q.toHandle.x,y:q.toHandle.y},p):J,toHandle:q.toHandle,toPosition:M&&q.toHandle?q.toHandle.position:bP[O.position],toNode:q.toHandle?i.get(q.toHandle.nodeId):null,pointer:J};u(z),Q=z}function T(a){if(!("touches"in a)||!(a.touches.length>0)){if(H){(A||N)&&L&&M&&q?.(L);let{inProgress:b,...c}=Q,d={...c,toPosition:Q.toHandle?Q.toPosition:null};r?.(a,d),f&&t?.(a,d)}o(),cancelAnimationFrame(C),K=!1,M=!1,L=null,N=null,B.removeEventListener("mousemove",S),B.removeEventListener("mouseup",T),B.removeEventListener("touchmove",S),B.removeEventListener("touchend",T)}}0===y&&R(),B.addEventListener("mousemove",S),B.addEventListener("mouseup",T),B.addEventListener("touchmove",S),B.addEventListener("touchend",T)},isValid:cU};!function(a){a.Line="line",a.Handle="handle"}(k||(k={}));var cW=c(355);let cX=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),c.clear()}},g=b=a(d,e,f);return f},{useDebugValue:cY}=n,{useSyncExternalStoreWithSelector:cZ}=cW,c$=a=>a;function c_(a,b=c$,c){let d=cZ(a.subscribe,a.getState,a.getServerState||a.getInitialState,b,c);return cY(d),d}let c0=(a,b)=>{let c=(a=>a?cX(a):cX)(a),d=(a,d=b)=>c_(c,a,d);return Object.assign(d,c),d};function c1(a,b){if(Object.is(a,b))return!0;if("object"!=typeof a||null===a||"object"!=typeof b||null===b)return!1;if(a instanceof Map&&b instanceof Map){if(a.size!==b.size)return!1;for(let[c,d]of a)if(!Object.is(d,b.get(c)))return!1;return!0}if(a instanceof Set&&b instanceof Set){if(a.size!==b.size)return!1;for(let c of a)if(!b.has(c))return!1;return!0}let c=Object.keys(a);if(c.length!==Object.keys(b).length)return!1;for(let d of c)if(!Object.prototype.hasOwnProperty.call(b,d)||!Object.is(a[d],b[d]))return!1;return!0}c(1043);let c2=(0,n.createContext)(null),c3=c2.Provider,c4=bK.error001("react");function c5(a,b){let c=(0,n.useContext)(c2);if(null===c)throw Error(c4);return c_(c,a,b)}function c6(){let a=(0,n.useContext)(c2);if(null===a)throw Error(c4);return(0,n.useMemo)(()=>({getState:a.getState,setState:a.setState,subscribe:a.subscribe}),[a])}let c7={display:"none"},c8={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},c9="react-flow__node-desc",da="react-flow__edge-desc",db=a=>a.ariaLiveMessage,dc=a=>a.ariaLabelConfig;function dd({rfId:a}){let b=c5(db);return(0,m.jsx)("div",{id:`react-flow__aria-live-${a}`,"aria-live":"assertive","aria-atomic":"true",style:c8,children:b})}function de({rfId:a,disableKeyboardA11y:b}){let c=c5(dc);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("div",{id:`${c9}-${a}`,style:c7,children:b?c["node.a11yDescription.default"]:c["node.a11yDescription.keyboardDisabled"]}),(0,m.jsx)("div",{id:`${da}-${a}`,style:c7,children:c["edge.a11yDescription.default"]}),!b&&(0,m.jsx)(dd,{rfId:a})]})}let df=(0,n.forwardRef)(({position:a="top-left",children:b,className:c,style:d,...e},f)=>{let g=`${a}`.split("-");return(0,m.jsx)("div",{className:B(["react-flow__panel",c,...g]),style:d,ref:f,...e,children:b})});function dg({proOptions:a,position:b="bottom-right"}){return a?.hideAttribution?null:(0,m.jsx)(df,{position:b,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:(0,m.jsx)("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}df.displayName="Panel";let dh=a=>{let b=[],c=[];for(let[,c]of a.nodeLookup)c.selected&&b.push(c.internals.userNode);for(let[,b]of a.edgeLookup)b.selected&&c.push(b);return{selectedNodes:b,selectedEdges:c}},di=a=>a.id;function dj(a,b){return c1(a.selectedNodes.map(di),b.selectedNodes.map(di))&&c1(a.selectedEdges.map(di),b.selectedEdges.map(di))}function dk({onSelectionChange:a}){c6();let{selectedNodes:b,selectedEdges:c}=c5(dh,dj);return null}let dl=a=>!!a.onSelectionChangeHandlers;function dm({onSelectionChange:a}){let b=c5(dl);return a||b?(0,m.jsx)(dk,{onSelectionChange:a}):null}let dn=[0,0],dp={x:0,y:0,zoom:1},dq=["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","rfId"],dr=a=>({setNodes:a.setNodes,setEdges:a.setEdges,setMinZoom:a.setMinZoom,setMaxZoom:a.setMaxZoom,setTranslateExtent:a.setTranslateExtent,setNodeExtent:a.setNodeExtent,reset:a.reset,setDefaultNodesAndEdges:a.setDefaultNodesAndEdges}),ds={translateExtent:bL,nodeOrigin:dn,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function dt(a){let{setNodes:b,setEdges:c,setMinZoom:d,setMaxZoom:e,setTranslateExtent:f,setNodeExtent:g,reset:h,setDefaultNodesAndEdges:i}=c5(dr,c1),j=c6(),k=(0,n.useRef)(ds);return(0,n.useEffect)(()=>{for(let h of dq){let i=a[h];if(i!==k.current[h]&&void 0!==a[h])if("nodes"===h)b(i);else if("edges"===h)c(i);else if("minZoom"===h)d(i);else if("maxZoom"===h)e(i);else if("translateExtent"===h)f(i);else if("nodeExtent"===h)g(i);else if("ariaLabelConfig"===h)j.setState({ariaLabelConfig:{...bN,...i||{}}});else"fitView"===h?j.setState({fitViewQueued:i}):"fitViewOptions"===h?j.setState({fitViewOptions:i}):j.setState({[h]:i})}k.current=a},dq.map(b=>a[b])),null}let du="undefined"!=typeof document?document:null;function dv(a=null,b={target:du,actInsideInputWithModifier:!0}){let[c,d]=(0,n.useState)(!1);(0,n.useRef)(!1),(0,n.useRef)(new Set([]));let[e,f]=(0,n.useMemo)(()=>{if(null!==a){let b=(Array.isArray(a)?a:[a]).filter(a=>"string"==typeof a).map(a=>a.replace("+","\n").replace("\n\n","\n+").split("\n")),c=b.reduce((a,b)=>a.concat(...b),[]);return[b,c]}return[[],[]]},[a]);return c}function dw(a,b){let c=[],d=new Map,e=[];for(let b of a)if("add"===b.type){e.push(b);continue}else if("remove"===b.type||"replace"===b.type)d.set(b.id,[b]);else{let a=d.get(b.id);a?a.push(b):d.set(b.id,[b])}for(let a of b){let b=d.get(a.id);if(!b){c.push(a);continue}if("remove"===b[0].type)continue;if("replace"===b[0].type){c.push({...b[0].item});continue}let e={...a};for(let a of b){var f=a,g=e;switch(f.type){case"select":g.selected=f.selected;break;case"position":void 0!==f.position&&(g.position=f.position),void 0!==f.dragging&&(g.dragging=f.dragging);break;case"dimensions":void 0!==f.dimensions&&(g.measured={...f.dimensions},f.setAttributes&&((!0===f.setAttributes||"width"===f.setAttributes)&&(g.width=f.dimensions.width),(!0===f.setAttributes||"height"===f.setAttributes)&&(g.height=f.dimensions.height))),"boolean"==typeof f.resizing&&(g.resizing=f.resizing)}}c.push(e)}return e.length&&e.forEach(a=>{void 0!==a.index?c.splice(a.index,0,{...a.item}):c.push({...a.item})}),c}function dx(a,b){return{id:a,type:"select",selected:b}}function dy(a,b=new Set,c=!1){let d=[];for(let[e,f]of a){let a=b.has(e);(void 0!==f.selected||a)&&f.selected!==a&&(c&&(f.selected=a),d.push(dx(f.id,a)))}return d}function dz({items:a=[],lookup:b}){let c=[],d=new Map(a.map(a=>[a.id,a]));for(let[d,e]of a.entries()){let a=b.get(e.id),f=a?.internals?.userNode??a;void 0!==f&&f!==e&&c.push({id:e.id,item:e,type:"replace"}),void 0===f&&c.push({item:e,type:"add",index:d})}for(let[a]of b)void 0===d.get(a)&&c.push({id:a,type:"remove"});return c}function dA(a){return{id:a.id,type:"remove"}}let dB=ca("React Flow","https://reactflow.dev/"),dC=a=>(a=>"id"in a&&"position"in a&&!("source"in a)&&!("target"in a))(a);function dD(a){return(0,n.forwardRef)(a)}let dE=n.useEffect;function dF(a){let[b,c]=(0,n.useState)(BigInt(0)),[d]=(0,n.useState)(()=>{var a;let b;return a=()=>c(a=>a+BigInt(1)),b=[],{get:()=>b,reset:()=>{b=[]},push:c=>{b.push(c),a()}}});return dE(()=>{let b=d.get();b.length&&(a(b),d.reset())},[b]),d}let dG=(0,n.createContext)(null);function dH({children:a}){let b=c6(),c=dF((0,n.useCallback)(a=>{let{nodes:c=[],setNodes:d,hasDefaultNodes:e,onNodesChange:f,nodeLookup:g,fitViewQueued:h,onNodesChangeMiddlewareMap:i}=b.getState(),j=c;for(let b of a)j="function"==typeof b?b(j):b;let k=dz({items:j,lookup:g});for(let a of i.values())k=a(k);e&&d(j),k.length>0?f?.(k):h&&window.requestAnimationFrame(()=>{let{fitViewQueued:a,nodes:c,setNodes:d}=b.getState();a&&d(c)})},[])),d=dF((0,n.useCallback)(a=>{let{edges:c=[],setEdges:d,hasDefaultEdges:e,onEdgesChange:f,edgeLookup:g}=b.getState(),h=c;for(let b of a)h="function"==typeof b?b(h):b;e?d(h):f&&f(dz({items:h,lookup:g}))},[])),e=(0,n.useMemo)(()=>({nodeQueue:c,edgeQueue:d}),[]);return(0,m.jsx)(dG.Provider,{value:e,children:a})}let dI=a=>!!a.panZoom;function dJ(){let a=(()=>{let a=c6();return(0,n.useMemo)(()=>({zoomIn:async b=>{let{panZoom:c}=a.getState();return!!c&&c.scaleBy(1.2,b)},zoomOut:async b=>{let{panZoom:c}=a.getState();return!!c&&c.scaleBy(1/1.2,b)},zoomTo:async(b,c)=>{let{panZoom:d}=a.getState();return!!d&&d.scaleTo(b,c)},getZoom:()=>a.getState().transform[2],setViewport:async(b,c)=>{let{transform:[d,e,f],panZoom:g}=a.getState();return!!g&&(await g.setViewport({x:b.x??d,y:b.y??e,zoom:b.zoom??f},c),!0)},getViewport:()=>{let[b,c,d]=a.getState().transform;return{x:b,y:c,zoom:d}},setCenter:async(b,c,d)=>a.getState().setCenter(b,c,d),fitBounds:async(b,c)=>{let{width:d,height:e,minZoom:f,maxZoom:g,panZoom:h}=a.getState(),i=cf(b,d,e,f,g,c?.padding??.1);return!!h&&(await h.setViewport(i,{duration:c?.duration,ease:c?.ease,interpolate:c?.interpolate}),!0)},screenToFlowPosition:(b,c={})=>{let{transform:d,snapGrid:e,snapToGrid:f,domNode:g}=a.getState();if(!g)return b;let{x:h,y:i}=g.getBoundingClientRect(),j={x:b.x-h,y:b.y-i},k=c.snapGrid??e;return cc(j,d,c.snapToGrid??f,k)},flowToScreenPosition:b=>{let{transform:c,domNode:d}=a.getState();if(!d)return b;let{x:e,y:f}=d.getBoundingClientRect(),g=cd(b,c);return{x:g.x+e,y:g.y+f}}}),[])})(),b=c6(),c=function(){let a=(0,n.useContext)(dG);if(!a)throw Error("useBatchContext must be used within a BatchProvider");return a}(),d=c5(dI),e=(0,n.useMemo)(()=>{let a=a=>b.getState().nodeLookup.get(a),d=a=>{c.nodeQueue.push(a)},e=a=>{c.edgeQueue.push(a)},f=a=>{let{nodeLookup:c,nodeOrigin:d}=b.getState(),e=dC(a)?a:c.get(a.id),f=e.parentId?function(a,b={width:0,height:0},c,d,e){let f={...a},g=d.get(c);if(g){let a=g.origin||e;f.x+=g.internals.positionAbsolute.x-(b.width??0)*a[0],f.y+=g.internals.positionAbsolute.y-(b.height??0)*a[1]}return f}(e.position,e.measured,e.parentId,c,d):e.position;return b4({...e,position:f,width:e.measured?.width??e.width,height:e.measured?.height??e.height})},g=(a,b,c={replace:!1})=>{d(d=>d.map(d=>{if(d.id===a){let a="function"==typeof b?b(d):b;return c.replace&&dC(a)?a:{...d,...a}}return d}))},h=(a,b,c={replace:!1})=>{e(d=>d.map(d=>{if(d.id===a){let a="function"==typeof b?b(d):b;return c.replace&&bR(a)?a:{...d,...a}}return d}))};return{getNodes:()=>b.getState().nodes.map(a=>({...a})),getNode:b=>a(b)?.internals.userNode,getInternalNode:a,getEdges:()=>{let{edges:a=[]}=b.getState();return a.map(a=>({...a}))},getEdge:a=>b.getState().edgeLookup.get(a),setNodes:d,setEdges:e,addNodes:a=>{let b=Array.isArray(a)?a:[a];c.nodeQueue.push(a=>[...a,...b])},addEdges:a=>{let b=Array.isArray(a)?a:[a];c.edgeQueue.push(a=>[...a,...b])},toObject:()=>{let{nodes:a=[],edges:c=[],transform:d}=b.getState(),[e,f,g]=d;return{nodes:a.map(a=>({...a})),edges:c.map(a=>({...a})),viewport:{x:e,y:f,zoom:g}}},deleteElements:async({nodes:a=[],edges:c=[]})=>{let{nodes:d,edges:e,onNodesDelete:f,onEdgesDelete:g,triggerNodeChanges:h,triggerEdgeChanges:i,onDelete:j,onBeforeDelete:k}=b.getState(),{nodes:l,edges:m}=await bX({nodesToRemove:a,edgesToRemove:c,nodes:d,edges:e,onBeforeDelete:k}),n=m.length>0,o=l.length>0;if(n){let a=m.map(dA);g?.(m),i(a)}if(o){let a=l.map(dA);f?.(l),h(a)}return(o||n)&&j?.({nodes:l,edges:m}),{deletedNodes:l,deletedEdges:m}},getIntersectingNodes:(a,c=!0,d)=>{let e=b8(a),g=e?a:f(a),h=void 0!==d;return g?(d||b.getState().nodes).filter(d=>{let f=b.getState().nodeLookup.get(d.id);if(f&&!e&&(d.id===a.id||!f.internals.positionAbsolute))return!1;let i=b4(h?d:f),j=b7(i,g);return c&&j>0||j>=i.width*i.height||j>=g.width*g.height}):[]},isNodeIntersecting:(a,b,c=!0)=>{let d=b8(a)?a:f(a);if(!d)return!1;let e=b7(d,b);return c&&e>0||e>=b.width*b.height||e>=d.width*d.height},updateNode:g,updateNodeData:(a,b,c={replace:!1})=>{g(a,a=>{let d="function"==typeof b?b(a):b;return c.replace?{...a,data:d}:{...a,data:{...a.data,...d}}},c)},updateEdge:h,updateEdgeData:(a,b,c={replace:!1})=>{h(a,a=>{let d="function"==typeof b?b(a):b;return c.replace?{...a,data:d}:{...a,data:{...a.data,...d}}},c)},getNodesBounds:a=>{let{nodeLookup:c,nodeOrigin:d}=b.getState();return((a,b={nodeOrigin:[0,0]})=>0===a.length?{x:0,y:0,width:0,height:0}:b3(a.reduce((a,c)=>{let d="string"==typeof c,e=b.nodeLookup||d?void 0:c;return b.nodeLookup&&(e=d?b.nodeLookup.get(c):bS(c)?c:b.nodeLookup.get(c.id)),b1(a,e?b5(e,b.nodeOrigin):{x:0,y:0,x2:0,y2:0})},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})))(a,{nodeLookup:c,nodeOrigin:d})},getHandleConnections:({type:a,id:c,nodeId:d})=>Array.from(b.getState().connectionLookup.get(`${d}-${a}${c?`-${c}`:""}`)?.values()??[]),getNodeConnections:({type:a,handleId:c,nodeId:d})=>Array.from(b.getState().connectionLookup.get(`${d}${a?c?`-${a}-${c}`:`-${a}`:""}`)?.values()??[]),fitView:async a=>{let d,e,f=b.getState().fitViewResolver??{promise:new Promise((a,b)=>{d=a,e=b}),resolve:d,reject:e};return b.setState({fitViewQueued:!0,fitViewOptions:a,fitViewResolver:f}),c.nodeQueue.push(a=>[...a]),f.promise}}},[]);return(0,n.useMemo)(()=>({...e,...a,viewportInitialized:d}),[d])}let dK=void 0,dL={position:"absolute",width:"100%",height:"100%",top:0,left:0},dM=a=>({userSelectionActive:a.userSelectionActive,lib:a.lib,connectionInProgress:a.connection.inProgress});function dN({onPaneContextMenu:a,zoomOnScroll:b=!0,zoomOnPinch:c=!0,panOnScroll:d=!1,panOnScrollSpeed:e=.5,panOnScrollMode:g=f.Free,zoomOnDoubleClick:h=!0,panOnDrag:i=!0,defaultViewport:j,translateExtent:k,minZoom:l,maxZoom:o,zoomActivationKeyCode:p,preventScrolling:q=!0,children:r,noWheelClassName:s,noPanClassName:t,onViewportChange:u,isControlledViewport:v,paneClickDistance:w,selectionOnDrag:x}){let y=c6(),z=(0,n.useRef)(null),{userSelectionActive:A,lib:B,connectionInProgress:C}=c5(dM,c1);return dv(p),(0,n.useRef)(),c6(),(0,n.useCallback)(a=>{u?.({x:a[0],y:a[1],zoom:a[2]}),v||y.setState({transform:a})},[u,v]),(0,m.jsx)("div",{className:"react-flow__renderer",ref:z,style:dL,children:r})}let dO=a=>({userSelectionActive:a.userSelectionActive,userSelectionRect:a.userSelectionRect});function dP(){let{userSelectionActive:a,userSelectionRect:b}=c5(dO,c1);return a&&b?(0,m.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:b.width,height:b.height,transform:`translate(${b.x}px, ${b.y}px)`}}):null}let dQ=(a,b)=>c=>{c.target===b.current&&a?.(c)},dR=a=>({userSelectionActive:a.userSelectionActive,elementsSelectable:a.elementsSelectable,connectionInProgress:a.connection.inProgress,dragging:a.paneDragging,panBy:a.panBy,autoPanSpeed:a.autoPanSpeed});function dS({isSelecting:a,selectionKeyPressed:b,selectionMode:c=g.Full,panOnDrag:d,autoPanOnSelection:e,paneClickDistance:f,selectionOnDrag:h,onSelectionStart:i,onSelectionEnd:j,onPaneClick:k,onPaneContextMenu:l,onPaneScroll:o,onPaneMouseEnter:p,onPaneMouseMove:q,onPaneMouseLeave:r,children:s}){let t=(0,n.useRef)(0),u=c6(),{userSelectionActive:v,elementsSelectable:w,dragging:x,connectionInProgress:y,panBy:z,autoPanSpeed:A}=c5(dR,c1),C=w&&(a||v),D=(0,n.useRef)(null),E=(0,n.useRef)(),F=(0,n.useRef)(new Set),G=(0,n.useRef)(new Set),H=(0,n.useRef)(!1),I=(0,n.useRef)({x:0,y:0}),J=(0,n.useRef)(!1),K=a=>{if(H.current||y){H.current=!1;return}k?.(a),u.getState().resetSelectedElements(),u.setState({nodesSelectionActive:!1})};function L(a,b){let{userSelectionRect:d}=u.getState();if(!d)return;let{transform:e,nodeLookup:f,edgeLookup:h,connectionLookup:i,triggerNodeChanges:j,triggerEdgeChanges:k,defaultEdgeOptions:l}=u.getState(),m={x:d.startX,y:d.startY},{x:n,y:o}=cd(m,e),p={startX:m.x,startY:m.y,x:a<n?a:n,y:b<o?b:o,width:Math.abs(a-n),height:Math.abs(b-o)},q=F.current,r=G.current;F.current=new Set(bV(f,p,e,c===g.Partial,!0).map(a=>a.id)),G.current=new Set;let s=l?.selectable??!0;for(let a of F.current){let b=i.get(a);if(b)for(let{edgeId:a}of b.values()){let b=h.get(a);b&&(b.selectable??s)&&G.current.add(a)}}ck(q,F.current)||j(dy(f,F.current,!0)),ck(r,G.current)||k(dy(h,G.current)),u.setState({userSelectionRect:p,userSelectionActive:!0,nodesSelectionActive:!1})}let M=()=>{cancelAnimationFrame(t.current),t.current=0,J.current=!1},N=!0===d||Array.isArray(d)&&d.includes(0);return(0,m.jsxs)("div",{className:B(["react-flow__pane",{draggable:N,dragging:x,selection:a}]),onClick:C?void 0:dQ(K,D),onContextMenu:dQ(a=>{if(Array.isArray(d)&&d?.includes(2))return void a.preventDefault();l?.(a)},D),onWheel:dQ(o?a=>o(a):void 0,D),onPointerEnter:C?void 0:p,onPointerMove:C?a=>{let{userSelectionRect:c,transform:d,resetSelectedElements:g}=u.getState();if(!E.current||!c)return;let{x:h,y:j}=co(a.nativeEvent,E.current);I.current={x:h,y:j};let k=cd({x:c.startX,y:c.startY},d);if(!H.current){if(Math.hypot(h-k.x,j-k.y)<=(b?0:f))return;g(),i?.(a)}H.current=!0,J.current||(!function a(){if(!e||!E.current)return;let[b,c]=b0(I.current,E.current,A);z({x:b,y:c}).then(b=>{if(!H.current||!b){t.current=requestAnimationFrame(a);return}let{x:c,y:d}=I.current;L(c,d),t.current=requestAnimationFrame(a)})}(),J.current=!0),L(h,j)}:q,onPointerUp:C?a=>{0===a.button&&(a.target?.releasePointerCapture?.(a.pointerId),!v&&a.target===D.current&&u.getState().userSelectionRect&&K?.(a),u.setState({userSelectionActive:!1,userSelectionRect:null}),H.current&&(j?.(a),u.setState({nodesSelectionActive:F.current.size>0})),M())}:void 0,onPointerCancel:C?a=>{a.target?.releasePointerCapture?.(a.pointerId),M()}:void 0,onPointerDownCapture:C?c=>{let{domNode:d,transform:e}=u.getState();if(E.current=d?.getBoundingClientRect(),!E.current)return;let f=c.target===D.current;if(!f&&c.target.closest(".nokey")||!a||!(h&&f||b)||0!==c.button||!c.isPrimary)return;c.target?.setPointerCapture?.(c.pointerId),H.current=!1;let{x:g,y:i}=co(c.nativeEvent,E.current),j=cc({x:g,y:i},e);u.setState({userSelectionRect:{width:0,height:0,startX:j.x,startY:j.y,x:g,y:i}}),f||(c.stopPropagation(),c.preventDefault())}:void 0,onClickCapture:C?a=>{H.current&&(a.stopPropagation(),H.current=!1)}:void 0,onPointerLeave:r,ref:D,style:dL,children:[s,(0,m.jsx)(dP,{})]})}function dT({id:a,store:b,unselect:c=!1,nodeRef:d}){let{addSelectedNodes:e,unselectNodesAndEdges:f,multiSelectionActive:g,nodeLookup:h,onError:i}=b.getState(),j=h.get(a);if(!j)return void i?.("012",bK.error012(a));b.setState({nodesSelectionActive:!1}),j.selected?(c||j.selected&&g)&&(f({nodes:[j],edges:[]}),requestAnimationFrame(()=>d?.current?.blur())):e([a])}function dU({nodeRef:a,disabled:b=!1,noDragClassName:c,handleSelector:d,nodeId:e,isSelectable:f,nodeClickDistance:g}){c6();let[h,i]=(0,n.useState)(!1);return(0,n.useRef)(),h}function dV(){let a=c6();return(0,n.useCallback)(b=>{let{nodeExtent:c,snapToGrid:d,snapGrid:e,nodesDraggable:f,onError:g,updateNodePositions:h,nodeLookup:i,nodeOrigin:j}=a.getState(),k=new Map,l=a=>a.selected&&(a.draggable||f&&void 0===a.draggable),m=d?e[0]:5,n=d?e[1]:5,o=b.direction.x*m*b.factor,p=b.direction.y*n*b.factor;for(let[,a]of i){if(!l(a))continue;let b={x:a.internals.positionAbsolute.x+o,y:a.internals.positionAbsolute.y+p};d&&(b=cb(b,e));let{position:f,positionAbsolute:h}=function({nodeId:a,nextPosition:b,nodeLookup:c,nodeOrigin:d=[0,0],nodeExtent:e,onError:f}){let g=c.get(a),h=g.parentId?c.get(g.parentId):void 0,{x:i,y:j}=h?h.internals.positionAbsolute:{x:0,y:0},k=g.origin??d,l=g.extent||e;if("parent"!==g.extent||g.expandParent)h&&ch(g.extent)&&(l=[[g.extent[0][0]+i,g.extent[0][1]+j],[g.extent[1][0]+i,g.extent[1][1]+j]]);else if(h){let a=h.measured.width,b=h.measured.height;a&&b&&(l=[[i,j],[i+a,j+b]])}else f?.("005",bK.error005());let m=ch(l)?bZ(b,l,g.measured):b;return(void 0===g.measured.width||void 0===g.measured.height)&&f?.("015",bK.error015()),{position:{x:m.x-i+(g.measured.width??0)*k[0],y:m.y-j+(g.measured.height??0)*k[1]},positionAbsolute:m}}({nodeId:a.id,nextPosition:b,nodeLookup:i,nodeExtent:c,nodeOrigin:j,onError:g});a.position=f,a.internals.positionAbsolute=h,k.set(a.id,a)}h(k)},[])}let dW=(0,n.createContext)(null),dX=dW.Provider;dW.Consumer;let dY=a=>({connectOnClick:a.connectOnClick,noPanClassName:a.noPanClassName,rfId:a.rfId}),dZ=(0,n.memo)(dD(function({type:a="source",position:b=j.Top,isValidConnection:c,isConnectable:d=!0,isConnectableStart:f=!0,isConnectableEnd:g=!0,id:h,onConnect:i,children:k,className:l,onMouseDown:o,onTouchStart:p,...q},r){let s=h||null,t="target"===a,u=c6(),v=(0,n.useContext)(dW),{connectOnClick:w,noPanClassName:x,rfId:y}=c5(dY,c1),{connectingFrom:z,connectingTo:A,clickConnecting:C,isPossibleEndHandle:D,connectionInProcess:E,clickConnectionInProcess:F,valid:G}=c5(b=>{let{connectionClickStartHandle:c,connectionMode:d,connection:f}=b,{fromHandle:g,toHandle:h,isValid:i}=f,j=h?.nodeId===v&&h?.id===s&&h?.type===a;return{connectingFrom:g?.nodeId===v&&g?.id===s&&g?.type===a,connectingTo:j,clickConnecting:c?.nodeId===v&&c?.id===s&&c?.type===a,isPossibleEndHandle:d===e.Strict?g?.type!==a:v!==g?.nodeId||s!==g?.id,connectionInProcess:!!g,clickConnectionInProcess:!!c,valid:j&&i}},c1);v||u.getState().onError?.("010",bK.error010());let H=a=>{let{defaultEdgeOptions:b,onConnect:c,hasDefaultEdges:d}=u.getState(),e={...b,...a};if(d){let{edges:a,setEdges:b,onError:c}=u.getState();b(function(a,b,c={}){return((a,b,c={})=>{let d,e;if(!a.source||!a.target)return c.onError?.("006",bK.error006()),b;let f=c.getEdgeId||cv;return(e=d=bR(a)?{...a}:{...a,id:f(a)},b.some(a=>a.source===e.source&&a.target===e.target&&(a.sourceHandle===e.sourceHandle||!a.sourceHandle&&!e.sourceHandle)&&(a.targetHandle===e.targetHandle||!a.targetHandle&&!e.targetHandle)))?b:(null===d.sourceHandle&&delete d.sourceHandle,null===d.targetHandle&&delete d.targetHandle,b.concat(d))})(a,b,{...c,onError:c.onError??dB})}(e,a,{onError:c}))}c?.(e),i?.(e)},I=a=>{if(!v)return;let b="clientX"in a.nativeEvent;if(f&&(b&&0===a.button||!b)){let b=u.getState();cV.onPointerDown(a.nativeEvent,{handleDomNode:a.currentTarget,autoPanOnConnect:b.autoPanOnConnect,connectionMode:b.connectionMode,connectionRadius:b.connectionRadius,domNode:b.domNode,nodeLookup:b.nodeLookup,lib:b.lib,isTarget:t,handleId:s,nodeId:v,flowId:b.rfId,panBy:b.panBy,cancelConnection:b.cancelConnection,onConnectStart:b.onConnectStart,onConnectEnd:(...a)=>u.getState().onConnectEnd?.(...a),updateConnection:b.updateConnection,onConnect:H,isValidConnection:c||((...a)=>u.getState().isValidConnection?.(...a)??!0),getTransform:()=>u.getState().transform,getFromHandle:()=>u.getState().connection.fromHandle,autoPanSpeed:b.autoPanSpeed,dragThreshold:b.connectionDragThreshold})}b?o?.(a):p?.(a)};return(0,m.jsx)("div",{"data-handleid":s,"data-nodeid":v,"data-handlepos":b,"data-id":`${y}-${v}-${s}-${a}`,className:B(["react-flow__handle",`react-flow__handle-${b}`,"nodrag",x,l,{source:!t,target:t,connectable:d,connectablestart:f,connectableend:g,clickconnecting:C,connectingfrom:z,connectingto:A,valid:G,connectionindicator:d&&(!E||D)&&(E||F?g:f)}]),onMouseDown:I,onTouchStart:I,onClick:w?b=>{let{onClickConnectStart:d,onClickConnectEnd:e,connectionClickStartHandle:g,connectionMode:h,isValidConnection:i,lib:j,rfId:k,nodeLookup:l,connection:m}=u.getState();if(!v||!g&&!f)return;if(!g){d?.(b.nativeEvent,{nodeId:v,handleId:s,handleType:a}),u.setState({connectionClickStartHandle:{nodeId:v,type:a,id:s}});return}let n=cm(b.target),o=c||i,{connection:p,isValid:q}=cV.isValid(b.nativeEvent,{handle:{nodeId:v,id:s,type:a},connectionMode:h,fromNodeId:g.nodeId,fromHandleId:g.id||null,fromType:g.type,isValidConnection:o,flowId:k,doc:n,lib:j,nodeLookup:l});q&&p&&H(p);let r=structuredClone(m);delete r.inProgress,r.toPosition=r.toHandle?r.toHandle.position:null,e?.(b,r),u.setState({connectionClickStartHandle:null})}:void 0,ref:r,...q,children:k})})),d$={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},d_={input:function({data:a,isConnectable:b,sourcePosition:c=j.Bottom}){return(0,m.jsxs)(m.Fragment,{children:[a?.label,(0,m.jsx)(dZ,{type:"source",position:c,isConnectable:b})]})},default:function({data:a,isConnectable:b,targetPosition:c=j.Top,sourcePosition:d=j.Bottom}){return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(dZ,{type:"target",position:c,isConnectable:b}),a?.label,(0,m.jsx)(dZ,{type:"source",position:d,isConnectable:b})]})},output:function({data:a,isConnectable:b,targetPosition:c=j.Top}){return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(dZ,{type:"target",position:c,isConnectable:b}),a?.label]})},group:function(){return null}},d0=a=>{let{width:b,height:c,x:d,y:e}=bU(a.nodeLookup,{filter:a=>!!a.selected});return{width:b9(b)?b:null,height:b9(c)?c:null,userSelectionActive:a.userSelectionActive,transformString:`translate(${a.transform[0]}px,${a.transform[1]}px) scale(${a.transform[2]}) translate(${d}px,${e}px)`}};function d1({onSelectionContextMenu:a,noPanClassName:b,disableKeyboardA11y:c}){let d=c6(),{width:e,height:f,transformString:g,userSelectionActive:h}=c5(d0,c1),i=dV(),j=(0,n.useRef)(null),k=!h&&null!==e&&null!==f;if(dU({nodeRef:j,disabled:!k}),!k)return null;let l=a?b=>{a(b,d.getState().nodes.filter(a=>a.selected))}:void 0;return(0,m.jsx)("div",{className:B(["react-flow__nodesselection","react-flow__container",b]),style:{transform:g},children:(0,m.jsx)("div",{ref:j,className:"react-flow__nodesselection-rect",onContextMenu:l,tabIndex:c?void 0:-1,onKeyDown:c?void 0:a=>{Object.prototype.hasOwnProperty.call(d$,a.key)&&(a.preventDefault(),i({direction:d$[a.key],factor:a.shiftKey?4:1}))},style:{width:e,height:f}})})}let d2=void 0,d3=a=>({nodesSelectionActive:a.nodesSelectionActive,userSelectionActive:a.userSelectionActive});function d4({children:a,onPaneClick:b,onPaneMouseEnter:c,onPaneMouseMove:d,onPaneMouseLeave:e,onPaneContextMenu:f,onPaneScroll:g,paneClickDistance:h,deleteKeyCode:i,selectionKeyCode:j,selectionOnDrag:k,selectionMode:l,onSelectionStart:n,onSelectionEnd:o,multiSelectionKeyCode:p,panActivationKeyCode:q,zoomActivationKeyCode:r,elementsSelectable:s,zoomOnScroll:t,zoomOnPinch:u,panOnScroll:v,panOnScrollSpeed:w,panOnScrollMode:x,zoomOnDoubleClick:y,panOnDrag:z,autoPanOnSelection:A,defaultViewport:B,translateExtent:C,minZoom:D,maxZoom:E,preventScrolling:F,onSelectionContextMenu:G,noWheelClassName:H,noPanClassName:I,disableKeyboardA11y:J,onViewportChange:K,isControlledViewport:L}){let{nodesSelectionActive:M,userSelectionActive:N}=c5(d3,c1),O=dv(j,{target:d2}),P=dv(q,{target:d2}),Q=P||z,R=P||v,S=k&&!0!==Q,T=O||N||S;return!function({deleteKeyCode:a,multiSelectionKeyCode:b}){c6();let{deleteElements:c}=dJ();dv(a,{actInsideInputWithModifier:!1}),dv(b,{target:dK})}({deleteKeyCode:i,multiSelectionKeyCode:p}),(0,m.jsx)(dN,{onPaneContextMenu:f,elementsSelectable:s,zoomOnScroll:t,zoomOnPinch:u,panOnScroll:R,panOnScrollSpeed:w,panOnScrollMode:x,zoomOnDoubleClick:y,panOnDrag:!O&&Q,defaultViewport:B,translateExtent:C,minZoom:D,maxZoom:E,zoomActivationKeyCode:r,preventScrolling:F,noWheelClassName:H,noPanClassName:I,onViewportChange:K,isControlledViewport:L,paneClickDistance:h,selectionOnDrag:S,children:(0,m.jsxs)(dS,{onSelectionStart:n,onSelectionEnd:o,onPaneClick:b,onPaneMouseEnter:c,onPaneMouseMove:d,onPaneMouseLeave:e,onPaneContextMenu:f,onPaneScroll:g,panOnDrag:Q,autoPanOnSelection:A,isSelecting:!!T,selectionMode:l,selectionKeyPressed:O,paneClickDistance:h,selectionOnDrag:S,children:[a,M&&(0,m.jsx)(d1,{onSelectionContextMenu:G,noPanClassName:I,disableKeyboardA11y:J})]})})}d4.displayName="FlowRenderer";let d5=(0,n.memo)(d4),d6=a=>a.updateNodeInternals;var d7=(0,n.memo)(function({id:a,onClick:b,onMouseEnter:c,onMouseMove:d,onMouseLeave:e,onContextMenu:f,onDoubleClick:g,nodesDraggable:h,elementsSelectable:i,nodesConnectable:j,nodesFocusable:k,resizeObserver:l,noDragClassName:o,noPanClassName:p,disableKeyboardA11y:q,rfId:r,nodeTypes:s,nodeClickDistance:t,onError:u}){let{node:v,internals:w,isParent:x}=c5(b=>{let c=b.nodeLookup.get(a),d=b.parentLookup.has(a);return{node:c,internals:c.internals,isParent:d}},c1),y=v.type||"default",z=s?.[y]||d_[y];void 0===z&&(u?.("003",bK.error003(y)),y="default",z=s?.default||d_.default);let A=!!(v.draggable||h&&void 0===v.draggable),C=!!(v.selectable||i&&void 0===v.selectable),D=!!(v.connectable||j&&void 0===v.connectable),E=!!(v.focusable||k&&void 0===v.focusable),F=c6(),G=cj(v),H=function({node:a,nodeType:b,hasDimensions:c,resizeObserver:d}){c6();let e=(0,n.useRef)(null);return(0,n.useRef)(null),(0,n.useRef)(a.sourcePosition),(0,n.useRef)(a.targetPosition),(0,n.useRef)(b),c&&a.internals.handleBounds,e}({node:v,nodeType:y,hasDimensions:G,resizeObserver:l}),I=dU({nodeRef:H,disabled:v.hidden||!A,noDragClassName:o,handleSelector:v.dragHandle,nodeId:a,isSelectable:C,nodeClickDistance:t}),J=dV();if(v.hidden)return null;let K=ci(v),L=void 0===v.internals.handleBounds?{width:v.width??v.initialWidth??v.style?.width,height:v.height??v.initialHeight??v.style?.height}:{width:v.width??v.style?.width,height:v.height??v.style?.height},M=C||A||b||c||d||e,N=c?a=>c(a,{...w.userNode}):void 0,O=d?a=>d(a,{...w.userNode}):void 0,P=e?a=>e(a,{...w.userNode}):void 0,Q=f?a=>f(a,{...w.userNode}):void 0,R=g?a=>g(a,{...w.userNode}):void 0;return(0,m.jsx)("div",{className:B(["react-flow__node",`react-flow__node-${y}`,{[p]:A},v.className,{selected:v.selected,selectable:C,parent:x,draggable:A,dragging:I}]),ref:H,style:{zIndex:w.z,transform:`translate(${w.positionAbsolute.x}px,${w.positionAbsolute.y}px)`,pointerEvents:M?"all":"none",visibility:G?"visible":"hidden",...v.style,...L},"data-id":a,"data-testid":`rf__node-${a}`,onMouseEnter:N,onMouseMove:O,onMouseLeave:P,onContextMenu:Q,onClick:c=>{let{selectNodesOnDrag:d,nodeDragThreshold:e}=F.getState();C&&(!d||!A||e>0)&&dT({id:a,store:F,nodeRef:H}),b&&b(c,{...w.userNode})},onDoubleClick:R,onKeyDown:E?b=>{if(!function(a){let b=a.composedPath?.()?.[0]||a.target;return b?.nodeType===1&&(cn.includes(b.nodeName)||b.hasAttribute("contenteditable")||!!b.closest(".nokey"))}(b.nativeEvent)&&!q){if(bM.includes(b.key)&&C)dT({id:a,store:F,unselect:"Escape"===b.key,nodeRef:H});else if(A&&v.selected&&Object.prototype.hasOwnProperty.call(d$,b.key)){b.preventDefault();let{ariaLabelConfig:a}=F.getState();F.setState({ariaLiveMessage:a["node.a11yDescription.ariaLiveMessage"]({direction:b.key.replace("Arrow","").toLowerCase(),x:~~w.positionAbsolute.x,y:~~w.positionAbsolute.y})}),J({direction:d$[b.key],factor:b.shiftKey?4:1})}}}:void 0,tabIndex:E?0:void 0,onFocus:E?()=>{if(q||!H.current?.matches(":focus-visible"))return;let{transform:b,width:c,height:d,autoPanOnNodeFocus:e,setCenter:f}=F.getState();e&&(bV(new Map([[a,v]]),{x:0,y:0,width:c,height:d},b,!0).length>0||f(v.position.x+K.width/2,v.position.y+K.height/2,{zoom:b[2]}))}:void 0,role:v.ariaRole??(E?"group":void 0),"aria-roledescription":"node","aria-describedby":q?void 0:`${c9}-${r}`,"aria-label":v.ariaLabel,...v.domAttributes,children:(0,m.jsx)(dX,{value:a,children:(0,m.jsx)(z,{id:a,data:v.data,type:y,positionAbsoluteX:w.positionAbsolute.x,positionAbsoluteY:w.positionAbsolute.y,selected:v.selected??!1,selectable:C,draggable:A,deletable:v.deletable??!0,isConnectable:D,sourcePosition:v.sourcePosition,targetPosition:v.targetPosition,dragging:I,dragHandle:v.dragHandle,zIndex:w.z,parentId:v.parentId,...K})})})});let d8=a=>({nodesDraggable:a.nodesDraggable,nodesConnectable:a.nodesConnectable,nodesFocusable:a.nodesFocusable,elementsSelectable:a.elementsSelectable,onError:a.onError});function d9(a){var b;let{nodesDraggable:c,nodesConnectable:d,nodesFocusable:e,elementsSelectable:f,onError:g}=c5(d8,c1),h=(b=a.onlyRenderVisibleElements,c5((0,n.useCallback)(a=>b?bV(a.nodeLookup,{x:0,y:0,width:a.width,height:a.height},a.transform,!0).map(a=>a.id):Array.from(a.nodeLookup.keys()),[b]),c1)),i=function(){let a=c5(d6),[b]=(0,n.useState)(()=>"undefined"==typeof ResizeObserver?null:new ResizeObserver(b=>{let c=new Map;b.forEach(a=>{let b=a.target.getAttribute("data-id");c.set(b,{id:b,nodeElement:a.target,force:!0})}),a(c)}));return b}();return(0,m.jsx)("div",{className:"react-flow__nodes",style:dL,children:h.map(b=>(0,m.jsx)(d7,{id:b,nodeTypes:a.nodeTypes,nodeExtent:a.nodeExtent,onClick:a.onNodeClick,onMouseEnter:a.onNodeMouseEnter,onMouseMove:a.onNodeMouseMove,onMouseLeave:a.onNodeMouseLeave,onContextMenu:a.onNodeContextMenu,onDoubleClick:a.onNodeDoubleClick,noDragClassName:a.noDragClassName,noPanClassName:a.noPanClassName,rfId:a.rfId,disableKeyboardA11y:a.disableKeyboardA11y,resizeObserver:i,nodesDraggable:c,nodesConnectable:d,nodesFocusable:e,elementsSelectable:f,nodeClickDistance:a.nodeClickDistance,onError:g},b))})}d9.displayName="NodeRenderer";let ea=(0,n.memo)(d9),eb={[i.Arrow]:({color:a="none",strokeWidth:b=1})=>{let c={strokeWidth:b,...a&&{stroke:a}};return(0,m.jsx)("polyline",{className:"arrow",style:c,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},[i.ArrowClosed]:({color:a="none",strokeWidth:b=1})=>{let c={strokeWidth:b,...a&&{stroke:a,fill:a}};return(0,m.jsx)("polyline",{className:"arrowclosed",style:c,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},ec=({id:a,type:b,color:c,width:d=12.5,height:e=12.5,markerUnits:f="strokeWidth",strokeWidth:g,orient:h="auto-start-reverse"})=>{let i=function(a){let b=c6();return(0,n.useMemo)(()=>Object.prototype.hasOwnProperty.call(eb,a)?eb[a]:(b.getState().onError?.("009",bK.error009(a)),null),[a])}(b);return i?(0,m.jsx)("marker",{className:"react-flow__arrowhead",id:a,markerWidth:`${d}`,markerHeight:`${e}`,viewBox:"-10 -10 20 20",markerUnits:f,orient:h,refX:"0",refY:"0",children:(0,m.jsx)(i,{color:c,strokeWidth:g})}):null},ed=({defaultColor:a,rfId:b})=>{let c=c5(a=>a.edges),d=c5(a=>a.defaultEdgeOptions),e=(0,n.useMemo)(()=>(function(a,{id:b,defaultColor:c,defaultMarkerStart:d,defaultMarkerEnd:e}){let f=new Set;return a.reduce((a,g)=>([g.markerStart||d,g.markerEnd||e].forEach(d=>{if(d&&"object"==typeof d){let e=cF(d,b);f.has(e)||(a.push({id:e,color:d.color||c,...d}),f.add(e))}}),a),[]).sort((a,b)=>a.id.localeCompare(b.id))})(c,{id:b,defaultColor:a,defaultMarkerStart:d?.markerStart,defaultMarkerEnd:d?.markerEnd}),[c,d,b,a]);return e.length?(0,m.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,m.jsx)("defs",{children:e.map(a=>(0,m.jsx)(ec,{id:a.id,type:a.type,color:a.color,width:a.width,height:a.height,markerUnits:a.markerUnits,strokeWidth:a.strokeWidth,orient:a.orient},a.id))})}):null};ed.displayName="MarkerDefinitions";var ee=(0,n.memo)(ed);function ef({x:a,y:b,label:c,labelStyle:d,labelShowBg:e=!0,labelBgStyle:f,labelBgPadding:g=[2,4],labelBgBorderRadius:h=2,children:i,className:j,...k}){let[l,o]=(0,n.useState)({x:1,y:0,width:0,height:0}),p=B(["react-flow__edge-textwrapper",j]),q=(0,n.useRef)(null);return c?(0,m.jsxs)("g",{transform:`translate(${a-l.width/2} ${b-l.height/2})`,className:p,visibility:l.width?"visible":"hidden",...k,children:[e&&(0,m.jsx)("rect",{width:l.width+2*g[0],x:-g[0],y:-g[1],height:l.height+2*g[1],className:"react-flow__edge-textbg",style:f,rx:h,ry:h}),(0,m.jsx)("text",{className:"react-flow__edge-text",y:l.height/2,dy:"0.3em",ref:q,style:d,children:c}),i]}):null}ef.displayName="EdgeText";let eg=(0,n.memo)(ef);function eh({path:a,labelX:b,labelY:c,label:d,labelStyle:e,labelShowBg:f,labelBgStyle:g,labelBgPadding:h,labelBgBorderRadius:i,interactionWidth:j=20,...k}){return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("path",{...k,d:a,fill:"none",className:B(["react-flow__edge-path",k.className])}),j?(0,m.jsx)("path",{d:a,fill:"none",strokeOpacity:0,strokeWidth:j,className:"react-flow__edge-interaction"}):null,d&&b9(b)&&b9(c)?(0,m.jsx)(eg,{x:b,y:c,label:d,labelStyle:e,labelShowBg:f,labelBgStyle:g,labelBgPadding:h,labelBgBorderRadius:i}):null]})}function ei({pos:a,x1:b,y1:c,x2:d,y2:e}){return a===j.Left||a===j.Right?[.5*(b+d),c]:[b,.5*(c+e)]}function ej({sourceX:a,sourceY:b,sourcePosition:c=j.Bottom,targetX:d,targetY:e,targetPosition:f=j.Top}){let[g,h]=ei({pos:c,x1:a,y1:b,x2:d,y2:e}),[i,k]=ei({pos:f,x1:d,y1:e,x2:a,y2:b}),[l,m,n,o]=cq({sourceX:a,sourceY:b,targetX:d,targetY:e,sourceControlX:g,sourceControlY:h,targetControlX:i,targetControlY:k});return[`M${a},${b} C${g},${h} ${i},${k} ${d},${e}`,l,m,n,o]}function ek(a){return(0,n.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,sourcePosition:g,targetPosition:h,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:n,labelBgBorderRadius:o,style:p,markerEnd:q,markerStart:r,interactionWidth:s})=>{let[t,u,v]=ej({sourceX:c,sourceY:d,sourcePosition:g,targetX:e,targetY:f,targetPosition:h}),w=a.isInternal?void 0:b;return(0,m.jsx)(eh,{id:w,path:t,labelX:u,labelY:v,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:n,labelBgBorderRadius:o,style:p,markerEnd:q,markerStart:r,interactionWidth:s})})}let el=ek({isInternal:!1}),em=ek({isInternal:!0});function en(a){return(0,n.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:k,labelBgPadding:l,labelBgBorderRadius:n,style:o,sourcePosition:p=j.Bottom,targetPosition:q=j.Top,markerEnd:r,markerStart:s,pathOptions:t,interactionWidth:u})=>{let[v,w,x]=cA({sourceX:c,sourceY:d,sourcePosition:p,targetX:e,targetY:f,targetPosition:q,borderRadius:t?.borderRadius,offset:t?.offset,stepPosition:t?.stepPosition}),y=a.isInternal?void 0:b;return(0,m.jsx)(eh,{id:y,path:v,labelX:w,labelY:x,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:k,labelBgPadding:l,labelBgBorderRadius:n,style:o,markerEnd:r,markerStart:s,interactionWidth:u})})}el.displayName="SimpleBezierEdge",em.displayName="SimpleBezierEdgeInternal";let eo=en({isInternal:!1}),ep=en({isInternal:!0});function eq(a){return(0,n.memo)(({id:b,...c})=>{let d=a.isInternal?void 0:b;return(0,m.jsx)(eo,{...c,id:d,pathOptions:(0,n.useMemo)(()=>({borderRadius:0,offset:c.pathOptions?.offset}),[c.pathOptions?.offset])})})}eo.displayName="SmoothStepEdge",ep.displayName="SmoothStepEdgeInternal";let er=eq({isInternal:!1}),es=eq({isInternal:!0});function et(a){return(0,n.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:n,markerEnd:o,markerStart:p,interactionWidth:q})=>{let[r,s,t]=cw({sourceX:c,sourceY:d,targetX:e,targetY:f}),u=a.isInternal?void 0:b;return(0,m.jsx)(eh,{id:u,path:r,labelX:s,labelY:t,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:n,markerEnd:o,markerStart:p,interactionWidth:q})})}er.displayName="StepEdge",es.displayName="StepEdgeInternal";let eu=et({isInternal:!1}),ev=et({isInternal:!0});function ew(a){return(0,n.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,sourcePosition:g=j.Bottom,targetPosition:h=j.Top,label:i,labelStyle:k,labelShowBg:l,labelBgStyle:n,labelBgPadding:o,labelBgBorderRadius:p,style:q,markerEnd:r,markerStart:s,pathOptions:t,interactionWidth:u})=>{let[v,w,x]=ct({sourceX:c,sourceY:d,sourcePosition:g,targetX:e,targetY:f,targetPosition:h,curvature:t?.curvature}),y=a.isInternal?void 0:b;return(0,m.jsx)(eh,{id:y,path:v,labelX:w,labelY:x,label:i,labelStyle:k,labelShowBg:l,labelBgStyle:n,labelBgPadding:o,labelBgBorderRadius:p,style:q,markerEnd:r,markerStart:s,interactionWidth:u})})}eu.displayName="StraightEdge",ev.displayName="StraightEdgeInternal";let ex=ew({isInternal:!1}),ey=ew({isInternal:!0});ex.displayName="BezierEdge",ey.displayName="BezierEdgeInternal";let ez={default:ey,straight:ev,step:es,smoothstep:ep,simplebezier:em},eA={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},eB="react-flow__edgeupdater";function eC({position:a,centerX:b,centerY:c,radius:d=10,onMouseDown:e,onMouseEnter:f,onMouseOut:g,type:h}){return(0,m.jsx)("circle",{onMouseDown:e,onMouseEnter:f,onMouseOut:g,className:B([eB,`${eB}-${h}`]),cx:a===j.Left?b-d:a===j.Right?b+d:b,cy:a===j.Top?c-d:a===j.Bottom?c+d:c,r:d,stroke:"transparent",fill:"transparent"})}function eD({isReconnectable:a,reconnectRadius:b,edge:c,sourceX:d,sourceY:e,targetX:f,targetY:g,sourcePosition:h,targetPosition:i,onReconnect:j,onReconnectStart:k,onReconnectEnd:l,setReconnecting:n,setUpdateHover:o}){let p=c6(),q=(a,b)=>{if(0!==a.button)return;let{autoPanOnConnect:d,domNode:e,connectionMode:f,connectionRadius:g,lib:h,onConnectStart:i,cancelConnection:m,nodeLookup:o,rfId:q,panBy:r,updateConnection:s}=p.getState(),t="target"===b.type;cV.onPointerDown(a.nativeEvent,{autoPanOnConnect:d,connectionMode:f,connectionRadius:g,domNode:e,handleId:b.id,nodeId:b.nodeId,nodeLookup:o,isTarget:t,edgeUpdaterType:b.type,lib:h,flowId:q,cancelConnection:m,panBy:r,isValidConnection:(...a)=>p.getState().isValidConnection?.(...a)??!0,onConnect:a=>j?.(c,a),onConnectStart:(d,e)=>{n(!0),k?.(a,c,b.type),i?.(d,e)},onConnectEnd:(...a)=>p.getState().onConnectEnd?.(...a),onReconnectEnd:(a,d)=>{n(!1),l?.(a,c,b.type,d)},updateConnection:s,getTransform:()=>p.getState().transform,getFromHandle:()=>p.getState().connection.fromHandle,dragThreshold:p.getState().connectionDragThreshold,handleDomNode:a.currentTarget})},r=()=>o(!0),s=()=>o(!1);return(0,m.jsxs)(m.Fragment,{children:[(!0===a||"source"===a)&&(0,m.jsx)(eC,{position:h,centerX:d,centerY:e,radius:b,onMouseDown:a=>q(a,{nodeId:c.target,id:c.targetHandle??null,type:"target"}),onMouseEnter:r,onMouseOut:s,type:"source"}),(!0===a||"target"===a)&&(0,m.jsx)(eC,{position:i,centerX:f,centerY:g,radius:b,onMouseDown:a=>q(a,{nodeId:c.source,id:c.sourceHandle??null,type:"source"}),onMouseEnter:r,onMouseOut:s,type:"target"})]})}var eE=(0,n.memo)(function({id:a,edgesFocusable:b,edgesReconnectable:c,elementsSelectable:d,onClick:f,onDoubleClick:g,onContextMenu:h,onMouseEnter:i,onMouseMove:k,onMouseLeave:l,reconnectRadius:o,onReconnect:p,onReconnectStart:q,onReconnectEnd:r,rfId:s,edgeTypes:t,noPanClassName:u,onError:v,disableKeyboardA11y:w}){let x=c5(b=>b.edgeLookup.get(a)),y=c5(a=>a.defaultEdgeOptions),z=(x=y?{...y,...x}:x).type||"default",A=t?.[z]||ez[z];void 0===A&&(v?.("011",bK.error011(z)),z="default",A=t?.default||ez.default);let C=!!(x.focusable||b&&void 0===x.focusable),D=void 0!==p&&(x.reconnectable||c&&void 0===x.reconnectable),E=!!(x.selectable||d&&void 0===x.selectable),F=(0,n.useRef)(null),[G,H]=(0,n.useState)(!1),[I,J]=(0,n.useState)(!1),K=c6(),{zIndex:L,sourceX:M,sourceY:N,targetX:O,targetY:P,sourcePosition:Q,targetPosition:R}=c5((0,n.useCallback)(b=>{let c=b.nodeLookup.get(x.source),d=b.nodeLookup.get(x.target);if(!c||!d)return{zIndex:x.zIndex,...eA};let f=function(a){let{sourceNode:b,targetNode:c}=a;if(!cB(b)||!cB(c))return null;let d=b.internals.handleBounds||cC(b.handles),f=c.internals.handleBounds||cC(c.handles),g=cE(d?.source??[],a.sourceHandle),h=cE(a.connectionMode===e.Strict?f?.target??[]:(f?.target??[]).concat(f?.source??[]),a.targetHandle);if(!g||!h)return a.onError?.("008",bK.error008(!g?"source":"target",{id:a.id,sourceHandle:a.sourceHandle,targetHandle:a.targetHandle})),null;let i=g?.position||j.Bottom,k=h?.position||j.Top,l=cD(b,g,i),m=cD(c,h,k);return{sourceX:l.x,sourceY:l.y,targetX:m.x,targetY:m.y,sourcePosition:i,targetPosition:k}}({id:a,sourceNode:c,targetNode:d,sourceHandle:x.sourceHandle||null,targetHandle:x.targetHandle||null,connectionMode:b.connectionMode,onError:v});return{zIndex:function({sourceNode:a,targetNode:b,selected:c=!1,zIndex:d=0,elevateOnSelect:e=!1,zIndexMode:f="basic"}){if("manual"===f)return d;let g=Math.max(a.parentId||e&&a.selected?a.internals.z:0,b.parentId||e&&b.selected?b.internals.z:0);return(e&&c?d+1e3:d)+g}({selected:x.selected,zIndex:x.zIndex,sourceNode:c,targetNode:d,elevateOnSelect:b.elevateEdgesOnSelect,zIndexMode:b.zIndexMode}),...f||eA}},[x.source,x.target,x.sourceHandle,x.targetHandle,x.selected,x.zIndex]),c1),S=(0,n.useMemo)(()=>x.markerStart?`url('#${cF(x.markerStart,s)}')`:void 0,[x.markerStart,s]),T=(0,n.useMemo)(()=>x.markerEnd?`url('#${cF(x.markerEnd,s)}')`:void 0,[x.markerEnd,s]);if(x.hidden||null===M||null===N||null===O||null===P)return null;let U=g?a=>{g(a,{...x})}:void 0,V=h?a=>{h(a,{...x})}:void 0,W=i?a=>{i(a,{...x})}:void 0,X=k?a=>{k(a,{...x})}:void 0,Y=l?a=>{l(a,{...x})}:void 0;return(0,m.jsx)("svg",{style:{zIndex:L},children:(0,m.jsxs)("g",{className:B(["react-flow__edge",`react-flow__edge-${z}`,x.className,u,{selected:x.selected,animated:x.animated,inactive:!E&&!f,updating:G,selectable:E}]),onClick:b=>{let{addSelectedEdges:c,unselectNodesAndEdges:d,multiSelectionActive:e}=K.getState();E&&(K.setState({nodesSelectionActive:!1}),x.selected&&e?(d({nodes:[],edges:[x]}),F.current?.blur()):c([a])),f&&f(b,x)},onDoubleClick:U,onContextMenu:V,onMouseEnter:W,onMouseMove:X,onMouseLeave:Y,onKeyDown:C?b=>{if(!w&&bM.includes(b.key)&&E){let{unselectNodesAndEdges:c,addSelectedEdges:d}=K.getState();"Escape"===b.key?(F.current?.blur(),c({edges:[x]})):d([a])}}:void 0,tabIndex:C?0:void 0,role:x.ariaRole??(C?"group":"img"),"aria-roledescription":"edge","data-id":a,"data-testid":`rf__edge-${a}`,"aria-label":null===x.ariaLabel?void 0:x.ariaLabel||`Edge from ${x.source} to ${x.target}`,"aria-describedby":C?`${da}-${s}`:void 0,ref:F,...x.domAttributes,children:[!I&&(0,m.jsx)(A,{id:a,source:x.source,target:x.target,type:x.type,selected:x.selected,animated:x.animated,selectable:E,deletable:x.deletable??!0,label:x.label,labelStyle:x.labelStyle,labelShowBg:x.labelShowBg,labelBgStyle:x.labelBgStyle,labelBgPadding:x.labelBgPadding,labelBgBorderRadius:x.labelBgBorderRadius,sourceX:M,sourceY:N,targetX:O,targetY:P,sourcePosition:Q,targetPosition:R,data:x.data,style:x.style,sourceHandleId:x.sourceHandle,targetHandleId:x.targetHandle,markerStart:S,markerEnd:T,pathOptions:"pathOptions"in x?x.pathOptions:void 0,interactionWidth:x.interactionWidth}),D&&(0,m.jsx)(eD,{edge:x,isReconnectable:D,reconnectRadius:o,onReconnect:p,onReconnectStart:q,onReconnectEnd:r,sourceX:M,sourceY:N,targetX:O,targetY:P,sourcePosition:Q,targetPosition:R,setUpdateHover:H,setReconnecting:J})]})})});let eF=a=>({edgesFocusable:a.edgesFocusable,edgesReconnectable:a.edgesReconnectable,elementsSelectable:a.elementsSelectable,connectionMode:a.connectionMode,onError:a.onError});function eG({defaultMarkerColor:a,onlyRenderVisibleElements:b,rfId:c,edgeTypes:d,noPanClassName:e,onReconnect:f,onEdgeContextMenu:g,onEdgeMouseEnter:h,onEdgeMouseMove:i,onEdgeMouseLeave:j,onEdgeClick:k,reconnectRadius:l,onEdgeDoubleClick:o,onReconnectStart:p,onReconnectEnd:q,disableKeyboardA11y:r}){let{edgesFocusable:s,edgesReconnectable:t,elementsSelectable:u,onError:v}=c5(eF,c1),w=c5((0,n.useCallback)(a=>{if(!b)return a.edges.map(a=>a.id);let c=[];if(a.width&&a.height)for(let b of a.edges){let d=a.nodeLookup.get(b.source),e=a.nodeLookup.get(b.target);d&&e&&function({sourceNode:a,targetNode:b,width:c,height:d,transform:e}){let f=b1(b5(a),b5(b));return f.x===f.x2&&(f.x2+=1),f.y===f.y2&&(f.y2+=1),b7({x:-e[0]/e[2],y:-e[1]/e[2],width:c/e[2],height:d/e[2]},b3(f))>0}({sourceNode:d,targetNode:e,width:a.width,height:a.height,transform:a.transform})&&c.push(b.id)}return c},[b]),c1);return(0,m.jsxs)("div",{className:"react-flow__edges",children:[(0,m.jsx)(ee,{defaultColor:a,rfId:c}),w.map(a=>(0,m.jsx)(eE,{id:a,edgesFocusable:s,edgesReconnectable:t,elementsSelectable:u,noPanClassName:e,onReconnect:f,onContextMenu:g,onMouseEnter:h,onMouseMove:i,onMouseLeave:j,onClick:k,reconnectRadius:l,onDoubleClick:o,onReconnectStart:p,onReconnectEnd:q,rfId:c,onError:v,edgeTypes:d,disableKeyboardA11y:r},a))]})}eG.displayName="EdgeRenderer";let eH=(0,n.memo)(eG),eI=a=>`translate(${a.transform[0]}px,${a.transform[1]}px) scale(${a.transform[2]})`;function eJ({children:a}){let b=c5(eI);return(0,m.jsx)("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:b},children:a})}let eK=a=>a.panZoom?.syncViewport;function eL(a){return a.connection.inProgress?{...a.connection,to:cc(a.connection.to,a.transform)}:{...a.connection}}let eM=a=>({nodesConnectable:a.nodesConnectable,isValid:a.connection.isValid,inProgress:a.connection.inProgress,width:a.width,height:a.height});function eN({containerStyle:a,style:b,type:c,component:d}){let{nodesConnectable:e,width:f,height:g,isValid:h,inProgress:i}=c5(eM,c1);return f&&e&&i?(0,m.jsx)("svg",{style:a,width:f,height:g,className:"react-flow__connectionline react-flow__container",children:(0,m.jsx)("g",{className:B(["react-flow__connection",bQ(h)]),children:(0,m.jsx)(eO,{style:b,type:c,CustomComponent:d,isValid:h})})}):null}let eO=({style:a,type:b=h.Bezier,CustomComponent:c,isValid:d})=>{let{inProgress:e,from:f,fromNode:g,fromHandle:i,fromPosition:j,to:k,toNode:l,toHandle:n,toPosition:o,pointer:p}=function(a){return c5(eL,c1)}();if(!e)return;if(c)return(0,m.jsx)(c,{connectionLineType:b,connectionLineStyle:a,fromNode:g,fromHandle:i,fromX:f.x,fromY:f.y,toX:k.x,toY:k.y,fromPosition:j,toPosition:o,connectionStatus:bQ(d),toNode:l,toHandle:n,pointer:p});let q="",r={sourceX:f.x,sourceY:f.y,sourcePosition:j,targetX:k.x,targetY:k.y,targetPosition:o};switch(b){case h.Bezier:[q]=ct(r);break;case h.SimpleBezier:[q]=ej(r);break;case h.Step:[q]=cA({...r,borderRadius:0});break;case h.SmoothStep:[q]=cA(r);break;default:[q]=cw(r)}return(0,m.jsx)("path",{d:q,fill:"none",className:"react-flow__connection-path",style:a})};eO.displayName="ConnectionLine";let eP={};function eQ(a=eP){(0,n.useRef)(a),c6()}function eR({nodeTypes:a,edgeTypes:b,onInit:c,onNodeClick:d,onEdgeClick:e,onNodeDoubleClick:f,onEdgeDoubleClick:g,onNodeMouseEnter:h,onNodeMouseMove:i,onNodeMouseLeave:j,onNodeContextMenu:k,onSelectionContextMenu:l,onSelectionStart:o,onSelectionEnd:p,connectionLineType:q,connectionLineStyle:r,connectionLineComponent:s,connectionLineContainerStyle:t,selectionKeyCode:u,selectionOnDrag:v,selectionMode:w,multiSelectionKeyCode:x,panActivationKeyCode:y,zoomActivationKeyCode:z,deleteKeyCode:A,onlyRenderVisibleElements:B,elementsSelectable:C,defaultViewport:D,translateExtent:E,minZoom:F,maxZoom:G,preventScrolling:H,defaultMarkerColor:I,zoomOnScroll:J,zoomOnPinch:K,panOnScroll:L,panOnScrollSpeed:M,panOnScrollMode:N,zoomOnDoubleClick:O,panOnDrag:P,autoPanOnSelection:Q,onPaneClick:R,onPaneMouseEnter:S,onPaneMouseMove:T,onPaneMouseLeave:U,onPaneScroll:V,onPaneContextMenu:W,paneClickDistance:X,nodeClickDistance:Y,onEdgeContextMenu:Z,onEdgeMouseEnter:$,onEdgeMouseMove:_,onEdgeMouseLeave:aa,reconnectRadius:ab,onReconnect:ac,onReconnectStart:ad,onReconnectEnd:ae,noDragClassName:af,noWheelClassName:ag,noPanClassName:ah,disableKeyboardA11y:ai,nodeExtent:aj,rfId:ak,viewport:al,onViewportChange:am}){return eQ(a),eQ(b),c6(),(0,n.useRef)(!1),dJ(),(0,n.useRef)(!1),c5(eK),c6(),(0,m.jsx)(d5,{onPaneClick:R,onPaneMouseEnter:S,onPaneMouseMove:T,onPaneMouseLeave:U,onPaneContextMenu:W,onPaneScroll:V,paneClickDistance:X,deleteKeyCode:A,selectionKeyCode:u,selectionOnDrag:v,selectionMode:w,onSelectionStart:o,onSelectionEnd:p,multiSelectionKeyCode:x,panActivationKeyCode:y,zoomActivationKeyCode:z,elementsSelectable:C,zoomOnScroll:J,zoomOnPinch:K,zoomOnDoubleClick:O,panOnScroll:L,panOnScrollSpeed:M,panOnScrollMode:N,panOnDrag:P,autoPanOnSelection:Q,defaultViewport:D,translateExtent:E,minZoom:F,maxZoom:G,onSelectionContextMenu:l,preventScrolling:H,noDragClassName:af,noWheelClassName:ag,noPanClassName:ah,disableKeyboardA11y:ai,onViewportChange:am,isControlledViewport:!!al,children:(0,m.jsxs)(eJ,{children:[(0,m.jsx)(eH,{edgeTypes:b,onEdgeClick:e,onEdgeDoubleClick:g,onReconnect:ac,onReconnectStart:ad,onReconnectEnd:ae,onlyRenderVisibleElements:B,onEdgeContextMenu:Z,onEdgeMouseEnter:$,onEdgeMouseMove:_,onEdgeMouseLeave:aa,reconnectRadius:ab,defaultMarkerColor:I,noPanClassName:ah,disableKeyboardA11y:ai,rfId:ak}),(0,m.jsx)(eN,{style:r,type:q,component:s,containerStyle:t}),(0,m.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,m.jsx)(ea,{nodeTypes:a,onNodeClick:d,onNodeDoubleClick:f,onNodeMouseEnter:h,onNodeMouseMove:i,onNodeMouseLeave:j,onNodeContextMenu:k,nodeClickDistance:Y,onlyRenderVisibleElements:B,noPanClassName:ah,noDragClassName:af,disableKeyboardA11y:ai,nodeExtent:aj,rfId:ak}),(0,m.jsx)("div",{className:"react-flow__viewport-portal"})]})})}eR.displayName="GraphView";let eS=(0,n.memo)(eR),eT=ca("React Flow","https://reactflow.dev/"),eU=({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:f,height:g,fitView:h,fitViewOptions:i,minZoom:j=.5,maxZoom:k=2,nodeOrigin:l,nodeExtent:m,zIndexMode:n="basic"}={})=>{let o=new Map,p=new Map,q=new Map,r=new Map,s=d??b??[],t=c??a??[],u=l??[0,0],v=m??bL;cQ(q,r,s);let{nodesInitialized:w}=cK(t,o,p,{nodeOrigin:u,nodeExtent:v,zIndexMode:n}),x=[0,0,1];if(h&&f&&g){let{x:a,y:b,zoom:c}=cf(bU(o,{filter:a=>!!((a.width||a.initialWidth)&&(a.height||a.initialHeight))}),f,g,j,k,i?.padding??.1);x=[a,b,c]}return{rfId:"1",width:f??0,height:g??0,transform:x,nodes:t,nodesInitialized:w,nodeLookup:o,parentLookup:p,edges:s,edgeLookup:r,connectionLookup:q,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==c,hasDefaultEdges:void 0!==d,panZoom:null,minZoom:j,maxZoom:k,translateExtent:bL,nodeExtent:v,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:e.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:u,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:h??!1,fitViewOptions:i,fitViewResolver:null,connection:{...bO},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:eT,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:bN,zIndexMode:n,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}};function eV({initialNodes:a,initialEdges:b,defaultNodes:c,defaultEdges:d,initialWidth:e,initialHeight:f,initialMinZoom:g,initialMaxZoom:h,initialFitViewOptions:i,fitView:k,nodeOrigin:l,nodeExtent:o,zIndexMode:p,children:q}){let[r]=(0,n.useState)(()=>(({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:e,height:f,fitView:g,fitViewOptions:h,minZoom:i,maxZoom:k,nodeOrigin:l,nodeExtent:m,zIndexMode:n})=>{let o,p;return o=(o,p)=>{async function q(){let{nodeLookup:a,panZoom:b,fitViewOptions:c,fitViewResolver:d,width:e,height:f,minZoom:g,maxZoom:h}=p();b&&(await bW({nodes:a,width:e,height:f,panZoom:b,minZoom:g,maxZoom:h},c),d?.resolve(!0),o({fitViewResolver:null}))}return{...eU({nodes:a,edges:b,width:e,height:f,fitView:g,fitViewOptions:h,minZoom:i,maxZoom:k,nodeOrigin:l,nodeExtent:m,defaultNodes:c,defaultEdges:d,zIndexMode:n}),setNodes:a=>{let{nodeLookup:b,parentLookup:c,nodeOrigin:d,elevateNodesOnSelect:e,fitViewQueued:f,zIndexMode:g,nodesSelectionActive:h}=p(),{nodesInitialized:i,hasSelectedNodes:j}=cK(a,b,c,{nodeOrigin:d,nodeExtent:m,elevateNodesOnSelect:e,checkEquality:!0,zIndexMode:g}),k=h&&j;f&&i?(q(),o({nodes:a,nodesInitialized:i,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:k})):o({nodes:a,nodesInitialized:i,nodesSelectionActive:k})},setEdges:a=>{let{connectionLookup:b,edgeLookup:c}=p();cQ(b,c,a),o({edges:a})},setDefaultNodesAndEdges:(a,b)=>{if(a){let{setNodes:b}=p();b(a),o({hasDefaultNodes:!0})}if(b){let{setEdges:a}=p();a(b),o({hasDefaultEdges:!0})}},updateNodeInternals:a=>{let{triggerNodeChanges:b,nodeLookup:c,parentLookup:d,domNode:e,nodeOrigin:f,nodeExtent:g,debug:h,fitViewQueued:i,zIndexMode:j}=p(),{changes:k,updatedInternals:l}=function(a,b,c,d,e,f,g){let h=d?.querySelector(".xyflow__viewport"),i=!1;if(!h)return{changes:[],updatedInternals:i};let j=[],k=window.getComputedStyle(h),{m22:l}=new window.DOMMatrixReadOnly(k.transform),m=[];for(let d of a.values()){let a=b.get(d.id);if(!a)continue;if(a.hidden){b.set(a.id,{...a,internals:{...a.internals,handleBounds:void 0}}),i=!0;continue}let h=cl(d.nodeElement),k=a.measured.width!==h.width||a.measured.height!==h.height;if(h.width&&h.height&&(k||!a.internals.handleBounds||d.force)){let n=d.nodeElement.getBoundingClientRect(),o=ch(a.extent)?a.extent:f,{positionAbsolute:p}=a.internals;a.parentId&&"parent"===a.extent?p=b$(p,h,b.get(a.parentId)):o&&(p=bZ(p,o,h));let q={...a,measured:h,internals:{...a.internals,positionAbsolute:p,handleBounds:{source:cp("source",d.nodeElement,n,l,a.id),target:cp("target",d.nodeElement,n,l,a.id)}}};b.set(a.id,q),a.parentId&&cL(q,b,c,{nodeOrigin:e,zIndexMode:g}),i=!0,k&&(j.push({id:a.id,type:"dimensions",dimensions:h}),a.expandParent&&a.parentId&&m.push({id:a.id,parentId:a.parentId,rect:b4(q,e)}))}}if(m.length>0){let a=cN(m,b,c,e);j.push(...a)}return{changes:j,updatedInternals:i}}(a,c,d,e,f,g,j);l&&(!function(a,b,c){let d=cI(cG,c);for(let c of a.values())if(c.parentId)cL(c,a,b,d);else{let a=bZ(bT(c,d.nodeOrigin),ch(c.extent)?c.extent:d.nodeExtent,ci(c));c.internals.positionAbsolute=a}}(c,d,{nodeOrigin:f,nodeExtent:g,zIndexMode:j}),i?(q(),o({fitViewQueued:!1,fitViewOptions:void 0})):o({}),k?.length>0&&(h&&console.log("React Flow: trigger node changes",k),b?.(k)))},updateNodePositions:(a,b=!1)=>{let c=[],d=[],{nodeLookup:e,triggerNodeChanges:f,connection:g,updateConnection:h,onNodesChangeMiddlewareMap:i}=p();for(let[f,i]of a){let a=e.get(f),k=!!(a?.expandParent&&a?.parentId&&i?.position),l={id:f,type:"position",position:k?{x:Math.max(0,i.position.x),y:Math.max(0,i.position.y)}:i.position,dragging:b};if(a&&g.inProgress&&g.fromNode.id===a.id){let b=cD(a,g.fromHandle,j.Left,!0);h({...g,from:b})}k&&a.parentId&&c.push({id:f,parentId:a.parentId,rect:{...i.internals.positionAbsolute,width:i.measured.width??0,height:i.measured.height??0}}),d.push(l)}if(c.length>0){let{parentLookup:a,nodeOrigin:b}=p(),f=cN(c,e,a,b);d.push(...f)}for(let a of i.values())d=a(d);f(d)},triggerNodeChanges:a=>{let{onNodesChange:b,setNodes:c,nodes:d,hasDefaultNodes:e,debug:f}=p();a?.length&&(e&&c(dw(a,d)),f&&console.log("React Flow: trigger node changes",a),b?.(a))},triggerEdgeChanges:a=>{let{onEdgesChange:b,setEdges:c,edges:d,hasDefaultEdges:e,debug:f}=p();a?.length&&(e&&c(dw(a,d)),f&&console.log("React Flow: trigger edge changes",a),b?.(a))},addSelectedNodes:a=>{let{multiSelectionActive:b,edgeLookup:c,nodeLookup:d,triggerNodeChanges:e,triggerEdgeChanges:f}=p();if(b)return void e(a.map(a=>dx(a,!0)));e(dy(d,new Set([...a]),!0)),f(dy(c))},addSelectedEdges:a=>{let{multiSelectionActive:b,edgeLookup:c,nodeLookup:d,triggerNodeChanges:e,triggerEdgeChanges:f}=p();if(b)return void f(a.map(a=>dx(a,!0)));f(dy(c,new Set([...a]))),e(dy(d,new Set,!0))},unselectNodesAndEdges:({nodes:a,edges:b}={})=>{let{edges:c,nodes:d,nodeLookup:e,triggerNodeChanges:f,triggerEdgeChanges:g}=p(),h=[];for(let b of a||d){if(!b.selected)continue;let a=e.get(b.id);a&&(a.selected=!1),h.push(dx(b.id,!1))}let i=[];for(let a of b||c)a.selected&&i.push(dx(a.id,!1));f(h),g(i)},setMinZoom:a=>{let{panZoom:b,maxZoom:c}=p();b?.setScaleExtent([a,c]),o({minZoom:a})},setMaxZoom:a=>{let{panZoom:b,minZoom:c}=p();b?.setScaleExtent([c,a]),o({maxZoom:a})},setTranslateExtent:a=>{p().panZoom?.setTranslateExtent(a),o({translateExtent:a})},resetSelectedElements:()=>{let{edges:a,nodes:b,triggerNodeChanges:c,triggerEdgeChanges:d,elementsSelectable:e}=p();if(!e)return;let f=b.reduce((a,b)=>b.selected?[...a,dx(b.id,!1)]:a,[]),g=a.reduce((a,b)=>b.selected?[...a,dx(b.id,!1)]:a,[]);c(f),d(g)},setNodeExtent:a=>{let{nodes:b,nodeLookup:c,parentLookup:d,nodeOrigin:e,elevateNodesOnSelect:f,nodeExtent:g,zIndexMode:h}=p();(a[0][0]!==g[0][0]||a[0][1]!==g[0][1]||a[1][0]!==g[1][0]||a[1][1]!==g[1][1])&&(cK(b,c,d,{nodeOrigin:e,nodeExtent:a,elevateNodesOnSelect:f,checkEquality:!1,zIndexMode:h}),o({nodeExtent:a}))},panBy:a=>{let{transform:b,width:c,height:d,panZoom:e,translateExtent:f}=p();return cO({delta:a,panZoom:e,transform:b,translateExtent:f,width:c,height:d})},setCenter:async(a,b,c)=>{let{width:d,height:e,maxZoom:f,panZoom:g}=p();if(!g)return!1;let h=void 0!==c?.zoom?c.zoom:f;return await g.setViewport({x:d/2-a*h,y:e/2-b*h,zoom:h},{duration:c?.duration,ease:c?.ease,interpolate:c?.interpolate}),!0},cancelConnection:()=>{o({connection:{...bO}})},updateConnection:a=>{o({connection:a})},reset:()=>o({...eU()})}},p=Object.is,o?c0(o,p):c0})({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:e,height:f,fitView:k,minZoom:g,maxZoom:h,fitViewOptions:i,nodeOrigin:l,nodeExtent:o,zIndexMode:p}));return(0,m.jsx)(c3,{value:r,children:(0,m.jsx)(dH,{children:q})})}function eW({children:a,nodes:b,edges:c,defaultNodes:d,defaultEdges:e,width:f,height:g,fitView:h,fitViewOptions:i,minZoom:j,maxZoom:k,nodeOrigin:l,nodeExtent:o,zIndexMode:p}){return(0,n.useContext)(c2)?(0,m.jsx)(m.Fragment,{children:a}):(0,m.jsx)(eV,{initialNodes:b,initialEdges:c,defaultNodes:d,defaultEdges:e,initialWidth:f,initialHeight:g,fitView:h,initialFitViewOptions:i,initialMinZoom:j,initialMaxZoom:k,nodeOrigin:l,nodeExtent:o,zIndexMode:p,children:a})}let eX={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var eY=dD(function({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,className:e,nodeTypes:i,edgeTypes:j,onNodeClick:k,onEdgeClick:l,onInit:o,onMove:p,onMoveStart:q,onMoveEnd:r,onConnect:s,onConnectStart:t,onConnectEnd:u,onClickConnectStart:v,onClickConnectEnd:w,onNodeMouseEnter:x,onNodeMouseMove:y,onNodeMouseLeave:z,onNodeContextMenu:A,onNodeDoubleClick:C,onNodeDragStart:D,onNodeDrag:E,onNodeDragStop:F,onNodesDelete:G,onEdgesDelete:H,onDelete:I,onSelectionChange:J,onSelectionDragStart:K,onSelectionDrag:L,onSelectionDragStop:M,onSelectionContextMenu:N,onSelectionStart:O,onSelectionEnd:P,onBeforeDelete:Q,connectionMode:R,connectionLineType:S=h.Bezier,connectionLineStyle:T,connectionLineComponent:U,connectionLineContainerStyle:V,deleteKeyCode:W="Backspace",selectionKeyCode:X="Shift",selectionOnDrag:Y=!1,selectionMode:Z=g.Full,panActivationKeyCode:$="Space",multiSelectionKeyCode:_=cg()?"Meta":"Control",zoomActivationKeyCode:aa=cg()?"Meta":"Control",snapToGrid:ab,snapGrid:ac,onlyRenderVisibleElements:ad=!1,selectNodesOnDrag:ae,nodesDraggable:af,autoPanOnNodeFocus:ag,nodesConnectable:ah,nodesFocusable:ai,nodeOrigin:aj=dn,edgesFocusable:ak,edgesReconnectable:al,elementsSelectable:am=!0,defaultViewport:an=dp,minZoom:ao=.5,maxZoom:ap=2,translateExtent:aq=bL,preventScrolling:ar=!0,nodeExtent:as,defaultMarkerColor:at="#b1b1b7",zoomOnScroll:au=!0,zoomOnPinch:av=!0,panOnScroll:aw=!1,panOnScrollSpeed:ax=.5,panOnScrollMode:ay=f.Free,zoomOnDoubleClick:az=!0,panOnDrag:aA=!0,onPaneClick:aB,onPaneMouseEnter:aC,onPaneMouseMove:aD,onPaneMouseLeave:aE,onPaneScroll:aF,onPaneContextMenu:aG,paneClickDistance:aH=1,nodeClickDistance:aI=0,children:aJ,onReconnect:aK,onReconnectStart:aL,onReconnectEnd:aM,onEdgeContextMenu:aN,onEdgeDoubleClick:aO,onEdgeMouseEnter:aP,onEdgeMouseMove:aQ,onEdgeMouseLeave:aR,reconnectRadius:aS=10,onNodesChange:aT,onEdgesChange:aU,noDragClassName:aV="nodrag",noWheelClassName:aW="nowheel",noPanClassName:aX="nopan",fitView:aY,fitViewOptions:aZ,connectOnClick:a$,attributionPosition:a_,proOptions:a0,defaultEdgeOptions:a1,elevateNodesOnSelect:a2=!0,elevateEdgesOnSelect:a3=!1,disableKeyboardA11y:a4=!1,autoPanOnConnect:a5,autoPanOnNodeDrag:a6,autoPanOnSelection:a7=!0,autoPanSpeed:a8,connectionRadius:a9,isValidConnection:ba,onError:bb,style:bc,id:bd,nodeDragThreshold:be,connectionDragThreshold:bf,viewport:bg,onViewportChange:bh,width:bi,height:bj,colorMode:bk="light",debug:bl,onScroll:bm,ariaLabelConfig:bn,zIndexMode:bo="basic",...bp},bq){let br=bd||"1",bs=function(a){let[b,c]=(0,n.useState)("system"===a?null:a);return null!==b?b:"light"}(bk),bt=(0,n.useCallback)(a=>{a.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),bm?.(a)},[bm]);return(0,m.jsx)("div",{"data-testid":"rf__wrapper",...bp,onScroll:bt,style:{...bc,...eX},ref:bq,className:B(["react-flow",e,bs]),id:bd,role:"application",children:(0,m.jsxs)(eW,{nodes:a,edges:b,width:bi,height:bj,fitView:aY,fitViewOptions:aZ,minZoom:ao,maxZoom:ap,nodeOrigin:aj,nodeExtent:as,zIndexMode:bo,children:[(0,m.jsx)(dt,{nodes:a,edges:b,defaultNodes:c,defaultEdges:d,onConnect:s,onConnectStart:t,onConnectEnd:u,onClickConnectStart:v,onClickConnectEnd:w,nodesDraggable:af,autoPanOnNodeFocus:ag,nodesConnectable:ah,nodesFocusable:ai,edgesFocusable:ak,edgesReconnectable:al,elementsSelectable:am,elevateNodesOnSelect:a2,elevateEdgesOnSelect:a3,minZoom:ao,maxZoom:ap,nodeExtent:as,onNodesChange:aT,onEdgesChange:aU,snapToGrid:ab,snapGrid:ac,connectionMode:R,translateExtent:aq,connectOnClick:a$,defaultEdgeOptions:a1,fitView:aY,fitViewOptions:aZ,onNodesDelete:G,onEdgesDelete:H,onDelete:I,onNodeDragStart:D,onNodeDrag:E,onNodeDragStop:F,onSelectionDrag:L,onSelectionDragStart:K,onSelectionDragStop:M,onMove:p,onMoveStart:q,onMoveEnd:r,noPanClassName:aX,nodeOrigin:aj,rfId:br,autoPanOnConnect:a5,autoPanOnNodeDrag:a6,autoPanSpeed:a8,onError:bb,connectionRadius:a9,isValidConnection:ba,selectNodesOnDrag:ae,nodeDragThreshold:be,connectionDragThreshold:bf,onBeforeDelete:Q,debug:bl,ariaLabelConfig:bn,zIndexMode:bo}),(0,m.jsx)(eS,{onInit:o,onNodeClick:k,onEdgeClick:l,onNodeMouseEnter:x,onNodeMouseMove:y,onNodeMouseLeave:z,onNodeContextMenu:A,onNodeDoubleClick:C,nodeTypes:i,edgeTypes:j,connectionLineType:S,connectionLineStyle:T,connectionLineComponent:U,connectionLineContainerStyle:V,selectionKeyCode:X,selectionOnDrag:Y,selectionMode:Z,deleteKeyCode:W,multiSelectionKeyCode:_,panActivationKeyCode:$,zoomActivationKeyCode:aa,onlyRenderVisibleElements:ad,defaultViewport:an,translateExtent:aq,minZoom:ao,maxZoom:ap,preventScrolling:ar,zoomOnScroll:au,zoomOnPinch:av,zoomOnDoubleClick:az,panOnScroll:aw,panOnScrollSpeed:ax,panOnScrollMode:ay,panOnDrag:aA,autoPanOnSelection:a7,onPaneClick:aB,onPaneMouseEnter:aC,onPaneMouseMove:aD,onPaneMouseLeave:aE,onPaneScroll:aF,onPaneContextMenu:aG,paneClickDistance:aH,nodeClickDistance:aI,onSelectionContextMenu:N,onSelectionStart:O,onSelectionEnd:P,onReconnect:aK,onReconnectStart:aL,onReconnectEnd:aM,onEdgeContextMenu:aN,onEdgeDoubleClick:aO,onEdgeMouseEnter:aP,onEdgeMouseMove:aQ,onEdgeMouseLeave:aR,reconnectRadius:aS,defaultMarkerColor:at,noDragClassName:aV,noWheelClassName:aW,noPanClassName:aX,rfId:br,disableKeyboardA11y:a4,nodeExtent:as,viewport:bg,onViewportChange:bh}),(0,m.jsx)(dm,{onSelectionChange:J}),aJ,(0,m.jsx)(dg,{proOptions:a0,position:a_}),(0,m.jsx)(de,{rfId:br,disableKeyboardA11y:a4})]})})});function eZ({dimensions:a,lineWidth:b,variant:c,className:d}){return(0,m.jsx)("path",{strokeWidth:b,d:`M${a[0]/2} 0 V${a[1]} M0 ${a[1]/2} H${a[0]}`,className:B(["react-flow__background-pattern",c,d])})}function e$({radius:a,className:b}){return(0,m.jsx)("circle",{cx:a,cy:a,r:a,className:B(["react-flow__background-pattern","dots",b])})}bK.error014(),function(a){a.Lines="lines",a.Dots="dots",a.Cross="cross"}(l||(l={}));let e_={[l.Dots]:1,[l.Lines]:1,[l.Cross]:6},e0=a=>({transform:a.transform,patternId:`pattern-${a.rfId}`});function e1({id:a,variant:b=l.Dots,gap:c=20,size:d,lineWidth:e=1,offset:f=0,color:g,bgColor:h,style:i,className:j,patternClassName:k}){let o=(0,n.useRef)(null),{transform:p,patternId:q}=c5(e0,c1),r=d||e_[b],s=b===l.Dots,t=b===l.Cross,u=Array.isArray(c)?c:[c,c],v=[u[0]*p[2]||1,u[1]*p[2]||1],w=r*p[2],x=Array.isArray(f)?f:[f,f],y=t?[w,w]:v,z=[x[0]*p[2]||1+y[0]/2,x[1]*p[2]||1+y[1]/2],A=`${q}${a||""}`;return(0,m.jsxs)("svg",{className:B(["react-flow__background",j]),style:{...i,...dL,"--xy-background-color-props":h,"--xy-background-pattern-color-props":g},ref:o,"data-testid":"rf__background",children:[(0,m.jsx)("pattern",{id:A,x:p[0]%v[0],y:p[1]%v[1],width:v[0],height:v[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${z[0]},-${z[1]})`,children:s?(0,m.jsx)(e$,{radius:w/2,className:k}):(0,m.jsx)(eZ,{dimensions:y,lineWidth:e,variant:b,className:k})}),(0,m.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${A})`})]})}e1.displayName="Background";let e2=(0,n.memo)(e1);function e3(){return(0,m.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,m.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function e4(){return(0,m.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,m.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function e5(){return(0,m.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,m.jsx)("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function e6(){return(0,m.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,m.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function e7(){return(0,m.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,m.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function e8({children:a,className:b,...c}){return(0,m.jsx)("button",{type:"button",className:B(["react-flow__controls-button",b]),...c,children:a})}let e9=a=>({isInteractive:a.nodesDraggable||a.nodesConnectable||a.elementsSelectable,minZoomReached:a.transform[2]<=a.minZoom,maxZoomReached:a.transform[2]>=a.maxZoom,ariaLabelConfig:a.ariaLabelConfig});function fa({style:a,showZoom:b=!0,showFitView:c=!0,showInteractive:d=!0,fitViewOptions:e,onZoomIn:f,onZoomOut:g,onFitView:h,onInteractiveChange:i,className:j,children:k,position:l="bottom-left",orientation:n="vertical","aria-label":o}){let p=c6(),{isInteractive:q,minZoomReached:r,maxZoomReached:s,ariaLabelConfig:t}=c5(e9,c1),{zoomIn:u,zoomOut:v,fitView:w}=dJ();return(0,m.jsxs)(df,{className:B(["react-flow__controls","horizontal"===n?"horizontal":"vertical",j]),position:l,style:a,"data-testid":"rf__controls","aria-label":o??t["controls.ariaLabel"],children:[b&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(e8,{onClick:()=>{u(),f?.()},className:"react-flow__controls-zoomin",title:t["controls.zoomIn.ariaLabel"],"aria-label":t["controls.zoomIn.ariaLabel"],disabled:s,children:(0,m.jsx)(e3,{})}),(0,m.jsx)(e8,{onClick:()=>{v(),g?.()},className:"react-flow__controls-zoomout",title:t["controls.zoomOut.ariaLabel"],"aria-label":t["controls.zoomOut.ariaLabel"],disabled:r,children:(0,m.jsx)(e4,{})})]}),c&&(0,m.jsx)(e8,{className:"react-flow__controls-fitview",onClick:()=>{w(e),h?.()},title:t["controls.fitView.ariaLabel"],"aria-label":t["controls.fitView.ariaLabel"],children:(0,m.jsx)(e5,{})}),d&&(0,m.jsx)(e8,{className:"react-flow__controls-interactive",onClick:()=>{p.setState({nodesDraggable:!q,nodesConnectable:!q,elementsSelectable:!q}),i?.(!q)},title:t["controls.interactive.ariaLabel"],"aria-label":t["controls.interactive.ariaLabel"],children:q?(0,m.jsx)(e7,{}):(0,m.jsx)(e6,{})}),k]})}fa.displayName="Controls";let fb=(0,n.memo)(fa),fc=(0,n.memo)(function({id:a,x:b,y:c,width:d,height:e,style:f,color:g,strokeColor:h,strokeWidth:i,className:j,borderRadius:k,shapeRendering:l,selected:n,onClick:o}){let{background:p,backgroundColor:q}=f||{};return(0,m.jsx)("rect",{className:B(["react-flow__minimap-node",{selected:n},j]),x:b,y:c,rx:k,ry:k,width:d,height:e,style:{fill:g||p||q,stroke:h,strokeWidth:i},shapeRendering:l,onClick:o?b=>o(b,a):void 0})}),fd=a=>a.nodes.map(a=>a.id),fe=a=>a instanceof Function?a:()=>a,ff=(0,n.memo)(function({id:a,nodeColorFunc:b,nodeStrokeColorFunc:c,nodeClassNameFunc:d,nodeBorderRadius:e,nodeStrokeWidth:f,shapeRendering:g,NodeComponent:h,onClick:i}){let{node:j,x:k,y:l,width:n,height:o}=c5(b=>{let c=b.nodeLookup.get(a);if(!c)return{node:void 0,x:0,y:0,width:0,height:0};let d=c.internals.userNode,{x:e,y:f}=c.internals.positionAbsolute,{width:g,height:h}=ci(d);return{node:d,x:e,y:f,width:g,height:h}},c1);return j&&!j.hidden&&cj(j)?(0,m.jsx)(h,{x:k,y:l,width:n,height:o,style:j.style,selected:!!j.selected,className:d(j),color:b(j),borderRadius:e,strokeColor:c(j),strokeWidth:f,shapeRendering:g,onClick:i,id:j.id}):null});k.Line,k.Handle,c(1431);let fg=s("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]),fh={idle:"#71717a",running:"#3b82f6",awaiting_review:"#f59e0b",approved:"#10b981"},fi={idle:"Idle",running:"Running",awaiting_review:"Review",approved:"Approved"},fj={constitution:"Constitution",specification:"Spec",clarification:"Clarify",planning:"Plan",checklist:"Checklist",analyze:"Analysis",tasks:"Tasks",taskstoissues:"Issues",implementation:"Implementation"},fk={constitution:({data:a})=>{let b=fh[a.status],c="running"===a.status;return(0,m.jsxs)("div",{className:"bg-white dark:bg-black rounded-lg border px-3 py-2 text-center select-none shadow-sm min-w-[150px] transition-all",style:{borderColor:a.stale?"#ef4444":b,borderStyle:a.stale?"dashed":"solid",borderWidth:"2px"},children:[(0,m.jsx)("div",{className:"text-xs font-bold text-zinc-950 dark:text-zinc-50 tracking-wide mb-1",children:"Constitution"}),(0,m.jsx)("div",{className:"flex items-center justify-center gap-1 text-[10px] font-semibold",style:{color:b,animation:c?"pulse 1.2s ease-in-out infinite":"none"},children:(0,m.jsx)("span",{children:fi[a.status]})}),a.filePath&&(0,m.jsxs)("button",{onClick:b=>{b.stopPropagation(),a.onOpenFile?.(a.filePath)},className:"mt-2 flex items-center justify-center gap-1 mx-auto text-[9px] font-medium text-zinc-500 hover:text-zinc-800 dark:hover:text-zinc-200 transition",children:[(0,m.jsx)(fg,{size:10})," Open File"]}),(0,m.jsx)(dZ,{type:"source",position:j.Bottom,id:"bottom",className:"w-2 h-2 bg-zinc-400 dark:bg-zinc-650 border-0"})]})},phase:({data:a})=>{let b=fh[a.status],c="running"===a.status;return(0,m.jsxs)("div",{className:`bg-white dark:bg-black rounded-lg border px-3 py-2 select-none shadow-sm min-w-[140px] transition-all ${a.isActive?"border-black dark:border-white ring-1 ring-black dark:ring-white":""}`,style:{borderColor:a.stale?"#ef4444":b,borderStyle:a.stale?"dashed":"solid",borderWidth:a.isActive?"2px":"1.5px"},children:[a.isFirst&&(0,m.jsx)(dZ,{type:"target",position:j.Top,id:"top",className:"w-2 h-2 bg-zinc-400 dark:bg-zinc-650 border-0"}),!a.isFirst&&(0,m.jsx)(dZ,{type:"target",position:j.Left,id:"left",className:"w-2 h-2 bg-zinc-400 dark:bg-zinc-650 border-0"}),(0,m.jsx)("div",{className:"text-xs font-bold text-zinc-950 dark:text-zinc-50 mb-1",children:a.label}),(0,m.jsxs)("div",{className:"flex items-center gap-1 text-[10px] font-semibold",style:{color:b,animation:c?"pulse 1.2s ease-in-out infinite":"none"},children:[(0,m.jsx)("span",{children:fi[a.status]}),a.stale&&(0,m.jsxs)("span",{className:"flex items-center gap-0.5 text-red-500 text-[8px] font-bold",children:[(0,m.jsx)(t,{size:8})," STALE"]})]}),a.taskProgress&&a.taskProgress.total>0&&(0,m.jsxs)("div",{className:"mt-2 space-y-1",children:["implementation"===a.phase&&(0,m.jsx)("div",{className:"h-1 bg-zinc-100 dark:bg-zinc-900 rounded-full overflow-hidden",children:(0,m.jsx)("div",{className:"h-full rounded-full transition-all duration-300",style:{width:`${Math.round(a.taskProgress.done/a.taskProgress.total*100)}%`,backgroundColor:a.taskProgress.done===a.taskProgress.total?"#10b981":"#3b82f6"}})}),(0,m.jsx)("div",{className:"text-[9px] text-zinc-400 dark:text-zinc-500 font-mono",children:"implementation"===a.phase?`${a.taskProgress.done}/${a.taskProgress.total} tasks`:`${a.taskProgress.total} task${1!==a.taskProgress.total?"s":""}`})]}),a.filePath&&(0,m.jsxs)("button",{onClick:b=>{b.stopPropagation(),a.onOpenFile?.(a.filePath)},className:"mt-2 flex items-center gap-1 text-[9px] font-medium text-zinc-500 hover:text-zinc-850 dark:hover:text-zinc-200 transition",children:[(0,m.jsx)(fg,{size:10})," Open File"]}),!a.isLast&&(0,m.jsx)(dZ,{type:"source",position:j.Right,id:"right",className:"w-2 h-2 bg-zinc-400 dark:bg-zinc-650 border-0"})]})}},fl=({state:a,onSelectFeature:b,onSelectPhaseFile:c})=>{let{nodes:d,edges:e}=(0,n.useMemo)(()=>{let b=[],d=[],e=a.features.find(b=>b.name===a.activeFeatureName),f="approved"===a.constitutionPhase.status?e?.phases.find(a=>"approved"!==a.status)??null:a.constitutionPhase;return b.push({id:"constitution",type:"constitution",position:{x:735,y:15},data:{status:a.constitutionPhase.status,stale:a.constitutionPhase.stale??!1,filePath:a.constitutionPhase.filePath,onOpenFile:c},style:{width:160}}),a.features.forEach((e,g)=>{let h=175+130*g,i=e.phases.find(a=>"tasks"===a.phase),j=null;if(i?.content){let a=[...i.content.matchAll(/^\s*(?:[-*]|\d+\.)\s+\[( |x|X)\]/gm)];a.length>0&&(j={done:a.filter(a=>"x"===a[1].toLowerCase()).length,total:a.length})}e.phases.forEach((g,i)=>{let k=`${e.name}::${g.phase}`,l=0===i,m=i===e.phases.length-1,n=f?.phase===g.phase&&e.name===a.activeFeatureName,o="tasks"===g.phase||"implementation"===g.phase;b.push({id:k,type:"phase",position:{x:210*i,y:h},data:{label:fj[g.phase],phase:g.phase,status:g.status,stale:g.stale??!1,filePath:g.filePath,featureName:e.name,isFirst:l,isLast:m,isActive:n,taskProgress:o?j:null,onOpenFile:c},style:{width:160}});let p={stroke:fh[g.status]||"#71717a",strokeWidth:"approved"===g.status?2:1.5,strokeDasharray:"awaiting_review"===g.status?"5 3":void 0},q="running"===g.status||"awaiting_review"===g.status;if(l&&d.push({id:`constitution-->${k}`,source:"constitution",sourceHandle:"bottom",target:k,targetHandle:"top",type:"smoothstep",animated:q,style:p}),!l){let a=`${e.name}::${e.phases[i-1].phase}`;d.push({id:`${a}-->${k}`,source:a,sourceHandle:"right",target:k,targetHandle:"left",type:"smoothstep",animated:q,style:p})}}),b.push({id:`${e.name}::label`,type:"default",position:{x:-140,y:h+37.5-10},data:{label:e.name},style:{background:"transparent",border:"none",fontSize:"11px",color:"#888",fontWeight:600,width:120,textAlign:"right",boxShadow:"none",pointerEvents:"none"},selectable:!1,draggable:!1})}),{nodes:b,edges:d}},[a,c]);return(0,m.jsx)("div",{className:"w-full h-full bg-zinc-50 dark:bg-black",children:(0,m.jsxs)(eY,{nodes:d,edges:e,nodeTypes:fk,onNodeClick:(a,c)=>{c.id.includes("::")&&b(c.id.split("::")[0])},fitView:!0,minZoom:.5,maxZoom:1.5,children:[(0,m.jsx)(e2,{gap:16,size:1,color:"#e4e4e7",className:"dark:opacity-10"}),(0,m.jsx)(fb,{showInteractive:!1,className:"border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-950 rounded shadow-md"})]})})},fm=s("Pen",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]),fn=s("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),fo=s("Columns2",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]]),fp=s("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]),fq=s("Minimize2",[["polyline",{points:"4 14 10 14 10 20",key:"11kfnr"}],["polyline",{points:"20 10 14 10 14 4",key:"rlmsce"}],["line",{x1:"14",x2:"21",y1:"10",y2:"3",key:"o5lafz"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]),fr=s("Maximize2",[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]),fs=s("Bold",[["path",{d:"M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8",key:"mg9rjx"}]]),ft=s("Italic",[["line",{x1:"19",x2:"10",y1:"4",y2:"4",key:"15jd3p"}],["line",{x1:"14",x2:"5",y1:"20",y2:"20",key:"bu0au3"}],["line",{x1:"15",x2:"9",y1:"4",y2:"20",key:"uljnxc"}]]),fu=s("Heading",[["path",{d:"M6 12h12",key:"8npq4p"}],["path",{d:"M6 20V4",key:"1w1bmo"}],["path",{d:"M18 20V4",key:"o2hl4u"}]]),fv=s("Link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]),fw=s("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]),fx=s("Table",[["path",{d:"M12 3v18",key:"108xh3"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}]]),fy=s("SquareCheckBig",[["path",{d:"M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.5",key:"1uzm8b"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),fz=[{phase:"constitution",label:"Constitution",file:"constitution.md",defaultPath:()=>".specify/memory/constitution.md"},{phase:"specification",label:"Spec",file:"spec.md",defaultPath:a=>`specs/${a}/spec.md`},{phase:"clarification",label:"Clarification",file:"clarification.md",defaultPath:a=>`specs/${a}/clarification.md`},{phase:"planning",label:"Planning",file:"plan.md",defaultPath:a=>`specs/${a}/plan.md`},{phase:"checklist",label:"Checklist",file:"checklist.md",defaultPath:a=>`specs/${a}/checklist.md`},{phase:"analyze",label:"Analysis",file:"analysis.md",defaultPath:a=>`specs/${a}/analysis.md`},{phase:"tasks",label:"Tasks",file:"tasks.md",defaultPath:a=>`specs/${a}/tasks.md`}],fA=({filePath:a,initialContent:b,onSave:c,onToggleTask:d,state:e,isMaximized:f=!1,onToggleMaximize:g,onSelectFile:h})=>{let[i,j]=(0,n.useState)(""),[k,l]=(0,n.useState)("split"),[p,q]=(0,n.useState)(!1),[r,s]=(0,n.useState)(!1),t=(0,n.useRef)(null),u=(0,n.useRef)(null),v=a=>{let b=u.current;if(!b)return;let c=b.selectionStart,d=b.selectionEnd,e=b.value,f=e.substring(c,d),g="",h=0,i=0;switch(a){case"bold":g=`**${f||"bold text"}**`,h=2,i=g.length-2;break;case"italic":g=`*${f||"italic text"}*`,h=1,i=g.length-1;break;case"heading":let k=0===c||"\n"===e.charAt(c-1);g=`${k?"":"\n"}### ${f||"Heading"}`,h=k?4:5,i=g.length;break;case"link":g=`[${f||"link text"}](https://example.com)`,h=1,i=(f||"link text").length+1;break;case"code":g=`
3
+ \`\`\`
4
+ ${f||"code here"}
5
+ \`\`\`
6
+ `,h=5,i=g.length-5;break;case"table":g=`
7
+ | Header 1 | Header 2 |
8
+ | -------- | -------- |
9
+ | Cell 1 | Cell 2 |
10
+ `,h=2,i=g.length-1;break;case"checkbox":let l=0===c||"\n"===e.charAt(c-1);g=`${l?"":"\n"}- [ ] ${f||"New Task"}`,h=l?6:7,i=g.length}j(e.substring(0,c)+g+e.substring(d)),setTimeout(()=>{b.focus(),b.setSelectionRange(c+h,c+i)},50)};(0,n.useEffect)(()=>{b!==t.current&&(b===i?s(!1):i===t.current||null===t.current?(j(b||""),s(!1)):s(!0),t.current=b)},[b,i]);let w=async()=>{if(a){q(!0);try{await c(i)}finally{q(!1)}}},x=a=>{let b=[],c=a,d=0;for(;c.length>0;){let a=c.match(/^([^\*]*)\*\*([^\*]+)\*\*(.*)/),e=c.match(/^([^`]*)`([^`]+)`(.*)/);if(e&&(!a||e[1].length<a[1].length))e[1]&&b.push((0,m.jsx)("span",{children:e[1]},d++)),b.push((0,m.jsx)("code",{className:"px-1 py-0.5 bg-zinc-100 dark:bg-zinc-900 border border-zinc-200 dark:border-zinc-800 rounded font-mono text-xs text-red-500 dark:text-red-400",children:e[2]},d++)),c=e[3];else if(a)a[1]&&b.push((0,m.jsx)("span",{children:a[1]},d++)),b.push((0,m.jsx)("strong",{className:"font-semibold text-zinc-900 dark:text-zinc-100",children:a[2]},d++)),c=a[3];else{b.push((0,m.jsx)("span",{children:c},d++));break}}return b.length>0?b:[a]};return(0,m.jsxs)("div",{className:"flex flex-col h-full border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-black rounded-lg overflow-hidden",children:[e&&h&&(0,m.jsx)("div",{className:"flex items-center border-b border-zinc-200 dark:border-zinc-800 bg-zinc-50/50 dark:bg-zinc-950/30 overflow-x-auto scrollbar-none shrink-0",children:fz.map(b=>{let c=(a=>{if("constitution"===a.phase)return e?.constitutionPhase?.filePath||".specify/memory/constitution.md";if(!e?.activeFeatureName)return null;let b=e.features.find(a=>a.name===e.activeFeatureName),c=b?.phases.find(b=>b.phase===a.phase);return c?.filePath||a.defaultPath(e.activeFeatureName)})(b),d="constitution"!==b.phase&&!e?.activeFeatureName,f=(a=>{if("constitution"===a)return e?.constitutionPhase?.status||"idle";if(!e?.activeFeatureName)return"idle";let b=e.features.find(a=>a.name===e.activeFeatureName),c=b?.phases.find(b=>b.phase===a);return c?.status||"idle"})(b.phase),g=!d&&c&&a&&(c.replace(/\\/g,"/").toLowerCase()===a.replace(/\\/g,"/").toLowerCase()||a.replace(/\\/g,"/").toLowerCase().endsWith(c.replace(/\\/g,"/").toLowerCase())||c.replace(/\\/g,"/").toLowerCase().endsWith(a.replace(/\\/g,"/").toLowerCase())),i="bg-zinc-300 dark:bg-zinc-700";return"approved"===f&&(i="bg-emerald-500"),"awaiting_review"===f&&(i="bg-amber-500"),"running"===f&&(i="bg-blue-500 animate-pulse"),(0,m.jsxs)("button",{disabled:d,onClick:()=>c&&h(c),className:`flex items-center gap-2 px-4 py-2.5 text-xs font-medium border-b-2 transition shrink-0 ${d?"text-zinc-300 dark:text-zinc-800 cursor-not-allowed border-transparent":g?"text-black dark:text-white border-black dark:border-white bg-white dark:bg-zinc-900/50":"text-zinc-500 hover:text-zinc-800 dark:hover:text-zinc-300 border-transparent hover:bg-zinc-100/30 dark:hover:bg-zinc-900/30"}`,children:[(0,m.jsx)("span",{className:`w-1.5 h-1.5 rounded-full ${i}`}),(0,m.jsx)("span",{children:b.label})]},b.phase)})}),a?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("div",{className:"flex justify-between items-center px-4 py-2.5 border-b border-zinc-200 dark:border-zinc-800 bg-zinc-50 dark:bg-zinc-950/50 shrink-0",children:[(0,m.jsx)("span",{className:"text-xs font-mono text-zinc-500 truncate max-w-[200px] sm:max-w-md",children:a.split("/").pop()}),(0,m.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,m.jsxs)("div",{className:"flex items-center bg-zinc-100 dark:bg-zinc-900 border border-zinc-200 dark:border-zinc-800 rounded p-0.5",children:[(0,m.jsxs)("button",{onClick:()=>l("edit"),className:`p-1.5 rounded transition text-xs flex items-center gap-1 ${"edit"===k?"bg-white dark:bg-zinc-800 text-zinc-850 dark:text-zinc-50 shadow-sm":"text-zinc-500 hover:text-zinc-800 dark:hover:text-zinc-200"}`,children:[(0,m.jsx)(fm,{size:12}),(0,m.jsx)("span",{className:"hidden sm:inline",children:"Edit"})]}),(0,m.jsxs)("button",{onClick:()=>l("preview"),className:`p-1.5 rounded transition text-xs flex items-center gap-1 ${"preview"===k?"bg-white dark:bg-zinc-800 text-zinc-850 dark:text-zinc-50 shadow-sm":"text-zinc-500 hover:text-zinc-800 dark:hover:text-zinc-200"}`,children:[(0,m.jsx)(fn,{size:12}),(0,m.jsx)("span",{className:"hidden sm:inline",children:"Preview"})]}),(0,m.jsxs)("button",{onClick:()=>l("split"),className:`p-1.5 rounded transition text-xs flex items-center gap-1 ${"split"===k?"bg-white dark:bg-zinc-800 text-zinc-850 dark:text-zinc-50 shadow-sm":"text-zinc-500 hover:text-zinc-800 dark:hover:text-zinc-200"}`,children:[(0,m.jsx)(fo,{size:12}),(0,m.jsx)("span",{className:"hidden sm:inline",children:"Split"})]})]}),(0,m.jsxs)("button",{onClick:w,disabled:p,className:"flex items-center gap-1 px-3 py-1.5 bg-black dark:bg-white text-white dark:text-black rounded text-xs font-medium hover:bg-zinc-800 dark:hover:bg-zinc-100 transition disabled:opacity-50",children:[(0,m.jsx)(fp,{size:12}),(0,m.jsx)("span",{children:p?"Saving...":"Save"})]}),g&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("div",{className:"w-px h-5 bg-zinc-200 dark:bg-zinc-800 mx-1"}),(0,m.jsx)("button",{onClick:g,className:"p-1.5 rounded text-zinc-500 hover:text-zinc-800 dark:hover:text-zinc-200 hover:bg-zinc-100 dark:hover:bg-zinc-900 transition",title:f?"Restore Layout":"Maximize Editor",children:f?(0,m.jsx)(fq,{size:12}):(0,m.jsx)(fr,{size:12})})]})]})]}),("edit"===k||"split"===k)&&(0,m.jsxs)("div",{className:"flex items-center gap-1.5 px-4 py-1.5 border-b border-zinc-200 dark:border-zinc-800 bg-zinc-50/35 dark:bg-zinc-950/20 overflow-x-auto scrollbar-none shrink-0",children:[(0,m.jsx)("button",{onClick:()=>v("bold"),className:"p-1 hover:bg-zinc-200 dark:hover:bg-zinc-800 rounded text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 transition",title:"Bold",children:(0,m.jsx)(fs,{size:13})}),(0,m.jsx)("button",{onClick:()=>v("italic"),className:"p-1 hover:bg-zinc-200 dark:hover:bg-zinc-800 rounded text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 transition",title:"Italic",children:(0,m.jsx)(ft,{size:13})}),(0,m.jsx)("button",{onClick:()=>v("heading"),className:"p-1 hover:bg-zinc-200 dark:hover:bg-zinc-800 rounded text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 transition",title:"Heading",children:(0,m.jsx)(fu,{size:13})}),(0,m.jsx)("div",{className:"w-px h-4 bg-zinc-200 dark:bg-zinc-800 mx-1"}),(0,m.jsx)("button",{onClick:()=>v("link"),className:"p-1 hover:bg-zinc-200 dark:hover:bg-zinc-800 rounded text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 transition",title:"Insert Link",children:(0,m.jsx)(fv,{size:13})}),(0,m.jsx)("button",{onClick:()=>v("code"),className:"p-1 hover:bg-zinc-200 dark:hover:bg-zinc-800 rounded text-zinc-650 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 transition",title:"Insert Code Block",children:(0,m.jsx)(fw,{size:13})}),(0,m.jsx)("button",{onClick:()=>v("table"),className:"p-1 hover:bg-zinc-200 dark:hover:bg-zinc-800 rounded text-zinc-650 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 transition",title:"Insert Table",children:(0,m.jsx)(fx,{size:13})}),(0,m.jsx)("button",{onClick:()=>v("checkbox"),className:"p-1 hover:bg-zinc-200 dark:hover:bg-zinc-800 rounded text-zinc-650 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 transition",title:"Add Task",children:(0,m.jsx)(fy,{size:13})})]}),r&&(0,m.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 bg-amber-50 dark:bg-amber-950/20 border-b border-amber-200 dark:border-amber-900/50 text-xs text-amber-800 dark:text-amber-300 transition-all shrink-0",children:[(0,m.jsx)("div",{className:"flex items-center gap-1.5 font-medium",children:(0,m.jsx)("span",{children:"⚠️ External changes detected. The file on disk has been modified."})}),(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)("button",{onClick:()=>{j(b||""),s(!1)},className:"px-2 py-1 bg-amber-600 dark:bg-amber-700 text-white rounded hover:bg-amber-700 dark:hover:bg-amber-600 transition font-semibold",children:"Reload from disk"}),(0,m.jsx)("button",{onClick:()=>{s(!1)},className:"px-2 py-1 bg-zinc-200 dark:bg-zinc-800 text-zinc-700 dark:text-zinc-300 rounded hover:bg-zinc-300 dark:hover:bg-zinc-750 transition font-semibold",children:"Keep my changes"})]})]}),(0,m.jsxs)("div",{className:"flex-1 flex overflow-hidden min-h-0",children:[("edit"===k||"split"===k)&&(0,m.jsx)("textarea",{ref:u,value:i,onChange:a=>j(a.target.value),className:`flex-1 p-4 bg-transparent resize-none border-0 outline-none focus:ring-0 text-zinc-800 dark:text-zinc-100 font-mono text-xs leading-relaxed ${"split"===k?"border-r border-zinc-200 dark:border-zinc-800":""}`,placeholder:"Write markdown here..."}),("preview"===k||"split"===k)&&(0,m.jsx)("div",{className:"flex-1 p-5 overflow-y-auto bg-transparent prose dark:prose-invert max-w-none",children:(()=>{if(!i)return(0,m.jsx)("p",{className:"text-zinc-400 italic text-sm",children:"No content to display."});let a=i.split("\n"),b=!1,c=[],e=[];for(let f=0;f<a.length;f++){let g=a[f];if(g.trim().startsWith("```")){b?(b=!1,e.push((0,m.jsx)("pre",{className:"p-3 bg-zinc-50 dark:bg-zinc-950 border border-zinc-200 dark:border-zinc-800 rounded font-mono text-xs overflow-x-auto text-zinc-800 dark:text-zinc-200 my-3",children:(0,m.jsx)("code",{children:c.join("\n")})},`code-${f}`)),c=[]):b=!0;continue}if(b){c.push(g);continue}if(g.trim().startsWith("|")&&f+1<a.length&&a[f+1].trim().match(/^\|?\s*(:?-+:?\s*\|?)+$/)){let b=g.split("|").map(a=>a.trim()).filter((a,b,c)=>(0!==b||""!==a)&&(b!==c.length-1||""!==a)),c=[],d=f;for(f+=2;f<a.length&&a[f].trim().startsWith("|");){let b=a[f].split("|").map(a=>a.trim()).filter((a,b,c)=>(0!==b||""!==a)&&(b!==c.length-1||""!==a));c.push(b),f++}f--,e.push((0,m.jsx)("div",{className:"overflow-x-auto my-4",children:(0,m.jsxs)("table",{className:"min-w-full border-collapse border border-zinc-200 dark:border-zinc-800 text-sm",children:[(0,m.jsx)("thead",{className:"bg-zinc-50 dark:bg-zinc-900/50",children:(0,m.jsx)("tr",{children:b.map((a,b)=>(0,m.jsx)("th",{className:"border border-zinc-200 dark:border-zinc-800 px-4 py-2 text-left font-bold text-zinc-900 dark:text-zinc-100",children:x(a)},b))})}),(0,m.jsx)("tbody",{children:c.map((a,b)=>(0,m.jsx)("tr",{className:"hover:bg-zinc-50/50 dark:hover:bg-zinc-900/10 odd:bg-zinc-50/10 dark:odd:bg-zinc-950/10",children:a.map((a,b)=>(0,m.jsx)("td",{className:"border border-zinc-200 dark:border-zinc-800 px-4 py-2 text-zinc-700 dark:text-zinc-350",children:x(a)},b))},b))})]})},`table-${d}`));continue}let h=g.match(/^(\s*(?:[-*]|\d+\.)\s+\[)( |x|X)(\])(.*)/);if(h){let a="x"===h[2].toLowerCase(),b=h[4],c=g.search(/\S/);e.push((0,m.jsxs)("div",{className:"flex items-start gap-2.5 py-1",style:{paddingLeft:`${12*c}px`},children:[(0,m.jsx)("input",{type:"checkbox",checked:a,onChange:a=>d?.(f,a.target.checked),className:"mt-1 w-4 h-4 rounded border-zinc-300 dark:border-zinc-700 bg-transparent text-black dark:text-white focus:ring-0 cursor-pointer"}),(0,m.jsx)("span",{className:`text-sm leading-relaxed ${a?"line-through text-zinc-400 dark:text-zinc-500":"text-zinc-800 dark:text-zinc-200"}`,children:x(b)})]},f));continue}let i=g.match(/^(#{1,6})\s+(.*)/);if(i){let a=i[1].length,b=i[2],c=["","text-2xl font-bold border-b border-zinc-200 dark:border-zinc-850 pb-1 mt-6 mb-3 text-zinc-900 dark:text-zinc-100","text-xl font-bold mt-5 mb-2.5 text-zinc-900 dark:text-zinc-100","text-lg font-semibold mt-4 mb-2 text-zinc-800 dark:text-zinc-200","text-base font-semibold mt-3 mb-2 text-zinc-800 dark:text-zinc-200","text-sm font-semibold mt-2.5 mb-1.5 text-zinc-850 dark:text-zinc-250","text-xs font-semibold mt-2 mb-1 text-zinc-900 dark:text-zinc-300"];e.push(o().createElement(`h${a}`,{key:f,className:c[a]},x(b)));continue}let j=g.match(/^>\s+\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\](.*)/i);if(j){let a=j[1].toUpperCase(),b=j[2],c={NOTE:"bg-zinc-50 dark:bg-zinc-950 border-blue-500 text-zinc-800 dark:text-zinc-200",TIP:"bg-zinc-50 dark:bg-zinc-950 border-green-500 text-zinc-800 dark:text-zinc-200",IMPORTANT:"bg-zinc-50 dark:bg-zinc-950 border-purple-500 text-zinc-800 dark:text-zinc-200",WARNING:"bg-zinc-50 dark:bg-zinc-950 border-amber-500 text-zinc-800 dark:text-zinc-200",CAUTION:"bg-zinc-50 dark:bg-zinc-950 border-red-500 text-zinc-800 dark:text-zinc-200"};e.push((0,m.jsxs)("div",{className:`p-3.5 border-l-4 my-3 rounded-r text-sm font-medium ${c[a]}`,children:[(0,m.jsx)("div",{className:"font-bold text-xs tracking-wider mb-1 text-zinc-400",children:a}),(0,m.jsx)("div",{children:x(b)})]},f));continue}if(g.startsWith(">")){e.push((0,m.jsx)("blockquote",{className:"border-l-4 border-zinc-200 dark:border-zinc-800 pl-4 py-1.5 my-3 text-zinc-500 italic text-sm",children:x(g.substring(1).trim())},f));continue}if("---"===g.trim()){e.push((0,m.jsx)("hr",{className:"my-6 border-zinc-200 dark:border-zinc-800"},f));continue}if(g.trim().startsWith("- ")||g.trim().startsWith("* ")){let a=g.trim().substring(2);e.push((0,m.jsx)("li",{className:"ml-4 list-disc text-sm leading-relaxed text-zinc-700 dark:text-zinc-300 my-0.5",children:x(a)},f));continue}if(""===g.trim()){e.push((0,m.jsx)("div",{className:"h-2"},f));continue}e.push((0,m.jsx)("p",{className:"text-sm leading-relaxed text-zinc-700 dark:text-zinc-300 my-1",children:x(g)},f))}return(0,m.jsx)("div",{className:"space-y-1",children:e})})()})]})]}):(0,m.jsx)("div",{className:"flex-1 flex flex-col items-center justify-center p-8 text-zinc-400 bg-zinc-50 dark:bg-zinc-950/10",children:(0,m.jsx)("p",{className:"text-sm",children:"Select a tab or a phase to start editing or viewing markdown."})})]})},fB=s("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]),fC=({logs:a,onClear:b})=>{let c=(0,n.useRef)(null);return(0,n.useEffect)(()=>{c.current&&(c.current.scrollTop=c.current.scrollHeight)},[a]),(0,m.jsxs)("div",{className:"flex flex-col h-full bg-black border-t border-zinc-800 text-zinc-300 font-mono text-xs",children:[(0,m.jsxs)("div",{className:"flex justify-between items-center px-4 py-2 border-b border-zinc-900 bg-zinc-950",children:[(0,m.jsxs)("div",{className:"flex items-center gap-2",children:[(0,m.jsx)(fB,{size:14,className:"text-zinc-500"}),(0,m.jsx)("span",{className:"font-semibold tracking-wider text-zinc-400",children:"CONSOLE OUTPUT"})]}),(0,m.jsx)("button",{onClick:b,title:"Clear console",className:"p-1 hover:bg-zinc-800 rounded transition text-zinc-500 hover:text-zinc-300",children:(0,m.jsx)(x,{size:14})})]}),(0,m.jsx)("div",{ref:c,className:"flex-1 p-4 overflow-y-auto whitespace-pre-wrap selection:bg-zinc-800",style:{scrollbarWidth:"thin"},children:a||(0,m.jsx)("span",{className:"text-zinc-600",children:"// Terminal logs will stream here..."})})]})},fD=s("LayoutGrid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]),fE=s("GitFork",[["circle",{cx:"12",cy:"18",r:"3",key:"1mpf1b"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["path",{d:"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9",key:"1uq4wg"}],["path",{d:"M12 12v3",key:"158kv8"}]]),fF=s("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),fG=s("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]),fH=s("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),fI=s("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),fJ=s("Folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),fK=s("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]),fL=s("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),fM=s("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),fN=s("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),fO={constitution:"Constitution",specification:"Specification",clarification:"Clarification",planning:"Planning",checklist:"Checklist",analyze:"Analysis",tasks:"Tasks",taskstoissues:"Tasks to Issues",implementation:"Implementation"};function fP(){let[a,b]=(0,n.useState)(null),[c,d]=(0,n.useState)(""),[e,f]=(0,n.useState)(null),[g,h]=(0,n.useState)("kanban"),[i,j]=(0,n.useState)("dark"),[k,l]=(0,n.useState)({agentType:"claude",customCommand:"",agentPath:""}),[p,q]=(0,n.useState)(""),[r,s]=(0,n.useState)(""),[t,v]=(0,n.useState)(!1),[w,x]=(0,n.useState)(!1),[y,z]=(0,n.useState)(!1),[B,C]=(0,n.useState)(!1),[D,E]=(0,n.useState)(!1),F=()=>{E(a=>!a)};o().useRef(e);let G=async()=>{try{let a=await fetch("/api/state"),c=await a.json();b(c)}catch(a){console.error("Failed to fetch state:",a)}},H=async a=>{try{let c=await fetch("/api/state",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({activeFeatureName:a})}),d=await c.json();b(d);let e=d.features.find(b=>b.name===a),g=e?.phases.find(a=>"specification"===a.phase);g?.filePath?K(g.filePath):f(null)}catch(a){console.error(a)}},I=async a=>{if(a.preventDefault(),r.trim())try{let a=await fetch("/api/feature",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:r.trim()})}),c=await a.json();b(c),s("");let d=`specs/${r.trim()}/spec.md`;f({path:d,content:""})}catch(a){console.error(a)}},J=async c=>{if(confirm(`Are you sure you want to delete feature "${c}"?`))try{let d=await fetch("/api/feature",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:c})}),e=await d.json();b(e),a?.activeFeatureName===c&&f(null)}catch(a){console.error(a)}},K=async a=>{try{let b=await fetch(`/api/file?path=${encodeURIComponent(a)}`),c=await b.json();f(c)}catch(a){console.error(a)}},L=async a=>{if(e)try{let c=await fetch("/api/file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e.path,content:a})}),d=await c.json();f({path:e.path,content:a}),d.state&&b(d.state)}catch(a){console.error(a)}},M=async(c,d)=>{if(a?.activeFeatureName)try{let f=await fetch("/api/task",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({featureName:a.activeFeatureName,lineIndex:c,checked:d})}),g=await f.json();b(g);let h=g.features.find(a=>a.name===g.activeFeatureName),i=h?.phases.find(a=>"tasks"===a.phase);i?.filePath&&e?.path===i.filePath&&K(i.filePath)}catch(a){console.error(a)}},N=async(c,e)=>{d(""),v(!0),z(!0);try{let f=await fetch("/api/phase",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"run",phase:c,featureName:e||a?.activeFeatureName,agentConfig:k,prompt:p})}),g=f.body?.getReader();if(!g)return void v(!1);let h=new TextDecoder,i="";for(;;){let{value:a,done:f}=await g.read();if(f)break;let j=(i+=h.decode(a)).split("\n\n");for(let a of(i=j.pop()||"",j))if(a.startsWith("event: log")){let b=a.split("\n").find(a=>a.startsWith("data: "));if(b){let a=JSON.parse(b.substring(6));d(b=>b+a.text)}}else if(a.startsWith("event: done")){let d=a.split("\n").find(a=>a.startsWith("data: "));if(d){let a=JSON.parse(d.substring(6));b(a.state);let f=e||a.state.activeFeatureName,g=a.state.features.find(a=>a.name===f),h=g?.phases.find(a=>a.phase===c);h?.filePath&&K(h.filePath)}v(!1),q("")}else if(a.startsWith("event: error")){let b=a.split("\n").find(a=>a.startsWith("data: "));if(b){let a=JSON.parse(b.substring(6));d(b=>b+`
11
+ Error: ${a.message}
12
+ `)}v(!1)}}G()}catch(a){d(b=>b+`
13
+ Execution failed: ${a.message}
14
+ `),v(!1)}},O=async(c,d)=>{try{let e=await fetch("/api/phase",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"approve",phase:c,featureName:d||a?.activeFeatureName})}),f=await e.json();b(f)}catch(a){console.error(a)}},P=async(c,d)=>{try{let g=await fetch("/api/phase",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"discard",phase:c,featureName:d||a?.activeFeatureName})}),h=await g.json();b(h),e?.path&&e.path.includes(c)&&f(null)}catch(a){console.error(a)}},Q=async(c,d)=>{if(!a)return;let g=a.features.find(a=>a.name===c);if(!g)return;let h=["specification","clarification","planning","checklist","analyze","tasks","taskstoissues","implementation"],i=(()=>{for(let a of g.phases)if("approved"!==a.status)return a.phase;return"completed"})();if(i===d)return;let j="completed"===i?h.length:h.indexOf(i),k="completed"===d?h.length:h.indexOf(d);if(a.activeFeatureName!==c&&await H(c),k>j){for(let a=j;a<k;a++){let d=h[a],e=await fetch("/api/phase",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"approve",phase:d,featureName:c})});b(await e.json())}"completed"!==d&&N(d,c)}else{let a=await fetch("/api/phase",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"discard",phase:d,featureName:c})});b(await a.json()),e?.path&&e.path.includes(d)&&f(null)}},R=(()=>{if(!a||"approved"!==a.constitutionPhase.status)return{phase:"constitution",label:"Constitution"};let b=a.features.find(b=>b.name===a.activeFeatureName);if(!b)return{phase:"specification",label:"Specification"};for(let a of b.phases)if("approved"!==a.status)return{phase:a.phase,label:fO[a.phase]};return{phase:"specification",label:"Specification"}})();return(0,m.jsxs)("div",{className:"flex flex-col h-screen bg-white dark:bg-black text-zinc-900 dark:text-zinc-50 overflow-hidden font-sans",children:[(0,m.jsxs)("header",{className:"flex justify-between items-center px-6 py-4 border-b border-zinc-200 dark:border-zinc-800 bg-white dark:bg-black z-10 shrink-0",children:[(0,m.jsxs)("div",{className:"flex items-center gap-3",children:[(0,m.jsx)("span",{className:"text-xl",children:"\uD83C\uDF31"}),(0,m.jsxs)("div",{children:[(0,m.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Spec Kit Assistant"}),(0,m.jsxs)("p",{className:"text-[10px] text-zinc-400 font-mono",children:["WORKSPACE: ",a?"ACTIVE":"CONNECTING..."]})]})]}),(0,m.jsxs)("div",{className:"flex items-center gap-3",children:[(0,m.jsxs)("div",{className:"flex items-center bg-zinc-100 dark:bg-zinc-900 border border-zinc-200 dark:border-zinc-800 rounded-lg p-0.5",children:[(0,m.jsxs)("button",{onClick:()=>h("kanban"),className:`p-1.5 rounded-md transition text-xs flex items-center gap-1.5 ${"kanban"===g?"bg-white dark:bg-zinc-800 text-zinc-900 dark:text-zinc-50 shadow-sm":"text-zinc-500 hover:text-zinc-800 dark:hover:text-zinc-200"}`,children:[(0,m.jsx)(fD,{size:13}),(0,m.jsx)("span",{children:"Kanban"})]}),(0,m.jsxs)("button",{onClick:()=>h("dag"),className:`p-1.5 rounded-md transition text-xs flex items-center gap-1.5 ${"dag"===g?"bg-white dark:bg-zinc-800 text-zinc-900 dark:text-zinc-50 shadow-sm":"text-zinc-500 hover:text-zinc-800 dark:hover:text-zinc-200"}`,children:[(0,m.jsx)(fE,{size:13}),(0,m.jsx)("span",{children:"DAG Map"})]})]}),(0,m.jsx)("button",{onClick:()=>x(!w),className:`p-2 border border-zinc-200 dark:border-zinc-800 rounded-lg transition hover:bg-zinc-100 dark:hover:bg-zinc-900 ${w?"bg-zinc-100 dark:bg-zinc-900 text-zinc-900 dark:text-zinc-50":"text-zinc-500"}`,title:"Configure AI Agent",children:(0,m.jsx)(fF,{size:14})}),(0,m.jsx)("button",{onClick:()=>{let a=window.document.documentElement;"light"===i?(a.classList.add("dark"),j("dark")):(a.classList.remove("dark"),j("light"))},className:"p-2 border border-zinc-200 dark:border-zinc-800 rounded-lg text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition hover:bg-zinc-100 dark:hover:bg-zinc-900",children:"light"===i?(0,m.jsx)(fG,{size:14}):(0,m.jsx)(fH,{size:14})})]})]}),(0,m.jsxs)("div",{className:"flex-1 flex overflow-hidden min-h-0",children:[(0,m.jsx)("aside",{className:`border-r border-zinc-200 dark:border-zinc-800 bg-zinc-50/50 dark:bg-zinc-950/20 flex flex-col shrink-0 transition-all duration-300 ${D?"w-12 items-center justify-between py-4":"w-64"}`,children:D?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("button",{onClick:F,className:"p-1.5 hover:bg-zinc-150 dark:hover:bg-zinc-900 rounded text-zinc-500 hover:text-zinc-800 dark:hover:text-zinc-200 transition",title:"Expand Sidebar",children:(0,m.jsx)(fI,{size:16})}),(0,m.jsxs)("div",{onClick:F,className:"relative group cursor-pointer p-2 rounded hover:bg-zinc-150 dark:hover:bg-zinc-900 transition text-zinc-500 hover:text-zinc-800 dark:hover:text-zinc-200",title:"Click to view Features list",children:[(0,m.jsx)(fJ,{size:18}),a?.features&&a.features.length>0&&(0,m.jsx)("span",{className:"absolute -top-1 -right-1 bg-black dark:bg-white text-white dark:text-black text-[9px] w-4 h-4 rounded-full flex items-center justify-center font-bold",children:a.features.length})]}),(0,m.jsx)("div",{onClick:F,className:"group cursor-pointer p-2 rounded hover:bg-zinc-150 dark:hover:bg-zinc-900 transition text-zinc-400 hover:text-zinc-800 dark:hover:text-zinc-200",title:`Trigger Agent: ${R.label}`,children:(0,m.jsx)(fK,{size:16})})]}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-zinc-200 dark:border-zinc-800 shrink-0",children:[(0,m.jsx)("span",{className:"text-[10px] font-bold uppercase tracking-wider text-zinc-400",children:"Features Manager"}),(0,m.jsx)("button",{onClick:F,className:"p-1 hover:bg-zinc-150 dark:hover:bg-zinc-900 rounded text-zinc-500 hover:text-zinc-800 dark:hover:text-zinc-200 transition",title:"Collapse Sidebar",children:(0,m.jsx)(fL,{size:14})})]}),(0,m.jsx)("form",{onSubmit:I,className:"p-4 border-b border-zinc-200 dark:border-zinc-800 shrink-0",children:(0,m.jsxs)("div",{className:"flex gap-2",children:[(0,m.jsx)("input",{type:"text",placeholder:"New feature name...",value:r,onChange:a=>s(a.target.value),className:"flex-1 px-3 py-1.5 bg-white dark:bg-black border border-zinc-200 dark:border-zinc-800 rounded-md text-xs outline-none focus:border-zinc-400 dark:focus:border-zinc-650"}),(0,m.jsx)("button",{type:"submit",className:"p-2 bg-black dark:bg-white text-white dark:text-black rounded-md hover:opacity-90 transition",children:(0,m.jsx)(fM,{size:12})})]})}),(0,m.jsxs)("div",{className:"flex-1 overflow-y-auto p-3 space-y-1",style:{scrollbarWidth:"thin"},children:[(0,m.jsx)("div",{className:"px-2 py-1 text-[10px] font-bold uppercase tracking-wider text-zinc-400",children:"Features"}),a?.features.map(b=>{let c=a.activeFeatureName===b.name;return(0,m.jsxs)("div",{onClick:()=>H(b.name),className:`group flex items-center justify-between px-2.5 py-2 rounded-md text-xs font-medium cursor-pointer transition ${c?"bg-zinc-100 dark:bg-zinc-900 text-zinc-950 dark:text-zinc-50":"text-zinc-500 hover:bg-zinc-50 dark:hover:bg-zinc-950"}`,children:[(0,m.jsx)("span",{className:"truncate",children:b.name}),(0,m.jsx)("button",{onClick:a=>{a.stopPropagation(),J(b.name)},className:"p-1 hover:bg-zinc-200 dark:hover:bg-zinc-800 rounded text-zinc-400 hover:text-red-500 transition opacity-0 group-hover:opacity-100",children:(0,m.jsx)(fN,{size:10})})]},b.name)}),a?.features.length===0&&(0,m.jsx)("p",{className:"text-xs text-zinc-400 italic p-2",children:"No features created yet."})]}),(0,m.jsxs)("div",{className:"p-4 border-t border-zinc-200 dark:border-zinc-800 bg-white dark:bg-black shrink-0",children:[(0,m.jsxs)("div",{className:"flex justify-between items-center mb-1",children:[(0,m.jsxs)("span",{className:"text-[10px] font-bold uppercase tracking-wider text-zinc-400",children:["Trigger Agent: ",R.label]}),(0,m.jsx)(fK,{size:10,className:"text-zinc-400"})]}),(0,m.jsx)("textarea",{placeholder:"Refinements or prompts...",value:p,onChange:a=>q(a.target.value),disabled:t||!a,className:"w-full h-16 p-2 text-xs bg-zinc-50 dark:bg-zinc-950 border border-zinc-200 dark:border-zinc-800 rounded-md outline-none resize-none disabled:opacity-50"}),(0,m.jsxs)("button",{onClick:()=>N(R.phase,null),disabled:t||!a,className:"w-full mt-2 py-1.5 bg-black dark:bg-white text-white dark:text-black rounded-md text-xs font-semibold hover:opacity-90 transition flex items-center justify-center gap-1 disabled:opacity-50",children:[(0,m.jsx)(u,{size:10,fill:"currentColor"})," Run ",R.label]})]})]})}),(0,m.jsxs)("main",{className:"flex-1 flex flex-col min-w-0 overflow-hidden bg-white dark:bg-black relative",children:[w&&(0,m.jsxs)("div",{className:"absolute top-0 left-0 right-0 border-b border-zinc-200 dark:border-zinc-800 bg-white dark:bg-black p-4 z-20 shadow-md",children:[(0,m.jsxs)("div",{className:"flex justify-between items-center mb-3",children:[(0,m.jsx)("h3",{className:"text-xs font-bold uppercase tracking-wider text-zinc-500",children:"AI Agent Config"}),(0,m.jsx)("button",{onClick:()=>x(!1),className:"p-1 hover:bg-zinc-100 dark:hover:bg-zinc-900 rounded",children:(0,m.jsx)(fN,{size:12})})]}),(0,m.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("label",{className:"block text-[10px] font-bold text-zinc-400 uppercase mb-1",children:"Agent CLI"}),(0,m.jsxs)("select",{value:k.agentType,onChange:a=>l({...k,agentType:a.target.value}),className:"w-full px-3 py-1.5 text-xs bg-zinc-50 dark:bg-zinc-950 border border-zinc-200 dark:border-zinc-800 rounded-md outline-none",children:[(0,m.jsx)("option",{value:"claude",children:"Claude CLI (Anthropic)"}),(0,m.jsx)("option",{value:"gemini",children:"Gemini CLI (Google)"}),(0,m.jsx)("option",{value:"copilot",children:"GitHub Copilot (ghcs)"}),(0,m.jsx)("option",{value:"openai",children:"OpenAI Codex"}),(0,m.jsx)("option",{value:"custom",children:"Custom Command"})]})]}),(0,m.jsxs)("div",{children:[(0,m.jsx)("label",{className:"block text-[10px] font-bold text-zinc-400 uppercase mb-1",children:"Custom Binary Path (Optional)"}),(0,m.jsx)("input",{type:"text",placeholder:"e.g. /usr/local/bin/claude",value:k.agentPath||"",onChange:a=>l({...k,agentPath:a.target.value}),className:"w-full px-3 py-1.5 text-xs bg-zinc-50 dark:bg-zinc-950 border border-zinc-200 dark:border-zinc-800 rounded-md outline-none"})]}),(0,m.jsxs)("div",{children:[(0,m.jsx)("label",{className:"block text-[10px] font-bold text-zinc-400 uppercase mb-1",children:"Custom Spawn Shell Command"}),(0,m.jsx)("input",{type:"text",placeholder:"e.g. my-agent {{prompt}}",value:k.customCommand||"",disabled:"custom"!==k.agentType,onChange:a=>l({...k,customCommand:a.target.value}),className:"w-full px-3 py-1.5 text-xs bg-zinc-50 dark:bg-zinc-950 border border-zinc-200 dark:border-zinc-800 rounded-md outline-none disabled:opacity-50"})]})]})]}),(0,m.jsxs)("div",{className:"flex-1 flex flex-col min-h-0",children:[!(B&&!y)&&(0,m.jsx)("div",{className:"flex-1 min-h-[50%] relative",children:a?"kanban"===g?(0,m.jsx)(A,{state:a,onRunPhase:N,onApprovePhase:O,onDiscardPhase:P,onSelectFeature:H,onDeleteFeature:J,onSelectPhaseFile:K,onCardDrop:Q}):(0,m.jsx)(fl,{state:a,onSelectFeature:H,onSelectPhaseFile:K}):(0,m.jsx)("div",{className:"flex items-center justify-center h-full text-zinc-400 text-xs",children:"Loading Spec-Driven Development workspace state..."})}),(0,m.jsxs)("div",{className:`flex flex-col min-h-0 bg-white dark:bg-black transition-all duration-300 ${B&&!y?"flex-1 h-full":"h-[40%] border-t border-zinc-200 dark:border-zinc-800"}`,children:[(0,m.jsx)("div",{className:"flex justify-between items-center px-4 py-2 border-b border-zinc-150 dark:border-zinc-900 bg-zinc-50/70 dark:bg-zinc-950/20 shrink-0",children:(0,m.jsxs)("div",{className:"flex gap-4",children:[(0,m.jsx)("button",{onClick:()=>z(!1),className:`text-xs font-bold tracking-wide transition pb-1 border-b-2 ${!y?"text-black dark:text-white border-black dark:border-white":"text-zinc-400 border-transparent"}`,children:"MARKDOWN EDITOR"}),(0,m.jsxs)("button",{onClick:()=>z(!0),className:`text-xs font-bold tracking-wide transition pb-1 border-b-2 ${y?"text-black dark:text-white border-black dark:border-white":"text-zinc-400 border-transparent"}`,children:["AGENT RUN CONSOLE ",t&&(0,m.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-blue-500 animate-pulse ml-1"})]})]})}),(0,m.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:y?(0,m.jsx)(fC,{logs:c,onClear:()=>d("")}):(0,m.jsx)("div",{className:"h-full p-3 bg-white dark:bg-black",children:(0,m.jsx)(fA,{filePath:e?.path||null,initialContent:e?.content||null,onSave:L,onToggleTask:M,state:a,isMaximized:B,onToggleMaximize:()=>C(!B),onSelectFile:K})})})]})]})]})]})]})}},2369:(a,b,c)=>{"use strict";a.exports=c(1586)},3033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3274:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f,metadata:()=>e});var d=c(7581);c(4950);let e={title:"Spec Kit Assistant",description:"Visual orchestrator for Spec-Driven Development (SDD)"};function f({children:a}){return(0,d.jsx)("html",{lang:"en",children:(0,d.jsx)("body",{children:a})})}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3873:a=>{"use strict";a.exports=require("path")},4346:(a,b,c)=>{Promise.resolve().then(c.bind(c,1842))},4950:()=>{},6439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},6713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},7625:(a,b,c)=>{"use strict";var d=c(2702),e=c(2369),f="function"==typeof Object.is?Object.is:function(a,b){return a===b&&(0!==a||1/a==1/b)||a!=a&&b!=b},g=e.useSyncExternalStore,h=d.useRef,i=d.useEffect,j=d.useMemo,k=d.useDebugValue;b.useSyncExternalStoreWithSelector=function(a,b,c,d,e){var l=h(null);if(null===l.current){var m={hasValue:!1,value:null};l.current=m}else m=l.current;var n=g(a,(l=j(function(){function a(a){if(!i){if(i=!0,g=a,a=d(a),void 0!==e&&m.hasValue){var b=m.value;if(e(b,a))return h=b}return h=a}if(b=h,f(g,a))return b;var c=d(a);return void 0!==e&&e(b,c)?(g=a,b):(g=a,h=c)}var g,h,i=!1,j=void 0===c?null:c;return[function(){return a(b())},null===j?void 0:function(){return a(j())}]},[b,c,d,e]))[0],l[1]);return i(function(){m.hasValue=!0,m.value=n},[n]),k(n),n}},7969:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(5681).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/guru/work/dmux/speckit-assistant/src/app/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/guru/work/dmux/speckit-assistant/src/app/page.tsx","default")},8041:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,3501,23)),Promise.resolve().then(c.t.bind(c,340,23)),Promise.resolve().then(c.t.bind(c,7778,23)),Promise.resolve().then(c.t.bind(c,4269,23)),Promise.resolve().then(c.t.bind(c,7977,23)),Promise.resolve().then(c.t.bind(c,6993,23)),Promise.resolve().then(c.t.bind(c,7827,23)),Promise.resolve().then(c.t.bind(c,1684,23)),Promise.resolve().then(c.t.bind(c,5433,23))},8313:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,3007,23)),Promise.resolve().then(c.t.bind(c,8046,23)),Promise.resolve().then(c.t.bind(c,7248,23)),Promise.resolve().then(c.t.bind(c,1471,23)),Promise.resolve().then(c.t.bind(c,3543,23)),Promise.resolve().then(c.t.bind(c,1871,23)),Promise.resolve().then(c.t.bind(c,6257,23)),Promise.resolve().then(c.t.bind(c,2950,23)),Promise.resolve().then(c.bind(c,3551))},8354:a=>{"use strict";a.exports=require("util")},8621:()=>{},9121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},9294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[355,6],()=>b(b.s=920));module.exports=c})();
@@ -0,0 +1 @@
1
+ {"version":1,"files":["../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/client/components/app-router-headers.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/client-and-server-references.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/constants.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/interop-default.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/is-error.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/semver-noop.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/async-local-storage.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/cache-signal.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/lru-cache.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/trace/constants.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/trace/tracer.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/load-manifest.external.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/response-cache/types.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/deep-freeze.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/invariant-error.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/is-plain-object.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/is-thenable.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/segment.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/server-reference-info.js","../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/package.json","../../../node_modules/next","../../package.json","../chunks/355.js","../chunks/6.js","../webpack-runtime.js","page_client-reference-manifest.js"]}