speckit-assistant 0.1.3 → 0.1.4

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 (175) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +57 -21
  3. package/.next/app-path-routes-manifest.json +7 -2
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/cache/next-devtools-config.json +1 -0
  6. package/.next/cache/webpack/client-development/0.pack.gz +0 -0
  7. package/.next/cache/webpack/client-development/index.pack.gz +0 -0
  8. package/.next/cache/webpack/client-production/0.pack +0 -0
  9. package/.next/cache/webpack/client-production/1.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/15.pack +0 -0
  14. package/.next/cache/webpack/client-production/16.pack +0 -0
  15. package/.next/cache/webpack/client-production/17.pack +0 -0
  16. package/.next/cache/webpack/client-production/18.pack +0 -0
  17. package/.next/cache/webpack/client-production/19.pack +0 -0
  18. package/.next/cache/webpack/client-production/2.pack +0 -0
  19. package/.next/cache/webpack/client-production/20.pack +0 -0
  20. package/.next/cache/webpack/client-production/21.pack +0 -0
  21. package/.next/cache/webpack/client-production/22.pack +0 -0
  22. package/.next/cache/webpack/client-production/23.pack +0 -0
  23. package/.next/cache/webpack/client-production/24.pack +0 -0
  24. package/.next/cache/webpack/client-production/25.pack +0 -0
  25. package/.next/cache/webpack/client-production/26.pack +0 -0
  26. package/.next/cache/webpack/client-production/27.pack +0 -0
  27. package/.next/cache/webpack/client-production/28.pack +0 -0
  28. package/.next/cache/webpack/client-production/29.pack +0 -0
  29. package/.next/cache/webpack/client-production/3.pack +0 -0
  30. package/.next/cache/webpack/client-production/30.pack +0 -0
  31. package/.next/cache/webpack/client-production/31.pack +0 -0
  32. package/.next/cache/webpack/client-production/32.pack +0 -0
  33. package/.next/cache/webpack/client-production/33.pack +0 -0
  34. package/.next/cache/webpack/client-production/34.pack +0 -0
  35. package/.next/cache/webpack/client-production/4.pack +0 -0
  36. package/.next/cache/webpack/client-production/6.pack +0 -0
  37. package/.next/cache/webpack/client-production/7.pack +0 -0
  38. package/.next/cache/webpack/client-production/8.pack +0 -0
  39. package/.next/cache/webpack/client-production/9.pack +0 -0
  40. package/.next/cache/webpack/client-production/index.pack +0 -0
  41. package/.next/cache/webpack/client-production/index.pack.old +0 -0
  42. package/.next/cache/webpack/server-production/0.pack +0 -0
  43. package/.next/cache/webpack/server-production/1.pack +0 -0
  44. package/.next/cache/webpack/server-production/10.pack +0 -0
  45. package/.next/cache/webpack/server-production/11.pack +0 -0
  46. package/.next/cache/webpack/server-production/12.pack +0 -0
  47. package/.next/cache/webpack/server-production/13.pack +0 -0
  48. package/.next/cache/webpack/server-production/14.pack +0 -0
  49. package/.next/cache/webpack/server-production/16.pack +0 -0
  50. package/.next/cache/webpack/server-production/18.pack +0 -0
  51. package/.next/cache/webpack/server-production/19.pack +0 -0
  52. package/.next/cache/webpack/server-production/2.pack +0 -0
  53. package/.next/cache/webpack/server-production/20.pack +0 -0
  54. package/.next/cache/webpack/server-production/21.pack +0 -0
  55. package/.next/cache/webpack/server-production/23.pack +0 -0
  56. package/.next/cache/webpack/server-production/24.pack +0 -0
  57. package/.next/cache/webpack/server-production/25.pack +0 -0
  58. package/.next/cache/webpack/server-production/26.pack +0 -0
  59. package/.next/cache/webpack/server-production/27.pack +0 -0
  60. package/.next/cache/webpack/server-production/28.pack +0 -0
  61. package/.next/cache/webpack/server-production/29.pack +0 -0
  62. package/.next/cache/webpack/server-production/3.pack +0 -0
  63. package/.next/cache/webpack/server-production/30.pack +0 -0
  64. package/.next/cache/webpack/server-production/31.pack +0 -0
  65. package/.next/cache/webpack/server-production/4.pack +0 -0
  66. package/.next/cache/webpack/server-production/5.pack +0 -0
  67. package/.next/cache/webpack/server-production/6.pack +0 -0
  68. package/.next/cache/webpack/server-production/7.pack +0 -0
  69. package/.next/cache/webpack/server-production/9.pack +0 -0
  70. package/.next/cache/webpack/server-production/index.pack +0 -0
  71. package/.next/cache/webpack/server-production/index.pack.old +0 -0
  72. package/.next/prerender-manifest.json +7 -7
  73. package/.next/react-loadable-manifest.json +8 -1
  74. package/.next/required-server-files.json +3 -0
  75. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  76. package/.next/server/app/_not-found.html +1 -1
  77. package/.next/server/app/_not-found.rsc +2 -2
  78. package/.next/server/app/api/feature/route.js +1 -1
  79. package/.next/server/app/api/feature/route.js.nft.json +1 -1
  80. package/.next/server/app/api/feature/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/file/route.js +1 -1
  82. package/.next/server/app/api/file/route.js.nft.json +1 -1
  83. package/.next/server/app/api/file/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/git/route.js +1 -0
  85. package/.next/server/app/api/git/route.js.nft.json +1 -0
  86. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -0
  87. package/.next/server/app/api/personas/route.js +1 -0
  88. package/.next/server/app/api/personas/route.js.nft.json +1 -0
  89. package/.next/server/app/api/personas/route_client-reference-manifest.js +1 -0
  90. package/.next/server/app/api/phase/route.js +3 -3
  91. package/.next/server/app/api/phase/route.js.nft.json +1 -1
  92. package/.next/server/app/api/phase/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/state/route.js +1 -1
  94. package/.next/server/app/api/state/route.js.nft.json +1 -1
  95. package/.next/server/app/api/state/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/state/watch/route.js +2 -2
  97. package/.next/server/app/api/state/watch/route.js.nft.json +1 -1
  98. package/.next/server/app/api/state/watch/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/task/route.js +1 -1
  100. package/.next/server/app/api/task/route.js.nft.json +1 -1
  101. package/.next/server/app/api/task/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/terminal/input/route.js +1 -0
  103. package/.next/server/app/api/terminal/input/route.js.nft.json +1 -0
  104. package/.next/server/app/api/terminal/input/route_client-reference-manifest.js +1 -0
  105. package/.next/server/app/api/terminal/resize/route.js +1 -0
  106. package/.next/server/app/api/terminal/resize/route.js.nft.json +1 -0
  107. package/.next/server/app/api/terminal/resize/route_client-reference-manifest.js +1 -0
  108. package/.next/server/app/api/terminal/stream/route.js +3 -0
  109. package/.next/server/app/api/terminal/stream/route.js.nft.json +1 -0
  110. package/.next/server/app/api/terminal/stream/route_client-reference-manifest.js +1 -0
  111. package/.next/server/app/index.html +1 -1
  112. package/.next/server/app/index.rsc +4 -4
  113. package/.next/server/app/page.js +26 -7
  114. package/.next/server/app/page_client-reference-manifest.js +1 -1
  115. package/.next/server/app-paths-manifest.json +7 -2
  116. package/.next/server/chunks/607.js +2 -2
  117. package/.next/server/chunks/897.js +13 -7
  118. package/.next/server/middleware-build-manifest.js +1 -1
  119. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  120. package/.next/server/pages/404.html +1 -1
  121. package/.next/server/pages/500.html +1 -1
  122. package/.next/static/ELGpn5csIINP2EpeEMCo6/_buildManifest.js +1 -0
  123. package/.next/static/chunks/111acf76-29d5e5905666f1e0.js +18 -0
  124. package/.next/static/chunks/343.91af0d46f6df0f05.js +1 -0
  125. package/.next/static/chunks/873-a995367ae371a5e4.js +1 -0
  126. package/.next/static/chunks/app/api/feature/route-b4fbc89d13fef983.js +1 -0
  127. package/.next/static/chunks/app/api/file/route-b4fbc89d13fef983.js +1 -0
  128. package/.next/static/chunks/app/api/git/route-b4fbc89d13fef983.js +1 -0
  129. package/.next/static/chunks/app/api/personas/route-b4fbc89d13fef983.js +1 -0
  130. package/.next/static/chunks/app/api/phase/route-b4fbc89d13fef983.js +1 -0
  131. package/.next/static/chunks/app/api/state/route-b4fbc89d13fef983.js +1 -0
  132. package/.next/static/chunks/app/api/state/watch/route-b4fbc89d13fef983.js +1 -0
  133. package/.next/static/chunks/app/api/task/route-b4fbc89d13fef983.js +1 -0
  134. package/.next/static/chunks/app/api/terminal/input/route-b4fbc89d13fef983.js +1 -0
  135. package/.next/static/chunks/app/api/terminal/resize/route-b4fbc89d13fef983.js +1 -0
  136. package/.next/static/chunks/app/api/terminal/stream/route-b4fbc89d13fef983.js +1 -0
  137. package/.next/static/chunks/app/page-63ac4ff563941667.js +1 -0
  138. package/.next/static/chunks/webpack-c997c7bd3e8f7cdf.js +1 -0
  139. package/.next/static/css/31544403e38a69f8.css +3 -0
  140. package/.next/static/css/{008a05b0ad6b854a.css → af3f40f14f702ff7.css} +1 -1
  141. package/.next/trace +3 -3
  142. package/.next/types/app/api/git/route.ts +347 -0
  143. package/.next/types/app/api/personas/route.ts +347 -0
  144. package/.next/types/app/api/terminal/input/route.ts +347 -0
  145. package/.next/types/app/api/terminal/resize/route.ts +347 -0
  146. package/.next/types/app/api/terminal/stream/route.ts +347 -0
  147. package/.next/types/routes.d.ts +6 -1
  148. package/.next/types/validator.ts +45 -0
  149. package/bin/adapters/primary/api/terminalManager.js +92 -0
  150. package/bin/adapters/secondary/agent/ProcessAgentRunner.js +124 -33
  151. package/bin/adapters/secondary/fs/FSWorkspaceRepository.js +40 -5
  152. package/bin/adapters/secondary/pty/ptyLoader.js +128 -0
  153. package/bin/app/api/git/route.js +156 -0
  154. package/bin/app/api/personas/route.js +76 -0
  155. package/bin/app/api/phase/route.js +18 -5
  156. package/bin/app/api/state/watch/route.js +7 -2
  157. package/bin/app/api/terminal/input/route.js +18 -0
  158. package/bin/app/api/terminal/resize/route.js +18 -0
  159. package/bin/app/api/terminal/stream/route.js +44 -0
  160. package/bin/domain/models/personas.js +65 -0
  161. package/bin/domain/services/WorkflowService.js +79 -5
  162. package/next.config.mjs +3 -0
  163. package/package.json +9 -1
  164. package/.next/static/Bxo1ckOxvQcndtSKD9Yna/_buildManifest.js +0 -1
  165. package/.next/static/chunks/590-a6568595ecd2a994.js +0 -1
  166. package/.next/static/chunks/app/api/feature/route-bb3c1a82e892ab58.js +0 -1
  167. package/.next/static/chunks/app/api/file/route-bb3c1a82e892ab58.js +0 -1
  168. package/.next/static/chunks/app/api/phase/route-bb3c1a82e892ab58.js +0 -1
  169. package/.next/static/chunks/app/api/state/route-bb3c1a82e892ab58.js +0 -1
  170. package/.next/static/chunks/app/api/state/watch/route-bb3c1a82e892ab58.js +0 -1
  171. package/.next/static/chunks/app/api/task/route-bb3c1a82e892ab58.js +0 -1
  172. package/.next/static/chunks/app/page-8a5248f7704cde29.js +0 -1
  173. package/.next/static/chunks/webpack-c460f8e58a9e9eff.js +0 -1
  174. package/.next/static/css/6fd2e11db3a59771.css +0 -3
  175. /package/.next/static/{Bxo1ckOxvQcndtSKD9Yna → ELGpn5csIINP2EpeEMCo6}/_ssgManifest.js +0 -0
@@ -1,5 +1,5 @@
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=`
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:()=>F.a,__next_app__:()=>L,handler:()=>N,pages:()=>K,routeModule:()=>M,tree:()=>J});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),u=c(7028),v=c(2145),w=c(6713),x=c(9421),y=c(5686),z=c(3578),A=c(9687),B=c(1305),C=c(1267),D=c(6439),E=c(3501),F=c.n(E),G=c(3061),H=c(7340),I={};for(let a in G)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(I[a]=()=>G[a]);c.d(b,I);let J=["",{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"]}],K=["/Users/guru/work/dmux/speckit-assistant/src/app/page.tsx"],L={require:c,loadChunk:()=>Promise.resolve()},M=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:J},distDir:".next",relativeProjectDir:""});async function N(a,b,d){var E;let I="/page";"/index"===I&&(I="/");let O=(0,h.getRequestMeta)(a,"postponed"),P=(0,h.getRequestMeta)(a,"minimalMode"),Q=await M.prepare(a,b,{srcPage:I,multiZoneDraftMode:!1});if(!Q)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:R,query:S,params:T,parsedUrl:U,pageIsDynamic:V,buildManifest:W,nextFontManifest:X,reactLoadableManifest:Y,serverActionsManifest:Z,clientReferenceManifest:$,subresourceIntegrityManifest:_,prerenderManifest:aa,isDraftMode:ab,resolvedPathname:ac,revalidateOnlyGenerated:ad,routerServerContext:ae,nextConfig:af,interceptionRoutePatterns:ag}=Q,ah=U.pathname||"/",ai=(0,s.normalizeAppPath)(I),{isOnDemandRevalidate:aj}=Q,ak=M.match(ah,aa),al=!!aa.routes[ac],am=!!(ak||al||aa.routes[ai]),an=a.headers["user-agent"]||"",ao=(0,w.getBotType)(an),ap=(0,q.isHtmlBotRequest)(a),aq=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[v.NEXT_ROUTER_PREFETCH_HEADER],ar=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[v.RSC_HEADER]),as=(0,u.getIsPossibleServerAction)(a),at=(0,m.checkIsAppPPREnabled)(af.experimental.ppr)&&(null==(E=aa.routes[ai]??aa.dynamicRoutes[ai])?void 0:E.renderingMode)==="PARTIALLY_STATIC",au=!1,av=!1,aw=at?O:void 0,ax=at&&ar&&!aq,ay=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),az=!an||(0,q.shouldServeStreamingMetadata)(an,af.htmlLimitedBots);ap&&at&&(am=!1,az=!1);let aA=!0===M.isDev||!am||"string"==typeof O||ax,aB=ap&&at,aC=null;ab||!am||aA||as||aw||ax||(aC=ac);let aD=aC;!aD&&M.isDev&&(aD=ac),M.isDev||ab||!am||!ar||ax||(0,k.d)(a.headers);let aE={...G,tree:J,pages:K,GlobalError:F(),handler:N,routeModule:M,__next_app__:L};Z&&$&&(0,p.setReferenceManifestsSingleton)({page:I,clientReferenceManifest:$,serverActionsManifest:Z,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Z})});let aF=a.method||"GET",aG=(0,g.getTracer)(),aH=aG.getActiveScopeSpan();try{let f=M.getVaryHeader(ac,ag);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return M.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aG.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=`${aF} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aF} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:S,params:T,page:ai,sharedContext:{buildId:R},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aE,Component:(0,j.T)(aE),params:T,routeModule:M,page:I,postponed:f,shouldWaitOnAllReady:aB,serveStreamingMetadata:az,supportsDynamicResponse:"string"==typeof f||aA,buildManifest:W,nextFontManifest:X,reactLoadableManifest:Y,subresourceIntegrityManifest:_,serverActionsManifest:Z,clientReferenceManifest:$,setIsrStatus:null==ae?void 0:ae.setIsrStatus,dir:c(3873).join(process.cwd(),M.relativeProjectDir),isDraftMode:ab,isRevalidate:am&&!f&&!ax,botType:ao,isOnDemandRevalidate:aj,isPossibleServerAction:as,assetPrefix:af.assetPrefix,nextConfigOutput:af.output,crossOrigin:af.crossOrigin,trailingSlash:af.trailingSlash,previewProps:aa.preview,deploymentId:af.deploymentId,enableTainting:af.experimental.taint,htmlLimitedBots:af.htmlLimitedBots,devtoolSegmentExplorer:af.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:af.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:af.experimental.cacheLife,basePath:af.basePath,serverActions:af.experimental.serverActions,...au?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:au}:{},experimental:{isRoutePPREnabled:at,expireTime:af.expireTime,staleTimes:af.experimental.staleTimes,cacheComponents:!!af.experimental.cacheComponents,clientSegmentCache:!!af.experimental.clientSegmentCache,clientParamParsing:!!af.experimental.clientParamParsing,dynamicOnHover:!!af.experimental.dynamicOnHover,inlineCss:!!af.experimental.inlineCss,authInterrupts:!!af.experimental.authInterrupts,clientTraceMetadata:af.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>M.onRequestError(a,b,d,ae),err:(0,h.getRequestMeta)(a,"invokeError"),dev:M.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[A.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,am&&(null==n?void 0:n.revalidate)===0&&!M.isDev&&!at){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ac}${(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:x.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===M.isDev,l=c||b.writableEnded;if(aj&&ad&&!f&&!P)return(null==ae?void 0:ae.render404)?await ae.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ak&&(j=(0,y.parseFallbackField)(ak.fallback)),j===y.FallbackMode.PRERENDER&&(0,w.isBot)(an)&&(!at||ap)&&(j=y.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(aj=!0),aj&&(j!==y.FallbackMode.NOT_FOUND||f)&&(j=y.FallbackMode.BLOCKING_STATIC_RENDER),!P&&j!==y.FallbackMode.BLOCKING_STATIC_RENDER&&aD&&!l&&!ab&&V&&(k||!al)){let b;if((k||ak)&&j===y.FallbackMode.NOT_FOUND)throw new D.NoFallbackError;if(at&&!ar){let c="string"==typeof(null==ak?void 0:ak.fallback)?ak.fallback:k?ai:null;if(b=await M.handleResponse({cacheKey:c,req:a,nextConfig:af,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:aa,isRoutePPREnabled:at,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||av?(0,o.u)(ai):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=aj||g||!aw?void 0:aw;if(au&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:x.CachedRouteKind.PAGES,html:z.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=V&&at&&((0,h.getRequestMeta)(a,"renderFallbackShell")||av)?(0,o.u)(ah):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await M.handleResponse({cacheKey:aC,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:aj,isRoutePPREnabled:at,req:a,nextConfig:af,prerenderManifest:aa,waitUntil:d.waitUntil});if(ab&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),M.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aC)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)!==x.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;am&&!ax&&(!p||aq)&&(P||b.setHeader("x-nextjs-cache",aj?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(v.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(aw)l={revalidate:0,expire:void 0};else if(P&&ar&&!aq&&at)l={revalidate:0,expire:void 0};else if(!M.isDev)if(ab)l={revalidate:0,expire:void 0};else if(am){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)??af.expireTime}}else l={revalidate:A.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ay&&(null==q?void 0:q.kind)===x.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(v.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[A.NEXT_CACHE_TAGS_HEADER];P&&am&&c&&"string"==typeof c&&b.setHeader(A.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ay);return void 0!==d?(0,C.sendRenderResult)({req:a,res:b,generateEtags:af.generateEtags,poweredByHeader:af.poweredByHeader,result:z.default.fromStatic(d,v.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,C.sendRenderResult)({req:a,res:b,generateEtags:af.generateEtags,poweredByHeader:af.poweredByHeader,result:z.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&&aw)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(P&&am||delete a[A.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[A.NEXT_CACHE_TAGS_HEADER];if(P&&am&&s&&"string"==typeof s&&b.setHeader(A.NEXT_CACHE_TAGS_HEADER,s),!q.status||ar&&at||(b.statusCode=q.status),!P&&q.status&&H.RedirectStatusCode[q.status]&&ar&&(b.statusCode=200),p&&b.setHeader(v.NEXT_DID_POSTPONE_HEADER,"1"),ar&&!ab){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,C.sendRenderResult)({req:a,res:b,generateEtags:af.generateEtags,poweredByHeader:af.poweredByHeader,result:q.html,cacheControl:ax?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,C.sendRenderResult)({req:a,res:b,generateEtags:af.generateEtags,poweredByHeader:af.poweredByHeader,result:z.default.fromStatic(q.rscData,v.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let u=q.html;if(!p||P||ar)return(0,C.sendRenderResult)({req:a,res:b,generateEtags:af.generateEtags,poweredByHeader:af.poweredByHeader,result:u,cacheControl:o.cacheControl});if(au)return u.push(new ReadableStream({start(a){a.enqueue(B.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,C.sendRenderResult)({req:a,res:b,generateEtags:af.generateEtags,poweredByHeader:af.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}});let w=new TransformStream;return u.push(w.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)!==x.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(w.writable)}).catch(a=>{w.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,C.sendRenderResult)({req:a,res:b,generateEtags:af.generateEtags,poweredByHeader:af.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})};if(!aH)return await aG.withPropagatedContext(a.headers,()=>aG.trace(i.BaseServerSpan.handleRequest,{spanName:`${aF} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aF,"http.target":a.url}},p));await p(aH)}catch(b){throw b instanceof D.NoFallbackError||await M.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:am,isOnDemandRevalidate:aj})},ae),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},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,9968))},4559:(a,b)=>{"use strict";function c(a){return a.split("/").map(a=>encodeURIComponent(a)).join("/")}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"encodeURIPath",{enumerable:!0,get:function(){return c}})},4695:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return e}});let d=c(3496)._(c(7583));function e(a,b){var c;let e={};"function"==typeof a&&(e.loader=a);let f={...e,...b};return(0,d.default)({...f,modules:null==(c=f.loadableGenerated)?void 0:c.modules})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},4789:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"PreloadChunks",{enumerable:!0,get:function(){return h}});let d=c(6315),e=c(1043),f=c(9294),g=c(4559);function h(a){let{moduleIds:b}=a,c=f.workAsyncStorage.getStore();if(void 0===c)return null;let h=[];if(c.reactLoadableManifest&&b){let a=c.reactLoadableManifest;for(let c of b){if(!a[c])continue;let b=a[c].files;h.push(...b)}}return 0===h.length?null:(0,d.jsx)(d.Fragment,{children:h.map(a=>{let b=c.assetPrefix+"/_next/"+(0,g.encodeURIPath)(a);return a.endsWith(".css")?(0,d.jsx)("link",{precedence:"dynamic",href:b,rel:"stylesheet",as:"style"},a):((0,e.preload)(b,{as:"script",fetchPriority:"low"}),null)})})}},4950:()=>{},5376:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"BailoutToCSR",{enumerable:!0,get:function(){return e}});let d=c(6012);function e(a){let{reason:b,children:c}=a;throw Object.defineProperty(new d.BailoutToCSRError(b),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},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")},7583:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return j}});let d=c(6315),e=c(2702),f=c(5376),g=c(4789);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},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}},7833:()=>{},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")},9968:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>lt});var d=c(6315),e=c(2702),f=c.n(e),g=c(4695),h=c.n(g);let i=[{id:"qa",label:"QA",command:"/speckit.review.qa",enabled:!0,model:"gemini-2.5-flash",description:"Automated quality assurance agent. Runs tests, verifies regression suite, and inspects validation logs.",systemPrompt:"You are the QA persona in a Spec-Driven Development cycle. Your goal is to run unit/integration tests and check that code changes do not break existing features. Output verification reports with a clear VERDICT: PASS or FAIL.",capabilities:["Runs Vitest/Jest test suites","Generates coverage reports","Checks edge cases in inputs","Identifies code regressions"],tools:["vitest","npm test","coverage-reporter","test-generator"]},{id:"code-review",label:"Code Review",command:"/speckit.review.code",enabled:!0,model:"gemini-2.5-pro",description:"Automated code standard and architectural reviewer. Validates SOLID patterns and code complexity.",systemPrompt:"You are the Code Reviewer persona. Analyze source code diffs for adherence to architectural standards, clean code practices (SOLID, DRY), and formatting. Output feedback with a final VERDICT: PASS or FAIL.",capabilities:["Analyzes design pattern compliance","Checks cyclomatic complexity","Identifies redundant code blocks","Ensures type safety"],tools:["eslint","typescript-compiler","complexity-analyzer","stylelint"]},{id:"security",label:"Security",command:"/speckit.review.security",enabled:!0,model:"claude-3-5-sonnet",description:"Automated security compliance agent. Scans for hardcoded credentials, dependency CVEs, and OWASP vulnerabilities.",systemPrompt:"You are the Security Auditor persona. Scan changes for exposed credentials, API keys, dependency vulnerabilities, injection flaws, and other OWASP Top 10 risks. Output a final VERDICT: PASS or FAIL.",capabilities:["Scans for exposed secrets","Identifies dependency CVEs","Detects injection vulnerabilities","Verifies authentication protocols"],tools:["git-secrets","npm audit","owasp-scanner","trivy"]},{id:"tech-lead",label:"Tech Lead",command:"/speckit.review.techlead",enabled:!0,model:"gemini-2.5-pro",description:"Tech Lead agent responsible for final signature sign-off. Aggregates reviews and signs the implementation gate.",systemPrompt:"You are the Tech Lead persona. You represent the final automated validation step. Aggregate findings from previous agents, confirm architecture completeness, and sign the gate. Output a final VERDICT: PASS or FAIL.",capabilities:["Aggregates reviews and signals","Confirms architecture patterns","Approves merge readiness","Performs final API signature verification"],tools:["git-merge-dryrun","dependency-checker","signature-verifier"]}],j=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var k={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 l=(0,e.forwardRef)(({color:a="currentColor",size:b=24,strokeWidth:c=2,absoluteStrokeWidth:d,className:f="",children:g,iconNode:h,...i},l)=>(0,e.createElement)("svg",{ref:l,...k,width:b,height:b,stroke:a,strokeWidth:d?24*Number(c)/Number(b):c,className:j("lucide",f),...i},[...h.map(([a,b])=>(0,e.createElement)(a,b)),...Array.isArray(g)?g:[g]])),m=(a,b)=>{let c=(0,e.forwardRef)(({className:c,...d},f)=>(0,e.createElement)(l,{ref:f,iconNode:b,className:j(`lucide-${a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,c),...d}));return c.displayName=`${a}`,c},n=m("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"}]]),o=m("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]),p=m("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),q=m("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"}]]),r=m("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"}]]),s=m("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),u=m("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),v=m("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),w=m("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),x=m("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),y=m("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]),z=m("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),A={developer:"Developer",qa:"QA","code-review":"Code",security:"Sec","tech-lead":"Lead"},B={developer:"Implements the features, writes source code, and completes specification tasks.",qa:"Runs unit tests, lint checks and validates coverage requirements.","code-review":"Analyzes code complexity, patterns, and style conventions.",security:"Inspects code for secret leaks, injection risks and path safety.","tech-lead":"Approves technical plan adherence and signs off execution."},C=a=>{switch(a){case"running":return"text-blue-500 bg-blue-500/10 border-blue-500/20 animate-pulse";case"passed":return"text-green-500 bg-green-500/10 border-green-500/20";case"failed":return"text-red-500 bg-red-500/10 border-red-500/20";default:return"text-zinc-400 bg-zinc-100 dark:bg-zinc-900 border-zinc-200 dark:border-zinc-800"}},D={specification:"Specification",clarification:"Clarification",planning:"Planning",checklist:"Checklist",analysis:"Analysis",tasks:"Tasks",taskstoissues:"Tasks to Issues",implementation:"Implementation",completed:"Completed"},E=({state:a,onRunPhase:b,onApprovePhase:c,onDiscardPhase:e,onSelectFeature:g,onDeleteFeature:h,onSelectPhaseFile:i,onCardDrop:j,onRerunGate:k,onOpenReview:l,onStopPhase:m})=>{let[E,F]=f().useState(null),[G,H]=f().useState(null),I=a=>"idle"===a.status?"idle":"running"===a.status?a.personas?.some(a=>"idle"!==a.status)?"passed":"running":"passed",J=a=>{a.preventDefault()},K=()=>{F(null)},L=(a,b)=>{if(b)return(0,d.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,d.jsx)(n,{size:10}),"STALE"]});switch(a){case"running":return(0,d.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,d.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,d.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,d.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,d.jsxs)("div",{className:"flex flex-col h-full bg-white dark:bg-black overflow-y-auto",children:[(0,d.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,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("h2",{className:"text-sm font-bold text-zinc-900 dark:text-zinc-100",children:"Project Constitution"}),L(a.constitutionPhase.status,a.constitutionPhase.stale)]}),(0,d.jsx)("p",{className:"text-xs text-zinc-500 mt-1",children:"Governing principles and rules that guide all subsequent planning and implementation."})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{onClick:()=>i(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,d.jsxs)(d.Fragment,{children:[(0,d.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,d.jsx)(o,{size:10,fill:"currentColor"})," Run"]}),"awaiting_review"===a.constitutionPhase.status&&(0,d.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,d.jsx)(p,{size:10})," Approve"]})]}):(0,d.jsxs)("button",{onClick:()=>e("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,d.jsx)(q,{size:10})," Discard"]})]})]}),(0,d.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(k=>{let n=a.features.filter(a=>(a=>{for(let b of a.phases)if("approved"!==b.status)return b.phase;return"completed"})(a)===k);return(0,d.jsxs)("div",{onDragOver:J,onDragEnter:a=>{a.preventDefault(),F(k)},onDragLeave:K,onDrop:a=>((a,b)=>{a.preventDefault(),F(null);let c=a.dataTransfer.getData("text/plain");c&&j?.(c,b)})(a,k),className:`flex flex-col flex-shrink-0 w-72 h-full border rounded-lg overflow-hidden transition-all duration-200 ${E===k?"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,d.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,d.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-zinc-500",children:D[k]}),(0,d.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:n.length})]}),(0,d.jsx)("div",{className:"flex-1 p-3 overflow-y-auto space-y-3",style:{scrollbarWidth:"thin"},children:0===n.length?(0,d.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"}):n.map(j=>{let n=(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}})(j),D="completed"===k?j.phases[j.phases.length-1]:j.phases.find(a=>a.phase===k),E=a.activeFeatureName===j.name;return(0,d.jsxs)("div",{draggable:!0,onDragStart:a=>((a,b)=>{a.dataTransfer.setData("text/plain",b),a.dataTransfer.effectAllowed="move"})(a,j.name),onClick:()=>g(j.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] ${E?"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,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex justify-between items-start gap-2",children:[(0,d.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:j.name}),(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),h(j.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,d.jsx)(r,{size:12})})]}),"completed"!==k&&(0,d.jsxs)("div",{className:"flex justify-between items-center mt-3",children:[L(D.status,D.stale),n&&(0,d.jsxs)("span",{className:"text-[10px] font-mono text-zinc-400 bg-zinc-100 dark:bg-zinc-900 px-1 py-0.5 rounded",children:[n.done,"/",n.total," Tasks"]})]}),("implementation"===k||"completed"===k)&&(0,d.jsxs)("div",{className:"mt-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1 flex-wrap",children:[(0,d.jsx)(s,{size:11,className:"text-zinc-400"}),(0,d.jsx)("span",{title:`developer: ${I(D)}`,className:`text-[9px] font-semibold px-1.5 py-0.5 rounded border ${C(I(D))}`,children:"Dev"}),D.personas&&D.personas.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(u,{size:9,className:"text-zinc-300 dark:text-zinc-700"}),D.personas.map((a,b)=>(0,d.jsxs)(f().Fragment,{children:[b>0&&(0,d.jsx)(u,{size:9,className:"text-zinc-300 dark:text-zinc-700"}),(0,d.jsx)("span",{title:`${a.id}: ${a.status}`,className:`text-[9px] font-semibold px-1.5 py-0.5 rounded border ${C(a.status)}`,children:A[a.id]||a.id})]},a.id))]})]}),(0,d.jsxs)("button",{onClick:a=>{a.stopPropagation(),H(G===j.name?null:j.name)},className:"w-full text-[10px] flex items-center justify-between text-zinc-500 hover:text-zinc-800 dark:hover:text-zinc-200 mt-2 px-2 py-1 rounded border border-zinc-200 dark:border-zinc-800 bg-zinc-50/50 dark:bg-zinc-950/30 hover:bg-zinc-100 dark:hover:bg-zinc-900 transition",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[(0,d.jsx)(s,{size:11,className:"text-zinc-400"}),(0,d.jsx)("span",{className:"font-semibold",children:"Review Gate Dashboard"})]}),G===j.name?(0,d.jsx)(v,{size:11}):(0,d.jsx)(w,{size:11})]}),G===j.name&&(0,d.jsxs)("div",{className:"mt-2.5 p-2.5 rounded-md border border-zinc-150 dark:border-zinc-850 bg-zinc-50/20 dark:bg-zinc-950/20 space-y-2.5",onClick:a=>a.stopPropagation(),children:[(0,d.jsx)("div",{className:"space-y-2",children:["developer","qa","code-review","security","tech-lead"].map(a=>{let c="idle",e=null,f="";if("developer"===a)c=I(D),e=D.filePath,f="Developer";else{let b=D.personas?.find(b=>b.id===a)||{id:a,status:"idle",reportPath:null};c=b.status,e=b.reportPath,f="qa"===a?"QA Agent":"code-review"===a?"Code Reviewer":"security"===a?"Security Auditor":"Tech Lead"}return(0,d.jsx)("div",{className:`p-2 rounded-md border transition flex flex-col gap-1.5 ${"passed"===c?"bg-green-500/5 border-green-500/20 dark:border-green-500/10":"failed"===c?"bg-red-500/5 border-red-500/20 dark:border-red-500/10":"running"===c?"bg-blue-500/5 border-blue-500/20 dark:border-blue-500/10 animate-pulse":"bg-white dark:bg-black border-zinc-200 dark:border-zinc-850"}`,children:(0,d.jsxs)("div",{className:"flex justify-between items-start",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-[10px] font-bold text-zinc-700 dark:text-zinc-300",children:f}),(0,d.jsx)("span",{className:`w-1.5 h-1.5 rounded-full ${"passed"===c?"bg-green-500":"failed"===c?"bg-red-500":"running"===c?"bg-blue-500 animate-ping":"bg-zinc-300 dark:bg-zinc-700"}`})]}),(0,d.jsx)("p",{className:"text-[9px] text-zinc-400 dark:text-zinc-500 mt-0.5 leading-normal",children:B[a]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:["developer"===a&&"idle"===c&&(0,d.jsxs)("button",{onClick:()=>b("implementation",j.name),className:"text-[9px] font-semibold text-white bg-black dark:bg-white dark:text-black px-1.5 py-0.5 rounded transition hover:opacity-90 flex items-center gap-1 shrink-0",children:[(0,d.jsx)(o,{size:8,fill:"currentColor"})," Code"]}),"running"===c&&(0,d.jsxs)("button",{onClick:()=>m?.("implementation",j.name),className:"text-[9px] font-semibold text-white bg-red-650 hover:bg-red-700 px-1.5 py-0.5 rounded transition flex items-center gap-1 shrink-0",title:"Stop execution of this agent persona",children:[(0,d.jsx)(x,{size:8})," Stop"]}),e?(0,d.jsx)("button",{onClick:()=>i(e),className:"text-[9px] font-semibold text-blue-500 dark:text-blue-400 hover:underline px-1.5 py-0.5 border border-blue-500/10 hover:border-blue-500/20 bg-blue-500/5 rounded transition shrink-0",children:"Report"}):"developer"!==a&&"running"!==c&&(0,d.jsx)("span",{className:"text-[9px] text-zinc-400 italic shrink-0",children:"No report"})]})]})},a)})}),(a=>"passed"===I(a)&&(!a.personas||a.personas.every(a=>"idle"===a.status)))(D)&&(0,d.jsxs)("div",{className:"p-2 border border-blue-500/20 bg-blue-500/5 text-blue-500 dark:text-blue-400 rounded-md text-[9px] leading-normal flex items-start gap-1",children:[(0,d.jsx)(y,{size:11,className:"mt-0.5 shrink-0"}),(0,d.jsxs)("span",{children:["Developer finished coding. Trigger the ",(0,d.jsx)("strong",{children:"Review Gate"})," to verify implementation."]})]})]})]})]}),(0,d.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,d.jsx)("button",{onClick:a=>{a.stopPropagation(),i(D.filePath)},disabled:!D.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"!==k?"approved"!==D.status?(0,d.jsxs)(d.Fragment,{children:["running"===D.status?(0,d.jsxs)("button",{onClick:a=>{a.stopPropagation(),m?.(k,j.name)},className:"flex items-center gap-0.5 p-1 px-2 bg-red-650 hover:bg-red-700 text-white text-[10px] font-semibold rounded transition",children:[(0,d.jsx)(x,{size:8})," Stop"]}):(0,d.jsxs)("button",{onClick:a=>{a.stopPropagation(),b(k,j.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 transition",children:[(0,d.jsx)(o,{size:8,fill:"currentColor"})," Run"]}),"implementation"===k&&(0,d.jsxs)("button",{onClick:a=>{a.stopPropagation(),l(j.name,D)},disabled:"running"===D.status,title:"Open the human developer audit portal",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 disabled:opacity-50",children:[(0,d.jsx)(s,{size:8})," Review"]}),"awaiting_review"===D.status&&(0,d.jsxs)("button",{onClick:a=>{a.stopPropagation(),c(k,j.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,d.jsx)(p,{size:8})," Approve"]})]}):(0,d.jsxs)("button",{onClick:a=>{a.stopPropagation(),e(k,j.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,d.jsx)(q,{size:8})," Reset"]}):(0,d.jsxs)("span",{className:"flex items-center gap-0.5 text-green-500 font-bold text-[10px] uppercase",children:[(0,d.jsx)(z,{size:10})," Complete"]})]})]},j.name)})})]},k)})})]})};function F(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=F(a[c]))&&(b+=(b&&" ")+d);else for(let c in a)a[c]&&(b+=(b&&" ")+c);return b}var G={value:()=>{}};function H(){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 I(d)}function I(a){this._=a}function J(a,b,c){for(var d=0,e=a.length;d<e;++d)if(a[d].name===b){a[d]=G,a=a.slice(0,d).concat(a.slice(d+1));break}return null!=c&&a.push({name:b,value:c}),a}function K(){}function L(a){return null==a?K:function(){return this.querySelector(a)}}function M(){return[]}function N(a){return null==a?M:function(){return this.querySelectorAll(a)}}function O(a){return function(){return this.matches(a)}}function P(a){return function(b){return b.matches(a)}}I.prototype=H.prototype={constructor:I,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]=J(d[c],a.name,b);else if(null==b)for(c in d)d[c]=J(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 I(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 Q=Array.prototype.find;function R(){return this.firstElementChild}var S=Array.prototype.filter;function T(){return Array.from(this.children)}function U(a){return Array(a.length)}function V(a,b){this.ownerDocument=a.ownerDocument,this.namespaceURI=a.namespaceURI,this._next=null,this._parent=a,this.__data__=b}function W(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 V(a,f[h]);for(;h<i;++h)(g=b[h])&&(e[h]=g)}function X(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 V(a,f[h]);for(h=0;h<l;++h)(i=b[h])&&k.get(n[h])===i&&(e[h]=i)}function Y(a){return a.__data__}function Z(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}V.prototype={constructor:V,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 $="http://www.w3.org/1999/xhtml";let _={svg:"http://www.w3.org/2000/svg",xhtml:$,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function aa(a){var b=a+="",c=b.indexOf(":");return c>=0&&"xmlns"!==(b=a.slice(0,c))&&(a=a.slice(c+1)),_.hasOwnProperty(b)?{space:_[b],local:a}:a}function ab(a){return a.ownerDocument&&a.ownerDocument.defaultView||a.document&&a||a.defaultView}function ac(a,b){return a.style.getPropertyValue(b)||ab(a).getComputedStyle(a,null).getPropertyValue(b)}function ad(a){return a.trim().split(/^|\s+/)}function ae(a){return a.classList||new af(a)}function af(a){this._node=a,this._names=ad(a.getAttribute("class")||"")}function ag(a,b){for(var c=ae(a),d=-1,e=b.length;++d<e;)c.add(b[d])}function ah(a,b){for(var c=ae(a),d=-1,e=b.length;++d<e;)c.remove(b[d])}function ai(){this.textContent=""}function aj(){this.innerHTML=""}function ak(){this.nextSibling&&this.parentNode.appendChild(this)}function al(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function am(a){var b=aa(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===$&&b.documentElement.namespaceURI===$?b.createElement(a):b.createElementNS(c,a)}})(b)}function an(){return null}function ao(){var a=this.parentNode;a&&a.removeChild(this)}function ap(){var a=this.cloneNode(!1),b=this.parentNode;return b?b.insertBefore(a,this.nextSibling):a}function aq(){var a=this.cloneNode(!0),b=this.parentNode;return b?b.insertBefore(a,this.nextSibling):a}function ar(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 as(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 at(a,b,c){var d=ab(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)}af.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 au=[null];function av(a,b){this._groups=a,this._parents=b}function aw(){return new av([[document.documentElement]],au)}function ax(a){return((a=Math.exp(a))+1/a)/2}av.prototype=aw.prototype={constructor:av,select:function(a){"function"!=typeof a&&(a=L(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 av(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=N(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 av(e,f)},selectChild:function(a){var b;return this.select(null==a?R:(b="function"==typeof a?a:P(a),function(){return Q.call(this.children,b)}))},selectChildren:function(a){var b;return this.selectAll(null==a?T:(b="function"==typeof a?a:P(a),function(){return S.call(this.children,b)}))},filter:function(a){"function"!=typeof a&&(a=O(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 av(d,this._parents)},data:function(a,b){if(!arguments.length)return Array.from(this,Y);var c=b?X:W,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,u,v,w=0,x=0;w<o;++w)if(u=p[w]){for(w>=x&&(x=w+1);!(v=q[x])&&++x<o;);u._next=v||null}}return(g=new av(g,d))._enter=h,g._exit=i,g},enter:function(){return new av(this._enter||this._groups.map(U),this._parents)},exit:function(){return new av(this._exit||this._groups.map(U),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 av(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=Z);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 av(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=aa(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)):ac(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=ad(a+"");if(arguments.length<2){for(var d=ae(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)?ag:ah)(this,a)}}:b?function(a){return function(){ag(this,a)}}:function(a){return function(){ah(this,a)}})(c,b))},text:function(a){return arguments.length?this.each(null==a?ai:("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?aj:("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(ak)},lower:function(){return this.each(al)},append:function(a){var b="function"==typeof a?a:am(a);return this.select(function(){return this.appendChild(b.apply(this,arguments))})},insert:function(a,b){var c="function"==typeof a?a:am(a),d=null==b?an:"function"==typeof b?b:L(b);return this.select(function(){return this.insertBefore(c.apply(this,arguments),d.apply(this,arguments)||null)})},remove:function(){return this.each(ao)},clone:function(a){return this.select(a?aq:ap)},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?as:ar;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 at(this,a,b.apply(this,arguments))}}:function(a,b){return function(){return at(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),u=Math.log(Math.sqrt(r*r+1)-r);g=(Math.log(Math.sqrt(s*s+1)-s)-u)/b,f=function(a){var d,e,f=a*g,k=ax(u),l=j/(c*q)*(k*(((d=Math.exp(2*(d=b*f+u)))-1)/(d+1))-((e=Math.exp(e=u))-1/e)/2);return[h+l*n,i+l*o,j*k/ax(b*f+u)]}}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 ay,az,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG="object"==typeof performance&&performance.now?performance:Date,aH="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(a){setTimeout(a,17)};function aI(){return aE||(aH(aJ),aE=aG.now()+aF)}function aJ(){aE=0}function aK(){this._call=this._time=this._next=null}function aL(a,b,c){var d=new aK;return d.restart(a,b,c),d}function aM(){aE=(aD=aG.now())+aF,aA=aB=0;try{aI(),++aA;for(var a,b=ay;b;)(a=aE-b._time)>=0&&b._call.call(void 0,a),b=b._next;--aA}finally{aA=0,function(){for(var a,b,c=ay,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:ay=b);az=a,aO(d)}(),aE=0}}function aN(){var a=aG.now(),b=a-aD;b>1e3&&(aF-=b,aD=a)}function aO(a){!aA&&(aB&&(aB=clearTimeout(aB)),a-aE>24?(a<1/0&&(aB=setTimeout(aM,a-aG.now()-aF)),aC&&(aC=clearInterval(aC))):(aC||(aD=aG.now(),aC=setInterval(aN,1e3)),aA=1,aH(aM)))}function aP(a,b,c){var d=new aK;return b=null==b?0:+b,d.restart(c=>{d.stop(),a(c+b)},b,c),d}aK.prototype=aL.prototype={constructor:aK,restart:function(a,b,c){if("function"!=typeof a)throw TypeError("callback is not a function");c=(null==c?aI():+c)+(null==b?0:+b),this._next||az===this||(az?az._next=this:ay=this,az=this),this._call=a,this._time=c,aO()},stop:function(){this._call&&(this._call=null,this._time=1/0,aO())}};var aQ=H("start","end","cancel","interrupt"),aR=[];function aS(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 aP(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(aP(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=aL(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:aQ,tween:aR,time:f.time,delay:f.delay,duration:f.duration,ease:f.ease,timer:null,state:0})}function aT(a,b){var c=aV(a,b);if(c.state>0)throw Error("too late; already scheduled");return c}function aU(a,b){var c=aV(a,b);if(c.state>3)throw Error("too late; already running");return c}function aV(a,b){var c=a.__transition;if(!c||!(c=c[b]))throw Error("transition not found");return c}function aW(a,b){return a*=1,b*=1,function(c){return a*(1-c)+b*c}}var aX=180/Math.PI,aY={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function aZ(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)*aX,skewX:Math.atan(i)*aX,scaleX:g,scaleY:h}}function a$(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:aW(a,e)},{i:i-2,x:aW(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:aW(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:aW(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:aW(a,c)},{i:h-2,x:aW(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 a_=a$(function(a){let b=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(a+"");return b.isIdentity?aY:aZ(b.a,b.b,b.c,b.d,b.e,b.f)},"px, ","px)","deg)"),a0=a$(function(a){return null==a?aY:(gH||(gH=document.createElementNS("http://www.w3.org/2000/svg","g")),gH.setAttribute("transform",a),a=gH.transform.baseVal.consolidate())?aZ((a=a.matrix).a,a.b,a.c,a.d,a.e,a.f):aY},", ",")",")");function a1(a,b,c){var d=a._id;return a.each(function(){var a=aU(this,d);(a.value||(a.value={}))[b]=c.apply(this,arguments)}),function(a){return aV(a,d).value[b]}}function a2(a,b,c){a.prototype=b.prototype=c,c.constructor=a}function a3(a,b){var c=Object.create(a.prototype);for(var d in b)c[d]=b[d];return c}function a4(){}var a5="\\s*([+-]?\\d+)\\s*",a6="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",a7="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",a8=/^#([0-9a-f]{3,8})$/,a9=RegExp(`^rgb\\(${a5},${a5},${a5}\\)$`),ba=RegExp(`^rgb\\(${a7},${a7},${a7}\\)$`),bb=RegExp(`^rgba\\(${a5},${a5},${a5},${a6}\\)$`),bc=RegExp(`^rgba\\(${a7},${a7},${a7},${a6}\\)$`),bd=RegExp(`^hsl\\(${a6},${a7},${a7}\\)$`),be=RegExp(`^hsla\\(${a6},${a7},${a7},${a6}\\)$`),bf={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 bg(){return this.rgb().formatHex()}function bh(){return this.rgb().formatRgb()}function bi(a){var b,c;return a=(a+"").trim().toLowerCase(),(b=a8.exec(a))?(c=b[1].length,b=parseInt(b[1],16),6===c?bj(b):3===c?new bm(b>>8&15|b>>4&240,b>>4&15|240&b,(15&b)<<4|15&b,1):8===c?bk(b>>24&255,b>>16&255,b>>8&255,(255&b)/255):4===c?bk(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=a9.exec(a))?new bm(b[1],b[2],b[3],1):(b=ba.exec(a))?new bm(255*b[1]/100,255*b[2]/100,255*b[3]/100,1):(b=bb.exec(a))?bk(b[1],b[2],b[3],b[4]):(b=bc.exec(a))?bk(255*b[1]/100,255*b[2]/100,255*b[3]/100,b[4]):(b=bd.exec(a))?bs(b[1],b[2]/100,b[3]/100,1):(b=be.exec(a))?bs(b[1],b[2]/100,b[3]/100,b[4]):bf.hasOwnProperty(a)?bj(bf[a]):"transparent"===a?new bm(NaN,NaN,NaN,0):null}function bj(a){return new bm(a>>16&255,a>>8&255,255&a,1)}function bk(a,b,c,d){return d<=0&&(a=b=c=NaN),new bm(a,b,c,d)}function bl(a,b,c,d){var e;return 1==arguments.length?((e=a)instanceof a4||(e=bi(e)),e)?new bm((e=e.rgb()).r,e.g,e.b,e.opacity):new bm:new bm(a,b,c,null==d?1:d)}function bm(a,b,c,d){this.r=+a,this.g=+b,this.b=+c,this.opacity=+d}function bn(){return`#${br(this.r)}${br(this.g)}${br(this.b)}`}function bo(){let a=bp(this.opacity);return`${1===a?"rgb(":"rgba("}${bq(this.r)}, ${bq(this.g)}, ${bq(this.b)}${1===a?")":`, ${a})`}`}function bp(a){return isNaN(a)?1:Math.max(0,Math.min(1,a))}function bq(a){return Math.max(0,Math.min(255,Math.round(a)||0))}function br(a){return((a=bq(a))<16?"0":"")+a.toString(16)}function bs(a,b,c,d){return d<=0?a=b=c=NaN:c<=0||c>=1?a=b=NaN:b<=0&&(a=NaN),new bu(a,b,c,d)}function bt(a){if(a instanceof bu)return new bu(a.h,a.s,a.l,a.opacity);if(a instanceof a4||(a=bi(a)),!a)return new bu;if(a instanceof bu)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 bu(g,h,i,a.opacity)}function bu(a,b,c,d){this.h=+a,this.s=+b,this.l=+c,this.opacity=+d}function bv(a){return(a=(a||0)%360)<0?a+360:a}function bw(a){return Math.max(0,Math.min(1,a||0))}function bx(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 by(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}a2(a4,bi,{copy(a){return Object.assign(new this.constructor,this,a)},displayable(){return this.rgb().displayable()},hex:bg,formatHex:bg,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return bt(this).formatHsl()},formatRgb:bh,toString:bh}),a2(bm,bl,a3(a4,{brighter(a){return a=null==a?1.4285714285714286:Math.pow(1.4285714285714286,a),new bm(this.r*a,this.g*a,this.b*a,this.opacity)},darker(a){return a=null==a?.7:Math.pow(.7,a),new bm(this.r*a,this.g*a,this.b*a,this.opacity)},rgb(){return this},clamp(){return new bm(bq(this.r),bq(this.g),bq(this.b),bp(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:bn,formatHex:bn,formatHex8:function(){return`#${br(this.r)}${br(this.g)}${br(this.b)}${br((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:bo,toString:bo})),a2(bu,function(a,b,c,d){return 1==arguments.length?bt(a):new bu(a,b,c,null==d?1:d)},a3(a4,{brighter(a){return a=null==a?1.4285714285714286:Math.pow(1.4285714285714286,a),new bu(this.h,this.s,this.l*a,this.opacity)},darker(a){return a=null==a?.7:Math.pow(.7,a),new bu(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 bm(bx(a>=240?a-240:a+120,e,d),bx(a,e,d),bx(a<120?a+240:a-120,e,d),this.opacity)},clamp(){return new bu(bv(this.h),bw(this.s),bw(this.l),bp(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=bp(this.opacity);return`${1===a?"hsl(":"hsla("}${bv(this.h)}, ${100*bw(this.s)}%, ${100*bw(this.l)}%${1===a?")":`, ${a})`}`}}));let bz=a=>()=>a;function bA(a,b){var c=b-a;return c?function(b){return a+b*c}:bz(isNaN(a)?b:a)}let bB=function a(b){var c,d=1==(c=+b)?bA: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)}):bz(isNaN(a)?b:a)};function e(a,b){var c=d((a=bl(a)).r,(b=bl(b)).r),e=d(a.g,b.g),f=d(a.b,b.b),g=bA(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 bC(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=bl(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+""}}}bC(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 by((c-d/b)*b,g,e,f,h)}}),bC(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 by((c-d/b)*b,e,f,g,h)}});var bD=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,bE=RegExp(bD.source,"g");function bF(a,b){var c,d,e,f,g,h=bD.lastIndex=bE.lastIndex=0,i=-1,j=[],k=[];for(a+="",b+="";(e=bD.exec(a))&&(f=bE.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:aW(e,f)})),h=bE.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 bG(a,b){var c;return("number"==typeof b?aW:b instanceof bi?bB:(c=bi(b))?(b=c,bB):bF)(a,b)}var bH=aw.prototype.constructor;function bI(a){return function(){this.style.removeProperty(a)}}var bJ=0;function bK(a,b,c,d){this._groups=a,this._parents=b,this._name=c,this._id=d}var bL=aw.prototype;bK.prototype=(function(a){return aw().transition(a)}).prototype={constructor:bK,select:function(a){var b=this._name,c=this._id;"function"!=typeof a&&(a=L(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,aS(l[m],b,c,m,l,aV(h,c)));return new bK(f,this._parents,b,c)},selectAll:function(a){var b=this._name,c=this._id;"function"!=typeof a&&(a=N(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=aV(i,c),p=0,q=n.length;p<q;++p)(m=n[p])&&aS(m,b,c,p,n,o);f.push(n),g.push(i)}return new bK(f,g,b,c)},selectChild:bL.selectChild,selectChildren:bL.selectChildren,filter:function(a){"function"!=typeof a&&(a=O(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 bK(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 bK(g,this._parents,this._name,this._id)},selection:function(){return new bH(this._groups,this._parents)},transition:function(){for(var a=this._name,b=this._id,c=++bJ,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=aV(g,b);aS(g,a,c,j,h,{time:k.time+k.delay+k.duration,delay:0,duration:k.duration,ease:k.ease})}return new bK(d,this._parents,a,c)},call:bL.call,nodes:bL.nodes,node:bL.node,size:bL.size,empty:bL.empty,each:bL.each,on:function(a,b){var c,d,e,f,g,h,i=this._id;return arguments.length<2?aV(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})?aT:aU,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=aa(a),d="transform"===c?a0:bG;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,a1(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=aa(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,u,v,w,x,y,z="transform"==(a+="")?a_:bG;return null==b?this.styleTween(a,(d=a,function(){var a=ac(this,d),b=(this.style.removeProperty(d),ac(this,d));return a===b?null:a===e&&b===f?g:g=z(e=a,f=b)})).on("end.style."+a,bI(a)):"function"==typeof b?this.styleTween(a,(h=a,i=a1(this,"style."+a,b),function(){var a=ac(this,h),b=i(this),c=b+"";return null==b&&(this.style.removeProperty(h),c=b=ac(this,h)),a===c?null:a===j&&c===k?l:(k=c,l=z(j=a,b))})).each((m=this._id,u="end."+(s="style."+(n=a)),function(){var a=aU(this,m),b=a.on,c=null==a.value[s]?r||(r=bI(n)):void 0;(b!==o||q!==c)&&(p=(o=b).copy()).on(u,q=c),a.on=p})):this.styleTween(a,(v=a,y=b+"",function(){var a=ac(this,v);return a===y?null:a===w?x:x=z(w=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=a1(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=aV(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=aU(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=aU(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(){aT(this,a).delay=+b.apply(this,arguments)}}:function(a,b){return b*=1,function(){aT(this,a).delay=b}})(b,a)):aV(this.node(),b).delay},duration:function(a){var b=this._id;return arguments.length?this.each(("function"==typeof a?function(a,b){return function(){aU(this,a).duration=+b.apply(this,arguments)}}:function(a,b){return b*=1,function(){aU(this,a).duration=b}})(b,a)):aV(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(){aU(this,a).ease=b}}(b,a)):aV(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();aU(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=aU(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]:bL[Symbol.iterator]};var bM={time:null,delay:0,duration:250,ease:function(a){return((a*=2)<=1?a*a*a:(a-=2)*a*a+2)/2}};function bN(a,b,c){this.k=a,this.x=b,this.y=c}aw.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)})},aw.prototype.transition=function(a){var b,c;a instanceof bK?(b=a._id,a=a._name):(b=++bJ,(c=bM).time=aI(),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])&&aS(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 bK(d,this._parents,a,b)},bN.prototype={constructor:bN,scale:function(a){return 1===a?this:new bN(this.k*a,this.x,this.y)},translate:function(a,b){return 0===a&0===b?this:new bN(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 bN(1,0,0);bN.prototype;let bO={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."},bP=[[-1/0,-1/0],[1/0,1/0]],bQ=["Enter"," ","Escape"],bR={"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"}(gI||(gI={})),function(a){a.Free="free",a.Vertical="vertical",a.Horizontal="horizontal"}(gJ||(gJ={})),function(a){a.Partial="partial",a.Full="full"}(gK||(gK={}));let bS={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"}(gL||(gL={})),function(a){a.Arrow="arrow",a.ArrowClosed="arrowclosed"}(gM||(gM={})),function(a){a.Left="left",a.Top="top",a.Right="right",a.Bottom="bottom"}(gN||(gN={}));let bT={[gN.Left]:gN.Right,[gN.Right]:gN.Left,[gN.Top]:gN.Bottom,[gN.Bottom]:gN.Top};function bU(a){return null===a?null:a?"valid":"invalid"}let bV=a=>"id"in a&&"source"in a&&"target"in a,bW=a=>"id"in a&&"internals"in a&&!("source"in a)&&!("target"in a),bX=(a,b=[0,0])=>{let{width:c,height:d}=cm(a),e=a.origin??b,f=c*e[0],g=d*e[1];return{x:a.position.x-f,y:a.position.y-g}},bY=(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=b5(c,b9(a)),d=!0)}),d?b7(c):{x:0,y:0,width:0,height:0}},bZ=(a,b,[c,d,e]=[0,0,1],f=!1,g=!1)=>{let h={...cg(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=cb(h,b8(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 b$({nodes:a,width:b,height:c,panZoom:d,minZoom:e,maxZoom:f},g){if(0===a.size)return!0;let h=cj(bY(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 b_({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 b0=(a,b=0,c=1)=>Math.min(Math.max(a,b),c),b1=(a={x:0,y:0},b,c)=>({x:b0(a.x,b[0][0],b[1][0]-(c?.width??0)),y:b0(a.y,b[0][1],b[1][1]-(c?.height??0))});function b2(a,b,c){let{width:d,height:e}=cm(c),{x:f,y:g}=c.internals.positionAbsolute;return b1(a,[[f,g],[f+d,g+e]],b)}let b3=(a,b,c)=>a<b?b0(Math.abs(a-b),1,b)/b:a>c?-b0(Math.abs(a-c),1,b)/b:0,b4=(a,b,c=15,d=40)=>[b3(a.x,d,b.width-d)*c,b3(a.y,d,b.height-d)*c],b5=(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)}),b6=({x:a,y:b,width:c,height:d})=>({x:a,y:b,x2:a+c,y2:b+d}),b7=({x:a,y:b,x2:c,y2:d})=>({x:a,y:b,width:c-a,height:d-b}),b8=(a,b=[0,0])=>{let{x:c,y:d}=bW(a)?a.internals.positionAbsolute:bX(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}},b9=(a,b=[0,0])=>{let{x:c,y:d}=bW(a)?a.internals.positionAbsolute:bX(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)}},ca=(a,b)=>b7(b5(b6(a),b6(b))),cb=(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))),cc=a=>cd(a.width)&&cd(a.height)&&cd(a.x)&&cd(a.y),cd=a=>!isNaN(a)&&isFinite(a),ce=(a,b)=>(a,b)=>{},cf=(a,b=[1,1])=>({x:b[0]*Math.round(a.x/b[0]),y:b[1]*Math.round(a.y/b[1])}),cg=({x:a,y:b},[c,d,e],f=!1,g=[1,1])=>{let h={x:(a-c)/e,y:(b-d)/e};return f?cf(h,g):h},ch=({x:a,y:b},[c,d,e])=>({x:a*e+c,y:b*e+d});function ci(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 cj=(a,b,c,d,e,f)=>{let g=function(a,b,c){if("string"==typeof a||"number"==typeof a){let d=ci(a,c),e=ci(a,b);return{top:d,right:e,bottom:d,left:e,x:2*e,y:2*d}}if("object"==typeof a){let d=ci(a.top??a.y??0,c),e=ci(a.bottom??a.y??0,c),f=ci(a.left??a.x??0,b),g=ci(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=b0(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}=ch(a,[b,c,d]),{x:i,y:j}=ch({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}},ck=()=>"undefined"!=typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0;function cl(a){return null!=a&&"parent"!==a}function cm(a){return{width:a.measured?.width??a.width??a.initialWidth??0,height:a.measured?.height??a.height??a.initialHeight??0}}function cn(a){return(a.measured?.width??a.width??a.initialWidth)!==void 0&&(a.measured?.height??a.height??a.initialHeight)!==void 0}function co(a,b){if(a.size!==b.size)return!1;for(let c of a)if(!b.has(c))return!1;return!0}let cp=a=>({width:a.offsetWidth,height:a.offsetHeight}),cq=a=>a?.getRootNode?.()||window?.document,cr=["INPUT","SELECT","TEXTAREA"],cs=(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)}},ct=(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,...cp(b)}}):null};function cu({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 cv(a,b){return a>=0?.5*a:25*b*Math.sqrt(-a)}function cw({pos:a,x1:b,y1:c,x2:d,y2:e,c:f}){switch(a){case gN.Left:return[b-cv(b-d,f),c];case gN.Right:return[b+cv(d-b,f),c];case gN.Top:return[b,c-cv(c-e,f)];case gN.Bottom:return[b,c+cv(e-c,f)]}}function cx({sourceX:a,sourceY:b,sourcePosition:c=gN.Bottom,targetX:d,targetY:e,targetPosition:f=gN.Top,curvature:g=.25}){let[h,i]=cw({pos:c,x1:a,y1:b,x2:d,y2:e,c:g}),[j,k]=cw({pos:f,x1:d,y1:e,x2:a,y2:b,c:g}),[l,m,n,o]=cu({sourceX:a,sourceY:b,targetX:d,targetY:e,sourceControlX:h,sourceControlY:i,targetControlX:j,targetControlY:k});return[`M${a},${b} C${h},${i} ${j},${k} ${d},${e}`,l,m,n,o]}function cy({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 cz=({source:a,sourceHandle:b,target:c,targetHandle:d})=>`xy-edge__${a}${b||""}-${c}${d||""}`;function cA({sourceX:a,sourceY:b,targetX:c,targetY:d}){let[e,f,g,h]=cy({sourceX:a,sourceY:b,targetX:c,targetY:d});return[`M ${a},${b}L ${c},${d}`,e,f,g,h]}let cB={[gN.Left]:{x:-1,y:0},[gN.Right]:{x:1,y:0},[gN.Top]:{x:0,y:-1},[gN.Bottom]:{x:0,y:1}},cC=({source:a,sourcePosition:b=gN.Bottom,target:c})=>b===gN.Left||b===gN.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},cD=(a,b)=>Math.sqrt(Math.pow(b.x-a.x,2)+Math.pow(b.y-a.y,2));function cE({sourceX:a,sourceY:b,sourcePosition:c=gN.Bottom,targetX:d,targetY:e,targetPosition:f=gN.Top,borderRadius:g=5,centerX:h,centerY:i,offset:j=20,stepPosition:k=.5}){let[l,m,n,o,p]=function({source:a,sourcePosition:b=gN.Bottom,target:c,targetPosition:d=gN.Top,center:e,offset:f,stepPosition:g}){let h,i,j=cB[b],k=cB[d],l={x:a.x+j.x*f,y:a.y+j.y*f},m={x:c.x+k.x*f,y:c.y+k.y*f},n=cC({source:l,sourcePosition:b,target:m}),o=0!==n.x?"x":"y",p=n[o],q=[],r={x:0,y:0},s={x:0,y:0},[,,u,v]=cy({sourceX:a.x,sourceY:a.y,targetX:c.x,targetY:c.y});if(j[o]*k[o]==-1){"x"===o?(h=e.x??l.x+(m.x-l.x)*g,i=e.y??(l.y+m.y)/2):(h=e.x??(l.x+m.x)/2,i=e.y??l.y+(m.y-l.y)*g);let a=[{x:h,y:l.y},{x:h,y:m.y}],b=[{x:l.x,y:i},{x:m.x,y:i}];q=j[o]===p?"x"===o?a:b:"x"===o?b:a}else{let e=[{x:l.x,y:m.y}],g=[{x:m.x,y:l.y}];if(q="x"===o?j.x===p?g:e:j.y===p?e:g,b===d){let b=Math.abs(a[o]-c[o]);if(b<=f){let d=Math.min(f-1,f-b);j[o]===p?r[o]=(l[o]>a[o]?-1:1)*d:s[o]=(m[o]>c[o]?-1:1)*d}}if(b!==d){let a="x"===o?"y":"x",b=j[o]===k[a],c=l[a]>m[a],d=l[a]<m[a];(1===j[o]&&(!b&&c||b&&d)||1!==j[o]&&(!b&&d||b&&c))&&(q="x"===o?e:g)}let n={x:l.x+r.x,y:l.y+r.y},u={x:m.x+s.x,y:m.y+s.y};Math.max(Math.abs(n.x-q[0].x),Math.abs(u.x-q[0].x))>=Math.max(Math.abs(n.y-q[0].y),Math.abs(u.y-q[0].y))?(h=(n.x+u.x)/2,i=q[0].y):(h=q[0].x,i=(n.y+u.y)/2)}let w={x:l.x+r.x,y:l.y+r.y},x={x:m.x+s.x,y:m.y+s.y};return[[a,...w.x!==q[0].x||w.y!==q[0].y?[w]:[],...q,...x.x!==q[q.length-1].x||x.y!==q[q.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:j,stepPosition:k}),q=`M${l[0].x} ${l[0].y}`;for(let a=1;a<l.length-1;a++)q+=function(a,b,c,d){let e=Math.min(cD(a,b)/2,cD(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}`}(l[a-1],l[a],l[a+1],g);return[q+=`L${l[l.length-1].x} ${l[l.length-1].y}`,m,n,o,p]}function cF(a){return a&&!!(a.internals.handleBounds||a.handles?.length)&&!!(a.measured.width||a.width||a.initialWidth)}function cG(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 cH(a,b,c=gN.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??cm(a);if(d)return{x:e+g/2,y:f+h/2};switch(b?.position??c){case gN.Top:return{x:e+g/2,y:f};case gN.Right:return{x:e+g,y:f+h/2};case gN.Bottom:return{x:e+g/2,y:f+h};case gN.Left:return{x:e,y:f+h/2}}}function cI(a,b){return a&&(b?a.find(a=>a.id===b):a[0])||null}function cJ(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 cK={nodeOrigin:[0,0],nodeExtent:bP,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},cL={...cK,checkEquality:!0};function cM(a,b){let c={...a};for(let a in b)void 0!==b[a]&&(c[a]=b[a]);return c}function cN(a){return"manual"===a}function cO(a,b,c,d={}){let e=cM(cL,d),f={i:0},g=new Map(b),h=e?.elevateNodesOnSelect&&!cN(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=b1(bX(k,e.nodeOrigin),cl(k.extent)?k.extent:e.nodeExtent,cm(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:cQ(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&&cP(a,b,c,d,f),j||=k.selected??!1}return{nodesInitialized:i,hasSelectedNodes:j}}function cP(a,b,c,d,e){let{elevateNodesOnSelect:f,nodeOrigin:g,nodeExtent:h,zIndexMode:i}=cM(cK,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=cm(a),j=bX(a,c),k=cl(a.extent)?b1(j,a.extent,i):j,l=b1({x:g+k.x,y:h+k.y},d,i);"parent"===a.extent&&(l=b2(l,i,b));let m=cQ(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&&!cN(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 cQ(a,b,c){let d=cd(a.zIndex)?a.zIndex:0;return cN(c)?d:d+(a.selected?b:0)}function cR(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=ca(f.get(c.parentId)?.expandedRect??b8(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=cm(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 cS({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 cT(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 cU(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}`;cT("source",h,`${e}-${g}--${c}-${f}`,a,c,f),cT("target",h,i,a,e,g),b.set(d.id,d)}}function cV(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,...cH(g,i,i.position,!0)}:i}function cW(a,b){return a?a:b?.classList.contains("target")?"target":b?.classList.contains("source")?"source":null}let cX=()=>!0;function cY(a,{handle:b,connectionMode:c,fromNodeId:d,fromHandleId:e,fromType:f,doc:g,lib:h,flowId:i,isValidConnection:j=cX,nodeLookup:k}){let l="target"===f,m=b?g.querySelector(`.${h}-flow__handle[data-id="${i}-${b?.nodeId}-${b?.id}-${b?.type}"]`):null,{x:n,y:o}=cs(a),p=g.elementFromPoint(n,o),q=p?.classList.contains(`${h}-flow__handle`)?p:m,r={handleDomNode:q,isValid:!1,connection:null,toHandle:null};if(q){let a=cW(void 0,q),b=q.getAttribute("data-nodeid"),f=q.getAttribute("data-handleid"),g=q.classList.contains("connectable"),h=q.classList.contains("connectableend");if(!b||!a)return r;let i={source:l?b:d,sourceHandle:l?f:e,target:l?d:b,targetHandle:l?e:f};r.connection=i,r.isValid=g&&h&&(c===gI.Strict?l&&"source"===a||!l&&"target"===a:b!==d||f!==e)&&j(i),r.toHandle=cV(b,a,f,k,c,!0)}return r}let cZ={onPointerDown:function(a,{connectionMode:b,connectionRadius:c,handleId:d,nodeId:e,edgeUpdaterType:f,isTarget:g,domNode:h,nodeLookup:i,lib:j,autoPanOnConnect:k,flowId:l,panBy:m,cancelConnection:n,onConnectStart:o,onConnect:p,onConnectEnd:q,isValidConnection:r=cX,onReconnectEnd:s,updateConnection:u,getTransform:v,getFromHandle:w,autoPanSpeed:x,dragThreshold:y=1,handleDomNode:z}){let A,B=cq(a.target),C=0,{x:D,y:E}=cs(a),F=cW(f,z),G=h?.getBoundingClientRect(),H=!1;if(!G||!F)return;let I=cV(e,F,d,i,b);if(!I)return;let J=cs(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:cH(P,O,gN.Left,!0),fromHandle:O,fromPosition:O.position,fromNode:P,to:J,toHandle:null,toPosition:bT[O.position],toNode:null,pointer:J};function R(){H=!0,u(Q),o?.(a,{nodeId:e,handleId:d,handleType:F})}function S(a){var f,h;let n;if(!H){let{x:b,y:c}=cs(a),d=b-D,e=c-E;if(!(d*d+e*e>y*y))return;R()}if(!w()||!O)return void T(a);let o=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())cb(e,b8(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}=cH(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]}(cg(J=cs(a,G),o,!1,[1,1]),c,i,O),K||(!function a(){if(!k||!G)return;let[b,c]=b4(J,G,x);m({x:b,y:c}),C=requestAnimationFrame(a)}(),K=!0);let p=cY(a,{handle:A,connectionMode:b,fromNodeId:e,fromHandleId:d,fromType:g?"target":"source",isValidConnection:r,doc:B,lib:j,flowId:l,nodeLookup:i});N=p.handleDomNode,L=p.connection,f=!!A,h=p.isValid,n=null,h?n=!0:f&&!h&&(n=!1),M=n;let q=i.get(e),s=q?cH(q,O,gN.Left,!0):Q.from,z={...Q,from:s,isValid:M,to:p.toHandle&&M?ch({x:p.toHandle.x,y:p.toHandle.y},o):J,toHandle:p.toHandle,toPosition:M&&p.toHandle?p.toHandle.position:bT[O.position],toNode:p.toHandle?i.get(p.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&&p?.(L);let{inProgress:b,...c}=Q,d={...c,toPosition:Q.toHandle?Q.toPosition:null};q?.(a,d),f&&s?.(a,d)}n(),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:cY};!function(a){a.Line="line",a.Handle="handle"}(gO||(gO={}));var c$=c(355);let c_=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:c0}=e,{useSyncExternalStoreWithSelector:c1}=c$,c2=a=>a;function c3(a,b=c2,c){let d=c1(a.subscribe,a.getState,a.getServerState||a.getInitialState,b,c);return c0(d),d}let c4=(a,b)=>{let c=(a=>a?c_(a):c_)(a),d=(a,d=b)=>c3(c,a,d);return Object.assign(d,c),d};function c5(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 c6=(0,e.createContext)(null),c7=c6.Provider,c8=bO.error001("react");function c9(a,b){let c=(0,e.useContext)(c6);if(null===c)throw Error(c8);return c3(c,a,b)}function da(){let a=(0,e.useContext)(c6);if(null===a)throw Error(c8);return(0,e.useMemo)(()=>({getState:a.getState,setState:a.setState,subscribe:a.subscribe}),[a])}let db={display:"none"},dc={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},dd="react-flow__node-desc",de="react-flow__edge-desc",df=a=>a.ariaLiveMessage,dg=a=>a.ariaLabelConfig;function dh({rfId:a}){let b=c9(df);return(0,d.jsx)("div",{id:`react-flow__aria-live-${a}`,"aria-live":"assertive","aria-atomic":"true",style:dc,children:b})}function di({rfId:a,disableKeyboardA11y:b}){let c=c9(dg);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{id:`${dd}-${a}`,style:db,children:b?c["node.a11yDescription.default"]:c["node.a11yDescription.keyboardDisabled"]}),(0,d.jsx)("div",{id:`${de}-${a}`,style:db,children:c["edge.a11yDescription.default"]}),!b&&(0,d.jsx)(dh,{rfId:a})]})}let dj=(0,e.forwardRef)(({position:a="top-left",children:b,className:c,style:e,...f},g)=>{let h=`${a}`.split("-");return(0,d.jsx)("div",{className:F(["react-flow__panel",c,...h]),style:e,ref:g,...f,children:b})});function dk({proOptions:a,position:b="bottom-right"}){return a?.hideAttribution?null:(0,d.jsx)(dj,{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,d.jsx)("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}dj.displayName="Panel";let dl=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}},dm=a=>a.id;function dn(a,b){return c5(a.selectedNodes.map(dm),b.selectedNodes.map(dm))&&c5(a.selectedEdges.map(dm),b.selectedEdges.map(dm))}function dp({onSelectionChange:a}){da();let{selectedNodes:b,selectedEdges:c}=c9(dl,dn);return null}let dq=a=>!!a.onSelectionChangeHandlers;function dr({onSelectionChange:a}){let b=c9(dq);return a||b?(0,d.jsx)(dp,{onSelectionChange:a}):null}let ds=[0,0],dt={x:0,y:0,zoom:1},du=["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"],dv=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}),dw={translateExtent:bP,nodeOrigin:ds,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function dx(a){let{setNodes:b,setEdges:c,setMinZoom:d,setMaxZoom:f,setTranslateExtent:g,setNodeExtent:h,reset:i,setDefaultNodesAndEdges:j}=c9(dv,c5),k=da(),l=(0,e.useRef)(dw);return(0,e.useEffect)(()=>{for(let e of du){let i=a[e];if(i!==l.current[e]&&void 0!==a[e])if("nodes"===e)b(i);else if("edges"===e)c(i);else if("minZoom"===e)d(i);else if("maxZoom"===e)f(i);else if("translateExtent"===e)g(i);else if("nodeExtent"===e)h(i);else if("ariaLabelConfig"===e)k.setState({ariaLabelConfig:{...bR,...i||{}}});else"fitView"===e?k.setState({fitViewQueued:i}):"fitViewOptions"===e?k.setState({fitViewOptions:i}):k.setState({[e]:i})}l.current=a},du.map(b=>a[b])),null}let dy="undefined"!=typeof document?document:null;function dz(a=null,b={target:dy,actInsideInputWithModifier:!0}){let[c,d]=(0,e.useState)(!1);(0,e.useRef)(!1),(0,e.useRef)(new Set([]));let[f,g]=(0,e.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 dA(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 dB(a,b){return{id:a,type:"select",selected:b}}function dC(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(dB(f.id,a)))}return d}function dD({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 dE(a){return{id:a.id,type:"remove"}}let dF=ce("React Flow","https://reactflow.dev/"),dG=a=>(a=>"id"in a&&"position"in a&&!("source"in a)&&!("target"in a))(a);function dH(a){return(0,e.forwardRef)(a)}let dI=e.useEffect;function dJ(a){let[b,c]=(0,e.useState)(BigInt(0)),[d]=(0,e.useState)(()=>{var a;let b;return a=()=>c(a=>a+BigInt(1)),b=[],{get:()=>b,reset:()=>{b=[]},push:c=>{b.push(c),a()}}});return dI(()=>{let b=d.get();b.length&&(a(b),d.reset())},[b]),d}let dK=(0,e.createContext)(null);function dL({children:a}){let b=da(),c=dJ((0,e.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=dD({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)})},[])),f=dJ((0,e.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(dD({items:h,lookup:g}))},[])),g=(0,e.useMemo)(()=>({nodeQueue:c,edgeQueue:f}),[]);return(0,d.jsx)(dK.Provider,{value:g,children:a})}let dM=a=>!!a.panZoom;function dN(){let a=(()=>{let a=da();return(0,e.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=cj(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 cg(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=ch(b,c);return{x:g.x+e,y:g.y+f}}}),[])})(),b=da(),c=function(){let a=(0,e.useContext)(dK);if(!a)throw Error("useBatchContext must be used within a BatchProvider");return a}(),d=c9(dM),f=(0,e.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=dG(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 b8({...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&&dG(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&&bV(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 b_({nodesToRemove:a,edgesToRemove:c,nodes:d,edges:e,onBeforeDelete:k}),n=m.length>0,o=l.length>0;if(n){let a=m.map(dE);g?.(m),i(a)}if(o){let a=l.map(dE);f?.(l),h(a)}return(o||n)&&j?.({nodes:l,edges:m}),{deletedNodes:l,deletedEdges:m}},getIntersectingNodes:(a,c=!0,d)=>{let e=cc(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=b8(h?d:f),j=cb(i,g);return c&&j>0||j>=i.width*i.height||j>=g.width*g.height}):[]},isNodeIntersecting:(a,b,c=!0)=>{let d=cc(a)?a:f(a);if(!d)return!1;let e=cb(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}:b7(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):bW(c)?c:b.nodeLookup.get(c.id)),b5(a,e?b9(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,e.useMemo)(()=>({...f,...a,viewportInitialized:d}),[d])}let dO=void 0,dP={position:"absolute",width:"100%",height:"100%",top:0,left:0},dQ=a=>({userSelectionActive:a.userSelectionActive,lib:a.lib,connectionInProgress:a.connection.inProgress});function dR({onPaneContextMenu:a,zoomOnScroll:b=!0,zoomOnPinch:c=!0,panOnScroll:f=!1,panOnScrollSpeed:g=.5,panOnScrollMode:h=gJ.Free,zoomOnDoubleClick:i=!0,panOnDrag:j=!0,defaultViewport:k,translateExtent:l,minZoom:m,maxZoom:n,zoomActivationKeyCode:o,preventScrolling:p=!0,children:q,noWheelClassName:r,noPanClassName:s,onViewportChange:u,isControlledViewport:v,paneClickDistance:w,selectionOnDrag:x}){let y=da(),z=(0,e.useRef)(null),{userSelectionActive:A,lib:B,connectionInProgress:C}=c9(dQ,c5);return dz(o),(0,e.useRef)(),da(),(0,e.useCallback)(a=>{u?.({x:a[0],y:a[1],zoom:a[2]}),v||y.setState({transform:a})},[u,v]),(0,d.jsx)("div",{className:"react-flow__renderer",ref:z,style:dP,children:q})}let dS=a=>({userSelectionActive:a.userSelectionActive,userSelectionRect:a.userSelectionRect});function dT(){let{userSelectionActive:a,userSelectionRect:b}=c9(dS,c5);return a&&b?(0,d.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 dU=(a,b)=>c=>{c.target===b.current&&a?.(c)},dV=a=>({userSelectionActive:a.userSelectionActive,elementsSelectable:a.elementsSelectable,connectionInProgress:a.connection.inProgress,dragging:a.paneDragging,panBy:a.panBy,autoPanSpeed:a.autoPanSpeed});function dW({isSelecting:a,selectionKeyPressed:b,selectionMode:c=gK.Full,panOnDrag:f,autoPanOnSelection:g,paneClickDistance:h,selectionOnDrag:i,onSelectionStart:j,onSelectionEnd:k,onPaneClick:l,onPaneContextMenu:m,onPaneScroll:n,onPaneMouseEnter:o,onPaneMouseMove:p,onPaneMouseLeave:q,children:r}){let s=(0,e.useRef)(0),u=da(),{userSelectionActive:v,elementsSelectable:w,dragging:x,connectionInProgress:y,panBy:z,autoPanSpeed:A}=c9(dV,c5),B=w&&(a||v),C=(0,e.useRef)(null),D=(0,e.useRef)(),E=(0,e.useRef)(new Set),G=(0,e.useRef)(new Set),H=(0,e.useRef)(!1),I=(0,e.useRef)({x:0,y:0}),J=(0,e.useRef)(!1),K=a=>{if(H.current||y){H.current=!1;return}l?.(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:g,connectionLookup:h,triggerNodeChanges:i,triggerEdgeChanges:j,defaultEdgeOptions:k}=u.getState(),l={x:d.startX,y:d.startY},{x:m,y:n}=ch(l,e),o={startX:l.x,startY:l.y,x:a<m?a:m,y:b<n?b:n,width:Math.abs(a-m),height:Math.abs(b-n)},p=E.current,q=G.current;E.current=new Set(bZ(f,o,e,c===gK.Partial,!0).map(a=>a.id)),G.current=new Set;let r=k?.selectable??!0;for(let a of E.current){let b=h.get(a);if(b)for(let{edgeId:a}of b.values()){let b=g.get(a);b&&(b.selectable??r)&&G.current.add(a)}}co(p,E.current)||i(dC(f,E.current,!0)),co(q,G.current)||j(dC(g,G.current)),u.setState({userSelectionRect:o,userSelectionActive:!0,nodesSelectionActive:!1})}let M=()=>{cancelAnimationFrame(s.current),s.current=0,J.current=!1},N=!0===f||Array.isArray(f)&&f.includes(0);return(0,d.jsxs)("div",{className:F(["react-flow__pane",{draggable:N,dragging:x,selection:a}]),onClick:B?void 0:dU(K,C),onContextMenu:dU(a=>{if(Array.isArray(f)&&f?.includes(2))return void a.preventDefault();m?.(a)},C),onWheel:dU(n?a=>n(a):void 0,C),onPointerEnter:B?void 0:o,onPointerMove:B?a=>{let{userSelectionRect:c,transform:d,resetSelectedElements:e}=u.getState();if(!D.current||!c)return;let{x:f,y:i}=cs(a.nativeEvent,D.current);I.current={x:f,y:i};let k=ch({x:c.startX,y:c.startY},d);if(!H.current){if(Math.hypot(f-k.x,i-k.y)<=(b?0:h))return;e(),j?.(a)}H.current=!0,J.current||(!function a(){if(!g||!D.current)return;let[b,c]=b4(I.current,D.current,A);z({x:b,y:c}).then(b=>{if(!H.current||!b){s.current=requestAnimationFrame(a);return}let{x:c,y:d}=I.current;L(c,d),s.current=requestAnimationFrame(a)})}(),J.current=!0),L(f,i)}:p,onPointerUp:B?a=>{0===a.button&&(a.target?.releasePointerCapture?.(a.pointerId),!v&&a.target===C.current&&u.getState().userSelectionRect&&K?.(a),u.setState({userSelectionActive:!1,userSelectionRect:null}),H.current&&(k?.(a),u.setState({nodesSelectionActive:E.current.size>0})),M())}:void 0,onPointerCancel:B?a=>{a.target?.releasePointerCapture?.(a.pointerId),M()}:void 0,onPointerDownCapture:B?c=>{let{domNode:d,transform:e}=u.getState();if(D.current=d?.getBoundingClientRect(),!D.current)return;let f=c.target===C.current;if(!f&&c.target.closest(".nokey")||!a||!(i&&f||b)||0!==c.button||!c.isPrimary)return;c.target?.setPointerCapture?.(c.pointerId),H.current=!1;let{x:g,y:h}=cs(c.nativeEvent,D.current),j=cg({x:g,y:h},e);u.setState({userSelectionRect:{width:0,height:0,startX:j.x,startY:j.y,x:g,y:h}}),f||(c.stopPropagation(),c.preventDefault())}:void 0,onClickCapture:B?a=>{H.current&&(a.stopPropagation(),H.current=!1)}:void 0,onPointerLeave:q,ref:C,style:dP,children:[r,(0,d.jsx)(dT,{})]})}function dX({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",bO.error012(a));b.setState({nodesSelectionActive:!1}),j.selected?(c||j.selected&&g)&&(f({nodes:[j],edges:[]}),requestAnimationFrame(()=>d?.current?.blur())):e([a])}function dY({nodeRef:a,disabled:b=!1,noDragClassName:c,handleSelector:d,nodeId:f,isSelectable:g,nodeClickDistance:h}){da();let[i,j]=(0,e.useState)(!1);return(0,e.useRef)(),i}function dZ(){let a=da();return(0,e.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=cf(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&&cl(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",bO.error005());let m=cl(l)?b1(b,l,g.measured):b;return(void 0===g.measured.width||void 0===g.measured.height)&&f?.("015",bO.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 d$=(0,e.createContext)(null),d_=d$.Provider;d$.Consumer;let d0=a=>({connectOnClick:a.connectOnClick,noPanClassName:a.noPanClassName,rfId:a.rfId}),d1=(0,e.memo)(dH(function({type:a="source",position:b=gN.Top,isValidConnection:c,isConnectable:f=!0,isConnectableStart:g=!0,isConnectableEnd:h=!0,id:i,onConnect:j,children:k,className:l,onMouseDown:m,onTouchStart:n,...o},p){let q=i||null,r="target"===a,s=da(),u=(0,e.useContext)(d$),{connectOnClick:v,noPanClassName:w,rfId:x}=c9(d0,c5),{connectingFrom:y,connectingTo:z,clickConnecting:A,isPossibleEndHandle:B,connectionInProcess:C,clickConnectionInProcess:D,valid:E}=c9(b=>{let{connectionClickStartHandle:c,connectionMode:d,connection:e}=b,{fromHandle:f,toHandle:g,isValid:h}=e,i=g?.nodeId===u&&g?.id===q&&g?.type===a;return{connectingFrom:f?.nodeId===u&&f?.id===q&&f?.type===a,connectingTo:i,clickConnecting:c?.nodeId===u&&c?.id===q&&c?.type===a,isPossibleEndHandle:d===gI.Strict?f?.type!==a:u!==f?.nodeId||q!==f?.id,connectionInProcess:!!f,clickConnectionInProcess:!!c,valid:i&&h}},c5);u||s.getState().onError?.("010",bO.error010());let G=a=>{let{defaultEdgeOptions:b,onConnect:c,hasDefaultEdges:d}=s.getState(),e={...b,...a};if(d){let{edges:a,setEdges:b,onError:c}=s.getState();b(function(a,b,c={}){return((a,b,c={})=>{let d,e;if(!a.source||!a.target)return c.onError?.("006",bO.error006()),b;let f=c.getEdgeId||cz;return(e=d=bV(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??dF})}(e,a,{onError:c}))}c?.(e),j?.(e)},H=a=>{if(!u)return;let b="clientX"in a.nativeEvent;if(g&&(b&&0===a.button||!b)){let b=s.getState();cZ.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:r,handleId:q,nodeId:u,flowId:b.rfId,panBy:b.panBy,cancelConnection:b.cancelConnection,onConnectStart:b.onConnectStart,onConnectEnd:(...a)=>s.getState().onConnectEnd?.(...a),updateConnection:b.updateConnection,onConnect:G,isValidConnection:c||((...a)=>s.getState().isValidConnection?.(...a)??!0),getTransform:()=>s.getState().transform,getFromHandle:()=>s.getState().connection.fromHandle,autoPanSpeed:b.autoPanSpeed,dragThreshold:b.connectionDragThreshold})}b?m?.(a):n?.(a)};return(0,d.jsx)("div",{"data-handleid":q,"data-nodeid":u,"data-handlepos":b,"data-id":`${x}-${u}-${q}-${a}`,className:F(["react-flow__handle",`react-flow__handle-${b}`,"nodrag",w,l,{source:!r,target:r,connectable:f,connectablestart:g,connectableend:h,clickconnecting:A,connectingfrom:y,connectingto:z,valid:E,connectionindicator:f&&(!C||B)&&(C||D?h:g)}]),onMouseDown:H,onTouchStart:H,onClick:v?b=>{let{onClickConnectStart:d,onClickConnectEnd:e,connectionClickStartHandle:f,connectionMode:h,isValidConnection:i,lib:j,rfId:k,nodeLookup:l,connection:m}=s.getState();if(!u||!f&&!g)return;if(!f){d?.(b.nativeEvent,{nodeId:u,handleId:q,handleType:a}),s.setState({connectionClickStartHandle:{nodeId:u,type:a,id:q}});return}let n=cq(b.target),o=c||i,{connection:p,isValid:r}=cZ.isValid(b.nativeEvent,{handle:{nodeId:u,id:q,type:a},connectionMode:h,fromNodeId:f.nodeId,fromHandleId:f.id||null,fromType:f.type,isValidConnection:o,flowId:k,doc:n,lib:j,nodeLookup:l});r&&p&&G(p);let v=structuredClone(m);delete v.inProgress,v.toPosition=v.toHandle?v.toHandle.position:null,e?.(b,v),s.setState({connectionClickStartHandle:null})}:void 0,ref:p,...o,children:k})})),d2={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},d3={input:function({data:a,isConnectable:b,sourcePosition:c=gN.Bottom}){return(0,d.jsxs)(d.Fragment,{children:[a?.label,(0,d.jsx)(d1,{type:"source",position:c,isConnectable:b})]})},default:function({data:a,isConnectable:b,targetPosition:c=gN.Top,sourcePosition:e=gN.Bottom}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(d1,{type:"target",position:c,isConnectable:b}),a?.label,(0,d.jsx)(d1,{type:"source",position:e,isConnectable:b})]})},output:function({data:a,isConnectable:b,targetPosition:c=gN.Top}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(d1,{type:"target",position:c,isConnectable:b}),a?.label]})},group:function(){return null}},d4=a=>{let{width:b,height:c,x:d,y:e}=bY(a.nodeLookup,{filter:a=>!!a.selected});return{width:cd(b)?b:null,height:cd(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 d5({onSelectionContextMenu:a,noPanClassName:b,disableKeyboardA11y:c}){let f=da(),{width:g,height:h,transformString:i,userSelectionActive:j}=c9(d4,c5),k=dZ(),l=(0,e.useRef)(null),m=!j&&null!==g&&null!==h;if(dY({nodeRef:l,disabled:!m}),!m)return null;let n=a?b=>{a(b,f.getState().nodes.filter(a=>a.selected))}:void 0;return(0,d.jsx)("div",{className:F(["react-flow__nodesselection","react-flow__container",b]),style:{transform:i},children:(0,d.jsx)("div",{ref:l,className:"react-flow__nodesselection-rect",onContextMenu:n,tabIndex:c?void 0:-1,onKeyDown:c?void 0:a=>{Object.prototype.hasOwnProperty.call(d2,a.key)&&(a.preventDefault(),k({direction:d2[a.key],factor:a.shiftKey?4:1}))},style:{width:g,height:h}})})}let d6=void 0,d7=a=>({nodesSelectionActive:a.nodesSelectionActive,userSelectionActive:a.userSelectionActive});function d8({children:a,onPaneClick:b,onPaneMouseEnter:c,onPaneMouseMove:e,onPaneMouseLeave:f,onPaneContextMenu:g,onPaneScroll:h,paneClickDistance:i,deleteKeyCode:j,selectionKeyCode:k,selectionOnDrag:l,selectionMode:m,onSelectionStart:n,onSelectionEnd:o,multiSelectionKeyCode:p,panActivationKeyCode:q,zoomActivationKeyCode:r,elementsSelectable:s,zoomOnScroll:u,zoomOnPinch:v,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:y,zoomOnDoubleClick:z,panOnDrag:A,autoPanOnSelection:B,defaultViewport:C,translateExtent:D,minZoom:E,maxZoom:F,preventScrolling:G,onSelectionContextMenu:H,noWheelClassName:I,noPanClassName:J,disableKeyboardA11y:K,onViewportChange:L,isControlledViewport:M}){let{nodesSelectionActive:N,userSelectionActive:O}=c9(d7,c5),P=dz(k,{target:d6}),Q=dz(q,{target:d6}),R=Q||A,S=Q||w,T=l&&!0!==R,U=P||O||T;return!function({deleteKeyCode:a,multiSelectionKeyCode:b}){da();let{deleteElements:c}=dN();dz(a,{actInsideInputWithModifier:!1}),dz(b,{target:dO})}({deleteKeyCode:j,multiSelectionKeyCode:p}),(0,d.jsx)(dR,{onPaneContextMenu:g,elementsSelectable:s,zoomOnScroll:u,zoomOnPinch:v,panOnScroll:S,panOnScrollSpeed:x,panOnScrollMode:y,zoomOnDoubleClick:z,panOnDrag:!P&&R,defaultViewport:C,translateExtent:D,minZoom:E,maxZoom:F,zoomActivationKeyCode:r,preventScrolling:G,noWheelClassName:I,noPanClassName:J,onViewportChange:L,isControlledViewport:M,paneClickDistance:i,selectionOnDrag:T,children:(0,d.jsxs)(dW,{onSelectionStart:n,onSelectionEnd:o,onPaneClick:b,onPaneMouseEnter:c,onPaneMouseMove:e,onPaneMouseLeave:f,onPaneContextMenu:g,onPaneScroll:h,panOnDrag:R,autoPanOnSelection:B,isSelecting:!!U,selectionMode:m,selectionKeyPressed:P,paneClickDistance:i,selectionOnDrag:T,children:[a,N&&(0,d.jsx)(d5,{onSelectionContextMenu:H,noPanClassName:J,disableKeyboardA11y:K})]})})}d8.displayName="FlowRenderer";let d9=(0,e.memo)(d8),ea=a=>a.updateNodeInternals;var eb=(0,e.memo)(function({id:a,onClick:b,onMouseEnter:c,onMouseMove:f,onMouseLeave:g,onContextMenu:h,onDoubleClick:i,nodesDraggable:j,elementsSelectable:k,nodesConnectable:l,nodesFocusable:m,resizeObserver:n,noDragClassName:o,noPanClassName:p,disableKeyboardA11y:q,rfId:r,nodeTypes:s,nodeClickDistance:u,onError:v}){let{node:w,internals:x,isParent:y}=c9(b=>{let c=b.nodeLookup.get(a),d=b.parentLookup.has(a);return{node:c,internals:c.internals,isParent:d}},c5),z=w.type||"default",A=s?.[z]||d3[z];void 0===A&&(v?.("003",bO.error003(z)),z="default",A=s?.default||d3.default);let B=!!(w.draggable||j&&void 0===w.draggable),C=!!(w.selectable||k&&void 0===w.selectable),D=!!(w.connectable||l&&void 0===w.connectable),E=!!(w.focusable||m&&void 0===w.focusable),G=da(),H=cn(w),I=function({node:a,nodeType:b,hasDimensions:c,resizeObserver:d}){da();let f=(0,e.useRef)(null);return(0,e.useRef)(null),(0,e.useRef)(a.sourcePosition),(0,e.useRef)(a.targetPosition),(0,e.useRef)(b),c&&a.internals.handleBounds,f}({node:w,nodeType:z,hasDimensions:H,resizeObserver:n}),J=dY({nodeRef:I,disabled:w.hidden||!B,noDragClassName:o,handleSelector:w.dragHandle,nodeId:a,isSelectable:C,nodeClickDistance:u}),K=dZ();if(w.hidden)return null;let L=cm(w),M=void 0===w.internals.handleBounds?{width:w.width??w.initialWidth??w.style?.width,height:w.height??w.initialHeight??w.style?.height}:{width:w.width??w.style?.width,height:w.height??w.style?.height},N=C||B||b||c||f||g,O=c?a=>c(a,{...x.userNode}):void 0,P=f?a=>f(a,{...x.userNode}):void 0,Q=g?a=>g(a,{...x.userNode}):void 0,R=h?a=>h(a,{...x.userNode}):void 0,S=i?a=>i(a,{...x.userNode}):void 0;return(0,d.jsx)("div",{className:F(["react-flow__node",`react-flow__node-${z}`,{[p]:B},w.className,{selected:w.selected,selectable:C,parent:y,draggable:B,dragging:J}]),ref:I,style:{zIndex:x.z,transform:`translate(${x.positionAbsolute.x}px,${x.positionAbsolute.y}px)`,pointerEvents:N?"all":"none",visibility:H?"visible":"hidden",...w.style,...M},"data-id":a,"data-testid":`rf__node-${a}`,onMouseEnter:O,onMouseMove:P,onMouseLeave:Q,onContextMenu:R,onClick:c=>{let{selectNodesOnDrag:d,nodeDragThreshold:e}=G.getState();C&&(!d||!B||e>0)&&dX({id:a,store:G,nodeRef:I}),b&&b(c,{...x.userNode})},onDoubleClick:S,onKeyDown:E?b=>{if(!function(a){let b=a.composedPath?.()?.[0]||a.target;return b?.nodeType===1&&(cr.includes(b.nodeName)||b.hasAttribute("contenteditable")||!!b.closest(".nokey"))}(b.nativeEvent)&&!q){if(bQ.includes(b.key)&&C)dX({id:a,store:G,unselect:"Escape"===b.key,nodeRef:I});else if(B&&w.selected&&Object.prototype.hasOwnProperty.call(d2,b.key)){b.preventDefault();let{ariaLabelConfig:a}=G.getState();G.setState({ariaLiveMessage:a["node.a11yDescription.ariaLiveMessage"]({direction:b.key.replace("Arrow","").toLowerCase(),x:~~x.positionAbsolute.x,y:~~x.positionAbsolute.y})}),K({direction:d2[b.key],factor:b.shiftKey?4:1})}}}:void 0,tabIndex:E?0:void 0,onFocus:E?()=>{if(q||!I.current?.matches(":focus-visible"))return;let{transform:b,width:c,height:d,autoPanOnNodeFocus:e,setCenter:f}=G.getState();e&&(bZ(new Map([[a,w]]),{x:0,y:0,width:c,height:d},b,!0).length>0||f(w.position.x+L.width/2,w.position.y+L.height/2,{zoom:b[2]}))}:void 0,role:w.ariaRole??(E?"group":void 0),"aria-roledescription":"node","aria-describedby":q?void 0:`${dd}-${r}`,"aria-label":w.ariaLabel,...w.domAttributes,children:(0,d.jsx)(d_,{value:a,children:(0,d.jsx)(A,{id:a,data:w.data,type:z,positionAbsoluteX:x.positionAbsolute.x,positionAbsoluteY:x.positionAbsolute.y,selected:w.selected??!1,selectable:C,draggable:B,deletable:w.deletable??!0,isConnectable:D,sourcePosition:w.sourcePosition,targetPosition:w.targetPosition,dragging:J,dragHandle:w.dragHandle,zIndex:x.z,parentId:w.parentId,...L})})})});let ec=a=>({nodesDraggable:a.nodesDraggable,nodesConnectable:a.nodesConnectable,nodesFocusable:a.nodesFocusable,elementsSelectable:a.elementsSelectable,onError:a.onError});function ed(a){var b;let{nodesDraggable:c,nodesConnectable:f,nodesFocusable:g,elementsSelectable:h,onError:i}=c9(ec,c5),j=(b=a.onlyRenderVisibleElements,c9((0,e.useCallback)(a=>b?bZ(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]),c5)),k=function(){let a=c9(ea),[b]=(0,e.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,d.jsx)("div",{className:"react-flow__nodes",style:dP,children:j.map(b=>(0,d.jsx)(eb,{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:k,nodesDraggable:c,nodesConnectable:f,nodesFocusable:g,elementsSelectable:h,nodeClickDistance:a.nodeClickDistance,onError:i},b))})}ed.displayName="NodeRenderer";let ee=(0,e.memo)(ed),ef={[gM.Arrow]:({color:a="none",strokeWidth:b=1})=>{let c={strokeWidth:b,...a&&{stroke:a}};return(0,d.jsx)("polyline",{className:"arrow",style:c,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},[gM.ArrowClosed]:({color:a="none",strokeWidth:b=1})=>{let c={strokeWidth:b,...a&&{stroke:a,fill:a}};return(0,d.jsx)("polyline",{className:"arrowclosed",style:c,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},eg=({id:a,type:b,color:c,width:f=12.5,height:g=12.5,markerUnits:h="strokeWidth",strokeWidth:i,orient:j="auto-start-reverse"})=>{let k=function(a){let b=da();return(0,e.useMemo)(()=>Object.prototype.hasOwnProperty.call(ef,a)?ef[a]:(b.getState().onError?.("009",bO.error009(a)),null),[a])}(b);return k?(0,d.jsx)("marker",{className:"react-flow__arrowhead",id:a,markerWidth:`${f}`,markerHeight:`${g}`,viewBox:"-10 -10 20 20",markerUnits:h,orient:j,refX:"0",refY:"0",children:(0,d.jsx)(k,{color:c,strokeWidth:i})}):null},eh=({defaultColor:a,rfId:b})=>{let c=c9(a=>a.edges),f=c9(a=>a.defaultEdgeOptions),g=(0,e.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=cJ(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:f?.markerStart,defaultMarkerEnd:f?.markerEnd}),[c,f,b,a]);return g.length?(0,d.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,d.jsx)("defs",{children:g.map(a=>(0,d.jsx)(eg,{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};eh.displayName="MarkerDefinitions";var ei=(0,e.memo)(eh);function ej({x:a,y:b,label:c,labelStyle:f,labelShowBg:g=!0,labelBgStyle:h,labelBgPadding:i=[2,4],labelBgBorderRadius:j=2,children:k,className:l,...m}){let[n,o]=(0,e.useState)({x:1,y:0,width:0,height:0}),p=F(["react-flow__edge-textwrapper",l]),q=(0,e.useRef)(null);return c?(0,d.jsxs)("g",{transform:`translate(${a-n.width/2} ${b-n.height/2})`,className:p,visibility:n.width?"visible":"hidden",...m,children:[g&&(0,d.jsx)("rect",{width:n.width+2*i[0],x:-i[0],y:-i[1],height:n.height+2*i[1],className:"react-flow__edge-textbg",style:h,rx:j,ry:j}),(0,d.jsx)("text",{className:"react-flow__edge-text",y:n.height/2,dy:"0.3em",ref:q,style:f,children:c}),k]}):null}ej.displayName="EdgeText";let ek=(0,e.memo)(ej);function el({path:a,labelX:b,labelY:c,label:e,labelStyle:f,labelShowBg:g,labelBgStyle:h,labelBgPadding:i,labelBgBorderRadius:j,interactionWidth:k=20,...l}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("path",{...l,d:a,fill:"none",className:F(["react-flow__edge-path",l.className])}),k?(0,d.jsx)("path",{d:a,fill:"none",strokeOpacity:0,strokeWidth:k,className:"react-flow__edge-interaction"}):null,e&&cd(b)&&cd(c)?(0,d.jsx)(ek,{x:b,y:c,label:e,labelStyle:f,labelShowBg:g,labelBgStyle:h,labelBgPadding:i,labelBgBorderRadius:j}):null]})}function em({pos:a,x1:b,y1:c,x2:d,y2:e}){return a===gN.Left||a===gN.Right?[.5*(b+d),c]:[b,.5*(c+e)]}function en({sourceX:a,sourceY:b,sourcePosition:c=gN.Bottom,targetX:d,targetY:e,targetPosition:f=gN.Top}){let[g,h]=em({pos:c,x1:a,y1:b,x2:d,y2:e}),[i,j]=em({pos:f,x1:d,y1:e,x2:a,y2:b}),[k,l,m,n]=cu({sourceX:a,sourceY:b,targetX:d,targetY:e,sourceControlX:g,sourceControlY:h,targetControlX:i,targetControlY:j});return[`M${a},${b} C${g},${h} ${i},${j} ${d},${e}`,k,l,m,n]}function eo(a){return(0,e.memo)(({id:b,sourceX:c,sourceY:e,targetX:f,targetY:g,sourcePosition:h,targetPosition:i,label:j,labelStyle:k,labelShowBg:l,labelBgStyle:m,labelBgPadding:n,labelBgBorderRadius:o,style:p,markerEnd:q,markerStart:r,interactionWidth:s})=>{let[u,v,w]=en({sourceX:c,sourceY:e,sourcePosition:h,targetX:f,targetY:g,targetPosition:i}),x=a.isInternal?void 0:b;return(0,d.jsx)(el,{id:x,path:u,labelX:v,labelY:w,label:j,labelStyle:k,labelShowBg:l,labelBgStyle:m,labelBgPadding:n,labelBgBorderRadius:o,style:p,markerEnd:q,markerStart:r,interactionWidth:s})})}let ep=eo({isInternal:!1}),eq=eo({isInternal:!0});function er(a){return(0,e.memo)(({id:b,sourceX:c,sourceY:e,targetX:f,targetY:g,label:h,labelStyle:i,labelShowBg:j,labelBgStyle:k,labelBgPadding:l,labelBgBorderRadius:m,style:n,sourcePosition:o=gN.Bottom,targetPosition:p=gN.Top,markerEnd:q,markerStart:r,pathOptions:s,interactionWidth:u})=>{let[v,w,x]=cE({sourceX:c,sourceY:e,sourcePosition:o,targetX:f,targetY:g,targetPosition:p,borderRadius:s?.borderRadius,offset:s?.offset,stepPosition:s?.stepPosition}),y=a.isInternal?void 0:b;return(0,d.jsx)(el,{id:y,path:v,labelX:w,labelY:x,label:h,labelStyle:i,labelShowBg:j,labelBgStyle:k,labelBgPadding:l,labelBgBorderRadius:m,style:n,markerEnd:q,markerStart:r,interactionWidth:u})})}ep.displayName="SimpleBezierEdge",eq.displayName="SimpleBezierEdgeInternal";let es=er({isInternal:!1}),et=er({isInternal:!0});function eu(a){return(0,e.memo)(({id:b,...c})=>{let f=a.isInternal?void 0:b;return(0,d.jsx)(es,{...c,id:f,pathOptions:(0,e.useMemo)(()=>({borderRadius:0,offset:c.pathOptions?.offset}),[c.pathOptions?.offset])})})}es.displayName="SmoothStepEdge",et.displayName="SmoothStepEdgeInternal";let ev=eu({isInternal:!1}),ew=eu({isInternal:!0});function ex(a){return(0,e.memo)(({id:b,sourceX:c,sourceY:e,targetX:f,targetY:g,label:h,labelStyle:i,labelShowBg:j,labelBgStyle:k,labelBgPadding:l,labelBgBorderRadius:m,style:n,markerEnd:o,markerStart:p,interactionWidth:q})=>{let[r,s,u]=cA({sourceX:c,sourceY:e,targetX:f,targetY:g}),v=a.isInternal?void 0:b;return(0,d.jsx)(el,{id:v,path:r,labelX:s,labelY:u,label:h,labelStyle:i,labelShowBg:j,labelBgStyle:k,labelBgPadding:l,labelBgBorderRadius:m,style:n,markerEnd:o,markerStart:p,interactionWidth:q})})}ev.displayName="StepEdge",ew.displayName="StepEdgeInternal";let ey=ex({isInternal:!1}),ez=ex({isInternal:!0});function eA(a){return(0,e.memo)(({id:b,sourceX:c,sourceY:e,targetX:f,targetY:g,sourcePosition:h=gN.Bottom,targetPosition:i=gN.Top,label:j,labelStyle:k,labelShowBg:l,labelBgStyle:m,labelBgPadding:n,labelBgBorderRadius:o,style:p,markerEnd:q,markerStart:r,pathOptions:s,interactionWidth:u})=>{let[v,w,x]=cx({sourceX:c,sourceY:e,sourcePosition:h,targetX:f,targetY:g,targetPosition:i,curvature:s?.curvature}),y=a.isInternal?void 0:b;return(0,d.jsx)(el,{id:y,path:v,labelX:w,labelY:x,label:j,labelStyle:k,labelShowBg:l,labelBgStyle:m,labelBgPadding:n,labelBgBorderRadius:o,style:p,markerEnd:q,markerStart:r,interactionWidth:u})})}ey.displayName="StraightEdge",ez.displayName="StraightEdgeInternal";let eB=eA({isInternal:!1}),eC=eA({isInternal:!0});eB.displayName="BezierEdge",eC.displayName="BezierEdgeInternal";let eD={default:eC,straight:ez,step:ew,smoothstep:et,simplebezier:eq},eE={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},eF="react-flow__edgeupdater";function eG({position:a,centerX:b,centerY:c,radius:e=10,onMouseDown:f,onMouseEnter:g,onMouseOut:h,type:i}){return(0,d.jsx)("circle",{onMouseDown:f,onMouseEnter:g,onMouseOut:h,className:F([eF,`${eF}-${i}`]),cx:a===gN.Left?b-e:a===gN.Right?b+e:b,cy:a===gN.Top?c-e:a===gN.Bottom?c+e:c,r:e,stroke:"transparent",fill:"transparent"})}function eH({isReconnectable:a,reconnectRadius:b,edge:c,sourceX:e,sourceY:f,targetX:g,targetY:h,sourcePosition:i,targetPosition:j,onReconnect:k,onReconnectStart:l,onReconnectEnd:m,setReconnecting:n,setUpdateHover:o}){let p=da(),q=(a,b)=>{if(0!==a.button)return;let{autoPanOnConnect:d,domNode:e,connectionMode:f,connectionRadius:g,lib:h,onConnectStart:i,cancelConnection:j,nodeLookup:o,rfId:q,panBy:r,updateConnection:s}=p.getState(),u="target"===b.type;cZ.onPointerDown(a.nativeEvent,{autoPanOnConnect:d,connectionMode:f,connectionRadius:g,domNode:e,handleId:b.id,nodeId:b.nodeId,nodeLookup:o,isTarget:u,edgeUpdaterType:b.type,lib:h,flowId:q,cancelConnection:j,panBy:r,isValidConnection:(...a)=>p.getState().isValidConnection?.(...a)??!0,onConnect:a=>k?.(c,a),onConnectStart:(d,e)=>{n(!0),l?.(a,c,b.type),i?.(d,e)},onConnectEnd:(...a)=>p.getState().onConnectEnd?.(...a),onReconnectEnd:(a,d)=>{n(!1),m?.(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,d.jsxs)(d.Fragment,{children:[(!0===a||"source"===a)&&(0,d.jsx)(eG,{position:i,centerX:e,centerY:f,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,d.jsx)(eG,{position:j,centerX:g,centerY:h,radius:b,onMouseDown:a=>q(a,{nodeId:c.source,id:c.sourceHandle??null,type:"source"}),onMouseEnter:r,onMouseOut:s,type:"target"})]})}var eI=(0,e.memo)(function({id:a,edgesFocusable:b,edgesReconnectable:c,elementsSelectable:f,onClick:g,onDoubleClick:h,onContextMenu:i,onMouseEnter:j,onMouseMove:k,onMouseLeave:l,reconnectRadius:m,onReconnect:n,onReconnectStart:o,onReconnectEnd:p,rfId:q,edgeTypes:r,noPanClassName:s,onError:u,disableKeyboardA11y:v}){let w=c9(b=>b.edgeLookup.get(a)),x=c9(a=>a.defaultEdgeOptions),y=(w=x?{...x,...w}:w).type||"default",z=r?.[y]||eD[y];void 0===z&&(u?.("011",bO.error011(y)),y="default",z=r?.default||eD.default);let A=!!(w.focusable||b&&void 0===w.focusable),B=void 0!==n&&(w.reconnectable||c&&void 0===w.reconnectable),C=!!(w.selectable||f&&void 0===w.selectable),D=(0,e.useRef)(null),[E,G]=(0,e.useState)(!1),[H,I]=(0,e.useState)(!1),J=da(),{zIndex:K,sourceX:L,sourceY:M,targetX:N,targetY:O,sourcePosition:P,targetPosition:Q}=c9((0,e.useCallback)(b=>{let c=b.nodeLookup.get(w.source),d=b.nodeLookup.get(w.target);if(!c||!d)return{zIndex:w.zIndex,...eE};let e=function(a){let{sourceNode:b,targetNode:c}=a;if(!cF(b)||!cF(c))return null;let d=b.internals.handleBounds||cG(b.handles),e=c.internals.handleBounds||cG(c.handles),f=cI(d?.source??[],a.sourceHandle),g=cI(a.connectionMode===gI.Strict?e?.target??[]:(e?.target??[]).concat(e?.source??[]),a.targetHandle);if(!f||!g)return a.onError?.("008",bO.error008(!f?"source":"target",{id:a.id,sourceHandle:a.sourceHandle,targetHandle:a.targetHandle})),null;let h=f?.position||gN.Bottom,i=g?.position||gN.Top,j=cH(b,f,h),k=cH(c,g,i);return{sourceX:j.x,sourceY:j.y,targetX:k.x,targetY:k.y,sourcePosition:h,targetPosition:i}}({id:a,sourceNode:c,targetNode:d,sourceHandle:w.sourceHandle||null,targetHandle:w.targetHandle||null,connectionMode:b.connectionMode,onError:u});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:w.selected,zIndex:w.zIndex,sourceNode:c,targetNode:d,elevateOnSelect:b.elevateEdgesOnSelect,zIndexMode:b.zIndexMode}),...e||eE}},[w.source,w.target,w.sourceHandle,w.targetHandle,w.selected,w.zIndex]),c5),R=(0,e.useMemo)(()=>w.markerStart?`url('#${cJ(w.markerStart,q)}')`:void 0,[w.markerStart,q]),S=(0,e.useMemo)(()=>w.markerEnd?`url('#${cJ(w.markerEnd,q)}')`:void 0,[w.markerEnd,q]);if(w.hidden||null===L||null===M||null===N||null===O)return null;let T=h?a=>{h(a,{...w})}:void 0,U=i?a=>{i(a,{...w})}:void 0,V=j?a=>{j(a,{...w})}:void 0,W=k?a=>{k(a,{...w})}:void 0,X=l?a=>{l(a,{...w})}:void 0;return(0,d.jsx)("svg",{style:{zIndex:K},children:(0,d.jsxs)("g",{className:F(["react-flow__edge",`react-flow__edge-${y}`,w.className,s,{selected:w.selected,animated:w.animated,inactive:!C&&!g,updating:E,selectable:C}]),onClick:b=>{let{addSelectedEdges:c,unselectNodesAndEdges:d,multiSelectionActive:e}=J.getState();C&&(J.setState({nodesSelectionActive:!1}),w.selected&&e?(d({nodes:[],edges:[w]}),D.current?.blur()):c([a])),g&&g(b,w)},onDoubleClick:T,onContextMenu:U,onMouseEnter:V,onMouseMove:W,onMouseLeave:X,onKeyDown:A?b=>{if(!v&&bQ.includes(b.key)&&C){let{unselectNodesAndEdges:c,addSelectedEdges:d}=J.getState();"Escape"===b.key?(D.current?.blur(),c({edges:[w]})):d([a])}}:void 0,tabIndex:A?0:void 0,role:w.ariaRole??(A?"group":"img"),"aria-roledescription":"edge","data-id":a,"data-testid":`rf__edge-${a}`,"aria-label":null===w.ariaLabel?void 0:w.ariaLabel||`Edge from ${w.source} to ${w.target}`,"aria-describedby":A?`${de}-${q}`:void 0,ref:D,...w.domAttributes,children:[!H&&(0,d.jsx)(z,{id:a,source:w.source,target:w.target,type:w.type,selected:w.selected,animated:w.animated,selectable:C,deletable:w.deletable??!0,label:w.label,labelStyle:w.labelStyle,labelShowBg:w.labelShowBg,labelBgStyle:w.labelBgStyle,labelBgPadding:w.labelBgPadding,labelBgBorderRadius:w.labelBgBorderRadius,sourceX:L,sourceY:M,targetX:N,targetY:O,sourcePosition:P,targetPosition:Q,data:w.data,style:w.style,sourceHandleId:w.sourceHandle,targetHandleId:w.targetHandle,markerStart:R,markerEnd:S,pathOptions:"pathOptions"in w?w.pathOptions:void 0,interactionWidth:w.interactionWidth}),B&&(0,d.jsx)(eH,{edge:w,isReconnectable:B,reconnectRadius:m,onReconnect:n,onReconnectStart:o,onReconnectEnd:p,sourceX:L,sourceY:M,targetX:N,targetY:O,sourcePosition:P,targetPosition:Q,setUpdateHover:G,setReconnecting:I})]})})});let eJ=a=>({edgesFocusable:a.edgesFocusable,edgesReconnectable:a.edgesReconnectable,elementsSelectable:a.elementsSelectable,connectionMode:a.connectionMode,onError:a.onError});function eK({defaultMarkerColor:a,onlyRenderVisibleElements:b,rfId:c,edgeTypes:f,noPanClassName:g,onReconnect:h,onEdgeContextMenu:i,onEdgeMouseEnter:j,onEdgeMouseMove:k,onEdgeMouseLeave:l,onEdgeClick:m,reconnectRadius:n,onEdgeDoubleClick:o,onReconnectStart:p,onReconnectEnd:q,disableKeyboardA11y:r}){let{edgesFocusable:s,edgesReconnectable:u,elementsSelectable:v,onError:w}=c9(eJ,c5),x=c9((0,e.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=b5(b9(a),b9(b));return f.x===f.x2&&(f.x2+=1),f.y===f.y2&&(f.y2+=1),cb({x:-e[0]/e[2],y:-e[1]/e[2],width:c/e[2],height:d/e[2]},b7(f))>0}({sourceNode:d,targetNode:e,width:a.width,height:a.height,transform:a.transform})&&c.push(b.id)}return c},[b]),c5);return(0,d.jsxs)("div",{className:"react-flow__edges",children:[(0,d.jsx)(ei,{defaultColor:a,rfId:c}),x.map(a=>(0,d.jsx)(eI,{id:a,edgesFocusable:s,edgesReconnectable:u,elementsSelectable:v,noPanClassName:g,onReconnect:h,onContextMenu:i,onMouseEnter:j,onMouseMove:k,onMouseLeave:l,onClick:m,reconnectRadius:n,onDoubleClick:o,onReconnectStart:p,onReconnectEnd:q,rfId:c,onError:w,edgeTypes:f,disableKeyboardA11y:r},a))]})}eK.displayName="EdgeRenderer";let eL=(0,e.memo)(eK),eM=a=>`translate(${a.transform[0]}px,${a.transform[1]}px) scale(${a.transform[2]})`;function eN({children:a}){let b=c9(eM);return(0,d.jsx)("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:b},children:a})}let eO=a=>a.panZoom?.syncViewport;function eP(a){return a.connection.inProgress?{...a.connection,to:cg(a.connection.to,a.transform)}:{...a.connection}}let eQ=a=>({nodesConnectable:a.nodesConnectable,isValid:a.connection.isValid,inProgress:a.connection.inProgress,width:a.width,height:a.height});function eR({containerStyle:a,style:b,type:c,component:e}){let{nodesConnectable:f,width:g,height:h,isValid:i,inProgress:j}=c9(eQ,c5);return g&&f&&j?(0,d.jsx)("svg",{style:a,width:g,height:h,className:"react-flow__connectionline react-flow__container",children:(0,d.jsx)("g",{className:F(["react-flow__connection",bU(i)]),children:(0,d.jsx)(eS,{style:b,type:c,CustomComponent:e,isValid:i})})}):null}let eS=({style:a,type:b=gL.Bezier,CustomComponent:c,isValid:e})=>{let{inProgress:f,from:g,fromNode:h,fromHandle:i,fromPosition:j,to:k,toNode:l,toHandle:m,toPosition:n,pointer:o}=function(a){return c9(eP,c5)}();if(!f)return;if(c)return(0,d.jsx)(c,{connectionLineType:b,connectionLineStyle:a,fromNode:h,fromHandle:i,fromX:g.x,fromY:g.y,toX:k.x,toY:k.y,fromPosition:j,toPosition:n,connectionStatus:bU(e),toNode:l,toHandle:m,pointer:o});let p="",q={sourceX:g.x,sourceY:g.y,sourcePosition:j,targetX:k.x,targetY:k.y,targetPosition:n};switch(b){case gL.Bezier:[p]=cx(q);break;case gL.SimpleBezier:[p]=en(q);break;case gL.Step:[p]=cE({...q,borderRadius:0});break;case gL.SmoothStep:[p]=cE(q);break;default:[p]=cA(q)}return(0,d.jsx)("path",{d:p,fill:"none",className:"react-flow__connection-path",style:a})};eS.displayName="ConnectionLine";let eT={};function eU(a=eT){(0,e.useRef)(a),da()}function eV({nodeTypes:a,edgeTypes:b,onInit:c,onNodeClick:f,onEdgeClick:g,onNodeDoubleClick:h,onEdgeDoubleClick:i,onNodeMouseEnter:j,onNodeMouseMove:k,onNodeMouseLeave:l,onNodeContextMenu:m,onSelectionContextMenu:n,onSelectionStart:o,onSelectionEnd:p,connectionLineType:q,connectionLineStyle:r,connectionLineComponent:s,connectionLineContainerStyle:u,selectionKeyCode:v,selectionOnDrag:w,selectionMode:x,multiSelectionKeyCode:y,panActivationKeyCode:z,zoomActivationKeyCode:A,deleteKeyCode:B,onlyRenderVisibleElements:C,elementsSelectable:D,defaultViewport:E,translateExtent:F,minZoom:G,maxZoom:H,preventScrolling:I,defaultMarkerColor:J,zoomOnScroll:K,zoomOnPinch:L,panOnScroll:M,panOnScrollSpeed:N,panOnScrollMode:O,zoomOnDoubleClick:P,panOnDrag:Q,autoPanOnSelection:R,onPaneClick:S,onPaneMouseEnter:T,onPaneMouseMove:U,onPaneMouseLeave:V,onPaneScroll:W,onPaneContextMenu:X,paneClickDistance:Y,nodeClickDistance:Z,onEdgeContextMenu:$,onEdgeMouseEnter:_,onEdgeMouseMove:aa,onEdgeMouseLeave:ab,reconnectRadius:ac,onReconnect:ad,onReconnectStart:ae,onReconnectEnd:af,noDragClassName:ag,noWheelClassName:ah,noPanClassName:ai,disableKeyboardA11y:aj,nodeExtent:ak,rfId:al,viewport:am,onViewportChange:an}){return eU(a),eU(b),da(),(0,e.useRef)(!1),dN(),(0,e.useRef)(!1),c9(eO),da(),(0,d.jsx)(d9,{onPaneClick:S,onPaneMouseEnter:T,onPaneMouseMove:U,onPaneMouseLeave:V,onPaneContextMenu:X,onPaneScroll:W,paneClickDistance:Y,deleteKeyCode:B,selectionKeyCode:v,selectionOnDrag:w,selectionMode:x,onSelectionStart:o,onSelectionEnd:p,multiSelectionKeyCode:y,panActivationKeyCode:z,zoomActivationKeyCode:A,elementsSelectable:D,zoomOnScroll:K,zoomOnPinch:L,zoomOnDoubleClick:P,panOnScroll:M,panOnScrollSpeed:N,panOnScrollMode:O,panOnDrag:Q,autoPanOnSelection:R,defaultViewport:E,translateExtent:F,minZoom:G,maxZoom:H,onSelectionContextMenu:n,preventScrolling:I,noDragClassName:ag,noWheelClassName:ah,noPanClassName:ai,disableKeyboardA11y:aj,onViewportChange:an,isControlledViewport:!!am,children:(0,d.jsxs)(eN,{children:[(0,d.jsx)(eL,{edgeTypes:b,onEdgeClick:g,onEdgeDoubleClick:i,onReconnect:ad,onReconnectStart:ae,onReconnectEnd:af,onlyRenderVisibleElements:C,onEdgeContextMenu:$,onEdgeMouseEnter:_,onEdgeMouseMove:aa,onEdgeMouseLeave:ab,reconnectRadius:ac,defaultMarkerColor:J,noPanClassName:ai,disableKeyboardA11y:aj,rfId:al}),(0,d.jsx)(eR,{style:r,type:q,component:s,containerStyle:u}),(0,d.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,d.jsx)(ee,{nodeTypes:a,onNodeClick:f,onNodeDoubleClick:h,onNodeMouseEnter:j,onNodeMouseMove:k,onNodeMouseLeave:l,onNodeContextMenu:m,nodeClickDistance:Z,onlyRenderVisibleElements:C,noPanClassName:ai,noDragClassName:ag,disableKeyboardA11y:aj,nodeExtent:ak,rfId:al}),(0,d.jsx)("div",{className:"react-flow__viewport-portal"})]})})}eV.displayName="GraphView";let eW=(0,e.memo)(eV),eX=ce("React Flow","https://reactflow.dev/"),eY=({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:e,height:f,fitView:g,fitViewOptions:h,minZoom:i=.5,maxZoom:j=2,nodeOrigin:k,nodeExtent:l,zIndexMode:m="basic"}={})=>{let n=new Map,o=new Map,p=new Map,q=new Map,r=d??b??[],s=c??a??[],u=k??[0,0],v=l??bP;cU(p,q,r);let{nodesInitialized:w}=cO(s,n,o,{nodeOrigin:u,nodeExtent:v,zIndexMode:m}),x=[0,0,1];if(g&&e&&f){let{x:a,y:b,zoom:c}=cj(bY(n,{filter:a=>!!((a.width||a.initialWidth)&&(a.height||a.initialHeight))}),e,f,i,j,h?.padding??.1);x=[a,b,c]}return{rfId:"1",width:e??0,height:f??0,transform:x,nodes:s,nodesInitialized:w,nodeLookup:n,parentLookup:o,edges:r,edgeLookup:q,connectionLookup:p,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==c,hasDefaultEdges:void 0!==d,panZoom:null,minZoom:i,maxZoom:j,translateExtent:bP,nodeExtent:v,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:gI.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:g??!1,fitViewOptions:h,fitViewResolver:null,connection:{...bS},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:eX,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:bR,zIndexMode:m,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}};function eZ({initialNodes:a,initialEdges:b,defaultNodes:c,defaultEdges:f,initialWidth:g,initialHeight:h,initialMinZoom:i,initialMaxZoom:j,initialFitViewOptions:k,fitView:l,nodeOrigin:m,nodeExtent:n,zIndexMode:o,children:p}){let[q]=(0,e.useState)(()=>(({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:e,height:f,fitView:g,fitViewOptions:h,minZoom:i,maxZoom:j,nodeOrigin:k,nodeExtent:l,zIndexMode:m})=>{let n,o;return n=(n,o)=>{async function p(){let{nodeLookup:a,panZoom:b,fitViewOptions:c,fitViewResolver:d,width:e,height:f,minZoom:g,maxZoom:h}=o();b&&(await b$({nodes:a,width:e,height:f,panZoom:b,minZoom:g,maxZoom:h},c),d?.resolve(!0),n({fitViewResolver:null}))}return{...eY({nodes:a,edges:b,width:e,height:f,fitView:g,fitViewOptions:h,minZoom:i,maxZoom:j,nodeOrigin:k,nodeExtent:l,defaultNodes:c,defaultEdges:d,zIndexMode:m}),setNodes:a=>{let{nodeLookup:b,parentLookup:c,nodeOrigin:d,elevateNodesOnSelect:e,fitViewQueued:f,zIndexMode:g,nodesSelectionActive:h}=o(),{nodesInitialized:i,hasSelectedNodes:j}=cO(a,b,c,{nodeOrigin:d,nodeExtent:l,elevateNodesOnSelect:e,checkEquality:!0,zIndexMode:g}),k=h&&j;f&&i?(p(),n({nodes:a,nodesInitialized:i,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:k})):n({nodes:a,nodesInitialized:i,nodesSelectionActive:k})},setEdges:a=>{let{connectionLookup:b,edgeLookup:c}=o();cU(b,c,a),n({edges:a})},setDefaultNodesAndEdges:(a,b)=>{if(a){let{setNodes:b}=o();b(a),n({hasDefaultNodes:!0})}if(b){let{setEdges:a}=o();a(b),n({hasDefaultEdges:!0})}},updateNodeInternals:a=>{let{triggerNodeChanges:b,nodeLookup:c,parentLookup:d,domNode:e,nodeOrigin:f,nodeExtent:g,debug:h,fitViewQueued:i,zIndexMode:j}=o(),{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=cp(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=cl(a.extent)?a.extent:f,{positionAbsolute:p}=a.internals;a.parentId&&"parent"===a.extent?p=b2(p,h,b.get(a.parentId)):o&&(p=b1(p,o,h));let q={...a,measured:h,internals:{...a.internals,positionAbsolute:p,handleBounds:{source:ct("source",d.nodeElement,n,l,a.id),target:ct("target",d.nodeElement,n,l,a.id)}}};b.set(a.id,q),a.parentId&&cP(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:b8(q,e)}))}}if(m.length>0){let a=cR(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=cM(cK,c);for(let c of a.values())if(c.parentId)cP(c,a,b,d);else{let a=b1(bX(c,d.nodeOrigin),cl(c.extent)?c.extent:d.nodeExtent,cm(c));c.internals.positionAbsolute=a}}(c,d,{nodeOrigin:f,nodeExtent:g,zIndexMode:j}),i?(p(),n({fitViewQueued:!1,fitViewOptions:void 0})):n({}),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}=o();for(let[f,i]of a){let a=e.get(f),j=!!(a?.expandParent&&a?.parentId&&i?.position),k={id:f,type:"position",position:j?{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=cH(a,g.fromHandle,gN.Left,!0);h({...g,from:b})}j&&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(k)}if(c.length>0){let{parentLookup:a,nodeOrigin:b}=o(),f=cR(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}=o();a?.length&&(e&&c(dA(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}=o();a?.length&&(e&&c(dA(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}=o();if(b)return void e(a.map(a=>dB(a,!0)));e(dC(d,new Set([...a]),!0)),f(dC(c))},addSelectedEdges:a=>{let{multiSelectionActive:b,edgeLookup:c,nodeLookup:d,triggerNodeChanges:e,triggerEdgeChanges:f}=o();if(b)return void f(a.map(a=>dB(a,!0)));f(dC(c,new Set([...a]))),e(dC(d,new Set,!0))},unselectNodesAndEdges:({nodes:a,edges:b}={})=>{let{edges:c,nodes:d,nodeLookup:e,triggerNodeChanges:f,triggerEdgeChanges:g}=o(),h=[];for(let b of a||d){if(!b.selected)continue;let a=e.get(b.id);a&&(a.selected=!1),h.push(dB(b.id,!1))}let i=[];for(let a of b||c)a.selected&&i.push(dB(a.id,!1));f(h),g(i)},setMinZoom:a=>{let{panZoom:b,maxZoom:c}=o();b?.setScaleExtent([a,c]),n({minZoom:a})},setMaxZoom:a=>{let{panZoom:b,minZoom:c}=o();b?.setScaleExtent([c,a]),n({maxZoom:a})},setTranslateExtent:a=>{o().panZoom?.setTranslateExtent(a),n({translateExtent:a})},resetSelectedElements:()=>{let{edges:a,nodes:b,triggerNodeChanges:c,triggerEdgeChanges:d,elementsSelectable:e}=o();if(!e)return;let f=b.reduce((a,b)=>b.selected?[...a,dB(b.id,!1)]:a,[]),g=a.reduce((a,b)=>b.selected?[...a,dB(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}=o();(a[0][0]!==g[0][0]||a[0][1]!==g[0][1]||a[1][0]!==g[1][0]||a[1][1]!==g[1][1])&&(cO(b,c,d,{nodeOrigin:e,nodeExtent:a,elevateNodesOnSelect:f,checkEquality:!1,zIndexMode:h}),n({nodeExtent:a}))},panBy:a=>{let{transform:b,width:c,height:d,panZoom:e,translateExtent:f}=o();return cS({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}=o();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:()=>{n({connection:{...bS}})},updateConnection:a=>{n({connection:a})},reset:()=>n({...eY()})}},o=Object.is,n?c4(n,o):c4})({nodes:a,edges:b,defaultNodes:c,defaultEdges:f,width:g,height:h,fitView:l,minZoom:i,maxZoom:j,fitViewOptions:k,nodeOrigin:m,nodeExtent:n,zIndexMode:o}));return(0,d.jsx)(c7,{value:q,children:(0,d.jsx)(dL,{children:p})})}function e$({children:a,nodes:b,edges:c,defaultNodes:f,defaultEdges:g,width:h,height:i,fitView:j,fitViewOptions:k,minZoom:l,maxZoom:m,nodeOrigin:n,nodeExtent:o,zIndexMode:p}){return(0,e.useContext)(c6)?(0,d.jsx)(d.Fragment,{children:a}):(0,d.jsx)(eZ,{initialNodes:b,initialEdges:c,defaultNodes:f,defaultEdges:g,initialWidth:h,initialHeight:i,fitView:j,initialFitViewOptions:k,initialMinZoom:l,initialMaxZoom:m,nodeOrigin:n,nodeExtent:o,zIndexMode:p,children:a})}let e_={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var e0=dH(function({nodes:a,edges:b,defaultNodes:c,defaultEdges:f,className:g,nodeTypes:h,edgeTypes:i,onNodeClick:j,onEdgeClick:k,onInit:l,onMove:m,onMoveStart:n,onMoveEnd:o,onConnect:p,onConnectStart:q,onConnectEnd:r,onClickConnectStart:s,onClickConnectEnd:u,onNodeMouseEnter:v,onNodeMouseMove:w,onNodeMouseLeave:x,onNodeContextMenu:y,onNodeDoubleClick:z,onNodeDragStart:A,onNodeDrag:B,onNodeDragStop:C,onNodesDelete:D,onEdgesDelete:E,onDelete:G,onSelectionChange:H,onSelectionDragStart:I,onSelectionDrag:J,onSelectionDragStop:K,onSelectionContextMenu:L,onSelectionStart:M,onSelectionEnd:N,onBeforeDelete:O,connectionMode:P,connectionLineType:Q=gL.Bezier,connectionLineStyle:R,connectionLineComponent:S,connectionLineContainerStyle:T,deleteKeyCode:U="Backspace",selectionKeyCode:V="Shift",selectionOnDrag:W=!1,selectionMode:X=gK.Full,panActivationKeyCode:Y="Space",multiSelectionKeyCode:Z=ck()?"Meta":"Control",zoomActivationKeyCode:$=ck()?"Meta":"Control",snapToGrid:_,snapGrid:aa,onlyRenderVisibleElements:ab=!1,selectNodesOnDrag:ac,nodesDraggable:ad,autoPanOnNodeFocus:ae,nodesConnectable:af,nodesFocusable:ag,nodeOrigin:ah=ds,edgesFocusable:ai,edgesReconnectable:aj,elementsSelectable:ak=!0,defaultViewport:al=dt,minZoom:am=.5,maxZoom:an=2,translateExtent:ao=bP,preventScrolling:ap=!0,nodeExtent:aq,defaultMarkerColor:ar="#b1b1b7",zoomOnScroll:as=!0,zoomOnPinch:at=!0,panOnScroll:au=!1,panOnScrollSpeed:av=.5,panOnScrollMode:aw=gJ.Free,zoomOnDoubleClick:ax=!0,panOnDrag:ay=!0,onPaneClick:az,onPaneMouseEnter:aA,onPaneMouseMove:aB,onPaneMouseLeave:aC,onPaneScroll:aD,onPaneContextMenu:aE,paneClickDistance:aF=1,nodeClickDistance:aG=0,children:aH,onReconnect:aI,onReconnectStart:aJ,onReconnectEnd:aK,onEdgeContextMenu:aL,onEdgeDoubleClick:aM,onEdgeMouseEnter:aN,onEdgeMouseMove:aO,onEdgeMouseLeave:aP,reconnectRadius:aQ=10,onNodesChange:aR,onEdgesChange:aS,noDragClassName:aT="nodrag",noWheelClassName:aU="nowheel",noPanClassName:aV="nopan",fitView:aW,fitViewOptions:aX,connectOnClick:aY,attributionPosition:aZ,proOptions:a$,defaultEdgeOptions:a_,elevateNodesOnSelect:a0=!0,elevateEdgesOnSelect:a1=!1,disableKeyboardA11y:a2=!1,autoPanOnConnect:a3,autoPanOnNodeDrag:a4,autoPanOnSelection:a5=!0,autoPanSpeed:a6,connectionRadius:a7,isValidConnection:a8,onError:a9,style:ba,id:bb,nodeDragThreshold:bc,connectionDragThreshold:bd,viewport:be,onViewportChange:bf,width:bg,height:bh,colorMode:bi="light",debug:bj,onScroll:bk,ariaLabelConfig:bl,zIndexMode:bm="basic",...bn},bo){let bp=bb||"1",bq=function(a){let[b,c]=(0,e.useState)("system"===a?null:a);return null!==b?b:"light"}(bi),br=(0,e.useCallback)(a=>{a.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),bk?.(a)},[bk]);return(0,d.jsx)("div",{"data-testid":"rf__wrapper",...bn,onScroll:br,style:{...ba,...e_},ref:bo,className:F(["react-flow",g,bq]),id:bb,role:"application",children:(0,d.jsxs)(e$,{nodes:a,edges:b,width:bg,height:bh,fitView:aW,fitViewOptions:aX,minZoom:am,maxZoom:an,nodeOrigin:ah,nodeExtent:aq,zIndexMode:bm,children:[(0,d.jsx)(dx,{nodes:a,edges:b,defaultNodes:c,defaultEdges:f,onConnect:p,onConnectStart:q,onConnectEnd:r,onClickConnectStart:s,onClickConnectEnd:u,nodesDraggable:ad,autoPanOnNodeFocus:ae,nodesConnectable:af,nodesFocusable:ag,edgesFocusable:ai,edgesReconnectable:aj,elementsSelectable:ak,elevateNodesOnSelect:a0,elevateEdgesOnSelect:a1,minZoom:am,maxZoom:an,nodeExtent:aq,onNodesChange:aR,onEdgesChange:aS,snapToGrid:_,snapGrid:aa,connectionMode:P,translateExtent:ao,connectOnClick:aY,defaultEdgeOptions:a_,fitView:aW,fitViewOptions:aX,onNodesDelete:D,onEdgesDelete:E,onDelete:G,onNodeDragStart:A,onNodeDrag:B,onNodeDragStop:C,onSelectionDrag:J,onSelectionDragStart:I,onSelectionDragStop:K,onMove:m,onMoveStart:n,onMoveEnd:o,noPanClassName:aV,nodeOrigin:ah,rfId:bp,autoPanOnConnect:a3,autoPanOnNodeDrag:a4,autoPanSpeed:a6,onError:a9,connectionRadius:a7,isValidConnection:a8,selectNodesOnDrag:ac,nodeDragThreshold:bc,connectionDragThreshold:bd,onBeforeDelete:O,debug:bj,ariaLabelConfig:bl,zIndexMode:bm}),(0,d.jsx)(eW,{onInit:l,onNodeClick:j,onEdgeClick:k,onNodeMouseEnter:v,onNodeMouseMove:w,onNodeMouseLeave:x,onNodeContextMenu:y,onNodeDoubleClick:z,nodeTypes:h,edgeTypes:i,connectionLineType:Q,connectionLineStyle:R,connectionLineComponent:S,connectionLineContainerStyle:T,selectionKeyCode:V,selectionOnDrag:W,selectionMode:X,deleteKeyCode:U,multiSelectionKeyCode:Z,panActivationKeyCode:Y,zoomActivationKeyCode:$,onlyRenderVisibleElements:ab,defaultViewport:al,translateExtent:ao,minZoom:am,maxZoom:an,preventScrolling:ap,zoomOnScroll:as,zoomOnPinch:at,zoomOnDoubleClick:ax,panOnScroll:au,panOnScrollSpeed:av,panOnScrollMode:aw,panOnDrag:ay,autoPanOnSelection:a5,onPaneClick:az,onPaneMouseEnter:aA,onPaneMouseMove:aB,onPaneMouseLeave:aC,onPaneScroll:aD,onPaneContextMenu:aE,paneClickDistance:aF,nodeClickDistance:aG,onSelectionContextMenu:L,onSelectionStart:M,onSelectionEnd:N,onReconnect:aI,onReconnectStart:aJ,onReconnectEnd:aK,onEdgeContextMenu:aL,onEdgeDoubleClick:aM,onEdgeMouseEnter:aN,onEdgeMouseMove:aO,onEdgeMouseLeave:aP,reconnectRadius:aQ,defaultMarkerColor:ar,noDragClassName:aT,noWheelClassName:aU,noPanClassName:aV,rfId:bp,disableKeyboardA11y:a2,nodeExtent:aq,viewport:be,onViewportChange:bf}),(0,d.jsx)(dr,{onSelectionChange:H}),aH,(0,d.jsx)(dk,{proOptions:a$,position:aZ}),(0,d.jsx)(di,{rfId:bp,disableKeyboardA11y:a2})]})})});function e1({dimensions:a,lineWidth:b,variant:c,className:e}){return(0,d.jsx)("path",{strokeWidth:b,d:`M${a[0]/2} 0 V${a[1]} M0 ${a[1]/2} H${a[0]}`,className:F(["react-flow__background-pattern",c,e])})}function e2({radius:a,className:b}){return(0,d.jsx)("circle",{cx:a,cy:a,r:a,className:F(["react-flow__background-pattern","dots",b])})}bO.error014(),function(a){a.Lines="lines",a.Dots="dots",a.Cross="cross"}(gP||(gP={}));let e3={[gP.Dots]:1,[gP.Lines]:1,[gP.Cross]:6},e4=a=>({transform:a.transform,patternId:`pattern-${a.rfId}`});function e5({id:a,variant:b=gP.Dots,gap:c=20,size:f,lineWidth:g=1,offset:h=0,color:i,bgColor:j,style:k,className:l,patternClassName:m}){let n=(0,e.useRef)(null),{transform:o,patternId:p}=c9(e4,c5),q=f||e3[b],r=b===gP.Dots,s=b===gP.Cross,u=Array.isArray(c)?c:[c,c],v=[u[0]*o[2]||1,u[1]*o[2]||1],w=q*o[2],x=Array.isArray(h)?h:[h,h],y=s?[w,w]:v,z=[x[0]*o[2]||1+y[0]/2,x[1]*o[2]||1+y[1]/2],A=`${p}${a||""}`;return(0,d.jsxs)("svg",{className:F(["react-flow__background",l]),style:{...k,...dP,"--xy-background-color-props":j,"--xy-background-pattern-color-props":i},ref:n,"data-testid":"rf__background",children:[(0,d.jsx)("pattern",{id:A,x:o[0]%v[0],y:o[1]%v[1],width:v[0],height:v[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${z[0]},-${z[1]})`,children:r?(0,d.jsx)(e2,{radius:w/2,className:m}):(0,d.jsx)(e1,{dimensions:y,lineWidth:g,variant:b,className:m})}),(0,d.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${A})`})]})}e5.displayName="Background";let e6=(0,e.memo)(e5);function e7(){return(0,d.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,d.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function e8(){return(0,d.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,d.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function e9(){return(0,d.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,d.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 fa(){return(0,d.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,d.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 fb(){return(0,d.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,d.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 fc({children:a,className:b,...c}){return(0,d.jsx)("button",{type:"button",className:F(["react-flow__controls-button",b]),...c,children:a})}let fd=a=>({isInteractive:a.nodesDraggable||a.nodesConnectable||a.elementsSelectable,minZoomReached:a.transform[2]<=a.minZoom,maxZoomReached:a.transform[2]>=a.maxZoom,ariaLabelConfig:a.ariaLabelConfig});function fe({style:a,showZoom:b=!0,showFitView:c=!0,showInteractive:e=!0,fitViewOptions:f,onZoomIn:g,onZoomOut:h,onFitView:i,onInteractiveChange:j,className:k,children:l,position:m="bottom-left",orientation:n="vertical","aria-label":o}){let p=da(),{isInteractive:q,minZoomReached:r,maxZoomReached:s,ariaLabelConfig:u}=c9(fd,c5),{zoomIn:v,zoomOut:w,fitView:x}=dN();return(0,d.jsxs)(dj,{className:F(["react-flow__controls","horizontal"===n?"horizontal":"vertical",k]),position:m,style:a,"data-testid":"rf__controls","aria-label":o??u["controls.ariaLabel"],children:[b&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(fc,{onClick:()=>{v(),g?.()},className:"react-flow__controls-zoomin",title:u["controls.zoomIn.ariaLabel"],"aria-label":u["controls.zoomIn.ariaLabel"],disabled:s,children:(0,d.jsx)(e7,{})}),(0,d.jsx)(fc,{onClick:()=>{w(),h?.()},className:"react-flow__controls-zoomout",title:u["controls.zoomOut.ariaLabel"],"aria-label":u["controls.zoomOut.ariaLabel"],disabled:r,children:(0,d.jsx)(e8,{})})]}),c&&(0,d.jsx)(fc,{className:"react-flow__controls-fitview",onClick:()=>{x(f),i?.()},title:u["controls.fitView.ariaLabel"],"aria-label":u["controls.fitView.ariaLabel"],children:(0,d.jsx)(e9,{})}),e&&(0,d.jsx)(fc,{className:"react-flow__controls-interactive",onClick:()=>{p.setState({nodesDraggable:!q,nodesConnectable:!q,elementsSelectable:!q}),j?.(!q)},title:u["controls.interactive.ariaLabel"],"aria-label":u["controls.interactive.ariaLabel"],children:q?(0,d.jsx)(fb,{}):(0,d.jsx)(fa,{})}),l]})}fe.displayName="Controls";let ff=(0,e.memo)(fe),fg=(0,e.memo)(function({id:a,x:b,y:c,width:e,height:f,style:g,color:h,strokeColor:i,strokeWidth:j,className:k,borderRadius:l,shapeRendering:m,selected:n,onClick:o}){let{background:p,backgroundColor:q}=g||{};return(0,d.jsx)("rect",{className:F(["react-flow__minimap-node",{selected:n},k]),x:b,y:c,rx:l,ry:l,width:e,height:f,style:{fill:h||p||q,stroke:i,strokeWidth:j},shapeRendering:m,onClick:o?b=>o(b,a):void 0})}),fh=a=>a.nodes.map(a=>a.id),fi=a=>a instanceof Function?a:()=>a,fj=(0,e.memo)(function({id:a,nodeColorFunc:b,nodeStrokeColorFunc:c,nodeClassNameFunc:e,nodeBorderRadius:f,nodeStrokeWidth:g,shapeRendering:h,NodeComponent:i,onClick:j}){let{node:k,x:l,y:m,width:n,height:o}=c9(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}=cm(d);return{node:d,x:e,y:f,width:g,height:h}},c5);return k&&!k.hidden&&cn(k)?(0,d.jsx)(i,{x:l,y:m,width:n,height:o,style:k.style,selected:!!k.selected,className:e(k),color:b(k),borderRadius:f,strokeColor:c(k),strokeWidth:g,shapeRendering:h,onClick:j,id:k.id}):null});gO.Line,gO.Handle,c(1431);let fk=m("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"}]]),fl={idle:"#71717a",running:"#3b82f6",awaiting_review:"#f59e0b",approved:"#10b981"},fm={idle:"Idle",running:"Running",awaiting_review:"Review",approved:"Approved"},fn={constitution:"Constitution",specification:"Spec",clarification:"Clarify",planning:"Plan",checklist:"Checklist",analyze:"Analysis",tasks:"Tasks",taskstoissues:"Issues",implementation:"Implementation"},fo={constitution:({data:a})=>{let b=fl[a.status],c="running"===a.status;return(0,d.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,d.jsx)("div",{className:"text-xs font-bold text-zinc-950 dark:text-zinc-50 tracking-wide mb-1",children:"Constitution"}),(0,d.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,d.jsx)("span",{children:fm[a.status]})}),a.filePath&&(0,d.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,d.jsx)(fk,{size:10})," Open File"]}),(0,d.jsx)(d1,{type:"source",position:gN.Bottom,id:"bottom",className:"w-2 h-2 bg-zinc-400 dark:bg-zinc-650 border-0"})]})},phase:({data:a})=>{let b=fl[a.status],c="running"===a.status;return(0,d.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,d.jsx)(d1,{type:"target",position:gN.Top,id:"top",className:"w-2 h-2 bg-zinc-400 dark:bg-zinc-650 border-0"}),!a.isFirst&&(0,d.jsx)(d1,{type:"target",position:gN.Left,id:"left",className:"w-2 h-2 bg-zinc-400 dark:bg-zinc-650 border-0"}),(0,d.jsx)("div",{className:"text-xs font-bold text-zinc-950 dark:text-zinc-50 mb-1",children:a.label}),(0,d.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,d.jsx)("span",{children:fm[a.status]}),a.stale&&(0,d.jsxs)("span",{className:"flex items-center gap-0.5 text-red-500 text-[8px] font-bold",children:[(0,d.jsx)(n,{size:8})," STALE"]})]}),a.taskProgress&&a.taskProgress.total>0&&(0,d.jsxs)("div",{className:"mt-2 space-y-1",children:["implementation"===a.phase&&(0,d.jsx)("div",{className:"h-1 bg-zinc-100 dark:bg-zinc-900 rounded-full overflow-hidden",children:(0,d.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,d.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,d.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,d.jsx)(fk,{size:10})," Open File"]}),!a.isLast&&(0,d.jsx)(d1,{type:"source",position:gN.Right,id:"right",className:"w-2 h-2 bg-zinc-400 dark:bg-zinc-650 border-0"})]})}},fp=({state:a,onSelectFeature:b,onSelectPhaseFile:c})=>{let{nodes:f,edges:g}=(0,e.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:fn[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:fl[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,d.jsx)("div",{className:"w-full h-full bg-zinc-50 dark:bg-black",children:(0,d.jsxs)(e0,{nodes:f,edges:g,nodeTypes:fo,onNodeClick:(a,c)=>{c.id.includes("::")&&b(c.id.split("::")[0])},fitView:!0,minZoom:.5,maxZoom:1.5,children:[(0,d.jsx)(e6,{gap:16,size:1,color:"#e4e4e7",className:"dark:opacity-10"}),(0,d.jsx)(ff,{showInteractive:!1,className:"border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-950 rounded shadow-md"})]})})},fq=m("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"}]]),fr=m("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"}]]),fs=m("Columns2",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]]),ft=m("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"}]]),fu=m("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"}]]),fv=m("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"}]]),fw=m("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"}]]),fx=m("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"}]]),fy=m("Heading",[["path",{d:"M6 12h12",key:"8npq4p"}],["path",{d:"M6 20V4",key:"1w1bmo"}],["path",{d:"M18 20V4",key:"o2hl4u"}]]),fz=m("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"}]]),fA=m("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]),fB=m("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"}]]),fC=m("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"}]]),fD=[{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`}],fE=({filePath:a,initialContent:b,onSave:c,onToggleTask:g,state:h,isMaximized:i=!1,onToggleMaximize:j,onSelectFile:k})=>{let[l,m]=(0,e.useState)(""),[n,o]=(0,e.useState)("split"),[p,q]=(0,e.useState)(!1),[r,s]=(0,e.useState)(!1),u=(0,e.useRef)(null),v=(0,e.useRef)(null),w=a=>{let b=v.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 j=0===c||"\n"===e.charAt(c-1);g=`${j?"":"\n"}### ${f||"Heading"}`,h=j?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
3
  \`\`\`
4
4
  ${f||"code here"}
5
5
  \`\`\`
@@ -7,8 +7,27 @@ ${f||"code here"}
7
7
  | Header 1 | Header 2 |
8
8
  | -------- | -------- |
9
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})();
10
+ `,h=2,i=g.length-1;break;case"checkbox":let k=0===c||"\n"===e.charAt(c-1);g=`${k?"":"\n"}- [ ] ${f||"New Task"}`,h=k?6:7,i=g.length}m(e.substring(0,c)+g+e.substring(d)),setTimeout(()=>{b.focus(),b.setSelectionRange(c+h,c+i)},50)};(0,e.useEffect)(()=>{b!==u.current&&(b===l?s(!1):l===u.current||null===u.current?(m(b||""),s(!1)):s(!0),u.current=b)},[b,l]);let x=async()=>{if(a){q(!0);try{await c(l)}finally{q(!1)}}},y=a=>{let b=[],c=a,e=0;for(;c.length>0;){let a=c.match(/^([^\*]*)\*\*([^\*]+)\*\*(.*)/),f=c.match(/^([^`]*)`([^`]+)`(.*)/);if(f&&(!a||f[1].length<a[1].length))f[1]&&b.push((0,d.jsx)("span",{children:f[1]},e++)),b.push((0,d.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:f[2]},e++)),c=f[3];else if(a)a[1]&&b.push((0,d.jsx)("span",{children:a[1]},e++)),b.push((0,d.jsx)("strong",{className:"font-semibold text-zinc-900 dark:text-zinc-100",children:a[2]},e++)),c=a[3];else{b.push((0,d.jsx)("span",{children:c},e++));break}}return b.length>0?b:[a]};return(0,d.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:[h&&k&&(0,d.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:fD.map(b=>{let c=(a=>{if("constitution"===a.phase)return h?.constitutionPhase?.filePath||".specify/memory/constitution.md";if(!h?.activeFeatureName)return null;let b=h.features.find(a=>a.name===h.activeFeatureName),c=b?.phases.find(b=>b.phase===a.phase);return c?.filePath||a.defaultPath(h.activeFeatureName)})(b),e="constitution"!==b.phase&&!h?.activeFeatureName,f=(a=>{if("constitution"===a)return h?.constitutionPhase?.status||"idle";if(!h?.activeFeatureName)return"idle";let b=h.features.find(a=>a.name===h.activeFeatureName),c=b?.phases.find(b=>b.phase===a);return c?.status||"idle"})(b.phase),g=!e&&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,d.jsxs)("button",{disabled:e,onClick:()=>c&&k(c),className:`flex items-center gap-2 px-4 py-2.5 text-xs font-medium border-b-2 transition shrink-0 ${e?"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,d.jsx)("span",{className:`w-1.5 h-1.5 rounded-full ${i}`}),(0,d.jsx)("span",{children:b.label})]},b.phase)})}),a?(0,d.jsxs)(d.Fragment,{children:[(0,d.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,d.jsx)("span",{className:"text-xs font-mono text-zinc-500 truncate max-w-[200px] sm:max-w-md",children:a.split("/").pop()}),(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.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,d.jsxs)("button",{onClick:()=>o("edit"),className:`p-1.5 rounded transition text-xs flex items-center gap-1 ${"edit"===n?"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,d.jsx)(fq,{size:12}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Edit"})]}),(0,d.jsxs)("button",{onClick:()=>o("preview"),className:`p-1.5 rounded transition text-xs flex items-center gap-1 ${"preview"===n?"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,d.jsx)(fr,{size:12}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Preview"})]}),(0,d.jsxs)("button",{onClick:()=>o("split"),className:`p-1.5 rounded transition text-xs flex items-center gap-1 ${"split"===n?"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,d.jsx)(fs,{size:12}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Split"})]})]}),(0,d.jsxs)("button",{onClick:x,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,d.jsx)(ft,{size:12}),(0,d.jsx)("span",{children:p?"Saving...":"Save"})]}),j&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"w-px h-5 bg-zinc-200 dark:bg-zinc-800 mx-1"}),(0,d.jsx)("button",{onClick:j,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:i?"Restore Layout":"Maximize Editor",children:i?(0,d.jsx)(fu,{size:12}):(0,d.jsx)(fv,{size:12})})]})]})]}),("edit"===n||"split"===n)&&(0,d.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,d.jsx)("button",{onClick:()=>w("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,d.jsx)(fw,{size:13})}),(0,d.jsx)("button",{onClick:()=>w("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,d.jsx)(fx,{size:13})}),(0,d.jsx)("button",{onClick:()=>w("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,d.jsx)(fy,{size:13})}),(0,d.jsx)("div",{className:"w-px h-4 bg-zinc-200 dark:bg-zinc-800 mx-1"}),(0,d.jsx)("button",{onClick:()=>w("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,d.jsx)(fz,{size:13})}),(0,d.jsx)("button",{onClick:()=>w("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,d.jsx)(fA,{size:13})}),(0,d.jsx)("button",{onClick:()=>w("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,d.jsx)(fB,{size:13})}),(0,d.jsx)("button",{onClick:()=>w("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,d.jsx)(fC,{size:13})})]}),r&&(0,d.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,d.jsx)("div",{className:"flex items-center gap-1.5 font-medium",children:(0,d.jsx)("span",{children:"⚠️ External changes detected. The file on disk has been modified."})}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{onClick:()=>{m(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,d.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,d.jsxs)("div",{className:"flex-1 flex overflow-hidden min-h-0",children:[("edit"===n||"split"===n)&&(0,d.jsx)("textarea",{ref:v,value:l,onChange:a=>m(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"===n?"border-r border-zinc-200 dark:border-zinc-800":""}`,placeholder:"Write markdown here..."}),("preview"===n||"split"===n)&&(0,d.jsx)("div",{className:"flex-1 p-5 overflow-y-auto bg-transparent prose dark:prose-invert max-w-none",children:(()=>{if(!l)return(0,d.jsx)("p",{className:"text-zinc-400 italic text-sm",children:"No content to display."});let a=l.split("\n"),b=!1,c=[],e=[];for(let h=0;h<a.length;h++){let i=a[h];if(i.trim().startsWith("```")){b?(b=!1,e.push((0,d.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,d.jsx)("code",{children:c.join("\n")})},`code-${h}`)),c=[]):b=!0;continue}if(b){c.push(i);continue}if(i.trim().startsWith("|")&&h+1<a.length&&a[h+1].trim().match(/^\|?\s*(:?-+:?\s*\|?)+$/)){let b=i.split("|").map(a=>a.trim()).filter((a,b,c)=>(0!==b||""!==a)&&(b!==c.length-1||""!==a)),c=[],f=h;for(h+=2;h<a.length&&a[h].trim().startsWith("|");){let b=a[h].split("|").map(a=>a.trim()).filter((a,b,c)=>(0!==b||""!==a)&&(b!==c.length-1||""!==a));c.push(b),h++}h--,e.push((0,d.jsx)("div",{className:"overflow-x-auto my-4",children:(0,d.jsxs)("table",{className:"min-w-full border-collapse border border-zinc-200 dark:border-zinc-800 text-sm",children:[(0,d.jsx)("thead",{className:"bg-zinc-50 dark:bg-zinc-900/50",children:(0,d.jsx)("tr",{children:b.map((a,b)=>(0,d.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:y(a)},b))})}),(0,d.jsx)("tbody",{children:c.map((a,b)=>(0,d.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,d.jsx)("td",{className:"border border-zinc-200 dark:border-zinc-800 px-4 py-2 text-zinc-700 dark:text-zinc-350",children:y(a)},b))},b))})]})},`table-${f}`));continue}let j=i.match(/^(\s*(?:[-*]|\d+\.)\s+\[)( |x|X)(\])(.*)/);if(j){let a="x"===j[2].toLowerCase(),b=j[4],c=i.search(/\S/);e.push((0,d.jsxs)("div",{className:"flex items-start gap-2.5 py-1",style:{paddingLeft:`${12*c}px`},children:[(0,d.jsx)("input",{type:"checkbox",checked:a,onChange:a=>g?.(h,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,d.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:y(b)})]},h));continue}let k=i.match(/^(#{1,6})\s+(.*)/);if(k){let a=k[1].length,b=k[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(f().createElement(`h${a}`,{key:h,className:c[a]},y(b)));continue}let l=i.match(/^>\s+\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\](.*)/i);if(l){let a=l[1].toUpperCase(),b=l[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,d.jsxs)("div",{className:`p-3.5 border-l-4 my-3 rounded-r text-sm font-medium ${c[a]}`,children:[(0,d.jsx)("div",{className:"font-bold text-xs tracking-wider mb-1 text-zinc-400",children:a}),(0,d.jsx)("div",{children:y(b)})]},h));continue}if(i.startsWith(">")){e.push((0,d.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:y(i.substring(1).trim())},h));continue}if("---"===i.trim()){e.push((0,d.jsx)("hr",{className:"my-6 border-zinc-200 dark:border-zinc-800"},h));continue}if(i.trim().startsWith("- ")||i.trim().startsWith("* ")){let a=i.trim().substring(2);e.push((0,d.jsx)("li",{className:"ml-4 list-disc text-sm leading-relaxed text-zinc-700 dark:text-zinc-300 my-0.5",children:y(a)},h));continue}if(""===i.trim()){e.push((0,d.jsx)("div",{className:"h-2"},h));continue}e.push((0,d.jsx)("p",{className:"text-sm leading-relaxed text-zinc-700 dark:text-zinc-300 my-1",children:y(i)},h))}return(0,d.jsx)("div",{className:"space-y-1",children:e})})()})]})]}):(0,d.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,d.jsx)("p",{className:"text-sm",children:"Select a tab or a phase to start editing or viewing markdown."})})]})};var fF=Object.defineProperty,fG=Object.getOwnPropertyDescriptor,fH=(a,b,c,d)=>{for(var e,f=d>1?void 0:d?fG(b,c):b,g=a.length-1;g>=0;g--)(e=a[g])&&(f=(d?e(b,c,f):e(f))||f);return d&&f&&fF(b,c,f),f},fI=(a,b)=>(c,d)=>b(c,d,a),fJ="Terminal input",fK={get:()=>fJ,set:a=>fJ=a},fL="Too much output to announce, navigate to rows manually to read",fM={get:()=>fL,set:a=>fL=a};function fN(a,b,c,d){var e;e=a=a.replace(/\r?\n/g,"\r"),a=c.decPrivateModes.bracketedPasteMode&&!0!==d.rawOptions.ignoreBracketedPasteMode?"\x1b[200~"+e+"\x1b[201~":e,c.triggerDataEvent(a,!0),b.value=""}function fO(a,b,c){let d=c.getBoundingClientRect(),e=a.clientX-d.left-10,f=a.clientY-d.top-10;b.style.width="20px",b.style.height="20px",b.style.left=`${e}px`,b.style.top=`${f}px`,b.style.zIndex="1000",b.focus()}function fP(a,b,c,d,e){fO(a,b,c),e&&d.rightClickSelect(a),b.value=d.selectionText,b.select()}function fQ(a){return a>65535?String.fromCharCode(((a-=65536)>>10)+55296)+String.fromCharCode(a%1024+56320):String.fromCharCode(a)}function fR(a,b=0,c=a.length){let d="";for(let e=b;e<c;++e){let b=a[e];b>65535?(b-=65536,d+=String.fromCharCode((b>>10)+55296)+String.fromCharCode(b%1024+56320)):d+=String.fromCharCode(b)}return d}var fS=class{constructor(){this._interim=0}clear(){this._interim=0}decode(a,b){let c=a.length;if(!c)return 0;let d=0,e=0;if(this._interim){let c=a.charCodeAt(e++);56320<=c&&c<=57343?b[d++]=(this._interim-55296)*1024+c-56320+65536:(b[d++]=this._interim,b[d++]=c),this._interim=0}for(let f=e;f<c;++f){let e=a.charCodeAt(f);if(55296<=e&&e<=56319){if(++f>=c)return this._interim=e,d;let g=a.charCodeAt(f);56320<=g&&g<=57343?b[d++]=(e-55296)*1024+g-56320+65536:(b[d++]=e,b[d++]=g);continue}65279!==e&&(b[d++]=e)}return d}},fT=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(a,b){let c=a.length;if(!c)return 0;let d=0,e,f,g,h,i=0,j=0;if(this.interim[0]){let e=!1,f=this.interim[0];f&=(224&f)==192?31:(240&f)==224?15:7;let g=0,h;for(;(h=63&this.interim[++g])&&g<4;)f<<=6,f|=h;let i=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,k=i-g;for(;j<k;){if(j>=c)return 0;if((192&(h=a[j++]))!=128){j--,e=!0;break}this.interim[g++]=h,f<<=6,f|=63&h}e||(2===i?f<128?j--:b[d++]=f:3===i?f<2048||f>=55296&&f<=57343||65279===f||(b[d++]=f):f<65536||f>1114111||(b[d++]=f)),this.interim.fill(0)}let k=c-4,l=j;for(;l<c;){for(;l<k&&!(128&(e=a[l]))&&!(128&(f=a[l+1]))&&!(128&(g=a[l+2]))&&!(128&(h=a[l+3]));)b[d++]=e,b[d++]=f,b[d++]=g,b[d++]=h,l+=4;if((e=a[l++])<128)b[d++]=e;else if((224&e)==192){if(l>=c)return this.interim[0]=e,d;if((192&(f=a[l++]))!=128||(i=(31&e)<<6|63&f)<128){l--;continue}b[d++]=i}else if((240&e)==224){if(l>=c)return this.interim[0]=e,d;if((192&(f=a[l++]))!=128){l--;continue}if(l>=c)return this.interim[0]=e,this.interim[1]=f,d;if((192&(g=a[l++]))!=128){l--;continue}if((i=(15&e)<<12|(63&f)<<6|63&g)<2048||i>=55296&&i<=57343||65279===i)continue;b[d++]=i}else if((248&e)==240){if(l>=c)return this.interim[0]=e,d;if((192&(f=a[l++]))!=128){l--;continue}if(l>=c)return this.interim[0]=e,this.interim[1]=f,d;if((192&(g=a[l++]))!=128){l--;continue}if(l>=c)return this.interim[0]=e,this.interim[1]=f,this.interim[2]=g,d;if((192&(h=a[l++]))!=128){l--;continue}if((i=(7&e)<<18|(63&f)<<12|(63&g)<<6|63&h)<65536||i>1114111)continue;b[d++]=i}}return d}},fU=class a{constructor(){this.fg=0,this.bg=0,this.extended=new fV}static toColorRGB(a){return[a>>>16&255,a>>>8&255,255&a]}static fromColorRGB(a){return(255&a[0])<<16|(255&a[1])<<8|255&a[2]}clone(){let b=new a;return b.fg=this.fg,b.bg=this.bg,b.extended=this.extended.clone(),b}isInverse(){return 0x4000000&this.fg}isBold(){return 0x8000000&this.fg}isUnderline(){return this.hasExtendedAttrs()&&0!==this.extended.underlineStyle?1:0x10000000&this.fg}isBlink(){return 0x20000000&this.fg}isInvisible(){return 0x40000000&this.fg}isItalic(){return 0x4000000&this.bg}isDim(){return 0x8000000&this.bg}isStrikethrough(){return 0x80000000&this.fg}isProtected(){return 0x20000000&this.bg}isOverline(){return 0x40000000&this.bg}getFgColorMode(){return 0x3000000&this.fg}getBgColorMode(){return 0x3000000&this.bg}isFgRGB(){return(0x3000000&this.fg)==0x3000000}isBgRGB(){return(0x3000000&this.bg)==0x3000000}isFgPalette(){return(0x3000000&this.fg)==0x1000000||(0x3000000&this.fg)==0x2000000}isBgPalette(){return(0x3000000&this.bg)==0x1000000||(0x3000000&this.bg)==0x2000000}isFgDefault(){return(0x3000000&this.fg)==0}isBgDefault(){return(0x3000000&this.bg)==0}isAttributeDefault(){return 0===this.fg&&0===this.bg}getFgColor(){switch(0x3000000&this.fg){case 0x1000000:case 0x2000000:return 255&this.fg;case 0x3000000:return 0xffffff&this.fg;default:return -1}}getBgColor(){switch(0x3000000&this.bg){case 0x1000000:case 0x2000000:return 255&this.bg;case 0x3000000:return 0xffffff&this.bg;default:return -1}}hasExtendedAttrs(){return 0x10000000&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-0x10000001:this.bg|=0x10000000}getUnderlineColor(){if(0x10000000&this.bg&&~this.extended.underlineColor)switch(0x3000000&this.extended.underlineColor){case 0x1000000:case 0x2000000:return 255&this.extended.underlineColor;case 0x3000000:return 0xffffff&this.extended.underlineColor}return this.getFgColor()}getUnderlineColorMode(){return 0x10000000&this.bg&&~this.extended.underlineColor?0x3000000&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 0x10000000&this.bg&&~this.extended.underlineColor?(0x3000000&this.extended.underlineColor)==0x3000000:this.isFgRGB()}isUnderlineColorPalette(){return 0x10000000&this.bg&&~this.extended.underlineColor?(0x3000000&this.extended.underlineColor)==0x1000000||(0x3000000&this.extended.underlineColor)==0x2000000:this.isFgPalette()}isUnderlineColorDefault(){return 0x10000000&this.bg&&~this.extended.underlineColor?(0x3000000&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 0x10000000&this.fg?0x10000000&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},fV=class a{constructor(a=0,b=0){this._ext=0,this._urlId=0,this._ext=a,this._urlId=b}get ext(){return this._urlId?-0x1c000001&this._ext|this.underlineStyle<<26:this._ext}set ext(a){this._ext=a}get underlineStyle(){return this._urlId?5:(0x1c000000&this._ext)>>26}set underlineStyle(a){this._ext&=-0x1c000001,this._ext|=a<<26&0x1c000000}get underlineColor(){return 0x3ffffff&this._ext}set underlineColor(a){this._ext&=-0x4000000,this._ext|=0x3ffffff&a}get urlId(){return this._urlId}set urlId(a){this._urlId=a}get underlineVariantOffset(){let a=(0xe0000000&this._ext)>>29;return a<0?0xfffffff8^a:a}set underlineVariantOffset(a){this._ext&=0x1fffffff,this._ext|=a<<29&0xe0000000}clone(){return new a(this._ext,this._urlId)}isEmpty(){return 0===this.underlineStyle&&0===this._urlId}},fW=class a extends fU{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new fV,this.combinedData=""}static fromCharData(b){let c=new a;return c.setFromCharData(b),c}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?fQ(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(a){this.fg=a[0],this.bg=0;let b=!1;if(a[1].length>2)b=!0;else if(2===a[1].length){let c=a[1].charCodeAt(0);if(55296<=c&&c<=56319){let d=a[1].charCodeAt(1);56320<=d&&d<=57343?this.content=(c-55296)*1024+d-56320+65536|a[2]<<22:b=!0}else b=!0}else this.content=a[1].charCodeAt(0)|a[2]<<22;b&&(this.combinedData=a[1],this.content=2097152|a[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},fX="di$target",fY="di$dependencies",fZ=new Map;function f$(a){if(fZ.has(a))return fZ.get(a);let b=function(a,c,d){var e,f,g;if(3!=arguments.length)throw Error("@IServiceName-decorator can only be used to decorate a parameter");e=b,f=a,g=d,f[fX]===f?f[fY].push({id:e,index:g}):(f[fY]=[{id:e,index:g}],f[fX]=f)};return b._id=a,fZ.set(a,b),b}var f_=f$("BufferService"),f0=f$("CoreMouseService"),f1=f$("CoreService"),f2=f$("CharsetService"),f3=f$("InstantiationService"),f4=f$("LogService"),f5=f$("OptionsService"),f6=f$("OscLinkService"),f7=f$("UnicodeService"),f8=f$("DecorationService"),f9=class{constructor(a,b,c){this._bufferService=a,this._optionsService=b,this._oscLinkService=c}provideLinks(a,b){let c=this._bufferService.buffer.lines.get(a-1);if(!c)return void b(void 0);let d=[],e=this._optionsService.rawOptions.linkHandler,f=new fW,g=c.getTrimmedLength(),h=-1,i=-1,j=!1;for(let b=0;b<g;b++)if(!(-1===i&&!c.hasContent(b))){if(c.loadCell(b,f),f.hasExtendedAttrs()&&f.extended.urlId)if(-1===i){i=b,h=f.extended.urlId;continue}else j=f.extended.urlId!==h;else -1!==i&&(j=!0);if(j||-1!==i&&b===g-1){let c=this._oscLinkService.getLinkData(h)?.uri;if(c){let f={start:{x:i+1,y:a},end:{x:b+ +(!j&&b===g-1),y:a}},h=!1;if(!e?.allowNonHttpProtocols)try{let a=new URL(c);["http:","https:"].includes(a.protocol)||(h=!0)}catch{h=!0}h||d.push({text:c,range:f,activate:(a,b)=>e?e.activate(a,b,f):function(a,b){if(confirm(`Do you want to navigate to ${b}?
11
+
12
+ WARNING: This link could potentially be dangerous`)){let a=window.open();if(a){try{a.opener=null}catch{}a.location.href=b}else console.warn("Opening link blocked as opener could not be cleared")}}(0,b),hover:(a,b)=>e?.hover?.(a,b,f),leave:(a,b)=>e?.leave?.(a,b,f)})}j=!1,f.hasExtendedAttrs()&&f.extended.urlId?(i=b,h=f.extended.urlId):(i=-1,h=-1)}}b(d)}};f9=fH([fI(0,f_),fI(1,f5),fI(2,f6)],f9);var ga=f$("CharSizeService"),gb=f$("CoreBrowserService"),gc=f$("MouseService"),gd=f$("RenderService"),ge=f$("SelectionService"),gf=f$("CharacterJoinerService"),gg=f$("ThemeService"),gh=f$("LinkProviderService"),gi=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(a){setTimeout(()=>{throw a.stack?gm.isErrorNoTelemetry(a)?new gm(a.message+`
13
+
14
+ `+a.stack):Error(a.message+`
15
+
16
+ `+a.stack):a},0)}}addListener(a){return this.listeners.push(a),()=>{this._removeListener(a)}}emit(a){this.listeners.forEach(b=>{b(a)})}_removeListener(a){this.listeners.splice(this.listeners.indexOf(a),1)}setUnexpectedErrorHandler(a){this.unexpectedErrorHandler=a}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(a){this.unexpectedErrorHandler(a),this.emit(a)}onUnexpectedExternalError(a){this.unexpectedErrorHandler(a)}};function gj(a){var b;(b=a)instanceof gl||b instanceof Error&&b.name===gk&&b.message===gk||gi.onUnexpectedError(a)}var gk="Canceled",gl=class extends Error{constructor(){super(gk),this.name=this.message}},gm=class a extends Error{constructor(a){super(a),this.name="CodeExpectedError"}static fromError(b){if(b instanceof a)return b;let c=new a;return c.message=b.message,c.stack=b.stack,c}static isErrorNoTelemetry(a){return"CodeExpectedError"===a.name}},gn=class a extends Error{constructor(b){super(b||"An unexpected bug occurred."),Object.setPrototypeOf(this,a.prototype)}};function go(a,b=0){return a[a.length-(1+b)]}(a=>{a.isLessThan=function(a){return a<0},a.isLessThanOrEqual=function(a){return a<=0},a.isGreaterThan=function(a){return a>0},a.isNeitherLessOrGreaterThan=function(a){return 0===a},a.greaterThan=1,a.lessThan=-1,a.neitherLessOrGreaterThan=0})(gQ||={});var gp=class a{constructor(a){this.iterate=a}forEach(a){this.iterate(b=>(a(b),!0))}toArray(){let a=[];return this.iterate(b=>(a.push(b),!0)),a}filter(b){return new a(a=>this.iterate(c=>!b(c)||a(c)))}map(b){return new a(a=>this.iterate(c=>a(b(c))))}some(a){let b=!1;return this.iterate(c=>!(b=a(c))),b}findFirst(a){let b;return this.iterate(c=>!a(c)||(b=c,!1)),b}findLast(a){let b;return this.iterate(c=>(a(c)&&(b=c),!0)),b}findLastMaxBy(a){let b,c=!0;return this.iterate(d=>((c||gQ.isGreaterThan(a(d,b)))&&(c=!1,b=d),!0)),b}};gp.empty=new gp(a=>{}),Symbol.iterator,Symbol.toStringTag;(a=>{function b(a){return a&&"object"==typeof a&&"function"==typeof a[Symbol.iterator]}a.is=b;let c=Object.freeze([]);function*d(a){yield a}a.empty=function(){return c},a.single=d,a.wrap=function(a){return b(a)?a:d(a)},a.from=function(a){return a||c},a.reverse=function*(a){for(let b=a.length-1;b>=0;b--)yield a[b]},a.isEmpty=function(a){return!a||!0===a[Symbol.iterator]().next().done},a.first=function(a){return a[Symbol.iterator]().next().value},a.some=function(a,b){let c=0;for(let d of a)if(b(d,c++))return!0;return!1},a.find=function(a,b){for(let c of a)if(b(c))return c},a.filter=function*(a,b){for(let c of a)b(c)&&(yield c)},a.map=function*(a,b){let c=0;for(let d of a)yield b(d,c++)},a.flatMap=function*(a,b){let c=0;for(let d of a)yield*b(d,c++)},a.concat=function*(...a){for(let b of a)yield*b},a.reduce=function(a,b,c){let d=c;for(let c of a)d=b(d,c);return d},a.slice=function*(a,b,c=a.length){for(b<0&&(b+=a.length),c<0?c+=a.length:c>a.length&&(c=a.length);b<c;b++)yield a[b]},a.consume=function(b,c=1/0){let d=[];if(0===c)return[d,b];let e=b[Symbol.iterator]();for(let b=0;b<c;b++){let b=e.next();if(b.done)return[d,a.empty()];d.push(b.value)}return[d,{[Symbol.iterator]:()=>e}]},a.asyncToArray=async function(a){let b=[];for await(let c of a)b.push(c);return Promise.resolve(b)}})(gR||={});function gq(a){return a}function gr(a){}function gs(a,b){}function gt(a){return a}function gu(a){if(gR.is(a)){let b=[];for(let c of a)if(c)try{c.dispose()}catch(a){b.push(a)}if(1===b.length)throw b[0];if(b.length>1)throw AggregateError(b,"Encountered errors while disposing of store");return Array.isArray(a)?[]:a}if(a)return a.dispose(),a}function gv(a){let b=gq({dispose:function(a,b){let c=this,d=!1,e;return function(){if(d)return e;if(d=!0,b)try{e=a.apply(c,arguments)}finally{b()}else e=a.apply(c,arguments);return e}}(()=>{gr(b),a()})});return b}var gw=class a{constructor(){this._toDispose=new Set,this._isDisposed=!1,gq(this)}dispose(){this._isDisposed||(gr(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{gu(this._toDispose)}finally{this._toDispose.clear()}}add(b){if(!b)return b;if(b===this)throw Error("Cannot register a disposable on itself!");return gs(b,this),this._isDisposed?a.DISABLE_DISPOSED_WARNING||console.warn(Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(b),b}delete(a){if(a){if(a===this)throw Error("Cannot dispose a disposable on itself!");this._toDispose.delete(a),a.dispose()}}deleteAndLeak(a){a&&this._toDispose.has(a)&&(this._toDispose.delete(a),gs(a,null))}};gw.DISABLE_DISPOSED_WARNING=!1;var gx=gw,gy=class{constructor(){this._store=new gx,gq(this),gs(this._store,this)}dispose(){gr(this),this._store.dispose()}_register(a){if(a===this)throw Error("Cannot register a disposable on itself!");return this._store.add(a)}};gy.None=Object.freeze({dispose(){}});var gz=class{constructor(){this._isDisposed=!1,gq(this)}get value(){return this._isDisposed?void 0:this._value}set value(a){this._isDisposed||a===this._value||(this._value?.dispose(),a&&gs(a,this),this._value=a)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,gr(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let a=this._value;return this._value=void 0,a&&gs(a,null),a}},gA="object"==typeof window?window:globalThis,gB=class a{constructor(b){this.element=b,this.next=a.Undefined,this.prev=a.Undefined}};gB.Undefined=new gB(void 0);var gC=class{constructor(){this._first=gB.Undefined,this._last=gB.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===gB.Undefined}clear(){let a=this._first;for(;a!==gB.Undefined;){let b=a.next;a.prev=gB.Undefined,a.next=gB.Undefined,a=b}this._first=gB.Undefined,this._last=gB.Undefined,this._size=0}unshift(a){return this._insert(a,!1)}push(a){return this._insert(a,!0)}_insert(a,b){let c=new gB(a);if(this._first===gB.Undefined)this._first=c,this._last=c;else if(b){let a=this._last;this._last=c,c.prev=a,a.next=c}else{let a=this._first;this._first=c,c.next=a,a.prev=c}this._size+=1;let d=!1;return()=>{d||(d=!0,this._remove(c))}}shift(){if(this._first!==gB.Undefined){let a=this._first.element;return this._remove(this._first),a}}pop(){if(this._last!==gB.Undefined){let a=this._last.element;return this._remove(this._last),a}}_remove(a){if(a.prev!==gB.Undefined&&a.next!==gB.Undefined){let b=a.prev;b.next=a.next,a.next.prev=b}else a.prev===gB.Undefined&&a.next===gB.Undefined?(this._first=gB.Undefined,this._last=gB.Undefined):a.next===gB.Undefined?(this._last=this._last.prev,this._last.next=gB.Undefined):a.prev===gB.Undefined&&(this._first=this._first.next,this._first.prev=gB.Undefined);this._size-=1}*[Symbol.iterator](){let a=this._first;for(;a!==gB.Undefined;)yield a.element,a=a.next}},gD=globalThis.performance&&"function"==typeof globalThis.performance.now,gE=class a{static create(b){return new a(b)}constructor(a){this._now=gD&&!1===a?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return -1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}};(a=>{function b(a){}function c(a){return(b,c=null,d)=>{let e=!1,f;return f=a(a=>{if(!e)return f?f.dispose():e=!0,b.call(c,a)},null,d),e&&f.dispose(),f}}function d(a,b,c){return f((c,d=null,e)=>a(a=>c.call(d,b(a)),null,e),c)}function e(a,b,c){return f((c,d=null,e)=>a(a=>b(a)&&c.call(d,a),null,e),c)}function f(a,c){let d,e={onWillAddFirstListener(){d=a(f.fire,f)},onDidRemoveLastListener(){d?.dispose()}};c||b(e);let f=new gZ(e);return c?.add(f),f.event}function g(a,c,d=100,e=!1,f=!1,h,i){let j,k,l,m=0,n,o={leakWarningThreshold:h,onWillAddFirstListener(){j=a(a=>{m++,k=c(k,a),e&&!l&&(p.fire(k),k=void 0),n=()=>{let a=k;k=void 0,l=void 0,(!e||m>1)&&p.fire(a),m=0},"number"==typeof d?(clearTimeout(l),l=setTimeout(n,d)):void 0===l&&(l=0,queueMicrotask(n))})},onWillRemoveListener(){f&&m>0&&n?.()},onDidRemoveLastListener(){n=void 0,j.dispose()}};i||b(o);let p=new gZ(o);return i?.add(p),p.event}a.None=()=>gy.None,a.defer=function(a,b){return g(a,()=>{},0,void 0,!0,void 0,b)},a.once=c,a.map=d,a.forEach=function(a,b,c){return f((c,d=null,e)=>a(a=>{b(a),c.call(d,a)},null,e),c)},a.filter=e,a.signal=function(a){return a},a.any=function(...a){return(b,c=null,d)=>{var e,f;return e=function(...a){let b=gv(()=>gu(a));return function(a,b){!1}(a,b),b}(...a.map(a=>a(a=>b.call(c,a)))),(f=d)instanceof Array?f.push(e):f&&f.add(e),e}},a.reduce=function(a,b,c,e){let f=c;return d(a,a=>f=b(f,a),e)},a.debounce=g,a.accumulate=function(b,c=0,d){return a.debounce(b,(a,b)=>a?(a.push(b),a):[b],c,void 0,!0,void 0,d)},a.latch=function(a,b=(a,b)=>a===b,c){let d=!0,f;return e(a,a=>{let c=d||!b(a,f);return d=!1,f=a,c},c)},a.split=function(b,c,d){return[a.filter(b,c,d),a.filter(b,a=>!c(a),d)]},a.buffer=function(a,b=!1,c=[],d){let e=c.slice(),f=a(a=>{e?e.push(a):h.fire(a)});d&&d.add(f);let g=()=>{e?.forEach(a=>h.fire(a)),e=null},h=new gZ({onWillAddFirstListener(){f||(f=a(a=>h.fire(a)),d&&d.add(f))},onDidAddFirstListener(){e&&(b?setTimeout(g):g())},onDidRemoveLastListener(){f&&f.dispose(),f=null}});return d&&d.add(h),h.event},a.chain=function(a,b){return(c,d,e)=>{let f=b(new i);return a(function(a){let b=f.evaluate(a);b!==h&&c.call(d,b)},void 0,e)}};let h=Symbol("HaltChainable");class i{constructor(){this.steps=[]}map(a){return this.steps.push(a),this}forEach(a){return this.steps.push(b=>(a(b),b)),this}filter(a){return this.steps.push(b=>a(b)?b:h),this}reduce(a,b){let c=b;return this.steps.push(b=>c=a(c,b)),this}latch(a=(a,b)=>a===b){let b=!0,c;return this.steps.push(d=>{let e=b||!a(d,c);return b=!1,c=d,e?d:h}),this}evaluate(a){for(let b of this.steps)if((a=b(a))===h)break;return a}}a.fromNodeEventEmitter=function(a,b,c=a=>a){let d=(...a)=>e.fire(c(...a)),e=new gZ({onWillAddFirstListener:()=>a.on(b,d),onDidRemoveLastListener:()=>a.removeListener(b,d)});return e.event},a.fromDOMEventEmitter=function(a,b,c=a=>a){let d=(...a)=>e.fire(c(...a)),e=new gZ({onWillAddFirstListener:()=>a.addEventListener(b,d),onDidRemoveLastListener:()=>a.removeEventListener(b,d)});return e.event},a.toPromise=function(a){return new Promise(b=>c(a)(b))},a.fromPromise=function(a){let b=new gZ;return a.then(a=>{b.fire(a)},()=>{b.fire(void 0)}).finally(()=>{b.dispose()}),b.event},a.forward=function(a,b){return a(a=>b.fire(a))},a.runAndSubscribe=function(a,b,c){return b(c),a(a=>b(a))};class j{constructor(a,c){this._observable=a,this._counter=0,this._hasChanged=!1;let d={onWillAddFirstListener:()=>{a.addObserver(this)},onDidRemoveLastListener:()=>{a.removeObserver(this)}};c||b(d),this.emitter=new gZ(d),c&&c.add(this.emitter)}beginUpdate(a){this._counter++}handlePossibleChange(a){}handleChange(a,b){this._hasChanged=!0}endUpdate(a){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}a.fromObservable=function(a,b){return new j(a,b).emitter.event},a.fromObservableLight=function(a){return(b,c,d)=>{let e=0,f=!1,g={beginUpdate(){e++},endUpdate(){0==--e&&(a.reportChanges(),f&&(f=!1,b.call(c)))},handlePossibleChange(){},handleChange(){f=!0}};a.addObserver(g),a.reportChanges();let h={dispose(){a.removeObserver(g)}};return d instanceof gx?d.add(h):Array.isArray(d)&&d.push(h),h}}})(gS||={});var gF=class a{constructor(b){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${b}_${a._idPool++}`,a.all.add(this)}start(a){this._stopWatch=new gE,this.listenerCount=a}stop(){if(this._stopWatch){let a=this._stopWatch.elapsed();this.durations.push(a),this.elapsedOverall+=a,this.invocationCount+=1,this._stopWatch=void 0}}};gF.all=new Set,gF._idPool=0;var gG=class a{constructor(b,c,d=(a._idPool++).toString(16).padStart(3,"0")){this._errorHandler=b,this.threshold=c,this.name=d,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(a,b){let c=this.threshold;if(c<=0||b<c)return;this._stacks||(this._stacks=new Map);let d=this._stacks.get(a.value)||0;if(this._stacks.set(a.value,d+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=.5*c;let[a,d]=this.getMostFrequentStack(),e=`[${this.name}] potential listener LEAK detected, having ${b} listeners already. MOST frequent listener (${d}):`;console.warn(e),console.warn(a);let f=new gV(e,a);this._errorHandler(f)}return()=>{let b=this._stacks.get(a.value)||0;this._stacks.set(a.value,b-1)}}getMostFrequentStack(){if(!this._stacks)return;let a,b=0;for(let[c,d]of this._stacks)(!a||b<d)&&(a=[c,d],b=d);return a}};gG._idPool=1;var gH,gI,gJ,gK,gL,gM,gN,gO,gP,gQ,gR,gS,gT,gU=class a{constructor(a){this.value=a}static create(){return new a(Error().stack??"")}print(){console.warn(this.value.split(`
17
+ `).slice(2).join(`
18
+ `))}},gV=class extends Error{constructor(a,b){super(a),this.name="ListenerLeakError",this.stack=b}},gW=class extends Error{constructor(a,b){super(a),this.name="ListenerRefusalError",this.stack=b}},gX=0,gY=class{constructor(a){this.value=a,this.id=gX++}},gZ=class{constructor(a){this._size=0,this._options=a,this._leakageMon=this._options?.leakWarningThreshold?new gG(a?.onListenerError??gj,this._options?.leakWarningThreshold??-1):void 0,this._perfMon=this._options?._profName?new gF(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(a,b,c)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let a=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(a);let b=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],c=new gW(`${a}. HINT: Stack shows most frequent listener (${b[1]}-times)`,b[0]);return(this._options?.onListenerError||gj)(c),gy.None}if(this._disposed)return gy.None;b&&(a=a.bind(b));let d=new gY(a),e;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(d.stack=gU.create(),e=this._leakageMon.check(d.stack,this._size+1)),this._listeners?this._listeners instanceof gY?(this._deliveryQueue??=new g$,this._listeners=[this._listeners,d]):this._listeners.push(d):(this._options?.onWillAddFirstListener?.(this),this._listeners=d,this._options?.onDidAddFirstListener?.(this)),this._size++;let f=gv(()=>{gT?.unregister(f),e?.(),this._removeListener(d)});if(c instanceof gx?c.add(f):Array.isArray(c)&&c.push(f),gT){let a=Error().stack.split(`
19
+ `).slice(2,3).join(`
20
+ `).trim(),b=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(a);gT.register(f,b?.[2]??a,f)}return f},this._event}_removeListener(a){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(1===this._size){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let b=this._listeners,c=b.indexOf(a);if(-1===c)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),Error("Attempted to dispose unknown listener");this._size--,b[c]=void 0;let d=this._deliveryQueue.current===this;if(2*this._size<=b.length){let a=0;for(let c=0;c<b.length;c++)b[c]?b[a++]=b[c]:d&&(this._deliveryQueue.end--,a<this._deliveryQueue.i&&this._deliveryQueue.i--);b.length=a}}_deliver(a,b){if(!a)return;let c=this._options?.onListenerError||gj;if(!c)return void a.value(b);try{a.value(b)}catch(a){c(a)}}_deliverQueue(a){let b=a.current._listeners;for(;a.i<a.end;)this._deliver(b[a.i++],a.value);a.reset()}fire(a){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof gY)this._deliver(this._listeners,a);else{let b=this._deliveryQueue;b.enqueue(this,a,this._listeners.length),this._deliverQueue(b)}this._perfMon?.stop()}hasListeners(){return this._size>0}},g$=class{constructor(){this.i=-1,this.end=0}enqueue(a,b,c){this.i=0,this.end=c,this.current=a,this.value=b}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},g_=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new gZ,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new gZ,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(a){return this.mapWindowIdToZoomLevel.get(this.getWindowId(a))??0}setZoomLevel(a,b){if(this.getZoomLevel(b)===a)return;let c=this.getWindowId(b);this.mapWindowIdToZoomLevel.set(c,a),this._onDidChangeZoomLevel.fire(c)}getZoomFactor(a){return this.mapWindowIdToZoomFactor.get(this.getWindowId(a))??1}setZoomFactor(a,b){this.mapWindowIdToZoomFactor.set(this.getWindowId(b),a)}setFullscreen(a,b){if(this.isFullscreen(b)===a)return;let c=this.getWindowId(b);this.mapWindowIdToFullScreen.set(c,a),this._onDidChangeFullscreen.fire(c)}isFullscreen(a){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(a))}getWindowId(a){return a.vscodeWindowId}};g_.INSTANCE=new g_,g_.INSTANCE.onDidChangeZoomLevel,g_.INSTANCE.onDidChangeFullscreen;var g0="object"==typeof navigator?navigator.userAgent:"",g1=g0.indexOf("Firefox")>=0,g2=g0.indexOf("AppleWebKit")>=0,g3=g0.indexOf("Chrome")>=0,g4=!g3&&g0.indexOf("Safari")>=0;g0.indexOf("Electron/"),g0.indexOf("Android");var g5=!1;if("function"==typeof gA.matchMedia){let a=gA.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),b=gA.matchMedia("(display-mode: fullscreen)");g5=a.matches,function(a,b,c){"string"==typeof b&&(b=a.matchMedia(b)),b.addEventListener("change",c)}(gA,a,({matches:a})=>{g5&&b.matches||(g5=a)})}var g6,g7,g8=!1,g9=!1,ha=!1,hb=!1,hc=!1,hd="en",he=globalThis;"u">typeof he.vscode&&"u">typeof he.vscode.process?g7=he.vscode.process:"u">typeof process&&"string"==typeof process?.versions?.node&&(g7=process);var hf="string"==typeof g7?.versions?.electron&&g7?.type==="renderer";if("object"==typeof g7){g8="win32"===g7.platform,g9="darwin"===g7.platform,(ha="linux"===g7.platform)&&g7.env.SNAP&&g7.env.SNAP_REVISION,g7.env.CI||g7.env.BUILD_ARTIFACTSTAGINGDIRECTORY,hd="en";let a=g7.env.VSCODE_NLS_CONFIG;if(a)try{let b=JSON.parse(a);b.userLocale,b.osLocale,hd=b.resolvedLanguage||"en",b.languagePack?.translationsConfigFile}catch{}hb=!0}else"object"!=typeof navigator||hf?console.error("Unable to resolve platform."):(g8=(g6=navigator.userAgent).indexOf("Windows")>=0,g9=g6.indexOf("Macintosh")>=0,(g6.indexOf("Macintosh")>=0||g6.indexOf("iPad")>=0||g6.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,ha=g6.indexOf("Linux")>=0,g6?.indexOf("Mobi"),hc=!0,hd=globalThis._VSCODE_NLS_LANGUAGE||"en",navigator.language.toLowerCase());var hg=g8,hh=g9,hi=ha,hj=hb;hc&&"function"==typeof he.importScripts&&he.origin;var hk,hl=g6,hm=hd;(a=>{a.value=function(){return hm},a.isDefaultVariant=function(){return 2===hm.length?"en"===hm:hm.length>=3&&"e"===hm[0]&&"n"===hm[1]&&"-"===hm[2]},a.isDefault=function(){return"en"===hm}})(hk||={});var hn="function"==typeof he.postMessage&&!he.importScripts,ho=(()=>{if(hn){let a=[];he.addEventListener("message",b=>{if(b.data&&b.data.vscodeScheduleAsyncWork)for(let c=0,d=a.length;c<d;c++){let d=a[c];if(d.id===b.data.vscodeScheduleAsyncWork){a.splice(c,1),d.callback();return}}});let b=0;return c=>{let d=++b;a.push({id:d,callback:c}),he.postMessage({vscodeScheduleAsyncWork:d},"*")}}return a=>setTimeout(a)})(),hp=!!(hl&&hl.indexOf("Chrome")>=0);hl&&hl.indexOf("Firefox"),!hp&&hl&&hl.indexOf("Safari"),hl&&hl.indexOf("Edg/"),hl&&hl.indexOf("Android");var hq="object"==typeof navigator?navigator:{};hj||document.queryCommandSupported&&document.queryCommandSupported("copy")||hq&&hq.clipboard&&hq.clipboard.writeText,hj||hq&&hq.clipboard&&hq.clipboard.readText,hj||g5||hq.keyboard,"ontouchstart"in gA||hq.maxTouchPoints,gA.PointerEvent&&("ontouchstart"in gA||navigator.maxTouchPoints);var hr=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(a,b){this._keyCodeToStr[a]=b,this._strToKeyCode[b.toLowerCase()]=a}keyCodeToStr(a){return this._keyCodeToStr[a]}strToKeyCode(a){return this._strToKeyCode[a.toLowerCase()]||0}},hs=new hr,ht=new hr,hu=new hr,hv=Array(230);(a=>{a.toString=function(a){return hs.keyCodeToStr(a)},a.fromString=function(a){return hs.strToKeyCode(a)},a.toUserSettingsUS=function(a){return ht.keyCodeToStr(a)},a.toUserSettingsGeneral=function(a){return hu.keyCodeToStr(a)},a.fromUserSettings=function(a){return ht.strToKeyCode(a)||hu.strToKeyCode(a)},a.toElectronAccelerator=function(a){if(a>=98&&a<=113)return null;switch(a){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return hs.keyCodeToStr(a)}})(hw||={});var hw,hx,hy=class a{constructor(a,b,c,d,e){this.ctrlKey=a,this.shiftKey=b,this.altKey=c,this.metaKey=d,this.keyCode=e}equals(b){return b instanceof a&&this.ctrlKey===b.ctrlKey&&this.shiftKey===b.shiftKey&&this.altKey===b.altKey&&this.metaKey===b.metaKey&&this.keyCode===b.keyCode}getHashCode(){let a=this.ctrlKey?"1":"0",b=this.shiftKey?"1":"0",c=this.altKey?"1":"0",d=this.metaKey?"1":"0";return`K${a}${b}${c}${d}${this.keyCode}`}isModifierKey(){return 0===this.keyCode||5===this.keyCode||57===this.keyCode||6===this.keyCode||4===this.keyCode}toKeybinding(){return new hz([this])}isDuplicateModifierCase(){return this.ctrlKey&&5===this.keyCode||this.shiftKey&&4===this.keyCode||this.altKey&&6===this.keyCode||this.metaKey&&57===this.keyCode}},hz=class{constructor(a){if(0===a.length)throw function(a){return a?Error(`Illegal argument: ${a}`):Error("Illegal argument")}("chords");this.chords=a}getHashCode(){let a="";for(let b=0,c=this.chords.length;b<c;b++)0!==b&&(a+=";"),a+=this.chords[b].getHashCode();return a}equals(a){if(null===a||this.chords.length!==a.chords.length)return!1;for(let b=0;b<this.chords.length;b++)if(!this.chords[b].equals(a.chords[b]))return!1;return!0}},hA=hh?256:2048,hB=hh?2048:256,hC=class{constructor(a){this._standardKeyboardEventBrand=!0,this.browserEvent=a,this.target=a.target,this.ctrlKey=a.ctrlKey,this.shiftKey=a.shiftKey,this.altKey=a.altKey,this.metaKey=a.metaKey,this.altGraphKey=a.getModifierState?.("AltGraph"),this.keyCode=function(a){if(a.charCode){let b=String.fromCharCode(a.charCode).toUpperCase();return hw.fromString(b)}let b=a.keyCode;if(3===b)return 7;if(g1)switch(b){case 59:return 85;case 60:if(hi)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(hh)return 57}else if(g2&&(hh&&93===b||!hh&&92===b))return 57;return hv[b]||0}(a),this.code=a.code,this.ctrlKey=this.ctrlKey||5===this.keyCode,this.altKey=this.altKey||6===this.keyCode,this.shiftKey=this.shiftKey||4===this.keyCode,this.metaKey=this.metaKey||57===this.keyCode,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(a){return this._asKeybinding===a}_computeKeybinding(){let a=0;5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(a=this.keyCode);let b=0;return this.ctrlKey&&(b|=hA),this.altKey&&(b|=512),this.shiftKey&&(b|=1024),this.metaKey&&(b|=hB),b|=a}_computeKeyCodeChord(){let a=0;return 5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(a=this.keyCode),new hy(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,a)}},hD=new WeakMap,hE=class{static getSameOriginWindowChain(a){let b=hD.get(a);if(!b){b=[],hD.set(a,b);let c=a,d;do(d=function(a){if(!a.parent||a.parent===a)return null;try{let b=a.location,c=a.parent.location;if("null"!==b.origin&&"null"!==c.origin&&b.origin!==c.origin)return null}catch{return null}return a.parent}(c))?b.push({window:new WeakRef(c),iframeElement:c.frameElement||null}):b.push({window:new WeakRef(c),iframeElement:null}),c=d;while(c)}return b.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(a,b){if(!b||a===b)return{top:0,left:0};let c=0,d=0;for(let e of this.getSameOriginWindowChain(a)){let a=e.window.deref();if(c+=a?.scrollY??0,d+=a?.scrollX??0,a===b||!e.iframeElement)break;let f=e.iframeElement.getBoundingClientRect();c+=f.top,d+=f.left}return{top:c,left:d}}},hF=class{constructor(a,b){this.timestamp=Date.now(),this.browserEvent=b,this.leftButton=0===b.button,this.middleButton=1===b.button,this.rightButton=2===b.button,this.buttons=b.buttons,this.target=b.target,this.detail=b.detail||1,"dblclick"===b.type&&(this.detail=2),this.ctrlKey=b.ctrlKey,this.shiftKey=b.shiftKey,this.altKey=b.altKey,this.metaKey=b.metaKey,"number"==typeof b.pageX?(this.posx=b.pageX,this.posy=b.pageY):(this.posx=b.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=b.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let c=hE.getPositionOfChildWindowRelativeToAncestorWindow(a,b.view);this.posx-=c.left,this.posy-=c.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},hG=class{constructor(a,b=0,c=0){this.browserEvent=a||null,this.target=a?a.target||a.targetNode||a.srcElement:null,this.deltaY=c,this.deltaX=b;let d=!1;if(g3){let a=navigator.userAgent.match(/Chrome\/(\d+)/);d=(a?parseInt(a[1]):123)<=122}if(a){let b=a.view?.devicePixelRatio||1;"u">typeof a.wheelDeltaY?d?this.deltaY=a.wheelDeltaY/(120*b):this.deltaY=a.wheelDeltaY/120:"u">typeof a.VERTICAL_AXIS&&a.axis===a.VERTICAL_AXIS?this.deltaY=-a.detail/3:"wheel"===a.type&&(a.deltaMode===a.DOM_DELTA_LINE?g1&&!hh?this.deltaY=-a.deltaY/3:this.deltaY=-a.deltaY:this.deltaY=-a.deltaY/40),"u">typeof a.wheelDeltaX?g4&&hg?this.deltaX=-(a.wheelDeltaX/120):d?this.deltaX=a.wheelDeltaX/(120*b):this.deltaX=a.wheelDeltaX/120:"u">typeof a.HORIZONTAL_AXIS&&a.axis===a.HORIZONTAL_AXIS?this.deltaX=-a.detail/3:"wheel"===a.type&&(a.deltaMode===a.DOM_DELTA_LINE?g1&&!hh?this.deltaX=-a.deltaX/3:this.deltaX=-a.deltaX:this.deltaX=-a.deltaX/40),0===this.deltaY&&0===this.deltaX&&a.wheelDelta&&(d?this.deltaY=a.wheelDelta/(120*b):this.deltaY=a.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}},hH=Object.freeze(function(a,b){let c=setTimeout(a.bind(b),0);return{dispose(){clearTimeout(c)}}});(a=>{a.isCancellationToken=function(b){return b===a.None||b===a.Cancelled||b instanceof hI||!!b&&"object"==typeof b&&"boolean"==typeof b.isCancellationRequested&&"function"==typeof b.onCancellationRequested},a.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:gS.None}),a.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:hH})})(hx||={});var hI=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?hH:(this._emitter||(this._emitter=new gZ),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}};Symbol("MicrotaskDelay");var hJ=class{constructor(a,b){this._isDisposed=!1,this._token=-1,"function"==typeof a&&"number"==typeof b&&this.setIfNotSet(a,b)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(a,b){if(this._isDisposed)throw new gn("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,a()},b)}setIfNotSet(a,b){if(this._isDisposed)throw new gn("Calling 'setIfNotSet' on a disposed TimeoutTimer");-1===this._token&&(this._token=setTimeout(()=>{this._token=-1,a()},b))}},hK=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(a,b,c=globalThis){if(this.isDisposed)throw new gn("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let d=c.setInterval(()=>{a()},b);this.disposable=gv(()=>{c.clearInterval(d),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}};iz="function"!=typeof globalThis.requestIdleCallback||"function"!=typeof globalThis.cancelIdleCallback?(a,b)=>{ho(()=>{if(c)return;let a=Date.now()+15;b(Object.freeze({didTimeout:!0,timeRemaining:()=>Math.max(0,a-Date.now())}))});let c=!1;return{dispose(){c||(c=!0)}}}:(a,b,c)=>{let d=a.requestIdleCallback(b,"number"==typeof c?{timeout:c}:void 0),e=!1;return{dispose(){e||(e=!0,a.cancelIdleCallback(d))}}},(a=>{a.settled=async function(a){let b,c=await Promise.all(a.map(a=>a.then(a=>a,a=>{b||(b=a)})));if("u">typeof b)throw b;return c},a.withAsyncBody=function(a){return new Promise(async(b,c)=>{try{await a(b,c)}catch(a){c(a)}})}})(iA||={});var hL=class a{static fromArray(b){return new a(a=>{a.emitMany(b)})}static fromPromise(b){return new a(async a=>{a.emitMany(await b)})}static fromPromises(b){return new a(async a=>{await Promise.all(b.map(async b=>a.emitOne(await b)))})}static merge(b){return new a(async a=>{await Promise.all(b.map(async b=>{for await(let c of b)a.emitOne(c)}))})}constructor(a,b){this._state=0,this._results=[],this._error=null,this._onReturn=b,this._onStateChanged=new gZ,queueMicrotask(async()=>{let b={emitOne:a=>this.emitOne(a),emitMany:a=>this.emitMany(a),reject:a=>this.reject(a)};try{await Promise.resolve(a(b)),this.resolve()}catch(a){this.reject(a)}finally{b.emitOne=void 0,b.emitMany=void 0,b.reject=void 0}})}[Symbol.asyncIterator](){let a=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(a<this._results.length)return{done:!1,value:this._results[a++]};if(1===this._state)return{done:!0,value:void 0};await gS.toPromise(this._onStateChanged.event)}},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(b,c){return new a(async a=>{for await(let d of b)a.emitOne(c(d))})}map(b){return a.map(this,b)}static filter(b,c){return new a(async a=>{for await(let d of b)c(d)&&a.emitOne(d)})}filter(b){return a.filter(this,b)}static coalesce(b){return a.filter(b,a=>!!a)}coalesce(){return a.coalesce(this)}static async toPromise(a){let b=[];for await(let c of a)b.push(c);return b}toPromise(){return a.toPromise(this)}emitOne(a){0===this._state&&(this._results.push(a),this._onStateChanged.fire())}emitMany(a){0===this._state&&(this._results=this._results.concat(a),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(a){0===this._state&&(this._state=2,this._error=a,this._onStateChanged.fire())}};hL.EMPTY=hL.fromArray([]);function hM(a,b){return(b<<5)-b+a|0}function hN(a,b){b=hM(149417,b);for(let c=0,d=a.length;c<d;c++)b=hM(a.charCodeAt(c),b);return b}new DataView(new ArrayBuffer(320));var{registerWindow:hO,getWindow:hP,getDocument:hQ,getWindows:hR,getWindowsCount:hS,getWindowId:hT,getWindowById:hU,hasWindow:hV,onDidRegisterWindow:hW,onWillUnregisterWindow:hX,onDidUnregisterWindow:hY}=function(){let a=new Map,b={window:gA,disposables:new gx};a.set(gA.vscodeWindowId,b);let c=new gZ,d=new gZ,e=new gZ;return{onDidRegisterWindow:c.event,onWillUnregisterWindow:e.event,onDidUnregisterWindow:d.event,registerWindow(b){if(a.has(b.vscodeWindowId))return gy.None;let f=new gx,g={window:b,disposables:f.add(new gx)};return a.set(b.vscodeWindowId,g),f.add(gv(()=>{a.delete(b.vscodeWindowId),d.fire(b)})),f.add(h$(b,h3.BEFORE_UNLOAD,()=>{e.fire(b)})),c.fire(g),f},getWindows:()=>a.values(),getWindowsCount:()=>a.size,getWindowId:a=>a.vscodeWindowId,hasWindow:b=>a.has(b),getWindowById:function(c,d){return("number"==typeof c?a.get(c):void 0)??(d?b:void 0)},getWindow:a=>a?.ownerDocument?.defaultView?a.ownerDocument.defaultView.window:a?.view?a.view.window:gA,getDocument:a=>hP(a).document}}(),hZ=class{constructor(a,b,c,d){this._node=a,this._type=b,this._handler=c,this._options=d||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}};function h$(a,b,c,d){return new hZ(a,b,c,d)}var h_=function(a,b,c,d){var e;let f=c;return"click"===b||"mousedown"===b||"contextmenu"===b?(e=hP(a),f=function(a){return c(new hF(e,a))}):("keydown"===b||"keypress"===b||"keyup"===b)&&(f=function(a){return c(new hC(a))}),h$(a,b,f,d)},h0=class extends hK{constructor(a){super(),this.defaultTarget=a&&hP(a)}cancelAndSet(a,b,c){return super.cancelAndSet(a,b,c??this.defaultTarget)}},h1=class{constructor(a,b=0){this._runner=a,this.priority=b,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(a){gj(a)}}static sort(a,b){return b.priority-a.priority}};!function(){let a=new Map,b=new Map,c=new Map,d=new Map;iB=(e,f,g=0)=>{let h=hT(e),i=new h1(f,g),j=a.get(h);return j||(j=[],a.set(h,j)),j.push(i),c.get(h)||(c.set(h,!0),e.requestAnimationFrame(()=>(e=>{c.set(e,!1);let f=a.get(e)??[];for(b.set(e,f),a.set(e,[]),d.set(e,!0);f.length>0;)f.sort(h1.sort),f.shift().execute();d.set(e,!1)})(h))),i},(a,c,e)=>{let f=hT(a);if(!d.get(f))return iB(a,c,e);{let a=new h1(c,e),d=b.get(f);return d||(d=[],b.set(f,d)),d.push(a),a}}}();var h2=class a{constructor(a,b){this.width=a,this.height=b}with(b=this.width,c=this.height){return b!==this.width||c!==this.height?new a(b,c):this}static is(a){return"object"==typeof a&&"number"==typeof a.height&&"number"==typeof a.width}static lift(b){return b instanceof a?b:new a(b.width,b.height)}static equals(a,b){return a===b||!!a&&!!b&&a.width===b.width&&a.height===b.height}};h2.None=new h2(0,0),new class{constructor(){this.mutationObservers=new Map}observe(a,b,c){let d=this.mutationObservers.get(a);d||(d=new Map,this.mutationObservers.set(a,d));let e=function a(b,c){switch(typeof b){case"object":var d,e,f,g;return null===b?hM(349,c):Array.isArray(b)?(d=b,e=hM(104579,e=c),d.reduce((b,c)=>a(c,b),e)):(f=b,g=hM(181387,g=c),Object.keys(f).sort().reduce((b,c)=>(b=hN(c,b),a(f[c],b)),g));case"string":return hN(b,c);case"boolean":return hM(b?433:863,c);case"number":return hM(b,c);case"undefined":return hM(937,c);default:return hM(617,c)}}(c,0),f=d.get(e);if(f)f.users+=1;else{let g=new gZ,h=new MutationObserver(a=>g.fire(a));h.observe(a,c);let i=f={users:1,observer:h,onDidMutate:g.event};b.add(gv(()=>{i.users-=1,0===i.users&&(g.dispose(),h.disconnect(),d?.delete(e),d?.size===0&&this.mutationObservers.delete(a))})),d.set(e,f)}return f.onDidMutate}};var h3={CLICK:"click",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",CHANGE:"change",FOCUS:"focus",BLUR:"blur",INPUT:"input"},h4=class{constructor(a){this.domNode=a,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingTop="",this._paddingLeft="",this._paddingBottom="",this._paddingRight="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(a){let b=h5(a);this._maxWidth!==b&&(this._maxWidth=b,this.domNode.style.maxWidth=this._maxWidth)}setWidth(a){let b=h5(a);this._width!==b&&(this._width=b,this.domNode.style.width=this._width)}setHeight(a){let b=h5(a);this._height!==b&&(this._height=b,this.domNode.style.height=this._height)}setTop(a){let b=h5(a);this._top!==b&&(this._top=b,this.domNode.style.top=this._top)}setLeft(a){let b=h5(a);this._left!==b&&(this._left=b,this.domNode.style.left=this._left)}setBottom(a){let b=h5(a);this._bottom!==b&&(this._bottom=b,this.domNode.style.bottom=this._bottom)}setRight(a){let b=h5(a);this._right!==b&&(this._right=b,this.domNode.style.right=this._right)}setPaddingTop(a){let b=h5(a);this._paddingTop!==b&&(this._paddingTop=b,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(a){let b=h5(a);this._paddingLeft!==b&&(this._paddingLeft=b,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(a){let b=h5(a);this._paddingBottom!==b&&(this._paddingBottom=b,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(a){let b=h5(a);this._paddingRight!==b&&(this._paddingRight=b,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(a){this._fontFamily!==a&&(this._fontFamily=a,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(a){this._fontWeight!==a&&(this._fontWeight=a,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(a){let b=h5(a);this._fontSize!==b&&(this._fontSize=b,this.domNode.style.fontSize=this._fontSize)}setFontStyle(a){this._fontStyle!==a&&(this._fontStyle=a,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(a){this._fontFeatureSettings!==a&&(this._fontFeatureSettings=a,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(a){this._fontVariationSettings!==a&&(this._fontVariationSettings=a,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(a){this._textDecoration!==a&&(this._textDecoration=a,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(a){let b=h5(a);this._lineHeight!==b&&(this._lineHeight=b,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(a){let b=h5(a);this._letterSpacing!==b&&(this._letterSpacing=b,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(a){this._className!==a&&(this._className=a,this.domNode.className=this._className)}toggleClassName(a,b){this.domNode.classList.toggle(a,b),this._className=this.domNode.className}setDisplay(a){this._display!==a&&(this._display=a,this.domNode.style.display=this._display)}setPosition(a){this._position!==a&&(this._position=a,this.domNode.style.position=this._position)}setVisibility(a){this._visibility!==a&&(this._visibility=a,this.domNode.style.visibility=this._visibility)}setColor(a){this._color!==a&&(this._color=a,this.domNode.style.color=this._color)}setBackgroundColor(a){this._backgroundColor!==a&&(this._backgroundColor=a,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(a){this._layerHint!==a&&(this._layerHint=a,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(a){this._boxShadow!==a&&(this._boxShadow=a,this.domNode.style.boxShadow=a)}setContain(a){this._contain!==a&&(this._contain=a,this.domNode.style.contain=this._contain)}setAttribute(a,b){this.domNode.setAttribute(a,b)}removeAttribute(a){this.domNode.removeAttribute(a)}appendChild(a){this.domNode.appendChild(a.domNode)}removeChild(a){this.domNode.removeChild(a.domNode)}};function h5(a){return"number"==typeof a?`${a}px`:a}function h6(a){return new h4(a)}var h7=class{constructor(){this._hooks=new gx,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(a,b){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let c=this._onStopCallback;this._onStopCallback=null,a&&c&&c(b)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(a,b,c,d,e){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=d,this._onStopCallback=e;let f=a;try{a.setPointerCapture(b),this._hooks.add(gv(()=>{try{a.releasePointerCapture(b)}catch{}}))}catch{f=hP(a)}this._hooks.add(h$(f,h3.POINTER_MOVE,a=>{if(a.buttons!==c)return void this.stopMonitoring(!0);a.preventDefault(),this._pointerMoveCallback(a)})),this._hooks.add(h$(f,h3.POINTER_UP,a=>this.stopMonitoring(!0)))}};(a=>(a.Tap="-xterm-gesturetap",a.Change="-xterm-gesturechange",a.Start="-xterm-gesturestart",a.End="-xterm-gesturesend",a.Contextmenu="-xterm-gesturecontextmenu"))(iC||={});var h8=class a extends gy{constructor(){super(),this.dispatched=!1,this.targets=new gC,this.ignoreTargets=new gC,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(gS.runAndSubscribe(hW,({window:a,disposables:b})=>{b.add(h$(a.document,"touchstart",a=>this.onTouchStart(a),{passive:!1})),b.add(h$(a.document,"touchend",b=>this.onTouchEnd(a,b))),b.add(h$(a.document,"touchmove",a=>this.onTouchMove(a),{passive:!1}))},{window:gA,disposables:this._store}))}static addTarget(b){return a.isTouchDevice()?(a.INSTANCE||(a.INSTANCE=gt(new a)),gv(a.INSTANCE.targets.push(b))):gy.None}static ignoreTarget(b){return a.isTouchDevice()?(a.INSTANCE||(a.INSTANCE=gt(new a)),gv(a.INSTANCE.ignoreTargets.push(b))):gy.None}static isTouchDevice(){return"ontouchstart"in gA||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(a){let b=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let c=0,d=a.targetTouches.length;c<d;c++){let d=a.targetTouches.item(c);this.activeTouches[d.identifier]={id:d.identifier,initialTarget:d.target,initialTimeStamp:b,initialPageX:d.pageX,initialPageY:d.pageY,rollingTimestamps:[b],rollingPageX:[d.pageX],rollingPageY:[d.pageY]};let e=this.newGestureEvent(iC.Start,d.target);e.pageX=d.pageX,e.pageY=d.pageY,this.dispatchEvent(e)}this.dispatched&&(a.preventDefault(),a.stopPropagation(),this.dispatched=!1)}onTouchEnd(b,c){let d=Date.now(),e=Object.keys(this.activeTouches).length;for(let f=0,g=c.changedTouches.length;f<g;f++){let g=c.changedTouches.item(f);if(!this.activeTouches.hasOwnProperty(String(g.identifier))){console.warn("move of an UNKNOWN touch",g);continue}let h=this.activeTouches[g.identifier],i=Date.now()-h.initialTimeStamp;if(i<a.HOLD_DELAY&&30>Math.abs(h.initialPageX-go(h.rollingPageX))&&30>Math.abs(h.initialPageY-go(h.rollingPageY))){let a=this.newGestureEvent(iC.Tap,h.initialTarget);a.pageX=go(h.rollingPageX),a.pageY=go(h.rollingPageY),this.dispatchEvent(a)}else if(i>=a.HOLD_DELAY&&30>Math.abs(h.initialPageX-go(h.rollingPageX))&&30>Math.abs(h.initialPageY-go(h.rollingPageY))){let a=this.newGestureEvent(iC.Contextmenu,h.initialTarget);a.pageX=go(h.rollingPageX),a.pageY=go(h.rollingPageY),this.dispatchEvent(a)}else if(1===e){let a=go(h.rollingPageX),c=go(h.rollingPageY),e=go(h.rollingTimestamps)-h.rollingTimestamps[0],f=a-h.rollingPageX[0],g=c-h.rollingPageY[0],i=[...this.targets].filter(a=>h.initialTarget instanceof Node&&a.contains(h.initialTarget));this.inertia(b,i,d,Math.abs(f)/e,f>0?1:-1,a,Math.abs(g)/e,g>0?1:-1,c)}this.dispatchEvent(this.newGestureEvent(iC.End,h.initialTarget)),delete this.activeTouches[g.identifier]}this.dispatched&&(c.preventDefault(),c.stopPropagation(),this.dispatched=!1)}newGestureEvent(a,b){let c=document.createEvent("CustomEvent");return c.initEvent(a,!1,!0),c.initialTarget=b,c.tapCount=0,c}dispatchEvent(b){if(b.type===iC.Tap){let c=new Date().getTime(),d=0;d=c-this._lastSetTapCountTime>a.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=c,b.tapCount=d}else(b.type===iC.Change||b.type===iC.Contextmenu)&&(this._lastSetTapCountTime=0);if(b.initialTarget instanceof Node){for(let a of this.ignoreTargets)if(a.contains(b.initialTarget))return;let a=[];for(let c of this.targets)if(c.contains(b.initialTarget)){let d=0,e=b.initialTarget;for(;e&&e!==c;)d++,e=e.parentElement;a.push([d,c])}for(let[c,d]of(a.sort((a,b)=>a[0]-b[0]),a))d.dispatchEvent(b),this.dispatched=!0}}inertia(b,c,d,e,f,g,h,i,j){this.handle=iB(b,()=>{let k=Date.now(),l=k-d,m=0,n=0,o=!0;e+=a.SCROLL_FRICTION*l,h+=a.SCROLL_FRICTION*l,e>0&&(o=!1,m=f*e*l),h>0&&(o=!1,n=i*h*l);let p=this.newGestureEvent(iC.Change);p.translationX=m,p.translationY=n,c.forEach(a=>a.dispatchEvent(p)),o||this.inertia(b,c,k,e,f,g+m,h,i,j+n)})}onTouchMove(a){let b=Date.now();for(let c=0,d=a.changedTouches.length;c<d;c++){let d=a.changedTouches.item(c);if(!this.activeTouches.hasOwnProperty(String(d.identifier))){console.warn("end of an UNKNOWN touch",d);continue}let e=this.activeTouches[d.identifier],f=this.newGestureEvent(iC.Change,e.initialTarget);f.translationX=d.pageX-go(e.rollingPageX),f.translationY=d.pageY-go(e.rollingPageY),f.pageX=d.pageX,f.pageY=d.pageY,this.dispatchEvent(f),e.rollingPageX.length>3&&(e.rollingPageX.shift(),e.rollingPageY.shift(),e.rollingTimestamps.shift()),e.rollingPageX.push(d.pageX),e.rollingPageY.push(d.pageY),e.rollingTimestamps.push(b)}this.dispatched&&(a.preventDefault(),a.stopPropagation(),this.dispatched=!1)}};h8.SCROLL_FRICTION=-.005,h8.HOLD_DELAY=700,h8.CLEAR_TAP_COUNT_TIME=400,fH([function(a,b,c){let d=null,e=null;if("function"==typeof c.value?(d="value",0!==(e=c.value).length&&console.warn("Memoize should only be used in functions with zero parameters")):"function"==typeof c.get&&(d="get",e=c.get),!e)throw Error("not supported");let f=`$memoize$${b}`;c[d]=function(...a){return this.hasOwnProperty(f)||Object.defineProperty(this,f,{configurable:!1,enumerable:!1,writable:!1,value:e.apply(this,a)}),this[f]}}],h8,"isTouchDevice",1);var h9=class extends gy{onclick(a,b){this._register(h$(a,h3.CLICK,c=>b(new hF(hP(a),c))))}onmousedown(a,b){this._register(h$(a,h3.MOUSE_DOWN,c=>b(new hF(hP(a),c))))}onmouseover(a,b){this._register(h$(a,h3.MOUSE_OVER,c=>b(new hF(hP(a),c))))}onmouseleave(a,b){this._register(h$(a,h3.MOUSE_LEAVE,c=>b(new hF(hP(a),c))))}onkeydown(a,b){this._register(h$(a,h3.KEY_DOWN,a=>b(new hC(a))))}onkeyup(a,b){this._register(h$(a,h3.KEY_UP,a=>b(new hC(a))))}oninput(a,b){this._register(h$(a,h3.INPUT,b))}onblur(a,b){this._register(h$(a,h3.BLUR,b))}onfocus(a,b){this._register(h$(a,h3.FOCUS,b))}onchange(a,b){this._register(h$(a,h3.CHANGE,b))}ignoreGesture(a){return h8.ignoreTarget(a)}},ia=class extends h9{constructor(a){super(),this._onActivate=a.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=a.bgWidth+"px",this.bgDomNode.style.height=a.bgHeight+"px","u">typeof a.top&&(this.bgDomNode.style.top="0px"),"u">typeof a.left&&(this.bgDomNode.style.left="0px"),"u">typeof a.bottom&&(this.bgDomNode.style.bottom="0px"),"u">typeof a.right&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=a.className,this.domNode.style.position="absolute",this.domNode.style.width="11px",this.domNode.style.height="11px","u">typeof a.top&&(this.domNode.style.top=a.top+"px"),"u">typeof a.left&&(this.domNode.style.left=a.left+"px"),"u">typeof a.bottom&&(this.domNode.style.bottom=a.bottom+"px"),"u">typeof a.right&&(this.domNode.style.right=a.right+"px"),this._pointerMoveMonitor=this._register(new h7),this._register(h_(this.bgDomNode,h3.POINTER_DOWN,a=>this._arrowPointerDown(a))),this._register(h_(this.domNode,h3.POINTER_DOWN,a=>this._arrowPointerDown(a))),this._pointerdownRepeatTimer=this._register(new h0),this._pointerdownScheduleRepeatTimer=this._register(new hJ)}_arrowPointerDown(a){if(!a.target||!(a.target instanceof Element))return;let b=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,hP(a))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(b,200),this._pointerMoveMonitor.startMonitoring(a.target,a.pointerId,a.buttons,a=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),a.preventDefault()}},ib=class a{constructor(a,b,c,d,e,f,g){this._forceIntegerValues=a,this._scrollStateBrand=void 0,this._forceIntegerValues&&(b|=0,c|=0,d|=0,e|=0,f|=0,g|=0),this.rawScrollLeft=d,this.rawScrollTop=g,b<0&&(b=0),d+b>c&&(d=c-b),d<0&&(d=0),e<0&&(e=0),g+e>f&&(g=f-e),g<0&&(g=0),this.width=b,this.scrollWidth=c,this.scrollLeft=d,this.height=e,this.scrollHeight=f,this.scrollTop=g}equals(a){return this.rawScrollLeft===a.rawScrollLeft&&this.rawScrollTop===a.rawScrollTop&&this.width===a.width&&this.scrollWidth===a.scrollWidth&&this.scrollLeft===a.scrollLeft&&this.height===a.height&&this.scrollHeight===a.scrollHeight&&this.scrollTop===a.scrollTop}withScrollDimensions(b,c){return new a(this._forceIntegerValues,"u">typeof b.width?b.width:this.width,"u">typeof b.scrollWidth?b.scrollWidth:this.scrollWidth,c?this.rawScrollLeft:this.scrollLeft,"u">typeof b.height?b.height:this.height,"u">typeof b.scrollHeight?b.scrollHeight:this.scrollHeight,c?this.rawScrollTop:this.scrollTop)}withScrollPosition(b){return new a(this._forceIntegerValues,this.width,this.scrollWidth,"u">typeof b.scrollLeft?b.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,"u">typeof b.scrollTop?b.scrollTop:this.rawScrollTop)}createScrollEvent(a,b){let c=this.width!==a.width,d=this.scrollWidth!==a.scrollWidth,e=this.scrollLeft!==a.scrollLeft,f=this.height!==a.height,g=this.scrollHeight!==a.scrollHeight,h=this.scrollTop!==a.scrollTop;return{inSmoothScrolling:b,oldWidth:a.width,oldScrollWidth:a.scrollWidth,oldScrollLeft:a.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:a.height,oldScrollHeight:a.scrollHeight,oldScrollTop:a.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:c,scrollWidthChanged:d,scrollLeftChanged:e,heightChanged:f,scrollHeightChanged:g,scrollTopChanged:h}}},ic=class extends gy{constructor(a){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new gZ),this.onScroll=this._onScroll.event,this._smoothScrollDuration=a.smoothScrollDuration,this._scheduleAtNextAnimationFrame=a.scheduleAtNextAnimationFrame,this._state=new ib(a.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(a){this._smoothScrollDuration=a}validateScrollPosition(a){return this._state.withScrollPosition(a)}getScrollDimensions(){return this._state}setScrollDimensions(a,b){let c=this._state.withScrollDimensions(a,b);this._setState(c,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(a){let b=this._state.withScrollPosition(a);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(b,!1)}setScrollPositionSmooth(a,b){if(0===this._smoothScrollDuration)return this.setScrollPositionNow(a);if(this._smoothScrolling){let c;a={scrollLeft:typeof a.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:a.scrollLeft,scrollTop:typeof a.scrollTop>"u"?this._smoothScrolling.to.scrollTop:a.scrollTop};let d=this._state.withScrollPosition(a);if(this._smoothScrolling.to.scrollLeft===d.scrollLeft&&this._smoothScrolling.to.scrollTop===d.scrollTop)return;c=b?new ig(this._smoothScrolling.from,d,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,d,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=c}else{let b=this._state.withScrollPosition(a);this._smoothScrolling=ig.start(this._state,b,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let a=this._smoothScrolling.tick(),b=this._state.withScrollPosition(a);if(this._setState(b,!0),this._smoothScrolling){if(a.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(a,b){let c=this._state;c.equals(a)||(this._state=a,this._onScroll.fire(this._state.createScrollEvent(c,b)))}},id=class{constructor(a,b,c){this.scrollLeft=a,this.scrollTop=b,this.isDone=c}};function ie(a,b){let c=b-a;return function(b){return a+c*(1-Math.pow(1-b,3))}}var ig=class a{constructor(a,b,c,d){this.from=a,this.to=b,this.duration=d,this.startTime=c,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(a,b,c){if(Math.abs(a-b)>2.5*c){var d,e;let f,g;return a<b?(f=a+.75*c,g=b-.75*c):(f=a-.75*c,g=b+.75*c),d=ie(a,f),e=ie(g,b),function(a){return a<.33?d(a/.33):e((a-.33)/(1-.33))}}return ie(a,b)}dispose(){null!==this.animationFrameDisposable&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(a){this.to=a.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(a){let b=(a-this.startTime)/this.duration;return b<1?new id(this.scrollLeft(b),this.scrollTop(b),!1):new id(this.to.scrollLeft,this.to.scrollTop,!0)}combine(b,c,d){return a.start(b,c,d)}static start(b,c,d){return d+=10,new a(b,c,Date.now()-10,d)}},ih=class extends gy{constructor(a,b,c){super(),this._visibility=a,this._visibleClassName=b,this._invisibleClassName=c,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new hJ)}setVisibility(a){this._visibility!==a&&(this._visibility=a,this._updateShouldBeVisible())}setShouldBeVisible(a){this._rawShouldBeVisible=a,this._updateShouldBeVisible()}_applyVisibilitySetting(){return 2!==this._visibility&&(3===this._visibility||this._rawShouldBeVisible)}_updateShouldBeVisible(){let a=this._applyVisibilitySetting();this._shouldBeVisible!==a&&(this._shouldBeVisible=a,this.ensureVisibility())}setIsNeeded(a){this._isNeeded!==a&&(this._isNeeded=a,this.ensureVisibility())}setDomNode(a){this._domNode=a,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded)return void this._hide(!1);this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(a){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(a?" fade":"")))}},ii=class extends h9{constructor(a){super(),this._lazyRender=a.lazyRender,this._host=a.host,this._scrollable=a.scrollable,this._scrollByPage=a.scrollByPage,this._scrollbarState=a.scrollbarState,this._visibilityController=this._register(new ih(a.visibility,"visible scrollbar "+a.extraScrollbarClassName,"invisible scrollbar "+a.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new h7),this._shouldRender=!0,this.domNode=h6(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(h$(this.domNode.domNode,h3.POINTER_DOWN,a=>this._domNodePointerDown(a)))}_createArrow(a){let b=this._register(new ia(a));this.domNode.domNode.appendChild(b.bgDomNode),this.domNode.domNode.appendChild(b.domNode)}_createSlider(a,b,c,d){this.slider=h6(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(a),this.slider.setLeft(b),"number"==typeof c&&this.slider.setWidth(c),"number"==typeof d&&this.slider.setHeight(d),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(h$(this.slider.domNode,h3.POINTER_DOWN,a=>{0===a.button&&(a.preventDefault(),this._sliderPointerDown(a))})),this.onclick(this.slider.domNode,a=>{a.leftButton&&a.stopPropagation()})}_onElementSize(a){return this._scrollbarState.setVisibleSize(a)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(a){return this._scrollbarState.setScrollSize(a)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(a){return this._scrollbarState.setScrollPosition(a)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(a){a.target===this.domNode.domNode&&this._onPointerDown(a)}delegatePointerDown(a){let b=this.domNode.domNode.getClientRects()[0].top,c=b+this._scrollbarState.getSliderPosition(),d=b+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),e=this._sliderPointerPosition(a);c<=e&&e<=d?0===a.button&&(a.preventDefault(),this._sliderPointerDown(a)):this._onPointerDown(a)}_onPointerDown(a){let b,c;if(a.target===this.domNode.domNode&&"number"==typeof a.offsetX&&"number"==typeof a.offsetY)b=a.offsetX,c=a.offsetY;else{var d;let e,f,g=(e=(d=this.domNode.domNode).getBoundingClientRect(),f=hP(d),{left:e.left+f.scrollX,top:e.top+f.scrollY,width:e.width,height:e.height});b=a.pageX-g.left,c=a.pageY-g.top}let e=this._pointerDownRelativePosition(b,c);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(e):this._scrollbarState.getDesiredScrollPositionFromOffset(e)),0===a.button&&(a.preventDefault(),this._sliderPointerDown(a))}_sliderPointerDown(a){if(!a.target||!(a.target instanceof Element))return;let b=this._sliderPointerPosition(a),c=this._sliderOrthogonalPointerPosition(a),d=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(a.target,a.pointerId,a.buttons,a=>{let e=Math.abs(this._sliderOrthogonalPointerPosition(a)-c);if(hg&&e>140)return void this._setDesiredScrollPositionNow(d.getScrollPosition());let f=this._sliderPointerPosition(a)-b;this._setDesiredScrollPositionNow(d.getDesiredScrollPositionFromDelta(f))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(a){let b={};this.writeScrollPosition(b,a),this._scrollable.setScrollPositionNow(b)}updateScrollbarSize(a){this._updateScrollbarSize(a),this._scrollbarState.setScrollbarSize(a),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},ij=class a{constructor(a,b,c,d,e,f){this._scrollbarSize=Math.round(b),this._oppositeScrollbarSize=Math.round(c),this._arrowSize=Math.round(a),this._visibleSize=d,this._scrollSize=e,this._scrollPosition=f,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new a(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(a){let b=Math.round(a);return this._visibleSize!==b&&(this._visibleSize=b,this._refreshComputedValues(),!0)}setScrollSize(a){let b=Math.round(a);return this._scrollSize!==b&&(this._scrollSize=b,this._refreshComputedValues(),!0)}setScrollPosition(a){let b=Math.round(a);return this._scrollPosition!==b&&(this._scrollPosition=b,this._refreshComputedValues(),!0)}setScrollbarSize(a){this._scrollbarSize=Math.round(a)}setOppositeScrollbarSize(a){this._oppositeScrollbarSize=Math.round(a)}static _computeValues(a,b,c,d,e){let f=Math.max(0,c-a),g=Math.max(0,f-2*b),h=d>0&&d>c;if(!h)return{computedAvailableSize:Math.round(f),computedIsNeeded:h,computedSliderSize:Math.round(g),computedSliderRatio:0,computedSliderPosition:0};let i=Math.round(Math.max(20,Math.floor(c*g/d))),j=(g-i)/(d-c);return{computedAvailableSize:Math.round(f),computedIsNeeded:h,computedSliderSize:Math.round(i),computedSliderRatio:j,computedSliderPosition:Math.round(e*j)}}_refreshComputedValues(){let b=a._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=b.computedAvailableSize,this._computedIsNeeded=b.computedIsNeeded,this._computedSliderSize=b.computedSliderSize,this._computedSliderRatio=b.computedSliderRatio,this._computedSliderPosition=b.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(a){return this._computedIsNeeded?Math.round((a-this._arrowSize-this._computedSliderSize/2)/this._computedSliderRatio):0}getDesiredScrollPositionFromOffsetPaged(a){if(!this._computedIsNeeded)return 0;let b=a-this._arrowSize,c=this._scrollPosition;return b<this._computedSliderPosition?c-=this._visibleSize:c+=this._visibleSize,c}getDesiredScrollPositionFromDelta(a){return this._computedIsNeeded?Math.round((this._computedSliderPosition+a)/this._computedSliderRatio):0}},ik=class extends ii{constructor(a,b,c){let d=a.getScrollDimensions();if(super({lazyRender:b.lazyRender,host:c,scrollbarState:new ij(b.horizontalHasArrows?b.arrowSize:0,2===b.horizontal?0:b.horizontalScrollbarSize,2===b.vertical?0:b.verticalScrollbarSize,d.width,d.scrollWidth,a.getCurrentScrollPosition().scrollLeft),visibility:b.horizontal,extraScrollbarClassName:"horizontal",scrollable:a,scrollByPage:b.scrollByPage}),b.horizontalHasArrows)throw Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(Math.floor((b.horizontalScrollbarSize-b.horizontalSliderSize)/2),0,void 0,b.horizontalSliderSize)}_updateSlider(a,b){this.slider.setWidth(a),this.slider.setLeft(b)}_renderDomNode(a,b){this.domNode.setWidth(a),this.domNode.setHeight(b),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(a){return this._shouldRender=this._onElementScrollSize(a.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(a.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(a.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(a,b){return a}_sliderPointerPosition(a){return a.pageX}_sliderOrthogonalPointerPosition(a){return a.pageY}_updateScrollbarSize(a){this.slider.setHeight(a)}writeScrollPosition(a,b){a.scrollLeft=b}updateOptions(a){this.updateScrollbarSize(2===a.horizontal?0:a.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(2===a.vertical?0:a.verticalScrollbarSize),this._visibilityController.setVisibility(a.horizontal),this._scrollByPage=a.scrollByPage}},il=class extends ii{constructor(a,b,c){let d=a.getScrollDimensions();if(super({lazyRender:b.lazyRender,host:c,scrollbarState:new ij(b.verticalHasArrows?b.arrowSize:0,2===b.vertical?0:b.verticalScrollbarSize,0,d.height,d.scrollHeight,a.getCurrentScrollPosition().scrollTop),visibility:b.vertical,extraScrollbarClassName:"vertical",scrollable:a,scrollByPage:b.scrollByPage}),b.verticalHasArrows)throw Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(0,Math.floor((b.verticalScrollbarSize-b.verticalSliderSize)/2),b.verticalSliderSize,void 0)}_updateSlider(a,b){this.slider.setHeight(a),this.slider.setTop(b)}_renderDomNode(a,b){this.domNode.setWidth(b),this.domNode.setHeight(a),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(a){return this._shouldRender=this._onElementScrollSize(a.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(a.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(a.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(a,b){return b}_sliderPointerPosition(a){return a.pageY}_sliderOrthogonalPointerPosition(a){return a.pageX}_updateScrollbarSize(a){this.slider.setWidth(a)}writeScrollPosition(a,b){a.scrollTop=b}updateOptions(a){this.updateScrollbarSize(2===a.vertical?0:a.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(a.vertical),this._scrollByPage=a.scrollByPage}},im=class{constructor(a,b,c){this.timestamp=a,this.deltaX=b,this.deltaY=c,this.score=0}},io=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(-1===this._front&&-1===this._rear)return!1;let a=1,b=0,c=1,d=this._rear;for(;;){let e=d===this._front?a:Math.pow(2,-c);if(a-=e,b+=this._memory[d].score*e,d===this._front)break;d=(this._capacity+d-1)%this._capacity,c++}return b<=.5}acceptStandardWheelEvent(a){if(g3){var b;let c=(b=hP(a.browserEvent),g_.INSTANCE.getZoomFactor(b));this.accept(Date.now(),a.deltaX*c,a.deltaY*c)}else this.accept(Date.now(),a.deltaX,a.deltaY)}accept(a,b,c){let d=null,e=new im(a,b,c);-1===this._front&&-1===this._rear?(this._memory[0]=e,this._front=0,this._rear=0):(d=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=e),e.score=this._computeScore(e,d)}_computeScore(a,b){if(Math.abs(a.deltaX)>0&&Math.abs(a.deltaY)>0)return 1;let c=.5;if(this._isAlmostInt(a.deltaX)&&this._isAlmostInt(a.deltaY)||(c+=.25),b){let d=Math.abs(a.deltaX),e=Math.abs(a.deltaY),f=Math.abs(b.deltaX),g=Math.abs(b.deltaY),h=Math.max(Math.min(d,f),1),i=Math.max(Math.min(e,g),1),j=Math.max(e,g);Math.max(d,f)%h==0&&j%i==0&&(c-=.5)}return Math.min(Math.max(c,0),1)}_isAlmostInt(a){return .01>Math.abs(Math.round(a)-a)}};io.INSTANCE=new io;var ip=class extends h9{constructor(a,b,c){super(),this._onScroll=this._register(new gZ),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new gZ),this.onWillScroll=this._onWillScroll.event,this._options=function(a){let b={lazyRender:"u">typeof a.lazyRender&&a.lazyRender,className:"u">typeof a.className?a.className:"",useShadows:!("u">typeof a.useShadows)||a.useShadows,handleMouseWheel:!("u">typeof a.handleMouseWheel)||a.handleMouseWheel,flipAxes:"u">typeof a.flipAxes&&a.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:"u">typeof a.consumeMouseWheelIfScrollbarIsNeeded&&a.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:"u">typeof a.alwaysConsumeMouseWheel&&a.alwaysConsumeMouseWheel,scrollYToX:"u">typeof a.scrollYToX&&a.scrollYToX,mouseWheelScrollSensitivity:"u">typeof a.mouseWheelScrollSensitivity?a.mouseWheelScrollSensitivity:1,fastScrollSensitivity:"u">typeof a.fastScrollSensitivity?a.fastScrollSensitivity:5,scrollPredominantAxis:!("u">typeof a.scrollPredominantAxis)||a.scrollPredominantAxis,mouseWheelSmoothScroll:!("u">typeof a.mouseWheelSmoothScroll)||a.mouseWheelSmoothScroll,arrowSize:"u">typeof a.arrowSize?a.arrowSize:11,listenOnDomNode:"u">typeof a.listenOnDomNode?a.listenOnDomNode:null,horizontal:"u">typeof a.horizontal?a.horizontal:1,horizontalScrollbarSize:"u">typeof a.horizontalScrollbarSize?a.horizontalScrollbarSize:10,horizontalSliderSize:"u">typeof a.horizontalSliderSize?a.horizontalSliderSize:0,horizontalHasArrows:"u">typeof a.horizontalHasArrows&&a.horizontalHasArrows,vertical:"u">typeof a.vertical?a.vertical:1,verticalScrollbarSize:"u">typeof a.verticalScrollbarSize?a.verticalScrollbarSize:10,verticalHasArrows:"u">typeof a.verticalHasArrows&&a.verticalHasArrows,verticalSliderSize:"u">typeof a.verticalSliderSize?a.verticalSliderSize:0,scrollByPage:"u">typeof a.scrollByPage&&a.scrollByPage};return b.horizontalSliderSize="u">typeof a.horizontalSliderSize?a.horizontalSliderSize:b.horizontalScrollbarSize,b.verticalSliderSize="u">typeof a.verticalSliderSize?a.verticalSliderSize:b.verticalScrollbarSize,hh&&(b.className+=" mac"),b}(b),this._scrollable=c,this._register(this._scrollable.onScroll(a=>{this._onWillScroll.fire(a),this._onDidScroll(a),this._onScroll.fire(a)}));let d={onMouseWheel:a=>this._onMouseWheel(a),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new il(this._scrollable,this._options,d)),this._horizontalScrollbar=this._register(new ik(this._scrollable,this._options,d)),this._domNode=document.createElement("div"),this._domNode.className="xterm-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.appendChild(a),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=h6(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=h6(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=h6(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,a=>this._onMouseOver(a)),this.onmouseleave(this._listenOnDomNode,a=>this._onMouseLeave(a)),this._hideTimeout=this._register(new hJ),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=gu(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(a){this._verticalScrollbar.delegatePointerDown(a)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(a){this._scrollable.setScrollDimensions(a,!1)}updateClassName(a){this._options.className=a,hh&&(this._options.className+=" mac"),this._domNode.className="xterm-scrollable-element "+this._options.className}updateOptions(a){"u">typeof a.handleMouseWheel&&(this._options.handleMouseWheel=a.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),"u">typeof a.mouseWheelScrollSensitivity&&(this._options.mouseWheelScrollSensitivity=a.mouseWheelScrollSensitivity),"u">typeof a.fastScrollSensitivity&&(this._options.fastScrollSensitivity=a.fastScrollSensitivity),"u">typeof a.scrollPredominantAxis&&(this._options.scrollPredominantAxis=a.scrollPredominantAxis),"u">typeof a.horizontal&&(this._options.horizontal=a.horizontal),"u">typeof a.vertical&&(this._options.vertical=a.vertical),"u">typeof a.horizontalScrollbarSize&&(this._options.horizontalScrollbarSize=a.horizontalScrollbarSize),"u">typeof a.verticalScrollbarSize&&(this._options.verticalScrollbarSize=a.verticalScrollbarSize),"u">typeof a.scrollByPage&&(this._options.scrollByPage=a.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(a){this._revealOnScroll=a}delegateScrollFromMouseWheelEvent(a){this._onMouseWheel(new hG(a))}_setListeningToMouseWheel(a){if(this._mouseWheelToDispose.length>0!==a&&(this._mouseWheelToDispose=gu(this._mouseWheelToDispose),a)){let a=a=>{this._onMouseWheel(new hG(a))};this._mouseWheelToDispose.push(h$(this._listenOnDomNode,h3.MOUSE_WHEEL,a,{passive:!1}))}}_onMouseWheel(a){if(a.browserEvent?.defaultPrevented)return;let b=io.INSTANCE;b.acceptStandardWheelEvent(a);let c=!1;if(a.deltaY||a.deltaX){let d=a.deltaY*this._options.mouseWheelScrollSensitivity,e=a.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&e+d===0?e=d=0:Math.abs(d)>=Math.abs(e)?e=0:d=0),this._options.flipAxes&&([d,e]=[e,d]);let f=!hh&&a.browserEvent&&a.browserEvent.shiftKey;(this._options.scrollYToX||f)&&!e&&(e=d,d=0),a.browserEvent&&a.browserEvent.altKey&&(e*=this._options.fastScrollSensitivity,d*=this._options.fastScrollSensitivity);let g=this._scrollable.getFutureScrollPosition(),h={};if(d){let a=50*d,b=g.scrollTop-(a<0?Math.floor(a):Math.ceil(a));this._verticalScrollbar.writeScrollPosition(h,b)}if(e){let a=50*e,b=g.scrollLeft-(a<0?Math.floor(a):Math.ceil(a));this._horizontalScrollbar.writeScrollPosition(h,b)}h=this._scrollable.validateScrollPosition(h),(g.scrollLeft!==h.scrollLeft||g.scrollTop!==h.scrollTop)&&(this._options.mouseWheelSmoothScroll&&b.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(h):this._scrollable.setScrollPositionNow(h),c=!0)}let d=c;!d&&this._options.alwaysConsumeMouseWheel&&(d=!0),!d&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(d=!0),d&&(a.preventDefault(),a.stopPropagation())}_onDidScroll(a){this._shouldRender=this._horizontalScrollbar.onDidScroll(a)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(a)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let a=this._scrollable.getCurrentScrollPosition(),b=a.scrollTop>0,c=a.scrollLeft>0,d=c?" left":"",e=b?" top":"";this._leftShadowDomNode.setClassName(`shadow${d}`),this._topShadowDomNode.setClassName(`shadow${e}`),this._topLeftShadowDomNode.setClassName(`shadow${c||b?" top-left-corner":""}${e}${d}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(a){this._mouseIsOver=!1,this._hide()}_onMouseOver(a){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){this._mouseIsOver||this._isDragging||(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){this._mouseIsOver||this._isDragging||this._hideTimeout.cancelAndSet(()=>this._hide(),500)}},iq=class extends ip{constructor(a,b,c){super(a,b,c)}setScrollPosition(a){a.reuseAnimation?this._scrollable.setScrollPositionSmooth(a,a.reuseAnimation):this._scrollable.setScrollPositionNow(a)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}},ir=class extends gy{constructor(a,b,c,d,e,f,g,h){super(),this._bufferService=c,this._optionsService=g,this._renderService=h,this._onRequestScrollLines=this._register(new gZ),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let i=this._register(new ic({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:a=>iB(d.window,a)}));this._register(this._optionsService.onSpecificOptionChange("smoothScrollDuration",()=>{i.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new iq(b,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},i)),this._register(this._optionsService.onMultipleOptionChange(["scrollSensitivity","fastScrollSensitivity","overviewRuler"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(e.onProtocolChange(a=>{this._scrollableElement.updateOptions({handleMouseWheel:!(16&a)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(gS.runAndSubscribe(f.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=f.colors.background.css})),a.appendChild(this._scrollableElement.getDomNode()),this._register(gv(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=d.mainDocument.createElement("style"),b.appendChild(this._styleElement),this._register(gv(()=>this._styleElement.remove())),this._register(gS.runAndSubscribe(f.onChangeColors,()=>{this._styleElement.textContent=[".xterm .xterm-scrollable-element > .scrollbar > .slider {",` background: ${f.colors.scrollbarSliderBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {",` background: ${f.colors.scrollbarSliderHoverBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider.active {",` background: ${f.colors.scrollbarSliderActiveBackground.css};`,"}"].join(`
21
+ `)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(a=>this._handleScroll(a)))}scrollLines(a){let b=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:b.scrollTop+a*this._renderService.dimensions.css.cell.height})}scrollToLine(a,b){b&&(this._latestYDisp=a),this._scrollableElement.setScrollPosition({reuseAnimation:!b,scrollTop:a*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(a){void 0!==a&&(this._latestYDisp=a),void 0===this._queuedAnimationFrame&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(a=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,a!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:a*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(a){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let b=Math.round(a.scrollTop/this._renderService.dimensions.css.cell.height),c=b-this._bufferService.buffer.ydisp;0!==c&&(this._latestYDisp=b,this._onRequestScrollLines.fire(c)),this._isHandlingScroll=!1}};ir=fH([fI(2,f_),fI(3,gb),fI(4,f0),fI(5,gg),fI(6,f5),fI(7,gd)],ir);var is=class extends gy{constructor(a,b,c,d,e){super(),this._screenElement=a,this._bufferService=b,this._coreBrowserService=c,this._decorationService=d,this._renderService=e,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved(a=>this._removeDecoration(a))),this._register(gv(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){void 0===this._animationFrame&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let a of this._decorationService.decorations)this._renderDecoration(a);this._dimensionsChanged=!1}_renderDecoration(a){this._refreshStyle(a),this._dimensionsChanged&&this._refreshXPosition(a)}_createElement(a){let b=this._coreBrowserService.mainDocument.createElement("div");b.classList.add("xterm-decoration"),b.classList.toggle("xterm-decoration-top-layer",a?.options?.layer==="top"),b.style.width=`${Math.round((a.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,b.style.height=`${(a.options.height||1)*this._renderService.dimensions.css.cell.height}px`,b.style.top=`${(a.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,b.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let c=a.options.x??0;return c&&c>this._bufferService.cols&&(b.style.display="none"),this._refreshXPosition(a,b),b}_refreshStyle(a){let b=a.marker.line-this._bufferService.buffers.active.ydisp;if(b<0||b>=this._bufferService.rows)a.element&&(a.element.style.display="none",a.onRenderEmitter.fire(a.element));else{let c=this._decorationElements.get(a);c||(c=this._createElement(a),a.element=c,this._decorationElements.set(a,c),this._container.appendChild(c),a.onDispose(()=>{this._decorationElements.delete(a),c.remove()})),c.style.display=this._altBufferIsActive?"none":"block",this._altBufferIsActive||(c.style.width=`${Math.round((a.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,c.style.height=`${(a.options.height||1)*this._renderService.dimensions.css.cell.height}px`,c.style.top=`${b*this._renderService.dimensions.css.cell.height}px`,c.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),a.onRenderEmitter.fire(c)}}_refreshXPosition(a,b=a.element){if(!b)return;let c=a.options.x??0;"right"===(a.options.anchor||"left")?b.style.right=c?`${c*this._renderService.dimensions.css.cell.width}px`:"":b.style.left=c?`${c*this._renderService.dimensions.css.cell.width}px`:""}_removeDecoration(a){this._decorationElements.get(a)?.remove(),this._decorationElements.delete(a),a.dispose()}};is=fH([fI(1,f_),fI(2,gb),fI(3,f8),fI(4,gd)],is);var it=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(a){if(a.options.overviewRulerOptions){for(let b of this._zones)if(b.color===a.options.overviewRulerOptions.color&&b.position===a.options.overviewRulerOptions.position){if(this._lineIntersectsZone(b,a.marker.line))return;if(this._lineAdjacentToZone(b,a.marker.line,a.options.overviewRulerOptions.position))return void this._addLineToZone(b,a.marker.line)}if(this._zonePoolIndex<this._zonePool.length){this._zonePool[this._zonePoolIndex].color=a.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=a.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=a.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=a.marker.line,this._zones.push(this._zonePool[this._zonePoolIndex++]);return}this._zones.push({color:a.options.overviewRulerOptions.color,position:a.options.overviewRulerOptions.position,startBufferLine:a.marker.line,endBufferLine:a.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(a){this._linePadding=a}_lineIntersectsZone(a,b){return b>=a.startBufferLine&&b<=a.endBufferLine}_lineAdjacentToZone(a,b,c){return b>=a.startBufferLine-this._linePadding[c||"full"]&&b<=a.endBufferLine+this._linePadding[c||"full"]}_addLineToZone(a,b){a.startBufferLine=Math.min(a.startBufferLine,b),a.endBufferLine=Math.max(a.endBufferLine,b)}},iu={full:0,left:0,center:0,right:0},iv={full:0,left:0,center:0,right:0},iw={full:0,left:0,center:0,right:0},ix=class extends gy{constructor(a,b,c,d,e,f,g,h){super(),this._viewportElement=a,this._screenElement=b,this._bufferService=c,this._decorationService=d,this._renderService=e,this._optionsService=f,this._themeService=g,this._coreBrowserService=h,this._colorZoneStore=new it,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register(gv(()=>this._canvas?.remove()));let i=this._canvas.getContext("2d");if(i)this._ctx=i;else throw Error("Ctx cannot be null");this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange("overviewRuler",()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){return this._optionsService.options.overviewRuler?.width||0}_refreshDrawConstants(){let a=Math.floor((this._canvas.width-1)/3),b=Math.ceil((this._canvas.width-1)/3);iv.full=this._canvas.width,iv.left=a,iv.center=b,iv.right=a,this._refreshDrawHeightConstants(),iw.full=1,iw.left=1,iw.center=1+iv.left,iw.right=1+iv.left+iv.center}_refreshDrawHeightConstants(){iu.full=Math.round(2*this._coreBrowserService.dpr);let a=Math.round(Math.max(Math.min(this._canvas.height/this._bufferService.buffer.lines.length,12),6)*this._coreBrowserService.dpr);iu.left=a,iu.center=a,iu.right=a}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*iu.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*iu.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*iu.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*iu.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){for(let a of(this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear(),this._decorationService.decorations))this._colorZoneStore.addDecoration(a);this._ctx.lineWidth=1,this._renderRulerOutline();let a=this._colorZoneStore.zones;for(let b of a)"full"!==b.position&&this._renderColorZone(b);for(let b of a)"full"===b.position&&this._renderColorZone(b);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(a){this._ctx.fillStyle=a.color,this._ctx.fillRect(iw[a.position||"full"],Math.round((this._canvas.height-1)*(a.startBufferLine/this._bufferService.buffers.active.lines.length)-iu[a.position||"full"]/2),iv[a.position||"full"],Math.round((this._canvas.height-1)*((a.endBufferLine-a.startBufferLine)/this._bufferService.buffers.active.lines.length)+iu[a.position||"full"]))}_queueRefresh(a,b){this._shouldUpdateDimensions=a||this._shouldUpdateDimensions,this._shouldUpdateAnchor=b||this._shouldUpdateAnchor,void 0===this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};ix=fH([fI(2,f_),fI(3,f8),fI(4,gd),fI(5,f5),fI(6,gg),fI(7,gb)],ix),(a=>(a.NUL="\0",a.SOH="\x01",a.STX="\x02",a.ETX="\x03",a.EOT="\x04",a.ENQ="\x05",a.ACK="\x06",a.BEL="\x07",a.BS="\b",a.HT=" ",a.LF=`
22
+ `,a.VT="\v",a.FF="\f",a.CR="\r",a.SO="\x0e",a.SI="\x0f",a.DLE="\x10",a.DC1="\x11",a.DC2="\x12",a.DC3="\x13",a.DC4="\x14",a.NAK="\x15",a.SYN="\x16",a.ETB="\x17",a.CAN="\x18",a.EM="\x19",a.SUB="\x1a",a.ESC="\x1b",a.FS="\x1c",a.GS="\x1d",a.RS="\x1e",a.US="\x1f",a.SP=" ",a.DEL=""))(iD||={}),(a=>(a.PAD="\x80",a.HOP="\x81",a.BPH="\x82",a.NBH="\x83",a.IND="\x84",a.NEL="\x85",a.SSA="\x86",a.ESA="\x87",a.HTS="\x88",a.HTJ="\x89",a.VTS="\x8a",a.PLD="\x8b",a.PLU="\x8c",a.RI="\x8d",a.SS2="\x8e",a.SS3="\x8f",a.DCS="\x90",a.PU1="\x91",a.PU2="\x92",a.STS="\x93",a.CCH="\x94",a.MW="\x95",a.SPA="\x96",a.EPA="\x97",a.SOS="\x98",a.SGCI="\x99",a.SCI="\x9a",a.CSI="\x9b",a.ST="\x9c",a.OSC="\x9d",a.PM="\x9e",a.APC="\x9f"))(iE||={}),(iF||={}).ST=`${iD.ESC}\\`;var iy=class{constructor(a,b,c,d,e,f){this._textarea=a,this._compositionView=b,this._bufferService=c,this._optionsService=d,this._coreService=e,this._renderService=f,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(a){this._compositionView.textContent=a.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(a){if(this._isComposing||this._isSendingComposition){if(20===a.keyCode||229===a.keyCode||16===a.keyCode||17===a.keyCode||18===a.keyCode)return!1;this._finalizeComposition(!1)}return 229!==a.keyCode||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(a){if(this._compositionView.classList.remove("active"),this._isComposing=!1,a){let a={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){let b;this._isSendingComposition=!1,a.start+=this._dataAlreadySent.length,(b=this._isComposing?this._textarea.value.substring(a.start,this._compositionPosition.start):this._textarea.value.substring(a.start)).length>0&&this._coreService.triggerDataEvent(b,!0)}},0)}else{this._isSendingComposition=!1;let a=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(a,!0)}}_handleAnyTextareaChanges(){let a=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let b=this._textarea.value,c=b.replace(a,"");this._dataAlreadySent=c,b.length>a.length?this._coreService.triggerDataEvent(c,!0):b.length<a.length?this._coreService.triggerDataEvent(`${iD.DEL}`,!0):b.length===a.length&&b!==a&&this._coreService.triggerDataEvent(b,!0)}},0)}updateCompositionElements(a){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let a=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),b=this._renderService.dimensions.css.cell.height,c=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,d=a*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=d+"px",this._compositionView.style.top=c+"px",this._compositionView.style.height=b+"px",this._compositionView.style.lineHeight=b+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";let e=this._compositionView.getBoundingClientRect();this._textarea.style.left=d+"px",this._textarea.style.top=c+"px",this._textarea.style.width=Math.max(e.width,1)+"px",this._textarea.style.height=Math.max(e.height,1)+"px",this._textarea.style.lineHeight=e.height+"px"}a||setTimeout(()=>this.updateCompositionElements(!0),0)}}};iy=fH([fI(2,f_),fI(3,f5),fI(4,f1),fI(5,gd)],iy);var iz,iA,iB,iC,iD,iE,iF,iG,iH=0,iI=0,iJ=0,iK=0,iL={css:"#00000000",rgba:0};function iM(a){let b=a.toString(16);return b.length<2?"0"+b:b}function iN(a,b){return a<b?(b+.05)/(a+.05):(a+.05)/(b+.05)}(a=>{a.toCss=function(a,b,c,d){return void 0!==d?`#${iM(a)}${iM(b)}${iM(c)}${iM(d)}`:`#${iM(a)}${iM(b)}${iM(c)}`},a.toRgba=function(a,b,c,d=255){return(a<<24|b<<16|c<<8|d)>>>0},a.toColor=function(b,c,d,e){return{css:a.toCss(b,c,d,e),rgba:a.toRgba(b,c,d,e)}}})(iG||={}),(a=>{function b(a,b){return iK=Math.round(255*b),[iH,iI,iJ]=kg.toChannels(a.rgba),{css:iG.toCss(iH,iI,iJ,iK),rgba:iG.toRgba(iH,iI,iJ,iK)}}a.blend=function(a,b){if(1==(iK=(255&b.rgba)/255))return{css:b.css,rgba:b.rgba};let c=b.rgba>>24&255,d=b.rgba>>16&255,e=b.rgba>>8&255,f=a.rgba>>24&255,g=a.rgba>>16&255,h=a.rgba>>8&255;return iH=f+Math.round((c-f)*iK),iI=g+Math.round((d-g)*iK),iJ=h+Math.round((e-h)*iK),{css:iG.toCss(iH,iI,iJ),rgba:iG.toRgba(iH,iI,iJ)}},a.isOpaque=function(a){return(255&a.rgba)==255},a.ensureContrastRatio=function(a,b,c){let d=kg.ensureContrastRatio(a.rgba,b.rgba,c);if(d)return iG.toColor(d>>24&255,d>>16&255,d>>8&255)},a.opaque=function(a){let b=(255|a.rgba)>>>0;return[iH,iI,iJ]=kg.toChannels(b),{css:iG.toCss(iH,iI,iJ),rgba:b}},a.opacity=b,a.multiplyOpacity=function(a,c){return iK=255&a.rgba,b(a,iK*c/255)},a.toColorRGB=function(a){return[a.rgba>>24&255,a.rgba>>16&255,a.rgba>>8&255]}})(kd||={}),(a=>{let b,c;try{let a=document.createElement("canvas");a.width=1,a.height=1;let d=a.getContext("2d",{willReadFrequently:!0});d&&((b=d).globalCompositeOperation="copy",c=b.createLinearGradient(0,0,1,1))}catch{}a.toColor=function(a){if(a.match(/#[\da-f]{3,8}/i))switch(a.length){case 4:return iH=parseInt(a.slice(1,2).repeat(2),16),iI=parseInt(a.slice(2,3).repeat(2),16),iJ=parseInt(a.slice(3,4).repeat(2),16),iG.toColor(iH,iI,iJ);case 5:return iH=parseInt(a.slice(1,2).repeat(2),16),iI=parseInt(a.slice(2,3).repeat(2),16),iJ=parseInt(a.slice(3,4).repeat(2),16),iK=parseInt(a.slice(4,5).repeat(2),16),iG.toColor(iH,iI,iJ,iK);case 7:return{css:a,rgba:(parseInt(a.slice(1),16)<<8|255)>>>0};case 9:return{css:a,rgba:parseInt(a.slice(1),16)>>>0}}let d=a.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(d)return iH=parseInt(d[1]),iI=parseInt(d[2]),iJ=parseInt(d[3]),iK=Math.round((void 0===d[5]?1:parseFloat(d[5]))*255),iG.toColor(iH,iI,iJ,iK);if(!b||!c||(b.fillStyle=c,b.fillStyle=a,"string"!=typeof b.fillStyle)||(b.fillRect(0,0,1,1),[iH,iI,iJ,iK]=b.getImageData(0,0,1,1).data,255!==iK))throw Error("css.toColor: Unsupported css format");return{rgba:iG.toRgba(iH,iI,iJ,iK),css:a}}})(ke||={}),(a=>{function b(a,b,c){let d=a/255,e=b/255,f=c/255;return .2126*(d<=.03928?d/12.92:Math.pow((d+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.0722*(f<=.03928?f/12.92:Math.pow((f+.055)/1.055,2.4))}a.relativeLuminance=function(a){return b(a>>16&255,a>>8&255,255&a)},a.relativeLuminance2=b})(kf||={}),(a=>{function b(a,b,c){let d=a>>24&255,e=a>>16&255,f=a>>8&255,g=b>>24&255,h=b>>16&255,i=b>>8&255,j=iN(kf.relativeLuminance2(g,h,i),kf.relativeLuminance2(d,e,f));for(;j<c&&(g>0||h>0||i>0);)g-=Math.max(0,Math.ceil(.1*g)),h-=Math.max(0,Math.ceil(.1*h)),i-=Math.max(0,Math.ceil(.1*i)),j=iN(kf.relativeLuminance2(g,h,i),kf.relativeLuminance2(d,e,f));return(g<<24|h<<16|i<<8|255)>>>0}function c(a,b,c){let d=a>>24&255,e=a>>16&255,f=a>>8&255,g=b>>24&255,h=b>>16&255,i=b>>8&255,j=iN(kf.relativeLuminance2(g,h,i),kf.relativeLuminance2(d,e,f));for(;j<c&&(g<255||h<255||i<255);)g=Math.min(255,g+Math.ceil((255-g)*.1)),h=Math.min(255,h+Math.ceil((255-h)*.1)),i=Math.min(255,i+Math.ceil((255-i)*.1)),j=iN(kf.relativeLuminance2(g,h,i),kf.relativeLuminance2(d,e,f));return(g<<24|h<<16|i<<8|255)>>>0}a.blend=function(a,b){if(1==(iK=(255&b)/255))return b;let c=a>>24&255,d=a>>16&255,e=a>>8&255;return iH=c+Math.round(((b>>24&255)-c)*iK),iI=d+Math.round(((b>>16&255)-d)*iK),iJ=e+Math.round(((b>>8&255)-e)*iK),iG.toRgba(iH,iI,iJ)},a.ensureContrastRatio=function(a,d,e){let f=kf.relativeLuminance(a>>8),g=kf.relativeLuminance(d>>8);if(iN(f,g)<e){if(g<f){let g=b(a,d,e),h=iN(f,kf.relativeLuminance(g>>8));if(h<e){let b=c(a,d,e);return h>iN(f,kf.relativeLuminance(b>>8))?g:b}return g}let h=c(a,d,e),i=iN(f,kf.relativeLuminance(h>>8));if(i<e){let c=b(a,d,e);return i>iN(f,kf.relativeLuminance(c>>8))?h:c}return h}},a.reduceLuminance=b,a.increaseLuminance=c,a.toChannels=function(a){return[a>>24&255,a>>16&255,a>>8&255,255&a]}})(kg||={});var iO=class extends fU{constructor(a,b,c){super(),this.content=0,this.combinedData="",this.fg=a.fg,this.bg=a.bg,this.combinedData=b,this._width=c}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(a){throw Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},iP=class{constructor(a){this._bufferService=a,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new fW}register(a){let b={id:this._nextCharacterJoinerId++,handler:a};return this._characterJoiners.push(b),b.id}deregister(a){for(let b=0;b<this._characterJoiners.length;b++)if(this._characterJoiners[b].id===a)return this._characterJoiners.splice(b,1),!0;return!1}getJoinedCharacters(a){if(0===this._characterJoiners.length)return[];let b=this._bufferService.buffer.lines.get(a);if(!b||0===b.length)return[];let c=[],d=b.translateToString(!0),e=0,f=0,g=0,h=b.getFg(0),i=b.getBg(0);for(let a=0;a<b.getTrimmedLength();a++)if(b.loadCell(a,this._workCell),0!==this._workCell.getWidth()){if(this._workCell.fg!==h||this._workCell.bg!==i){if(a-e>1){let a=this._getJoinedRanges(d,g,f,b,e);for(let b=0;b<a.length;b++)c.push(a[b])}e=a,g=f,h=this._workCell.fg,i=this._workCell.bg}f+=this._workCell.getChars().length||1}if(this._bufferService.cols-e>1){let a=this._getJoinedRanges(d,g,f,b,e);for(let b=0;b<a.length;b++)c.push(a[b])}return c}_getJoinedRanges(a,b,c,d,e){let f=a.substring(b,c),g=[];try{g=this._characterJoiners[0].handler(f)}catch(a){console.error(a)}for(let a=1;a<this._characterJoiners.length;a++)try{let b=this._characterJoiners[a].handler(f);for(let a=0;a<b.length;a++)iP._mergeRanges(g,b[a])}catch(a){console.error(a)}return this._stringRangesToCellRanges(g,d,e),g}_stringRangesToCellRanges(a,b,c){let d=0,e=!1,f=0,g=a[0];if(g){for(let h=c;h<this._bufferService.cols;h++){let c=b.getWidth(h),i=b.getString(h).length||1;if(0!==c){if(!e&&g[0]<=f&&(g[0]=h,e=!0),g[1]<=f){if(g[1]=h,!(g=a[++d]))break;g[0]<=f?(g[0]=h,e=!0):e=!1}f+=i}}g&&(g[1]=this._bufferService.cols)}}static _mergeRanges(a,b){let c=!1;for(let d=0;d<a.length;d++){let e=a[d];if(c){if(b[1]<=e[0])return a[d-1][1]=b[1],a;if(b[1]<=e[1])return a[d-1][1]=Math.max(b[1],e[1]),a.splice(d,1),a;a.splice(d,1),d--}else{if(b[1]<=e[0])return a.splice(d,0,b),a;if(b[1]<=e[1])return e[0]=Math.min(b[0],e[0]),a;b[0]<e[1]&&(e[0]=Math.min(b[0],e[0]),c=!0);continue}}return c?a[a.length-1][1]=b[1]:a.push(b),a}};function iQ(){return{width:0,height:0}}iP=fH([fI(0,f_)],iP);var iR=class{constructor(a,b,c,d,e,f,g){this._document=a,this._characterJoinerService=b,this._optionsService=c,this._coreBrowserService=d,this._coreService=e,this._decorationService=f,this._themeService=g,this._workCell=new fW,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(a,b,c){this._selectionStart=a,this._selectionEnd=b,this._columnSelectMode=c}createRow(a,b,c,d,e,f,g,h,i,j,k){let l=[],m=this._characterJoinerService.getJoinedCharacters(b),n=this._themeService.colors,o=a.getNoBgTrimmedLength();c&&o<f+1&&(o=f+1);let p,q=0,r="",s=0,u=0,v=0,w=0,x=!1,y=0,z=!1,A=0,B=0,C=[],D=-1!==j&&-1!==k;for(let E=0;E<o;E++){let o;a.loadCell(E,this._workCell);let F=this._workCell.getWidth();if(0===F)continue;let G=!1,H=E>=B,I=E,J=this._workCell;if(m.length>0&&E===m[0][0]&&H){let d=m.shift(),e=this._isCellInSelection(d[0],b);for(s=d[0]+1;s<d[1];s++)H&&=e===this._isCellInSelection(s,b);(H&&=!c||f<d[0]||f>=d[1])?(G=!0,J=new iO(this._workCell,a.translateToString(!0,d[0],d[1]),d[1]-d[0]),I=d[1]-1,F=J.getWidth()):B=d[1]}let K=this._isCellInSelection(E,b),L=c&&E===f,M=D&&E>=j&&E<=k,N=!1;this._decorationService.forEachDecorationAtCell(E,b,void 0,a=>{N=!0});let O=J.getChars()||" ";if(" "===O&&(J.isUnderline()||J.isOverline())&&(O="\xa0"),A=F*h-i.get(O,J.isBold(),J.isItalic()),p)if(q&&(K&&z||!K&&!z&&J.bg===u)&&(K&&z&&n.selectionForeground||J.fg===v)&&J.extended.ext===w&&M===x&&A===y&&!L&&!G&&!N&&H){J.isInvisible()?r+=" ":r+=O,q++;continue}else q&&(p.textContent=r),p=this._document.createElement("span"),q=0,r="";else p=this._document.createElement("span");if(u=J.bg,v=J.fg,w=J.extended.ext,x=M,y=A,z=K,G&&f>=E&&f<=I&&(f=E),!this._coreService.isCursorHidden&&L&&this._coreService.isCursorInitialized){if(C.push("xterm-cursor"),this._coreBrowserService.isFocused)g&&C.push("xterm-cursor-blink"),C.push("bar"===d?"xterm-cursor-bar":"underline"===d?"xterm-cursor-underline":"xterm-cursor-block");else if(e)switch(e){case"outline":C.push("xterm-cursor-outline");break;case"block":C.push("xterm-cursor-block");break;case"bar":C.push("xterm-cursor-bar");break;case"underline":C.push("xterm-cursor-underline")}}if(J.isBold()&&C.push("xterm-bold"),J.isItalic()&&C.push("xterm-italic"),J.isDim()&&C.push("xterm-dim"),r=J.isInvisible()?" ":J.getChars()||" ",J.isUnderline()&&(C.push(`xterm-underline-${J.extended.underlineStyle}`)," "===r&&(r="\xa0"),!J.isUnderlineColorDefault()))if(J.isUnderlineColorRGB())p.style.textDecorationColor=`rgb(${fU.toColorRGB(J.getUnderlineColor()).join(",")})`;else{let a=J.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&J.isBold()&&a<8&&(a+=8),p.style.textDecorationColor=n.ansi[a].css}J.isOverline()&&(C.push("xterm-overline")," "===r&&(r="\xa0")),J.isStrikethrough()&&C.push("xterm-strikethrough"),M&&(p.style.textDecoration="underline");let P=J.getFgColor(),Q=J.getFgColorMode(),R=J.getBgColor(),S=J.getBgColorMode(),T=!!J.isInverse();if(T){let a=P;P=R,R=a;let b=Q;Q=S,S=b}let U,V,W=!1;switch(this._decorationService.forEachDecorationAtCell(E,b,void 0,a=>{"top"!==a.options.layer&&W||(a.backgroundColorRGB&&(S=0x3000000,R=a.backgroundColorRGB.rgba>>8&0xffffff,U=a.backgroundColorRGB),a.foregroundColorRGB&&(Q=0x3000000,P=a.foregroundColorRGB.rgba>>8&0xffffff,V=a.foregroundColorRGB),W="top"===a.options.layer)}),!W&&K&&(R=(U=this._coreBrowserService.isFocused?n.selectionBackgroundOpaque:n.selectionInactiveBackgroundOpaque).rgba>>8&0xffffff,S=0x3000000,W=!0,n.selectionForeground&&(Q=0x3000000,P=n.selectionForeground.rgba>>8&0xffffff,V=n.selectionForeground)),W&&C.push("xterm-decoration-top"),S){case 0x1000000:case 0x2000000:o=n.ansi[R],C.push(`xterm-bg-${R}`);break;case 0x3000000:o=iG.toColor(R>>16,R>>8&255,255&R),this._addStyle(p,`background-color:#${iS((R>>>0).toString(16),"0",6)}`);break;default:T?(o=n.foreground,C.push("xterm-bg-257")):o=n.background}switch(U||J.isDim()&&(U=kd.multiplyOpacity(o,.5)),Q){case 0x1000000:case 0x2000000:J.isBold()&&P<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(P+=8),this._applyMinimumContrast(p,o,n.ansi[P],J,U,void 0)||C.push(`xterm-fg-${P}`);break;case 0x3000000:let X=iG.toColor(P>>16&255,P>>8&255,255&P);this._applyMinimumContrast(p,o,X,J,U,V)||this._addStyle(p,`color:#${iS(P.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(p,o,n.foreground,J,U,V)||T&&C.push("xterm-fg-257")}C.length&&(p.className=C.join(" "),C.length=0),L||G||N||!H?p.textContent=r:q++,A!==this.defaultSpacing&&(p.style.letterSpacing=`${A}px`),l.push(p),E=I}return p&&q&&(p.textContent=r),l}_applyMinimumContrast(a,b,c,d,e,f){var g,h,i;if(1===this._optionsService.rawOptions.minimumContrastRatio||57508<=(h=g=d.getCode())&&h<=57558||9472<=(i=g)&&i<=9631)return!1;let j=this._getContrastCache(d),k;if(e||f||(k=j.getColor(b.rgba,c.rgba)),void 0===k){let a=this._optionsService.rawOptions.minimumContrastRatio/(d.isDim()?2:1);k=kd.ensureContrastRatio(e||b,f||c,a),j.setColor((e||b).rgba,(f||c).rgba,k??null)}return!!k&&(this._addStyle(a,`color:${k.css}`),!0)}_getContrastCache(a){return a.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(a,b){a.setAttribute("style",`${a.getAttribute("style")||""}${b};`)}_isCellInSelection(a,b){let c=this._selectionStart,d=this._selectionEnd;return!!c&&!!d&&(this._columnSelectMode?c[0]<=d[0]?a>=c[0]&&b>=c[1]&&a<d[0]&&b<=d[1]:a<c[0]&&b>=c[1]&&a>=d[0]&&b<=d[1]:b>c[1]&&b<d[1]||c[1]===d[1]&&b===c[1]&&a>=c[0]&&a<d[0]||c[1]<d[1]&&b===d[1]&&a<d[0]||c[1]<d[1]&&b===c[1]&&a>=c[0])}};function iS(a,b,c){for(;a.length<c;)a=b+a;return a}iR=fH([fI(1,gf),fI(2,f5),fI(3,gb),fI(4,f1),fI(5,f8),fI(6,gg)],iR);var iT=class{constructor(a,b){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=a.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";let c=a.createElement("span");c.classList.add("xterm-char-measure-element");let d=a.createElement("span");d.classList.add("xterm-char-measure-element"),d.style.fontWeight="bold";let e=a.createElement("span");e.classList.add("xterm-char-measure-element"),e.style.fontStyle="italic";let f=a.createElement("span");f.classList.add("xterm-char-measure-element"),f.style.fontWeight="bold",f.style.fontStyle="italic",this._measureElements=[c,d,e,f],this._container.appendChild(c),this._container.appendChild(d),this._container.appendChild(e),this._container.appendChild(f),b.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(a,b,c,d){a===this._font&&b===this._fontSize&&c===this._weight&&d===this._weightBold||(this._font=a,this._fontSize=b,this._weight=c,this._weightBold=d,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${c}`,this._measureElements[1].style.fontWeight=`${d}`,this._measureElements[2].style.fontWeight=`${c}`,this._measureElements[3].style.fontWeight=`${d}`,this.clear())}get(a,b,c){let d=0;if(!b&&!c&&1===a.length&&(d=a.charCodeAt(0))<256){if(-9999!==this._flat[d])return this._flat[d];let b=this._measure(a,0);return b>0&&(this._flat[d]=b),b}let e=a;b&&(e+="B"),c&&(e+="I");let f=this._holey.get(e);if(void 0===f){let d=0;b&&(d|=1),c&&(d|=2),(f=this._measure(a,d))>0&&this._holey.set(e,f)}return f}_measure(a,b){let c=this._measureElements[b];return c.textContent=a.repeat(32),c.offsetWidth/32}},iU=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(a,b,c,d=!1){if(this.selectionStart=b,this.selectionEnd=c,!b||!c||b[0]===c[0]&&b[1]===c[1])return void this.clear();let e=a.buffers.active.ydisp,f=b[1]-e,g=c[1]-e,h=Math.max(f,0),i=Math.min(g,a.rows-1);if(h>=a.rows||i<0)return void this.clear();this.hasSelection=!0,this.columnSelectMode=d,this.viewportStartRow=f,this.viewportEndRow=g,this.viewportCappedStartRow=h,this.viewportCappedEndRow=i,this.startCol=b[0],this.endCol=c[0]}isCellSelected(a,b,c){return!!this.hasSelection&&(c-=a.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?b>=this.startCol&&c>=this.viewportCappedStartRow&&b<this.endCol&&c<=this.viewportCappedEndRow:b<this.startCol&&c>=this.viewportCappedStartRow&&b>=this.endCol&&c<=this.viewportCappedEndRow:c>this.viewportStartRow&&c<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&c===this.viewportStartRow&&b>=this.startCol&&b<this.endCol||this.viewportStartRow<this.viewportEndRow&&c===this.viewportEndRow&&b<this.endCol||this.viewportStartRow<this.viewportEndRow&&c===this.viewportStartRow&&b>=this.startCol)}},iV="xterm-dom-renderer-owner-",iW="xterm-rows",iX="xterm-fg-",iY="xterm-bg-",iZ="xterm-focus",i$="xterm-selection",i_=1,i0=class extends gy{constructor(a,b,c,d,e,f,g,h,i,j,k,l,m,n){super(),this._terminal=a,this._document=b,this._element=c,this._screenElement=d,this._viewportElement=e,this._helperContainer=f,this._linkifier2=g,this._charSizeService=i,this._optionsService=j,this._bufferService=k,this._coreService=l,this._coreBrowserService=m,this._themeService=n,this._terminalClass=i_++,this._rowElements=[],this._selectionRenderModel=new iU,this.onRequestRedraw=this._register(new gZ).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(iW),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(i$),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions={css:{canvas:iQ(),cell:iQ()},device:{canvas:iQ(),cell:iQ(),char:{width:0,height:0,left:0,top:0}}},this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(a=>this._injectCss(a))),this._injectCss(this._themeService.colors),this._rowFactory=h.createInstance(iR,document),this._element.classList.add(iV+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(a=>this._handleLinkHover(a))),this._register(this._linkifier2.onHideLinkUnderline(a=>this._handleLinkLeave(a))),this._register(gv(()=>{this._element.classList.remove(iV+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new iT(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let a=this._coreBrowserService.dpr;for(let b of(this.dimensions.device.char.width=this._charSizeService.width*a,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*a),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/a),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/a),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows,this._rowElements))b.style.width=`${this.dimensions.css.canvas.width}px`,b.style.height=`${this.dimensions.css.cell.height}px`,b.style.lineHeight=`${this.dimensions.css.cell.height}px`,b.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));let b=`${this._terminalSelector} .${iW} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=b,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(a){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let b=`${this._terminalSelector} .${iW} { pointer-events: none; color: ${a.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;b+=`${this._terminalSelector} .${iW} .xterm-dim { color: ${kd.multiplyOpacity(a.foreground,.5).css};}${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let c=`blink_underline_${this._terminalClass}`,d=`blink_bar_${this._terminalClass}`,e=`blink_block_${this._terminalClass}`;for(let[f,g]of(b+=`@keyframes ${c} { 50% { border-bottom-style: hidden; }}@keyframes ${d} { 50% { box-shadow: none; }}@keyframes ${e} { 0% { background-color: ${a.cursor.css}; color: ${a.cursorAccent.css}; } 50% { background-color: inherit; color: ${a.cursor.css}; }}${this._terminalSelector} .${iW}.${iZ} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${c} 1s step-end infinite;}${this._terminalSelector} .${iW}.${iZ} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${d} 1s step-end infinite;}${this._terminalSelector} .${iW}.${iZ} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${e} 1s step-end infinite;}${this._terminalSelector} .${iW} .xterm-cursor.xterm-cursor-block { background-color: ${a.cursor.css}; color: ${a.cursorAccent.css};}${this._terminalSelector} .${iW} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${a.cursor.css} !important; color: ${a.cursorAccent.css} !important;}${this._terminalSelector} .${iW} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${a.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${iW} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${a.cursor.css} inset;}${this._terminalSelector} .${iW} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${a.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}${this._terminalSelector} .${i$} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${i$} div { position: absolute; background-color: ${a.selectionBackgroundOpaque.css};}${this._terminalSelector} .${i$} div { position: absolute; background-color: ${a.selectionInactiveBackgroundOpaque.css};}`,a.ansi.entries()))b+=`${this._terminalSelector} .${iX}${f} { color: ${g.css}; }${this._terminalSelector} .${iX}${f}.xterm-dim { color: ${kd.multiplyOpacity(g,.5).css}; }${this._terminalSelector} .${iY}${f} { background-color: ${g.css}; }`;b+=`${this._terminalSelector} .${iX}257 { color: ${kd.opaque(a.background).css}; }${this._terminalSelector} .${iX}257.xterm-dim { color: ${kd.multiplyOpacity(kd.opaque(a.background),.5).css}; }${this._terminalSelector} .${iY}257 { background-color: ${a.foreground.css}; }`,this._themeStyleElement.textContent=b}_setDefaultSpacing(){let a=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${a}px`,this._rowFactory.defaultSpacing=a}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(a,b){for(let a=this._rowElements.length;a<=b;a++){let a=this._document.createElement("div");this._rowContainer.appendChild(a),this._rowElements.push(a)}for(;this._rowElements.length>b;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(a,b){this._refreshRowElements(a,b),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(iZ),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(iZ),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(a,b,c){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(a,b,c),this.renderRows(0,this._bufferService.rows-1),!a||!b||(this._selectionRenderModel.update(this._terminal,a,b,c),!this._selectionRenderModel.hasSelection))return;let d=this._selectionRenderModel.viewportStartRow,e=this._selectionRenderModel.viewportEndRow,f=this._selectionRenderModel.viewportCappedStartRow,g=this._selectionRenderModel.viewportCappedEndRow,h=this._document.createDocumentFragment();if(c){let c=a[0]>b[0];h.appendChild(this._createSelectionElement(f,c?b[0]:a[0],c?a[0]:b[0],g-f+1))}else{let c=d===f?a[0]:0,i=f===e?b[0]:this._bufferService.cols;if(h.appendChild(this._createSelectionElement(f,c,i)),h.appendChild(this._createSelectionElement(f+1,0,this._bufferService.cols,g-f-1)),f!==g){let a=e===g?b[0]:this._bufferService.cols;h.appendChild(this._createSelectionElement(g,0,a))}}this._selectionContainer.appendChild(h)}_createSelectionElement(a,b,c,d=1){let e=this._document.createElement("div"),f=b*this.dimensions.css.cell.width,g=this.dimensions.css.cell.width*(c-b);return f+g>this.dimensions.css.canvas.width&&(g=this.dimensions.css.canvas.width-f),e.style.height=`${d*this.dimensions.css.cell.height}px`,e.style.top=`${a*this.dimensions.css.cell.height}px`,e.style.left=`${f}px`,e.style.width=`${g}px`,e}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let a of this._rowElements)a.replaceChildren()}renderRows(a,b){let c=this._bufferService.buffer,d=c.ybase+c.y,e=Math.min(c.x,this._bufferService.cols-1),f=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,g=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,h=this._optionsService.rawOptions.cursorInactiveStyle;for(let i=a;i<=b;i++){let a=i+c.ydisp,b=this._rowElements[i],j=c.lines.get(a);if(!b||!j)break;b.replaceChildren(...this._rowFactory.createRow(j,a,a===d,g,h,e,f,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${iV}${this._terminalClass}`}_handleLinkHover(a){this._setCellUnderline(a.x1,a.x2,a.y1,a.y2,a.cols,!0)}_handleLinkLeave(a){this._setCellUnderline(a.x1,a.x2,a.y1,a.y2,a.cols,!1)}_setCellUnderline(a,b,c,d,e,f){c<0&&(a=0),d<0&&(b=0);let g=this._bufferService.rows-1;c=Math.max(Math.min(c,g),0),d=Math.max(Math.min(d,g),0),e=Math.min(e,this._bufferService.cols);let h=this._bufferService.buffer,i=h.ybase+h.y,j=Math.min(h.x,e-1),k=this._optionsService.rawOptions.cursorBlink,l=this._optionsService.rawOptions.cursorStyle,m=this._optionsService.rawOptions.cursorInactiveStyle;for(let g=c;g<=d;++g){let n=g+h.ydisp,o=this._rowElements[g],p=h.lines.get(n);if(!o||!p)break;o.replaceChildren(...this._rowFactory.createRow(p,n,n===i,l,m,j,k,this.dimensions.css.cell.width,this._widthCache,f?g===c?a:0:-1,f?(g===d?b:e)-1:-1))}}};i0=fH([fI(7,f3),fI(8,ga),fI(9,f5),fI(10,f_),fI(11,f1),fI(12,gb),fI(13,gg)],i0);var i1=class extends gy{constructor(a,b,c){super(),this._optionsService=c,this.width=0,this.height=0,this._onCharSizeChange=this._register(new gZ),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new i4(this._optionsService))}catch{this._measureStrategy=this._register(new i3(a,b,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let a=this._measureStrategy.measure();(a.width!==this.width||a.height!==this.height)&&(this.width=a.width,this.height=a.height,this._onCharSizeChange.fire())}};i1=fH([fI(2,f5)],i1);var i2=class extends gy{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(a,b){void 0!==a&&a>0&&void 0!==b&&b>0&&(this._result.width=a,this._result.height=b)}},i3=class extends i2{constructor(a,b,c){super(),this._document=a,this._parentElement=b,this._optionsService=c,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},i4=class extends i2{constructor(a){super(),this._optionsService=a,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let b=this._ctx.measureText("W");if(!("width"in b&&"fontBoundingBoxAscent"in b&&"fontBoundingBoxDescent"in b))throw Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let a=this._ctx.measureText("W");return this._validateAndSet(a.width,a.fontBoundingBoxAscent+a.fontBoundingBoxDescent),this._result}},i5=class extends gy{constructor(a,b,c){super(),this._textarea=a,this._window=b,this.mainDocument=c,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new i6(this._window)),this._onDprChange=this._register(new gZ),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new gZ),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(a=>this._screenDprMonitor.setWindow(a))),this._register(gS.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(h$(this._textarea,"focus",()=>this._isFocused=!0)),this._register(h$(this._textarea,"blur",()=>this._isFocused=!1))}get window(){return this._window}set window(a){this._window!==a&&(this._window=a,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return void 0===this._cachedIsFocused&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},i6=class extends gy{constructor(a){super(),this._parentWindow=a,this._windowResizeListener=this._register(new gz),this._onDprChange=this._register(new gZ),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(gv(()=>this.clearListener()))}setWindow(a){this._parentWindow=a,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=h$(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){this._resolutionMediaMatchList&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},i7=class extends gy{constructor(){super(),this.linkProviders=[],this._register(gv(()=>this.linkProviders.length=0))}registerLinkProvider(a){return this.linkProviders.push(a),{dispose:()=>{let b=this.linkProviders.indexOf(a);-1!==b&&this.linkProviders.splice(b,1)}}}};function i8(a,b,c){let d=c.getBoundingClientRect(),e=a.getComputedStyle(c),f=parseInt(e.getPropertyValue("padding-left")),g=parseInt(e.getPropertyValue("padding-top"));return[b.clientX-d.left-f,b.clientY-d.top-g]}var i9=class{constructor(a,b){this._renderService=a,this._charSizeService=b}getCoords(a,b,c,d,e){return function(a,b,c,d,e,f,g,h,i){if(!f)return;let j=i8(a,b,c);if(j)return j[0]=Math.ceil((j[0]+(i?g/2:0))/g),j[1]=Math.ceil(j[1]/h),j[0]=Math.min(Math.max(j[0],1),d+ +!!i),j[1]=Math.min(Math.max(j[1],1),e),j}(window,a,b,c,d,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,e)}getMouseReportCoords(a,b){let c=i8(window,a,b);if(this._charSizeService.hasValidSize)return c[0]=Math.min(Math.max(c[0],0),this._renderService.dimensions.css.canvas.width-1),c[1]=Math.min(Math.max(c[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(c[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(c[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(c[0]),y:Math.floor(c[1])}}};i9=fH([fI(0,gd),fI(1,ga)],i9);var ja=class{constructor(a,b){this._renderCallback=a,this._coreBrowserService=b,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(a){return this._refreshCallbacks.push(a),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(a,b,c){this._rowCount=c,a=void 0!==a?a:0,b=void 0!==b?b:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,a):a,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,b):b,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,void 0===this._rowStart||void 0===this._rowEnd||void 0===this._rowCount)return void this._runRefreshCallbacks();let a=Math.max(this._rowStart,0),b=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(a,b),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let a of this._refreshCallbacks)a(0);this._refreshCallbacks=[]}},jb={};((a,b)=>{for(var c in b)fF(a,c,{get:b[c],enumerable:!0})})(jb,{getSafariVersion:()=>ji,isChromeOS:()=>jo,isFirefox:()=>jf,isIpad:()=>jk,isIphone:()=>jl,isLegacyEdge:()=>jg,isLinux:()=>jn,isMac:()=>jj,isNode:()=>jc,isSafari:()=>jh,isWindows:()=>jm});var jc="u">typeof process&&"title"in process,jd=jc?"node":navigator.userAgent,je=jc?"node":navigator.platform,jf=jd.includes("Firefox"),jg=jd.includes("Edge"),jh=/^((?!chrome|android).)*safari/i.test(jd);function ji(){if(!jh)return 0;let a=jd.match(/Version\/(\d+)/);return null===a||a.length<2?0:parseInt(a[1])}var jj=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(je),jk="iPad"===je,jl="iPhone"===je,jm=["Windows","Win16","Win32","WinCE"].includes(je),jn=je.indexOf("Linux")>=0,jo=/\bCrOS\b/.test(jd),jp=class{constructor(){this._tasks=[],this._i=0}enqueue(a){this._tasks.push(a),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(a){this._idleCallback=void 0;let b=0,c=0,d=a.timeRemaining(),e=0;for(;this._i<this._tasks.length;){if(b=performance.now(),this._tasks[this._i]()||this._i++,1.5*(c=Math.max(b=Math.max(1,performance.now()-b),c))>(e=a.timeRemaining())){d-b<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(d-b))}ms`),this._start();return}d=e}this.clear()}},jq=class extends jp{_requestCallback(a){return setTimeout(()=>a(this._createDeadline(16)))}_cancelCallback(a){clearTimeout(a)}_createDeadline(a){let b=performance.now()+a;return{timeRemaining:()=>Math.max(0,b-performance.now())}}},jr=class extends jp{_requestCallback(a){return requestIdleCallback(a)}_cancelCallback(a){cancelIdleCallback(a)}},js=!jc&&"requestIdleCallback"in window?jr:jq,jt=class{constructor(){this._queue=new js}set(a){this._queue.clear(),this._queue.enqueue(a)}flush(){this._queue.flush()}},ju=class extends gy{constructor(a,b,c,d,e,f,g,h,i){super(),this._rowCount=a,this._optionsService=c,this._charSizeService=d,this._coreService=e,this._coreBrowserService=h,this._renderer=this._register(new gz),this._pausedResizeTask=new jt,this._observerDisposable=this._register(new gz),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new gZ),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new gZ),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new gZ),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new gZ),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new ja((a,b)=>this._renderRows(a,b),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new jv(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(gv(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(g.onResize(()=>this._fullRefresh())),this._register(g.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(f.onDecorationRegistered(()=>this._fullRefresh())),this._register(f.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(g.cols,g.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(g.buffer.y,g.buffer.y,!0))),this._register(i.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,b),this._register(this._coreBrowserService.onWindowChange(a=>this._registerIntersectionObserver(a,b)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(a,b){if("IntersectionObserver"in a){let c=new a.IntersectionObserver(a=>this._handleIntersectionChange(a[a.length-1]),{threshold:0});c.observe(b),this._observerDisposable.value=gv(()=>c.disconnect())}}_handleIntersectionChange(a){this._isPaused=void 0===a.isIntersecting?0===a.intersectionRatio:!a.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(a,b,c=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput)return void this._syncOutputHandler.bufferRows(a,b);let d=this._syncOutputHandler.flush();d&&(a=Math.min(a,d.start),b=Math.max(b,d.end)),c||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(a,b,this._rowCount)}_renderRows(a,b){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput)return void this._syncOutputHandler.bufferRows(a,b);a=Math.min(a,this._rowCount-1),b=Math.min(b,this._rowCount-1),this._renderer.value.renderRows(a,b),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:a,end:b}),this._onRender.fire({start:a,end:b}),this._isNextRenderRedrawOnly=!0}}resize(a,b){this._rowCount=b,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(a){this._renderer.value=a,this._renderer.value&&(this._renderer.value.onRequestRedraw(a=>this.refreshRows(a.start,a.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(a){return this._renderDebouncer.addRefreshCallback(a)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(a,b){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(a,b)):this._renderer.value.handleResize(a,b),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(a,b,c){this._selectionState.start=a,this._selectionState.end=b,this._selectionState.columnSelectMode=c,this._renderer.value?.handleSelectionChanged(a,b,c)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};ju=fH([fI(2,f5),fI(3,ga),fI(4,f1),fI(5,f8),fI(6,f_),fI(7,gb),fI(8,gg)],ju);var jv=class{constructor(a,b,c){this._coreBrowserService=a,this._coreService=b,this._onTimeout=c,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(a,b){this._isBuffering?(this._start=Math.min(this._start,a),this._end=Math.max(this._end,b)):(this._start=a,this._end=b,this._isBuffering=!0),void 0===this._timeout&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(void 0!==this._timeout&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let a={start:this._start,end:this._end};return this._isBuffering=!1,a}dispose(){void 0!==this._timeout&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function jw(a,b,c,d){return jA(Math.abs(a-jx(a,c)-(b-jx(b,c)))-function(a,b,c){let d=0,e=a-jx(a,c),f=b-jx(b,c);for(let g=0;g<Math.abs(e-f);g++){let f="A"===function(a,b){return a>b?"A":"B"}(a,b)?-1:1;c.buffer.lines.get(e+f*g)?.isWrapped&&d++}return d}(a,b,c),jz(a>b?"A":"B",d))}function jx(a,b){let c=0,d=b.buffer.lines.get(a),e=d?.isWrapped;for(;e&&a>=0&&a<b.rows;)c++,d=b.buffer.lines.get(--a),e=d?.isWrapped;return c}function jy(a,b,c,d,e,f){let g=a,h=b,i="";for(;(g!==c||h!==d)&&h>=0&&h<f.buffer.lines.length;)g+=e?1:-1,e&&g>f.cols-1?(i+=f.buffer.translateBufferLineToString(h,!1,a,g),g=0,a=0,h++):!e&&g<0&&(i+=f.buffer.translateBufferLineToString(h,!1,0,a+1),a=g=f.cols-1,h--);return i+f.buffer.translateBufferLineToString(h,!1,a,g)}function jz(a,b){return iD.ESC+(b?"O":"[")+a}function jA(a,b){a=Math.floor(a);let c="";for(let d=0;d<a;d++)c+=b;return c}var jB=class{constructor(a){this._bufferService=a,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){let a=this.selectionStart[0]+this.selectionStartLength;return a>this._bufferService.cols?a%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(a/this._bufferService.cols)-1]:[a%this._bufferService.cols,this.selectionStart[1]+Math.floor(a/this._bufferService.cols)]:[a,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let a=this.selectionStart[0]+this.selectionStartLength;return a>this._bufferService.cols?[a%this._bufferService.cols,this.selectionStart[1]+Math.floor(a/this._bufferService.cols)]:[Math.max(a,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let a=this.selectionStart,b=this.selectionEnd;return!!a&&!!b&&(a[1]>b[1]||a[1]===b[1]&&a[0]>b[0])}handleTrim(a){return this.selectionStart&&(this.selectionStart[1]-=a),this.selectionEnd&&(this.selectionEnd[1]-=a),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function jC(a,b){if(a.start.y>a.end.y)throw Error(`Buffer range end (${a.end.x}, ${a.end.y}) cannot be before start (${a.start.x}, ${a.start.y})`);return b*(a.end.y-a.start.y)+(a.end.x-a.start.x+1)}var jD=RegExp("\xa0","g"),jE=class extends gy{constructor(a,b,c,d,e,f,g,h,i){super(),this._element=a,this._screenElement=b,this._linkifier=c,this._bufferService=d,this._coreService=e,this._mouseService=f,this._optionsService=g,this._renderService=h,this._coreBrowserService=i,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new fW,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new gZ),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new gZ),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new gZ),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new gZ),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=a=>this._handleMouseMove(a),this._mouseUpListener=a=>this._handleMouseUp(a),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(a=>this._handleTrim(a)),this._register(this._bufferService.buffers.onBufferActivate(a=>this._handleBufferActivate(a))),this.enable(),this._model=new jB(this._bufferService),this._activeSelectionMode=0,this._register(gv(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(a=>{a.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let a=this._model.finalSelectionStart,b=this._model.finalSelectionEnd;return!!a&&!!b&&(a[0]!==b[0]||a[1]!==b[1])}get selectionText(){let a=this._model.finalSelectionStart,b=this._model.finalSelectionEnd;if(!a||!b)return"";let c=this._bufferService.buffer,d=[];if(3===this._activeSelectionMode){if(a[0]===b[0])return"";let e=a[0]<b[0]?a[0]:b[0],f=a[0]<b[0]?b[0]:a[0];for(let g=a[1];g<=b[1];g++){let a=c.translateBufferLineToString(g,!0,e,f);d.push(a)}}else{let e=a[1]===b[1]?b[0]:void 0;d.push(c.translateBufferLineToString(a[1],!0,a[0],e));for(let e=a[1]+1;e<=b[1]-1;e++){let a=c.lines.get(e),b=c.translateBufferLineToString(e,!0);a?.isWrapped?d[d.length-1]+=b:d.push(b)}if(a[1]!==b[1]){let a=c.lines.get(b[1]),e=c.translateBufferLineToString(b[1],!0,0,b[0]);a&&a.isWrapped?d[d.length-1]+=e:d.push(e)}}return d.map(a=>a.replace(jD," ")).join(jm?`\r
23
+ `:`
24
+ `)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(a){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),jn&&a&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:3===this._activeSelectionMode})}_isClickInSelection(a){let b=this._getMouseBufferCoords(a),c=this._model.finalSelectionStart,d=this._model.finalSelectionEnd;return!!c&&!!d&&!!b&&this._areCoordsInSelection(b,c,d)}isCellInSelection(a,b){let c=this._model.finalSelectionStart,d=this._model.finalSelectionEnd;return!!c&&!!d&&this._areCoordsInSelection([a,b],c,d)}_areCoordsInSelection(a,b,c){return a[1]>b[1]&&a[1]<c[1]||b[1]===c[1]&&a[1]===b[1]&&a[0]>=b[0]&&a[0]<c[0]||b[1]<c[1]&&a[1]===c[1]&&a[0]<c[0]||b[1]<c[1]&&a[1]===b[1]&&a[0]>=b[0]}_selectWordAtCursor(a,b){let c=this._linkifier.currentLink?.link?.range;if(c)return this._model.selectionStart=[c.start.x-1,c.start.y-1],this._model.selectionStartLength=jC(c,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let d=this._getMouseBufferCoords(a);return!!d&&(this._selectWordAt(d,b),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(a,b){this._model.clearSelection(),a=Math.max(a,0),b=Math.min(b,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,a],this._model.selectionEnd=[this._bufferService.cols,b],this.refresh(),this._onSelectionChange.fire()}_handleTrim(a){this._model.handleTrim(a)&&this.refresh()}_getMouseBufferCoords(a){let b=this._mouseService.getCoords(a,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(b)return b[0]--,b[1]--,b[1]+=this._bufferService.buffer.ydisp,b}_getMouseEventScrollAmount(a){let b=i8(this._coreBrowserService.window,a,this._screenElement)[1],c=this._renderService.dimensions.css.canvas.height;return b>=0&&b<=c?0:(b>c&&(b-=c),(b=Math.min(Math.max(b,-50),50)/50)/Math.abs(b)+Math.round(14*b))}shouldForceSelection(a){return jj?a.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:a.shiftKey}handleMouseDown(a){if(this._mouseDownTimeStamp=a.timeStamp,!(2===a.button&&this.hasSelection)&&0===a.button){if(!this._enabled){if(!this.shouldForceSelection(a))return;a.stopPropagation()}a.preventDefault(),this._dragScrollAmount=0,this._enabled&&a.shiftKey?this._handleIncrementalClick(a):1===a.detail?this._handleSingleClick(a):2===a.detail?this._handleDoubleClick(a):3===a.detail&&this._handleTripleClick(a),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(a){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(a))}_handleSingleClick(a){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=3*!!this.shouldColumnSelect(a),this._model.selectionStart=this._getMouseBufferCoords(a),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let b=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);b&&b.length!==this._model.selectionStart[0]&&0===b.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}_handleDoubleClick(a){this._selectWordAtCursor(a,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(a){let b=this._getMouseBufferCoords(a);b&&(this._activeSelectionMode=2,this._selectLineAt(b[1]))}shouldColumnSelect(a){return a.altKey&&!(jj&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(a){if(a.stopImmediatePropagation(),!this._model.selectionStart)return;let b=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(a),!this._model.selectionEnd)return void this.refresh(!0);2===this._activeSelectionMode?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:1===this._activeSelectionMode&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(a),3!==this._activeSelectionMode&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let c=this._bufferService.buffer;if(this._model.selectionEnd[1]<c.lines.length){let a=c.lines.get(this._model.selectionEnd[1]);a&&0===a.hasWidth(this._model.selectionEnd[0])&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}b&&b[0]===this._model.selectionEnd[0]&&b[1]===this._model.selectionEnd[1]||this.refresh(!0)}_dragScroll(){if(!(!this._model.selectionEnd||!this._model.selectionStart)&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});let a=this._bufferService.buffer;this._dragScrollAmount>0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(a.ydisp+this._bufferService.rows,a.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=a.ydisp),this.refresh()}}_handleMouseUp(a){let b=a.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&b<500&&a.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let b=this._mouseService.getCoords(a,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(b&&void 0!==b[0]&&void 0!==b[1]){let a=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,u,v,w;let x,y=c.buffer.x,z=c.buffer.y;if(!c.buffer.hasScrollback){let v,w,x;return e=y,g=0,(0===jw(f=z,b,h=c,i=d).length?"":jA(jy(e,f,e,f-jx(f,h),!1,h).length,jz("D",i)))+jw(z,b,c,d)+(j=y,k=z,l=a,v=jw(k,m=b,n=c,o=d).length>0?m-jx(m,n):k,x=(p=j,q=k,w=jw(r=l,s=m,u=n,o).length>0?s-jx(s,u):q,p<r&&w<=s||p>=r&&w<s?"C":"D"),jA(jy(j,v,l,m,"C"===x,n).length,jz(x,o)))}if(z===b)return x=y>a?"D":"C",jA(Math.abs(y-a),jz(x,d));x=z>b?"D":"C";let A=Math.abs(z-b);return jA((v=z>b?a:y,c.cols-v+(A-1)*c.cols+1+(w=0,(z>b?y:a)-1)),jz(x,d))}(b[0]-1,b[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(a,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let a=this._model.finalSelectionStart,b=this._model.finalSelectionEnd,c=!!a&&!!b&&(a[0]!==b[0]||a[1]!==b[1]);if(!c){this._oldHasSelection&&this._fireOnSelectionChange(a,b,c);return}!a||!b||this._oldSelectionStart&&this._oldSelectionEnd&&a[0]===this._oldSelectionStart[0]&&a[1]===this._oldSelectionStart[1]&&b[0]===this._oldSelectionEnd[0]&&b[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(a,b,c)}_fireOnSelectionChange(a,b,c){this._oldSelectionStart=a,this._oldSelectionEnd=b,this._oldHasSelection=c,this._onSelectionChange.fire()}_handleBufferActivate(a){this.clearSelection(),this._trimListener.dispose(),this._trimListener=a.activeBuffer.lines.onTrim(a=>this._handleTrim(a))}_convertViewportColToCharacterIndex(a,b){let c=b;for(let d=0;b>=d;d++){let e=a.loadCell(d,this._workCell).getChars().length;0===this._workCell.getWidth()?c--:e>1&&b!==d&&(c+=e-1)}return c}setSelection(a,b,c){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[a,b],this._model.selectionStartLength=c,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(a){this._isClickInSelection(a)||(this._selectWordAtCursor(a,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(a,b,c=!0,d=!0){if(a[0]>=this._bufferService.cols)return;let e=this._bufferService.buffer,f=e.lines.get(a[1]);if(!f)return;let g=e.translateBufferLineToString(a[1],!1),h=this._convertViewportColToCharacterIndex(f,a[0]),i=h,j=a[0]-h,k=0,l=0,m=0,n=0;if(" "===g.charAt(h)){for(;h>0&&" "===g.charAt(h-1);)h--;for(;i<g.length&&" "===g.charAt(i+1);)i++}else{let b=a[0],c=a[0];0===f.getWidth(b)&&(k++,b--),2===f.getWidth(c)&&(l++,c++);let d=f.getString(c).length;for(d>1&&(n+=d-1,i+=d-1);b>0&&h>0&&!this._isCharWordSeparator(f.loadCell(b-1,this._workCell));){f.loadCell(b-1,this._workCell);let a=this._workCell.getChars().length;0===this._workCell.getWidth()?(k++,b--):a>1&&(m+=a-1,h-=a-1),h--,b--}for(;c<f.length&&i+1<g.length&&!this._isCharWordSeparator(f.loadCell(c+1,this._workCell));){f.loadCell(c+1,this._workCell);let a=this._workCell.getChars().length;2===this._workCell.getWidth()?(l++,c++):a>1&&(n+=a-1,i+=a-1),i++,c++}}i++;let o=h+j-k+m,p=Math.min(this._bufferService.cols,i-h+k+l-m-n);if(!(!b&&""===g.slice(h,i).trim())){if(c&&0===o&&32!==f.getCodePoint(0)){let b=e.lines.get(a[1]-1);if(b&&f.isWrapped&&32!==b.getCodePoint(this._bufferService.cols-1)){let b=this._getWordAt([this._bufferService.cols-1,a[1]-1],!1,!0,!1);if(b){let a=this._bufferService.cols-b.start;o-=a,p+=a}}}if(d&&o+p===this._bufferService.cols&&32!==f.getCodePoint(this._bufferService.cols-1)){let b=e.lines.get(a[1]+1);if(b?.isWrapped&&32!==b.getCodePoint(0)){let b=this._getWordAt([0,a[1]+1],!1,!1,!0);b&&(p+=b.length)}}return{start:o,length:p}}}_selectWordAt(a,b){let c=this._getWordAt(a,b);if(c){for(;c.start<0;)c.start+=this._bufferService.cols,a[1]--;this._model.selectionStart=[c.start,a[1]],this._model.selectionStartLength=c.length}}_selectToWordAt(a){let b=this._getWordAt(a,!0);if(b){let c=a[1];for(;b.start<0;)b.start+=this._bufferService.cols,c--;if(!this._model.areSelectionValuesReversed())for(;b.start+b.length>this._bufferService.cols;)b.length-=this._bufferService.cols,c++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?b.start:b.start+b.length,c]}}_isCharWordSeparator(a){return 0!==a.getWidth()&&this._optionsService.rawOptions.wordSeparator.indexOf(a.getChars())>=0}_selectLineAt(a){let b=this._bufferService.buffer.getWrappedRangeForLine(a),c={start:{x:0,y:b.first},end:{x:this._bufferService.cols-1,y:b.last}};this._model.selectionStart=[0,b.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=jC(c,this._bufferService.cols)}};jE=fH([fI(3,f_),fI(4,f1),fI(5,gc),fI(6,f5),fI(7,gd),fI(8,gb)],jE);var jF=class{constructor(){this._data={}}set(a,b,c){this._data[a]||(this._data[a]={}),this._data[a][b]=c}get(a,b){return this._data[a]?this._data[a][b]:void 0}clear(){this._data={}}},jG=class{constructor(){this._color=new jF,this._css=new jF}setCss(a,b,c){this._css.set(a,b,c)}getCss(a,b){return this._css.get(a,b)}setColor(a,b,c){this._color.set(a,b,c)}getColor(a,b){return this._color.get(a,b)}clear(){this._color.clear(),this._css.clear()}},jH=Object.freeze((()=>{let a=[ke.toColor("#2e3436"),ke.toColor("#cc0000"),ke.toColor("#4e9a06"),ke.toColor("#c4a000"),ke.toColor("#3465a4"),ke.toColor("#75507b"),ke.toColor("#06989a"),ke.toColor("#d3d7cf"),ke.toColor("#555753"),ke.toColor("#ef2929"),ke.toColor("#8ae234"),ke.toColor("#fce94f"),ke.toColor("#729fcf"),ke.toColor("#ad7fa8"),ke.toColor("#34e2e2"),ke.toColor("#eeeeec")],b=[0,95,135,175,215,255];for(let c=0;c<216;c++){let d=b[c/36%6|0],e=b[c/6%6|0],f=b[c%6];a.push({css:iG.toCss(d,e,f),rgba:iG.toRgba(d,e,f)})}for(let b=0;b<24;b++){let c=8+10*b;a.push({css:iG.toCss(c,c,c),rgba:iG.toRgba(c,c,c)})}return a})()),jI=ke.toColor("#ffffff"),jJ=ke.toColor("#000000"),jK=ke.toColor("#ffffff"),jL={css:"rgba(255, 255, 255, 0.3)",rgba:0xffffff4d},jM=class extends gy{constructor(a){super(),this._optionsService=a,this._contrastCache=new jG,this._halfContrastCache=new jG,this._onChangeColors=this._register(new gZ),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:jI,background:jJ,cursor:jK,cursorAccent:jJ,selectionForeground:void 0,selectionBackgroundTransparent:jL,selectionBackgroundOpaque:kd.blend(jJ,jL),selectionInactiveBackgroundTransparent:jL,selectionInactiveBackgroundOpaque:kd.blend(jJ,jL),scrollbarSliderBackground:kd.opacity(jI,.2),scrollbarSliderHoverBackground:kd.opacity(jI,.4),scrollbarSliderActiveBackground:kd.opacity(jI,.5),overviewRulerBorder:jI,ansi:jH.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(a={}){let b=this._colors;if(b.foreground=jN(a.foreground,jI),b.background=jN(a.background,jJ),b.cursor=kd.blend(b.background,jN(a.cursor,jK)),b.cursorAccent=kd.blend(b.background,jN(a.cursorAccent,jJ)),b.selectionBackgroundTransparent=jN(a.selectionBackground,jL),b.selectionBackgroundOpaque=kd.blend(b.background,b.selectionBackgroundTransparent),b.selectionInactiveBackgroundTransparent=jN(a.selectionInactiveBackground,b.selectionBackgroundTransparent),b.selectionInactiveBackgroundOpaque=kd.blend(b.background,b.selectionInactiveBackgroundTransparent),b.selectionForeground=a.selectionForeground?jN(a.selectionForeground,iL):void 0,b.selectionForeground===iL&&(b.selectionForeground=void 0),kd.isOpaque(b.selectionBackgroundTransparent)&&(b.selectionBackgroundTransparent=kd.opacity(b.selectionBackgroundTransparent,.3)),kd.isOpaque(b.selectionInactiveBackgroundTransparent)&&(b.selectionInactiveBackgroundTransparent=kd.opacity(b.selectionInactiveBackgroundTransparent,.3)),b.scrollbarSliderBackground=jN(a.scrollbarSliderBackground,kd.opacity(b.foreground,.2)),b.scrollbarSliderHoverBackground=jN(a.scrollbarSliderHoverBackground,kd.opacity(b.foreground,.4)),b.scrollbarSliderActiveBackground=jN(a.scrollbarSliderActiveBackground,kd.opacity(b.foreground,.5)),b.overviewRulerBorder=jN(a.overviewRulerBorder,jI),b.ansi=jH.slice(),b.ansi[0]=jN(a.black,jH[0]),b.ansi[1]=jN(a.red,jH[1]),b.ansi[2]=jN(a.green,jH[2]),b.ansi[3]=jN(a.yellow,jH[3]),b.ansi[4]=jN(a.blue,jH[4]),b.ansi[5]=jN(a.magenta,jH[5]),b.ansi[6]=jN(a.cyan,jH[6]),b.ansi[7]=jN(a.white,jH[7]),b.ansi[8]=jN(a.brightBlack,jH[8]),b.ansi[9]=jN(a.brightRed,jH[9]),b.ansi[10]=jN(a.brightGreen,jH[10]),b.ansi[11]=jN(a.brightYellow,jH[11]),b.ansi[12]=jN(a.brightBlue,jH[12]),b.ansi[13]=jN(a.brightMagenta,jH[13]),b.ansi[14]=jN(a.brightCyan,jH[14]),b.ansi[15]=jN(a.brightWhite,jH[15]),a.extendedAnsi){let c=Math.min(b.ansi.length-16,a.extendedAnsi.length);for(let d=0;d<c;d++)b.ansi[d+16]=jN(a.extendedAnsi[d],jH[d+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(a){this._restoreColor(a),this._onChangeColors.fire(this.colors)}_restoreColor(a){if(void 0===a){for(let a=0;a<this._restoreColors.ansi.length;++a)this._colors.ansi[a]=this._restoreColors.ansi[a];return}switch(a){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[a]=this._restoreColors.ansi[a]}}modifyColors(a){a(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};function jN(a,b){if(void 0!==a)try{return ke.toColor(a)}catch{}return b}jM=fH([fI(0,f5)],jM);var jO=class{constructor(...a){for(let[b,c]of(this._entries=new Map,a))this.set(b,c)}set(a,b){let c=this._entries.get(a);return this._entries.set(a,b),c}forEach(a){for(let[b,c]of this._entries.entries())a(b,c)}has(a){return this._entries.has(a)}get(a){return this._entries.get(a)}},jP=class{constructor(){this._services=new jO,this._services.set(f3,this)}setService(a,b){this._services.set(a,b)}getService(a){return this._services.get(a)}createInstance(a,...b){let c=(a[fY]||[]).sort((a,b)=>a.index-b.index),d=[];for(let b of c){let c=this._services.get(b.id);if(!c)throw Error(`[createInstance] ${a.name} depends on UNKNOWN service ${b.id._id}.`);d.push(c)}let e=c.length>0?c[0].index:b.length;if(b.length!==e)throw Error(`[createInstance] First service dependency of ${a.name} at position ${e+1} conflicts with ${b.length} static arguments`);return new a(...b,...d)}},jQ={trace:0,debug:1,info:2,warn:3,error:4,off:5},jR=class extends gy{constructor(a){super(),this._optionsService=a,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel()))}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=jQ[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(a){for(let b=0;b<a.length;b++)"function"==typeof a[b]&&(a[b]=a[b]())}_log(a,b,c){this._evalLazyOptionalParams(c),a.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+b,...c)}trace(a,...b){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,a,b)}debug(a,...b){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,a,b)}info(a,...b){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,a,b)}warn(a,...b){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,a,b)}error(a,...b){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,a,b)}};jR=fH([fI(0,f5)],jR);var jS=class extends gy{constructor(a){super(),this._maxLength=a,this.onDeleteEmitter=this._register(new gZ),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new gZ),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new gZ),this.onTrim=this.onTrimEmitter.event,this._array=Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(a){if(this._maxLength===a)return;let b=Array(a);for(let c=0;c<Math.min(a,this.length);c++)b[c]=this._array[this._getCyclicIndex(c)];this._array=b,this._maxLength=a,this._startIndex=0}get length(){return this._length}set length(a){if(a>this._length)for(let b=this._length;b<a;b++)this._array[b]=void 0;this._length=a}get(a){return this._array[this._getCyclicIndex(a)]}set(a,b){this._array[this._getCyclicIndex(a)]=b}push(a){this._array[this._getCyclicIndex(this._length)]=a,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(a,b,...c){if(b){for(let c=a;c<this._length-b;c++)this._array[this._getCyclicIndex(c)]=this._array[this._getCyclicIndex(c+b)];this._length-=b,this.onDeleteEmitter.fire({index:a,amount:b})}for(let b=this._length-1;b>=a;b--)this._array[this._getCyclicIndex(b+c.length)]=this._array[this._getCyclicIndex(b)];for(let b=0;b<c.length;b++)this._array[this._getCyclicIndex(a+b)]=c[b];if(c.length&&this.onInsertEmitter.fire({index:a,amount:c.length}),this._length+c.length>this._maxLength){let a=this._length+c.length-this._maxLength;this._startIndex+=a,this._length=this._maxLength,this.onTrimEmitter.fire(a)}else this._length+=c.length}trimStart(a){a>this._length&&(a=this._length),this._startIndex+=a,this._length-=a,this.onTrimEmitter.fire(a)}shiftElements(a,b,c){if(!(b<=0)){if(a<0||a>=this._length)throw Error("start argument out of range");if(a+c<0)throw Error("Cannot shift elements in list beyond index 0");if(c>0){for(let d=b-1;d>=0;d--)this.set(a+d+c,this.get(a+d));let d=a+b+c-this._length;if(d>0)for(this._length+=d;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let d=0;d<b;d++)this.set(a+d+c,this.get(a+d))}}_getCyclicIndex(a){return(this._startIndex+a)%this._maxLength}},jT=Object.freeze(new fU),jU=0,jV=class a{constructor(a,b,c=!1){this.isWrapped=c,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*a);let d=b||fW.fromCharData([0,"",1,0]);for(let b=0;b<a;++b)this.setCell(b,d);this.length=a}get(a){let b=this._data[3*a+0],c=2097151&b;return[this._data[3*a+1],2097152&b?this._combined[a]:c?fQ(c):"",b>>22,2097152&b?this._combined[a].charCodeAt(this._combined[a].length-1):c]}set(a,b){this._data[3*a+1]=b[0],b[1].length>1?(this._combined[a]=b[1],this._data[3*a+0]=2097152|a|b[2]<<22):this._data[3*a+0]=b[1].charCodeAt(0)|b[2]<<22}getWidth(a){return this._data[3*a+0]>>22}hasWidth(a){return 0xc00000&this._data[3*a+0]}getFg(a){return this._data[3*a+1]}getBg(a){return this._data[3*a+2]}hasContent(a){return 4194303&this._data[3*a+0]}getCodePoint(a){let b=this._data[3*a+0];return 2097152&b?this._combined[a].charCodeAt(this._combined[a].length-1):2097151&b}isCombined(a){return 2097152&this._data[3*a+0]}getString(a){let b=this._data[3*a+0];return 2097152&b?this._combined[a]:2097151&b?fQ(2097151&b):""}isProtected(a){return 0x20000000&this._data[3*a+2]}loadCell(a,b){return jU=3*a,b.content=this._data[jU+0],b.fg=this._data[jU+1],b.bg=this._data[jU+2],2097152&b.content&&(b.combinedData=this._combined[a]),0x10000000&b.bg&&(b.extended=this._extendedAttrs[a]),b}setCell(a,b){2097152&b.content&&(this._combined[a]=b.combinedData),0x10000000&b.bg&&(this._extendedAttrs[a]=b.extended),this._data[3*a+0]=b.content,this._data[3*a+1]=b.fg,this._data[3*a+2]=b.bg}setCellFromCodepoint(a,b,c,d){0x10000000&d.bg&&(this._extendedAttrs[a]=d.extended),this._data[3*a+0]=b|c<<22,this._data[3*a+1]=d.fg,this._data[3*a+2]=d.bg}addCodepointToCell(a,b,c){let d=this._data[3*a+0];2097152&d?this._combined[a]+=fQ(b):2097151&d?(this._combined[a]=fQ(2097151&d)+fQ(b),d&=-2097152,d|=2097152):d=4194304|b,c&&(d&=-0xc00001,d|=c<<22),this._data[3*a+0]=d}insertCells(a,b,c){if((a%=this.length)&&2===this.getWidth(a-1)&&this.setCellFromCodepoint(a-1,0,1,c),b<this.length-a){let d=new fW;for(let c=this.length-a-b-1;c>=0;--c)this.setCell(a+b+c,this.loadCell(a+c,d));for(let d=0;d<b;++d)this.setCell(a+d,c)}else for(let b=a;b<this.length;++b)this.setCell(b,c);2===this.getWidth(this.length-1)&&this.setCellFromCodepoint(this.length-1,0,1,c)}deleteCells(a,b,c){if(a%=this.length,b<this.length-a){let d=new fW;for(let c=0;c<this.length-a-b;++c)this.setCell(a+c,this.loadCell(a+b+c,d));for(let a=this.length-b;a<this.length;++a)this.setCell(a,c)}else for(let b=a;b<this.length;++b)this.setCell(b,c);a&&2===this.getWidth(a-1)&&this.setCellFromCodepoint(a-1,0,1,c),0!==this.getWidth(a)||this.hasContent(a)||this.setCellFromCodepoint(a,0,1,c)}replaceCells(a,b,c,d=!1){if(d){for(a&&2===this.getWidth(a-1)&&!this.isProtected(a-1)&&this.setCellFromCodepoint(a-1,0,1,c),b<this.length&&2===this.getWidth(b-1)&&!this.isProtected(b)&&this.setCellFromCodepoint(b,0,1,c);a<b&&a<this.length;)this.isProtected(a)||this.setCell(a,c),a++;return}for(a&&2===this.getWidth(a-1)&&this.setCellFromCodepoint(a-1,0,1,c),b<this.length&&2===this.getWidth(b-1)&&this.setCellFromCodepoint(b,0,1,c);a<b&&a<this.length;)this.setCell(a++,c)}resize(a,b){if(a===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;let c=3*a;if(a>this.length){if(this._data.buffer.byteLength>=4*c)this._data=new Uint32Array(this._data.buffer,0,c);else{let a=new Uint32Array(c);a.set(this._data),this._data=a}for(let c=this.length;c<a;++c)this.setCell(c,b)}else{this._data=this._data.subarray(0,c);let b=Object.keys(this._combined);for(let c=0;c<b.length;c++){let d=parseInt(b[c],10);d>=a&&delete this._combined[d]}let d=Object.keys(this._extendedAttrs);for(let b=0;b<d.length;b++){let c=parseInt(d[b],10);c>=a&&delete this._extendedAttrs[c]}}return this.length=a,4*c*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){let a=new Uint32Array(this._data.length);return a.set(this._data),this._data=a,1}return 0}fill(a,b=!1){if(b){for(let b=0;b<this.length;++b)this.isProtected(b)||this.setCell(b,a);return}this._combined={},this._extendedAttrs={};for(let b=0;b<this.length;++b)this.setCell(b,a)}copyFrom(a){for(let b in this.length!==a.length?this._data=new Uint32Array(a._data):this._data.set(a._data),this.length=a.length,this._combined={},a._combined)this._combined[b]=a._combined[b];for(let b in this._extendedAttrs={},a._extendedAttrs)this._extendedAttrs[b]=a._extendedAttrs[b];this.isWrapped=a.isWrapped}clone(){let b=new a(0);for(let a in b._data=new Uint32Array(this._data),b.length=this.length,this._combined)b._combined[a]=this._combined[a];for(let a in this._extendedAttrs)b._extendedAttrs[a]=this._extendedAttrs[a];return b.isWrapped=this.isWrapped,b}getTrimmedLength(){for(let a=this.length-1;a>=0;--a)if(4194303&this._data[3*a+0])return a+(this._data[3*a+0]>>22);return 0}getNoBgTrimmedLength(){for(let a=this.length-1;a>=0;--a)if(4194303&this._data[3*a+0]||0x3000000&this._data[3*a+2])return a+(this._data[3*a+0]>>22);return 0}copyCellsFrom(a,b,c,d,e){let f=a._data;if(e)for(let e=d-1;e>=0;e--){for(let a=0;a<3;a++)this._data[(c+e)*3+a]=f[(b+e)*3+a];0x10000000&f[(b+e)*3+2]&&(this._extendedAttrs[c+e]=a._extendedAttrs[b+e])}else for(let e=0;e<d;e++){for(let a=0;a<3;a++)this._data[(c+e)*3+a]=f[(b+e)*3+a];0x10000000&f[(b+e)*3+2]&&(this._extendedAttrs[c+e]=a._extendedAttrs[b+e])}let g=Object.keys(a._combined);for(let d=0;d<g.length;d++){let e=parseInt(g[d],10);e>=b&&(this._combined[e-b+c]=a._combined[e])}}translateToString(a,b,c,d){b=b??0,c=c??this.length,a&&(c=Math.min(c,this.getTrimmedLength())),d&&(d.length=0);let e="";for(;b<c;){let a=this._data[3*b+0],c=2097151&a,f=2097152&a?this._combined[b]:c?fQ(c):" ";if(e+=f,d)for(let a=0;a<f.length;++a)d.push(b);b+=a>>22||1}return d&&d.push(b),e}};function jW(a,b,c){if(b===a.length-1)return a[b].getTrimmedLength();let d=!a[b].hasContent(c-1)&&1===a[b].getWidth(c-1),e=2===a[b+1].getWidth(0);return d&&e?c-1:c}var jX=class a{constructor(b){this.line=b,this.isDisposed=!1,this._disposables=[],this._id=a._nextId++,this._onDispose=this.register(new gZ),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),gu(this._disposables),this._disposables.length=0)}register(a){return this._disposables.push(a),a}};jX._nextId=1;var jY={},jZ=jY.B;jY[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"\xb0",g:"\xb1",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"\xa3","~":"\xb7"},jY.A={"#":"\xa3"},jY.B=void 0,jY[4]={"#":"\xa3","@":"\xbe","[":"ij","\\":"\xbd","]":"|","{":"\xa8","|":"f","}":"\xbc","~":"\xb4"},jY.C=jY[5]={"[":"\xc4","\\":"\xd6","]":"\xc5","^":"\xdc","`":"\xe9","{":"\xe4","|":"\xf6","}":"\xe5","~":"\xfc"},jY.R={"#":"\xa3","@":"\xe0","[":"\xb0","\\":"\xe7","]":"\xa7","{":"\xe9","|":"\xf9","}":"\xe8","~":"\xa8"},jY.Q={"@":"\xe0","[":"\xe2","\\":"\xe7","]":"\xea","^":"\xee","`":"\xf4","{":"\xe9","|":"\xf9","}":"\xe8","~":"\xfb"},jY.K={"@":"\xa7","[":"\xc4","\\":"\xd6","]":"\xdc","{":"\xe4","|":"\xf6","}":"\xfc","~":"\xdf"},jY.Y={"#":"\xa3","@":"\xa7","[":"\xb0","\\":"\xe7","]":"\xe9","`":"\xf9","{":"\xe0","|":"\xf2","}":"\xe8","~":"\xec"},jY.E=jY[6]={"@":"\xc4","[":"\xc6","\\":"\xd8","]":"\xc5","^":"\xdc","`":"\xe4","{":"\xe6","|":"\xf8","}":"\xe5","~":"\xfc"},jY.Z={"#":"\xa3","@":"\xa7","[":"\xa1","\\":"\xd1","]":"\xbf","{":"\xb0","|":"\xf1","}":"\xe7"},jY.H=jY[7]={"@":"\xc9","[":"\xc4","\\":"\xd6","]":"\xc5","^":"\xdc","`":"\xe9","{":"\xe4","|":"\xf6","}":"\xe5","~":"\xfc"},jY["="]={"#":"\xf9","@":"\xe0","[":"\xe9","\\":"\xe7","]":"\xea","^":"\xee",_:"\xe8","`":"\xf4","{":"\xe4","|":"\xf6","}":"\xfc","~":"\xfb"};var j$=class{constructor(a,b,c){this._hasScrollback=a,this._optionsService=b,this._bufferService=c,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=jT.clone(),this.savedCharset=jZ,this.markers=[],this._nullCell=fW.fromCharData([0,"",1,0]),this._whitespaceCell=fW.fromCharData([0," ",1,32]),this._isClearing=!1,this._memoryCleanupQueue=new js,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new jS(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(a){return a?(this._nullCell.fg=a.fg,this._nullCell.bg=a.bg,this._nullCell.extended=a.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new fV),this._nullCell}getWhitespaceCell(a){return a?(this._whitespaceCell.fg=a.fg,this._whitespaceCell.bg=a.bg,this._whitespaceCell.extended=a.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new fV),this._whitespaceCell}getBlankLine(a,b){return new jV(this._bufferService.cols,this.getNullCell(a),b)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let a=this.ybase+this.y-this.ydisp;return a>=0&&a<this._rows}_getCorrectBufferLength(a){if(!this._hasScrollback)return a;let b=a+this._optionsService.rawOptions.scrollback;return b>0xffffffff?0xffffffff:b}fillViewportRows(a){if(0===this.lines.length){void 0===a&&(a=jT);let b=this._rows;for(;b--;)this.lines.push(this.getBlankLine(a))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new jS(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(a,b){let c=this.getNullCell(jT),d=0,e=this._getCorrectBufferLength(b);if(e>this.lines.maxLength&&(this.lines.maxLength=e),this.lines.length>0){if(this._cols<a)for(let b=0;b<this.lines.length;b++)d+=+this.lines.get(b).resize(a,c);let f=0;if(this._rows<b)for(let d=this._rows;d<b;d++)this.lines.length<b+this.ybase&&(this._optionsService.rawOptions.windowsMode||void 0!==this._optionsService.rawOptions.windowsPty.backend||void 0!==this._optionsService.rawOptions.windowsPty.buildNumber?this.lines.push(new jV(a,c)):this.ybase>0&&this.lines.length<=this.ybase+this.y+f+1?(this.ybase--,f++,this.ydisp>0&&this.ydisp--):this.lines.push(new jV(a,c)));else for(let a=this._rows;a>b;a--)this.lines.length>b+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(e<this.lines.maxLength){let a=this.lines.length-e;a>0&&(this.lines.trimStart(a),this.ybase=Math.max(this.ybase-a,0),this.ydisp=Math.max(this.ydisp-a,0),this.savedY=Math.max(this.savedY-a,0)),this.lines.maxLength=e}this.x=Math.min(this.x,a-1),this.y=Math.min(this.y,b-1),f&&(this.y+=f),this.savedX=Math.min(this.savedX,a-1),this.scrollTop=0}if(this.scrollBottom=b-1,this._isReflowEnabled&&(this._reflow(a,b),this._cols>a))for(let b=0;b<this.lines.length;b++)d+=+this.lines.get(b).resize(a,c);this._cols=a,this._rows=b,this._memoryCleanupQueue.clear(),d>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let a=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,a=!1);let b=0;for(;this._memoryCleanupPosition<this.lines.length;)if((b+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory())>100)return!0;return a}get _isReflowEnabled(){let a=this._optionsService.rawOptions.windowsPty;return a&&a.buildNumber?this._hasScrollback&&"conpty"===a.backend&&a.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(a,b){this._cols!==a&&(a>this._cols?this._reflowLarger(a,b):this._reflowSmaller(a,b))}_reflowLarger(a,b){let c=this._optionsService.rawOptions.reflowCursorLine,d=function(a,b,c,d,e,f){let g=[];for(let h=0;h<a.length-1;h++){let i=h,j=a.get(++i);if(!j.isWrapped)continue;let k=[a.get(h)];for(;i<a.length&&j.isWrapped;)k.push(j),j=a.get(++i);if(!f&&d>=h&&d<i){h+=k.length-1;continue}let l=0,m=jW(k,0,b),n=1,o=0;for(;n<k.length;){let a=jW(k,n,b),d=Math.min(a-o,c-m);k[l].copyCellsFrom(k[n],o,m,d,!1),(m+=d)===c&&(l++,m=0),(o+=d)===a&&(n++,o=0),0===m&&0!==l&&2===k[l-1].getWidth(c-1)&&(k[l].copyCellsFrom(k[l-1],c-1,m++,1,!1),k[l-1].setCell(c-1,e))}k[l].replaceCells(m,c,e);let p=0;for(let a=k.length-1;a>0&&(a>l||0===k[a].getTrimmedLength());a--)p++;p>0&&(g.push(h+k.length-p),g.push(p)),h+=k.length-1}return g}(this.lines,this._cols,a,this.ybase+this.y,this.getNullCell(jT),c);if(d.length>0){let c=function(a,b){let c=[],d=0,e=b[0],f=0;for(let g=0;g<a.length;g++)if(e===g){let c=b[++d];a.onDeleteEmitter.fire({index:g-f,amount:c}),g+=c-1,f+=c,e=b[++d]}else c.push(g);return{layout:c,countRemoved:f}}(this.lines,d);(function(a,b){let c=[];for(let d=0;d<b.length;d++)c.push(a.get(b[d]));for(let b=0;b<c.length;b++)a.set(b,c[b]);a.length=b.length})(this.lines,c.layout),this._reflowLargerAdjustViewport(a,b,c.countRemoved)}}_reflowLargerAdjustViewport(a,b,c){let d=this.getNullCell(jT),e=c;for(;e-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length<b&&this.lines.push(new jV(a,d))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-c,0)}_reflowSmaller(a,b){let c=this._optionsService.rawOptions.reflowCursorLine,d=this.getNullCell(jT),e=[],f=0;for(let g=this.lines.length-1;g>=0;g--){let h=this.lines.get(g);if(!h||!h.isWrapped&&h.getTrimmedLength()<=a)continue;let i=[h];for(;h.isWrapped&&g>0;)h=this.lines.get(--g),i.unshift(h);if(!c){let a=this.ybase+this.y;if(a>=g&&a<g+i.length)continue}let j=i[i.length-1].getTrimmedLength(),k=function(a,b,c){let d=[],e=a.map((c,d)=>jW(a,d,b)).reduce((a,b)=>a+b),f=0,g=0,h=0;for(;h<e;){if(e-h<c){d.push(e-h);break}f+=c;let i=jW(a,g,b);f>i&&(f-=i,g++);let j=2===a[g].getWidth(f-1);j&&f--;let k=j?c-1:c;d.push(k),h+=k}return d}(i,this._cols,a),l=k.length-i.length,m;m=0===this.ybase&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+l):Math.max(0,this.lines.length-this.lines.maxLength+l);let n=[];for(let a=0;a<l;a++){let a=this.getBlankLine(jT,!0);n.push(a)}n.length>0&&(e.push({start:g+i.length+f,newLines:n}),f+=n.length),i.push(...n);let o=k.length-1,p=k[o];0===p&&(p=k[--o]);let q=i.length-l-1,r=j;for(;q>=0;){let a=Math.min(r,p);if(void 0===i[o])break;i[o].copyCellsFrom(i[q],r-a,p-a,a,!0),0==(p-=a)&&(p=k[--o]),0==(r-=a)&&(r=jW(i,Math.max(--q,0),this._cols))}for(let b=0;b<i.length;b++)k[b]<a&&i[b].setCell(k[b],d);let s=l-m;for(;s-- >0;)0===this.ybase?this.y<b-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+f)-b&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+l,this.ybase+b-1)}if(e.length>0){let a=[],b=[];for(let a=0;a<this.lines.length;a++)b.push(this.lines.get(a));let c=this.lines.length,d=c-1,g=0,h=e[0];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+f);let i=0;for(let j=Math.min(this.lines.maxLength-1,c+f-1);j>=0;j--)if(h&&h.start>d+i){for(let a=h.newLines.length-1;a>=0;a--)this.lines.set(j--,h.newLines[a]);j++,a.push({index:d+1,amount:h.newLines.length}),i+=h.newLines.length,h=e[++g]}else this.lines.set(j,b[d--]);let j=0;for(let b=a.length-1;b>=0;b--)a[b].index+=j,this.lines.onInsertEmitter.fire(a[b]),j+=a[b].amount;let k=Math.max(0,c+f-this.lines.maxLength);k>0&&this.lines.onTrimEmitter.fire(k)}}translateBufferLineToString(a,b,c=0,d){let e=this.lines.get(a);return e?e.translateToString(b,c,d):""}getWrappedRangeForLine(a){let b=a,c=a;for(;b>0&&this.lines.get(b).isWrapped;)b--;for(;c+1<this.lines.length&&this.lines.get(c+1).isWrapped;)c++;return{first:b,last:c}}setupTabStops(a){for(null!=a?this.tabs[a]||(a=this.prevStop(a)):(this.tabs={},a=0);a<this._cols;a+=this._optionsService.rawOptions.tabStopWidth)this.tabs[a]=!0}prevStop(a){for(null==a&&(a=this.x);!this.tabs[--a]&&a>0;);return a>=this._cols?this._cols-1:a<0?0:a}nextStop(a){for(null==a&&(a=this.x);!this.tabs[++a]&&a<this._cols;);return a>=this._cols?this._cols-1:a<0?0:a}clearMarkers(a){this._isClearing=!0;for(let b=0;b<this.markers.length;b++)this.markers[b].line===a&&(this.markers[b].dispose(),this.markers.splice(b--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let a=0;a<this.markers.length;a++)this.markers[a].dispose();this.markers.length=0,this._isClearing=!1}addMarker(a){let b=new jX(a);return this.markers.push(b),b.register(this.lines.onTrim(a=>{b.line-=a,b.line<0&&b.dispose()})),b.register(this.lines.onInsert(a=>{b.line>=a.index&&(b.line+=a.amount)})),b.register(this.lines.onDelete(a=>{b.line>=a.index&&b.line<a.index+a.amount&&b.dispose(),b.line>a.index&&(b.line-=a.amount)})),b.register(b.onDispose(()=>this._removeMarker(b))),b}_removeMarker(a){this._isClearing||this.markers.splice(this.markers.indexOf(a),1)}},j_=class extends gy{constructor(a,b){super(),this._optionsService=a,this._bufferService=b,this._onBufferActivate=this._register(new gZ),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new j$(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new j$(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(a){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(a),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(a,b){this._normal.resize(a,b),this._alt.resize(a,b),this.setupTabStops(a)}setupTabStops(a){this._normal.setupTabStops(a),this._alt.setupTabStops(a)}},j0=class extends gy{constructor(a){super(),this.isUserScrolling=!1,this._onResize=this._register(new gZ),this.onResize=this._onResize.event,this._onScroll=this._register(new gZ),this.onScroll=this._onScroll.event,this.cols=Math.max(a.rawOptions.cols||0,2),this.rows=Math.max(a.rawOptions.rows||0,1),this.buffers=this._register(new j_(a,this)),this._register(this.buffers.onBufferActivate(a=>{this._onScroll.fire(a.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(a,b){let c=this.cols!==a,d=this.rows!==b;this.cols=a,this.rows=b,this.buffers.resize(a,b),this._onResize.fire({cols:a,rows:b,colsChanged:c,rowsChanged:d})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(a,b=!1){let c=this.buffer,d;(d=this._cachedBlankLine)&&d.length===this.cols&&d.getFg(0)===a.fg&&d.getBg(0)===a.bg||(d=c.getBlankLine(a,b),this._cachedBlankLine=d),d.isWrapped=b;let e=c.ybase+c.scrollTop,f=c.ybase+c.scrollBottom;if(0===c.scrollTop){let a=c.lines.isFull;f===c.lines.length-1?a?c.lines.recycle().copyFrom(d):c.lines.push(d.clone()):c.lines.splice(f+1,0,d.clone()),a?this.isUserScrolling&&(c.ydisp=Math.max(c.ydisp-1,0)):(c.ybase++,this.isUserScrolling||c.ydisp++)}else{let a=f-e+1;c.lines.shiftElements(e+1,a-1,-1),c.lines.set(f,d.clone())}this.isUserScrolling||(c.ydisp=c.ybase),this._onScroll.fire(c.ydisp)}scrollLines(a,b){let c=this.buffer;if(a<0){if(0===c.ydisp)return;this.isUserScrolling=!0}else a+c.ydisp>=c.ybase&&(this.isUserScrolling=!1);let d=c.ydisp;c.ydisp=Math.max(Math.min(c.ydisp+a,c.ybase),0),d!==c.ydisp&&(b||this._onScroll.fire(c.ydisp))}};j0=fH([fI(0,f5)],j0);var j1={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:jj,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRuler:{}},j2=["normal","bold","100","200","300","400","500","600","700","800","900"],j3=class extends gy{constructor(a){super(),this._onOptionChange=this._register(new gZ),this.onOptionChange=this._onOptionChange.event;let b={...j1};for(let c in a)if(c in b)try{let d=a[c];b[c]=this._sanitizeAndValidateOption(c,d)}catch(a){console.error(a)}this.rawOptions=b,this.options={...b},this._setupOptions(),this._register(gv(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(a,b){return this.onOptionChange(c=>{c===a&&b(this.rawOptions[a])})}onMultipleOptionChange(a,b){return this.onOptionChange(c=>{-1!==a.indexOf(c)&&b()})}_setupOptions(){let a=a=>{if(!(a in j1))throw Error(`No option with key "${a}"`);return this.rawOptions[a]},b=(a,b)=>{if(!(a in j1))throw Error(`No option with key "${a}"`);b=this._sanitizeAndValidateOption(a,b),this.rawOptions[a]!==b&&(this.rawOptions[a]=b,this._onOptionChange.fire(a))};for(let c in this.rawOptions){let d={get:a.bind(this,c),set:b.bind(this,c)};Object.defineProperty(this.options,c,d)}}_sanitizeAndValidateOption(a,b){switch(a){case"cursorStyle":var c;if(b||(b=j1[a]),"block"!==(c=b)&&"underline"!==c&&"bar"!==c)throw Error(`"${b}" is not a valid value for ${a}`);break;case"wordSeparator":b||(b=j1[a]);break;case"fontWeight":case"fontWeightBold":if("number"==typeof b&&1<=b&&b<=1e3)break;b=j2.includes(b)?b:j1[a];break;case"cursorWidth":b=Math.floor(b);case"lineHeight":case"tabStopWidth":if(b<1)throw Error(`${a} cannot be less than 1, value: ${b}`);break;case"minimumContrastRatio":b=Math.max(1,Math.min(21,Math.round(10*b)/10));break;case"scrollback":if((b=Math.min(b,0xffffffff))<0)throw Error(`${a} cannot be less than 0, value: ${b}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(b<=0)throw Error(`${a} cannot be less than or equal to 0, value: ${b}`);break;case"rows":case"cols":if(!b&&0!==b)throw Error(`${a} must be numeric, value: ${b}`);break;case"windowsPty":b=b??{}}return b}};function j4(a,b=5){if("object"!=typeof a)return a;let c=Array.isArray(a)?[]:{};for(let d in a)c[d]=b<=1?a[d]:a[d]&&j4(a[d],b-1);return c}var j5=Object.freeze({insertMode:!1}),j6=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),j7=class extends gy{constructor(a,b,c){super(),this._bufferService=a,this._logService=b,this._optionsService=c,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new gZ),this.onData=this._onData.event,this._onUserInput=this._register(new gZ),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new gZ),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new gZ),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=j4(j5),this.decPrivateModes=j4(j6)}reset(){this.modes=j4(j5),this.decPrivateModes=j4(j6)}triggerDataEvent(a,b=!1){if(this._optionsService.rawOptions.disableStdin)return;let c=this._bufferService.buffer;b&&this._optionsService.rawOptions.scrollOnUserInput&&c.ybase!==c.ydisp&&this._onRequestScrollToBottom.fire(),b&&this._onUserInput.fire(),this._logService.debug(`sending data "${a}"`),this._logService.trace("sending data (codes)",()=>a.split("").map(a=>a.charCodeAt(0))),this._onData.fire(a)}triggerBinaryEvent(a){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${a}"`),this._logService.trace("sending binary (codes)",()=>a.split("").map(a=>a.charCodeAt(0))),this._onBinary.fire(a))}};j7=fH([fI(0,f_),fI(1,f4),fI(2,f5)],j7);var j8={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:a=>4!==a.button&&1===a.action&&(a.ctrl=!1,a.alt=!1,a.shift=!1,!0)},VT200:{events:19,restrict:a=>32!==a.action},DRAG:{events:23,restrict:a=>32!==a.action||3!==a.button},ANY:{events:31,restrict:a=>!0}};function j9(a,b){let c=16*!!a.ctrl|4*!!a.shift|8*!!a.alt;return 4===a.button?(c|=64,c|=a.action):(c|=3&a.button,4&a.button&&(c|=64),8&a.button&&(c|=128),32===a.action?c|=32:0!==a.action||b||(c|=3)),c}var ka=String.fromCharCode,kb={DEFAULT:a=>{let b=[j9(a,!1)+32,a.col+32,a.row+32];return b[0]>255||b[1]>255||b[2]>255?"":`\x1b[M${ka(b[0])}${ka(b[1])}${ka(b[2])}`},SGR:a=>{let b=0===a.action&&4!==a.button?"m":"M";return`\x1b[<${j9(a,!0)};${a.col};${a.row}${b}`},SGR_PIXELS:a=>{let b=0===a.action&&4!==a.button?"m":"M";return`\x1b[<${j9(a,!0)};${a.x};${a.y}${b}`}},kc=class extends gy{constructor(a,b,c){for(let d of(super(),this._bufferService=a,this._coreService=b,this._optionsService=c,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new gZ),this.onProtocolChange=this._onProtocolChange.event,Object.keys(j8)))this.addProtocol(d,j8[d]);for(let a of Object.keys(kb))this.addEncoding(a,kb[a]);this.reset()}addProtocol(a,b){this._protocols[a]=b}addEncoding(a,b){this._encodings[a]=b}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return 0!==this._protocols[this._activeProtocol].events}set activeProtocol(a){if(!this._protocols[a])throw Error(`unknown protocol "${a}"`);this._activeProtocol=a,this._onProtocolChange.fire(this._protocols[a].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(a){if(!this._encodings[a])throw Error(`unknown encoding "${a}"`);this._activeEncoding=a}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(a,b,c){if(0===a.deltaY||a.shiftKey||void 0===b||void 0===c)return 0;let d=this._applyScrollModifier(a.deltaY,a);return a.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(d/=b/c+0,50>Math.abs(a.deltaY)&&(d*=.3),this._wheelPartialScroll+=d,d=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):a.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(d*=this._bufferService.rows),d}_applyScrollModifier(a,b){return b.altKey||b.ctrlKey||b.shiftKey?a*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:a*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(a){if(a.col<0||a.col>=this._bufferService.cols||a.row<0||a.row>=this._bufferService.rows||4===a.button&&32===a.action||3===a.button&&32!==a.action||4!==a.button&&(2===a.action||3===a.action)||(a.col++,a.row++,32===a.action&&this._lastEvent&&this._equalEvents(this._lastEvent,a,"SGR_PIXELS"===this._activeEncoding))||!this._protocols[this._activeProtocol].restrict(a))return!1;let b=this._encodings[this._activeEncoding](a);return b&&("DEFAULT"===this._activeEncoding?this._coreService.triggerBinaryEvent(b):this._coreService.triggerDataEvent(b,!0)),this._lastEvent=a,!0}explainEvents(a){return{down:!!(1&a),up:!!(2&a),drag:!!(4&a),move:!!(8&a),wheel:!!(16&a)}}_equalEvents(a,b,c){if(c){if(a.x!==b.x||a.y!==b.y)return!1}else if(a.col!==b.col||a.row!==b.row)return!1;return a.button===b.button&&a.action===b.action&&a.ctrl===b.ctrl&&a.alt===b.alt&&a.shift===b.shift}};kc=fH([fI(0,f_),fI(1,f1),fI(2,f5)],kc);var kd,ke,kf,kg,kh,ki=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],kj=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],kk=class{constructor(){if(this.version="6",!kh){(kh=new Uint8Array(65536)).fill(1),kh[0]=0,kh.fill(0,1,32),kh.fill(0,127,160),kh.fill(2,4352,4448),kh[9001]=2,kh[9002]=2,kh.fill(2,11904,42192),kh[12351]=1,kh.fill(2,44032,55204),kh.fill(2,63744,64256),kh.fill(2,65040,65050),kh.fill(2,65072,65136),kh.fill(2,65280,65377),kh.fill(2,65504,65511);for(let a=0;a<ki.length;++a)kh.fill(0,ki[a][0],ki[a][1]+1)}}wcwidth(a){return a<32?0:a<127?1:a<65536?kh[a]:!function(a,b){let c=0,d=b.length-1,e;if(a<b[0][0]||a>b[d][1])return!1;for(;d>=c;)if(a>b[e=c+d>>1][1])c=e+1;else{if(!(a<b[e][0]))return!0;d=e-1}return!1}(a,kj)?a>=131072&&a<=196605||a>=196608&&a<=262141?2:1:0}charProperties(a,b){let c=this.wcwidth(a),d=0===c&&0!==b;if(d){let a=kl.extractWidth(b);0===a?d=!1:a>c&&(c=a)}return kl.createPropertyValue(0,c,d)}},kl=class a{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new gZ,this.onChange=this._onChange.event;let a=new kk;this.register(a),this._active=a.version,this._activeProvider=a}static extractShouldJoin(a){return(1&a)!=0}static extractWidth(a){return a>>1&3}static extractCharKind(a){return a>>3}static createPropertyValue(a,b,c=!1){return(0xffffff&a)<<3|(3&b)<<1|!!c}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(a){if(!this._providers[a])throw Error(`unknown Unicode version "${a}"`);this._active=a,this._activeProvider=this._providers[a],this._onChange.fire(a)}register(a){this._providers[a.version]=a}wcwidth(a){return this._activeProvider.wcwidth(a)}getStringCellWidth(b){let c=0,d=0,e=b.length;for(let f=0;f<e;++f){let g=b.charCodeAt(f);if(55296<=g&&g<=56319){if(++f>=e)return c+this.wcwidth(g);let a=b.charCodeAt(f);56320<=a&&a<=57343?g=(g-55296)*1024+a-56320+65536:c+=this.wcwidth(a)}let h=this.charProperties(g,d),i=a.extractWidth(h);a.extractShouldJoin(h)&&(i-=a.extractWidth(d)),c+=i,d=h}return c}charProperties(a,b){return this._activeProvider.charProperties(a,b)}},km=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(a){this.glevel=a,this.charset=this._charsets[a]}setgCharset(a,b){this._charsets[a]=b,this.glevel===a&&(this.charset=b)}};function kn(a){let b=a.buffer.lines.get(a.buffer.ybase+a.buffer.y-1)?.get(a.cols-1),c=a.buffer.lines.get(a.buffer.ybase+a.buffer.y);c&&b&&(c.isWrapped=0!==b[3]&&32!==b[3])}var ko=class a{constructor(a=32,b=32){if(this.maxLength=a,this.maxSubParamsLength=b,b>256)throw Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(a),this.length=0,this._subParams=new Int32Array(b),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(a),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(b){let c=new a;if(!b.length)return c;for(let a=+!!Array.isArray(b[0]);a<b.length;++a){let d=b[a];if(Array.isArray(d))for(let a=0;a<d.length;++a)c.addSubParam(d[a]);else c.addParam(d)}return c}clone(){let b=new a(this.maxLength,this.maxSubParamsLength);return b.params.set(this.params),b.length=this.length,b._subParams.set(this._subParams),b._subParamsLength=this._subParamsLength,b._subParamsIdx.set(this._subParamsIdx),b._rejectDigits=this._rejectDigits,b._rejectSubDigits=this._rejectSubDigits,b._digitIsSub=this._digitIsSub,b}toArray(){let a=[];for(let b=0;b<this.length;++b){a.push(this.params[b]);let c=this._subParamsIdx[b]>>8,d=255&this._subParamsIdx[b];d-c>0&&a.push(Array.prototype.slice.call(this._subParams,c,d))}return a}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(a){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(a<-1)throw Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=a>0x7fffffff?0x7fffffff:a}addSubParam(a){if(this._digitIsSub=!0,this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(a<-1)throw Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=a>0x7fffffff?0x7fffffff:a,this._subParamsIdx[this.length-1]++}}hasSubParams(a){return(255&this._subParamsIdx[a])-(this._subParamsIdx[a]>>8)>0}getSubParams(a){let b=this._subParamsIdx[a]>>8,c=255&this._subParamsIdx[a];return c-b>0?this._subParams.subarray(b,c):null}getSubParamsAll(){let a={};for(let b=0;b<this.length;++b){let c=this._subParamsIdx[b]>>8,d=255&this._subParamsIdx[b];d-c>0&&(a[b]=this._subParams.slice(c,d))}return a}addDigit(a){let b;if(this._rejectDigits||!(b=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let c=this._digitIsSub?this._subParams:this.params,d=c[b-1];c[b-1]=~d?Math.min(10*d+a,0x7fffffff):a}},kp=[],kq=class{constructor(){this._state=0,this._active=kp,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(a,b){void 0===this._handlers[a]&&(this._handlers[a]=[]);let c=this._handlers[a];return c.push(b),{dispose:()=>{let a=c.indexOf(b);-1!==a&&c.splice(a,1)}}}clearHandler(a){this._handlers[a]&&delete this._handlers[a]}setHandlerFallback(a){this._handlerFb=a}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=kp}reset(){if(2===this._state)for(let a=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;a>=0;--a)this._active[a].end(!1);this._stack.paused=!1,this._active=kp,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||kp,this._active.length)for(let a=this._active.length-1;a>=0;a--)this._active[a].start();else this._handlerFb(this._id,"START")}_put(a,b,c){if(this._active.length)for(let d=this._active.length-1;d>=0;d--)this._active[d].put(a,b,c);else this._handlerFb(this._id,"PUT",fR(a,b,c))}start(){this.reset(),this._state=1}put(a,b,c){if(3!==this._state){if(1===this._state)for(;b<c;){let c=a[b++];if(59===c){this._state=2,this._start();break}if(c<48||57<c){this._state=3;return}-1===this._id&&(this._id=0),this._id=10*this._id+c-48}2===this._state&&c-b>0&&this._put(a,b,c)}}end(a,b=!0){if(0!==this._state){if(3!==this._state)if(1===this._state&&this._start(),this._active.length){let c=!1,d=this._active.length-1,e=!1;if(this._stack.paused&&(d=this._stack.loopPosition-1,c=b,e=this._stack.fallThrough,this._stack.paused=!1),!e&&!1===c){for(;d>=0&&!0!==(c=this._active[d].end(a));d--)if(c instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=d,this._stack.fallThrough=!1,c;d--}for(;d>=0;d--)if((c=this._active[d].end(!1))instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=d,this._stack.fallThrough=!0,c}else this._handlerFb(this._id,"END",a);this._active=kp,this._id=-1,this._state=0}}},kr=class{constructor(a){this._handler=a,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(a,b,c){this._hitLimit||(this._data+=fR(a,b,c),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}end(a){let b=!1;if(this._hitLimit)b=!1;else if(a&&(b=this._handler(this._data))instanceof Promise)return b.then(a=>(this._data="",this._hitLimit=!1,a));return this._data="",this._hitLimit=!1,b}},ks=[],kt=class{constructor(){this._handlers=Object.create(null),this._active=ks,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=ks}registerHandler(a,b){void 0===this._handlers[a]&&(this._handlers[a]=[]);let c=this._handlers[a];return c.push(b),{dispose:()=>{let a=c.indexOf(b);-1!==a&&c.splice(a,1)}}}clearHandler(a){this._handlers[a]&&delete this._handlers[a]}setHandlerFallback(a){this._handlerFb=a}reset(){if(this._active.length)for(let a=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;a>=0;--a)this._active[a].unhook(!1);this._stack.paused=!1,this._active=ks,this._ident=0}hook(a,b){if(this.reset(),this._ident=a,this._active=this._handlers[a]||ks,this._active.length)for(let a=this._active.length-1;a>=0;a--)this._active[a].hook(b);else this._handlerFb(this._ident,"HOOK",b)}put(a,b,c){if(this._active.length)for(let d=this._active.length-1;d>=0;d--)this._active[d].put(a,b,c);else this._handlerFb(this._ident,"PUT",fR(a,b,c))}unhook(a,b=!0){if(this._active.length){let c=!1,d=this._active.length-1,e=!1;if(this._stack.paused&&(d=this._stack.loopPosition-1,c=b,e=this._stack.fallThrough,this._stack.paused=!1),!e&&!1===c){for(;d>=0&&!0!==(c=this._active[d].unhook(a));d--)if(c instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=d,this._stack.fallThrough=!1,c;d--}for(;d>=0;d--)if((c=this._active[d].unhook(!1))instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=d,this._stack.fallThrough=!0,c}else this._handlerFb(this._ident,"UNHOOK",a);this._active=ks,this._ident=0}},ku=new ko;ku.addParam(0);var kv=class{constructor(a){this._handler=a,this._data="",this._params=ku,this._hitLimit=!1}hook(a){this._params=a.length>1||a.params[0]?a.clone():ku,this._data="",this._hitLimit=!1}put(a,b,c){this._hitLimit||(this._data+=fR(a,b,c),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}unhook(a){let b=!1;if(this._hitLimit)b=!1;else if(a&&(b=this._handler(this._data,this._params))instanceof Promise)return b.then(a=>(this._params=ku,this._data="",this._hitLimit=!1,a));return this._params=ku,this._data="",this._hitLimit=!1,b}},kw=class{constructor(a){this.table=new Uint8Array(a)}setDefault(a,b){this.table.fill(a<<4|b)}add(a,b,c,d){this.table[b<<8|a]=c<<4|d}addMany(a,b,c,d){for(let e=0;e<a.length;e++)this.table[b<<8|a[e]]=c<<4|d}},kx=function(){let a=new kw(4095),b=Array.apply(null,Array(256)).map((a,b)=>b),c=(a,c)=>b.slice(a,c),d=c(32,127),e=c(0,24);e.push(25),e.push.apply(e,c(28,32));let f=c(0,14),g;for(g in a.setDefault(1,0),a.addMany(d,0,2,0),f)a.addMany([24,26,153,154],g,3,0),a.addMany(c(128,144),g,3,0),a.addMany(c(144,152),g,3,0),a.add(156,g,0,0),a.add(27,g,11,1),a.add(157,g,4,8),a.addMany([152,158,159],g,0,7),a.add(155,g,11,3),a.add(144,g,11,9);return a.addMany(e,0,3,0),a.addMany(e,1,3,1),a.add(127,1,0,1),a.addMany(e,8,0,8),a.addMany(e,3,3,3),a.add(127,3,0,3),a.addMany(e,4,3,4),a.add(127,4,0,4),a.addMany(e,6,3,6),a.addMany(e,5,3,5),a.add(127,5,0,5),a.addMany(e,2,3,2),a.add(127,2,0,2),a.add(93,1,4,8),a.addMany(d,8,5,8),a.add(127,8,5,8),a.addMany([156,27,24,26,7],8,6,0),a.addMany(c(28,32),8,0,8),a.addMany([88,94,95],1,0,7),a.addMany(d,7,0,7),a.addMany(e,7,0,7),a.add(156,7,0,0),a.add(127,7,0,7),a.add(91,1,11,3),a.addMany(c(64,127),3,7,0),a.addMany(c(48,60),3,8,4),a.addMany([60,61,62,63],3,9,4),a.addMany(c(48,60),4,8,4),a.addMany(c(64,127),4,7,0),a.addMany([60,61,62,63],4,0,6),a.addMany(c(32,64),6,0,6),a.add(127,6,0,6),a.addMany(c(64,127),6,0,0),a.addMany(c(32,48),3,9,5),a.addMany(c(32,48),5,9,5),a.addMany(c(48,64),5,0,6),a.addMany(c(64,127),5,7,0),a.addMany(c(32,48),4,9,5),a.addMany(c(32,48),1,9,2),a.addMany(c(32,48),2,9,2),a.addMany(c(48,127),2,10,0),a.addMany(c(48,80),1,10,0),a.addMany(c(81,88),1,10,0),a.addMany([89,90,92],1,10,0),a.addMany(c(96,127),1,10,0),a.add(80,1,11,9),a.addMany(e,9,0,9),a.add(127,9,0,9),a.addMany(c(28,32),9,0,9),a.addMany(c(32,48),9,9,12),a.addMany(c(48,60),9,8,10),a.addMany([60,61,62,63],9,9,10),a.addMany(e,11,0,11),a.addMany(c(32,128),11,0,11),a.addMany(c(28,32),11,0,11),a.addMany(e,10,0,10),a.add(127,10,0,10),a.addMany(c(28,32),10,0,10),a.addMany(c(48,60),10,8,10),a.addMany([60,61,62,63],10,0,11),a.addMany(c(32,48),10,9,12),a.addMany(e,12,0,12),a.add(127,12,0,12),a.addMany(c(28,32),12,0,12),a.addMany(c(32,48),12,9,12),a.addMany(c(48,64),12,0,11),a.addMany(c(64,127),12,12,13),a.addMany(c(64,127),10,12,13),a.addMany(c(64,127),9,12,13),a.addMany(e,13,13,13),a.addMany(d,13,13,13),a.add(127,13,0,13),a.addMany([27,156,24,26],13,14,0),a.add(160,0,2,0),a.add(160,8,5,8),a.add(160,6,0,6),a.add(160,11,0,11),a.add(160,13,13,13),a}(),ky=class extends gy{constructor(a=kx){super(),this._transitions=a,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new ko,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(a,b,c)=>{},this._executeHandlerFb=a=>{},this._csiHandlerFb=(a,b)=>{},this._escHandlerFb=a=>{},this._errorHandlerFb=a=>a,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(gv(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new kq),this._dcsParser=this._register(new kt),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(a,b=[64,126]){let c=0;if(a.prefix){if(a.prefix.length>1)throw Error("only one byte as prefix supported");if((c=a.prefix.charCodeAt(0))&&60>c||c>63)throw Error("prefix must be in range 0x3c .. 0x3f")}if(a.intermediates){if(a.intermediates.length>2)throw Error("only two bytes as intermediates are supported");for(let b=0;b<a.intermediates.length;++b){let d=a.intermediates.charCodeAt(b);if(32>d||d>47)throw Error("intermediate must be in range 0x20 .. 0x2f");c<<=8,c|=d}}if(1!==a.final.length)throw Error("final must be a single byte");let d=a.final.charCodeAt(0);if(b[0]>d||d>b[1])throw Error(`final must be in range ${b[0]} .. ${b[1]}`);return c<<=8,c|=d}identToString(a){let b=[];for(;a;)b.push(String.fromCharCode(255&a)),a>>=8;return b.reverse().join("")}setPrintHandler(a){this._printHandler=a}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(a,b){let c=this._identifier(a,[48,126]);void 0===this._escHandlers[c]&&(this._escHandlers[c]=[]);let d=this._escHandlers[c];return d.push(b),{dispose:()=>{let a=d.indexOf(b);-1!==a&&d.splice(a,1)}}}clearEscHandler(a){this._escHandlers[this._identifier(a,[48,126])]&&delete this._escHandlers[this._identifier(a,[48,126])]}setEscHandlerFallback(a){this._escHandlerFb=a}setExecuteHandler(a,b){this._executeHandlers[a.charCodeAt(0)]=b}clearExecuteHandler(a){this._executeHandlers[a.charCodeAt(0)]&&delete this._executeHandlers[a.charCodeAt(0)]}setExecuteHandlerFallback(a){this._executeHandlerFb=a}registerCsiHandler(a,b){let c=this._identifier(a);void 0===this._csiHandlers[c]&&(this._csiHandlers[c]=[]);let d=this._csiHandlers[c];return d.push(b),{dispose:()=>{let a=d.indexOf(b);-1!==a&&d.splice(a,1)}}}clearCsiHandler(a){this._csiHandlers[this._identifier(a)]&&delete this._csiHandlers[this._identifier(a)]}setCsiHandlerFallback(a){this._csiHandlerFb=a}registerDcsHandler(a,b){return this._dcsParser.registerHandler(this._identifier(a),b)}clearDcsHandler(a){this._dcsParser.clearHandler(this._identifier(a))}setDcsHandlerFallback(a){this._dcsParser.setHandlerFallback(a)}registerOscHandler(a,b){return this._oscParser.registerHandler(a,b)}clearOscHandler(a){this._oscParser.clearHandler(a)}setOscHandlerFallback(a){this._oscParser.setHandlerFallback(a)}setErrorHandler(a){this._errorHandler=a}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,0!==this._parseStack.state&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(a,b,c,d,e){this._parseStack.state=a,this._parseStack.handlers=b,this._parseStack.handlerPos=c,this._parseStack.transition=d,this._parseStack.chunkPos=e}parse(a,b,c){let d=0,e=0,f=0,g;if(this._parseStack.state)if(2===this._parseStack.state)this._parseStack.state=0,f=this._parseStack.chunkPos+1;else{if(void 0===c||1===this._parseStack.state)throw this._parseStack.state=1,Error("improper continuation due to previous async handler, giving up parsing");let b=this._parseStack.handlers,e=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(!1===c&&e>-1){for(;e>=0&&!0!==(g=b[e](this._params));e--)if(g instanceof Promise)return this._parseStack.handlerPos=e,g}this._parseStack.handlers=[];break;case 4:if(!1===c&&e>-1){for(;e>=0&&!0!==(g=b[e]());e--)if(g instanceof Promise)return this._parseStack.handlerPos=e,g}this._parseStack.handlers=[];break;case 6:if(d=a[this._parseStack.chunkPos],g=this._dcsParser.unhook(24!==d&&26!==d,c))return g;27===d&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(d=a[this._parseStack.chunkPos],g=this._oscParser.end(24!==d&&26!==d,c))return g;27===d&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,f=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let c=f;c<b;++c){switch(d=a[c],(e=this._transitions.table[this.currentState<<8|(d<160?d:160)])>>4){case 2:for(let e=c+1;;++e)if(e>=b||(d=a[e])<32||d>126&&d<160||++e>=b||(d=a[e])<32||d>126&&d<160||++e>=b||(d=a[e])<32||d>126&&d<160||++e>=b||(d=a[e])<32||d>126&&d<160){this._printHandler(a,c,e),c=e-1;break}break;case 3:this._executeHandlers[d]?this._executeHandlers[d]():this._executeHandlerFb(d),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:c,code:d,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let f=this._csiHandlers[this._collect<<8|d],h=f?f.length-1:-1;for(;h>=0&&!0!==(g=f[h](this._params));h--)if(g instanceof Promise)return this._preserveStack(3,f,h,e,c),g;h<0&&this._csiHandlerFb(this._collect<<8|d,this._params),this.precedingJoinState=0;break;case 8:do switch(d){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(d-48)}while(++c<b&&(d=a[c])>47&&d<60);c--;break;case 9:this._collect<<=8,this._collect|=d;break;case 10:let i=this._escHandlers[this._collect<<8|d],j=i?i.length-1:-1;for(;j>=0&&!0!==(g=i[j]());j--)if(g instanceof Promise)return this._preserveStack(4,i,j,e,c),g;j<0&&this._escHandlerFb(this._collect<<8|d),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|d,this._params);break;case 13:for(let e=c+1;;++e)if(e>=b||24===(d=a[e])||26===d||27===d||d>127&&d<160){this._dcsParser.put(a,c,e),c=e-1;break}break;case 14:if(g=this._dcsParser.unhook(24!==d&&26!==d))return this._preserveStack(6,[],0,e,c),g;27===d&&(e|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let e=c+1;;e++)if(e>=b||(d=a[e])<32||d>127&&d<160){this._oscParser.put(a,c,e),c=e-1;break}break;case 6:if(g=this._oscParser.end(24!==d&&26!==d))return this._preserveStack(5,[],0,e,c),g;27===d&&(e|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=15&e}}},kz=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,kA=/^[\da-f]+$/;function kB(a){if(!a)return;let b=a.toLowerCase();if(0===b.indexOf("rgb:")){b=b.slice(4);let a=kz.exec(b);if(a){let b=a[1]?15:a[4]?255:a[7]?4095:65535;return[Math.round(parseInt(a[1]||a[4]||a[7]||a[10],16)/b*255),Math.round(parseInt(a[2]||a[5]||a[8]||a[11],16)/b*255),Math.round(parseInt(a[3]||a[6]||a[9]||a[12],16)/b*255)]}}else if(0===b.indexOf("#")&&(b=b.slice(1),kA.exec(b)&&[3,6,9,12].includes(b.length))){let a=b.length/3,c=[0,0,0];for(let d=0;d<3;++d){let e=parseInt(b.slice(a*d,a*d+a),16);c[d]=1===a?e<<4:2===a?e:3===a?e>>4:e>>8}return c}}function kC(a,b){let c=a.toString(16),d=c.length<2?"0"+c:c;switch(b){case 4:return c[0];case 8:return d;case 12:return(d+d).slice(0,3);default:return d+d}}var kD={"(":0,")":1,"*":2,"+":3,"-":1,".":2};function kE(a,b){if(a>24)return b.setWinLines||!1;switch(a){case 1:return!!b.restoreWin;case 2:return!!b.minimizeWin;case 3:return!!b.setWinPosition;case 4:return!!b.setWinSizePixels;case 5:return!!b.raiseWin;case 6:return!!b.lowerWin;case 7:return!!b.refreshWin;case 8:return!!b.setWinSizeChars;case 9:return!!b.maximizeWin;case 10:return!!b.fullscreenWin;case 11:return!!b.getWinState;case 13:return!!b.getWinPosition;case 14:return!!b.getWinSizePixels;case 15:return!!b.getScreenSizePixels;case 16:return!!b.getCellSizePixels;case 18:return!!b.getWinSizeChars;case 19:return!!b.getScreenSizeChars;case 20:return!!b.getIconTitle;case 21:return!!b.getWinTitle;case 22:return!!b.pushTitle;case 23:return!!b.popTitle;case 24:return!!b.setWinLines}return!1}var kF=0,kG=class extends gy{constructor(a,b,c,d,e,f,g,h,i=new ky){for(let j in super(),this._bufferService=a,this._charsetService=b,this._coreService=c,this._logService=d,this._optionsService=e,this._oscLinkService=f,this._coreMouseService=g,this._unicodeService=h,this._parser=i,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new fS,this._utf8Decoder=new fT,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=jT.clone(),this._eraseAttrDataInternal=jT.clone(),this._onRequestBell=this._register(new gZ),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new gZ),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new gZ),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new gZ),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new gZ),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new gZ),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new gZ),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new gZ),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new gZ),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new gZ),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new gZ),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new gZ),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new gZ),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new kH(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(a=>this._activeBuffer=a.activeBuffer)),this._parser.setCsiHandlerFallback((a,b)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(a),params:b.toArray()})}),this._parser.setEscHandlerFallback(a=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(a)})}),this._parser.setExecuteHandlerFallback(a=>{this._logService.debug("Unknown EXECUTE code: ",{code:a})}),this._parser.setOscHandlerFallback((a,b,c)=>{this._logService.debug("Unknown OSC code: ",{identifier:a,action:b,data:c})}),this._parser.setDcsHandlerFallback((a,b,c)=>{"HOOK"===b&&(c=c.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(a),action:b,payload:c})}),this._parser.setPrintHandler((a,b,c)=>this.print(a,b,c)),this._parser.registerCsiHandler({final:"@"},a=>this.insertChars(a)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},a=>this.scrollLeft(a)),this._parser.registerCsiHandler({final:"A"},a=>this.cursorUp(a)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},a=>this.scrollRight(a)),this._parser.registerCsiHandler({final:"B"},a=>this.cursorDown(a)),this._parser.registerCsiHandler({final:"C"},a=>this.cursorForward(a)),this._parser.registerCsiHandler({final:"D"},a=>this.cursorBackward(a)),this._parser.registerCsiHandler({final:"E"},a=>this.cursorNextLine(a)),this._parser.registerCsiHandler({final:"F"},a=>this.cursorPrecedingLine(a)),this._parser.registerCsiHandler({final:"G"},a=>this.cursorCharAbsolute(a)),this._parser.registerCsiHandler({final:"H"},a=>this.cursorPosition(a)),this._parser.registerCsiHandler({final:"I"},a=>this.cursorForwardTab(a)),this._parser.registerCsiHandler({final:"J"},a=>this.eraseInDisplay(a,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},a=>this.eraseInDisplay(a,!0)),this._parser.registerCsiHandler({final:"K"},a=>this.eraseInLine(a,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},a=>this.eraseInLine(a,!0)),this._parser.registerCsiHandler({final:"L"},a=>this.insertLines(a)),this._parser.registerCsiHandler({final:"M"},a=>this.deleteLines(a)),this._parser.registerCsiHandler({final:"P"},a=>this.deleteChars(a)),this._parser.registerCsiHandler({final:"S"},a=>this.scrollUp(a)),this._parser.registerCsiHandler({final:"T"},a=>this.scrollDown(a)),this._parser.registerCsiHandler({final:"X"},a=>this.eraseChars(a)),this._parser.registerCsiHandler({final:"Z"},a=>this.cursorBackwardTab(a)),this._parser.registerCsiHandler({final:"`"},a=>this.charPosAbsolute(a)),this._parser.registerCsiHandler({final:"a"},a=>this.hPositionRelative(a)),this._parser.registerCsiHandler({final:"b"},a=>this.repeatPrecedingCharacter(a)),this._parser.registerCsiHandler({final:"c"},a=>this.sendDeviceAttributesPrimary(a)),this._parser.registerCsiHandler({prefix:">",final:"c"},a=>this.sendDeviceAttributesSecondary(a)),this._parser.registerCsiHandler({final:"d"},a=>this.linePosAbsolute(a)),this._parser.registerCsiHandler({final:"e"},a=>this.vPositionRelative(a)),this._parser.registerCsiHandler({final:"f"},a=>this.hVPosition(a)),this._parser.registerCsiHandler({final:"g"},a=>this.tabClear(a)),this._parser.registerCsiHandler({final:"h"},a=>this.setMode(a)),this._parser.registerCsiHandler({prefix:"?",final:"h"},a=>this.setModePrivate(a)),this._parser.registerCsiHandler({final:"l"},a=>this.resetMode(a)),this._parser.registerCsiHandler({prefix:"?",final:"l"},a=>this.resetModePrivate(a)),this._parser.registerCsiHandler({final:"m"},a=>this.charAttributes(a)),this._parser.registerCsiHandler({final:"n"},a=>this.deviceStatus(a)),this._parser.registerCsiHandler({prefix:"?",final:"n"},a=>this.deviceStatusPrivate(a)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},a=>this.softReset(a)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},a=>this.setCursorStyle(a)),this._parser.registerCsiHandler({final:"r"},a=>this.setScrollRegion(a)),this._parser.registerCsiHandler({final:"s"},a=>this.saveCursor(a)),this._parser.registerCsiHandler({final:"t"},a=>this.windowOptions(a)),this._parser.registerCsiHandler({final:"u"},a=>this.restoreCursor(a)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},a=>this.insertColumns(a)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},a=>this.deleteColumns(a)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},a=>this.selectProtected(a)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},a=>this.requestMode(a,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},a=>this.requestMode(a,!1)),this._parser.setExecuteHandler(iD.BEL,()=>this.bell()),this._parser.setExecuteHandler(iD.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(iD.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(iD.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(iD.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(iD.BS,()=>this.backspace()),this._parser.setExecuteHandler(iD.HT,()=>this.tab()),this._parser.setExecuteHandler(iD.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(iD.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(iE.IND,()=>this.index()),this._parser.setExecuteHandler(iE.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(iE.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new kr(a=>(this.setTitle(a),this.setIconName(a),!0))),this._parser.registerOscHandler(1,new kr(a=>this.setIconName(a))),this._parser.registerOscHandler(2,new kr(a=>this.setTitle(a))),this._parser.registerOscHandler(4,new kr(a=>this.setOrReportIndexedColor(a))),this._parser.registerOscHandler(8,new kr(a=>this.setHyperlink(a))),this._parser.registerOscHandler(10,new kr(a=>this.setOrReportFgColor(a))),this._parser.registerOscHandler(11,new kr(a=>this.setOrReportBgColor(a))),this._parser.registerOscHandler(12,new kr(a=>this.setOrReportCursorColor(a))),this._parser.registerOscHandler(104,new kr(a=>this.restoreIndexedColor(a))),this._parser.registerOscHandler(110,new kr(a=>this.restoreFgColor(a))),this._parser.registerOscHandler(111,new kr(a=>this.restoreBgColor(a))),this._parser.registerOscHandler(112,new kr(a=>this.restoreCursorColor(a))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset()),jY)this._parser.registerEscHandler({intermediates:"(",final:j},()=>this.selectCharset("("+j)),this._parser.registerEscHandler({intermediates:")",final:j},()=>this.selectCharset(")"+j)),this._parser.registerEscHandler({intermediates:"*",final:j},()=>this.selectCharset("*"+j)),this._parser.registerEscHandler({intermediates:"+",final:j},()=>this.selectCharset("+"+j)),this._parser.registerEscHandler({intermediates:"-",final:j},()=>this.selectCharset("-"+j)),this._parser.registerEscHandler({intermediates:".",final:j},()=>this.selectCharset("."+j)),this._parser.registerEscHandler({intermediates:"/",final:j},()=>this.selectCharset("/"+j));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(a=>(this._logService.error("Parsing error: ",a),a)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new kv((a,b)=>this.requestStatusString(a,b)))}getAttrData(){return this._curAttrData}_preserveStack(a,b,c,d){this._parseStack.paused=!0,this._parseStack.cursorStartX=a,this._parseStack.cursorStartY=b,this._parseStack.decodedLength=c,this._parseStack.position=d}_logSlowResolvingAsync(a){this._logService.logLevel<=3&&Promise.race([a,new Promise((a,b)=>setTimeout(()=>b("#SLOW_TIMEOUT"),5e3))]).catch(a=>{if("#SLOW_TIMEOUT"!==a)throw a;console.warn("async parser handler taking longer than 5000 ms")})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(a,b){let c,d=this._activeBuffer.x,e=this._activeBuffer.y,f=0,g=this._parseStack.paused;if(g){if(c=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,b))return this._logSlowResolvingAsync(c),c;d=this._parseStack.cursorStartX,e=this._parseStack.cursorStartY,this._parseStack.paused=!1,a.length>131072&&(f=this._parseStack.position+131072)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${"string"==typeof a?` "${a}"`:` "${Array.prototype.map.call(a,a=>String.fromCharCode(a)).join("")}"`}`),0===this._logService.logLevel&&this._logService.trace("parsing data (codes)","string"==typeof a?a.split("").map(a=>a.charCodeAt(0)):a),this._parseBuffer.length<a.length&&this._parseBuffer.length<131072&&(this._parseBuffer=new Uint32Array(Math.min(a.length,131072))),g||this._dirtyRowTracker.clearRange(),a.length>131072)for(let b=f;b<a.length;b+=131072){let f=b+131072<a.length?b+131072:a.length,g="string"==typeof a?this._stringDecoder.decode(a.substring(b,f),this._parseBuffer):this._utf8Decoder.decode(a.subarray(b,f),this._parseBuffer);if(c=this._parser.parse(this._parseBuffer,g))return this._preserveStack(d,e,g,b),this._logSlowResolvingAsync(c),c}else if(!g){let b="string"==typeof a?this._stringDecoder.decode(a,this._parseBuffer):this._utf8Decoder.decode(a,this._parseBuffer);if(c=this._parser.parse(this._parseBuffer,b))return this._preserveStack(d,e,b,0),this._logSlowResolvingAsync(c),c}(this._activeBuffer.x!==d||this._activeBuffer.y!==e)&&this._onCursorMove.fire();let h=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),i=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);i<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(i,this._bufferService.rows-1),end:Math.min(h,this._bufferService.rows-1)})}print(a,b,c){let d,e,f=this._charsetService.charset,g=this._optionsService.rawOptions.screenReaderMode,h=this._bufferService.cols,i=this._coreService.decPrivateModes.wraparound,j=this._coreService.modes.insertMode,k=this._curAttrData,l=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&c-b>0&&2===l.getWidth(this._activeBuffer.x-1)&&l.setCellFromCodepoint(this._activeBuffer.x-1,0,1,k);let m=this._parser.precedingJoinState;for(let n=b;n<c;++n){if((d=a[n])<127&&f){let a=f[String.fromCharCode(d)];a&&(d=a.charCodeAt(0))}let b=this._unicodeService.charProperties(d,m);e=kl.extractWidth(b);let c=kl.extractShouldJoin(b),o=c?kl.extractWidth(m):0;if(m=b,g&&this._onA11yChar.fire(fQ(d)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+e-o>h){if(i){let a=l,b=this._activeBuffer.x-o;for(this._activeBuffer.x=o,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),l=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),o>0&&l instanceof jV&&l.copyCellsFrom(a,b,0,o,!1);b<h;)a.setCellFromCodepoint(b++,0,1,k)}else if(this._activeBuffer.x=h-1,2===e)continue}if(c&&this._activeBuffer.x){let a=l.getWidth(this._activeBuffer.x-1)?1:2;l.addCodepointToCell(this._activeBuffer.x-a,d,e);for(let a=e-o;--a>=0;)l.setCellFromCodepoint(this._activeBuffer.x++,0,0,k);continue}if(j&&(l.insertCells(this._activeBuffer.x,e-o,this._activeBuffer.getNullCell(k)),2===l.getWidth(h-1)&&l.setCellFromCodepoint(h-1,0,1,k)),l.setCellFromCodepoint(this._activeBuffer.x++,d,e,k),e>0)for(;--e;)l.setCellFromCodepoint(this._activeBuffer.x++,0,0,k)}this._parser.precedingJoinState=m,this._activeBuffer.x<h&&c-b>0&&0===l.getWidth(this._activeBuffer.x)&&!l.hasContent(this._activeBuffer.x)&&l.setCellFromCodepoint(this._activeBuffer.x,0,1,k),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(a,b){return"t"!==a.final||a.prefix||a.intermediates?this._parser.registerCsiHandler(a,b):this._parser.registerCsiHandler(a,a=>!kE(a.params[0],this._optionsService.rawOptions.windowOptions)||b(a))}registerDcsHandler(a,b){return this._parser.registerDcsHandler(a,new kv(b))}registerEscHandler(a,b){return this._parser.registerEscHandler(a,b)}registerOscHandler(a,b){return this._parser.registerOscHandler(a,new kr(b))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(0===this._activeBuffer.x&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let a=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);a.hasWidth(this._activeBuffer.x)&&!a.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let a=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-a),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(a=this._bufferService.cols-1){this._activeBuffer.x=Math.min(a,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(a,b){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=a,this._activeBuffer.y=this._activeBuffer.scrollTop+b):(this._activeBuffer.x=a,this._activeBuffer.y=b),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(a,b){this._restrictCursor(),this._setCursor(this._activeBuffer.x+a,this._activeBuffer.y+b)}cursorUp(a){let b=this._activeBuffer.y-this._activeBuffer.scrollTop;return b>=0?this._moveCursor(0,-Math.min(b,a.params[0]||1)):this._moveCursor(0,-(a.params[0]||1)),!0}cursorDown(a){let b=this._activeBuffer.scrollBottom-this._activeBuffer.y;return b>=0?this._moveCursor(0,Math.min(b,a.params[0]||1)):this._moveCursor(0,a.params[0]||1),!0}cursorForward(a){return this._moveCursor(a.params[0]||1,0),!0}cursorBackward(a){return this._moveCursor(-(a.params[0]||1),0),!0}cursorNextLine(a){return this.cursorDown(a),this._activeBuffer.x=0,!0}cursorPrecedingLine(a){return this.cursorUp(a),this._activeBuffer.x=0,!0}cursorCharAbsolute(a){return this._setCursor((a.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(a){return this._setCursor(a.length>=2?(a.params[1]||1)-1:0,(a.params[0]||1)-1),!0}charPosAbsolute(a){return this._setCursor((a.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(a){return this._moveCursor(a.params[0]||1,0),!0}linePosAbsolute(a){return this._setCursor(this._activeBuffer.x,(a.params[0]||1)-1),!0}vPositionRelative(a){return this._moveCursor(0,a.params[0]||1),!0}hVPosition(a){return this.cursorPosition(a),!0}tabClear(a){let b=a.params[0];return 0===b?delete this._activeBuffer.tabs[this._activeBuffer.x]:3===b&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(a){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let b=a.params[0]||1;for(;b--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(a){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let b=a.params[0]||1;for(;b--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(a){let b=a.params[0];return 1===b&&(this._curAttrData.bg|=0x20000000),(2===b||0===b)&&(this._curAttrData.bg&=-0x20000001),!0}_eraseInBufferLine(a,b,c,d=!1,e=!1){let f=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);f.replaceCells(b,c,this._activeBuffer.getNullCell(this._eraseAttrData()),e),d&&(f.isWrapped=!1)}_resetBufferLine(a,b=!1){let c=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);c&&(c.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),b),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+a),c.isWrapped=!1)}eraseInDisplay(a,b=!1){let c;switch(this._restrictCursor(this._bufferService.cols),a.params[0]){case 0:for(c=this._activeBuffer.y,this._dirtyRowTracker.markDirty(c),this._eraseInBufferLine(c++,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,b);c<this._bufferService.rows;c++)this._resetBufferLine(c,b);this._dirtyRowTracker.markDirty(c);break;case 1:for(c=this._activeBuffer.y,this._dirtyRowTracker.markDirty(c),this._eraseInBufferLine(c,0,this._activeBuffer.x+1,!0,b),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(c+1).isWrapped=!1);c--;)this._resetBufferLine(c,b);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(c=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,c-1);c--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+c)?.getTrimmedLength(););for(;c>=0;c--)this._bufferService.scroll(this._eraseAttrData())}else{for(c=this._bufferService.rows,this._dirtyRowTracker.markDirty(c-1);c--;)this._resetBufferLine(c,b);this._dirtyRowTracker.markDirty(0)}break;case 3:let d=this._activeBuffer.lines.length-this._bufferService.rows;d>0&&(this._activeBuffer.lines.trimStart(d),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-d,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-d,0),this._onScroll.fire(0))}return!0}eraseInLine(a,b=!1){switch(this._restrictCursor(this._bufferService.cols),a.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,b);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,b);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,b)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(a){this._restrictCursor();let b=a.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let c=this._activeBuffer.ybase+this._activeBuffer.y,d=this._bufferService.rows-1-this._activeBuffer.scrollBottom,e=this._bufferService.rows-1+this._activeBuffer.ybase-d+1;for(;b--;)this._activeBuffer.lines.splice(e-1,1),this._activeBuffer.lines.splice(c,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(a){this._restrictCursor();let b=a.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let c=this._activeBuffer.ybase+this._activeBuffer.y,d;for(d=this._bufferService.rows-1-this._activeBuffer.scrollBottom,d=this._bufferService.rows-1+this._activeBuffer.ybase-d;b--;)this._activeBuffer.lines.splice(c,1),this._activeBuffer.lines.splice(d,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(a){this._restrictCursor();let b=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return b&&(b.insertCells(this._activeBuffer.x,a.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(a){this._restrictCursor();let b=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return b&&(b.deleteCells(this._activeBuffer.x,a.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(a){let b=a.params[0]||1;for(;b--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(a){let b=a.params[0]||1;for(;b--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(jT));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(a){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let b=a.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let c=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);c.deleteCells(0,b,this._activeBuffer.getNullCell(this._eraseAttrData())),c.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(a){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let b=a.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let c=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);c.insertCells(0,b,this._activeBuffer.getNullCell(this._eraseAttrData())),c.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(a){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let b=a.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let c=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);c.insertCells(this._activeBuffer.x,b,this._activeBuffer.getNullCell(this._eraseAttrData())),c.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(a){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let b=a.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let c=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);c.deleteCells(this._activeBuffer.x,b,this._activeBuffer.getNullCell(this._eraseAttrData())),c.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(a){this._restrictCursor();let b=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return b&&(b.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(a.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(a){let b=this._parser.precedingJoinState;if(!b)return!0;let c=a.params[0]||1,d=kl.extractWidth(b),e=this._activeBuffer.x-d,f=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(e),g=new Uint32Array(f.length*c),h=0;for(let a=0;a<f.length;){let b=f.codePointAt(a)||0;g[h++]=b,a+=b>65535?2:1}let i=h;for(let a=1;a<c;++a)g.copyWithin(i,0,h),i+=h;return this.print(g,0,i),!0}sendDeviceAttributesPrimary(a){return a.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(iD.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(iD.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(a){return a.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(iD.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(iD.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(a.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(iD.ESC+"[>83;40003;0c")),!0}_is(a){return 0===(this._optionsService.rawOptions.termName+"").indexOf(a)}setMode(a){for(let b=0;b<a.length;b++)switch(a.params[b]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(a){for(let b=0;b<a.length;b++)switch(a.params[b]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,jZ),this._charsetService.setgCharset(1,jZ),this._charsetService.setgCharset(2,jZ),this._charsetService.setgCharset(3,jZ);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol="X10";break;case 1e3:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="SGR_PIXELS";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0}return!0}resetMode(a){for(let b=0;b<a.length;b++)switch(a.params[b]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(a){for(let b=0;b<a.length;b++)switch(a.params[b]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol="NONE";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug("DECRST 1005 not supported (see #2507)");break;case 1006:case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),1049===a.params[b]&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0)}return!0}requestMode(a,b){let c,d,e,f;(d=c||={})[d.NOT_RECOGNIZED=0]="NOT_RECOGNIZED",d[d.SET=1]="SET",d[d.RESET=2]="RESET",d[d.PERMANENTLY_SET=3]="PERMANENTLY_SET",d[d.PERMANENTLY_RESET=4]="PERMANENTLY_RESET";let g=this._coreService.decPrivateModes,{activeProtocol:h,activeEncoding:i}=this._coreMouseService,j=this._coreService,{buffers:k,cols:l}=this._bufferService,{active:m,alt:n}=k,o=this._optionsService.rawOptions,p=a=>a?1:2,q=a.params[0];return e=q,f=b?2===q?4:4===q?p(j.modes.insertMode):12===q?3:20===q?p(o.convertEol):0:1===q?p(g.applicationCursorKeys):3===q?o.windowOptions.setWinLines?80===l?2:+(132===l):0:6===q?p(g.origin):7===q?p(g.wraparound):8===q?3:9===q?p("X10"===h):12===q?p(o.cursorBlink):25===q?p(!j.isCursorHidden):45===q?p(g.reverseWraparound):66===q?p(g.applicationKeypad):67===q?4:1e3===q?p("VT200"===h):1002===q?p("DRAG"===h):1003===q?p("ANY"===h):1004===q?p(g.sendFocus):1005===q?4:1006===q?p("SGR"===i):1015===q?4:1016===q?p("SGR_PIXELS"===i):1048===q?1:47===q||1047===q||1049===q?p(m===n):2004===q?p(g.bracketedPasteMode):2026===q?p(g.synchronizedOutput):0,j.triggerDataEvent(`${iD.ESC}[${b?"":"?"}${e};${f}$y`),!0}_updateAttrColor(a,b,c,d,e){return 2===b?(a|=0x3000000,a&=-0x1000000,a|=fU.fromColorRGB([c,d,e])):5===b&&(a&=-0x3000100,a|=0x2000000|255&c),a}_extractColor(a,b,c){let d=[0,0,-1,0,0,0],e=0,f=0;do{if(d[f+e]=a.params[b+f],a.hasSubParams(b+f)){let c=a.getSubParams(b+f),g=0;do 5===d[1]&&(e=1),d[f+g+1+e]=c[g];while(++g<c.length&&g+f+1+e<d.length);break}if(5===d[1]&&f+e>=2||2===d[1]&&f+e>=5)break;d[1]&&(e=1)}while(++f+b<a.length&&f+e<d.length);for(let a=2;a<d.length;++a)-1===d[a]&&(d[a]=0);switch(d[0]){case 38:c.fg=this._updateAttrColor(c.fg,d[1],d[3],d[4],d[5]);break;case 48:c.bg=this._updateAttrColor(c.bg,d[1],d[3],d[4],d[5]);break;case 58:c.extended=c.extended.clone(),c.extended.underlineColor=this._updateAttrColor(c.extended.underlineColor,d[1],d[3],d[4],d[5])}return f}_processUnderline(a,b){b.extended=b.extended.clone(),(!~a||a>5)&&(a=1),b.extended.underlineStyle=a,b.fg|=0x10000000,0===a&&(b.fg&=-0x10000001),b.updateExtended()}_processSGR0(a){a.fg=jT.fg,a.bg=jT.bg,a.extended=a.extended.clone(),a.extended.underlineStyle=0,a.extended.underlineColor&=-0x4000000,a.updateExtended()}charAttributes(a){if(1===a.length&&0===a.params[0])return this._processSGR0(this._curAttrData),!0;let b=a.length,c,d=this._curAttrData;for(let e=0;e<b;e++)(c=a.params[e])>=30&&c<=37?(d.fg&=-0x3000100,d.fg|=0x1000000|c-30):c>=40&&c<=47?(d.bg&=-0x3000100,d.bg|=0x1000000|c-40):c>=90&&c<=97?(d.fg&=-0x3000100,d.fg|=0x1000000|c-90|8):c>=100&&c<=107?(d.bg&=-0x3000100,d.bg|=0x1000000|c-100|8):0===c?this._processSGR0(d):1===c?d.fg|=0x8000000:3===c?d.bg|=0x4000000:4===c?(d.fg|=0x10000000,this._processUnderline(a.hasSubParams(e)?a.getSubParams(e)[0]:1,d)):5===c?d.fg|=0x20000000:7===c?d.fg|=0x4000000:8===c?d.fg|=0x40000000:9===c?d.fg|=0x80000000:2===c?d.bg|=0x8000000:21===c?this._processUnderline(2,d):22===c?(d.fg&=-0x8000001,d.bg&=-0x8000001):23===c?d.bg&=-0x4000001:24===c?(d.fg&=-0x10000001,this._processUnderline(0,d)):25===c?d.fg&=-0x20000001:27===c?d.fg&=-0x4000001:28===c?d.fg&=-0x40000001:29===c?d.fg&=0x7fffffff:39===c?(d.fg&=-0x4000000,d.fg|=0xffffff&jT.fg):49===c?(d.bg&=-0x4000000,d.bg|=0xffffff&jT.bg):38===c||48===c||58===c?e+=this._extractColor(a,e,d):53===c?d.bg|=0x40000000:55===c?d.bg&=-0x40000001:59===c?(d.extended=d.extended.clone(),d.extended.underlineColor=-1,d.updateExtended()):100===c?(d.fg&=-0x4000000,d.fg|=0xffffff&jT.fg,d.bg&=-0x4000000,d.bg|=0xffffff&jT.bg):this._logService.debug("Unknown SGR attribute: %d.",c);return!0}deviceStatus(a){switch(a.params[0]){case 5:this._coreService.triggerDataEvent(`${iD.ESC}[0n`);break;case 6:let b=this._activeBuffer.y+1,c=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${iD.ESC}[${b};${c}R`)}return!0}deviceStatusPrivate(a){if(6===a.params[0]){let a=this._activeBuffer.y+1,b=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${iD.ESC}[?${a};${b}R`)}return!0}softReset(a){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=jT.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(a){let b=0===a.length?1:a.params[0];if(0===b)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(b){case 1:case 2:this._coreService.decPrivateModes.cursorStyle="block";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle="underline";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle="bar"}this._coreService.decPrivateModes.cursorBlink=b%2==1}return!0}setScrollRegion(a){let b=a.params[0]||1,c;return(a.length<2||(c=a.params[1])>this._bufferService.rows||0===c)&&(c=this._bufferService.rows),c>b&&(this._activeBuffer.scrollTop=b-1,this._activeBuffer.scrollBottom=c-1,this._setCursor(0,0)),!0}windowOptions(a){if(!kE(a.params[0],this._optionsService.rawOptions.windowOptions))return!0;let b=a.length>1?a.params[1]:0;switch(a.params[0]){case 14:2!==b&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${iD.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(0===b||2===b)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),(0===b||1===b)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:(0===b||2===b)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(0===b||1===b)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(a){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(a){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(a){return this._windowTitle=a,this._onTitleChange.fire(a),!0}setIconName(a){return this._iconName=a,!0}setOrReportIndexedColor(a){let b=[],c=a.split(";");for(;c.length>1;){let a=c.shift(),d=c.shift();if(/^\d+$/.exec(a)){let c=parseInt(a);if(kI(c))if("?"===d)b.push({type:0,index:c});else{let a=kB(d);a&&b.push({type:1,index:c,color:a})}}}return b.length&&this._onColor.fire(b),!0}setHyperlink(a){let b=a.indexOf(";");if(-1===b)return!0;let c=a.slice(0,b).trim(),d=a.slice(b+1);return d?this._createHyperlink(c,d):!c.trim()&&this._finishHyperlink()}_createHyperlink(a,b){this._getCurrentLinkId()&&this._finishHyperlink();let c=a.split(":"),d,e=c.findIndex(a=>a.startsWith("id="));return -1!==e&&(d=c[e].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:d,uri:b}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(a,b){let c=a.split(";");for(let a=0;a<c.length&&!(b>=this._specialColors.length);++a,++b)if("?"===c[a])this._onColor.fire([{type:0,index:this._specialColors[b]}]);else{let d=kB(c[a]);d&&this._onColor.fire([{type:1,index:this._specialColors[b],color:d}])}return!0}setOrReportFgColor(a){return this._setOrReportSpecialColor(a,0)}setOrReportBgColor(a){return this._setOrReportSpecialColor(a,1)}setOrReportCursorColor(a){return this._setOrReportSpecialColor(a,2)}restoreIndexedColor(a){if(!a)return this._onColor.fire([{type:2}]),!0;let b=[],c=a.split(";");for(let a=0;a<c.length;++a)if(/^\d+$/.exec(c[a])){let d=parseInt(c[a]);kI(d)&&b.push({type:2,index:d})}return b.length&&this._onColor.fire(b),!0}restoreFgColor(a){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(a){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(a){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,jZ),!0}selectCharset(a){return 2!==a.length?this.selectDefaultCharset():"/"===a[0]||this._charsetService.setgCharset(kD[a[0]],jY[a[1]]||jZ),!0}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let a=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,a,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=jT.clone(),this._eraseAttrDataInternal=jT.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-0x4000000,this._eraseAttrDataInternal.bg|=0x3ffffff&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(a){return this._charsetService.setgLevel(a),!0}screenAlignmentPattern(){let a=new fW;a.content=4194373,a.fg=this._curAttrData.fg,a.bg=this._curAttrData.bg,this._setCursor(0,0);for(let b=0;b<this._bufferService.rows;++b){let c=this._activeBuffer.ybase+this._activeBuffer.y+b,d=this._activeBuffer.lines.get(c);d&&(d.fill(a),d.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(a,b){let c=a=>(this._coreService.triggerDataEvent(`${iD.ESC}${a}${iD.ESC}\\`),!0),d=this._bufferService.buffer,e=this._optionsService.rawOptions;return c('"q'===a?`P1$r${+!!this._curAttrData.isProtected()}"q`:'"p'===a?'P1$r61;1"p':"r"===a?`P1$r${d.scrollTop+1};${d.scrollBottom+1}r`:"m"===a?"P1$r0m":" q"===a?`P1$r${({block:2,underline:4,bar:6})[e.cursorStyle]-!!e.cursorBlink} q`:"P0$r")}markRangeDirty(a,b){this._dirtyRowTracker.markRangeDirty(a,b)}},kH=class{constructor(a){this._bufferService=a,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(a){a<this.start?this.start=a:a>this.end&&(this.end=a)}markRangeDirty(a,b){a>b&&(kF=a,a=b,b=kF),a<this.start&&(this.start=a),b>this.end&&(this.end=b)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function kI(a){return 0<=a&&a<256}kH=fH([fI(0,f_)],kH);var kJ=class extends gy{constructor(a){super(),this._action=a,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new gZ),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(a,b){let c;if(void 0!==b&&this._syncCalls>b){this._syncCalls=0;return}if(this._pendingData+=a.length,this._writeBuffer.push(a),this._callbacks.push(void 0),this._syncCalls++,!this._isSyncWriting){for(this._isSyncWriting=!0;c=this._writeBuffer.shift();){this._action(c);let a=this._callbacks.shift();a&&a()}this._pendingData=0,this._bufferOffset=0x7fffffff,this._isSyncWriting=!1,this._syncCalls=0}}write(a,b){if(this._pendingData>5e7)throw Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=a.length,this._writeBuffer.push(a),this._callbacks.push(b),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=a.length,this._writeBuffer.push(a),this._callbacks.push(b)}_innerWrite(a=0,b=!0){let c=a||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let a=this._writeBuffer[this._bufferOffset],d=this._action(a,b);if(d){let a=a=>performance.now()-c>=12?setTimeout(()=>this._innerWrite(0,a)):this._innerWrite(c,a);d.catch(a=>(queueMicrotask(()=>{throw a}),Promise.resolve(!1))).then(a);return}let e=this._callbacks[this._bufferOffset];if(e&&e(),this._bufferOffset++,this._pendingData-=a.length,performance.now()-c>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},kK=class{constructor(a){this._bufferService=a,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(a){let b=this._bufferService.buffer;if(void 0===a.id){let c=b.addMarker(b.ybase+b.y),d={data:a,id:this._nextId++,lines:[c]};return c.onDispose(()=>this._removeMarkerFromLink(d,c)),this._dataByLinkId.set(d.id,d),d.id}let c=this._getEntryIdKey(a),d=this._entriesWithId.get(c);if(d)return this.addLineToLink(d.id,b.ybase+b.y),d.id;let e=b.addMarker(b.ybase+b.y),f={id:this._nextId++,key:this._getEntryIdKey(a),data:a,lines:[e]};return e.onDispose(()=>this._removeMarkerFromLink(f,e)),this._entriesWithId.set(f.key,f),this._dataByLinkId.set(f.id,f),f.id}addLineToLink(a,b){let c=this._dataByLinkId.get(a);if(c&&c.lines.every(a=>a.line!==b)){let a=this._bufferService.buffer.addMarker(b);c.lines.push(a),a.onDispose(()=>this._removeMarkerFromLink(c,a))}}getLinkData(a){return this._dataByLinkId.get(a)?.data}_getEntryIdKey(a){return`${a.id};;${a.uri}`}_removeMarkerFromLink(a,b){let c=a.lines.indexOf(b);-1!==c&&(a.lines.splice(c,1),0===a.lines.length&&(void 0!==a.data.id&&this._entriesWithId.delete(a.key),this._dataByLinkId.delete(a.id)))}};kK=fH([fI(0,f_)],kK);var kL=!1,kM=class extends gy{constructor(a){super(),this._windowsWrappingHeuristics=this._register(new gz),this._onBinary=this._register(new gZ),this.onBinary=this._onBinary.event,this._onData=this._register(new gZ),this.onData=this._onData.event,this._onLineFeed=this._register(new gZ),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new gZ),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new gZ),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new gZ),this._instantiationService=new jP,this.optionsService=this._register(new j3(a)),this._instantiationService.setService(f5,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(j0)),this._instantiationService.setService(f_,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(jR)),this._instantiationService.setService(f4,this._logService),this.coreService=this._register(this._instantiationService.createInstance(j7)),this._instantiationService.setService(f1,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(kc)),this._instantiationService.setService(f0,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(kl)),this._instantiationService.setService(f7,this.unicodeService),this._charsetService=this._instantiationService.createInstance(km),this._instantiationService.setService(f2,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(kK),this._instantiationService.setService(f6,this._oscLinkService),this._inputHandler=this._register(new kG(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(gS.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(gS.forward(this._bufferService.onResize,this._onResize)),this._register(gS.forward(this.coreService.onData,this._onData)),this._register(gS.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new kJ((a,b)=>this._inputHandler.parse(a,b))),this._register(gS.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new gZ),this._onScroll.event(a=>{this._onScrollApi?.fire(a.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(a){for(let b in a)this.optionsService.options[b]=a[b]}write(a,b){this._writeBuffer.write(a,b)}writeSync(a,b){this._logService.logLevel<=3&&!kL&&(this._logService.warn("writeSync is unreliable and will be removed soon."),kL=!0),this._writeBuffer.writeSync(a,b)}input(a,b=!0){this.coreService.triggerDataEvent(a,b)}resize(a,b){isNaN(a)||isNaN(b)||(a=Math.max(a,2),b=Math.max(b,1),this._bufferService.resize(a,b))}scroll(a,b=!1){this._bufferService.scroll(a,b)}scrollLines(a,b){this._bufferService.scrollLines(a,b)}scrollPages(a){this.scrollLines(a*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(a){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(a){let b=a-this._bufferService.buffer.ydisp;0!==b&&this.scrollLines(b)}registerEscHandler(a,b){return this._inputHandler.registerEscHandler(a,b)}registerDcsHandler(a,b){return this._inputHandler.registerDcsHandler(a,b)}registerCsiHandler(a,b){return this._inputHandler.registerCsiHandler(a,b)}registerOscHandler(a,b){return this._inputHandler.registerOscHandler(a,b)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let a=!1,b=this.optionsService.rawOptions.windowsPty;b&&void 0!==b.buildNumber&&void 0!==b.buildNumber?a="conpty"===b.backend&&b.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(a=!0),a?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let a=[];a.push(this.onLineFeed(kn.bind(null,this._bufferService))),a.push(this.registerCsiHandler({final:"H"},()=>(kn(this._bufferService),!1))),this._windowsWrappingHeuristics.value=gv(()=>{for(let b of a)b.dispose()})}}},kN={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']},kO=0,kP=class{constructor(a){this._getKey=a,this._array=[],this._insertedValues=[],this._flushInsertedTask=new js,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new js,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(a){this._flushCleanupDeleted(),0===this._insertedValues.length&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(a)}_flushInserted(){let a=this._insertedValues.sort((a,b)=>this._getKey(a)-this._getKey(b)),b=0,c=0,d=Array(this._array.length+this._insertedValues.length);for(let e=0;e<d.length;e++)c>=this._array.length||this._getKey(a[b])<=this._getKey(this._array[c])?(d[e]=a[b],b++):d[e]=this._array[c++];this._array=d,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(a){if(this._flushCleanupInserted(),0===this._array.length)return!1;let b=this._getKey(a);if(void 0===b||-1===(kO=this._search(b))||this._getKey(this._array[kO])!==b)return!1;do if(this._array[kO]===a)return 0===this._deletedIndices.length&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(kO),!0;while(++kO<this._array.length&&this._getKey(this._array[kO])===b);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let a=this._deletedIndices.sort((a,b)=>a-b),b=0,c=Array(this._array.length-a.length),d=0;for(let e=0;e<this._array.length;e++)a[b]===e?b++:c[d++]=this._array[e];this._array=c,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(a){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),0!==this._array.length&&!((kO=this._search(a))<0||kO>=this._array.length)&&this._getKey(this._array[kO])===a)do yield this._array[kO];while(++kO<this._array.length&&this._getKey(this._array[kO])===a)}forEachByKey(a,b){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),0!==this._array.length&&!((kO=this._search(a))<0||kO>=this._array.length)&&this._getKey(this._array[kO])===a)do b(this._array[kO]);while(++kO<this._array.length&&this._getKey(this._array[kO])===a)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(a){let b=0,c=this._array.length-1;for(;c>=b;){let d=b+c>>1,e=this._getKey(this._array[d]);if(e>a)c=d-1;else if(e<a)b=d+1;else{for(;d>0&&this._getKey(this._array[d-1])===a;)d--;return d}}return b}},kQ=0,kR=0,kS=class extends gy{constructor(){super(),this._decorations=new kP(a=>a?.marker.line),this._onDecorationRegistered=this._register(new gZ),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new gZ),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(gv(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(a){if(a.marker.isDisposed)return;let b=new kT(a);if(b){let a=b.marker.onDispose(()=>b.dispose()),c=b.onDispose(()=>{c.dispose(),b&&(this._decorations.delete(b)&&this._onDecorationRemoved.fire(b),a.dispose())});this._decorations.insert(b),this._onDecorationRegistered.fire(b)}return b}reset(){for(let a of this._decorations.values())a.dispose();this._decorations.clear()}*getDecorationsAtCell(a,b,c){let d=0,e=0;for(let f of this._decorations.getKeyIterator(b))e=(d=f.options.x??0)+(f.options.width??1),a>=d&&a<e&&(!c||(f.options.layer??"bottom")===c)&&(yield f)}forEachDecorationAtCell(a,b,c,d){this._decorations.forEachByKey(b,b=>{kR=(kQ=b.options.x??0)+(b.options.width??1),a>=kQ&&a<kR&&(!c||(b.options.layer??"bottom")===c)&&d(b)})}},kT=class extends gx{constructor(a){super(),this.options=a,this.onRenderEmitter=this.add(new gZ),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new gZ),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=a.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}get backgroundColorRGB(){return null===this._cachedBg&&(this.options.backgroundColor?this._cachedBg=ke.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return null===this._cachedFg&&(this.options.foregroundColor?this._cachedFg=ke.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},kU=class{constructor(a,b=1e3){this._renderCallback=a,this._debounceThresholdMS=b,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(a,b,c){this._rowCount=c,a=void 0!==a?a:0,b=void 0!==b?b:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,a):a,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,b):b;let d=performance.now();if(d-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=d,this._innerRefresh();else if(!this._additionalRefreshRequested){let a=d-this._lastRefreshMs,b=this._debounceThresholdMS-a;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},b)}}_innerRefresh(){if(void 0===this._rowStart||void 0===this._rowEnd||void 0===this._rowCount)return;let a=Math.max(this._rowStart,0),b=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(a,b)}},kV=class extends gy{constructor(a,b,c,d){super(),this._terminal=a,this._coreBrowserService=c,this._renderService=d,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="";let e=this._coreBrowserService.mainDocument;this._accessibilityContainer=e.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=e.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let a=0;a<this._terminal.rows;a++)this._rowElements[a]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[a]);if(this._topBoundaryFocusListener=a=>this._handleBoundaryFocus(a,0),this._bottomBoundaryFocusListener=a=>this._handleBoundaryFocus(a,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=e.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new kU(this._renderRows.bind(this))),!this._terminal.element)throw Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this._register(this._terminal.onResize(a=>this._handleResize(a.rows))),this._register(this._terminal.onRender(a=>this._refreshRows(a.start,a.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(a=>this._handleChar(a))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`
25
+ `))),this._register(this._terminal.onA11yTab(a=>this._handleTab(a))),this._register(this._terminal.onKey(a=>this._handleKey(a.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(h$(e,"selectionchange",()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(gv(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(a){for(let b=0;b<a;b++)this._handleChar(" ")}_handleChar(a){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==a&&(this._charsToAnnounce+=a):this._charsToAnnounce+=a,a===`
26
+ `&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=fM.get())))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(a){this._clearLiveRegion(),/\p{Control}/u.test(a)||this._charsToConsume.push(a)}_refreshRows(a,b){this._liveRegionDebouncer.refresh(a,b,this._terminal.rows)}_renderRows(a,b){let c=this._terminal.buffer,d=c.lines.length.toString();for(let e=a;e<=b;e++){let a=c.lines.get(c.ydisp+e),b=[],f=a?.translateToString(!0,void 0,void 0,b)||"",g=(c.ydisp+e+1).toString(),h=this._rowElements[e];h&&(0===f.length?(h.textContent="\xa0",this._rowColumns.set(h,[0,1])):(h.textContent=f,this._rowColumns.set(h,b)),h.setAttribute("aria-posinset",g),h.setAttribute("aria-setsize",d),this._alignRowWidth(h))}this._announceCharacters()}_announceCharacters(){0!==this._charsToAnnounce.length&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(a,b){let c,d,e=a.target,f=this._rowElements[0===b?1:this._rowElements.length-2];if(e.getAttribute("aria-posinset")!==(0===b?"1":`${this._terminal.buffer.lines.length}`)&&a.relatedTarget===f){if(0===b?(c=e,d=this._rowElements.pop(),this._rowContainer.removeChild(d)):(c=this._rowElements.shift(),d=e,this._rowContainer.removeChild(c)),c.removeEventListener("focus",this._topBoundaryFocusListener),d.removeEventListener("focus",this._bottomBoundaryFocusListener),0===b){let a=this._createAccessibilityTreeNode();this._rowElements.unshift(a),this._rowContainer.insertAdjacentElement("afterbegin",a)}else{let a=this._createAccessibilityTreeNode();this._rowElements.push(a),this._rowContainer.appendChild(a)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(0===b?-1:1),this._rowElements[0===b?1:this._rowElements.length-2].focus(),a.preventDefault(),a.stopImmediatePropagation()}}_handleSelectionChange(){if(0===this._rowElements.length)return;let a=this._coreBrowserService.mainDocument.getSelection();if(!a)return;if(a.isCollapsed){this._rowContainer.contains(a.anchorNode)&&this._terminal.clearSelection();return}if(!a.anchorNode||!a.focusNode)return void console.error("anchorNode and/or focusNode are null");let b={node:a.anchorNode,offset:a.anchorOffset},c={node:a.focusNode,offset:a.focusOffset};if((b.node.compareDocumentPosition(c.node)&Node.DOCUMENT_POSITION_PRECEDING||b.node===c.node&&b.offset>c.offset)&&([b,c]=[c,b]),b.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(b={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(b.node))return;let d=this._rowElements.slice(-1)[0];if(c.node.compareDocumentPosition(d)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(c={node:d,offset:d.textContent?.length??0}),!this._rowContainer.contains(c.node))return;let e=({node:a,offset:b})=>{let c=a instanceof Text?a.parentNode:a,d=parseInt(c?.getAttribute("aria-posinset"),10)-1;if(isNaN(d))return console.warn("row is invalid. Race condition?"),null;let e=this._rowColumns.get(c);if(!e)return console.warn("columns is null. Race condition?"),null;let f=b<e.length?e[b]:e.slice(-1)[0]+1;return f>=this._terminal.cols&&(++d,f=0),{row:d,column:f}},f=e(b),g=e(c);if(!(!f||!g)){if(f.row>g.row||f.row===g.row&&f.column>=g.column)throw Error("invalid range");this._terminal.select(f.column,f.row,(g.row-f.row)*this._terminal.cols-f.column+g.column)}}_handleResize(a){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let a=this._rowContainer.children.length;a<this._terminal.rows;a++)this._rowElements[a]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[a]);for(;this._rowElements.length>a;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let a=this._coreBrowserService.mainDocument.createElement("div");return a.setAttribute("role","listitem"),a.tabIndex=-1,this._refreshRowDimensions(a),a}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let a=0;a<this._terminal.rows;a++)this._refreshRowDimensions(this._rowElements[a]),this._alignRowWidth(this._rowElements[a])}}_refreshRowDimensions(a){a.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(a){a.style.transform="";let b=a.getBoundingClientRect().width,c=this._rowColumns.get(a)?.slice(-1)?.[0];if(!c)return;let d=c*this._renderService.dimensions.css.cell.width;a.style.transform=`scaleX(${d/b})`}};kV=fH([fI(1,f3),fI(2,gb),fI(3,gd)],kV);var kW=class extends gy{constructor(a,b,c,d,e){super(),this._element=a,this._mouseService=b,this._renderService=c,this._bufferService=d,this._linkProviderService=e,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new gZ),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new gZ),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(gv(()=>{gu(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(h$(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(h$(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register(h$(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register(h$(this._element,"mouseup",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(a){this._lastMouseEvent=a;let b=this._positionFromMouseEvent(a,this._element,this._mouseService);if(!b)return;this._isMouseOut=!1;let c=a.composedPath();for(let a=0;a<c.length;a++){let b=c[a];if(b.classList.contains("xterm"))break;if(b.classList.contains("xterm-hover"))return}this._lastBufferCell&&b.x===this._lastBufferCell.x&&b.y===this._lastBufferCell.y||(this._handleHover(b),this._lastBufferCell=b)}_handleHover(a){if(this._activeLine!==a.y||this._wasResized){this._clearCurrentLink(),this._askForLink(a,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,a)||(this._clearCurrentLink(),this._askForLink(a,!0))}_askForLink(a,b){this._activeProviderReplies&&b||(this._activeProviderReplies?.forEach(a=>{a?.forEach(a=>{a.link.dispose&&a.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=a.y);let c=!1;for(let[d,e]of this._linkProviderService.linkProviders.entries())b?this._activeProviderReplies?.get(d)&&(c=this._checkLinkProviderResult(d,a,c)):e.provideLinks(a.y,b=>{if(this._isMouseOut)return;let e=b?.map(a=>({link:a}));this._activeProviderReplies?.set(d,e),c=this._checkLinkProviderResult(d,a,c),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(a.y,this._activeProviderReplies)})}_removeIntersectingLinks(a,b){let c=new Set;for(let d=0;d<b.size;d++){let e=b.get(d);if(e)for(let b=0;b<e.length;b++){let d=e[b],f=d.link.range.start.y<a?0:d.link.range.start.x,g=d.link.range.end.y>a?this._bufferService.cols:d.link.range.end.x;for(let a=f;a<=g;a++){if(c.has(a)){e.splice(b--,1);break}c.add(a)}}}}_checkLinkProviderResult(a,b,c){if(!this._activeProviderReplies)return c;let d=this._activeProviderReplies.get(a),e=!1;for(let b=0;b<a;b++)(!this._activeProviderReplies.has(b)||this._activeProviderReplies.get(b))&&(e=!0);if(!e&&d){let a=d.find(a=>this._linkAtPosition(a.link,b));a&&(c=!0,this._handleNewLink(a))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!c)for(let a=0;a<this._activeProviderReplies.size;a++){let d=this._activeProviderReplies.get(a)?.find(a=>this._linkAtPosition(a.link,b));if(d){c=!0,this._handleNewLink(d);break}}return c}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(a){var b,c;if(!this._currentLink)return;let d=this._positionFromMouseEvent(a,this._element,this._mouseService);d&&this._mouseDownLink&&(b=this._mouseDownLink.link,c=this._currentLink.link,b.text===c.text&&b.range.start.x===c.range.start.x&&b.range.start.y===c.range.start.y&&b.range.end.x===c.range.end.x&&b.range.end.y===c.range.end.y)&&this._linkAtPosition(this._currentLink.link,d)&&this._currentLink.link.activate(a,this._currentLink.link.text)}_clearCurrentLink(a,b){this._currentLink&&this._lastMouseEvent&&(!a||!b||this._currentLink.link.range.start.y>=a&&this._currentLink.link.range.end.y<=b)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,gu(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(a){if(!this._lastMouseEvent)return;let b=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);b&&this._linkAtPosition(a.link,b)&&(this._currentLink=a,this._currentLink.state={decorations:{underline:void 0===a.link.decorations||a.link.decorations.underline,pointerCursor:void 0===a.link.decorations||a.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,a.link,this._lastMouseEvent),a.link.decorations={},Object.defineProperties(a.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:a=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==a&&(this._currentLink.state.decorations.pointerCursor=a,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",a))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:b=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==b&&(this._currentLink.state.decorations.underline=b,this._currentLink.state.isHovered&&this._fireUnderlineEvent(a.link,b))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(a=>{if(!this._currentLink)return;let b=0===a.start?0:a.start+1+this._bufferService.buffer.ydisp,c=this._bufferService.buffer.ydisp+1+a.end;if(this._currentLink.link.range.start.y>=b&&this._currentLink.link.range.end.y<=c&&(this._clearCurrentLink(b,c),this._lastMouseEvent)){let a=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);a&&this._askForLink(a,!1)}})))}_linkHover(a,b,c){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(b,!0),this._currentLink.state.decorations.pointerCursor&&a.classList.add("xterm-cursor-pointer")),b.hover&&b.hover(c,b.text)}_fireUnderlineEvent(a,b){let c=a.range,d=this._bufferService.buffer.ydisp,e=this._createLinkUnderlineEvent(c.start.x-1,c.start.y-d-1,c.end.x,c.end.y-d-1,void 0);(b?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(e)}_linkLeave(a,b,c){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(b,!1),this._currentLink.state.decorations.pointerCursor&&a.classList.remove("xterm-cursor-pointer")),b.leave&&b.leave(c,b.text)}_linkAtPosition(a,b){let c=a.range.start.y*this._bufferService.cols+a.range.start.x,d=a.range.end.y*this._bufferService.cols+a.range.end.x,e=b.y*this._bufferService.cols+b.x;return c<=e&&e<=d}_positionFromMouseEvent(a,b,c){let d=c.getCoords(a,b,this._bufferService.cols,this._bufferService.rows);if(d)return{x:d[0],y:d[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(a,b,c,d,e){return{x1:a,y1:b,x2:c,y2:d,cols:this._bufferService.cols,fg:e}}};kW=fH([fI(1,gc),fI(2,gd),fI(3,f_),fI(4,gh)],kW);var kX=class extends kM{constructor(a={}){super(a),this._linkifier=this._register(new gz),this.browser=jb,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new gz),this._onCursorMove=this._register(new gZ),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new gZ),this.onKey=this._onKey.event,this._onRender=this._register(new gZ),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new gZ),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new gZ),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new gZ),this.onBell=this._onBell.event,this._onFocus=this._register(new gZ),this._onBlur=this._register(new gZ),this._onA11yCharEmitter=this._register(new gZ),this._onA11yTabEmitter=this._register(new gZ),this._onWillOpen=this._register(new gZ),this._setup(),this._decorationService=this._instantiationService.createInstance(kS),this._instantiationService.setService(f8,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(i7),this._instantiationService.setService(gh,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(f9)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(a=>this.refresh(a?.start??0,a?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(a=>this._reportWindowsOptions(a))),this._register(this._inputHandler.onColor(a=>this._handleColorEvent(a))),this._register(gS.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(gS.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(gS.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(gS.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(a=>this._afterResize(a.cols,a.rows))),this._register(gv(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(a){if(this._themeService)for(let b of a){let a,c="";switch(b.index){case 256:a="foreground",c="10";break;case 257:a="background",c="11";break;case 258:a="cursor",c="12";break;default:a="ansi",c="4;"+b.index}switch(b.type){case 0:let d=kd.toColorRGB("ansi"===a?this._themeService.colors.ansi[b.index]:this._themeService.colors[a]);this.coreService.triggerDataEvent(`${iD.ESC}]${c};${function(a,b=16){let[c,d,e]=a;return`rgb:${kC(c,b)}/${kC(d,b)}/${kC(e,b)}`}(d)}${iF.ST}`);break;case 1:if("ansi"===a)this._themeService.modifyColors(a=>a.ansi[b.index]=iG.toColor(...b.color));else{let c=a;this._themeService.modifyColors(a=>a[c]=iG.toColor(...b.color))}break;case 2:this._themeService.restoreColor(b.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(a){a?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(kV,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(a){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(iD.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(iD.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let a=this.buffer.ybase+this.buffer.y,b=this.buffer.lines.get(a);if(!b)return;let c=Math.min(this.buffer.x,this.cols-1),d=this._renderService.dimensions.css.cell.height,e=b.getWidth(c),f=this._renderService.dimensions.css.cell.width*e,g=this.buffer.y*this._renderService.dimensions.css.cell.height,h=c*this._renderService.dimensions.css.cell.width;this.textarea.style.left=h+"px",this.textarea.style.top=g+"px",this.textarea.style.width=f+"px",this.textarea.style.height=d+"px",this.textarea.style.lineHeight=d+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register(h$(this.element,"copy",a=>{var b;this.hasSelection()&&(b=this._selectionService,a.clipboardData&&a.clipboardData.setData("text/plain",b.selectionText),a.preventDefault())}));let a=a=>{var b,c,d;return b=this.textarea,c=this.coreService,d=this.optionsService,void(a.stopPropagation(),a.clipboardData&&fN(a.clipboardData.getData("text/plain"),b,c,d))};this._register(h$(this.textarea,"paste",a)),this._register(h$(this.element,"paste",a)),jf?this._register(h$(this.element,"mousedown",a=>{2===a.button&&fP(a,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(h$(this.element,"contextmenu",a=>{fP(a,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),jn&&this._register(h$(this.element,"auxclick",a=>{1===a.button&&fO(a,this.textarea,this.screenElement)}))}_bindKeys(){this._register(h$(this.textarea,"keyup",a=>this._keyUp(a),!0)),this._register(h$(this.textarea,"keydown",a=>this._keyDown(a),!0)),this._register(h$(this.textarea,"keypress",a=>this._keyPress(a),!0)),this._register(h$(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this._register(h$(this.textarea,"compositionupdate",a=>this._compositionHelper.compositionupdate(a))),this._register(h$(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this._register(h$(this.textarea,"input",a=>this._inputEvent(a),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(a){if(!a)throw Error("Terminal requires a parent element.");if(a.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=a.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),a.appendChild(this.element);let b=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),b.appendChild(this._viewportElement),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._register(h$(this.screenElement,"mousemove",a=>this.updateCursorStyle(a))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),b.appendChild(this.screenElement);let c=this.textarea=this._document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",fK.get()),jo||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange("disableStdin",()=>c.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(i5,this.textarea,a.ownerDocument.defaultView??window,this._document??"u">typeof window?window.document:null)),this._instantiationService.setService(gb,this._coreBrowserService),this._register(h$(this.textarea,"focus",a=>this._handleTextAreaFocus(a))),this._register(h$(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(i1,this._document,this._helperContainer),this._instantiationService.setService(ga,this._charSizeService),this._themeService=this._instantiationService.createInstance(jM),this._instantiationService.setService(gg,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(iP),this._instantiationService.setService(gf,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(ju,this.rows,this.screenElement)),this._instantiationService.setService(gd,this._renderService),this._register(this._renderService.onRenderedViewportChange(a=>this._onRender.fire(a))),this.onResize(a=>this._renderService.resize(a.cols,a.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(iy,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(i9),this._instantiationService.setService(gc,this._mouseService);let d=this._linkifier.value=this._register(this._instantiationService.createInstance(kW,this.screenElement));this.element.appendChild(b);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(ir,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(a=>{super.scrollLines(a,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(jE,this.element,this.screenElement,d)),this._instantiationService.setService(ge,this._selectionService),this._register(this._selectionService.onRequestScrollLines(a=>this.scrollLines(a.amount,a.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(a=>this._renderService.handleSelectionChanged(a.start,a.end,a.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(a=>{this.textarea.value=a,this.textarea.focus(),this.textarea.select()})),this._register(gS.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(is,this.screenElement)),this._register(h$(this.element,"mousedown",a=>this._selectionService.handleMouseDown(a))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(kV,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",a=>this._handleScreenReaderModeOptionChange(a))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(ix,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",a=>{!this._overviewRulerRenderer&&a&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(ix,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(i0,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let a=this,b=this.element;function c(b){let c,d,e=a._mouseService.getMouseReportCoords(b,a.screenElement);if(!e)return!1;switch(b.overrideType||b.type){case"mousemove":d=32,void 0===b.buttons?(c=3,void 0!==b.button&&(c=b.button<3?b.button:3)):c=1&b.buttons?0:4&b.buttons?1:2&b.buttons?2:3;break;case"mouseup":d=0,c=b.button<3?b.button:3;break;case"mousedown":d=1,c=b.button<3?b.button:3;break;case"wheel":if(a._customWheelEventHandler&&!1===a._customWheelEventHandler(b))return!1;let f=b.deltaY;if(0===f||0===a.coreMouseService.consumeWheelEvent(b,a._renderService?.dimensions?.device?.cell?.height,a._coreBrowserService?.dpr))return!1;d=f<0?0:1,c=4;break;default:return!1}return void 0!==d&&void 0!==c&&!(c>4)&&a.coreMouseService.triggerMouseEvent({col:e.col,row:e.row,x:e.x,y:e.y,button:c,action:d,ctrl:b.ctrlKey,alt:b.altKey,shift:b.shiftKey})}let d={mouseup:null,wheel:null,mousedrag:null,mousemove:null},e=a=>(c(a),a.buttons||(this._document.removeEventListener("mouseup",d.mouseup),d.mousedrag&&this._document.removeEventListener("mousemove",d.mousedrag)),this.cancel(a)),f=a=>(c(a),this.cancel(a,!0)),g=a=>{a.buttons&&c(a)},h=a=>{a.buttons||c(a)};this._register(this.coreMouseService.onProtocolChange(a=>{a?("debug"===this.optionsService.rawOptions.logLevel&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(a)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),8&a?d.mousemove||(b.addEventListener("mousemove",h),d.mousemove=h):(b.removeEventListener("mousemove",d.mousemove),d.mousemove=null),16&a?d.wheel||(b.addEventListener("wheel",f,{passive:!1}),d.wheel=f):(b.removeEventListener("wheel",d.wheel),d.wheel=null),2&a?d.mouseup||(d.mouseup=e):(this._document.removeEventListener("mouseup",d.mouseup),d.mouseup=null),4&a?d.mousedrag||(d.mousedrag=g):(this._document.removeEventListener("mousemove",d.mousedrag),d.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(h$(b,"mousedown",a=>{if(a.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(a)))return c(a),d.mouseup&&this._document.addEventListener("mouseup",d.mouseup),d.mousedrag&&this._document.addEventListener("mousemove",d.mousedrag),this.cancel(a)})),this._register(h$(b,"wheel",b=>{if(!d.wheel){if(this._customWheelEventHandler&&!1===this._customWheelEventHandler(b))return!1;if(!this.buffer.hasScrollback){if(0===b.deltaY)return!1;if(0===a.coreMouseService.consumeWheelEvent(b,a._renderService?.dimensions?.device?.cell?.height,a._coreBrowserService?.dpr))return this.cancel(b,!0);let c=iD.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(b.deltaY<0?"A":"B");return this.coreService.triggerDataEvent(c,!0),this.cancel(b,!0)}}},{passive:!1}))}refresh(a,b){this._renderService?.refreshRows(a,b)}updateCursorStyle(a){this._selectionService?.shouldColumnSelect(a)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(a,b){this._viewport?this._viewport.scrollLines(a):super.scrollLines(a,b),this.refresh(0,this.rows-1)}scrollPages(a){this.scrollLines(a*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(a){a&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(a){let b=a-this._bufferService.buffer.ydisp;0!==b&&this.scrollLines(b)}paste(a){fN(a,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(a){this._customKeyEventHandler=a}attachCustomWheelEventHandler(a){this._customWheelEventHandler=a}registerLinkProvider(a){return this._linkProviderService.registerLinkProvider(a)}registerCharacterJoiner(a){if(!this._characterJoinerService)throw Error("Terminal must be opened first");let b=this._characterJoinerService.register(a);return this.refresh(0,this.rows-1),b}deregisterCharacterJoiner(a){if(!this._characterJoinerService)throw Error("Terminal must be opened first");this._characterJoinerService.deregister(a)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(a){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+a)}registerDecoration(a){return this._decorationService.registerDecoration(a)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(a,b,c){this._selectionService.setSelection(a,b,c)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(a,b){this._selectionService?.selectLines(a,b)}_keyDown(a){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&!1===this._customKeyEventHandler(a))return!1;let b=this.browser.isMac&&this.options.macOptionIsMeta&&a.altKey;if(!b&&!this._compositionHelper.keydown(a))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;b||"Dead"!==a.key&&"AltGraph"!==a.key||(this._unprocessedDeadKey=!0);let c=function(a,b,c,d){let e={type:0,cancel:!1,key:void 0},f=!!a.shiftKey|2*!!a.altKey|4*!!a.ctrlKey|8*!!a.metaKey;switch(a.keyCode){case 0:"UIKeyInputUpArrow"===a.key?b?e.key=iD.ESC+"OA":e.key=iD.ESC+"[A":"UIKeyInputLeftArrow"===a.key?b?e.key=iD.ESC+"OD":e.key=iD.ESC+"[D":"UIKeyInputRightArrow"===a.key?b?e.key=iD.ESC+"OC":e.key=iD.ESC+"[C":"UIKeyInputDownArrow"===a.key&&(b?e.key=iD.ESC+"OB":e.key=iD.ESC+"[B");break;case 8:e.key=a.ctrlKey?"\b":iD.DEL,a.altKey&&(e.key=iD.ESC+e.key);break;case 9:if(a.shiftKey){e.key=iD.ESC+"[Z";break}e.key=iD.HT,e.cancel=!0;break;case 13:e.key=a.altKey?iD.ESC+iD.CR:iD.CR,e.cancel=!0;break;case 27:e.key=iD.ESC,a.altKey&&(e.key=iD.ESC+iD.ESC),e.cancel=!0;break;case 37:if(a.metaKey)break;f?e.key=iD.ESC+"[1;"+(f+1)+"D":b?e.key=iD.ESC+"OD":e.key=iD.ESC+"[D";break;case 39:if(a.metaKey)break;f?e.key=iD.ESC+"[1;"+(f+1)+"C":b?e.key=iD.ESC+"OC":e.key=iD.ESC+"[C";break;case 38:if(a.metaKey)break;f?e.key=iD.ESC+"[1;"+(f+1)+"A":b?e.key=iD.ESC+"OA":e.key=iD.ESC+"[A";break;case 40:if(a.metaKey)break;f?e.key=iD.ESC+"[1;"+(f+1)+"B":b?e.key=iD.ESC+"OB":e.key=iD.ESC+"[B";break;case 45:a.shiftKey||a.ctrlKey||(e.key=iD.ESC+"[2~");break;case 46:f?e.key=iD.ESC+"[3;"+(f+1)+"~":e.key=iD.ESC+"[3~";break;case 36:f?e.key=iD.ESC+"[1;"+(f+1)+"H":b?e.key=iD.ESC+"OH":e.key=iD.ESC+"[H";break;case 35:f?e.key=iD.ESC+"[1;"+(f+1)+"F":b?e.key=iD.ESC+"OF":e.key=iD.ESC+"[F";break;case 33:a.shiftKey?e.type=2:a.ctrlKey?e.key=iD.ESC+"[5;"+(f+1)+"~":e.key=iD.ESC+"[5~";break;case 34:a.shiftKey?e.type=3:a.ctrlKey?e.key=iD.ESC+"[6;"+(f+1)+"~":e.key=iD.ESC+"[6~";break;case 112:f?e.key=iD.ESC+"[1;"+(f+1)+"P":e.key=iD.ESC+"OP";break;case 113:f?e.key=iD.ESC+"[1;"+(f+1)+"Q":e.key=iD.ESC+"OQ";break;case 114:f?e.key=iD.ESC+"[1;"+(f+1)+"R":e.key=iD.ESC+"OR";break;case 115:f?e.key=iD.ESC+"[1;"+(f+1)+"S":e.key=iD.ESC+"OS";break;case 116:f?e.key=iD.ESC+"[15;"+(f+1)+"~":e.key=iD.ESC+"[15~";break;case 117:f?e.key=iD.ESC+"[17;"+(f+1)+"~":e.key=iD.ESC+"[17~";break;case 118:f?e.key=iD.ESC+"[18;"+(f+1)+"~":e.key=iD.ESC+"[18~";break;case 119:f?e.key=iD.ESC+"[19;"+(f+1)+"~":e.key=iD.ESC+"[19~";break;case 120:f?e.key=iD.ESC+"[20;"+(f+1)+"~":e.key=iD.ESC+"[20~";break;case 121:f?e.key=iD.ESC+"[21;"+(f+1)+"~":e.key=iD.ESC+"[21~";break;case 122:f?e.key=iD.ESC+"[23;"+(f+1)+"~":e.key=iD.ESC+"[23~";break;case 123:f?e.key=iD.ESC+"[24;"+(f+1)+"~":e.key=iD.ESC+"[24~";break;default:if(!a.ctrlKey||a.shiftKey||a.altKey||a.metaKey)if((!c||d)&&a.altKey&&!a.metaKey){let b=kN[a.keyCode]?.[+!!a.shiftKey];if(b)e.key=iD.ESC+b;else if(a.keyCode>=65&&a.keyCode<=90){let b=String.fromCharCode(a.ctrlKey?a.keyCode-64:a.keyCode+32);a.shiftKey&&(b=b.toUpperCase()),e.key=iD.ESC+b}else if(32===a.keyCode)e.key=iD.ESC+(a.ctrlKey?iD.NUL:" ");else if("Dead"===a.key&&a.code.startsWith("Key")){let b=a.code.slice(3,4);a.shiftKey||(b=b.toLowerCase()),e.key=iD.ESC+b,e.cancel=!0}}else!c||a.altKey||a.ctrlKey||a.shiftKey||!a.metaKey?!a.key||a.ctrlKey||a.altKey||a.metaKey||!(a.keyCode>=48)||1!==a.key.length?a.key&&a.ctrlKey&&("_"===a.key&&(e.key=iD.US),"@"===a.key&&(e.key=iD.NUL)):e.key=a.key:65===a.keyCode&&(e.type=1);else a.keyCode>=65&&a.keyCode<=90?e.key=String.fromCharCode(a.keyCode-64):32===a.keyCode?e.key=iD.NUL:a.keyCode>=51&&a.keyCode<=55?e.key=String.fromCharCode(a.keyCode-51+27):56===a.keyCode?e.key=iD.DEL:219===a.keyCode?e.key=iD.ESC:220===a.keyCode?e.key=iD.FS:221===a.keyCode&&(e.key=iD.GS)}return e}(a,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(a),3===c.type||2===c.type){let b=this.rows-1;return this.scrollLines(2===c.type?-b:b),this.cancel(a,!0)}return 1===c.type&&this.selectAll(),!!(this._isThirdLevelShift(this.browser,a)||(c.cancel&&this.cancel(a,!0),!c.key)||a.key&&!a.ctrlKey&&!a.altKey&&!a.metaKey&&1===a.key.length&&a.key.charCodeAt(0)>=65&&90>=a.key.charCodeAt(0))||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):((c.key===iD.ETX||c.key===iD.CR)&&(this.textarea.value=""),this._onKey.fire({key:c.key,domEvent:a}),this._showCursor(),this.coreService.triggerDataEvent(c.key,!0),!this.optionsService.rawOptions.screenReaderMode||a.altKey||a.ctrlKey)?this.cancel(a,!0):void(this._keyDownHandled=!0))}_isThirdLevelShift(a,b){let c=a.isMac&&!this.options.macOptionIsMeta&&b.altKey&&!b.ctrlKey&&!b.metaKey||a.isWindows&&b.altKey&&b.ctrlKey&&!b.metaKey||a.isWindows&&b.getModifierState("AltGraph");return"keypress"===b.type?c:c&&(!b.keyCode||b.keyCode>47)}_keyUp(a){var b;this._keyDownSeen=!1,this._customKeyEventHandler&&!1===this._customKeyEventHandler(a)||(16===(b=a).keyCode||17===b.keyCode||18===b.keyCode||this.focus(),this.updateCursorStyle(a),this._keyPressHandled=!1)}_keyPress(a){let b;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&!1===this._customKeyEventHandler(a))return!1;if(this.cancel(a),a.charCode)b=a.charCode;else if(null===a.which||void 0===a.which)b=a.keyCode;else{if(0===a.which||0===a.charCode)return!1;b=a.which}return!!b&&(!a.altKey&&!a.ctrlKey&&!a.metaKey||!!this._isThirdLevelShift(this.browser,a))&&(b=String.fromCharCode(b),this._onKey.fire({key:b,domEvent:a}),this._showCursor(),this.coreService.triggerDataEvent(b,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(a){if(a.data&&"insertText"===a.inputType&&(!a.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let b=a.data;return this.coreService.triggerDataEvent(b,!0),this.cancel(a),!0}return!1}resize(a,b){if(a===this.cols&&b===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(a,b)}_afterResize(a,b){this._charSizeService?.measure()}clear(){if(0!==this.buffer.ybase||0!==this.buffer.y){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let a=1;a<this.rows;a++)this.buffer.lines.push(this.buffer.getBlankLine(jT));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let a=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=a,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains("focus")?this.coreService.triggerDataEvent(iD.ESC+"[I"):this.coreService.triggerDataEvent(iD.ESC+"[O")}_reportWindowsOptions(a){if(this._renderService)switch(a){case 0:let b=this._renderService.dimensions.css.canvas.width.toFixed(0),c=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${iD.ESC}[4;${c};${b}t`);break;case 1:let d=this._renderService.dimensions.css.cell.width.toFixed(0),e=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${iD.ESC}[6;${e};${d}t`)}}cancel(a,b){if(!(!this.options.cancelEvents&&!b))return a.preventDefault(),a.stopPropagation(),!1}},kY=class{constructor(){this._addons=[]}dispose(){for(let a=this._addons.length-1;a>=0;a--)this._addons[a].instance.dispose()}loadAddon(a,b){let c={instance:b,dispose:b.dispose,isDisposed:!1};this._addons.push(c),b.dispose=()=>this._wrappedAddonDispose(c),b.activate(a)}_wrappedAddonDispose(a){if(a.isDisposed)return;let b=-1;for(let c=0;c<this._addons.length;c++)if(this._addons[c]===a){b=c;break}if(-1===b)throw Error("Could not dispose an addon that has not been loaded");a.isDisposed=!0,a.dispose.apply(a.instance),this._addons.splice(b,1)}},kZ=class{constructor(a){this._line=a}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(a,b){if(!(a<0||a>=this._line.length))return b?(this._line.loadCell(a,b),b):this._line.loadCell(a,new fW)}translateToString(a,b,c){return this._line.translateToString(a,b,c)}},k$=class{constructor(a,b){this._buffer=a,this.type=b}init(a){return this._buffer=a,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(a){let b=this._buffer.lines.get(a);if(b)return new kZ(b)}getNullCell(){return new fW}},k_=class extends gy{constructor(a){super(),this._core=a,this._onBufferChange=this._register(new gZ),this.onBufferChange=this._onBufferChange.event,this._normal=new k$(this._core.buffers.normal,"normal"),this._alternate=new k$(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},k0=class{constructor(a){this._core=a}registerCsiHandler(a,b){return this._core.registerCsiHandler(a,a=>b(a.toArray()))}addCsiHandler(a,b){return this.registerCsiHandler(a,b)}registerDcsHandler(a,b){return this._core.registerDcsHandler(a,(a,c)=>b(a,c.toArray()))}addDcsHandler(a,b){return this.registerDcsHandler(a,b)}registerEscHandler(a,b){return this._core.registerEscHandler(a,b)}addEscHandler(a,b){return this.registerEscHandler(a,b)}registerOscHandler(a,b){return this._core.registerOscHandler(a,b)}addOscHandler(a,b){return this.registerOscHandler(a,b)}},k1=class{constructor(a){this._core=a}register(a){this._core.unicodeService.register(a)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(a){this._core.unicodeService.activeVersion=a}},k2=["cols","rows"],k3=0,k4=class extends gy{constructor(a){super(),this._core=this._register(new kX(a)),this._addonManager=this._register(new kY),this._publicOptions={...this._core.options};let b=a=>this._core.options[a],c=(a,b)=>{this._checkReadonlyOptions(a),this._core.options[a]=b};for(let a in this._core.options){let d={get:b.bind(this,a),set:c.bind(this,a)};Object.defineProperty(this._publicOptions,a,d)}}_checkReadonlyOptions(a){if(k2.includes(a))throw Error(`Option "${a}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new k0(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new k1(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new k_(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let a=this._core.coreService.decPrivateModes,b="none";switch(this._core.coreMouseService.activeProtocol){case"X10":b="x10";break;case"VT200":b="vt200";break;case"DRAG":b="drag";break;case"ANY":b="any"}return{applicationCursorKeysMode:a.applicationCursorKeys,applicationKeypadMode:a.applicationKeypad,bracketedPasteMode:a.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:b,originMode:a.origin,reverseWraparoundMode:a.reverseWraparound,sendFocusMode:a.sendFocus,synchronizedOutputMode:a.synchronizedOutput,wraparoundMode:a.wraparound}}get options(){return this._publicOptions}set options(a){for(let b in a)this._publicOptions[b]=a[b]}blur(){this._core.blur()}focus(){this._core.focus()}input(a,b=!0){this._core.input(a,b)}resize(a,b){this._verifyIntegers(a,b),this._core.resize(a,b)}open(a){this._core.open(a)}attachCustomKeyEventHandler(a){this._core.attachCustomKeyEventHandler(a)}attachCustomWheelEventHandler(a){this._core.attachCustomWheelEventHandler(a)}registerLinkProvider(a){return this._core.registerLinkProvider(a)}registerCharacterJoiner(a){return this._checkProposedApi(),this._core.registerCharacterJoiner(a)}deregisterCharacterJoiner(a){this._checkProposedApi(),this._core.deregisterCharacterJoiner(a)}registerMarker(a=0){return this._verifyIntegers(a),this._core.registerMarker(a)}registerDecoration(a){return this._checkProposedApi(),this._verifyPositiveIntegers(a.x??0,a.width??0,a.height??0),this._core.registerDecoration(a)}hasSelection(){return this._core.hasSelection()}select(a,b,c){this._verifyIntegers(a,b,c),this._core.select(a,b,c)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(a,b){this._verifyIntegers(a,b),this._core.selectLines(a,b)}dispose(){super.dispose()}scrollLines(a){this._verifyIntegers(a),this._core.scrollLines(a)}scrollPages(a){this._verifyIntegers(a),this._core.scrollPages(a)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(a){this._verifyIntegers(a),this._core.scrollToLine(a)}clear(){this._core.clear()}write(a,b){this._core.write(a,b)}writeln(a,b){this._core.write(a),this._core.write(`\r
27
+ `,b)}paste(a){this._core.paste(a)}refresh(a,b){this._verifyIntegers(a,b),this._core.refresh(a,b)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(a){this._addonManager.loadAddon(this,a)}static get strings(){return{get promptLabel(){return fK.get()},set promptLabel(t){fK.set(t)},get tooMuchOutput(){return fM.get()},set tooMuchOutput(t){fM.set(t)}}}_verifyIntegers(...a){for(k3 of a)if(k3===1/0||isNaN(k3)||k3%1!=0)throw Error("This API only accepts integers")}_verifyPositiveIntegers(...a){for(k3 of a)if(k3&&(k3===1/0||isNaN(k3)||k3%1!=0||k3<0))throw Error("This API only accepts positive integers")}},k5=class{activate(a){this._terminal=a}dispose(){}fit(){let a=this.proposeDimensions();if(!a||!this._terminal||isNaN(a.cols)||isNaN(a.rows))return;let b=this._terminal._core;(this._terminal.rows!==a.rows||this._terminal.cols!==a.cols)&&(b._renderService.clear(),this._terminal.resize(a.cols,a.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let a=this._terminal._core._renderService.dimensions;if(0===a.css.cell.width||0===a.css.cell.height)return;let b=0===this._terminal.options.scrollback?0:this._terminal.options.overviewRuler?.width||14,c=window.getComputedStyle(this._terminal.element.parentElement),d=parseInt(c.getPropertyValue("height")),e=Math.max(0,parseInt(c.getPropertyValue("width"))),f=window.getComputedStyle(this._terminal.element),g={top:parseInt(f.getPropertyValue("padding-top")),bottom:parseInt(f.getPropertyValue("padding-bottom")),right:parseInt(f.getPropertyValue("padding-right")),left:parseInt(f.getPropertyValue("padding-left"))},h=g.top+g.bottom;return{cols:Math.max(2,Math.floor((e-(g.right+g.left)-b)/a.css.cell.width)),rows:Math.max(1,Math.floor((d-h)/a.css.cell.height))}}};c(7833);let k6=m("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]),k7=(0,e.forwardRef)(({active:a,running:b=!1,onInput:c,onResize:f},g)=>{let h=(0,e.useRef)(null),i=(0,e.useRef)(null),j=(0,e.useRef)(null),k=(0,e.useRef)(c),l=(0,e.useRef)(f);return k.current=c,l.current=f,(0,e.useImperativeHandle)(g,()=>({write:a=>i.current?.write(a),clear:()=>i.current?.clear(),focus:()=>i.current?.focus()}),[]),(0,e.useEffect)(()=>{if(!h.current)return;let a=new k4({cursorBlink:!0,theme:{background:"#000000",foreground:"#a1a1aa",cursor:"#f4f4f5",selectionBackground:"#27272a"},fontFamily:'Menlo, Monaco, Consolas, "Courier New", monospace',fontSize:11}),b=new k5;a.loadAddon(b),a.open(h.current);try{b.fit()}catch{}i.current=a,j.current=b;let c=a.onData(a=>k.current?.(a)),d=a.onResize(({cols:a,rows:b})=>l.current?.(a,b));l.current?.(a.cols,a.rows);let e=new ResizeObserver(()=>{try{b.fit()}catch{}});return e.observe(h.current),()=>{e.disconnect(),c.dispose(),d.dispose(),a.dispose(),i.current=null,j.current=null}},[]),(0,e.useEffect)(()=>{if(!a)return;let b=requestAnimationFrame(()=>{try{j.current?.fit()}catch{}i.current?.focus()});return()=>cancelAnimationFrame(b)},[a]),(0,d.jsxs)("div",{className:"flex flex-col h-full bg-black border-t border-zinc-800",children:[(0,d.jsxs)("div",{className:"flex justify-between items-center px-4 py-2 border-b border-zinc-900 bg-zinc-950 shrink-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(k6,{size:14,className:"text-zinc-500"}),(0,d.jsx)("span",{className:"font-mono text-xs font-semibold tracking-wider text-zinc-400",children:"CONSOLE OUTPUT"}),b&&(0,d.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-blue-500 animate-pulse"})]}),(0,d.jsx)("button",{onClick:()=>i.current?.clear(),title:"Clear console",className:"p-1 hover:bg-zinc-800 rounded transition text-zinc-500 hover:text-zinc-300",children:(0,d.jsx)(r,{size:14})})]}),(0,d.jsx)("div",{ref:h,onClick:()=>i.current?.focus(),className:"flex-1 w-full min-h-0 p-2 overflow-hidden"})]})});k7.displayName="AgentConsole";let k8=m("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]),k9=({isOpen:a,onClose:b,persona:c,onSave:f})=>{let[g,h]=(0,e.useState)(""),[i,j]=(0,e.useState)(""),[k,l]=(0,e.useState)(!0),[m,n]=(0,e.useState)("gemini-2.5-flash"),[o,p]=(0,e.useState)(""),[q,r]=(0,e.useState)(""),[s,u]=(0,e.useState)(""),[v,w]=(0,e.useState)("");return((0,e.useEffect)(()=>{c&&(h(c.label||""),j(c.command||""),l(!1!==c.enabled),n(c.model||"gemini-2.5-flash"),p(c.description||""),r(c.systemPrompt||""),u(Array.isArray(c.capabilities)?c.capabilities.join("\n"):""),w(Array.isArray(c.tools)?c.tools.join("\n"):""))},[c,a]),a&&c)?(0,d.jsx)("div",{className:"fixed inset-0 bg-black/85 backdrop-blur-sm z-50 flex items-center justify-center p-4",children:(0,d.jsxs)("div",{className:"bg-zinc-950 border border-zinc-850 w-full max-w-2xl h-[85vh] rounded-xl flex flex-col overflow-hidden shadow-2xl animate-in fade-in zoom-in duration-200",children:[(0,d.jsxs)("header",{className:"px-6 py-4 border-b border-zinc-850 flex justify-between items-center bg-zinc-900/50",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("div",{className:"p-2 bg-blue-500/10 text-blue-400 rounded-lg",children:(0,d.jsx)(k8,{size:18})}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("h2",{className:"text-base font-bold text-white tracking-tight",children:["Configure Persona Agent: ",c.id.toUpperCase()]}),(0,d.jsx)("p",{className:"text-xs text-zinc-400 mt-0.5",children:"Customize capabilities, core instructions, models, and slash command integration."})]})]}),(0,d.jsx)("button",{onClick:b,className:"p-1.5 hover:bg-zinc-800 rounded-lg text-zinc-400 hover:text-zinc-200 transition",children:(0,d.jsx)(x,{size:18})})]}),(0,d.jsxs)("div",{className:"flex-1 overflow-y-auto p-6 space-y-5",children:[(0,d.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-[10px] font-bold text-zinc-400 uppercase tracking-wider mb-1.5",children:"Persona Name"}),(0,d.jsx)("input",{type:"text",value:g,onChange:a=>h(a.target.value),className:"w-full px-3 py-2 text-xs bg-zinc-900 border border-zinc-800 rounded outline-none text-white focus:border-zinc-700",placeholder:"e.g. QA Agent"})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-[10px] font-bold text-zinc-400 uppercase tracking-wider mb-1.5",children:"LLM Model"}),(0,d.jsxs)("select",{value:m,onChange:a=>n(a.target.value),className:"w-full px-3 py-2 text-xs bg-zinc-900 border border-zinc-800 rounded outline-none text-white focus:border-zinc-700",children:[(0,d.jsx)("option",{value:"gemini-2.5-flash",children:"Gemini 2.5 Flash (Fast, Google)"}),(0,d.jsx)("option",{value:"gemini-2.5-pro",children:"Gemini 2.5 Pro (Analytical, Google)"}),(0,d.jsx)("option",{value:"claude-3-5-sonnet",children:"Claude 3.5 Sonnet (Coding, Anthropic)"}),(0,d.jsx)("option",{value:"gpt-4o",children:"GPT-4o (Reasoning, OpenAI)"})]})]})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 items-center",children:[(0,d.jsxs)("div",{className:"md:col-span-2",children:[(0,d.jsx)("label",{className:"block text-[10px] font-bold text-zinc-400 uppercase tracking-wider mb-1.5",children:"Slash Command / Execution Path"}),(0,d.jsx)("input",{type:"text",value:i,onChange:a=>j(a.target.value),className:"w-full px-3 py-2 text-xs font-mono bg-zinc-900 border border-zinc-800 rounded outline-none text-white focus:border-zinc-700",placeholder:"e.g. /speckit.review.qa"})]}),(0,d.jsx)("div",{className:"flex items-center h-full pt-4",children:(0,d.jsxs)("label",{className:"flex items-center gap-2.5 cursor-pointer select-none",children:[(0,d.jsx)("input",{type:"checkbox",checked:k,onChange:a=>l(a.target.checked),className:"w-4 h-4 rounded border-zinc-800 bg-zinc-900 text-blue-500 focus:ring-0 focus:ring-offset-0"}),(0,d.jsxs)("div",{className:"flex flex-col",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-white",children:"Enable Agent Persona"}),(0,d.jsx)("span",{className:"text-[10px] text-zinc-500",children:"Run persona in review gate"})]})]})})]}),(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsx)("label",{className:"block text-[10px] font-bold text-zinc-400 uppercase tracking-wider",children:"Agent Description"}),(0,d.jsx)("textarea",{rows:2,value:o,onChange:a=>p(a.target.value),className:"w-full p-3 text-xs bg-zinc-900 border border-zinc-800 rounded outline-none text-white focus:border-zinc-700 resize-none",placeholder:"Provide a general summary of this agent's responsibilities..."})]}),(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsx)("label",{className:"block text-[10px] font-bold text-zinc-400 uppercase tracking-wider",children:"System Prompt & Core Instructions"}),(0,d.jsx)("textarea",{rows:5,value:q,onChange:a=>r(a.target.value),className:"w-full p-3 text-xs font-mono bg-zinc-900 border border-zinc-800 rounded outline-none text-white focus:border-zinc-700",placeholder:"System prompt instructions..."})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsxs)("div",{className:"flex justify-between items-center",children:[(0,d.jsx)("label",{className:"block text-[10px] font-bold text-zinc-400 uppercase tracking-wider",children:"Capabilities (one per line)"}),(0,d.jsxs)("span",{className:"text-[9px] text-zinc-500 flex items-center gap-0.5",children:[(0,d.jsx)(y,{size:10})," Environment injection"]})]}),(0,d.jsx)("textarea",{rows:4,value:s,onChange:a=>u(a.target.value),className:"w-full p-3 text-xs font-mono bg-zinc-900 border border-zinc-800 rounded outline-none text-white focus:border-zinc-700",placeholder:"e.g. Runs Vitest suite"})]}),(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsxs)("div",{className:"flex justify-between items-center",children:[(0,d.jsx)("label",{className:"block text-[10px] font-bold text-zinc-400 uppercase tracking-wider",children:"Authorized Tools (one per line)"}),(0,d.jsxs)("span",{className:"text-[9px] text-zinc-500 flex items-center gap-0.5",children:[(0,d.jsx)(y,{size:10})," CLI commands"]})]}),(0,d.jsx)("textarea",{rows:4,value:v,onChange:a=>w(a.target.value),className:"w-full p-3 text-xs font-mono bg-zinc-900 border border-zinc-800 rounded outline-none text-white focus:border-zinc-700",placeholder:"e.g. npm test"})]})]})]}),(0,d.jsxs)("footer",{className:"px-6 py-4 border-t border-zinc-850 flex justify-end gap-3 bg-zinc-900/30",children:[(0,d.jsx)("button",{onClick:b,className:"px-4 py-2 bg-zinc-900 hover:bg-zinc-850 border border-zinc-850 hover:border-zinc-800 text-zinc-300 font-semibold text-xs rounded-lg transition",children:"Cancel"}),(0,d.jsxs)("button",{onClick:()=>{let a=s.split("\n").map(a=>a.trim()).filter(a=>a.length>0),b=v.split("\n").map(a=>a.trim()).filter(a=>a.length>0);f({...c,label:g,command:i,enabled:k,model:m,description:o,systemPrompt:q,capabilities:a,tools:b})},className:"px-4 py-2 bg-blue-500 hover:bg-blue-600 text-white font-semibold text-xs rounded-lg transition flex items-center gap-1.5",children:[(0,d.jsx)(ft,{size:14}),(0,d.jsx)("span",{children:"Save Configuration"})]})]})]})}):null},la=m("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]),lb=m("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),lc=m("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]),ld=m("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),le=m("GitCommitHorizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]),lf={developer:"Developer",qa:"QA Agent","code-review":"Code Reviewer",security:"Security Auditor","tech-lead":"Tech Lead"},lg={developer:"Implements features and writes source code.",qa:"Runs unit and integration test suites.","code-review":"Reviews code styles and architectural patterns.",security:"Checks for security vulnerabilities and secrets.","tech-lead":"Performs final technical audit and validation."},lh=({isOpen:a,onClose:b,featureName:c,activePhaseState:f,onApprove:g})=>{let[h,i]=(0,e.useState)([]),[j,k]=(0,e.useState)([]),[l,m]=(0,e.useState)(""),[n,o]=(0,e.useState)(""),[q,r]=(0,e.useState)("main"),[u,v]=(0,e.useState)(!1),[w,y]=(0,e.useState)(""),[A,B]=(0,e.useState)("files"),[C,D]=(0,e.useState)("");if((0,e.useEffect)(()=>{if(!a)return;let b=!0;return v(!0),y(""),fetch("/api/git?action=status").then(a=>{if(!a.ok)throw Error(`HTTP error! status: ${a.status}`);return a.json()}).then(a=>{b&&(a.error?y(a.error):(i(a.files||[]),k(a.log||[]),r(a.branch||"main"),a.files&&a.files.length>0?m(a.files[0].path):m("")))}).catch(a=>{b&&y(a.message||"Failed to fetch git status.")}).finally(()=>{b&&v(!1)}),()=>{b=!1}},[a]),(0,e.useEffect)(()=>{if(!a||!l)return void o("");let b=!0;return o("Loading diff..."),fetch(`/api/git?action=diff&file=${encodeURIComponent(l)}`).then(a=>{if(!a.ok)throw Error(`HTTP error! status: ${a.status}`);return a.json()}).then(a=>{b&&(a.error?o(`Error: ${a.error}`):o(a.diff||"No modifications found."))}).catch(a=>{b&&o(`Failed to load diff: ${a.message}`)}),()=>{b=!1}},[a,l]),!a)return null;let E=h.reduce((a,b)=>a+b.additions,0),F=h.reduce((a,b)=>a+b.deletions,0),G=f&&"idle"!==f.status?"running"===f.status?f.personas?.some(a=>"idle"!==a.status)?"passed":"running":"passed":"idle",H=f?.personas?.find(a=>"qa"===a.id),I=H?H.status:"idle",J=f?.personas?.find(a=>"security"===a.id),K=J?J.status:"idle",L=f?.personas?.length||0,M=f?.personas?.filter(a=>"passed"===a.status).length||0,N=L>0?Math.round(M/L*100):100*("passed"===G),O=[{id:"developer",label:lf.developer,desc:lg.developer,status:G},...(f?.personas||[]).map(a=>({id:a.id,label:lf[a.id]||a.id,desc:lg[a.id]||"",status:a.status}))];return(0,d.jsx)("div",{className:"fixed inset-0 bg-black/80 backdrop-blur-sm z-50 flex items-center justify-center p-4",children:(0,d.jsxs)("div",{className:"bg-zinc-950 border border-zinc-850 w-full h-[95vh] rounded-xl flex flex-col overflow-hidden shadow-2xl animate-in fade-in zoom-in duration-200",children:[(0,d.jsxs)("header",{className:"px-6 py-4 border-b border-zinc-850 flex justify-between items-center bg-zinc-900/50",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-2xl",children:"⚡"}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)("h2",{className:"text-base font-bold text-white tracking-tight",children:["Human Audit Portal: ",c]}),(0,d.jsx)("span",{className:"text-[10px] font-bold px-2 py-0.5 rounded bg-blue-500/10 text-blue-400 border border-blue-500/20 uppercase animate-pulse",children:"Awaiting Sign-off"})]}),(0,d.jsx)("p",{className:"text-xs text-zinc-400 mt-0.5",children:"Inspect code changes, check agent validation reports, and sign off the gate to approve implementation."})]})]}),(0,d.jsx)("button",{onClick:b,className:"p-1.5 hover:bg-zinc-800 rounded-lg text-zinc-400 hover:text-zinc-200 transition",children:(0,d.jsx)(x,{size:18})})]}),w&&(0,d.jsxs)("div",{className:"mx-6 mt-4 p-3 bg-red-500/10 border border-red-500/20 rounded-lg flex items-center gap-2 text-xs text-red-400",children:[(0,d.jsx)(la,{size:14,className:"shrink-0"}),(0,d.jsx)("span",{children:w})]}),(0,d.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 px-6 py-4 border-b border-zinc-850 bg-zinc-950",children:[(0,d.jsxs)("div",{className:"p-3 bg-zinc-900/40 border border-zinc-850/50 rounded-lg flex items-center gap-3",children:[(0,d.jsx)("div",{className:"p-2 rounded bg-green-500/10 text-green-400",children:(0,d.jsx)(fC,{size:16})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-[10px] font-bold text-zinc-500 uppercase",children:"Tests Coverage"}),(0,d.jsx)("div",{className:"text-sm font-bold text-white mt-0.5",children:"passed"===I?"100% Passed":"running"===I?"Running...":"Awaiting QA"})]})]}),(0,d.jsxs)("div",{className:"p-3 bg-zinc-900/40 border border-zinc-850/50 rounded-lg flex items-center gap-3",children:[(0,d.jsx)("div",{className:"p-2 rounded bg-blue-500/10 text-blue-400",children:(0,d.jsx)(fA,{size:16})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-[10px] font-bold text-zinc-500 uppercase",children:"Lines Added"}),(0,d.jsx)("div",{className:"text-sm font-bold text-white mt-0.5",children:u?"Loading...":`+${E} / -${F} lines`})]})]}),(0,d.jsxs)("div",{className:"p-3 bg-zinc-900/40 border border-zinc-850/50 rounded-lg flex items-center gap-3",children:[(0,d.jsx)("div",{className:"p-2 rounded bg-purple-500/10 text-purple-400",children:(0,d.jsx)(s,{size:16})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-[10px] font-bold text-zinc-500 uppercase",children:"Security Scan"}),(0,d.jsx)("div",{className:"text-sm font-bold text-white mt-0.5",children:"passed"===K?"Grade A (Clean)":"failed"===K?"Failed":"running"===K?"Scanning...":"Awaiting Scan"})]})]}),(0,d.jsxs)("div",{className:"p-3 bg-zinc-900/40 border border-zinc-850/50 rounded-lg flex items-center gap-3",children:[(0,d.jsx)("div",{className:"p-2 rounded bg-amber-500/10 text-amber-400",children:(0,d.jsx)(lb,{size:16})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-[10px] font-bold text-zinc-500 uppercase",children:"Validation Duration"}),(0,d.jsx)("div",{className:"text-sm font-bold text-white mt-0.5",children:f?.personas?.some(a=>"passed"===a.status)?"1m 20s total":"0s"})]})]})]}),(0,d.jsxs)("div",{className:"flex-1 flex overflow-hidden min-h-0",children:[(0,d.jsxs)("div",{className:"w-80 border-r border-zinc-850 flex flex-col bg-zinc-950 shrink-0",children:[(0,d.jsxs)("div",{className:"flex border-b border-zinc-850 bg-zinc-900/20",children:[(0,d.jsx)("button",{onClick:()=>B("files"),className:`flex-1 py-2.5 text-center text-xs font-semibold border-b-2 transition ${"files"===A?"text-white border-white":"text-zinc-500 border-transparent hover:text-zinc-350"}`,children:"Modified Files"}),(0,d.jsx)("button",{onClick:()=>B("git"),className:`flex-1 py-2.5 text-center text-xs font-semibold border-b-2 transition ${"git"===A?"text-white border-white":"text-zinc-500 border-transparent hover:text-zinc-350"}`,children:"Git Commit History"})]}),(0,d.jsx)("div",{className:"flex-1 overflow-y-auto p-4 space-y-1",children:"files"===A?u?(0,d.jsx)("div",{className:"text-zinc-500 text-xs text-center py-8",children:"Loading files..."}):0===h.length?(0,d.jsx)("div",{className:"text-zinc-500 text-xs text-center py-8",children:"No modified files found."}):h.map(a=>(0,d.jsxs)("div",{onClick:()=>m(a.path),className:`p-2.5 rounded-lg border text-xs cursor-pointer transition flex justify-between items-center ${l===a.path?"bg-zinc-900 border-zinc-700 text-white":"bg-transparent border-transparent text-zinc-400 hover:bg-zinc-900/50 hover:text-zinc-200"}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,d.jsx)(fk,{size:13,className:"code"===a.type?"text-blue-400":"text-zinc-500"}),(0,d.jsx)("span",{className:"truncate font-mono text-[11px]",children:a.path.split("/").pop()})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1 font-mono text-[10px] font-bold",children:[(0,d.jsxs)("span",{className:"text-green-500",children:["+",a.additions]}),(0,d.jsxs)("span",{className:"text-red-500",children:["-",a.deletions]})]})]},a.path)):(0,d.jsxs)("div",{className:"space-y-4 py-2",children:[(0,d.jsxs)("div",{className:"p-3 bg-zinc-900/30 border border-zinc-850 rounded-lg flex items-center gap-2 mb-2",children:[(0,d.jsx)(lc,{size:14,className:"text-blue-500 animate-pulse"}),(0,d.jsx)("span",{className:"text-xs text-zinc-300 font-bold",children:q}),(0,d.jsx)(ld,{size:10,className:"text-zinc-500"}),(0,d.jsxs)("span",{className:"text-[10px] text-zinc-500 font-mono",children:["origin/",q]})]}),u?(0,d.jsx)("div",{className:"text-zinc-500 text-xs text-center py-8",children:"Loading commit history..."}):0===j.length?(0,d.jsx)("div",{className:"text-zinc-500 text-xs text-center py-8",children:"No commit history found."}):j.map((a,b)=>(0,d.jsxs)("div",{className:"flex gap-3 relative pl-1",children:[b<j.length-1&&(0,d.jsx)("div",{className:"absolute left-2.5 top-5 bottom-0 w-px bg-zinc-800"}),(0,d.jsx)("div",{className:"relative z-10 mt-1",children:(0,d.jsx)(le,{size:12,className:"text-blue-500 bg-zinc-950 rounded-full"})}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsxs)("div",{className:"flex justify-between items-center gap-2",children:[(0,d.jsx)("span",{className:"font-mono text-[10px] text-zinc-500",children:a.hash}),(0,d.jsx)("span",{className:"text-[9px] text-zinc-500",children:a.date})]}),(0,d.jsx)("p",{className:"text-[11px] font-semibold text-zinc-200 truncate mt-0.5 font-sans font-medium",children:a.message}),(0,d.jsxs)("span",{className:"text-[9px] text-zinc-500 mt-1 block",children:["by ",a.author]})]})]},a.hash))]})})]}),(0,d.jsxs)("div",{className:"flex-1 flex flex-col bg-zinc-900/20 overflow-hidden",children:[(0,d.jsxs)("div",{className:"px-4 py-2.5 bg-zinc-950 border-b border-zinc-850 flex justify-between items-center",children:[(0,d.jsx)("span",{className:"text-xs font-mono text-zinc-300 font-bold",children:l||"No file selected"}),(0,d.jsx)("span",{className:"text-[10px] font-bold text-zinc-500 uppercase tracking-wide bg-zinc-900 border border-zinc-850 px-2 py-0.5 rounded",children:"Unified Diff"})]}),(0,d.jsx)("div",{className:"flex-1 p-4 overflow-auto font-mono text-[11px] leading-relaxed text-zinc-300 bg-black/60 select-text",children:n?n.split("\n").map((a,b)=>{let c="text-zinc-400";return a.startsWith("+")?c="text-green-500 bg-green-500/5 font-semibold":a.startsWith("-")&&(c="text-red-500 bg-red-500/5 font-semibold"),(0,d.jsx)("div",{className:`px-2 py-0.5 rounded ${c}`,children:a},b)}):(0,d.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-zinc-500 text-xs",children:[(0,d.jsx)(fk,{size:32,className:"mb-2 text-zinc-650"}),(0,d.jsx)("span",{children:"Select a code file from the left panel to inspect the git diff."})]})})]}),(0,d.jsxs)("div",{className:"w-96 border-l border-zinc-850 flex flex-col bg-zinc-950 shrink-0 overflow-y-auto",children:[(0,d.jsxs)("div",{className:"p-5 border-b border-zinc-850 space-y-4",children:[(0,d.jsx)("h3",{className:"text-xs font-bold text-zinc-400 uppercase tracking-wider",children:"Gate Analytics"}),(0,d.jsxs)("div",{className:"flex justify-between items-center gap-4 bg-zinc-900/30 border border-zinc-850 p-3 rounded-lg",children:[(0,d.jsxs)("div",{className:"relative w-16 h-16 shrink-0 flex items-center justify-center",children:[(0,d.jsxs)("svg",{className:"w-full h-full transform -rotate-90",children:[(0,d.jsx)("circle",{cx:"32",cy:"32",r:"28",className:"stroke-zinc-800",strokeWidth:"4",fill:"transparent"}),(0,d.jsx)("circle",{cx:"32",cy:"32",r:"28",className:"stroke-green-500",strokeWidth:"4",fill:"transparent",strokeDasharray:175,strokeDashoffset:175*(1-N/100)})]}),(0,d.jsxs)("span",{className:"absolute text-[11px] font-bold text-white",children:[N,"%"]})]}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("span",{className:"text-[10px] text-zinc-500 uppercase font-bold",children:"QA Gate Grade"}),(0,d.jsxs)("p",{className:"text-xs text-zinc-200 mt-0.5 font-semibold",children:[M," of ",L," automated verification reviews passed."]})]})]}),(0,d.jsxs)("div",{className:"space-y-2.5",children:[(0,d.jsx)("span",{className:"text-[10px] text-zinc-500 uppercase font-bold",children:"Execution Time per Persona"}),(0,d.jsx)("div",{className:"space-y-2 bg-zinc-900/30 border border-zinc-850 p-3.5 rounded-lg",children:[{label:"Developer",time:"idle"===G?"0s":"45s",pct:100*("idle"!==G),color:"bg-zinc-500"},...(f?.personas||[]).map(a=>{let b="idle"!==a.status,c="0s",d=0;return b&&("qa"===a.id?(c="12s",d=26):"code-review"===a.id?(c="15s",d=33):"security"===a.id?(c="8s",d=18):"tech-lead"===a.id&&(c="10s",d=22)),{label:lf[a.id]||a.id,time:c,pct:d,color:({qa:"bg-green-500","code-review":"bg-blue-500",security:"bg-purple-500","tech-lead":"bg-amber-500"})[a.id]||"bg-zinc-500"}})].map(a=>(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsxs)("div",{className:"flex justify-between text-[10px] font-medium text-zinc-300 font-sans",children:[(0,d.jsx)("span",{children:a.label}),(0,d.jsx)("span",{className:"font-mono",children:a.time})]}),(0,d.jsx)("div",{className:"h-1.5 w-full bg-zinc-800 rounded-full overflow-hidden",children:(0,d.jsx)("div",{className:`h-full rounded-full ${a.color}`,style:{width:`${a.pct}%`}})})]},a.label))})]})]}),(0,d.jsxs)("div",{className:"p-5 border-b border-zinc-850 space-y-3",children:[(0,d.jsx)("h3",{className:"text-xs font-bold text-zinc-400 uppercase tracking-wider",children:"Persona Audits Summary"}),(0,d.jsx)("div",{className:"space-y-3",children:O.map(a=>{let b=(0,d.jsx)(lb,{size:13,className:"text-zinc-500 mt-0.5 shrink-0"});return"passed"===a.status?b=(0,d.jsx)(z,{size:13,className:"text-green-500 mt-0.5 shrink-0"}):"failed"===a.status?b=(0,d.jsx)(la,{size:13,className:"text-red-500 mt-0.5 shrink-0"}):"running"===a.status&&(b=(0,d.jsx)(lb,{size:13,className:"text-blue-400 animate-pulse mt-0.5 shrink-0"})),(0,d.jsxs)("div",{className:"flex gap-2.5 items-start",children:[b,(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-[10px] font-bold text-zinc-300",children:a.label}),(0,d.jsx)("span",{className:`text-[8px] font-bold px-1 rounded uppercase tracking-wider ${"passed"===a.status?"bg-green-500/10 text-green-400 border border-green-500/20":"failed"===a.status?"bg-red-500/10 text-red-400 border border-red-500/20":"running"===a.status?"bg-blue-500/10 text-blue-400 border border-blue-500/20 animate-pulse":"bg-zinc-800 text-zinc-400 border border-zinc-700"}`,children:a.status})]}),(0,d.jsx)("p",{className:"text-[9px] text-zinc-500",children:a.desc})]})]},a.id)})})]}),(0,d.jsxs)("div",{className:"p-5 flex-1 flex flex-col justify-end gap-3 min-h-[200px]",children:[(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsx)("label",{className:"block text-[10px] font-bold text-zinc-500 uppercase",children:"Reviewer Comments"}),(0,d.jsx)("textarea",{placeholder:"Insert audit notes or observations...",value:C,onChange:a=>D(a.target.value),className:"w-full h-16 p-2 text-xs bg-zinc-900 border border-zinc-800 rounded outline-none resize-none text-white focus:border-zinc-700"})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("button",{onClick:b,className:"flex-1 py-2 bg-zinc-900 hover:bg-zinc-850 border border-zinc-850 hover:border-zinc-800 text-zinc-300 font-semibold text-xs rounded transition",children:"Cancel Audit"}),(0,d.jsxs)("button",{onClick:g,className:"flex-1 py-2 bg-green-500 hover:bg-green-600 text-white font-semibold text-xs rounded transition flex items-center justify-center gap-1.5",children:[(0,d.jsx)(p,{size:14}),(0,d.jsx)("span",{children:"Approve & Merge"})]})]})]})]})]})]})})},li=m("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"}]]),lj=m("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"}]]),lk=m("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"}]]),ll=m("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]),lm=m("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"}]]),ln=m("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"}]]),lo=m("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"}]]),lp=m("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),lq=m("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),lr=h()(async()=>{},{loadableGenerated:{modules:["app/page.tsx -> @/components/TerminalPanel"]},ssr:!1}),ls={constitution:"Constitution",specification:"Specification",clarification:"Clarification",planning:"Planning",checklist:"Checklist",analyze:"Analysis",tasks:"Tasks",taskstoissues:"Tasks to Issues",implementation:"Implementation"};function lt(){let[a,b]=(0,e.useState)(null),c=f().useRef(null),[g,h]=(0,e.useState)(null),[j,k]=(0,e.useState)("kanban"),[l,m]=(0,e.useState)("dark"),[n,p]=(0,e.useState)({agentType:"claude",customCommand:"",agentPath:""}),[q,r]=(0,e.useState)(""),[v,w]=(0,e.useState)(i),[y,z]=(0,e.useState)(null),[A,B]=(0,e.useState)(null),[C,D]=(0,e.useState)(""),[F,G]=(0,e.useState)(!1),[H,I]=(0,e.useState)(!1),[J,K]=(0,e.useState)("editor"),[L,M]=(0,e.useState)(null),[N,O]=(0,e.useState)(!1),[P,Q]=(0,e.useState)(!1),R=()=>{Q(a=>!a)};f().useRef(g);let S=async()=>{try{let a=await fetch("/api/state"),c=await a.json();b(c)}catch(a){console.error("Failed to fetch state:",a)}},T=async a=>{let b=v.map(b=>b.id===a.id?a:b);w(b),z(null);try{await fetch("/api/personas",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)})}catch(a){console.error("Failed to save persona config:",a)}},U=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),f=e?.phases.find(a=>"specification"===a.phase);f?.filePath?X(f.filePath):h(null)}catch(a){console.error(a)}},V=async a=>{if(a.preventDefault(),C.trim())try{let a=await fetch("/api/feature",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:C.trim()})}),c=await a.json();b(c),D("");let d=`specs/${C.trim()}/spec.md`;h({path:d,content:""})}catch(a){console.error(a)}},W=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&&h(null)}catch(a){console.error(a)}},X=async a=>{try{let b=await fetch(`/api/file?path=${encodeURIComponent(a)}`),c=await b.json();h(c)}catch(a){console.error(a)}},Y=async a=>{if(g)try{let c=await fetch("/api/file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:g.path,content:a})}),d=await c.json();h({path:g.path,content:a}),d.state&&b(d.state)}catch(a){console.error(a)}},Z=async(c,d)=>{if(a?.activeFeatureName)try{let e=await fetch("/api/task",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({featureName:a.activeFeatureName,lineIndex:c,checked:d})}),f=await e.json();b(f);let h=f.features.find(a=>a.name===f.activeFeatureName),i=h?.phases.find(a=>"tasks"===a.phase);i?.filePath&&g?.path===i.filePath&&X(i.filePath)}catch(a){console.error(a)}},$=async(a,d,e)=>{let f=a.body?.getReader();if(!f){G(!1),M(null);return}let g=new TextDecoder,h="";for(;;){let{value:a,done:i}=await f.read();if(i)break;let j=(h+=g.decode(a)).split("\n\n");for(let a of(h=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));c.current?.write(a.text)}}else if(a.startsWith("event: done")){let c=a.split("\n").find(a=>a.startsWith("data: "));if(c){let a=JSON.parse(c.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===d);h?.filePath&&X(h.filePath)}G(!1),M(null),r("")}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));c.current?.write(`\r
28
+ \x1b[31mError: ${a.message}\x1b[0m\r
29
+ `)}G(!1),M(null)}}S()},_=async(b,d)=>{c.current?.clear(),G(!0),K("console"),M({phase:b,featureName:d||a?.activeFeatureName||null});try{let c=await fetch("/api/phase",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"run",phase:b,featureName:d||a?.activeFeatureName,agentConfig:n,prompt:q,..."implementation"===b?{personas:v}:{}})});await $(c,b,d)}catch(a){c.current?.write(`\r
30
+ \x1b[31mExecution failed: ${a.message}\x1b[0m\r
31
+ `),G(!1),M(null)}},aa=async b=>{let d=b||a?.activeFeatureName||null;c.current?.clear(),G(!0),K("console"),M({phase:"implementation",featureName:d});try{let a=await fetch("/api/phase",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"run-gate",phase:"implementation",featureName:d,agentConfig:n,personas:v})});await $(a,"implementation",d)}catch(a){c.current?.write(`\r
32
+ \x1b[31mExecution failed: ${a.message}\x1b[0m\r
33
+ `),G(!1),M(null)}},ab=()=>{if(L?.phase!=="implementation")return;let b=a?.features.find(a=>a.name===L.featureName),c=b?.phases.find(a=>"implementation"===a.phase);return c?.personas?.find(a=>"running"===a.status)?.id},ac=async(b,c)=>{try{let d=c||a?.activeFeatureName||null,e=ab();await fetch("/api/phase",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"stop",phase:b,featureName:d,personaId:e})}),G(!1),M(null),S()}catch(a){console.error("Failed to stop phase:",a)}},ad=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)}},ae=async(c,d)=>{try{let e=await fetch("/api/phase",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"discard",phase:c,featureName:d||a?.activeFeatureName})}),f=await e.json();b(f),g?.path&&g.path.includes(c)&&h(null)}catch(a){console.error(a)}},af=async(c,d)=>{if(!a)return;let e=a.features.find(a=>a.name===c);if(!e)return;let f=["specification","clarification","planning","checklist","analyze","tasks","taskstoissues","implementation"],i=(()=>{for(let a of e.phases)if("approved"!==a.status)return a.phase;return"completed"})();if(i===d)return;let j="completed"===i?f.length:f.indexOf(i),k="completed"===d?f.length:f.indexOf(d);if(a.activeFeatureName!==c&&await U(c),k>j){for(let a=j;a<k;a++){let d=f[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&&_(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()),g?.path&&g.path.includes(d)&&h(null)}},ag=(()=>{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:ls[a.phase]};return{phase:"specification",label:"Specification"}})();return(0,d.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,d.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,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-xl",children:"\uD83C\uDF31"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Spec Kit Assistant"}),(0,d.jsxs)("p",{className:"text-[10px] text-zinc-400 font-mono",children:["WORKSPACE: ",a?"ACTIVE":"CONNECTING..."]})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.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,d.jsxs)("button",{onClick:()=>k("kanban"),className:`p-1.5 rounded-md transition text-xs flex items-center gap-1.5 ${"kanban"===j?"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,d.jsx)(li,{size:13}),(0,d.jsx)("span",{children:"Kanban"})]}),(0,d.jsxs)("button",{onClick:()=>k("dag"),className:`p-1.5 rounded-md transition text-xs flex items-center gap-1.5 ${"dag"===j?"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,d.jsx)(lj,{size:13}),(0,d.jsx)("span",{children:"DAG Map"})]})]}),(0,d.jsx)("button",{onClick:()=>I(!H),className:`p-2 border border-zinc-200 dark:border-zinc-800 rounded-lg transition hover:bg-zinc-100 dark:hover:bg-zinc-900 ${H?"bg-zinc-100 dark:bg-zinc-900 text-zinc-900 dark:text-zinc-50":"text-zinc-500"}`,title:"Configure AI Agent",children:(0,d.jsx)(lk,{size:14})}),(0,d.jsxs)("button",{onClick:()=>{let b=a?.activeFeatureName,c=a?.features.find(a=>a.name===b);B({name:b||"Workspace",phaseState:c?.phases.find(a=>"implementation"===a.phase)||{phase:"implementation",status:"idle",filePath:null,content:null}})},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 flex items-center gap-1.5 text-xs font-semibold",title:"Open Human Review Portal",children:[(0,d.jsx)(s,{size:14,className:"text-blue-500"}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Review Portal"})]}),(0,d.jsx)("button",{onClick:()=>{let a=window.document.documentElement;"light"===l?(a.classList.add("dark"),m("dark")):(a.classList.remove("dark"),m("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"===l?(0,d.jsx)(ll,{size:14}):(0,d.jsx)(lm,{size:14})})]})]}),(0,d.jsxs)("div",{className:"flex-1 flex overflow-hidden min-h-0",children:[(0,d.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 ${P?"w-12 items-center justify-between py-4":"w-64"}`,children:P?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{onClick:R,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,d.jsx)(u,{size:16})}),(0,d.jsxs)("div",{onClick:R,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,d.jsx)(ln,{size:18}),a?.features&&a.features.length>0&&(0,d.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,d.jsx)("div",{onClick:R,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: ${ag.label}`,children:(0,d.jsx)(lo,{size:16})})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.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,d.jsx)("span",{className:"text-[10px] font-bold uppercase tracking-wider text-zinc-400",children:"Features Manager"}),(0,d.jsx)("button",{onClick:R,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,d.jsx)(lp,{size:14})})]}),(0,d.jsx)("form",{onSubmit:V,className:"p-4 border-b border-zinc-200 dark:border-zinc-800 shrink-0",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("input",{type:"text",placeholder:"New feature name...",value:C,onChange:a=>D(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,d.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,d.jsx)(lq,{size:12})})]})}),(0,d.jsxs)("div",{className:"flex-1 overflow-y-auto p-3 space-y-1",style:{scrollbarWidth:"thin"},children:[(0,d.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,d.jsxs)("div",{onClick:()=>U(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,d.jsx)("span",{className:"truncate",children:b.name}),(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),W(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,d.jsx)(x,{size:10})})]},b.name)}),a?.features.length===0&&(0,d.jsx)("p",{className:"text-xs text-zinc-400 italic p-2",children:"No features created yet."})]}),(0,d.jsxs)("div",{className:"p-4 border-t border-zinc-200 dark:border-zinc-800 bg-white dark:bg-black shrink-0",children:[(0,d.jsxs)("div",{className:"flex justify-between items-center mb-1",children:[(0,d.jsxs)("span",{className:"text-[10px] font-bold uppercase tracking-wider text-zinc-400",children:["Trigger Agent: ",ag.label]}),(0,d.jsx)(lo,{size:10,className:"text-zinc-400"})]}),(0,d.jsx)("textarea",{placeholder:"Refinements or prompts...",value:q,onChange:a=>r(a.target.value),disabled:F||!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"}),F?(0,d.jsxs)("button",{onClick:()=>{L&&ac(L.phase,L.featureName)},className:"w-full mt-2 py-1.5 bg-red-650 hover:bg-red-700 text-white rounded-md text-xs font-semibold transition flex items-center justify-center gap-1",children:[(0,d.jsx)(x,{size:10})," Stop Execution"]}):(0,d.jsxs)("button",{onClick:()=>_(ag.phase,null),disabled:!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,d.jsx)(o,{size:10,fill:"currentColor"})," Run ",ag.label]})]})]})}),(0,d.jsxs)("main",{className:"flex-1 flex flex-col min-w-0 overflow-hidden bg-white dark:bg-black relative",children:[H&&(0,d.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,d.jsxs)("div",{className:"flex justify-between items-center mb-3",children:[(0,d.jsx)("h3",{className:"text-xs font-bold uppercase tracking-wider text-zinc-500",children:"AI Agent Config"}),(0,d.jsx)("button",{onClick:()=>I(!1),className:"p-1 hover:bg-zinc-100 dark:hover:bg-zinc-900 rounded",children:(0,d.jsx)(x,{size:12})})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-[10px] font-bold text-zinc-400 uppercase mb-1",children:"Agent CLI"}),(0,d.jsxs)("select",{value:n.agentType,onChange:a=>p({...n,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,d.jsx)("option",{value:"claude",children:"Claude CLI (Anthropic)"}),(0,d.jsx)("option",{value:"gemini",children:"Gemini CLI (Google)"}),(0,d.jsx)("option",{value:"copilot",children:"GitHub Copilot (ghcs)"}),(0,d.jsx)("option",{value:"openai",children:"OpenAI Codex"}),(0,d.jsx)("option",{value:"custom",children:"Custom Command"})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-[10px] font-bold text-zinc-400 uppercase mb-1",children:"Custom Binary Path (Optional)"}),(0,d.jsx)("input",{type:"text",placeholder:"e.g. /usr/local/bin/claude",value:n.agentPath||"",onChange:a=>p({...n,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,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-[10px] font-bold text-zinc-400 uppercase mb-1",children:"Custom Spawn Shell Command"}),(0,d.jsx)("input",{type:"text",placeholder:"e.g. my-agent {{prompt}}",value:n.customCommand||"",disabled:"custom"!==n.agentType,onChange:a=>p({...n,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,d.jsxs)("div",{className:"mt-4 pt-4 border-t border-zinc-200 dark:border-zinc-800",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,d.jsx)("label",{className:"block text-[10px] font-bold text-zinc-500 dark:text-zinc-400 uppercase tracking-wider",children:"Review Gate Agent Personas (runs in order, Tech Lead signs off)"}),(0,d.jsxs)("span",{className:"text-[10px] text-zinc-500 font-semibold bg-zinc-100 dark:bg-zinc-900 px-2 py-0.5 rounded border border-zinc-200 dark:border-zinc-800",children:[v.filter(a=>a.enabled).length,"/",v.length," enabled"]})]}),(0,d.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:v.map((a,b)=>(0,d.jsxs)("div",{className:"flex flex-col justify-between p-3.5 bg-zinc-50 dark:bg-zinc-950 border border-zinc-200 dark:border-zinc-800 rounded-lg hover:border-zinc-300 dark:hover:border-zinc-700 transition",children:[(0,d.jsxs)("div",{className:"flex justify-between items-start mb-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,d.jsx)("input",{type:"checkbox",checked:a.enabled,onChange:async c=>{let d=[...v];d[b]={...a,enabled:c.target.checked},w(d);try{await fetch("/api/personas",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)})}catch(a){console.error("Failed to save persona enable state:",a)}},className:"w-4 h-4 rounded border-zinc-300 dark:border-zinc-800 text-blue-500 focus:ring-0 cursor-pointer"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"text-xs font-bold text-zinc-800 dark:text-zinc-200",children:a.label}),(0,d.jsx)("span",{className:"ml-1.5 text-[9px] font-mono px-1 py-0.5 rounded bg-zinc-200/50 dark:bg-zinc-900 text-zinc-500 uppercase font-semibold",children:a.id})]})]}),(0,d.jsx)("button",{onClick:()=>z(a),className:"px-2 py-0.5 border border-zinc-200 dark:border-zinc-800 hover:bg-zinc-100 dark:hover:bg-zinc-900 text-[10px] font-bold rounded text-blue-500 dark:text-blue-400 transition",children:"Configure"})]}),(0,d.jsx)("p",{className:"text-[10px] text-zinc-500 dark:text-zinc-400 line-clamp-1 mb-2 font-medium",children:a.description||"No description provided."}),(0,d.jsxs)("div",{className:"flex justify-between items-center text-[9px] text-zinc-500 font-mono",children:[(0,d.jsx)("span",{className:"truncate max-w-[150px] font-semibold",children:a.command}),(0,d.jsx)("span",{className:"shrink-0 px-1 py-0.25 rounded bg-zinc-200 dark:bg-zinc-900 font-semibold",children:a.model||"N/A"})]})]},a.id))})]})]}),(0,d.jsxs)("div",{className:"flex-1 flex flex-col min-h-0",children:[!N&&(0,d.jsx)("div",{className:"flex-1 min-h-[50%] relative",children:a?"kanban"===j?(0,d.jsx)(E,{state:a,onRunPhase:_,onApprovePhase:ad,onDiscardPhase:ae,onSelectFeature:U,onDeleteFeature:W,onSelectPhaseFile:X,onCardDrop:af,onRerunGate:aa,onOpenReview:(a,b)=>B({name:a,phaseState:b}),onStopPhase:ac}):(0,d.jsx)(fp,{state:a,onSelectFeature:U,onSelectPhaseFile:X}):(0,d.jsx)("div",{className:"flex items-center justify-center h-full text-zinc-400 text-xs",children:"Loading Spec-Driven Development workspace state..."})}),(0,d.jsxs)("div",{className:`flex flex-col min-h-0 bg-white dark:bg-black transition-all duration-300 ${N?"flex-1 h-full":"h-[40%] border-t border-zinc-200 dark:border-zinc-800"}`,children:[(0,d.jsxs)("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,d.jsxs)("div",{className:"flex gap-4",children:[(0,d.jsx)("button",{onClick:()=>K("editor"),className:`text-xs font-bold tracking-wide transition pb-1 border-b-2 ${"editor"===J?"text-black dark:text-white border-black dark:border-white":"text-zinc-400 border-transparent"}`,children:"MARKDOWN EDITOR"}),(0,d.jsxs)("button",{onClick:()=>K("console"),className:`text-xs font-bold tracking-wide transition pb-1 border-b-2 ${"console"===J?"text-black dark:text-white border-black dark:border-white":"text-zinc-400 border-transparent"}`,children:["AGENT RUN CONSOLE ",F&&(0,d.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-blue-500 animate-pulse ml-1"})]}),(0,d.jsx)("button",{onClick:()=>K("terminal"),className:`text-xs font-bold tracking-wide transition pb-1 border-b-2 ${"terminal"===J?"text-black dark:text-white border-black dark:border-white":"text-zinc-400 border-transparent"}`,children:"WORKSPACE TERMINAL"})]}),(0,d.jsx)("button",{onClick:()=>O(!N),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:N?"Restore Layout":"Maximize Panel",children:N?(0,d.jsx)(fu,{size:13}):(0,d.jsx)(fv,{size:13})})]}),(0,d.jsxs)("div",{className:"flex-1 min-h-0 overflow-hidden",children:["editor"===J&&(0,d.jsx)("div",{className:"h-full p-3 bg-white dark:bg-black",children:(0,d.jsx)(fE,{filePath:g?.path||null,initialContent:g?.content||null,onSave:Y,onToggleTask:Z,state:a,isMaximized:N,onToggleMaximize:()=>O(!N),onSelectFile:X})}),(0,d.jsx)("div",{className:"console"===J?"h-full":"hidden",children:(0,d.jsx)(k7,{ref:c,active:"console"===J,running:F,onInput:a=>{L&&fetch("/api/phase",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"input",phase:L.phase,featureName:L.featureName,text:a,personaId:ab()})}).catch(a=>console.error("Failed to send input:",a))},onResize:(a,b)=>{L&&fetch("/api/phase",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"resize",phase:L.phase,featureName:L.featureName,cols:a,rows:b,personaId:ab()})}).catch(()=>{})}})}),"terminal"===J&&(0,d.jsx)(lr,{})]})]})]})]})]}),y&&(0,d.jsx)(k9,{isOpen:!0,onClose:()=>z(null),persona:y,onSave:T}),A&&(0,d.jsx)(lh,{isOpen:!0,onClose:()=>B(null),featureName:A.name,activePhaseState:A.phaseState,onApprove:()=>{ad("implementation",A.name),B(null)}})]})}}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[355,6],()=>b(b.s=920));module.exports=c})();