@ltm-blueverse/alpha-hub-studio 0.7.0 → 0.7.2

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 (54) hide show
  1. package/README.md +1 -20
  2. package/package.json +6 -17
  3. package/static/assets/DecisionWorkspace-BbxYoPCv.js +1 -0
  4. package/static/assets/{DiffMergeWorkspace-C8yIdDC7.js → DiffMergeWorkspace-I9BcvT3J.js} +1 -1
  5. package/static/assets/EntityResolutionTab-DZME6ngq.js +6 -0
  6. package/static/assets/{GraphInspectorPanel-Bbrbhd03.js → GraphInspectorPanel-ZkQtr_Oa.js} +1 -1
  7. package/static/assets/{GraphWorkspace-AxTFEhNP.js → GraphWorkspace-DjKI1vje.js} +37 -37
  8. package/static/assets/{ImportExportWorkspace-BK3TofDv.js → ImportExportWorkspace-FesluaxV.js} +2 -2
  9. package/static/assets/KGOverviewTab-CIuFOyUa.js +1 -0
  10. package/static/assets/LineageDiagram-BlTkwTG_.js +27 -0
  11. package/static/assets/{MarkdownContentViewer-Chx4ysCK.js → MarkdownContentViewer-B2I-lKUf.js} +4 -4
  12. package/static/assets/{MemoryWorkspace-CIjaTN_S.js → MemoryWorkspace-CbGHQGJQ.js} +2 -2
  13. package/static/assets/{OntologySummaryTab-NJ3ZrkoJ.js → OntologySummaryTab-Q3rXi9jh.js} +1 -1
  14. package/static/assets/{ReasoningWorkspace-B127Rd-S.js → ReasoningWorkspace-DSYffkef.js} +2 -2
  15. package/static/assets/RegistryTab-C9IfTx8j.js +11 -0
  16. package/static/assets/{SparqlWorkspace-RwPj2YK7.js → SparqlWorkspace-BHAlhIXU.js} +3 -3
  17. package/static/assets/{TimelinePanel-DmtiXgmN.js → TimelinePanel-D50aWGS7.js} +1 -1
  18. package/static/assets/{VocabularyWorkspace-YF9waL5N.js → VocabularyWorkspace-BUFmkjyq.js} +6 -6
  19. package/static/assets/{book-open-BqEIxx1e.js → book-open-CEYwt1ql.js} +1 -1
  20. package/static/assets/{chevron-right-CiEuNwKq.js → chevron-right-BnjhfQ0S.js} +1 -1
  21. package/static/assets/{circle-check-BToWKwbO.js → circle-check-CzC458Im.js} +1 -1
  22. package/static/assets/{copy-BfQXGhHP.js → copy-D1MBJLmb.js} +1 -1
  23. package/static/assets/{download-gQOgYz3q.js → download-BiH8WZKH.js} +1 -1
  24. package/static/assets/{external-link-DqNu6T-f.js → external-link-BRF01S2q.js} +1 -1
  25. package/static/assets/{file-text-Bbz-r0FQ.js → file-text-bY52r7Yt.js} +1 -1
  26. package/static/assets/{git-branch-B8yDcUSY.js → git-branch-apSLSDgQ.js} +1 -1
  27. package/static/assets/graphTheme-DCTRN8Qm.js +6 -0
  28. package/static/assets/{index-Bt8w1Tz_.css → index-3PtcB4_T.css} +1 -1
  29. package/static/assets/{index-DHWWI-uw.js → index-CVYHt6Z6.js} +81 -81
  30. package/static/assets/{index-Dli_3Iwd.js → index-D0ErQ1c2.js} +1 -1
  31. package/static/assets/{index-DtC_GayB.js → index-D1_G_our.js} +1 -1
  32. package/static/assets/index-DPG7Yem6.js +127 -0
  33. package/static/assets/{info-vaffNQOD.js → info-Bxj0ofiy.js} +1 -1
  34. package/static/assets/{layers-Cct6D_wK.js → layers-CXZNgF0V.js} +1 -1
  35. package/static/assets/{loader-circle-C8NUmtFx.js → loader-circle-CmyLCPAg.js} +1 -1
  36. package/static/assets/{neighborhoodPanelPlugin-w1yJlm0A.js → neighborhoodPanelPlugin-gLy7GAga.js} +1 -1
  37. package/static/assets/{pencil-DYlEC6ri.js → pencil-COLtDS12.js} +1 -1
  38. package/static/assets/{play-G1gyOk2a.js → play-CG0LOI9D.js} +1 -1
  39. package/static/assets/{queries-CYtdSB4H.js → queries-AYIcORqv.js} +1 -1
  40. package/static/assets/{refresh-cw-CL9OXZ89.js → refresh-cw-B1c5rNMc.js} +1 -1
  41. package/static/assets/{registryStore-MVt_NgVV.js → registryStore-BPopBcrC.js} +1 -1
  42. package/static/assets/{style-D8TqSrGs.js → style-DGS084C0.js} +1 -1
  43. package/static/assets/temporalOverlayPlugin-DzF7xO4p.js +1 -0
  44. package/static/assets/{trash-2-DiZNV6Gj.js → trash-2-CLBVEYNO.js} +1 -1
  45. package/static/assets/{x-DpqMYq96.js → x-lyk2jiOu.js} +1 -1
  46. package/static/index.html +3 -3
  47. package/static/assets/DecisionWorkspace-DG6zPNls.js +0 -1
  48. package/static/assets/EntityResolutionTab-RBysMLhB.js +0 -6
  49. package/static/assets/KGOverviewTab-D9EWKL_n.js +0 -1
  50. package/static/assets/LineageDiagram-XxBVa1Ij.js +0 -27
  51. package/static/assets/RegistryTab-BE2-yKLC.js +0 -11
  52. package/static/assets/graphTheme-DNKLxzKZ.js +0 -6
  53. package/static/assets/index-MVDNL3vw.js +0 -127
  54. package/static/assets/temporalOverlayPlugin-CRhLa1FU.js +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/TimelinePanel-DmtiXgmN.js","assets/index-DHWWI-uw.js","assets/query-vendor-BqVbYexz.js","assets/index-Bt8w1Tz_.css","assets/timeline-vendor-WyY-t3YQ.js","assets/timeline-vendor-lG7zfUUF.css","assets/graphTheme-DNKLxzKZ.js","assets/GraphInspectorPanel-Bbrbhd03.js","assets/MarkdownContentViewer-Chx4ysCK.js","assets/loader-circle-C8NUmtFx.js","assets/refresh-cw-CL9OXZ89.js","assets/copy-BfQXGhHP.js","assets/pencil-DYlEC6ri.js","assets/x-DpqMYq96.js","assets/external-link-DqNu6T-f.js","assets/graph-vendor-CUDaIrp7.js","assets/registryStore-MVt_NgVV.js","assets/layers-Cct6D_wK.js","assets/git-branch-B8yDcUSY.js","assets/play-G1gyOk2a.js","assets/neighborhoodPanelPlugin-w1yJlm0A.js","assets/temporalOverlayPlugin-CRhLa1FU.js"])))=>i.map(i=>d[i]);
2
- import{b as Ct,c as Xe,j as N,_ as Er,a as Oi}from"./index-DHWWI-uw.js";import{g as Wa,a as A,u as Fi,c as $i}from"./query-vendor-BqVbYexz.js";import{G as Jr,r as Bt,a as eo,f as Br,E as qi,D as za,b as Ki,c as Yi,N as Xi,S as Zi,F as Qi}from"./graph-vendor-CUDaIrp7.js";import{l as ho}from"./registryStore-MVt_NgVV.js";import{G as E,h as Rt,w as K,z as xt,c as ut,b as dt,g as Ji,d as Rn,E as es}from"./graphTheme-DNKLxzKZ.js";import{R as Va}from"./refresh-cw-CL9OXZ89.js";import{L as ts}from"./layers-Cct6D_wK.js";import{G as rs}from"./git-branch-B8yDcUSY.js";import{P as os}from"./play-G1gyOk2a.js";import{X as ns}from"./x-DpqMYq96.js";/**
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/TimelinePanel-D50aWGS7.js","assets/index-CVYHt6Z6.js","assets/query-vendor-BqVbYexz.js","assets/index-3PtcB4_T.css","assets/timeline-vendor-WyY-t3YQ.js","assets/timeline-vendor-lG7zfUUF.css","assets/graphTheme-DCTRN8Qm.js","assets/GraphInspectorPanel-ZkQtr_Oa.js","assets/MarkdownContentViewer-B2I-lKUf.js","assets/loader-circle-CmyLCPAg.js","assets/refresh-cw-B1c5rNMc.js","assets/copy-D1MBJLmb.js","assets/pencil-COLtDS12.js","assets/x-lyk2jiOu.js","assets/external-link-BRF01S2q.js","assets/graph-vendor-CUDaIrp7.js","assets/registryStore-BPopBcrC.js","assets/layers-CXZNgF0V.js","assets/git-branch-apSLSDgQ.js","assets/play-CG0LOI9D.js","assets/neighborhoodPanelPlugin-gLy7GAga.js","assets/temporalOverlayPlugin-DzF7xO4p.js"])))=>i.map(i=>d[i]);
2
+ import{b as Ct,c as Xe,j as N,_ as Er,a as Bi}from"./index-CVYHt6Z6.js";import{g as Wa,a as A,u as Fi,c as $i}from"./query-vendor-BqVbYexz.js";import{G as Jr,r as Ot,a as eo,f as Or,E as qi,D as za,b as Ki,c as Yi,N as Xi,S as Zi,F as Qi}from"./graph-vendor-CUDaIrp7.js";import{l as ho}from"./registryStore-BPopBcrC.js";import{G as E,h as Rt,w as K,z as xt,c as ut,b as dt,g as Ji,d as Rn,E as es}from"./graphTheme-DCTRN8Qm.js";import{R as Va}from"./refresh-cw-B1c5rNMc.js";import{L as ts}from"./layers-CXZNgF0V.js";import{G as rs}from"./git-branch-apSLSDgQ.js";import{P as os}from"./play-CG0LOI9D.js";import{X as ns}from"./x-lyk2jiOu.js";/**
3
3
  * @license lucide-react v1.8.0 - ISC
4
4
  *
5
5
  * This source code is licensed under the ISC license.
@@ -34,7 +34,7 @@ import{b as Ct,c as Xe,j as N,_ as Er,a as Oi}from"./index-DHWWI-uw.js";import{g
34
34
  *
35
35
  * This source code is licensed under the ISC license.
36
36
  * See the LICENSE file in the root directory of this source tree.
37
- */const gs=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],Ba=Ct("users",gs);/**
37
+ */const gs=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],Oa=Ct("users",gs);/**
38
38
  * @license lucide-react v1.8.0 - ISC
39
39
  *
40
40
  * This source code is licensed under the ISC license.
@@ -44,8 +44,8 @@ import{b as Ct,c as Xe,j as N,_ as Er,a as Oi}from"./index-DHWWI-uw.js";import{g
44
44
  *
45
45
  * This source code is licensed under the ISC license.
46
46
  * See the LICENSE file in the root directory of this source tree.
47
- */const vs=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],xs=Ct("zoom-out",vs);function br(t,e){return JSON.stringify([t,e])}function Jo(t,e){return JSON.stringify([t,e])}const j=new Jr({type:"directed",multi:!0,allowSelfLoops:!1});function Ss(t,e){const o=[];j.forEachDirectedEdge(t,e,n=>{o.push(String(n))});const r=o.length,a=new Map;o.forEach(n=>{const s=j.getEdgeAttributes(n),i=String(s.familyId||n);a.set(i,(a.get(i)??0)+1)}),o.sort((n,s)=>{const i=j.getEdgeAttributes(n),l=j.getEdgeAttributes(s),u=Number(l.visualPriority??0)-Number(i.visualPriority??0);if(u!==0)return u;const d=Number(l.weight??0)-Number(i.weight??0);return d!==0?d:n.localeCompare(s)}).forEach((n,s)=>{const i=j.getEdgeAttributes(n),l=String(i.familyId||n);j.mergeEdgeAttributes(n,{edgeId:n,familyId:l,sourceId:t,targetId:e,isParallelPair:r>1,parallelIndex:s,parallelCount:r,familySize:a.get(l)??1,curveGroup:Jo(t,e)})})}function Oa(t){for(const{id:e,attributes:o}of t)j.mergeNode(e,o)}function Fa(t){const e=new Map;for(const{id:o,familyId:r,source:a,target:n,attributes:s}of t){if(a===n)continue;const i=String(s.edgeId||o),l=String(s.familyId||r||i);j.hasNode(a)&&j.hasNode(n)&&(j.mergeDirectedEdgeWithKey(i,a,n,{...s,edgeId:i,familyId:l,sourceId:a,targetId:n}),e.set(br(a,n),{source:a,target:n}))}e.forEach(({source:o,target:r})=>{Ss(o,r)})}function ws(){j.clear()}function Fr(...t){return t.filter(Boolean).join(" ")}function Or(t){const e=Xe.c(11);if(e[0]!=="cfb1804724d22780a78a9168ccf5cc5d8ee78fc0ed9f619e68fa70032a0ef566"){for(let b=0;b<11;b+=1)e[b]=Symbol.for("react.memo_cache_sentinel");e[0]="cfb1804724d22780a78a9168ccf5cc5d8ee78fc0ed9f619e68fa70032a0ef566"}const{children:o,tone:r,padding:a,className:n,style:s}=t,i=r===void 0?"default":r,l=a===void 0?"default":a,u=i!=="default"&&`sem-surface--${i}`;let d;e[1]!==n||e[2]!==u?(d=Fr("sem-surface",u,n),e[1]=n,e[2]=u,e[3]=d):d=e[3];let c;e[4]!==o||e[5]!==l?(c=l==="none"?o:N.jsxDEV("div",{className:Fr("sem-surface-body",l==="tight"&&"sem-surface-body--tight"),children:o},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/ui/primitives.tsx",lineNumber:115,columnNumber:42},this),e[4]=o,e[5]=l,e[6]=c):c=e[6];let p;return e[7]!==s||e[8]!==d||e[9]!==c?(p=N.jsxDEV("div",{className:d,style:s,children:c},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/ui/primitives.tsx",lineNumber:124,columnNumber:10},this),e[7]=s,e[8]=d,e[9]=c,e[10]=p):p=e[10],p}function bt(t){const e=Xe.c(6);if(e[0]!=="cfb1804724d22780a78a9168ccf5cc5d8ee78fc0ed9f619e68fa70032a0ef566"){for(let l=0;l<6;l+=1)e[l]=Symbol.for("react.memo_cache_sentinel");e[0]="cfb1804724d22780a78a9168ccf5cc5d8ee78fc0ed9f619e68fa70032a0ef566"}const{children:o,tone:r}=t,a=r===void 0?"default":r,n=a!=="default"&&`sem-chip--${a}`;let s;e[1]!==n?(s=Fr("sem-chip",n),e[1]=n,e[2]=s):s=e[2];let i;return e[3]!==o||e[4]!==s?(i=N.jsxDEV("span",{className:s,children:o},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/ui/primitives.tsx",lineNumber:225,columnNumber:10},this),e[3]=o,e[4]=s,e[5]=i):i=e[5],i}function Ns(t){const e=Xe.c(9);if(e[0]!=="cfb1804724d22780a78a9168ccf5cc5d8ee78fc0ed9f619e68fa70032a0ef566"){for(let d=0;d<9;d+=1)e[d]=Symbol.for("react.memo_cache_sentinel");e[0]="cfb1804724d22780a78a9168ccf5cc5d8ee78fc0ed9f619e68fa70032a0ef566"}const{children:o,open:r,className:a}=t,n=r===void 0?!0:r;let s;e[1]!==a?(s=Fr("sem-inspector",a),e[1]=a,e[2]=s):s=e[2];const i=n?"block":"none";let l;e[3]!==i?(l={display:i},e[3]=i,e[4]=l):l=e[4];let u;return e[5]!==o||e[6]!==s||e[7]!==l?(u=N.jsxDEV(Or,{className:s,padding:"none",style:l,children:o},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/ui/primitives.tsx",lineNumber:308,columnNumber:10},this),e[5]=o,e[6]=s,e[7]=l,e[8]=u):u=e[8],u}const Es={id:"hover-activation",attach:()=>{},detach:()=>{},onNodeEnter:(t,e)=>{t.setHoveredNodeId(e)},onNodeLeave:(t,e)=>{t.getInteractionState().hoveredNodeId===e&&t.setHoveredNodeId(null)}},As={id:"click-selection",attach:()=>{},detach:()=>{},onNodeClick:(t,e)=>{t.setHoveredNodeId(e),t.onEdgeSelectionChange(""),t.getInteractionState().selectedNodeId===e?t.onNodeSelectionChange(""):t.onNodeSelectionChange(e)},onEdgeClick:(t,e)=>{t.setHoveredNodeId(null),t.getInteractionState().selectedEdgeId===e?t.onEdgeSelectionChange(""):t.onEdgeSelectionChange(e)},onStageClick:t=>{t.setHoveredNodeId(null),t.onEdgeSelectionChange(""),t.onNodeSelectionChange("")}},ks={id:"focus-camera",attach:()=>{},detach:()=>{},performAction:(t,e)=>e.type==="focusNode"?(t.focusNodeInView(e.nodeId),!0):e.type==="centerSelection"?(t.centerSelectionInView(e.nodeId),!0):e.type==="centerGroupedSelection"?(t.centerGroupedSelectionInView(e.nodeId),!0):!1};function Cs(){let t="",e="";return{id:"search-focus",attach:()=>{},detach:()=>{t="",e=""},onStateChange:(o,r)=>{const a=r.selectedNodeId,n=r.viewMode;if(n!==e){e=n,t=a;return}if(!a||a===t){t=a,e=n;return}t=a,e=n,o.dispatchAction({type:n==="grouped"?"centerGroupedSelection":"centerSelection",nodeId:a})}}}const Is=6,Ds=60;function _s(){let t="",e=null,o=0;function r(){o++,e!==null&&(clearTimeout(e),e=null)}function a(n,s,i){s>=Is||(e=setTimeout(()=>{i===o&&(n.refresh(),a(n,s+1,i))},Ds))}return{id:"path-highlight",attach:()=>{},detach:n=>{r(),t="",n.sigma.refresh()},onStateChange:(n,s)=>{const i=s.activePath.join("::");i!==t&&(t=i,r(),n.sigma.refresh(),s.activePath.length>2&&a(n.sigma,0,o))}}}const Gs={id:"fit-view",attach:()=>{},detach:()=>{},performAction:(t,e)=>e.type!=="fitView"?!1:(t.fitCurrentView(),!0)};function Ls(){let t=null;return{id:"view-mode-switch",attach:()=>{},detach:()=>{t=null},onStateChange:(e,o)=>{if(o.viewMode===t)return;t=o.viewMode;const r=o.focusedNodeId;if(o.viewMode==="focused"&&r){e.dispatchAction({type:"focusNode",nodeId:r});return}e.dispatchAction({type:"fitView"})}}}function wr(t,e=E){return String(t.baseColor||t.color||e.palette.semantic[0])}function $a(t,e=E){const o=new Map;return t.forEachNode((r,a)=>{if(a.hidden)return;const n=String(a.semanticGroup||a.nodeType||"entity"),s=String(a.semanticBaseColor||wr(a,e)),i=JSON.stringify([n,s]),l=o.get(i);l?l.count+=1:o.set(i,{id:i,group:n,color:s,count:1})}),[...o.values()].sort((r,a)=>r.group.localeCompare(a.group)||r.color.localeCompare(a.color))}const Ps=[["biomolecule",/\b(gene|protein|enzyme|receptor|target|transcript|rna|dna|mirna|biomolecule|peptide)\b/i],["condition",/\b(disease|condition|phenotype|symptom|disorder|syndrome|diagnosis|pathology|trait)\b/i],["compound",/\b(drug|chemical|compound|metabolite|molecule|small[_\s-]?molecule|ligand|therapeutic|medication|substance)\b/i],["process",/\b(pathway|process|mechanism|function|ontology|biological[_\s-]?process|cellular[_\s-]?process|program|module)\b/i]];function qa(t,e,o,r){const a=[t,e,o,String(r?.type??""),String(r?.category??""),String(r?.label??"")].filter(n=>typeof n=="string"&&n.trim().length>0).join(" ");for(const[n,s]of Ps)if(s.test(a))return n;return"entity"}var fo,jn;function en(){if(jn)return fo;jn=1;function t(o){return!o||typeof o!="object"||typeof o=="function"||Array.isArray(o)||o instanceof Set||o instanceof Map||o instanceof RegExp||o instanceof Date}function e(o,r){o=o||{};var a={};for(var n in r){var s=o[n],i=r[n];if(!t(i)){a[n]=e(s,i);continue}s===void 0?a[n]=i:a[n]=s}return a}return fo=e,fo}var mo,Hn;function Ms(){if(Hn)return mo;Hn=1;var t=Bt();return mo=function(o){if(!t(o))throw new Error("graphology-utils/infer-type: expecting a valid graphology instance.");var r=o.type;return r!=="mixed"?r:o.directedSize===0&&o.undirectedSize===0||o.directedSize>0&&o.undirectedSize>0?"mixed":o.directedSize>0?"directed":"undirected"},mo}var go,Tn;function Ar(){if(Tn)return go;Tn=1;function t(e){if(typeof e!="function")throw new Error("obliterator/iterator: expecting a function!");this.next=e}return typeof Symbol<"u"&&(t.prototype[Symbol.iterator]=function(){return this}),t.of=function(){var e=arguments,o=e.length,r=0;return new t(function(){return r>=o?{done:!0}:{done:!1,value:e[r++]}})},t.empty=function(){var e=new t(function(){return{done:!0}});return e},t.fromSequence=function(e){var o=0,r=e.length;return new t(function(){return o>=r?{done:!0}:{done:!1,value:e[o++]}})},t.is=function(e){return e instanceof t?!0:typeof e=="object"&&e!==null&&typeof e.next=="function"},go=t,go}var bo={},Wn;function ar(){return Wn||(Wn=1,(function(t){var e=Math.pow(2,8)-1,o=Math.pow(2,16)-1,r=Math.pow(2,32)-1,a=Math.pow(2,7)-1,n=Math.pow(2,15)-1,s=Math.pow(2,31)-1;t.getPointerArray=function(l){var u=l-1;if(u<=e)return Uint8Array;if(u<=o)return Uint16Array;if(u<=r)return Uint32Array;throw new Error("mnemonist: Pointer Array of size > 4294967295 is not supported.")},t.getSignedPointerArray=function(l){var u=l-1;return u<=a?Int8Array:u<=n?Int16Array:u<=s?Int32Array:Float64Array},t.getNumberType=function(l){return l===(l|0)?Math.sign(l)===-1?l<=127&&l>=-128?Int8Array:l<=32767&&l>=-32768?Int16Array:Int32Array:l<=255?Uint8Array:l<=65535?Uint16Array:Uint32Array:Float64Array};var i={Uint8Array:1,Int8Array:2,Uint16Array:3,Int16Array:4,Uint32Array:5,Int32Array:6,Float32Array:7,Float64Array:8};t.getMinimalRepresentation=function(l,u){var d=null,c=0,p,b,m,f,y;for(f=0,y=l.length;f<y;f++)m=u?u(l[f]):l[f],b=t.getNumberType(m),p=i[b.name],p>c&&(c=p,d=b);return d},t.isTypedArray=function(l){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView(l)},t.concat=function(){var l=0,u,d,c;for(u=0,c=arguments.length;u<c;u++)l+=arguments[u].length;var p=new arguments[0].constructor(l);for(u=0,d=0;u<c;u++)p.set(arguments[u],d),d+=arguments[u].length;return p},t.indices=function(l){for(var u=t.getPointerArray(l),d=new u(l),c=0;c<l;c++)d[c]=c;return d}})(bo)),bo}var yo,zn;function Rs(){if(zn)return yo;zn=1;var t=Ar(),e=ar().getPointerArray;function o(r,a){arguments.length<2&&(a=r,r=Array);var n=e(a);this.size=0,this.length=a,this.dense=new n(a),this.sparse=new n(a),this.vals=new r(a)}return o.prototype.clear=function(){this.size=0},o.prototype.has=function(r){var a=this.sparse[r];return a<this.size&&this.dense[a]===r},o.prototype.get=function(r){var a=this.sparse[r];if(a<this.size&&this.dense[a]===r)return this.vals[a]},o.prototype.set=function(r,a){var n=this.sparse[r];return n<this.size&&this.dense[n]===r?(this.vals[n]=a,this):(this.dense[this.size]=r,this.sparse[r]=this.size,this.vals[this.size]=a,this.size++,this)},o.prototype.delete=function(r){var a=this.sparse[r];return a>=this.size||this.dense[a]!==r?!1:(a=this.dense[this.size-1],this.dense[this.sparse[r]]=a,this.sparse[a]=this.sparse[r],this.size--,!0)},o.prototype.forEach=function(r,a){a=arguments.length>1?a:this;for(var n=0;n<this.size;n++)r.call(a,this.vals[n],this.dense[n])},o.prototype.keys=function(){var r=this.size,a=this.dense,n=0;return new t(function(){if(n<r){var s=a[n];return n++,{value:s}}return{done:!0}})},o.prototype.values=function(){var r=this.size,a=this.vals,n=0;return new t(function(){if(n<r){var s=a[n];return n++,{value:s}}return{done:!0}})},o.prototype.entries=function(){var r=this.size,a=this.dense,n=this.vals,s=0;return new t(function(){if(s<r){var i=[a[s],n[s]];return s++,{value:i}}return{done:!0}})},typeof Symbol<"u"&&(o.prototype[Symbol.iterator]=o.prototype.entries),o.prototype.inspect=function(){for(var r=new Map,a=0;a<this.size;a++)r.set(this.dense[a],this.vals[a]);return Object.defineProperty(r,"constructor",{value:o,enumerable:!1}),r.length=this.length,this.vals.constructor!==Array&&(r.type=this.vals.constructor.name),r},typeof Symbol<"u"&&(o.prototype[Symbol.for("nodejs.util.inspect.custom")]=o.prototype.inspect),yo=o,yo}var vo,Vn;function js(){if(Vn)return vo;Vn=1;var t=Ar(),e=ar().getPointerArray;function o(r){var a=e(r);this.start=0,this.size=0,this.capacity=r,this.dense=new a(r),this.sparse=new a(r)}return o.prototype.clear=function(){this.start=0,this.size=0},o.prototype.has=function(r){if(this.size===0)return!1;var a=this.sparse[r],n=a<this.capacity&&a>=this.start&&a<this.start+this.size||a<(this.start+this.size)%this.capacity;return n&&this.dense[a]===r},o.prototype.enqueue=function(r){var a=this.sparse[r];if(this.size!==0){var n=a<this.capacity&&a>=this.start&&a<this.start+this.size||a<(this.start+this.size)%this.capacity;if(n&&this.dense[a]===r)return this}return a=(this.start+this.size)%this.capacity,this.dense[a]=r,this.sparse[r]=a,this.size++,this},o.prototype.dequeue=function(){if(this.size!==0){var r=this.start;this.size--,this.start++,this.start===this.capacity&&(this.start=0);var a=this.dense[r];return this.sparse[a]=this.capacity,a}},o.prototype.forEach=function(r,a){a=arguments.length>1?a:this;for(var n=this.capacity,s=this.size,i=this.start,l=0;l<s;)r.call(a,this.dense[i],l,this),i++,l++,i===n&&(i=0)},o.prototype.values=function(){var r=this.dense,a=this.capacity,n=this.size,s=this.start,i=0;return new t(function(){if(i>=n)return{done:!0};var l=r[s];return s++,i++,s===a&&(s=0),{value:l,done:!1}})},typeof Symbol<"u"&&(o.prototype[Symbol.iterator]=o.prototype.values),o.prototype.inspect=function(){var r=[];return this.forEach(function(a){r.push(a)}),Object.defineProperty(r,"constructor",{value:o,enumerable:!1}),r.capacity=this.capacity,r},typeof Symbol<"u"&&(o.prototype[Symbol.for("nodejs.util.inspect.custom")]=o.prototype.inspect),vo=o,vo}var xo,Un;function Hs(){if(Un)return xo;Un=1;function t(o){return function(r){return typeof r!="number"&&(r=r.length),Math.floor(o()*r)}}var e=t(Math.random);return e.createRandomIndex=t,xo=e,xo}var Lr={},Bn;function Ts(){if(Bn)return Lr;Bn=1;var t=ar(),e=en(),o=eo().createEdgeWeightGetter,r=Symbol.for("nodejs.util.inspect.custom"),a={getEdgeWeight:"weight",keepDendrogram:!1,resolution:1};function n(i,l){l=e(l,a);var u=l.resolution,d=o(l.getEdgeWeight).fromEntry,c=(i.size-i.selfLoopCount)*2,p=t.getPointerArray(c),b=t.getPointerArray(i.order+1),m=l.getEdgeWeight?Float64Array:t.getPointerArray(i.size*2);this.C=i.order,this.M=0,this.E=c,this.U=0,this.resolution=u,this.level=0,this.graph=i,this.nodes=new Array(i.order),this.keepDendrogram=l.keepDendrogram,this.neighborhood=new b(c),this.weights=new m(c),this.loops=new m(i.order),this.starts=new p(i.order+1),this.belongings=new b(i.order),this.dendrogram=[],this.mapping=null,this.counts=new b(i.order),this.unused=new b(i.order),this.totalWeights=new m(i.order);var f={},y,h=0,v=0,x=this;i.forEachNode(function(g){x.nodes[h]=g,f[g]=h,v+=i.undirectedDegreeWithoutSelfLoops(g),x.starts[h]=v,x.belongings[h]=h,x.counts[h]=1,h++}),i.forEachEdge(function(g,w,C,I,k,D,_){if(y=d(g,w,C,I,k,D,_),C=f[C],I=f[I],x.M+=y,C===I)x.totalWeights[C]+=y*2,x.loops[C]=y*2;else{x.totalWeights[C]+=y,x.totalWeights[I]+=y;var L=--x.starts[C],G=--x.starts[I];x.neighborhood[L]=I,x.neighborhood[G]=C,x.weights[L]=y,x.weights[G]=y}}),this.starts[h]=this.E,this.keepDendrogram?this.dendrogram.push(this.belongings.slice()):this.mapping=this.belongings.slice()}n.prototype.isolate=function(i,l){var u=this.belongings[i];if(this.counts[u]===1)return u;var d=this.unused[--this.U],c=this.loops[i];return this.totalWeights[u]-=l+c,this.totalWeights[d]+=l+c,this.belongings[i]=d,this.counts[u]--,this.counts[d]++,d},n.prototype.move=function(i,l,u){var d=this.belongings[i],c=this.loops[i];this.totalWeights[d]-=l+c,this.totalWeights[u]+=l+c,this.belongings[i]=u;var p=this.counts[d]--===1;this.counts[u]++,p&&(this.unused[this.U++]=d)},n.prototype.computeNodeDegree=function(i){var l,u,d,c=0;for(l=this.starts[i],u=this.starts[i+1];l<u;l++)d=this.weights[l],c+=d;return c},n.prototype.expensiveIsolate=function(i){var l=this.computeNodeDegree(i);return this.isolate(i,l)},n.prototype.expensiveMove=function(i,l){var u=this.computeNodeDegree(i);this.move(i,u,l)},n.prototype.zoomOut=function(){var i=new Array(this.C-this.U),l={},u=this.nodes.length,d=0,c=0,p,b,m,f,y,h,v,x,g;for(p=0,m=this.C;p<m;p++)h=this.belongings[p],h in l||(l[h]=d,i[d]={adj:{},totalWeights:this.totalWeights[h],internalWeights:0},d++),this.belongings[p]=l[h];var w,C;if(this.keepDendrogram){for(w=this.dendrogram[this.level],C=new(t.getPointerArray(d))(u),p=0;p<u;p++)C[p]=this.belongings[w[p]];this.dendrogram.push(C)}else for(p=0;p<u;p++)this.mapping[p]=this.belongings[this.mapping[p]];for(p=0,m=this.C;p<m;p++)for(h=this.belongings[p],x=i[h],g=x.adj,x.internalWeights+=this.loops[p],b=this.starts[p],f=this.starts[p+1];b<f;b++){if(y=this.neighborhood[b],v=this.belongings[y],h===v){x.internalWeights+=this.weights[b];continue}v in g||(g[v]=0),g[v]+=this.weights[b]}for(this.C=d,y=0,h=0;h<d;h++){x=i[h],g=x.adj,h=+h,this.totalWeights[h]=x.totalWeights,this.loops[h]=x.internalWeights,this.counts[h]=1,this.starts[h]=y,this.belongings[h]=h;for(v in g)this.neighborhood[y]=+v,this.weights[y]=g[v],c++,y++}return this.starts[d]=c,this.E=c,this.U=0,this.level++,l},n.prototype.modularity=function(){var i,l,u,d,c,p=0,b=this.M*2,m=new Float64Array(this.C);for(u=0;u<this.C;u++)for(i=this.belongings[u],m[i]+=this.loops[u],d=this.starts[u],c=this.starts[u+1];d<c;d++)l=this.belongings[this.neighborhood[d]],i===l&&(m[i]+=this.weights[d]);for(u=0;u<this.C;u++)p+=m[u]/b-Math.pow(this.totalWeights[u]/b,2)*this.resolution;return p},n.prototype.delta=function(i,l,u,d){var c=this.M,p=this.totalWeights[d];return l+=this.loops[i],u/c-p*l*this.resolution/(2*c*c)},n.prototype.deltaWithOwnCommunity=function(i,l,u,d){var c=this.M,p=this.totalWeights[d];return l+=this.loops[i],u/c-(p-l)*l*this.resolution/(2*c*c)},n.prototype.fastDelta=function(i,l,u,d){var c=this.M,p=this.totalWeights[d];return l+=this.loops[i],u-l*p*this.resolution/(2*c)},n.prototype.fastDeltaWithOwnCommunity=function(i,l,u,d){var c=this.M,p=this.totalWeights[d];return l+=this.loops[i],u-l*(p-l)*this.resolution/(2*c)},n.prototype.bounds=function(i){return[this.starts[i],this.starts[i+1]]},n.prototype.project=function(){var i=this,l={};return i.nodes.slice(0,this.C).forEach(function(u,d){l[u]=Array.from(i.neighborhood.slice(i.starts[d],i.starts[d+1])).map(function(c){return i.nodes[c]})}),l},n.prototype.collect=function(i){arguments.length<1&&(i=this.level);var l={},u=this.keepDendrogram?this.dendrogram[i]:this.mapping,d,c;for(d=0,c=u.length;d<c;d++)l[this.nodes[d]]=u[d];return l},n.prototype.assign=function(i,l){arguments.length<2&&(l=this.level);var u=this.keepDendrogram?this.dendrogram[l]:this.mapping,d,c;for(d=0,c=u.length;d<c;d++)this.graph.setNodeAttribute(this.nodes[d],i,u[d])},n.prototype[r]=function(){var i={};Object.defineProperty(i,"constructor",{value:n,enumerable:!1}),i.C=this.C,i.M=this.M,i.E=this.E,i.U=this.U,i.resolution=this.resolution,i.level=this.level,i.nodes=this.nodes,i.starts=this.starts.slice(0,i.C+1);var l=["neighborhood","weights"],u=["counts","loops","belongings","totalWeights"],d=this;return l.forEach(function(c){i[c]=d[c].slice(0,i.E)}),u.forEach(function(c){i[c]=d[c].slice(0,i.C)}),i.unused=this.unused.slice(0,this.U),this.keepDendrogram?i.dendrogram=this.dendrogram:i.mapping=this.mapping,i};function s(i,l){l=e(l,a);var u=l.resolution,d=o(l.getEdgeWeight).fromEntry,c=(i.size-i.selfLoopCount)*2,p=t.getPointerArray(c),b=t.getPointerArray(i.order+1),m=l.getEdgeWeight?Float64Array:t.getPointerArray(i.size*2);this.C=i.order,this.M=0,this.E=c,this.U=0,this.resolution=u,this.level=0,this.graph=i,this.nodes=new Array(i.order),this.keepDendrogram=l.keepDendrogram,this.neighborhood=new b(c),this.weights=new m(c),this.loops=new m(i.order),this.starts=new p(i.order+1),this.offsets=new p(i.order),this.belongings=new b(i.order),this.dendrogram=[],this.counts=new b(i.order),this.unused=new b(i.order),this.totalInWeights=new m(i.order),this.totalOutWeights=new m(i.order);var f={},y,h=0,v=0,x=this;i.forEachNode(function(g){x.nodes[h]=g,f[g]=h,v+=i.outDegreeWithoutSelfLoops(g),x.starts[h]=v,v+=i.inDegreeWithoutSelfLoops(g),x.offsets[h]=v,x.belongings[h]=h,x.counts[h]=1,h++}),i.forEachEdge(function(g,w,C,I,k,D,_){if(y=d(g,w,C,I,k,D,_),C=f[C],I=f[I],x.M+=y,C===I)x.loops[C]+=y,x.totalInWeights[C]+=y,x.totalOutWeights[C]+=y;else{x.totalOutWeights[C]+=y,x.totalInWeights[I]+=y;var L=--x.starts[C],G=--x.offsets[I];x.neighborhood[L]=I,x.neighborhood[G]=C,x.weights[L]=y,x.weights[G]=y}}),this.starts[h]=this.E,this.keepDendrogram?this.dendrogram.push(this.belongings.slice()):this.mapping=this.belongings.slice()}return s.prototype.bounds=n.prototype.bounds,s.prototype.inBounds=function(i){return[this.offsets[i],this.starts[i+1]]},s.prototype.outBounds=function(i){return[this.starts[i],this.offsets[i]]},s.prototype.project=n.prototype.project,s.prototype.projectIn=function(){var i=this,l={};return i.nodes.slice(0,this.C).forEach(function(u,d){l[u]=Array.from(i.neighborhood.slice(i.offsets[d],i.starts[d+1])).map(function(c){return i.nodes[c]})}),l},s.prototype.projectOut=function(){var i=this,l={};return i.nodes.slice(0,this.C).forEach(function(u,d){l[u]=Array.from(i.neighborhood.slice(i.starts[d],i.offsets[d])).map(function(c){return i.nodes[c]})}),l},s.prototype.isolate=function(i,l,u){var d=this.belongings[i];if(this.counts[d]===1)return d;var c=this.unused[--this.U],p=this.loops[i];return this.totalInWeights[d]-=l+p,this.totalInWeights[c]+=l+p,this.totalOutWeights[d]-=u+p,this.totalOutWeights[c]+=u+p,this.belongings[i]=c,this.counts[d]--,this.counts[c]++,c},s.prototype.move=function(i,l,u,d){var c=this.belongings[i],p=this.loops[i];this.totalInWeights[c]-=l+p,this.totalInWeights[d]+=l+p,this.totalOutWeights[c]-=u+p,this.totalOutWeights[d]+=u+p,this.belongings[i]=d;var b=this.counts[c]--===1;this.counts[d]++,b&&(this.unused[this.U++]=c)},s.prototype.computeNodeInDegree=function(i){var l,u,d,c=0;for(l=this.offsets[i],u=this.starts[i+1];l<u;l++)d=this.weights[l],c+=d;return c},s.prototype.computeNodeOutDegree=function(i){var l,u,d,c=0;for(l=this.starts[i],u=this.offsets[i];l<u;l++)d=this.weights[l],c+=d;return c},s.prototype.expensiveMove=function(i,l){var u=this.computeNodeInDegree(i),d=this.computeNodeOutDegree(i);this.move(i,u,d,l)},s.prototype.zoomOut=function(){var i=new Array(this.C-this.U),l={},u=this.nodes.length,d=0,c=0,p,b,m,f,y,h,v,x,g,w,C,I,k;for(p=0,m=this.C;p<m;p++)h=this.belongings[p],h in l||(l[h]=d,i[d]={inAdj:{},outAdj:{},totalInWeights:this.totalInWeights[h],totalOutWeights:this.totalOutWeights[h],internalWeights:0},d++),this.belongings[p]=l[h];var D,_;if(this.keepDendrogram){for(D=this.dendrogram[this.level],_=new(t.getPointerArray(d))(u),p=0;p<u;p++)_[p]=this.belongings[D[p]];this.dendrogram.push(_)}else for(p=0;p<u;p++)this.mapping[p]=this.belongings[this.mapping[p]];for(p=0,m=this.C;p<m;p++)for(h=this.belongings[p],g=this.offsets[p],x=i[h],I=x.inAdj,k=x.outAdj,x.internalWeights+=this.loops[p],b=this.starts[p],f=this.starts[p+1];b<f;b++){if(y=this.neighborhood[b],v=this.belongings[y],w=b<g,C=w?k:I,h===v){w&&(x.internalWeights+=this.weights[b]);continue}v in C||(C[v]=0),C[v]+=this.weights[b]}for(this.C=d,y=0,h=0;h<d;h++){x=i[h],I=x.inAdj,k=x.outAdj,h=+h,this.totalInWeights[h]=x.totalInWeights,this.totalOutWeights[h]=x.totalOutWeights,this.loops[h]=x.internalWeights,this.counts[h]=1,this.starts[h]=y,this.belongings[h]=h;for(v in k)this.neighborhood[y]=+v,this.weights[y]=k[v],c++,y++;this.offsets[h]=y;for(v in I)this.neighborhood[y]=+v,this.weights[y]=I[v],c++,y++}return this.starts[d]=c,this.E=c,this.U=0,this.level++,l},s.prototype.modularity=function(){var i,l,u,d,c,p=0,b=this.M,m=new Float64Array(this.C);for(u=0;u<this.C;u++)for(i=this.belongings[u],m[i]+=this.loops[u],d=this.starts[u],c=this.offsets[u];d<c;d++)l=this.belongings[this.neighborhood[d]],i===l&&(m[i]+=this.weights[d]);for(u=0;u<this.C;u++)p+=m[u]/b-this.totalInWeights[u]*this.totalOutWeights[u]/Math.pow(b,2)*this.resolution;return p},s.prototype.delta=function(i,l,u,d,c){var p=this.M,b=this.totalInWeights[c],m=this.totalOutWeights[c],f=this.loops[i];return l+=f,u+=f,d/p-(u*b+l*m)*this.resolution/(p*p)},s.prototype.deltaWithOwnCommunity=function(i,l,u,d,c){var p=this.M,b=this.totalInWeights[c],m=this.totalOutWeights[c],f=this.loops[i];return l+=f,u+=f,d/p-(u*(b-l)+l*(m-u))*this.resolution/(p*p)},s.prototype.collect=n.prototype.collect,s.prototype.assign=n.prototype.assign,s.prototype[r]=function(){var i={};Object.defineProperty(i,"constructor",{value:s,enumerable:!1}),i.C=this.C,i.M=this.M,i.E=this.E,i.U=this.U,i.resolution=this.resolution,i.level=this.level,i.nodes=this.nodes,i.starts=this.starts.slice(0,i.C+1);var l=["neighborhood","weights"],u=["counts","offsets","loops","belongings","totalInWeights","totalOutWeights"],d=this;return l.forEach(function(c){i[c]=d[c].slice(0,i.E)}),u.forEach(function(c){i[c]=d[c].slice(0,i.C)}),i.unused=this.unused.slice(0,this.U),this.keepDendrogram?i.dendrogram=this.dendrogram:i.mapping=this.mapping,i},Lr.UndirectedLouvainIndex=n,Lr.DirectedLouvainIndex=s,Lr}var So,On;function Ws(){if(On)return So;On=1;var t=en(),e=Bt(),o=Ms(),r=Rs(),a=js(),n=Hs().createRandomIndex,s=Ts(),i=s.UndirectedLouvainIndex,l=s.DirectedLouvainIndex,u={nodeCommunityAttribute:"community",getEdgeWeight:"weight",fastLocalMoves:!0,randomWalk:!0,resolution:1,rng:Math.random};function d(h,v,x){var g=h.get(v);typeof g>"u"&&(g=0),g+=x,h.set(v,g)}var c=1e-10;function p(h,v,x,g,w){return Math.abs(g-w)<c?h===v?!1:x>h:g>w}function b(h,v,x){var g=new i(v,{getEdgeWeight:x.getEdgeWeight,keepDendrogram:h,resolution:x.resolution}),w=n(x.rng),C=!0,I=!0,k,D,_=new r(Float64Array,g.C),L,G,V,q,W,F,ee,U,T,P,z,te,Q,O,le,J,re=0,ce=0,ue=[],ge,se;for(x.fastLocalMoves&&(L=new a(g.C));C;){if(P=g.C,C=!1,I=!0,x.fastLocalMoves){for(se=0,F=x.randomWalk?w(P):0,ee=0;ee<P;ee++,F++)U=F%P,L.enqueue(U);for(;L.size!==0;){for(U=L.dequeue(),ce++,z=0,_.clear(),k=g.belongings[U],G=g.starts[U],V=g.starts[U+1];G<V;G++)T=g.neighborhood[G],q=g.weights[G],D=g.belongings[T],z+=q,d(_,D,q);for(O=g.fastDeltaWithOwnCommunity(U,z,_.get(k)||0,k),Q=k,W=0;W<_.size;W++)D=_.dense[W],D!==k&&(te=_.vals[W],re++,J=g.fastDelta(U,z,te,D),le=p(Q,k,D,J,O),le&&(O=J,Q=D));if(O<0){if(Q=g.isolate(U,z),Q===k)continue}else{if(Q===k)continue;g.move(U,z,Q)}for(C=!0,se++,G=g.starts[U],V=g.starts[U+1];G<V;G++)T=g.neighborhood[G],D=g.belongings[T],D!==Q&&L.enqueue(T)}ue.push(se)}else for(ge=[],ue.push(ge);I;){for(I=!1,se=0,F=x.randomWalk?w(P):0,ee=0;ee<P;ee++,F++){for(U=F%P,ce++,z=0,_.clear(),k=g.belongings[U],G=g.starts[U],V=g.starts[U+1];G<V;G++)T=g.neighborhood[G],q=g.weights[G],D=g.belongings[T],z+=q,d(_,D,q);for(O=g.fastDeltaWithOwnCommunity(U,z,_.get(k)||0,k),Q=k,W=0;W<_.size;W++)D=_.dense[W],D!==k&&(te=_.vals[W],re++,J=g.fastDelta(U,z,te,D),le=p(Q,k,D,J,O),le&&(O=J,Q=D));if(O<0){if(Q=g.isolate(U,z),Q===k)continue}else{if(Q===k)continue;g.move(U,z,Q)}I=!0,se++}ge.push(se),C=I||C}C&&g.zoomOut()}var Ce={index:g,deltaComputations:re,nodesVisited:ce,moves:ue};return Ce}function m(h,v,x){var g=new l(v,{getEdgeWeight:x.getEdgeWeight,keepDendrogram:h,resolution:x.resolution}),w=n(x.rng),C=!0,I=!0,k,D,_=new r(Float64Array,g.C),L,G,V,q,W,F,ee,U,T,P,z,te,Q,O,le,J,re,ce,ue,ge=0,se=0,Ce=[],_e,be;for(x.fastLocalMoves&&(L=new a(g.C));C;){if(te=g.C,C=!1,I=!0,x.fastLocalMoves){for(be=0,U=x.randomWalk?w(te):0,T=0;T<te;T++,U++)P=U%te,L.enqueue(P);for(;L.size!==0;){for(P=L.dequeue(),se++,Q=0,O=0,_.clear(),k=g.belongings[P],G=g.starts[P],V=g.starts[P+1],q=g.offsets[P];G<V;G++)W=G<q,z=g.neighborhood[G],F=g.weights[G],D=g.belongings[z],W?O+=F:Q+=F,d(_,D,F);for(re=g.deltaWithOwnCommunity(P,Q,O,_.get(k)||0,k),J=k,ee=0;ee<_.size;ee++)D=_.dense[ee],D!==k&&(le=_.vals[ee],ge++,ue=g.delta(P,Q,O,le,D),ce=p(J,k,D,ue,re),ce&&(re=ue,J=D));if(re<0){if(J=g.isolate(P,Q,O),J===k)continue}else{if(J===k)continue;g.move(P,Q,O,J)}for(C=!0,be++,G=g.starts[P],V=g.starts[P+1];G<V;G++)z=g.neighborhood[G],D=g.belongings[z],D!==J&&L.enqueue(z)}Ce.push(be)}else for(_e=[],Ce.push(_e);I;){for(I=!1,be=0,U=x.randomWalk?w(te):0,T=0;T<te;T++,U++){for(P=U%te,se++,Q=0,O=0,_.clear(),k=g.belongings[P],G=g.starts[P],V=g.starts[P+1],q=g.offsets[P];G<V;G++)W=G<q,z=g.neighborhood[G],F=g.weights[G],D=g.belongings[z],W?O+=F:Q+=F,d(_,D,F);for(re=g.deltaWithOwnCommunity(P,Q,O,_.get(k)||0,k),J=k,ee=0;ee<_.size;ee++)D=_.dense[ee],D!==k&&(le=_.vals[ee],ge++,ue=g.delta(P,Q,O,le,D),ce=p(J,k,D,ue,re),ce&&(re=ue,J=D));if(re<0){if(J=g.isolate(P,Q,O),J===k)continue}else{if(J===k)continue;g.move(P,Q,O,J)}I=!0,be++}_e.push(be),C=I||C}C&&g.zoomOut()}var Me={index:g,deltaComputations:ge,nodesVisited:se,moves:Ce};return Me}function f(h,v,x,g){if(!e(x))throw new Error("graphology-communities-louvain: the given graph is not a valid graphology instance.");var w=o(x);if(w==="mixed")throw new Error("graphology-communities-louvain: cannot run the algorithm on a true mixed graph.");g=t(g,u);var C=0;if(x.size===0){if(h){x.forEachNode(function(G){x.setNodeAttribute(G,g.nodeCommunityAttribute,C++)});return}var I={};return x.forEachNode(function(G){I[G]=C++}),v?{communities:I,count:x.order,deltaComputations:0,dendrogram:null,level:0,modularity:NaN,moves:null,nodesVisited:0,resolution:g.resolution}:I}var k=w==="undirected"?b:m,D=k(v,x,g),_=D.index;if(!v){if(h){_.assign(g.nodeCommunityAttribute);return}return _.collect()}var L={count:_.C,deltaComputations:D.deltaComputations,dendrogram:_.dendrogram,level:_.level,modularity:_.modularity(),moves:D.moves,nodesVisited:D.nodesVisited,resolution:g.resolution};return h?(_.assign(g.nodeCommunityAttribute),L):(L.communities=_.collect(),L)}var y=f.bind(null,!1,!1);return y.assign=f.bind(null,!0,!1),y.detailed=f.bind(null,!1,!0),y.defaults=u,So=y,So}var zs=Ws();const Vs=Wa(zs);var yt={},Ut={},Pr={},Fn;function Us(){return Fn||(Fn=1,Pr.ARRAY_BUFFER_SUPPORT=typeof ArrayBuffer<"u",Pr.SYMBOL_SUPPORT=typeof Symbol<"u"),Pr}var wo,$n;function tn(){if($n)return wo;$n=1;var t=Us(),e=t.ARRAY_BUFFER_SUPPORT,o=t.SYMBOL_SUPPORT;return wo=function(a,n){var s,i,l,u,d;if(!a)throw new Error("obliterator/forEach: invalid iterable.");if(typeof n!="function")throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(a)||e&&ArrayBuffer.isView(a)||typeof a=="string"||a.toString()==="[object Arguments]"){for(l=0,u=a.length;l<u;l++)n(a[l],l);return}if(typeof a.forEach=="function"){a.forEach(n);return}if(o&&Symbol.iterator in a&&typeof a.next!="function"&&(a=a[Symbol.iterator]()),typeof a.next=="function"){for(s=a,l=0;d=s.next(),d.done!==!0;)n(d.value,l),l++;return}for(i in a)a.hasOwnProperty(i)&&n(a[i],i)},wo}var No,qn;function Bs(){if(qn)return No;qn=1;var t=Ar(),e=tn();function o(){this.clear()}return o.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},o.prototype.enqueue=function(r){return this.items.push(r),++this.size},o.prototype.dequeue=function(){if(this.size){var r=this.items[this.offset];return++this.offset*2>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,r}},o.prototype.peek=function(){if(this.size)return this.items[this.offset]},o.prototype.forEach=function(r,a){a=arguments.length>1?a:this;for(var n=this.offset,s=0,i=this.items.length;n<i;n++,s++)r.call(a,this.items[n],s,this)},o.prototype.toArray=function(){return this.items.slice(this.offset)},o.prototype.values=function(){var r=this.items,a=this.offset;return new t(function(){if(a>=r.length)return{done:!0};var n=r[a];return a++,{value:n,done:!1}})},o.prototype.entries=function(){var r=this.items,a=this.offset,n=0;return new t(function(){if(a>=r.length)return{done:!0};var s=r[a];return a++,{value:[n++,s],done:!1}})},typeof Symbol<"u"&&(o.prototype[Symbol.iterator]=o.prototype.values),o.prototype.toString=function(){return this.toArray().join(",")},o.prototype.toJSON=function(){return this.toArray()},o.prototype.inspect=function(){var r=this.toArray();return Object.defineProperty(r,"constructor",{value:o,enumerable:!1}),r},typeof Symbol<"u"&&(o.prototype[Symbol.for("nodejs.util.inspect.custom")]=o.prototype.inspect),o.from=function(r){var a=new o;return e(r,function(n){a.enqueue(n)}),a},o.of=function(){return o.from(arguments)},No=o,No}var Eo,Kn;function Os(){return Kn||(Kn=1,Eo=function(e,o){var r=o.length;if(r!==0){var a=e.length;e.length+=r;for(var n=0;n<r;n++)e[a+n]=o[n]}}),Eo}var Yn;function Fs(){if(Yn)return Ut;Yn=1;var t=Bt(),e=Bs(),o=Os();function r(u,d,c){if(!t(u))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!u.hasNode(d))throw new Error('graphology-shortest-path: the "'+d+'" source node does not exist in the given graph.');if(!u.hasNode(c))throw new Error('graphology-shortest-path: the "'+c+'" target node does not exist in the given graph.');if(d=""+d,c=""+c,d===c)return[d];var p=u.inboundNeighbors.bind(u),b=u.outboundNeighbors.bind(u),m={},f={};m[d]=null,f[c]=null;var y=[d],h=[c],v,x,g,w,C,I,k,D,_=!1;e:for(;y.length&&h.length;)if(y.length<=h.length){for(v=y,y=[],C=0,k=v.length;C<k;C++)for(x=v[C],g=b(x),I=0,D=g.length;I<D;I++)if(w=g[I],w in m||(y.push(w),m[w]=x),w in f){_=!0;break e}}else for(v=h,h=[],C=0,k=v.length;C<k;C++)for(x=v[C],g=p(x),I=0,D=g.length;I<D;I++)if(w=g[I],w in f||(h.push(w),f[w]=x),w in m){_=!0;break e}if(!_)return null;for(var L=[];w;)L.unshift(w),w=m[w];for(w=f[L[L.length-1]];w;)L.push(w),w=f[w];return L.length?L:null}function a(u,d){if(!t(u))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<2)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 2.");if(!u.hasNode(d))throw new Error('graphology-shortest-path: the "'+d+'" source node does not exist in the given graph.');d=""+d;var c={},p={},b,m,f,y,h,v;for(c[d]=!0,p[d]=[d];Object.keys(c).length;){b=c,c={};for(f in b)for(m=u.outboundNeighbors(f),h=0,v=m.length;h<v;h++)y=m[h],p[y]||(p[y]=p[f].concat(y),c[y]=!0)}return p}function n(u,d,c){if(!t(d))throw new Error("graphology-shortest-path: invalid graphology instance.");if(!d.hasNode(c))throw new Error('graphology-shortest-path: the "'+c+'" source node does not exist in the given graph.');c=""+c;var p=new Set,b={},m=0;b[c]=0;for(var f=[c],y,h,v;f.length!==0;){var x=[];for(y=0,h=f.length;y<h;y++)v=f[y],!p.has(v)&&(p.add(v),o(x,d[u](v)),b[v]=m);m++,f=x}return b}var s=n.bind(null,"outboundNeighbors"),i=n.bind(null,"neighbors");function l(u,d){d=""+d;var c=[],p={},b={},m=u.nodes(),f,y,h,v,x,g,w,C,I;for(g=0,C=m.length;g<C;g++)v=m[g],p[v]=[],b[v]=0;var k={};b[d]=1,k[d]=0;for(var D=e.of(d);D.size;)for(v=D.dequeue(),c.push(v),f=k[v],y=b[v],h=u.outboundNeighbors(v),w=0,I=h.length;w<I;w++)x=h[w],x in k||(D.enqueue(x),k[x]=f+1),k[x]===f+1&&(b[x]+=y,p[x].push(v));return[c,p,b]}return Ut.bidirectional=r,Ut.singleSource=a,Ut.singleSourceLength=s,Ut.undirectedSingleSourceLength=i,Ut.brandes=l,Ut}var Ao={},Xn;function $s(){if(Xn)return Ao;Xn=1;var t=function(){return!0};return Ao.edgePathFromNodePath=function(e,o){var r=o.length,a,n,s,i;if(r<2)return n=o[0],i=e.multi?e.findEdge(n,n,t):e.edge(n,n),i?[i]:[];r--;var l=new Array(r);for(a=0;a<r;a++){if(n=o[a],s=o[a+1],i=e.multi?e.findOutboundEdge(n,s,t):e.edge(n,s),i===void 0)throw new Error("graphology-shortest-path: given path is impossible in given graph.");l[a]=i}return l},Ao}var hr={},er={},Zn;function qs(){if(Zn)return er;Zn=1;var t=function(a,n){return a<n?-1:a>n?1:0},e=function(a,n){return a<n?1:a>n?-1:0};function o(a){return function(n,s){return a(s,n)}}function r(a){return a===2?function(n,s){return n[0]<s[0]?-1:n[0]>s[0]?1:n[1]<s[1]?-1:n[1]>s[1]?1:0}:function(n,s){for(var i=0;i<a;){if(n[i]<s[i])return-1;if(n[i]>s[i])return 1;i++}return 0}}return er.DEFAULT_COMPARATOR=t,er.DEFAULT_REVERSE_COMPARATOR=e,er.reverseComparator=o,er.createTupleComparator=r,er}var tr={},Qn;function rn(){if(Qn)return tr;Qn=1;var t=tn(),e=ar();function o(s){return Array.isArray(s)||e.isTypedArray(s)}function r(s){if(typeof s.length=="number")return s.length;if(typeof s.size=="number")return s.size}function a(s){var i=r(s),l=typeof i=="number"?new Array(i):[],u=0;return t(s,function(d){l[u++]=d}),l}function n(s){var i=r(s),l=typeof i=="number"?e.getPointerArray(i):Array,u=typeof i=="number"?new Array(i):[],d=typeof i=="number"?new l(i):[],c=0;return t(s,function(p){u[c]=p,d[c]=c++}),[u,d]}return tr.isArrayLike=o,tr.guessLength=r,tr.toArray=a,tr.toArrayWithIndices=n,tr}var ko,Jn;function on(){if(Jn)return ko;Jn=1;var t=tn(),e=qs(),o=rn(),r=e.DEFAULT_COMPARATOR,a=e.reverseComparator;function n(h,v,x,g){for(var w=v[g],C,I;g>x;){if(C=g-1>>1,I=v[C],h(w,I)<0){v[g]=I,g=C;continue}break}v[g]=w}function s(h,v,x){for(var g=v.length,w=x,C=v[x],I=2*x+1,k;I<g;)k=I+1,k<g&&h(v[I],v[k])>=0&&(I=k),v[x]=v[I],x=I,I=2*x+1;v[x]=C,n(h,v,w,x)}function i(h,v,x){v.push(x),n(h,v,0,v.length-1)}function l(h,v){var x=v.pop();if(v.length!==0){var g=v[0];return v[0]=x,s(h,v,0),g}return x}function u(h,v,x){if(v.length===0)throw new Error("mnemonist/heap.replace: cannot pop an empty heap.");var g=v[0];return v[0]=x,s(h,v,0),g}function d(h,v,x){var g;return v.length!==0&&h(v[0],x)<0&&(g=v[0],v[0]=x,x=g,s(h,v,0)),x}function c(h,v){for(var x=v.length,g=x>>1,w=g;--w>=0;)s(h,v,w)}function p(h,v){for(var x=v.length,g=0,w=new Array(x);g<x;)w[g++]=l(h,v);return w}function b(h,v,x){arguments.length===2&&(x=v,v=h,h=r);var g=a(h),w,C,I,k=1/0,D;if(v===1){if(o.isArrayLike(x)){for(w=0,C=x.length;w<C;w++)I=x[w],(k===1/0||h(I,k)<0)&&(k=I);return D=new x.constructor(1),D[0]=k,D}return t(x,function(L){(k===1/0||h(L,k)<0)&&(k=L)}),[k]}if(o.isArrayLike(x)){if(v>=x.length)return x.slice().sort(h);for(D=x.slice(0,v),c(g,D),w=v,C=x.length;w<C;w++)g(x[w],D[0])>0&&u(g,D,x[w]);return D.sort(h)}var _=o.guessLength(x);return _!==null&&_<v&&(v=_),D=new Array(v),w=0,t(x,function(L){w<v?D[w]=L:(w===v&&c(g,D),g(L,D[0])>0&&u(g,D,L)),w++}),D.length>w&&(D.length=w),D.sort(h)}function m(h,v,x){arguments.length===2&&(x=v,v=h,h=r);var g=a(h),w,C,I,k=-1/0,D;if(v===1){if(o.isArrayLike(x)){for(w=0,C=x.length;w<C;w++)I=x[w],(k===-1/0||h(I,k)>0)&&(k=I);return D=new x.constructor(1),D[0]=k,D}return t(x,function(L){(k===-1/0||h(L,k)>0)&&(k=L)}),[k]}if(o.isArrayLike(x)){if(v>=x.length)return x.slice().sort(g);for(D=x.slice(0,v),c(h,D),w=v,C=x.length;w<C;w++)h(x[w],D[0])>0&&u(h,D,x[w]);return D.sort(g)}var _=o.guessLength(x);return _!==null&&_<v&&(v=_),D=new Array(v),w=0,t(x,function(L){w<v?D[w]=L:(w===v&&c(h,D),h(L,D[0])>0&&u(h,D,L)),w++}),D.length>w&&(D.length=w),D.sort(g)}function f(h){if(this.clear(),this.comparator=h||r,typeof this.comparator!="function")throw new Error("mnemonist/Heap.constructor: given comparator should be a function.")}f.prototype.clear=function(){this.items=[],this.size=0},f.prototype.push=function(h){return i(this.comparator,this.items,h),++this.size},f.prototype.peek=function(){return this.items[0]},f.prototype.pop=function(){return this.size!==0&&this.size--,l(this.comparator,this.items)},f.prototype.replace=function(h){return u(this.comparator,this.items,h)},f.prototype.pushpop=function(h){return d(this.comparator,this.items,h)},f.prototype.consume=function(){return this.size=0,p(this.comparator,this.items)},f.prototype.toArray=function(){return p(this.comparator,this.items.slice())},f.prototype.inspect=function(){var h=this.toArray();return Object.defineProperty(h,"constructor",{value:f,enumerable:!1}),h},typeof Symbol<"u"&&(f.prototype[Symbol.for("nodejs.util.inspect.custom")]=f.prototype.inspect);function y(h){if(this.clear(),this.comparator=h||r,typeof this.comparator!="function")throw new Error("mnemonist/MaxHeap.constructor: given comparator should be a function.");this.comparator=a(this.comparator)}return y.prototype=f.prototype,f.from=function(h,v){var x=new f(v),g;return o.isArrayLike(h)?g=h.slice():g=o.toArray(h),c(x.comparator,g),x.items=g,x.size=g.length,x},y.from=function(h,v){var x=new y(v),g;return o.isArrayLike(h)?g=h.slice():g=o.toArray(h),c(x.comparator,g),x.items=g,x.size=g.length,x},f.siftUp=s,f.siftDown=n,f.push=i,f.pop=l,f.replace=u,f.pushpop=d,f.heapify=c,f.consume=p,f.nsmallest=b,f.nlargest=m,f.MinHeap=f,f.MaxHeap=y,ko=f,ko}var ea;function Ks(){if(ea)return hr;ea=1;var t=Bt(),e=eo().createEdgeWeightGetter,o=on(),r="weight";function a(c,p){return c[0]>p[0]?1:c[0]<p[0]?-1:c[1]>p[1]?1:c[1]<p[1]?-1:c[2]>p[2]?1:c[2]<p[2]?-1:0}function n(c,p){return c[0]>p[0]?1:c[0]<p[0]?-1:c[1]>p[1]?1:c[1]<p[1]?-1:c[2]>p[2]?1:c[2]<p[2]?-1:c[3]>p[3]?1:c[3]<p[3]?-1:0}function s(c,p,b,m){if(p=""+p,b=""+b,!t(c))throw new Error("graphology-shortest-path/dijkstra: invalid graphology instance.");if(p&&!c.hasNode(p))throw new Error('graphology-shortest-path/dijkstra: the "'+p+'" source node does not exist in the given graph.');if(b&&!c.hasNode(b))throw new Error('graphology-shortest-path/dijkstra: the "'+b+'" target node does not exist in the given graph.');if(m=e(m||r).fromMinimalEntry,p===b)return[0,[p]];var f=[{},{}],y=[{},{}],h=[new o(a),new o(a)],v=[{},{}];y[0][p]=[p],y[1][b]=[b],v[0][p]=0,v[1][b]=0;var x=[],g=1/0,w=0,C=1,I,k,D,_,L,G,V,q,W;for(h[0].push([0,w++,p]),h[1].push([0,w++,b]);h[0].size&&h[1].size;)if(C=1-C,I=h[C].pop(),_=I[0],L=I[2],!(L in f[C])){if(f[C][L]=_,L in f[1-C])return[g,x];for(k=C===1?c.inboundEdges(L):c.outboundEdges(L),q=0,W=k.length;q<W;q++){if(V=k[q],G=c.opposite(L,V),D=f[C][L]+m(V,c.getEdgeAttributes(V)),G in f[C]&&D<f[C][G])throw Error("graphology-shortest-path/dijkstra: contradictory paths found. Do some of your edges have a negative weight?");(!(G in v[C])||D<v[C][G])&&(v[C][G]=D,h[C].push([D,w++,G]),y[C][G]=y[C][L].concat(G),G in v[0]&&G in v[1]&&(_=v[0][G]+v[1][G],(x.length===0||g>_)&&(g=_,x=y[0][G].concat(y[1][G].slice(0,-1).reverse()))))}}return[1/0,null]}function i(c,p,b,m,f,y){if(!t(c))throw new Error("graphology-shortest-path/dijkstra: invalid graphology instance.");b=e(b||r).fromMinimalEntry;var h={},v={},x=new o(a),g=0,w,C,I,k,D,_,L,G,V,q,W;for(G=0,q=p.length;G<q;G++)k=p[G],v[k]=0,x.push([0,g++,k]),y&&(y[k]=[k]);for(;x.size;)if(C=x.pop(),L=C[0],k=C[2],!(k in h)){if(h[k]=L,k===f)break;for(w=c.outboundEdges(k),V=0,W=w.length;V<W;V++){if(_=w[V],D=c.opposite(k,_),I=b(_,c.getEdgeAttributes(_))+h[k],D in h&&I<h[D])throw Error("graphology-shortest-path/dijkstra: contradictory paths found. Do some of your edges have a negative weight?");(!(D in v)||I<v[D])&&(v[D]=I,x.push([I,g++,D]),y&&(y[D]=y[k].concat(D)))}}return h}function l(c,p,b){var m={};return i(c,[p],b,0,null,m),m}function u(c,p,b,m){return s(c,p,b,m)[1]}function d(c,p,b){p=""+p,b=e(b||r).fromMinimalEntry;var m=[],f={},y={},h=c.nodes(),v,x,g,w,C,I,k,D,_,L;for(_=0,L=h.length;_<L;_++)I=h[_],f[I]=[],y[I]=0;var G={};y[p]=1;var V={};V[p]=0;var q=0,W=new o(n);for(W.push([0,q++,p,p]);W.size;)if(x=W.pop(),w=x[0],g=x[2],I=x[3],!(I in G))for(y[I]+=y[g],m.push(I),G[I]=w,v=c.outboundEdges(I),_=0,L=v.length;_<L;_++)D=v[_],k=c.opposite(I,D),C=w+b(D,c.getEdgeAttributes(D)),!(k in G)&&(!(k in V)||C<V[k])?(V[k]=C,W.push([C,q++,I,k]),y[k]=0,f[k]=[I]):C===V[k]&&(y[k]+=y[I],f[k].push(I));return[m,f,y]}return hr.bidirectional=u,hr.singleSource=l,hr.brandes=d,hr}var Co={},ta;function Ys(){if(ta)return Co;ta=1;var t=Bt(),e=eo().createEdgeWeightGetter,o=on(),r="weight";function a(s,i){return s[0]>i[0]?1:s[0]<i[0]?-1:s[1]>i[1]?1:s[1]<i[1]?-1:0}function n(s,i,l,u,d,c){if(!t(s))throw new Error("graphology-shortest-path/astar: invalid graphology instance.");if(i&&!s.hasNode(i))throw new Error('graphology-shortest-path/astar: the "'+i+'" source node does not exist in the given graph.');if(l&&!s.hasNode(l))throw new Error('graphology-shortest-path/astar: the "'+l+'" target node does not exist in the given graph.');if(u=e(u||r).fromMinimalEntry,i===l)return[i];d=d||function(){return 0},c=c||{};var p=0,b=new o(a);b.push([0,p++,i,0,null]);var m={},f={},y,h,v,x,g,w,C,I,k,D,_,L;function G(V,q,W,F){if(L=h===W?F:W,D=u(V,q),D!==null){if(_=x+D,m.hasOwnProperty(L)){if(v=m[L],I=v[0],k=v[1],I<=_)return}else k=d(L,l);c.cutoff&&_+k>c.cutoff||(m[L]=[_,k],b.push([_+k,p++,L,_,h]))}}for(;b.size!==0;){if(y=b.pop(),h=y[2],x=y[3],g=y[4],h===l){for(w=[h],C=g;C!==null;)w.push(C),C=f[C];return w.reverse(),w}f.hasOwnProperty(h)&&(f[h]===null||(I=m[h][0],I<x))||(f[h]=g,s.forEachOutboundEdge(h,G))}return null}return Co.bidirectional=n,Co}var ra;function Xs(){if(ra)return yt;ra=1;var t=Fs(),e=$s();return yt.unweighted=t,yt.dijkstra=Ks(),yt.astar=Ys(),yt.bidirectional=t.bidirectional,yt.singleSource=t.singleSource,yt.singleSourceLength=t.singleSourceLength,yt.undirectedSingleSourceLength=t.undirectedSingleSourceLength,yt.brandes=t.brandes,yt.edgePathFromNodePath=e.edgePathFromNodePath,yt}var Zs=Xs(),Mr={},Io,oa;function Qs(){if(oa)return Io;oa=1;var t=rn(),e=Ar();function o(r,a){if(arguments.length<2)throw new Error("mnemonist/fixed-deque: expecting an Array class and a capacity.");if(typeof a!="number"||a<=0)throw new Error("mnemonist/fixed-deque: `capacity` should be a positive number.");this.ArrayClass=r,this.capacity=a,this.items=new r(this.capacity),this.clear()}return o.prototype.clear=function(){this.start=0,this.size=0},o.prototype.push=function(r){if(this.size===this.capacity)throw new Error("mnemonist/fixed-deque.push: deque capacity ("+this.capacity+") exceeded!");var a=this.start+this.size;return a>=this.capacity&&(a-=this.capacity),this.items[a]=r,++this.size},o.prototype.unshift=function(r){if(this.size===this.capacity)throw new Error("mnemonist/fixed-deque.unshift: deque capacity ("+this.capacity+") exceeded!");var a=this.start-1;return this.start===0&&(a=this.capacity-1),this.items[a]=r,this.start=a,++this.size},o.prototype.pop=function(){if(this.size!==0){this.size--;var r=this.start+this.size;return r>=this.capacity&&(r-=this.capacity),this.items[r]}},o.prototype.shift=function(){if(this.size!==0){var r=this.start;return this.size--,this.start++,this.start===this.capacity&&(this.start=0),this.items[r]}},o.prototype.peekFirst=function(){if(this.size!==0)return this.items[this.start]},o.prototype.peekLast=function(){if(this.size!==0){var r=this.start+this.size-1;return r>=this.capacity&&(r-=this.capacity),this.items[r]}},o.prototype.get=function(r){if(!(this.size===0||r>=this.capacity))return r=this.start+r,r>=this.capacity&&(r-=this.capacity),this.items[r]},o.prototype.forEach=function(r,a){a=arguments.length>1?a:this;for(var n=this.capacity,s=this.size,i=this.start,l=0;l<s;)r.call(a,this.items[i],l,this),i++,l++,i===n&&(i=0)},o.prototype.toArray=function(){var r=this.start+this.size;if(r<this.capacity)return this.items.slice(this.start,r);for(var a=new this.ArrayClass(this.size),n=this.capacity,s=this.size,i=this.start,l=0;l<s;)a[l]=this.items[i],i++,l++,i===n&&(i=0);return a},o.prototype.values=function(){var r=this.items,a=this.capacity,n=this.size,s=this.start,i=0;return new e(function(){if(i>=n)return{done:!0};var l=r[s];return s++,i++,s===a&&(s=0),{value:l,done:!1}})},o.prototype.entries=function(){var r=this.items,a=this.capacity,n=this.size,s=this.start,i=0;return new e(function(){if(i>=n)return{done:!0};var l=r[s];return s++,s===a&&(s=0),{value:[i++,l],done:!1}})},typeof Symbol<"u"&&(o.prototype[Symbol.iterator]=o.prototype.values),o.prototype.inspect=function(){var r=this.toArray();return r.type=this.ArrayClass.name,r.capacity=this.capacity,Object.defineProperty(r,"constructor",{value:o,enumerable:!1}),r},typeof Symbol<"u"&&(o.prototype[Symbol.for("nodejs.util.inspect.custom")]=o.prototype.inspect),o.from=function(r,a,n){if(arguments.length<3&&(n=t.guessLength(r),typeof n!="number"))throw new Error("mnemonist/fixed-deque.from: could not guess iterable length. Please provide desired capacity as last argument.");var s=new o(a,n);if(t.isArrayLike(r)){var i,l;for(i=0,l=r.length;i<l;i++)s.items[i]=r[i];return s.size=l,s}return t.forEach(r,function(u){s.push(u)}),s},Io=o,Io}var Do,na;function Js(){if(na)return Do;na=1;var t=Ar(),e=rn();function o(r,a){if(arguments.length<2)throw new Error("mnemonist/fixed-stack: expecting an Array class and a capacity.");if(typeof a!="number"||a<=0)throw new Error("mnemonist/fixed-stack: `capacity` should be a positive number.");this.capacity=a,this.ArrayClass=r,this.items=new this.ArrayClass(this.capacity),this.clear()}return o.prototype.clear=function(){this.size=0},o.prototype.push=function(r){if(this.size===this.capacity)throw new Error("mnemonist/fixed-stack.push: stack capacity ("+this.capacity+") exceeded!");return this.items[this.size++]=r,this.size},o.prototype.pop=function(){if(this.size!==0)return this.items[--this.size]},o.prototype.peek=function(){return this.items[this.size-1]},o.prototype.forEach=function(r,a){a=arguments.length>1?a:this;for(var n=0,s=this.items.length;n<s;n++)r.call(a,this.items[s-n-1],n,this)},o.prototype.toArray=function(){for(var r=new this.ArrayClass(this.size),a=this.size-1,n=this.size;n--;)r[n]=this.items[a-n];return r},o.prototype.values=function(){var r=this.items,a=this.size,n=0;return new t(function(){if(n>=a)return{done:!0};var s=r[a-n-1];return n++,{value:s,done:!1}})},o.prototype.entries=function(){var r=this.items,a=this.size,n=0;return new t(function(){if(n>=a)return{done:!0};var s=r[a-n-1];return{value:[n++,s],done:!1}})},typeof Symbol<"u"&&(o.prototype[Symbol.iterator]=o.prototype.values),o.prototype.toString=function(){return this.toArray().join(",")},o.prototype.toJSON=function(){return this.toArray()},o.prototype.inspect=function(){var r=this.toArray();return r.type=this.ArrayClass.name,r.capacity=this.capacity,Object.defineProperty(r,"constructor",{value:o,enumerable:!1}),r},typeof Symbol<"u"&&(o.prototype[Symbol.for("nodejs.util.inspect.custom")]=o.prototype.inspect),o.from=function(r,a,n){if(arguments.length<3&&(n=e.guessLength(r),typeof n!="number"))throw new Error("mnemonist/fixed-stack.from: could not guess iterable length. Please provide desired capacity as last argument.");var s=new o(a,n);if(e.isArrayLike(r)){var i,l;for(i=0,l=r.length;i<l;i++)s.items[i]=r[i];return s.size=l,s}return e.forEach(r,function(u){s.push(u)}),s},Do=o,Do}var Rr={},aa;function el(){if(aa)return Rr;aa=1;var t=ar(),e=eo().createEdgeWeightGetter;function o(n,s){return n==="outbound"||n==="inbound"?s.directedSize+s.undirectedSize*2:n==="in"||n==="out"||n==="directed"?s.directedSize:s.undirectedSize*2}function r(n,s){s=s||"outbound";var i=n[s+"Neighbors"].bind(n),l=o(s,n),u=t.getPointerArray(l),d=t.getPointerArray(n.order);this.graph=n,this.neighborhood=new d(l),this.starts=new u(n.order+1),this.nodes=n.nodes();var c={},p,b,m,f,y,h,v=0;for(p=0,b=n.order;p<b;p++)c[this.nodes[p]]=p;for(p=0,b=n.order;p<b;p++)for(y=this.nodes[p],h=i(y),this.starts[p]=v,m=0,f=h.length;m<f;m++)this.neighborhood[v++]=c[h[m]];this.starts[p]=l}r.prototype.bounds=function(n){return[this.starts[n],this.starts[n+1]]},r.prototype.project=function(){var n=this,s={};return n.nodes.forEach(function(i,l){s[i]=Array.from(n.neighborhood.slice(n.starts[l],n.starts[l+1])).map(function(u){return n.nodes[u]})}),s},r.prototype.collect=function(n){var s,i,l={};for(s=0,i=n.length;s<i;s++)l[this.nodes[s]]=n[s];return l},r.prototype.assign=function(n,s){var i=0;this.graph.updateEachNodeAttributes(function(l,u){return u[n]=s[i++],u},{attributes:[n]})},Rr.NeighborhoodIndex=r;function a(n,s,i){i=i||"outbound";var l=n[i+"Edges"].bind(n),u=o(i,n),d=t.getPointerArray(u),c=t.getPointerArray(n.order),p=e(s).fromMinimalEntry;this.graph=n,this.neighborhood=new c(u),this.weights=new Float64Array(u),this.outDegrees=new Float64Array(n.order),this.starts=new d(n.order+1),this.nodes=n.nodes();var b={},m,f,y,h,v,x,g,w,C,I=0;for(m=0,f=n.order;m<f;m++)b[this.nodes[m]]=m;for(m=0,f=n.order;m<f;m++)for(v=this.nodes[m],g=l(v),this.starts[m]=I,y=0,h=g.length;y<h;y++)w=g[y],x=n.opposite(v,w),C=p(w,n.getEdgeAttributes(w)),this.neighborhood[I]=b[x],this.weights[I++]=C,this.outDegrees[m]+=C;this.starts[m]=u}return a.prototype.bounds=r.prototype.bounds,a.prototype.project=r.prototype.project,a.prototype.collect=r.prototype.collect,a.prototype.assign=r.prototype.assign,Rr.WeightedNeighborhoodIndex=a,Rr}var ia;function tl(){if(ia)return Mr;ia=1;var t=Qs(),e=Js(),o=on(),r=ar(),a=el(),n=a.NeighborhoodIndex,s=a.WeightedNeighborhoodIndex;Mr.createUnweightedIndexedBrandes=function(u){var d=new n(u),c=d.neighborhood,p=d.starts,b=u.order,m=new e(r.getPointerArray(b),b),f=new Uint32Array(b),y=new Array(b),h=new Int32Array(b),v=new t(Uint32Array,b),x=function(g){var w,C,I,k,D,_,L;for(_=0;_<b;_++)y[_]=[],f[_]=0,h[_]=-1;for(f[g]=1,h[g]=0,v.push(g);v.size!==0;)for(_=v.shift(),m.push(_),w=h[_],C=f[_],I=p[_],k=p[_+1],D=I;D<k;D++)L=c[D],h[L]===-1&&(v.push(L),h[L]=w+1),h[L]===w+1&&(f[L]+=C,y[L].push(_));return[m,y,f]};return x.index=d,x};function i(l,u){return l[0]>u[0]?1:l[0]<u[0]?-1:l[1]>u[1]?1:l[1]<u[1]?-1:l[2]>u[2]?1:l[2]<u[2]?-1:l[3]>u[3]?1:l[3]<u[3]?-1:0}return Mr.createDijkstraIndexedBrandes=function(u,d){var c=new s(u,d||"weight"),p=c.neighborhood,b=c.weights,m=c.starts,f=u.order,y=new e(r.getPointerArray(f),f),h=new Uint32Array(f),v=new Array(f),x=new Float64Array(f),g=new Float64Array(f),w=new o(i),C=function(I){var k,D,_,L,G,V,q,W,F,ee=0;for(W=0;W<f;W++)v[W]=[],h[W]=0,x[W]=-1,g[W]=-1;for(h[I]=1,g[I]=0,w.push([0,ee++,I,I]);w.size!==0;)if(_=w.pop(),L=_[0],G=_[2],W=_[3],x[W]===-1)for(y.push(W),x[W]=L,h[W]+=h[G],k=m[W],D=m[W+1],q=k;q<D;q++)F=p[q],V=L+b[q],x[F]===-1&&(g[F]===-1||V<g[F])?(g[F]=V,w.push([V,ee++,W,F]),h[F]=0,v[F]=[W]):V===g[F]&&(h[F]+=h[W],v[F].push(W));return[y,v,h]};return C.index=c,C},Mr}var _o,sa;function rl(){if(sa)return _o;sa=1;var t=Bt(),e=tl(),o=en(),r=e.createUnweightedIndexedBrandes,a=e.createDijkstraIndexedBrandes,n={nodeCentralityAttribute:"betweennessCentrality",getEdgeWeight:"weight",normalized:!0};function s(l,u,d){if(!t(u))throw new Error("graphology-centrality/beetweenness-centrality: the given graph is not a valid graphology instance.");d=o(d,n);var c=d.nodeCentralityAttribute,p=d.normalized,b=d.getEdgeWeight?a(u,d.getEdgeWeight):r(u),m=u.order,f,y,h,v,x,g,w,C,I,k,D=new Float64Array(m),_=new Float64Array(m);for(g=0;g<m;g++){for(f=b(g),y=f[0],h=f[1],v=f[2],w=y.size;w--;)D[y.items[y.size-w]]=0;for(;y.size!==0;){for(k=y.pop(),x=(1+D[k])/v[k],w=0,C=h[k].length;w<C;w++)I=h[k][w],D[I]+=v[I]*x;k!==g&&(_[k]+=D[k])}}var L=null;if(p?L=m<=2?null:1/((m-1)*(m-2)):L=u.type==="undirected"?.5:null,L!==null)for(g=0;g<m;g++)_[g]*=L;return l?b.index.assign(c,_):b.index.collect(_)}var i=s.bind(null,!1);return i.assign=s.bind(null,!0),_o=i,_o}var ol=rl();const nl=Wa(ol);var fr={},la;function al(){if(la)return fr;la=1;var t=Bt();function e(n,s,i,l){var u=s+"Centrality";if(!t(i))throw new Error("graphology-centrality/"+u+": the given graph is not a valid graphology instance.");if(s!=="degree"&&i.type==="undirected")throw new Error("graphology-centrality/"+u+": cannot compute "+s+" centrality on an undirected graph.");l=l||{};var d=l.nodeCentralityAttribute||u,c=i.order-1,p=i[s].bind(i);if(n){i.updateEachNodeAttributes(function(m,f){return f[d]=p(m)/c,f},{attributes:[d]});return}var b={};return i.forEachNode(function(m){b[m]=p(m)/c}),b}var o=e.bind(null,!1,"degree"),r=e.bind(null,!1,"inDegree"),a=e.bind(null,!1,"outDegree");return o.assign=e.bind(null,!0,"degree"),r.assign=e.bind(null,!0,"inDegree"),a.assign=e.bind(null,!0,"outDegree"),fr.degreeCentrality=o,fr.inDegreeCentrality=r,fr.outDegreeCentrality=a,fr}var Go=al();const il=1400,sl=6,ll=6,cl=6,ca=4,ul=36,dl=80,Ka=128,ua=5,pl=2;function nn(t,e){const o=t.getNodeAttributes(e);return String(o.label||o.content||e)}function Nr(t,e){const o=t.getNodeAttributes(e);return String(o.baseColor||o.color||"#63E6FF")}function to(t,e){const o=t.getNodeAttributes(e);return String(o.semanticGroup||o.nodeType||"entity")}function hl(t,e){if(!e)return new Set(t.nodes());const o=new Set;for(const r of e)t.hasNode(r)&&o.add(r);return o.size?o:new Set(t.nodes())}function fl(t,e){const o=Go.degreeCentrality(t),r=Go.inDegreeCentrality(t),a=Go.outDegreeCentrality(t),n=e?nl(t,{normalized:!0,getEdgeWeight:"weight"}):{},s=new Map;t.forEachNode(l=>{const u=Number(o[l]??0),d=Number(n[l]??0),c=Number(r[l]??0),p=Number(a[l]??0);s.set(l,{degree:u,inDegree:c,outDegree:p,betweenness:d,score:u*.7+d*.3})});const i=t.nodes().sort((l,u)=>{const d=s.get(l)?.score??0,c=s.get(u)?.score??0;return c!==d?c-d:l.localeCompare(u)});return{centralityByNode:s,topNodeIds:i,betweennessReady:e}}function ro(t,e){const o=e?.computeCommunities??!0,r=e?.computeCentrality??!0,a=new Map;let n=0,s=null;if(o&&t.order>1&&t.size>0)try{const u=Vs.detailed(t,{getEdgeWeight:"weight"});s=Number(u.modularity??0),n=Number(u.count??0),Object.entries(u.communities).forEach(([d,c])=>{a.set(d,Number(c))})}catch(u){console.error("[GraphAnalytics] community detection failed",u)}if(!r||t.order===0)return{communitiesByNode:a,communityCount:n,modularity:s,centralityByNode:new Map,topNodeIds:[],betweennessReady:!1};const i=t.order<=il,l=fl(t,i);return{communitiesByNode:a,communityCount:n,modularity:s,...l}}function ml(t,e,o){const r=new Map;return t.forEachNode(a=>{const n=o.communitiesByNode.get(a);if(n===void 0)return;const s=r.get(n)??{nodeCount:0,visibleNodeCount:0,semanticCounts:new Map,anchorNodeId:null,prominence:0,color:Nr(t,a)};s.nodeCount+=1,e.has(a)&&(s.visibleNodeCount+=1);const i=to(t,a);s.semanticCounts.set(i,(s.semanticCounts.get(i)??0)+1);const l=o.centralityByNode.get(a)?.score??0;(!s.anchorNodeId||l>(o.centralityByNode.get(s.anchorNodeId)?.score??-1))&&(s.anchorNodeId=a,s.color=Nr(t,a)),s.prominence+=e.has(a)?1+l:l*.15,r.set(n,s)}),[...r.entries()].map(([a,n])=>{const s=[...n.semanticCounts.entries()].sort((i,l)=>l[1]-i[1])[0]?.[0]??"entity";return{communityId:String(a),nodeCount:n.nodeCount,visibleNodeCount:n.visibleNodeCount,dominantSemanticGroup:s,color:n.color,anchorNodeId:n.anchorNodeId,anchorLabel:n.anchorNodeId?nn(t,n.anchorNodeId):"Community anchor",prominence:n.prominence}}).filter(a=>a.visibleNodeCount>0).sort((a,n)=>n.prominence-a.prominence).slice(0,sl)}function gl(t,e,o){const r=new Map;return t.forEachNode(a=>{const n=to(t,a),s=r.get(n)??{nodeCount:0,visibleNodeCount:0,communityCounts:new Map,anchorNodeId:null,prominence:0,color:Nr(t,a)};s.nodeCount+=1,e.has(a)&&(s.visibleNodeCount+=1);const i=o.communitiesByNode.get(a);if(i!==void 0){const u=String(i);s.communityCounts.set(u,(s.communityCounts.get(u)??0)+1)}const l=o.centralityByNode.get(a)?.score??0;(!s.anchorNodeId||l>(o.centralityByNode.get(s.anchorNodeId)?.score??-1))&&(s.anchorNodeId=a,s.color=Nr(t,a)),s.prominence+=e.has(a)?1+l:l*.1,r.set(n,s)}),[...r.entries()].map(([a,n])=>({semanticGroup:a,nodeCount:n.nodeCount,visibleNodeCount:n.visibleNodeCount,color:n.color,anchorNodeId:n.anchorNodeId,anchorLabel:n.anchorNodeId?nn(t,n.anchorNodeId):a,dominantCommunityId:[...n.communityCounts.entries()].sort((s,i)=>i[1]-s[1])[0]?.[0]??null,prominence:n.prominence})).filter(a=>a.visibleNodeCount>0).sort((a,n)=>n.prominence-a.prominence).slice(0,ll)}function bl(t,e,o){const r=o.topNodeIds.filter(n=>e.has(n));return(r.length?r:o.topNodeIds).slice(0,cl).map(n=>{const s=o.centralityByNode.get(n)??{degree:0,betweenness:0,score:0};return{id:n,label:nn(t,n),semanticGroup:to(t,n),color:Nr(t,n),degree:Number(s.degree??0),betweenness:Number(s.betweenness??0),score:Number(s.score??0)}})}function yl(t,e,o){const r=[];return t.forEachOutEdge(e,(a,n,s,i)=>{o.has(i)&&r.push({edgeId:String(a),source:s,target:i,attrs:n})}),t.forEachInEdge(e,(a,n,s,i)=>{o.has(s)&&r.push({edgeId:String(a),source:s,target:i,attrs:n})}),r}function da(t,e,o,r){const a=r.centralityByNode.get(e)?.score??0,n=r.centralityByNode.get(o)?.score??0,s=Number(t.weight??0),i=Number(t.visualPriority??0),l=Number(t.parallelCount??1)>1?.14:0,u=t.isBidirectional?.18:0;return s*1.4+(a+n)*2.4+i*.6+l+u}function Lo(t,e,o){const r=t.get(e);(!r||o.score>r.score||o.score===r.score&&o.edgeId.localeCompare(r.edgeId)<0)&&t.set(e,o)}function Po(t,e,o,r,a,n){const s=[...a].sort((i,l)=>l.score!==i.score?l.score-i.score:i.edgeId.localeCompare(l.edgeId));for(const i of s){if(t.length>=Ka||n<=0||e.has(i.edgeId))continue;const l=[i.source,i.target].sort().join("::");(o.get(i.source)??0)>=ua||(o.get(i.target)??0)>=ua||(r.get(l)??0)>=pl||(t.push(i),e.add(i.edgeId),o.set(i.source,(o.get(i.source)??0)+1),o.set(i.target,(o.get(i.target)??0)+1),r.set(l,(r.get(l)??0)+1),n-=1)}}function vl(t,e,o,r,a){if(e.size===0)return{ready:!1,reason:"No visible nodes are available for overview backbone selection.",edgeIds:[]};const n=[],s=new Set,i=new Map,l=new Map,u=new Map;e.forEach(h=>{u.set(h,to(t,h))});const d=new Set(r.slice(0,3).map(h=>h.semanticGroup)),c=new Set(a.slice(0,ca*2).map(h=>h.id).filter(h=>e.has(h))),p=a.slice(0,ca).map(h=>h.id).filter(h=>e.has(h)),b=new Map;p.forEach(h=>{yl(t,h,e).filter(v=>{const x=v.source===h?v.target:v.source;if(!c.has(x))return!1;const g=u.get(v.source),w=u.get(v.target);return!!(g&&w&&(d.has(g)||d.has(w)))}).forEach(v=>{const x=[v.source,v.target].sort().join("::"),g=u.get(v.source),w=u.get(v.target),C=g&&w&&g!==w?.28:0,I=da(v.attrs,v.source,v.target,o)+C;Lo(b,x,{edgeId:v.edgeId,source:v.source,target:v.target,score:I})})});const m=new Map,f=new Map;t.forEachEdge((h,v,x,g)=>{if(!e.has(x)||!e.has(g))return;const w=String(h),C=String(x),I=String(g),k=u.get(C),D=u.get(I),_=o.communitiesByNode.get(C),L=o.communitiesByNode.get(I),G=!!(k&&D&&k!==D),V=_!==void 0&&L!==void 0&&_!==L,q=o.centralityByNode.get(C)?.score??0,W=o.centralityByNode.get(I)?.score??0,F=da(v,C,I,o),ee=G?.5:0,U=V?.36:0,T=k&&D&&(d.has(k)||d.has(D))?.32:0,P=Math.min(q,W)*1.2,z=F+ee+U+T+P,te={edgeId:w,source:C,target:I,score:z};if(G||V){const O=[k??`community:${_??C}`,D??`community:${L??I}`,Math.min(q,W).toFixed(4)].sort().join("::");Lo(m,O,te)}const Q=[C,I].sort().join("::");Lo(f,Q,te)}),Po(n,s,i,l,m.values(),dl),Po(n,s,i,l,b.values(),ul),Po(n,s,i,l,f.values(),Ka-n.length);const y=n.map(h=>h.edgeId).filter(h=>t.hasEdge(h));return{ready:y.length>0,reason:y.length>0?"Ready":"No overview backbone edges met the current visibility thresholds.",edgeIds:y}}function xl(t,e){if(e.activePath.length<2)return{ready:!1,reason:"Trace a path to compare it against local strict directed shortest pathfinding.",sourceId:e.selectedNodeId||null,targetId:null,path:[],length:null,verifiedAgainstActivePath:!1};const o=e.activePath[0]??null,r=e.activePath[e.activePath.length-1]??null;if(!o||!r||!t.hasNode(o)||!t.hasNode(r))return{ready:!1,reason:"Active path endpoints are not available in the current graph view.",sourceId:o,targetId:r,path:[],length:null,verifiedAgainstActivePath:!1};try{const a=Zs.dijkstra.bidirectional(t,o,r,"weight")??[];return{ready:a.length>1,reason:a.length>1?"Ready":"No strict directed shortest path found in the current graph view.",sourceId:o,targetId:r,path:a,length:a.length>1?a.length-1:null,verifiedAgainstActivePath:a.join("::")===e.activePath.join("::")}}catch(a){return console.error("[GraphAnalytics] directed pathfinding failed",a),{ready:!1,reason:"Directed pathfinding failed for the current graph snapshot.",sourceId:o,targetId:r,path:[],length:null,verifiedAgainstActivePath:!1}}}function Sl(t){const{graphRef:e,interactionState:o,base:r}=t,a=hl(e,t.visibleNodeIds),n=xl(e,o),s=r.communitiesByNode.size?ml(e,a,r):[],i=gl(e,a,r),l=bl(e,a,r),u=vl(e,a,r,i,l);return{generatedAt:Date.now(),directedPath:n,communities:{ready:s.length>0,reason:s.length>0?"Ready":r.communitiesByNode.size>0?"No visible communities in the current graph context.":"Community detection has not produced summaries yet.",count:r.communityCount,modularity:r.modularity,summaries:s},centrality:{ready:l.length>0,reason:l.length>0?r.betweennessReady?"Ready":"Ready (degree-biased while betweenness is bounded for large graphs).":"Centrality ranking is waiting for graph data.",topNodes:l},semanticRegions:{ready:i.length>0,reason:i.length>0?"Ready":"No semantic regions are visible in the current graph context.",summaries:i},overviewBackbone:u}}const $r=E.focus.maxNeighbors,jr=E.focus.ringCapacity,wl=E.focus.ringGap,Nl=E.focus.primaryLabels,El=8,Al=8,Ya="__agg__:",rr="__community__:",Xa=typeof import.meta<"u"&&!0,kl=120,Cl=650,Il=900,pa=new WeakMap;function Dl(t){let e=pa.get(t);return e||(e=new Set(t.heatmapVisibleNodeIds??[]),pa.set(t,e)),e}const _l={layoutMode:"base",positionSource:"store",tracksStoreNodePositions:!0,hasSyntheticNodes:!1},yr={layoutMode:"mirrored",positionSource:"store",tracksStoreNodePositions:!0,hasSyntheticNodes:!1},Gl={layoutMode:"owned",positionSource:"display",tracksStoreNodePositions:!1,hasSyntheticNodes:!0};function oo(t){return ut(0,Math.log2(Math.max(t,1))/1.85,1)}function vt(t){return t<=0?"#7CFF9B":t<=1?"#43d17a":t<=2?"#ff2d4b":t<=3||t<=6?"#B0883A":"#FF7B72"}function Ll(t){return t>=.7?"#43d17a":t>=.4?"#E3B341":"#FF7B72"}function Pl(t,e,o){const r={};if(!e||!t.hasNode(e))return r;const a=[[e,0]],n=new Set([e]);for(r[e]=0;a.length>0;){const[s,i]=a.shift();i>=o||t.neighbors(s).forEach(l=>{const u=String(l);n.has(u)||(n.add(u),r[u]=i+1,a.push([u,i+1]))})}return r}function Za(t,e){const o={anchor:0,oneHop:0,twoHop:0,threeHopPlus:0,outside:0};Object.values(t).forEach(a=>{a<=0?o.anchor+=1:a===1?o.oneHop+=1:a===2?o.twoHop+=1:o.threeHopPlus+=1});const r=o.anchor+o.oneHop+o.twoHop+o.threeHopPlus;return o.outside=Math.max(0,e-r),o}function Ml(){return{anchor:0,oneHop:0,twoHop:0,threeHopPlus:0,outside:0}}function Rl(t){return t<=0?Number.POSITIVE_INFINITY:t===1?kl:t===2?Cl:Il}function ha(t,e){if(!t.hasNode(e))return 0;const o=t.getNodeAttributes(e);return Number(o.visualPriority??0)*8+Number(o.labelPriority??0)}function jl(t,e){const o=new Map;return t.forEachEdge((r,a,n,s)=>{const i=String(n),l=String(s),u=e[i],d=e[l];if(u==null||d==null||Math.abs(u-d)!==1)return;const c=u>d?i:l,p=a,b=Number(p.visualPriority??0)*8+Number(p.weight??0)+Number(p.relationshipStrength??0)*2+Number(p.representativeWeight??0);o.set(c,Math.max(o.get(c)??0,b))}),o}function Hl(t,e,o,r){const a=Za(o,t.order),n=Ml();n.outside=a.outside;const s=new Set;if(!e||!t.hasNode(e))return{visibleNodeIds:[],ringCounts:a,renderedRingCounts:n,saturationMode:"normal"};const i=jl(t,o),l=new Map;Object.entries(o).forEach(([d,c])=>{if(c<0||c>r||c>3)return;const p=Math.max(0,Math.floor(c));l.set(p,[...l.get(p)??[],d])}),l.get(0)?.includes(e)||l.set(0,[e,...l.get(0)??[]]),[0,1,2,3].forEach(d=>{const c=Rl(d),p=[...new Set(l.get(d)??[])].sort((b,m)=>{const f=(i.get(m)??0)-(i.get(b)??0);if(f!==0)return f;const y=ha(t,m)-ha(t,b);return y!==0?y:Rt(b)-Rt(m)}).slice(0,c);p.forEach(b=>s.add(b)),d===0&&(n.anchor=p.length),d===1&&(n.oneHop=p.length),d===2&&(n.twoHop=p.length),d===3&&(n.threeHopPlus=p.length)}),s.add(e),n.anchor=Math.max(1,n.anchor);const u=n.oneHop<a.oneHop||n.twoHop<a.twoHop||n.threeHopPlus<a.threeHopPlus;return{visibleNodeIds:[...s],ringCounts:a,renderedRingCounts:n,saturationMode:u?"sampled":"normal"}}function Tl(t){if(!t)return!1;const e=t.anchor+t.oneHop+t.twoHop+t.threeHopPlus+t.outside;if(e<=0)return!1;const o=t.twoHop+t.threeHopPlus;return t.threeHopPlus>1500||o/e>.35}function Wl(t,e){return t<=0?{alpha:1,shellAlpha:.92,borderAlpha:.95,sizeMultiplier:1.28,borderBoost:1.35,zIndex:8}:t===1?{alpha:.9,shellAlpha:.42,borderAlpha:.78,sizeMultiplier:.96,borderBoost:.28,zIndex:5}:t===2?{alpha:e?.46:.62,shellAlpha:e?.1:.2,borderAlpha:e?.36:.52,sizeMultiplier:e?.54:.7,borderBoost:e?-.2:.05,zIndex:2}:{alpha:e?.16:.34,shellAlpha:e?.03:.1,borderAlpha:e?.16:.32,sizeMultiplier:e?.3:.48,borderBoost:e?-.35:-.08,zIndex:1}}function zl(t,e,o,r,a){if(!r||r.mode==="off"||r.status!=="ready")return{};const n=r.structuralDistances[a],s=r.anchorNodeId===a;if(r.mode==="ego"){if(n==null)return{color:K(t.palette.overview.nodeMuted,.34),shellColor:K(t.palette.overview.nodeBorder,.16),size:Math.max(.75,o.size*.28),borderColor:K(t.palette.overview.nodeBorder,.18),borderSize:Math.max(.25,o.borderSize*.45),label:"",forceLabel:!1,zIndex:Math.min(o.zIndex,0)};const i=ut(0,n/Math.max(1,r.maxHops),1),l=vt(n);return{color:K(l,s?.98:.88-i*.44),shellColor:K(l,s?.92:.54-i*.24),size:Math.max(o.size*(s?1.18:1-i*.22),o.size*.66),borderColor:s?t.nodes.selectedRing.color:K(l,.72-i*.24),borderSize:o.borderSize+(s?1.1:.28),forceLabel:s||o.forceLabel,label:s&&(r.anchorLabel??o.label)||o.label,zIndex:s?Math.max(o.zIndex,4):Math.max(o.zIndex,1)}}if(r.mode==="heatmap"){const i=Dl(r),l=s||i.size===0||i.has(a);if(n==null||!l)return{color:K(t.palette.overview.nodeMuted,e==="overview"?.055:.09),shellColor:K(t.palette.overview.nodeBorder,.015),borderColor:K(t.palette.overview.nodeBorder,.035),borderSize:Math.max(.12,o.borderSize*.18),size:Math.max(.45,o.size*.2),label:"",forceLabel:!1,zIndex:Math.min(o.zIndex,0),coreScale:0};const u=vt(n),d=Wl(n,Tl(r.distanceCounts)),c=s?(r.anchorLabel??o.label)||o.label:"";return{color:K(u,d.alpha),shellColor:K(u,d.shellAlpha),borderColor:s?t.nodes.selectedRing.color:K(u,d.borderAlpha),borderSize:Math.max(.18,o.borderSize+d.borderBoost),size:Math.max(.7,o.size*d.sizeMultiplier),forceLabel:s,label:c,zIndex:Math.max(s?o.zIndex:0,d.zIndex)}}return{}}function Vl(t,e,o,r,a){if(!e||e.mode==="off"||e.status!=="ready")return{};if(e.mode==="heatmap")return a==="path"||a==="selected"||a==="local-context"?{}:{hidden:!0,color:K("#1D2A35",.02),size:Math.min(t.size??.35,.2),zIndex:0};if(e.mode==="structural"){const n=e.structuralDistances[o],s=e.structuralDistances[r],i=Math.min(n??Number.POSITIVE_INFINITY,s??Number.POSITIVE_INFINITY);if(!Number.isFinite(i)||i>e.maxHops)return{};const l=vt(i);return{hidden:!1,color:K(l,i<=1?.72:i<=3?.48:.32),size:Math.max(t.size??.6,i<=1?1.25:i<=3?.95:.7),zIndex:Math.max(t.zIndex,i<=1?5:3),type:"line",curvature:0}}if(e.mode==="semantic"){const n=e.anchorNodeId;if(!n||o!==n&&r!==n)return{};const s=o===n?r:o,i=e.semanticScores[s];if(i==null)return{};const l=Ll(i);return{hidden:!1,color:K(l,.34+ut(0,i,1)*.42),size:Math.max(t.size??.6,.8+ut(0,i,1)*.75),zIndex:Math.max(t.zIndex,4),type:"line",curvature:0}}return{}}function Oo(t,e,o,r){t.forEachDirectedEdge(e,o,(a,n)=>{r(String(a),n)})}function Qa(t,e,o){const r=[];return Oo(t,e,o,a=>{r.push(a)}),r}function Ul(t){return!!(t?.isAggregated||(t?.rawEdgeIds?.length??0)>1)}function vr(t,e){const o=t?.rawEdgeIds?.map(r=>String(r)).filter(Boolean)??[];return o.length>0?o:e?[String(e)]:[]}function an(t,e){return{aggregationEnabled:e,groupedViewAvailable:!1,groupedViewReason:null,selectedRootNodeId:t||null,selectedVisibleNeighborIds:[],selectedCollapsedNeighborIds:[],selectedNodeKind:t?"unavailable":"none",canActivateFocused:!1,resolvedFocusedNodeId:null,focusedUnavailableReason:t?{code:"not-in-graph"}:null}}function sn(t,e){if(!e)return null;if(t.hasNode(e))return e;let o=null;return t.forEachNode((r,a)=>{if(o)return;const n=a.properties?.__communityGroup;if(n){if(n.anchorNodeId===e){o=r;return}(n.sampleNodeIds?.includes(e)||n.memberNodeIds?.includes(e))&&(o=r)}}),o}function Bl(){const e=ro(j,{computeCommunities:!0,computeCentrality:!1}).communitiesByNode.size>0;return{available:e,reason:e?null:{code:"communities-undetected"}}}function Ol(t,e){const o=sn(t,e);if(!o)return[];const r=new Map;return t.forEachEdge((a,n,s,i)=>{const l=String(s),u=String(i);if(l!==o&&u!==o)return;const d=l===o?u:l;if(!d||d===o||!t.hasNode(d))return;const c=Number(n.aggregateCount??n.baseSize??n.size??n.weight??1),p=Number.isFinite(c)&&c>0?c:1;r.set(d,(r.get(d)??0)+p)}),Array.from(r.entries()).sort((a,n)=>n[1]!==a[1]?n[1]-a[1]:a[0].localeCompare(n[0])).map(([a])=>a)}function Fl(t,e,o){const r=an(e,!0);if(r.groupedViewAvailable=o?.groupedViewAvailable??!0,r.groupedViewReason=o?.groupedViewReason??null,r.selectedNodeKind=o?.selectedNodeKind??(e?"grouped":"none"),r.resolvedFocusedNodeId=o?.resolvedFocusedNodeId??null,r.canActivateFocused=!!r.resolvedFocusedNodeId,r.focusedUnavailableReason=r.canActivateFocused?null:o?.focusedUnavailableReason??r.focusedUnavailableReason,!e)return r;const a=sn(t,e);if(!a)return r;const n=Ol(t,a);return r.selectedRootNodeId=a,r.selectedVisibleNeighborIds=n.slice(0,$r),r.selectedCollapsedNeighborIds=n.slice($r),r}function $l(t){if(t.order===0)return{code:"community-nodes-missing"};let e=null;return t.forEachNode((o,r)=>{if(e)return;const a=r;(!Number.isFinite(Number(a.x))||!Number.isFinite(Number(a.y)))&&(e={code:"invalid-community-layout",nodeId:o})}),e||(t.forEachEdge((o,r,a,n)=>{e||(!t.hasNode(a)||!t.hasNode(n))&&(e={code:"missing-grouped-node",edgeId:o})}),e)}function no(t,e,o=[]){if(o.length>0){const a=new Set(o.map(s=>String(s))),n=new Set;return t.forEachEdge((s,i)=>{const l=String(s);if(a.has(l)){n.add(l);return}vr(i,l).some(d=>a.has(d))&&n.add(l)}),n}const r=new Set;for(let a=0;a<e.length-1;a+=1)Qa(t,e[a],e[a+1]).forEach(n=>r.add(n));return r}function ln(t,...e){const o=new Set;return e.forEach(r=>{if(!r||!t.hasEdge(r))return;const[a,n]=t.extremities(r);o.add(a),o.add(n)}),o}function Ja(t,e){const o=new Set,r=Array.from(e);for(let a=0;a<r.length;a+=1){const n=r[a];for(let s=0;s<r.length;s+=1){const i=r[s];n!==i&&Qa(t,n,i).forEach(l=>o.add(l))}}return o}function fa(t,e){if(!e)return new Set;const o=new Set(e.activePath),r=e.hoveredNodeId||e.selectedNodeId;return r&&t.hasNode(r)&&kr(t,r).forEach(a=>o.add(a)),ln(t,e.selectedEdgeId).forEach(a=>o.add(a)),o}function ma(t,e){if(!e)return new Set;const o=new Set(no(t,e.activePath,e.activePathEdgeIds)),r=e.hoveredNodeId||e.selectedNodeId;return r&&t.hasNode(r)&&Ja(t,kr(t,r)).forEach(a=>o.add(a)),e.selectedEdgeId&&o.add(e.selectedEdgeId),o}function ql(t,e){const o=new Set;return t.forEachEdge((r,a)=>{const n=String(r);if(e.has(n)){o.add(n);return}vr(a,n).some(i=>e.has(i))&&o.add(n)}),Array.from(o)}function Kl(t,e,o){const r=new Set,a=new Set;return fa(t,e).forEach(n=>r.add(n)),fa(t,o).forEach(n=>r.add(n)),ma(t,e).forEach(n=>a.add(n)),ma(t,o).forEach(n=>a.add(n)),{nodes:Array.from(r).filter(n=>t.hasNode(n)),edges:ql(t,a)}}function ei(t,e,o){!Xa||!o.startsWith(rr)||console.debug("[graphSceneState]",`${t}-skipped-missing-display-node`,{nodeId:o,order:e.order,size:e.size})}function Yl(t,e,o){let r=0;return Oo(t,e,o,(a,n)=>{r=Math.max(r,Number(n?.weight??0))}),Oo(t,o,e,(a,n)=>{r=Math.max(r,Number(n?.weight??0))}),r}function ti(t,e){return!e||!t.hasNode(e)?(ei("neighbors",t,e),[]):t.neighbors(e).map(o=>({id:o,weight:Yl(t,e,o),degree:t.hasNode(o)?t.degree(o):0})).sort((o,r)=>r.weight!==o.weight?r.weight-o.weight:r.degree!==o.degree?r.degree-o.degree:o.id.localeCompare(r.id)).map(o=>o.id)}function cn(t){return ti(j,t)}function kr(t,e){if(!e||!t.hasNode(e))return ei("focus",t,e),new Set;const o=ti(t,e).slice(0,$r);return new Set([e,...o])}function ga(t,e,o,r,a,n){if(no(t,e.activePath,e.activePathEdgeIds).has(o)||e.selectedEdgeId===o||n.isAggregated&&(e.viewMode==="grouped"||e.zoomTier==="inspection"))return!0;const i=e.selectedNodeId;if(i&&t.hasNode(i)){if(r===i||a===i)return!0;const l=kr(t,i);return l.has(r)&&l.has(a)}return e.zoomTier!=="inspection"?!1:Number(n.visualPriority??0)>=E.zoomTiers[e.zoomTier].edgePriorityThreshold}function Xl(t,e,o,r,a){const n=wr(r,t),s=!!r.isCommunityGroup,i=t.nodes.entityShapes[un(r)],l=o==="neighbor"?t.palette.overview.nodeTintMix+.09:t.palette.overview.nodeTintMix,u=dt(t.palette.overview.nodeCore,n,Math.min(.74,t.palette.overview.nodeCoreMix+l));switch(t.nodes.states[o].color){case"selected":return t.palette.accent.selected;case"hovered":return t.palette.accent.hovered;case"path":return t.palette.accent.path;case"muted":return e==="overview"?K(t.palette.overview.nodeMuted,.42):String(r.mutedColor||K(n,t.nodes.mutedAlpha));default:if(e==="overview"){const d=oo(a),c=dt(u,n,.3+.26*d),p=Math.min(.98,t.palette.overview.nodeCoreAlpha+d*.18);return K(c,s?Math.min(p,t.grouped.style.fillAlpha):Math.min(p,i.fillAlpha))}return K(n,s?t.grouped.style.fillAlpha:i.fillAlpha)}}function Zl(t,e,o,r,a){const n=wr(r,t),s=!!r.isCommunityGroup,i=t.nodes.entityShapes[un(r)],l=oo(a),u=dt(n,t.ui.text.strong,.34+l*.12);return e!=="overview"?K(dt(n,t.ui.text.strong,o==="default"?.26:.42),s?t.grouped.style.shellAlpha:Math.min(.72,i.shellAlpha+.12)):o==="selected"?K(dt(t.palette.accent.selected,t.ui.text.strong,.24),.92):o==="hovered"?K(dt(t.palette.accent.hovered,t.ui.text.strong,.22),.9):o==="path"?K(dt(t.palette.accent.path,t.ui.text.strong,.22),.9):o==="muted"||o==="inactive"?K(t.palette.overview.nodeBorder,.16):K(u,s?t.grouped.style.shellAlpha:Math.min(.58,i.shellAlpha+.08))}function Ql(t,e,o){const r=oo(o);if(t==="overview")switch(e){case"selected":return .34+r*.08;case"hovered":return .32+r*.08;case"path":return .28+r*.07;case"neighbor":return .2+r*.06;case"muted":case"inactive":return .08+r*.03;default:return .16+r*.08}switch(e){case"selected":return .52;case"hovered":return .48;case"path":return .44;case"neighbor":return .3;case"muted":case"inactive":return .1;default:return t==="structure"?.22:.28}}function Jl(t,e,o,r,a,n){const s=e==="overview"?t.palette.overview.edgeInspection:t.palette.muted.edgeInspection,i=String(r.baseColor||a||s);if(n==="bridge")return t.palette.muted.edgeFocus;switch(t.edges.states[o].color){case"hover":return t.palette.accent.hovered;case"path":return t.palette.accent.path;case"backbone":return e==="overview"?t.palette.overview.edgeBackbone:t.palette.muted.edgeFocus;case"focus":return t.palette.muted.edgeFocus;case"overview":return t.palette.muted.edgeOverview;case"structure":return e==="overview"?t.palette.overview.edgeStructure:t.palette.muted.edgeStructure;case"inspection":return e==="overview"?t.palette.overview.edgeInspection:t.palette.muted.edgeInspection;case"muted":return e==="overview"?t.palette.overview.edgeStructure:t.palette.muted.edgeOverview;default:return i}}function ri(t,e,o,r){const a=r?"grouped":e;return t.edges.visibility[a][o]}function oi(t){return t==="path"||t==="selected"||t==="hovered"||t==="neighbor"||t==="backbone"}function ec(t){return t==="line"||t==="directional"||t==="parallelCurve"||t==="bidirectionalCurve"}function ba(t,e,o,r,a){if(t>=1)return!1;const n=o||`${r??"?"}->${a??"?"}`,s=Rt(n)%1e4/1e4,i=Math.min(1,t+e*.08);return s>i}function tc(t,e,o,r,a,n,s){const i=ri(t,e,o,n);if(e==="full"){if(s==="path"||r==="path")return t.interaction.pathEdgeAlpha;if(s==="selected"||r==="selected")return t.interaction.selectedEdgeAlpha;if(s==="local-context"||r==="hovered")return t.interaction.localContextAlpha;if(s==="bridge")return t.edges.fullGraphStructure.bridgeAlpha;if(s==="backbone")return t.edges.fullGraphStructure.backboneAlpha;if(r==="backbone")return t.edges.fullGraphStructure.ambientBackboneAlpha;if(r==="default"&&o==="structure")return t.edges.fullGraphStructure.structureEdgeAlpha;if(r==="default"&&o==="inspection")return t.edges.fullGraphStructure.inspectionEdgeAlpha}return r==="path"?t.interaction.pathEdgeAlpha:r==="selected"||r==="hovered"?r==="selected"?t.interaction.selectedEdgeAlpha:t.interaction.hoverContextAlpha:r==="default"?i.defaultAlpha:r==="muted"?i.mutedAlpha:r==="inactive"?i.inactiveAlpha:r==="neighbor"?a.bundleKind==="community"?Math.max(i.neighborAlpha,t.grouped.style.edgeAlpha):i.neighborAlpha:n&&!oi(r)?t.grouped.style.edgeAlpha:null}function rc(t,e,o){if(e==="selected")return o.ringColor||t.nodes.selectedRing.color;if(e==="hovered")return t.palette.accent.hovered;if(e==="path")return t.palette.accent.path}function oc(t,e,o){return e==="selected"&&xt(o,t.nodes.selectedRing.visibleFrom)?t.nodes.selectedRing.nativeSize:e==="hovered"?Math.max(1.45,t.nodes.selectedRing.nativeSize-.35):e==="path"?Math.max(1.2,t.nodes.selectedRing.nativeSize-.55):0}function ni(t,e,o,r,a,n,s,i){return o&&t===o?"hovered":r&&t===r?"selected":i.has(t)?"path":n.has(t)||s.has(t)?"neighbor":o||r||a||i.size>0?e!=="inspection"?"default":"muted":"default"}function nc(t,e,o,r,a,n,s,i,l,u=new Set){const d=a||n;return l.has(t)?"path":s&&t===s?"selected":d&&(e===d||o===d)?u.has(t)?a?"hovered":"selected":"muted":r!=="overview"&&i.has(e)&&i.has(o)?"neighbor":a||n||s||l.size>0?"muted":r==="overview"?"inactive":"default"}function ya(t){return t?String(t.communityId||t.semanticGroup||t.nodeType||""):""}function ac(t,e){const o=ya(t),r=ya(e);return!!(o&&r&&o!==r)}function ic(t,e,o,r,a,n,s,i,l,u=new Set,d=new Set,c,p){const b=a||n;return l.has(t)?"path":s&&t===s?"selected":u.has(t)?"local-context":b&&(e===b||o===b)?"muted":d.has(t)?ac(c,p)?"bridge":"backbone":r==="overview"?"hidden":(i.has(e)&&i.has(o),"muted")}function sc(t,e){switch(t){case"path":return"path";case"selected":return"selected";case"local-context":return e.hoveredNodeId?"hovered":"selected";case"backbone":return"backbone";case"bridge":return"backbone";case"hidden":return"inactive";default:return e.hasActiveInteraction?"muted":"default"}}function lc(t,e){return t==="selected"?"selected":e.nodeShapeVariant||e.nodeVariant||"default"}function un(t){return t.isCommunityGroup?"community":t.entityShape||qa(t.nodeType,t.semanticGroup,t.content,t.properties)}function cc(t,e){return t==="path"?"pathSignal":e.bundleKind==="community"?"line":(e.parallelCount??1)>1?"parallelCurve":e.edgeVariant?e.edgeVariant:e.isBidirectional?"bidirectionalCurve":e.arrowVisibilityPolicy==="contextual"?"directional":"line"}function uc(t,e,o,r,a){const n=t.zoomTiers[e],s=t.labels.forceVisibleStates.includes(o),i=r.labelVisibilityPolicy||"priority";if(s||t.nodes.states[o].forceLabel)return!0;switch(i){case"always":return!0;case"local":return e!=="overview"&&o!=="default"&&o!=="muted"&&o!=="inactive";case"priority":return a>=n.labelThreshold;default:return!1}}function dc(t,e,o,r,a,n){return o==="selected"||r==="selected"?a.ringColor||t.nodes.selectedRing.color:o==="hovered"?t.palette.accent.hovered:o==="path"?t.palette.accent.path:o==="muted"||o==="inactive"?K(a.strokeColor||a.borderColor||t.palette.overview.nodeBorder||t.palette.background.nodeBorder,e==="overview"?.26:.7):r==="temporal"?t.palette.accent.temporal:r==="provenance"?t.palette.accent.provenance:r==="inferred"?t.palette.accent.inferred:e==="overview"?K(dt(t.palette.overview.nodeBorder,n,o==="neighbor"?.08:.03),o==="neighbor"?.24:.06):a.strokeColor||a.borderColor||t.palette.background.nodeBorder||n}function qr(t,e,o,r,a,n=1){const s=t.zoomTiers[e],i=t.nodes.states[o],l=lc(o,r),u=t.nodes.variants[l],d=un(r),c=t.nodes.entityShapes[d],p=!!r.isCommunityGroup,b=Number(r.baseSize||r.size||4),m=Number(r.labelPriority??0),f=Xl(t,e,o,r,n),y=Zl(t,e,o,r,n),h=(o==="default"?s.nodeScale:i.sizeMultiplier)*u.sizeMultiplier*(p?t.grouped.style.nodeSizeScale:1),v=e==="overview"?1+oo(n)*1.2:1,x=uc(t,e,o,r,m),g=r.badgeKind||u.badgeKind,w=t.labels.forceVisibleStates.includes(o),C=!!(g&&(w||s.showBadges&&xt(e,u.badgeVisibleFrom))&&o!=="muted"&&o!=="inactive"),I=oc(t,o,e),k=rc(t,o,r),D=I>0,_=o==="hovered"||o==="selected"||o==="path",L=o==="muted"||o==="inactive"?t.nodes.strokeHierarchy[e].muted:w?t.nodes.strokeHierarchy[e].emphasis:t.nodes.strokeHierarchy[e].base,G=Ql(e,o,n)*c.coreScale;return{color:f,shellColor:y,coreScale:e!=="overview"||o==="hovered"||o==="selected"||o==="path"?ut(.06,G,.5):0,size:Math.max(b*h*v,i.minSize,c.minSize),forceLabel:x,label:x?a:"",zIndex:x&&i.zIndex===0?1:i.zIndex,hidden:!1,borderColor:dc(t,e,o,l,r,f),borderSize:Math.max(.4,Number(r.borderSize??.85)+L+i.borderBoost+u.borderBoost+c.borderBoost+(p?t.grouped.style.nodeBorderBoost:0)-.8),nodeVariant:l,entityShape:d,entityShapeKind:c.shapeKind,entityAspectRatio:c.aspectRatio,badgeKind:g,badgeCount:r.badgeCount,showBadge:C,showRing:D,ringColor:k,ringSize:I,showHalo:_,haloColor:r.haloColor||r.glowColor||K(f,(p?t.grouped.style.glowAlpha:t.overlays.hoverGlowAlpha)+u.haloBoost)}}function pc(t,e,o,r,a,n){const s=t.edges.variants[r];return t.edges.states[o].forceArrow||s.arrowPolicy==="always"?"arrow":(n==="full"||n==="grouped")&&o==="default"||n==="full"&&o==="backbone"?"line":s.arrowPolicy==="contextual"&&t.zoomTiers[e].showContextualArrows?"arrow":o!=="default"?a.type||s.baseType:Number(a.visualPriority??0)>=t.zoomTiers[e].arrowPriorityThreshold&&t.zoomTiers[e].showContextualArrows?"arrow":"line"}function hc(t,e,o,r,a,n){const s=t.edges.variants[o],i=o==="line"&&e==="selected"?Math.max(s.curveStrength,.14):s.curveStrength;if(i===0)return 0;if(typeof r.parallelCount=="number"&&r.parallelCount>1&&typeof r.parallelIndex=="number"){const l=(r.parallelCount-1)/2;return(r.parallelIndex-l)*i}return(o==="bidirectionalCurve"||o==="parallelCurve"||r.isBidirectional)&&a&&n?a.localeCompare(n)<=0?i:-i:i}function dn(t,e,o,r,a,n,s="full",i,l){const u=t.zoomTiers[e],d=t.edges.states[o],c=cc(o,r),p=t.edges.variants[c],b=r.bundleKind==="community",m=Number(r.baseSize||r.size||.9),f=Number(r.visualPriority??0),y=s==="full"&&r.isSmallGraph===!0,h=s==="full"&&l==="bridge",v=s==="full"&&l==="backbone",x=h&&f>=t.edges.fullGraphStructure.bridgeCurvePriorityThreshold,g=ri(t,s,e,b),w=oi(o),C=ec(c),I=!y&&o==="default"&&f<Math.max(u.edgePriorityThreshold,g.defaultPriorityThreshold)&&C,k=!y&&(o==="muted"||o==="inactive")&&g.hideMuted,D=!y&&C&&(o==="default"&&!w&&ba(g.backgroundSampleRate,f,i,a,n)||o==="backbone"&&e==="overview"&&s!=="full"&&ba(.15,f,i,a,n));if(d.hide||I||k||D)return{hidden:!0,zIndex:0,edgeVariant:c,arrowVisibilityPolicy:p.arrowPolicy,curveStrength:p.curveStrength,curvature:0};const _=w?1:g.sizeMultiplier,L=(o==="default"?u.edgeSizeScale:d.sizeMultiplier)*p.sizeMultiplier*_,G=pc(t,e,o,c,r,s),V=u.showCurves&&(c==="pathSignal"||o==="selected"||x||c==="bidirectionalCurve"||c==="parallelCurve"),q=x?a&&n&&a.localeCompare(n)>0?-t.edges.fullGraphStructure.bridgeCurveStrength:t.edges.fullGraphStructure.bridgeCurveStrength:V?hc(t,o,c,r,a,n):0,W=Jl(t,e,o,r,r.color,l),F=tc(t,s,e,o,r,b,l),ee=y?Math.max(F??1,w?.62:.46):F,U=ee===null?W:K(W,ee),T=Math.max(m*L*(b?t.grouped.style.edgeSizeScale:1),y?Math.max(d.minSize,.9):d.minSize),P=l==="path"||o==="path"?t.interaction.pathEdgeMaxSize:l==="selected"||o==="selected"?t.interaction.selectedEdgeMaxSize:l==="local-context"||o==="hovered"||o==="neighbor"?t.interaction.localContextMaxSize:Number.POSITIVE_INFINITY,z=h?Math.min(T,t.edges.fullGraphStructure.bridgeMaxSize):v?Math.min(T,t.edges.fullGraphStructure.backboneMaxSize):Math.min(T,P);return{hidden:!1,type:V?G==="arrow"?"curvedArrow":"curve":G,color:U,size:z,zIndex:d.zIndex,edgeVariant:c,arrowVisibilityPolicy:p.arrowPolicy,curveStrength:p.curveStrength,curvature:q}}function fc(t,e,o){t.hasNode(e)||t.addNode(e,o)}function mc(t){const e=String(t||"").trim();return e.length<=22?e:`${e.slice(0,21).trimEnd()}…`}function gc(t){const e=2*Math.PI*Math.max(t,1);return Math.max(6,Math.floor(e/E.grouped.initialLayout.minNodeSpacing))}function va(t){return Math.max(16,10+Math.log2(t+1)*4.6)}function bc(t){const e=new Map,o=t.slice().sort((d,c)=>{const p=Math.log2(d.memberCount+1)*2.2+Math.log2(d.connectivityWeight+1)*1.6+d.centralityScore*5,b=Math.log2(c.memberCount+1)*2.2+Math.log2(c.connectivityWeight+1)*1.6+c.centralityScore*5;return b!==p?b-p:d.communityId-c.communityId});if(o.length===0)return e;const r=new Map,a=Math.min(E.grouped.initialLayout.primaryLabelCount,o.length),n=d=>Math.max(.24,1.24-d*.055),s=d=>d<a?Math.max(1.02,1.42-d*.05):.56,i={x:0,y:0};r.set(o[0].communityId,i),e.set(o[0].communityId,{...i,labelPriority:s(0),visualPriority:n(0)});let l=1,u=1;for(;l<o.length;){const d=E.grouped.initialLayout.innerRadius+(u-1)*E.grouped.initialLayout.ringSpacing,c=gc(d),p=Math.min(c,o.length-l),b=Rt(`community-ring:${u}`)%360*Math.PI/180;for(let m=0;m<p;m+=1){const f=o[l+m],y=b+Math.PI*2*m/p,h={x:Number((d*Math.cos(y)).toFixed(3)),y:Number((d*Math.sin(y)).toFixed(3))};r.set(f.communityId,h),e.set(f.communityId,{...h,labelPriority:s(l+m),visualPriority:n(l+m)})}l+=p,u+=1}for(let d=0;d<E.grouped.initialLayout.overlapIterations;d+=1){let c=!1;for(let p=0;p<o.length;p+=1)for(let b=p+1;b<o.length;b+=1){const m=o[p],f=o[b],y=e.get(m.communityId),h=e.get(f.communityId);if(!y||!h)continue;let v=h.x-y.x,x=h.y-y.y,g=Math.hypot(v,x);if(g<.001){const L=Rt(`grouped-collision:${m.communityId}:${f.communityId}`)%360*Math.PI/180;v=Math.cos(L),x=Math.sin(L),g=1}const w=m.radius+f.radius+E.grouped.initialLayout.nodePadding;if(g>=w)continue;const C=w-g,I=v/g,k=x/g,D=f.radius/(m.radius+f.radius),_=m.radius/(m.radius+f.radius);y.x-=I*C*.52*D,y.y-=k*C*.52*D,h.x+=I*C*.52*_,h.y+=k*C*.52*_,c=!0}if(o.forEach(p=>{const b=e.get(p.communityId),m=r.get(p.communityId);!b||!m||(b.x+=(m.x-b.x)*.08,b.y+=(m.y-b.y)*.08)}),!c)break}return e}function pn(t,e){if(!t||!j.hasNode(t))return{selectedVisibleNeighborIds:[],selectedCollapsedNeighborIds:[]};const o=cn(t),r=new Set(e.filter(n=>n!==t&&j.hasNode(n))),a=new Set;return o.forEach((n,s)=>{(s<El||r.has(n))&&a.add(n)}),{selectedVisibleNeighborIds:Array.from(a),selectedCollapsedNeighborIds:o.filter(n=>!a.has(n))}}function yc(t,e){const o=pn(t,e),r=new Set(o.selectedCollapsedNeighborIds);if(r.size===0)return j.copy();const a=j.copy();return r.forEach(n=>{if(!a.hasNode(n))return;a.edges(n).map(i=>String(i)).forEach(i=>{if(!a.hasEdge(i))return;const[l,u]=a.extremities(i);(l===t&&u===n||l===n&&u===t)&&a.dropEdge(i)}),a.hasNode(n)&&a.degree(n)===0&&a.dropNode(n)}),a}function gr(t){return t||"related_to"}function Kr(t){const e=new Jr({type:"directed",multi:!0,allowSelfLoops:!1});t.forEachNode((r,a)=>{e.addNode(r,{...a})});const o=new Map;return t.forEachEdge((r,a,n,s)=>{const i=`${n}→${s}`,l=o.get(i)??[];l.push({edgeId:String(r),attrs:a}),o.set(i,l)}),o.forEach((r,a)=>{const[n,s]=a.split("→");if(r.length===1){const[{edgeId:f,attrs:y}]=r;e.mergeDirectedEdgeWithKey(f,n,s,{...y,edgeType:gr(y.edgeType),dominantEdgeType:gr(y.dominantEdgeType??y.edgeType),rawEdgeIds:vr(y,f),isAggregated:Ul(y),aggregateCount:y.aggregateCount??vr(y,f).length,representativeWeight:y.representativeWeight??Number(y.weight??1)});return}const l=r.slice().sort((f,y)=>{const h=Number(y.attrs.weight??0)-Number(f.attrs.weight??0);if(h!==0)return h;const v=Number(y.attrs.visualPriority??0)-Number(f.attrs.visualPriority??0);return v!==0?v:f.edgeId.localeCompare(y.edgeId)})[0],u=r.flatMap(({edgeId:f,attrs:y})=>vr(y,f)),d=new Map;r.forEach(({attrs:f})=>{const y=gr(f.edgeType);d.set(y,(d.get(y)??0)+1)});const c=[...d.entries()].sort((f,y)=>y[1]-f[1])[0]?.[0]??gr(l.attrs.edgeType),p=`${s}→${n}`,b=o.has(p),m=`${Ya}${n}::${s}`;e.mergeDirectedEdgeWithKey(m,n,s,{...l.attrs,edgeId:m,familyId:m,sourceId:n,targetId:s,rawEdgeIds:u,isAggregated:!0,aggregateCount:u.length,dominantEdgeType:c,representativeWeight:Number(l.attrs.weight??1),weight:Number(l.attrs.weight??1),edgeType:l.attrs.edgeType||c,parallelCount:u.length,familySize:u.length,bundleKind:b?"bidirectional":"parallel",isBidirectional:b})}),e}function vc(){const t=ro(j,{computeCommunities:!0,computeCentrality:!0}),e=an("",!0);if(e.groupedViewAvailable=t.communitiesByNode.size>0,t.communitiesByNode.size===0)return e.groupedViewReason={code:"communities-undetected"},{graph:Kr(j),state:e,meta:yr};const o=new Jr({type:"directed",multi:!0,allowSelfLoops:!1}),r=new Map;j.forEachNode(m=>{const f=t.communitiesByNode.get(m);if(f===void 0)return;const y=r.get(f)??[];y.push(m),r.set(f,y)});const a=new Map;r.forEach((m,f)=>{const y=m.slice().sort((C,I)=>{const k=t.centralityByNode.get(C)?.score??0,D=t.centralityByNode.get(I)?.score??0;return D!==k?D-k:C.localeCompare(I)}),h=y[0]??null,v=h?j.getNodeAttributes(h):null,x=new Map;m.forEach(C=>{const I=j.getNodeAttributes(C),k=String(I.semanticGroup||I.nodeType||"entity");x.set(k,(x.get(k)??0)+1)});const g=[...x.entries()].sort((C,I)=>I[1]-C[1])[0]?.[0]??"entity",w=v?.baseColor||v?.color||E.palette.semantic[f%E.palette.semantic.length];a.set(f,{memberIds:m,rankedMembers:y,anchorNodeId:h,anchorAttrs:v,dominantSemanticGroup:g,color:w,memberCount:m.length,centralityScore:h?t.centralityByNode.get(h)?.score??0:0})});const n=new Map;j.forEachEdge((m,f,y,h)=>{const v=t.communitiesByNode.get(y),x=t.communitiesByNode.get(h);if(v===void 0||x===void 0||v===x)return;const g=`${rr}${v}`,w=`${rr}${x}`,C=`${g}→${w}`,I=n.get(C)??{sourceId:g,targetId:w,rawEdgeIds:[],weight:0,typeCounts:new Map};I.rawEdgeIds.push(String(m)),I.weight=Math.max(I.weight,Number(f.weight??1));const k=gr(f.edgeType);I.typeCounts.set(k,(I.typeCounts.get(k)??0)+1),n.set(C,I)});const s=new Map;n.forEach(m=>{const f=Number(m.sourceId.replace(rr,"")),y=Number(m.targetId.replace(rr,"")),h=m.rawEdgeIds.length+m.weight*.35;s.set(f,(s.get(f)??0)+h),s.set(y,(s.get(y)??0)+h)});const i=new Map,l=new Map;let u=0;n.forEach((m,f)=>{const y=m.rawEdgeIds.length+m.weight*.35;i.set(f,y),u=Math.max(u,y);const h=l.get(m.sourceId)??[];h.push({key:f,strength:y}),l.set(m.sourceId,h);const v=l.get(m.targetId)??[];v.push({key:f,strength:y}),l.set(m.targetId,v)});const d=new Set,c=Math.max(1.25,u*E.grouped.style.edgeVisibilityRatio);if(n.forEach((m,f)=>{(i.get(f)??0)>=c&&d.add(f)}),l.forEach(m=>{m.slice().sort((f,y)=>y.strength-f.strength).slice(0,E.grouped.style.topIncidentEdges).forEach(({key:f})=>d.add(f))}),d.size===0&&n.size>0){const m=Array.from(n.keys()).sort((f,y)=>(i.get(y)??0)-(i.get(f)??0))[0];m&&d.add(m)}const p=bc(Array.from(a.entries()).map(([m,f])=>({communityId:m,memberCount:f.memberCount,centralityScore:f.centralityScore,connectivityWeight:s.get(m)??0,radius:va(f.memberCount)*E.grouped.style.nodeSizeScale*.92})));a.forEach((m,f)=>{const y=`${rr}${f}`,h=p.get(f)??{x:0,y:0,labelPriority:.56,visualPriority:.42},v=va(m.memberCount),x=m.anchorAttrs?.label||m.anchorNodeId||`Community ${f}`;fc(o,y,{label:mc(x),content:m.anchorAttrs?.content||x,x:h.x,y:h.y,size:v,baseSize:v,color:m.color,baseColor:m.color,mutedColor:K(m.color,.22),glowColor:K(m.color,E.grouped.style.glowAlpha),borderColor:K(m.color,.74),entityShape:"community",nodeType:"community",semanticGroup:m.dominantSemanticGroup,labelVisibilityPolicy:h.labelPriority>.9?"priority":"none",properties:{__communityGroup:{communityId:String(f),memberCount:m.memberCount,memberNodeIds:m.memberIds,sampleNodeIds:m.rankedMembers.slice(0,Al),anchorNodeId:m.anchorNodeId,anchorLabel:x,dominantSemanticGroup:m.dominantSemanticGroup,color:m.color}},isCommunityGroup:!0,communityId:String(f),memberCount:m.memberCount,anchorNodeId:m.anchorNodeId,labelPriority:h.labelPriority,visualPriority:h.visualPriority})}),n.forEach((m,f)=>{if(!d.has(f))return;const y=[...m.typeCounts.entries()].sort((w,C)=>C[1]-w[1])[0]?.[0]??"related_to",h=`${m.targetId}→${m.sourceId}`,v=`${Ya}${f}`,x=m.rawEdgeIds.length,g=Math.max(.9,.72+Math.log2(x+1)*.2);o.mergeDirectedEdgeWithKey(v,m.sourceId,m.targetId,{edgeId:v,familyId:v,sourceId:m.sourceId,targetId:m.targetId,edgeType:y,dominantEdgeType:y,weight:m.weight,representativeWeight:m.weight,properties:{},rawEdgeIds:m.rawEdgeIds,isAggregated:!0,aggregateCount:x,familySize:x,parallelCount:x,isBidirectional:n.has(h),bundleKind:"community",edgeVariant:"line",arrowVisibilityPolicy:"hidden",baseSize:g,size:g,color:K("#9BB7D6",E.grouped.style.edgeAlpha),mutedColor:K("#9BB7D6",Math.max(.14,E.grouped.style.edgeAlpha*.4)),visualPriority:Math.min(1.05,.38+Math.log2(x+1)*.14)})});const b=$l(o);return b?(e.groupedViewAvailable=!1,e.groupedViewReason=b,{graph:Kr(j),state:e,meta:yr}):{graph:o,state:{aggregationEnabled:!0,groupedViewAvailable:!0,groupedViewReason:null,selectedRootNodeId:null,selectedVisibleNeighborIds:[],selectedCollapsedNeighborIds:[],selectedNodeKind:"none",canActivateFocused:!1,resolvedFocusedNodeId:null,focusedUnavailableReason:null},meta:Gl}}function ai(t,e,o,r){const a=r?.aggregationEnabled??!0,n=new Set(Array.from(r?.collapsedNeighborhoodNodeIds??[]).filter(u=>typeof u=="string")),s=an(t,a);if(s.selectedNodeKind=r?.selectedNodeKind??(t?"unavailable":"none"),s.resolvedFocusedNodeId=r?.resolvedFocusedNodeId??null,s.canActivateFocused=!!s.resolvedFocusedNodeId,s.focusedUnavailableReason=s.canActivateFocused?null:r?.focusedUnavailableReason??s.focusedUnavailableReason,s.groupedViewAvailable=r?.groupedViewAvailable??ro(j,{computeCommunities:!0,computeCentrality:!1}).communitiesByNode.size>0,s.groupedViewReason=r?.groupedViewReason??(s.groupedViewAvailable?null:{code:"communities-undetected"}),!t||!j.hasNode(t))return s;const l=!!(o!=="grouped"&&n.has(t))?pn(t,e):{selectedVisibleNeighborIds:cn(t),selectedCollapsedNeighborIds:[]};return s.selectedRootNodeId=t,s.selectedVisibleNeighborIds=l.selectedVisibleNeighborIds,s.selectedCollapsedNeighborIds=l.selectedCollapsedNeighborIds,s}function xc(t,e,o=[],r=!1){const a=new Jr({type:"directed",multi:!0,allowSelfLoops:!1}),n=cn(t).slice(0,$r),s=r?pn(t,e):{selectedVisibleNeighborIds:n},i=n.filter(f=>s.selectedVisibleNeighborIds.includes(f)),l=new Set([t,...i]),u=new Set(i.slice(0,Nl)),d=new Set(e),c=no(j,e,o),p=(f,y)=>{a.hasNode(f)||a.addNode(f,y)},b=j.getNodeAttributes(t),m=qr(E,"inspection","selected",b,b.label);return p(t,{...b,x:Number.isFinite(b.x)?b.x:0,y:Number.isFinite(b.y)?b.y:0,color:m.color,size:Math.max(m.size,22),baseColor:m.color,semanticBaseColor:wr(b),baseSize:Math.max(m.size,22),label:m.label}),i.forEach((f,y)=>{const h=j.getNodeAttributes(f),v=Math.floor(y/jr),x=y%jr,g=Math.min(jr,n.length-v*jr),w=wl*(v+1),C=Math.PI*2*x/g-Math.PI/2,I=d.has(f)?"path":u.has(f)?"neighbor":"default",k=qr(E,"inspection",I,{...h,labelPriority:u.has(f)||d.has(f)?Math.max(Number(h.labelPriority??0),1):0},h.label);p(f,{...h,x:Number.isFinite(h.x)?h.x:Math.cos(C)*w,y:Number.isFinite(h.y)?h.y:Math.sin(C)*w,color:k.color,size:Math.max(k.size,8.5),baseColor:k.color,semanticBaseColor:wr(h),baseSize:Math.max(k.size,8.5),label:k.label})}),Ja(j,l).forEach(f=>{if(!j.hasEdge(f))return;const[y,h]=j.extremities(f);if(!l.has(y)||!l.has(h)||y===h){Xa&&console.debug("[graphSceneState]","focused-edge-skipped-invalid-endpoints",{edgeId:f,source:y,target:h,selectedNodeId:t});return}const v=j.getEdgeAttributes(f),x=c.has(f)?"path":y===t||h===t?"selected":"neighbor",g=dn(E,"inspection",x,v,y,h,"focused",f);a.mergeDirectedEdgeWithKey(f,y,h,{...v,type:g.type,size:g.size,color:g.color,baseSize:g.size,baseColor:g.color,curvature:g.curvature})}),Kr(a)}function Hr(t,e,o,r,a){const n=a?.aggregationEnabled??!0,s=new Set(Array.from(a?.collapsedNeighborhoodNodeIds??[]).filter(p=>typeof p=="string")),i=ai(t,e,r,{aggregationEnabled:n,collapsedNeighborhoodNodeIds:s,groupedViewAvailable:a?.groupedViewAvailable}),l=r==="focused"&&!!t&&j.hasNode(t),u=r==="grouped",d=!!(t&&s.has(t));if(u){const p=vc();return{graph:p.graph,state:{...p.state,selectedRootNodeId:i.selectedRootNodeId,selectedVisibleNeighborIds:i.selectedVisibleNeighborIds,selectedCollapsedNeighborIds:i.selectedCollapsedNeighborIds,groupedViewReason:p.state.groupedViewReason,selectedNodeKind:i.selectedNodeKind,canActivateFocused:i.canActivateFocused,resolvedFocusedNodeId:i.resolvedFocusedNodeId,focusedUnavailableReason:i.focusedUnavailableReason},meta:p.meta}}if(l&&t)return{graph:xc(t,e,o,d),state:i,meta:yr};const c=d&&t?yc(t,e):j;return{graph:n?Kr(c):c,state:i,meta:n?yr:c===j?_l:yr}}function Sc(t,e,o,r,a,n,s,i,l){return{hoveredNodeId:t,selectedNodeId:e,selectedEdgeId:r,focusedNodeId:o,activePath:a,activePathEdgeIds:n,viewMode:s,zoomTier:i,isLayoutRunning:l}}function wc(t,e,o,r=96){return t.x>=-r&&t.y>=-r&&t.x<=e+r&&t.y<=o+r}function hn(t,e,o,r,a){const n=t.createRadialGradient(e,o,0,e,o,r);n.addColorStop(0,a),n.addColorStop(1,"rgba(0,0,0,0)"),t.fillStyle=n,t.beginPath(),t.arc(e,o,r,0,Math.PI*2),t.fill()}function fn(t,e){const o=document.createElement("canvas");return o.width=t,o.height=e,o}function ii(t){if(t.startsWith("#")){const o=t.slice(1),r=o.length===3?o.split("").map(a=>`${a}${a}`).join(""):o;if(r.length===6)return{r:Number.parseInt(r.slice(0,2),16),g:Number.parseInt(r.slice(2,4),16),b:Number.parseInt(r.slice(4,6),16)}}const e=t.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/i);return e?{r:Number.parseInt(e[1],10),g:Number.parseInt(e[2],10),b:Number.parseInt(e[3],10)}:{r:130,g:145,b:165}}function Mo(t,e,o,r){const a=new Uint8Array(e*o);let n=0,s=0,i=0,l=0;for(let d=0;d<o;d+=1)for(let c=0;c<e;c+=1){const p=d*e+c,b=t[p];b<r||(a[p]=1,n+=1,s+=c*b,i+=d*b,l+=b)}const u=l>0?{x:s/l,y:i/l}:{x:e/2,y:o/2};return{mask:a,count:n,centroid:u}}function Nc(t,e,o,r){if(r<=0)return t;let a=t;for(let n=0;n<r;n+=1){const s=new Uint8ClampedArray(e*o);for(let i=0;i<o;i+=1)for(let l=0;l<e;l+=1){let u=0,d=0;for(let c=-1;c<=1;c+=1){const p=i+c;if(!(p<0||p>=o))for(let b=-1;b<=1;b+=1){const m=l+b;m<0||m>=e||(u+=a[p*e+m],d+=1)}}s[i*e+l]=Math.round(u/Math.max(d,1))}a=s}return a}function Ro(t,e,o,r){const a=new Uint8Array(t.length),n=new Int32Array(t.length);let s=[],i=0;for(let p=0;p<t.length;p+=1){if(!t[p]||a[p])continue;let b=0,m=0;const f=[];for(a[p]=1,n[m++]=p;b<m;){const y=n[b++];f.push(y);const h=y%e,v=Math.floor(y/e),x=[y-1,y+1,y-e,y+e];for(let g=0;g<x.length;g+=1){const w=x[g];w<0||w>=t.length||a[w]||!t[w]||g===0&&h===0||g===1&&h===e-1||g===2&&v===0||g===3&&v===o-1||(a[w]=1,n[m++]=w)}}i+=f.length,f.length>s.length&&(s=f)}const l=new Uint8Array(t.length);let u=0,d=0,c=0;return s.forEach(p=>{l[p]=1;const b=r[p],m=p%e,f=Math.floor(p/e);u+=m*b,d+=f*b,c+=b}),{mask:l,count:s.length,centroid:c>0?{x:u/c,y:d/c}:{x:e/2,y:o/2},occupancyRatio:s.length/Math.max(e*o,1),dominantMassRatio:s.length/Math.max(i,1)}}function Ec(t,e,o){const r=E.effects.semanticRegions.fogResolutionScale,a=Math.max(72,Math.round(e*r)),n=Math.max(72,Math.round(o*r)),s=fn(a,n),i=s.getContext("2d");if(!i)return null;i.clearRect(0,0,a,n),i.globalCompositeOperation="source-over",t.forEach(b=>{const m=b.point.x*r,f=b.point.y*r,y=Math.max(2.5,(E.effects.semanticRegions.splatRadius+b.size*.9)*r),h=i.createRadialGradient(m,f,0,m,f,y);h.addColorStop(0,"rgba(255,255,255,0.05)"),h.addColorStop(.58,"rgba(255,255,255,0.02)"),h.addColorStop(1,"rgba(255,255,255,0)"),i.fillStyle=h,i.beginPath(),i.arc(m,f,y,0,Math.PI*2),i.fill()});const l=i.getImageData(0,0,a,n),u=new Uint8ClampedArray(a*n);let d=0;for(let b=0;b<u.length;b+=1){const m=l.data[b*4+3];u[b]=m,m>d&&(d=m)}if(d<=0)return null;const c=Nc(u,a,n,E.effects.semanticRegions.blurPasses),p=c.reduce((b,m)=>Math.max(b,m),0);return p<=0?null:{canvas:s,gridWidth:a,gridHeight:n,alphaValues:c,maxAlpha:p,scale:r}}function Ac(t,e,o,r){if(!e)return;const{gridWidth:a,gridHeight:n,alphaValues:s}=e,i=fn(a,n),l=i.getContext("2d");if(!l)return;const u=l.createImageData(a,n),d=ii(o);for(let c=0;c<s.length;c+=1){const p=s[c]/255;if(p<=0)continue;const b=c*4;u.data[b]=d.r,u.data[b+1]=d.g,u.data[b+2]=d.b,u.data[b+3]=Math.round(255*Math.pow(p,1.7)*r)}l.putImageData(u,0,0),t.save(),t.imageSmoothingEnabled=!0,t.globalCompositeOperation="lighter",t.drawImage(i,0,0,t.canvas.width,t.canvas.height),t.restore()}function xa(t,e,o,r,a,n){const s=fn(o,r),i=s.getContext("2d");if(!i)return;const l=i.createImageData(o,r),u=ii(a);for(let d=1;d<r-1;d+=1)for(let c=1;c<o-1;c+=1){const p=d*o+c;if(!e[p]||!(!e[p-1]||!e[p+1]||!e[p-o]||!e[p+o]))continue;const m=p*4;l.data[m]=u.r,l.data[m+1]=u.g,l.data[m+2]=u.b,l.data[m+3]=Math.round(255*n)}i.putImageData(l,0,0),t.save(),t.imageSmoothingEnabled=!0,t.drawImage(s,0,0,t.canvas.width,t.canvas.height),t.restore()}function kc(t){return{fogColor:dt("#0E1927",t,.46),innerContourColor:dt("#1C2C3F",t,.78),outerContourColor:dt("#132131",t,.6),labelBorderColor:dt("#2B3F57",t,.78)}}function Sa(t,e,o,r){const a=[];return e.forEachNode((n,s)=>{const i=t.getNodeDisplayData(n);if(!i)return;const l=t.graphToViewport({x:i.x,y:i.y});wc(l,o,r,84)&&a.push({nodeId:n,point:l,size:i.size,attrs:s})}),a}function Cc(t,e,o,r,a){const n=r.length>22?`${r.slice(0,21)}…`:r;t.save(),t.font='600 11px "IBM Plex Sans", Inter, system-ui, sans-serif',t.textBaseline="middle";const s=t.measureText(n).width+14,i=22,l=e-s/2,u=o-i/2;t.fillStyle="rgba(8, 14, 24, 0.84)",t.strokeStyle=K(a,.24),t.lineWidth=1,t.beginPath(),t.roundRect(l,u,s,i,999),t.fill(),t.stroke(),t.fillStyle="rgba(235, 244, 255, 0.88)",t.fillText(n,l+7,o),t.restore()}function Ic(t,e,o,r,a){if(!a.semanticRegionsEnabled||!e?.semanticRegions.ready||!xt(r.zoomTier,E.effects.semanticRegions.minZoomTier))return;const n=new Map;o.forEach(u=>{const d=String(u.attrs.semanticGroup||u.attrs.nodeType||"entity"),c=n.get(d);c?c.push(u):n.set(d,[u])});const s=e.semanticRegions.summaries.slice(0,E.effects.semanticRegions.maxRegions),i=s.reduce((u,d)=>Math.max(u,d.prominence),1),l=E.effects.semanticRegions;s.forEach(u=>{const d=n.get(u.semanticGroup);if(!d||d.length<l.minVisibleSamples)return;const c=Ec(d,t.canvas.width,t.canvas.height);if(!c)return;const p=.52+u.prominence/i*.48,b=Math.max(18,c.maxAlpha*l.densityThreshold),m=Math.max(28,c.maxAlpha*l.contourThreshold),f=Math.max(18,m*.72),y=Mo(c.alphaValues,c.gridWidth,c.gridHeight,b),h=Ro(y.mask,c.gridWidth,c.gridHeight,c.alphaValues);if(h.count<l.minMaskPixels||h.occupancyRatio<l.minOccupancyRatio||h.dominantMassRatio<l.dominantMassRatio)return;const v=Mo(c.alphaValues,c.gridWidth,c.gridHeight,m),x=Mo(c.alphaValues,c.gridWidth,c.gridHeight,f),g=Ro(v.mask,c.gridWidth,c.gridHeight,c.alphaValues),w=Ro(x.mask,c.gridWidth,c.gridHeight,c.alphaValues),C=kc(u.color);if(Ac(t,c,C.fogColor,l.fogAlpha*p),w.count>=l.outerContourMinMaskPixels&&w.dominantMassRatio>=l.dominantMassRatio&&xa(t,w.mask,c.gridWidth,c.gridHeight,C.outerContourColor,l.outerContourAlpha*p),xa(t,g.mask,c.gridWidth,c.gridHeight,C.innerContourColor,l.innerContourAlpha*p),u.visibleNodeCount>=18){const I=h.centroid.x/c.scale,k=h.centroid.y/c.scale-18;Cc(t,I,k,u.semanticGroup,C.labelBorderColor)}})}function Dc(t,e,o,r,a){if(!a.contoursEnabled||!e?.centrality.ready||!xt(r.zoomTier,E.effects.contours.minZoomTier))return;const n=new Map(o.map(s=>[s.nodeId,s]));e.centrality.topNodes.slice(0,E.effects.contours.maxContours).forEach(s=>{const i=n.get(s.id);i&&hn(t,i.point.x,i.point.y,E.effects.contours.baseRadius+i.size*3.2,K(s.color,E.effects.contours.glowAlpha))})}function _c(t,e){if(!e||!t.valid_from&&!t.valid_until)return!1;const o=e.getTime(),r=t.valid_from?new Date(t.valid_from).getTime():Number.NEGATIVE_INFINITY,a=t.valid_until?new Date(t.valid_until).getTime():Number.POSITIVE_INFINITY;return o>=r&&o<=a}function Gc(t,e,o,r,a){!a.temporalEmphasisEnabled||!o?.currentTime||xt(r.zoomTier,E.effects.temporalEmphasis.minZoomTier)&&e.filter(n=>_c(n.attrs,o.currentTime)).slice(0,E.effects.temporalEmphasis.maxHighlights).forEach(n=>{hn(t,n.point.x,n.point.y,Math.max(n.size*E.effects.temporalEmphasis.radiusMultiplier,14),K(E.palette.accent.temporal,E.effects.temporalEmphasis.glowAlpha))})}function Lc(t,e,o,r){const a=e.getNodeDisplayData(o);if(!a)return;const n=e.graphToViewport({x:a.x,y:a.y});hn(t,n.x,n.y,E.effects.lens.radius,K(E.palette.accent.hovered,E.effects.lens.glowAlpha)),r.forEach(s=>{if(s===o||!j.hasNode(s)||!j.hasDirectedEdge(o,s)&&!j.hasDirectedEdge(s,o))return;const i=e.getNodeDisplayData(s);if(!i)return;const l=e.graphToViewport({x:i.x,y:i.y});t.strokeStyle=K(E.palette.accent.hovered,E.effects.lens.edgeAlpha*.38),t.lineWidth=E.effects.lens.edgeLineWidth+3.2,t.lineCap="round",t.beginPath(),t.moveTo(n.x,n.y),t.lineTo(l.x,l.y),t.stroke(),t.strokeStyle=K(E.palette.accent.hovered,E.effects.lens.edgeAlpha),t.lineWidth=E.effects.lens.edgeLineWidth,t.beginPath(),t.moveTo(n.x,n.y),t.lineTo(l.x,l.y),t.stroke()})}function Pc(t,e,o,r,a){o.pathFlowEnabled&&r.pathFlow.available&&e.forEach((n,s)=>{const i=(a*E.effects.pathFlow.speed+s*E.effects.pathFlow.spacing)%1,l=n.source.x+(n.target.x-n.source.x)*i,u=n.source.y+(n.target.y-n.source.y)*i,d=Math.max(0,i-.08),c=n.source.x+(n.target.x-n.source.x)*d,p=n.source.y+(n.target.y-n.source.y)*d;t.strokeStyle=K(n.color,.28),t.lineWidth=Math.max(n.size+3.6,4.6),t.lineCap="round",t.beginPath(),t.moveTo(c,p),t.lineTo(l,u),t.stroke(),t.strokeStyle=K(E.palette.accent.selected,E.effects.pathFlow.opacity),t.lineWidth=Math.max(n.size+1.3,2.4),t.beginPath(),t.moveTo(c,p),t.lineTo(l,u),t.stroke()}),o.pathPulseEnabled&&r.pathPulse.available&&e.forEach((n,s)=>{const i=(a*E.effects.pathPulse.speed+s*.17)%1,l=n.source.x+(n.target.x-n.source.x)*i,u=n.source.y+(n.target.y-n.source.y)*i,d=t.createRadialGradient(l,u,0,l,u,E.effects.pathPulse.radius);d.addColorStop(0,K(E.palette.accent.path,E.effects.pathPulse.glowAlpha)),d.addColorStop(1,"rgba(0,0,0,0)"),t.fillStyle=d,t.beginPath(),t.arc(l,u,E.effects.pathPulse.radius,0,Math.PI*2),t.fill()})}function Mc(t,e){if(typeof t!="object"||!t)return t;var o=t[Symbol.toPrimitive];if(o!==void 0){var r=o.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function si(t){var e=Mc(t,"string");return typeof e=="symbol"?e:e+""}function li(t,e,o){return(e=si(e))in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function wa(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),o.push.apply(o,r)}return o}function Yr(t){for(var e=1;e<arguments.length;e++){var o=arguments[e]!=null?arguments[e]:{};e%2?wa(Object(o),!0).forEach(function(r){li(t,r,o[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):wa(Object(o)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(o,r))})}return t}function Rc(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function jc(t,e){for(var o=0;o<e.length;o++){var r=e[o];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,si(r.key),r)}}function Hc(t,e,o){return e&&jc(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function Xr(t){return Xr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Xr(t)}function ci(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(ci=function(){return!!t})()}function ui(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Tc(t,e){if(e&&(typeof e=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ui(t)}function Wc(t,e,o){return e=Xr(e),Tc(t,ci()?Reflect.construct(e,o||[],Xr(t).constructor):e.apply(t,o))}function Fo(t,e){return Fo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(o,r){return o.__proto__=r,o},Fo(t,e)}function zc(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Fo(t,e)}function $o(t,e){(e==null||e>t.length)&&(e=t.length);for(var o=0,r=Array(e);o<e;o++)r[o]=t[o];return r}function Vc(t){if(Array.isArray(t))return $o(t)}function Uc(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function Bc(t,e){if(t){if(typeof t=="string")return $o(t,e);var o={}.toString.call(t).slice(8,-1);return o==="Object"&&t.constructor&&(o=t.constructor.name),o==="Map"||o==="Set"?Array.from(t):o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?$o(t,e):void 0}}function Oc(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
48
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jo(t){return Vc(t)||Uc(t)||Bc(t)||Oc()}function di(t,e,o,r){var a=Math.pow(1-t,2)*e.x+2*(1-t)*t*o.x+Math.pow(t,2)*r.x,n=Math.pow(1-t,2)*e.y+2*(1-t)*t*o.y+Math.pow(t,2)*r.y;return{x:a,y:n}}function Fc(t,e,o){for(var r=20,a=0,n=t,s=0;s<r;s++){var i=di((s+1)/r,t,e,o);a+=Math.sqrt(Math.pow(n.x-i.x,2)+Math.pow(n.y-i.y,2)),n=i}return a}function $c(t){var e=t.curvatureAttribute,o=t.defaultCurvature,r=t.keepLabelUpright,a=r===void 0?!0:r;return function(n,s,i,l,u){var d=u.edgeLabelSize,c=s[e]||o,p=u.edgeLabelFont,b=u.edgeLabelWeight,m=u.edgeLabelColor.attribute?s[u.edgeLabelColor.attribute]||u.edgeLabelColor.color||"#000":u.edgeLabelColor.color,f=s.label;if(f){n.fillStyle=m,n.font="".concat(b," ").concat(d,"px ").concat(p);var y=!a||i.x<l.x,h=y?i.x:l.x,v=y?i.y:l.y,x=y?l.x:i.x,g=y?l.y:i.y,w=(h+x)/2,C=(v+g)/2,I=x-h,k=g-v,D=Math.sqrt(Math.pow(I,2)+Math.pow(k,2)),_=y?1:-1,L=w+k*c*_,G=C-I*c*_,V=s.size*.7+5,q={x:G-v,y:-(L-h)},W=Math.sqrt(Math.pow(q.x,2)+Math.pow(q.y,2)),F={x:g-G,y:-(x-L)},ee=Math.sqrt(Math.pow(F.x,2)+Math.pow(F.y,2));h+=V*q.x/W,v+=V*q.y/W,x+=V*F.x/ee,g+=V*F.y/ee,L+=V*k/D,G-=V*I/D;var U={x:L,y:G},T={x:h,y:v},P={x,y:g},z=Fc(T,U,P);if(!(z<i.size+l.size)){var te=n.measureText(f).width,Q=z-i.size-l.size;if(te>Q){var O="…";for(f=f+O,te=n.measureText(f).width;te>Q&&f.length>1;)f=f.slice(0,-2)+O,te=n.measureText(f).width;if(f.length<4)return}for(var le={},J=0,re=f.length;J<re;J++){var ce=f[J];le[ce]||(le[ce]=n.measureText(ce).width*(1+c*.35))}for(var ue=.5-te/z/2,ge=0,se=f.length;ge<se;ge++){var Ce=f[ge],_e=di(ue,T,U,P),be=2*(1-ue)*(L-h)+2*ue*(x-L),Me=2*(1-ue)*(G-v)+2*ue*(g-G),we=Math.atan2(Me,be);n.save(),n.translate(_e.x,_e.y),n.rotate(we),n.fillText(Ce,0,0),n.restore(),ue+=le[Ce]/z}}}}}function qc(t){var e=t.arrowHead,o=e?.extremity==="target"||e?.extremity==="both",r=e?.extremity==="source"||e?.extremity==="both",a=`
47
+ */const vs=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],xs=Ct("zoom-out",vs);function br(t,e){return JSON.stringify([t,e])}function Jo(t,e){return JSON.stringify([t,e])}const j=new Jr({type:"directed",multi:!0,allowSelfLoops:!1});function Ss(t,e){const o=[];j.forEachDirectedEdge(t,e,n=>{o.push(String(n))});const r=o.length,a=new Map;o.forEach(n=>{const s=j.getEdgeAttributes(n),i=String(s.familyId||n);a.set(i,(a.get(i)??0)+1)}),o.sort((n,s)=>{const i=j.getEdgeAttributes(n),l=j.getEdgeAttributes(s),u=Number(l.visualPriority??0)-Number(i.visualPriority??0);if(u!==0)return u;const d=Number(l.weight??0)-Number(i.weight??0);return d!==0?d:n.localeCompare(s)}).forEach((n,s)=>{const i=j.getEdgeAttributes(n),l=String(i.familyId||n);j.mergeEdgeAttributes(n,{edgeId:n,familyId:l,sourceId:t,targetId:e,isParallelPair:r>1,parallelIndex:s,parallelCount:r,familySize:a.get(l)??1,curveGroup:Jo(t,e)})})}function Ba(t){for(const{id:e,attributes:o}of t)j.mergeNode(e,o)}function Fa(t){const e=new Map;for(const{id:o,familyId:r,source:a,target:n,attributes:s}of t){if(a===n)continue;const i=String(s.edgeId||o),l=String(s.familyId||r||i);j.hasNode(a)&&j.hasNode(n)&&(j.mergeDirectedEdgeWithKey(i,a,n,{...s,edgeId:i,familyId:l,sourceId:a,targetId:n}),e.set(br(a,n),{source:a,target:n}))}e.forEach(({source:o,target:r})=>{Ss(o,r)})}function ws(){j.clear()}function Fr(...t){return t.filter(Boolean).join(" ")}function Br(t){const e=Xe.c(11);if(e[0]!=="cfb1804724d22780a78a9168ccf5cc5d8ee78fc0ed9f619e68fa70032a0ef566"){for(let b=0;b<11;b+=1)e[b]=Symbol.for("react.memo_cache_sentinel");e[0]="cfb1804724d22780a78a9168ccf5cc5d8ee78fc0ed9f619e68fa70032a0ef566"}const{children:o,tone:r,padding:a,className:n,style:s}=t,i=r===void 0?"default":r,l=a===void 0?"default":a,u=i!=="default"&&`sem-surface--${i}`;let d;e[1]!==n||e[2]!==u?(d=Fr("sem-surface",u,n),e[1]=n,e[2]=u,e[3]=d):d=e[3];let c;e[4]!==o||e[5]!==l?(c=l==="none"?o:N.jsxDEV("div",{className:Fr("sem-surface-body",l==="tight"&&"sem-surface-body--tight"),children:o},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/ui/primitives.tsx",lineNumber:115,columnNumber:42},this),e[4]=o,e[5]=l,e[6]=c):c=e[6];let p;return e[7]!==s||e[8]!==d||e[9]!==c?(p=N.jsxDEV("div",{className:d,style:s,children:c},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/ui/primitives.tsx",lineNumber:124,columnNumber:10},this),e[7]=s,e[8]=d,e[9]=c,e[10]=p):p=e[10],p}function bt(t){const e=Xe.c(6);if(e[0]!=="cfb1804724d22780a78a9168ccf5cc5d8ee78fc0ed9f619e68fa70032a0ef566"){for(let l=0;l<6;l+=1)e[l]=Symbol.for("react.memo_cache_sentinel");e[0]="cfb1804724d22780a78a9168ccf5cc5d8ee78fc0ed9f619e68fa70032a0ef566"}const{children:o,tone:r}=t,a=r===void 0?"default":r,n=a!=="default"&&`sem-chip--${a}`;let s;e[1]!==n?(s=Fr("sem-chip",n),e[1]=n,e[2]=s):s=e[2];let i;return e[3]!==o||e[4]!==s?(i=N.jsxDEV("span",{className:s,children:o},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/ui/primitives.tsx",lineNumber:225,columnNumber:10},this),e[3]=o,e[4]=s,e[5]=i):i=e[5],i}function Ns(t){const e=Xe.c(9);if(e[0]!=="cfb1804724d22780a78a9168ccf5cc5d8ee78fc0ed9f619e68fa70032a0ef566"){for(let d=0;d<9;d+=1)e[d]=Symbol.for("react.memo_cache_sentinel");e[0]="cfb1804724d22780a78a9168ccf5cc5d8ee78fc0ed9f619e68fa70032a0ef566"}const{children:o,open:r,className:a}=t,n=r===void 0?!0:r;let s;e[1]!==a?(s=Fr("sem-inspector",a),e[1]=a,e[2]=s):s=e[2];const i=n?"block":"none";let l;e[3]!==i?(l={display:i},e[3]=i,e[4]=l):l=e[4];let u;return e[5]!==o||e[6]!==s||e[7]!==l?(u=N.jsxDEV(Br,{className:s,padding:"none",style:l,children:o},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/ui/primitives.tsx",lineNumber:308,columnNumber:10},this),e[5]=o,e[6]=s,e[7]=l,e[8]=u):u=e[8],u}const Es={id:"hover-activation",attach:()=>{},detach:()=>{},onNodeEnter:(t,e)=>{t.setHoveredNodeId(e)},onNodeLeave:(t,e)=>{t.getInteractionState().hoveredNodeId===e&&t.setHoveredNodeId(null)}},As={id:"click-selection",attach:()=>{},detach:()=>{},onNodeClick:(t,e)=>{t.setHoveredNodeId(e),t.onEdgeSelectionChange(""),t.getInteractionState().selectedNodeId===e?t.onNodeSelectionChange(""):t.onNodeSelectionChange(e)},onEdgeClick:(t,e)=>{t.setHoveredNodeId(null),t.getInteractionState().selectedEdgeId===e?t.onEdgeSelectionChange(""):t.onEdgeSelectionChange(e)},onStageClick:t=>{t.setHoveredNodeId(null),t.onEdgeSelectionChange(""),t.onNodeSelectionChange("")}},ks={id:"focus-camera",attach:()=>{},detach:()=>{},performAction:(t,e)=>e.type==="focusNode"?(t.focusNodeInView(e.nodeId),!0):e.type==="centerSelection"?(t.centerSelectionInView(e.nodeId),!0):e.type==="centerGroupedSelection"?(t.centerGroupedSelectionInView(e.nodeId),!0):!1};function Cs(){let t="",e="";return{id:"search-focus",attach:()=>{},detach:()=>{t="",e=""},onStateChange:(o,r)=>{const a=r.selectedNodeId,n=r.viewMode;if(n!==e){e=n,t=a;return}if(!a||a===t){t=a,e=n;return}t=a,e=n,o.dispatchAction({type:n==="grouped"?"centerGroupedSelection":"centerSelection",nodeId:a})}}}const Is=6,Ds=60;function _s(){let t="",e=null,o=0;function r(){o++,e!==null&&(clearTimeout(e),e=null)}function a(n,s,i){s>=Is||(e=setTimeout(()=>{i===o&&(n.refresh(),a(n,s+1,i))},Ds))}return{id:"path-highlight",attach:()=>{},detach:n=>{r(),t="",n.sigma.refresh()},onStateChange:(n,s)=>{const i=s.activePath.join("::");i!==t&&(t=i,r(),n.sigma.refresh(),s.activePath.length>2&&a(n.sigma,0,o))}}}const Gs={id:"fit-view",attach:()=>{},detach:()=>{},performAction:(t,e)=>e.type!=="fitView"?!1:(t.fitCurrentView(),!0)};function Ls(){let t=null;return{id:"view-mode-switch",attach:()=>{},detach:()=>{t=null},onStateChange:(e,o)=>{if(o.viewMode===t)return;t=o.viewMode;const r=o.focusedNodeId;if(o.viewMode==="focused"&&r){e.dispatchAction({type:"focusNode",nodeId:r});return}e.dispatchAction({type:"fitView"})}}}function wr(t,e=E){return String(t.baseColor||t.color||e.palette.semantic[0])}function $a(t,e=E){const o=new Map;return t.forEachNode((r,a)=>{if(a.hidden)return;const n=String(a.semanticGroup||a.nodeType||"entity"),s=String(a.semanticBaseColor||wr(a,e)),i=JSON.stringify([n,s]),l=o.get(i);l?l.count+=1:o.set(i,{id:i,group:n,color:s,count:1})}),[...o.values()].sort((r,a)=>r.group.localeCompare(a.group)||r.color.localeCompare(a.color))}const Ps=[["biomolecule",/\b(gene|protein|enzyme|receptor|target|transcript|rna|dna|mirna|biomolecule|peptide)\b/i],["condition",/\b(disease|condition|phenotype|symptom|disorder|syndrome|diagnosis|pathology|trait)\b/i],["compound",/\b(drug|chemical|compound|metabolite|molecule|small[_\s-]?molecule|ligand|therapeutic|medication|substance)\b/i],["process",/\b(pathway|process|mechanism|function|ontology|biological[_\s-]?process|cellular[_\s-]?process|program|module)\b/i]];function qa(t,e,o,r){const a=[t,e,o,String(r?.type??""),String(r?.category??""),String(r?.label??"")].filter(n=>typeof n=="string"&&n.trim().length>0).join(" ");for(const[n,s]of Ps)if(s.test(a))return n;return"entity"}var fo,jn;function en(){if(jn)return fo;jn=1;function t(o){return!o||typeof o!="object"||typeof o=="function"||Array.isArray(o)||o instanceof Set||o instanceof Map||o instanceof RegExp||o instanceof Date}function e(o,r){o=o||{};var a={};for(var n in r){var s=o[n],i=r[n];if(!t(i)){a[n]=e(s,i);continue}s===void 0?a[n]=i:a[n]=s}return a}return fo=e,fo}var mo,Hn;function Ms(){if(Hn)return mo;Hn=1;var t=Ot();return mo=function(o){if(!t(o))throw new Error("graphology-utils/infer-type: expecting a valid graphology instance.");var r=o.type;return r!=="mixed"?r:o.directedSize===0&&o.undirectedSize===0||o.directedSize>0&&o.undirectedSize>0?"mixed":o.directedSize>0?"directed":"undirected"},mo}var go,Tn;function Ar(){if(Tn)return go;Tn=1;function t(e){if(typeof e!="function")throw new Error("obliterator/iterator: expecting a function!");this.next=e}return typeof Symbol<"u"&&(t.prototype[Symbol.iterator]=function(){return this}),t.of=function(){var e=arguments,o=e.length,r=0;return new t(function(){return r>=o?{done:!0}:{done:!1,value:e[r++]}})},t.empty=function(){var e=new t(function(){return{done:!0}});return e},t.fromSequence=function(e){var o=0,r=e.length;return new t(function(){return o>=r?{done:!0}:{done:!1,value:e[o++]}})},t.is=function(e){return e instanceof t?!0:typeof e=="object"&&e!==null&&typeof e.next=="function"},go=t,go}var bo={},Wn;function ar(){return Wn||(Wn=1,(function(t){var e=Math.pow(2,8)-1,o=Math.pow(2,16)-1,r=Math.pow(2,32)-1,a=Math.pow(2,7)-1,n=Math.pow(2,15)-1,s=Math.pow(2,31)-1;t.getPointerArray=function(l){var u=l-1;if(u<=e)return Uint8Array;if(u<=o)return Uint16Array;if(u<=r)return Uint32Array;throw new Error("mnemonist: Pointer Array of size > 4294967295 is not supported.")},t.getSignedPointerArray=function(l){var u=l-1;return u<=a?Int8Array:u<=n?Int16Array:u<=s?Int32Array:Float64Array},t.getNumberType=function(l){return l===(l|0)?Math.sign(l)===-1?l<=127&&l>=-128?Int8Array:l<=32767&&l>=-32768?Int16Array:Int32Array:l<=255?Uint8Array:l<=65535?Uint16Array:Uint32Array:Float64Array};var i={Uint8Array:1,Int8Array:2,Uint16Array:3,Int16Array:4,Uint32Array:5,Int32Array:6,Float32Array:7,Float64Array:8};t.getMinimalRepresentation=function(l,u){var d=null,c=0,p,b,m,f,y;for(f=0,y=l.length;f<y;f++)m=u?u(l[f]):l[f],b=t.getNumberType(m),p=i[b.name],p>c&&(c=p,d=b);return d},t.isTypedArray=function(l){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView(l)},t.concat=function(){var l=0,u,d,c;for(u=0,c=arguments.length;u<c;u++)l+=arguments[u].length;var p=new arguments[0].constructor(l);for(u=0,d=0;u<c;u++)p.set(arguments[u],d),d+=arguments[u].length;return p},t.indices=function(l){for(var u=t.getPointerArray(l),d=new u(l),c=0;c<l;c++)d[c]=c;return d}})(bo)),bo}var yo,zn;function Rs(){if(zn)return yo;zn=1;var t=Ar(),e=ar().getPointerArray;function o(r,a){arguments.length<2&&(a=r,r=Array);var n=e(a);this.size=0,this.length=a,this.dense=new n(a),this.sparse=new n(a),this.vals=new r(a)}return o.prototype.clear=function(){this.size=0},o.prototype.has=function(r){var a=this.sparse[r];return a<this.size&&this.dense[a]===r},o.prototype.get=function(r){var a=this.sparse[r];if(a<this.size&&this.dense[a]===r)return this.vals[a]},o.prototype.set=function(r,a){var n=this.sparse[r];return n<this.size&&this.dense[n]===r?(this.vals[n]=a,this):(this.dense[this.size]=r,this.sparse[r]=this.size,this.vals[this.size]=a,this.size++,this)},o.prototype.delete=function(r){var a=this.sparse[r];return a>=this.size||this.dense[a]!==r?!1:(a=this.dense[this.size-1],this.dense[this.sparse[r]]=a,this.sparse[a]=this.sparse[r],this.size--,!0)},o.prototype.forEach=function(r,a){a=arguments.length>1?a:this;for(var n=0;n<this.size;n++)r.call(a,this.vals[n],this.dense[n])},o.prototype.keys=function(){var r=this.size,a=this.dense,n=0;return new t(function(){if(n<r){var s=a[n];return n++,{value:s}}return{done:!0}})},o.prototype.values=function(){var r=this.size,a=this.vals,n=0;return new t(function(){if(n<r){var s=a[n];return n++,{value:s}}return{done:!0}})},o.prototype.entries=function(){var r=this.size,a=this.dense,n=this.vals,s=0;return new t(function(){if(s<r){var i=[a[s],n[s]];return s++,{value:i}}return{done:!0}})},typeof Symbol<"u"&&(o.prototype[Symbol.iterator]=o.prototype.entries),o.prototype.inspect=function(){for(var r=new Map,a=0;a<this.size;a++)r.set(this.dense[a],this.vals[a]);return Object.defineProperty(r,"constructor",{value:o,enumerable:!1}),r.length=this.length,this.vals.constructor!==Array&&(r.type=this.vals.constructor.name),r},typeof Symbol<"u"&&(o.prototype[Symbol.for("nodejs.util.inspect.custom")]=o.prototype.inspect),yo=o,yo}var vo,Vn;function js(){if(Vn)return vo;Vn=1;var t=Ar(),e=ar().getPointerArray;function o(r){var a=e(r);this.start=0,this.size=0,this.capacity=r,this.dense=new a(r),this.sparse=new a(r)}return o.prototype.clear=function(){this.start=0,this.size=0},o.prototype.has=function(r){if(this.size===0)return!1;var a=this.sparse[r],n=a<this.capacity&&a>=this.start&&a<this.start+this.size||a<(this.start+this.size)%this.capacity;return n&&this.dense[a]===r},o.prototype.enqueue=function(r){var a=this.sparse[r];if(this.size!==0){var n=a<this.capacity&&a>=this.start&&a<this.start+this.size||a<(this.start+this.size)%this.capacity;if(n&&this.dense[a]===r)return this}return a=(this.start+this.size)%this.capacity,this.dense[a]=r,this.sparse[r]=a,this.size++,this},o.prototype.dequeue=function(){if(this.size!==0){var r=this.start;this.size--,this.start++,this.start===this.capacity&&(this.start=0);var a=this.dense[r];return this.sparse[a]=this.capacity,a}},o.prototype.forEach=function(r,a){a=arguments.length>1?a:this;for(var n=this.capacity,s=this.size,i=this.start,l=0;l<s;)r.call(a,this.dense[i],l,this),i++,l++,i===n&&(i=0)},o.prototype.values=function(){var r=this.dense,a=this.capacity,n=this.size,s=this.start,i=0;return new t(function(){if(i>=n)return{done:!0};var l=r[s];return s++,i++,s===a&&(s=0),{value:l,done:!1}})},typeof Symbol<"u"&&(o.prototype[Symbol.iterator]=o.prototype.values),o.prototype.inspect=function(){var r=[];return this.forEach(function(a){r.push(a)}),Object.defineProperty(r,"constructor",{value:o,enumerable:!1}),r.capacity=this.capacity,r},typeof Symbol<"u"&&(o.prototype[Symbol.for("nodejs.util.inspect.custom")]=o.prototype.inspect),vo=o,vo}var xo,Un;function Hs(){if(Un)return xo;Un=1;function t(o){return function(r){return typeof r!="number"&&(r=r.length),Math.floor(o()*r)}}var e=t(Math.random);return e.createRandomIndex=t,xo=e,xo}var Lr={},On;function Ts(){if(On)return Lr;On=1;var t=ar(),e=en(),o=eo().createEdgeWeightGetter,r=Symbol.for("nodejs.util.inspect.custom"),a={getEdgeWeight:"weight",keepDendrogram:!1,resolution:1};function n(i,l){l=e(l,a);var u=l.resolution,d=o(l.getEdgeWeight).fromEntry,c=(i.size-i.selfLoopCount)*2,p=t.getPointerArray(c),b=t.getPointerArray(i.order+1),m=l.getEdgeWeight?Float64Array:t.getPointerArray(i.size*2);this.C=i.order,this.M=0,this.E=c,this.U=0,this.resolution=u,this.level=0,this.graph=i,this.nodes=new Array(i.order),this.keepDendrogram=l.keepDendrogram,this.neighborhood=new b(c),this.weights=new m(c),this.loops=new m(i.order),this.starts=new p(i.order+1),this.belongings=new b(i.order),this.dendrogram=[],this.mapping=null,this.counts=new b(i.order),this.unused=new b(i.order),this.totalWeights=new m(i.order);var f={},y,h=0,v=0,x=this;i.forEachNode(function(g){x.nodes[h]=g,f[g]=h,v+=i.undirectedDegreeWithoutSelfLoops(g),x.starts[h]=v,x.belongings[h]=h,x.counts[h]=1,h++}),i.forEachEdge(function(g,w,C,I,k,D,_){if(y=d(g,w,C,I,k,D,_),C=f[C],I=f[I],x.M+=y,C===I)x.totalWeights[C]+=y*2,x.loops[C]=y*2;else{x.totalWeights[C]+=y,x.totalWeights[I]+=y;var L=--x.starts[C],G=--x.starts[I];x.neighborhood[L]=I,x.neighborhood[G]=C,x.weights[L]=y,x.weights[G]=y}}),this.starts[h]=this.E,this.keepDendrogram?this.dendrogram.push(this.belongings.slice()):this.mapping=this.belongings.slice()}n.prototype.isolate=function(i,l){var u=this.belongings[i];if(this.counts[u]===1)return u;var d=this.unused[--this.U],c=this.loops[i];return this.totalWeights[u]-=l+c,this.totalWeights[d]+=l+c,this.belongings[i]=d,this.counts[u]--,this.counts[d]++,d},n.prototype.move=function(i,l,u){var d=this.belongings[i],c=this.loops[i];this.totalWeights[d]-=l+c,this.totalWeights[u]+=l+c,this.belongings[i]=u;var p=this.counts[d]--===1;this.counts[u]++,p&&(this.unused[this.U++]=d)},n.prototype.computeNodeDegree=function(i){var l,u,d,c=0;for(l=this.starts[i],u=this.starts[i+1];l<u;l++)d=this.weights[l],c+=d;return c},n.prototype.expensiveIsolate=function(i){var l=this.computeNodeDegree(i);return this.isolate(i,l)},n.prototype.expensiveMove=function(i,l){var u=this.computeNodeDegree(i);this.move(i,u,l)},n.prototype.zoomOut=function(){var i=new Array(this.C-this.U),l={},u=this.nodes.length,d=0,c=0,p,b,m,f,y,h,v,x,g;for(p=0,m=this.C;p<m;p++)h=this.belongings[p],h in l||(l[h]=d,i[d]={adj:{},totalWeights:this.totalWeights[h],internalWeights:0},d++),this.belongings[p]=l[h];var w,C;if(this.keepDendrogram){for(w=this.dendrogram[this.level],C=new(t.getPointerArray(d))(u),p=0;p<u;p++)C[p]=this.belongings[w[p]];this.dendrogram.push(C)}else for(p=0;p<u;p++)this.mapping[p]=this.belongings[this.mapping[p]];for(p=0,m=this.C;p<m;p++)for(h=this.belongings[p],x=i[h],g=x.adj,x.internalWeights+=this.loops[p],b=this.starts[p],f=this.starts[p+1];b<f;b++){if(y=this.neighborhood[b],v=this.belongings[y],h===v){x.internalWeights+=this.weights[b];continue}v in g||(g[v]=0),g[v]+=this.weights[b]}for(this.C=d,y=0,h=0;h<d;h++){x=i[h],g=x.adj,h=+h,this.totalWeights[h]=x.totalWeights,this.loops[h]=x.internalWeights,this.counts[h]=1,this.starts[h]=y,this.belongings[h]=h;for(v in g)this.neighborhood[y]=+v,this.weights[y]=g[v],c++,y++}return this.starts[d]=c,this.E=c,this.U=0,this.level++,l},n.prototype.modularity=function(){var i,l,u,d,c,p=0,b=this.M*2,m=new Float64Array(this.C);for(u=0;u<this.C;u++)for(i=this.belongings[u],m[i]+=this.loops[u],d=this.starts[u],c=this.starts[u+1];d<c;d++)l=this.belongings[this.neighborhood[d]],i===l&&(m[i]+=this.weights[d]);for(u=0;u<this.C;u++)p+=m[u]/b-Math.pow(this.totalWeights[u]/b,2)*this.resolution;return p},n.prototype.delta=function(i,l,u,d){var c=this.M,p=this.totalWeights[d];return l+=this.loops[i],u/c-p*l*this.resolution/(2*c*c)},n.prototype.deltaWithOwnCommunity=function(i,l,u,d){var c=this.M,p=this.totalWeights[d];return l+=this.loops[i],u/c-(p-l)*l*this.resolution/(2*c*c)},n.prototype.fastDelta=function(i,l,u,d){var c=this.M,p=this.totalWeights[d];return l+=this.loops[i],u-l*p*this.resolution/(2*c)},n.prototype.fastDeltaWithOwnCommunity=function(i,l,u,d){var c=this.M,p=this.totalWeights[d];return l+=this.loops[i],u-l*(p-l)*this.resolution/(2*c)},n.prototype.bounds=function(i){return[this.starts[i],this.starts[i+1]]},n.prototype.project=function(){var i=this,l={};return i.nodes.slice(0,this.C).forEach(function(u,d){l[u]=Array.from(i.neighborhood.slice(i.starts[d],i.starts[d+1])).map(function(c){return i.nodes[c]})}),l},n.prototype.collect=function(i){arguments.length<1&&(i=this.level);var l={},u=this.keepDendrogram?this.dendrogram[i]:this.mapping,d,c;for(d=0,c=u.length;d<c;d++)l[this.nodes[d]]=u[d];return l},n.prototype.assign=function(i,l){arguments.length<2&&(l=this.level);var u=this.keepDendrogram?this.dendrogram[l]:this.mapping,d,c;for(d=0,c=u.length;d<c;d++)this.graph.setNodeAttribute(this.nodes[d],i,u[d])},n.prototype[r]=function(){var i={};Object.defineProperty(i,"constructor",{value:n,enumerable:!1}),i.C=this.C,i.M=this.M,i.E=this.E,i.U=this.U,i.resolution=this.resolution,i.level=this.level,i.nodes=this.nodes,i.starts=this.starts.slice(0,i.C+1);var l=["neighborhood","weights"],u=["counts","loops","belongings","totalWeights"],d=this;return l.forEach(function(c){i[c]=d[c].slice(0,i.E)}),u.forEach(function(c){i[c]=d[c].slice(0,i.C)}),i.unused=this.unused.slice(0,this.U),this.keepDendrogram?i.dendrogram=this.dendrogram:i.mapping=this.mapping,i};function s(i,l){l=e(l,a);var u=l.resolution,d=o(l.getEdgeWeight).fromEntry,c=(i.size-i.selfLoopCount)*2,p=t.getPointerArray(c),b=t.getPointerArray(i.order+1),m=l.getEdgeWeight?Float64Array:t.getPointerArray(i.size*2);this.C=i.order,this.M=0,this.E=c,this.U=0,this.resolution=u,this.level=0,this.graph=i,this.nodes=new Array(i.order),this.keepDendrogram=l.keepDendrogram,this.neighborhood=new b(c),this.weights=new m(c),this.loops=new m(i.order),this.starts=new p(i.order+1),this.offsets=new p(i.order),this.belongings=new b(i.order),this.dendrogram=[],this.counts=new b(i.order),this.unused=new b(i.order),this.totalInWeights=new m(i.order),this.totalOutWeights=new m(i.order);var f={},y,h=0,v=0,x=this;i.forEachNode(function(g){x.nodes[h]=g,f[g]=h,v+=i.outDegreeWithoutSelfLoops(g),x.starts[h]=v,v+=i.inDegreeWithoutSelfLoops(g),x.offsets[h]=v,x.belongings[h]=h,x.counts[h]=1,h++}),i.forEachEdge(function(g,w,C,I,k,D,_){if(y=d(g,w,C,I,k,D,_),C=f[C],I=f[I],x.M+=y,C===I)x.loops[C]+=y,x.totalInWeights[C]+=y,x.totalOutWeights[C]+=y;else{x.totalOutWeights[C]+=y,x.totalInWeights[I]+=y;var L=--x.starts[C],G=--x.offsets[I];x.neighborhood[L]=I,x.neighborhood[G]=C,x.weights[L]=y,x.weights[G]=y}}),this.starts[h]=this.E,this.keepDendrogram?this.dendrogram.push(this.belongings.slice()):this.mapping=this.belongings.slice()}return s.prototype.bounds=n.prototype.bounds,s.prototype.inBounds=function(i){return[this.offsets[i],this.starts[i+1]]},s.prototype.outBounds=function(i){return[this.starts[i],this.offsets[i]]},s.prototype.project=n.prototype.project,s.prototype.projectIn=function(){var i=this,l={};return i.nodes.slice(0,this.C).forEach(function(u,d){l[u]=Array.from(i.neighborhood.slice(i.offsets[d],i.starts[d+1])).map(function(c){return i.nodes[c]})}),l},s.prototype.projectOut=function(){var i=this,l={};return i.nodes.slice(0,this.C).forEach(function(u,d){l[u]=Array.from(i.neighborhood.slice(i.starts[d],i.offsets[d])).map(function(c){return i.nodes[c]})}),l},s.prototype.isolate=function(i,l,u){var d=this.belongings[i];if(this.counts[d]===1)return d;var c=this.unused[--this.U],p=this.loops[i];return this.totalInWeights[d]-=l+p,this.totalInWeights[c]+=l+p,this.totalOutWeights[d]-=u+p,this.totalOutWeights[c]+=u+p,this.belongings[i]=c,this.counts[d]--,this.counts[c]++,c},s.prototype.move=function(i,l,u,d){var c=this.belongings[i],p=this.loops[i];this.totalInWeights[c]-=l+p,this.totalInWeights[d]+=l+p,this.totalOutWeights[c]-=u+p,this.totalOutWeights[d]+=u+p,this.belongings[i]=d;var b=this.counts[c]--===1;this.counts[d]++,b&&(this.unused[this.U++]=c)},s.prototype.computeNodeInDegree=function(i){var l,u,d,c=0;for(l=this.offsets[i],u=this.starts[i+1];l<u;l++)d=this.weights[l],c+=d;return c},s.prototype.computeNodeOutDegree=function(i){var l,u,d,c=0;for(l=this.starts[i],u=this.offsets[i];l<u;l++)d=this.weights[l],c+=d;return c},s.prototype.expensiveMove=function(i,l){var u=this.computeNodeInDegree(i),d=this.computeNodeOutDegree(i);this.move(i,u,d,l)},s.prototype.zoomOut=function(){var i=new Array(this.C-this.U),l={},u=this.nodes.length,d=0,c=0,p,b,m,f,y,h,v,x,g,w,C,I,k;for(p=0,m=this.C;p<m;p++)h=this.belongings[p],h in l||(l[h]=d,i[d]={inAdj:{},outAdj:{},totalInWeights:this.totalInWeights[h],totalOutWeights:this.totalOutWeights[h],internalWeights:0},d++),this.belongings[p]=l[h];var D,_;if(this.keepDendrogram){for(D=this.dendrogram[this.level],_=new(t.getPointerArray(d))(u),p=0;p<u;p++)_[p]=this.belongings[D[p]];this.dendrogram.push(_)}else for(p=0;p<u;p++)this.mapping[p]=this.belongings[this.mapping[p]];for(p=0,m=this.C;p<m;p++)for(h=this.belongings[p],g=this.offsets[p],x=i[h],I=x.inAdj,k=x.outAdj,x.internalWeights+=this.loops[p],b=this.starts[p],f=this.starts[p+1];b<f;b++){if(y=this.neighborhood[b],v=this.belongings[y],w=b<g,C=w?k:I,h===v){w&&(x.internalWeights+=this.weights[b]);continue}v in C||(C[v]=0),C[v]+=this.weights[b]}for(this.C=d,y=0,h=0;h<d;h++){x=i[h],I=x.inAdj,k=x.outAdj,h=+h,this.totalInWeights[h]=x.totalInWeights,this.totalOutWeights[h]=x.totalOutWeights,this.loops[h]=x.internalWeights,this.counts[h]=1,this.starts[h]=y,this.belongings[h]=h;for(v in k)this.neighborhood[y]=+v,this.weights[y]=k[v],c++,y++;this.offsets[h]=y;for(v in I)this.neighborhood[y]=+v,this.weights[y]=I[v],c++,y++}return this.starts[d]=c,this.E=c,this.U=0,this.level++,l},s.prototype.modularity=function(){var i,l,u,d,c,p=0,b=this.M,m=new Float64Array(this.C);for(u=0;u<this.C;u++)for(i=this.belongings[u],m[i]+=this.loops[u],d=this.starts[u],c=this.offsets[u];d<c;d++)l=this.belongings[this.neighborhood[d]],i===l&&(m[i]+=this.weights[d]);for(u=0;u<this.C;u++)p+=m[u]/b-this.totalInWeights[u]*this.totalOutWeights[u]/Math.pow(b,2)*this.resolution;return p},s.prototype.delta=function(i,l,u,d,c){var p=this.M,b=this.totalInWeights[c],m=this.totalOutWeights[c],f=this.loops[i];return l+=f,u+=f,d/p-(u*b+l*m)*this.resolution/(p*p)},s.prototype.deltaWithOwnCommunity=function(i,l,u,d,c){var p=this.M,b=this.totalInWeights[c],m=this.totalOutWeights[c],f=this.loops[i];return l+=f,u+=f,d/p-(u*(b-l)+l*(m-u))*this.resolution/(p*p)},s.prototype.collect=n.prototype.collect,s.prototype.assign=n.prototype.assign,s.prototype[r]=function(){var i={};Object.defineProperty(i,"constructor",{value:s,enumerable:!1}),i.C=this.C,i.M=this.M,i.E=this.E,i.U=this.U,i.resolution=this.resolution,i.level=this.level,i.nodes=this.nodes,i.starts=this.starts.slice(0,i.C+1);var l=["neighborhood","weights"],u=["counts","offsets","loops","belongings","totalInWeights","totalOutWeights"],d=this;return l.forEach(function(c){i[c]=d[c].slice(0,i.E)}),u.forEach(function(c){i[c]=d[c].slice(0,i.C)}),i.unused=this.unused.slice(0,this.U),this.keepDendrogram?i.dendrogram=this.dendrogram:i.mapping=this.mapping,i},Lr.UndirectedLouvainIndex=n,Lr.DirectedLouvainIndex=s,Lr}var So,Bn;function Ws(){if(Bn)return So;Bn=1;var t=en(),e=Ot(),o=Ms(),r=Rs(),a=js(),n=Hs().createRandomIndex,s=Ts(),i=s.UndirectedLouvainIndex,l=s.DirectedLouvainIndex,u={nodeCommunityAttribute:"community",getEdgeWeight:"weight",fastLocalMoves:!0,randomWalk:!0,resolution:1,rng:Math.random};function d(h,v,x){var g=h.get(v);typeof g>"u"&&(g=0),g+=x,h.set(v,g)}var c=1e-10;function p(h,v,x,g,w){return Math.abs(g-w)<c?h===v?!1:x>h:g>w}function b(h,v,x){var g=new i(v,{getEdgeWeight:x.getEdgeWeight,keepDendrogram:h,resolution:x.resolution}),w=n(x.rng),C=!0,I=!0,k,D,_=new r(Float64Array,g.C),L,G,V,q,W,F,ee,U,T,P,z,te,Q,B,le,J,re=0,ce=0,ue=[],ge,se;for(x.fastLocalMoves&&(L=new a(g.C));C;){if(P=g.C,C=!1,I=!0,x.fastLocalMoves){for(se=0,F=x.randomWalk?w(P):0,ee=0;ee<P;ee++,F++)U=F%P,L.enqueue(U);for(;L.size!==0;){for(U=L.dequeue(),ce++,z=0,_.clear(),k=g.belongings[U],G=g.starts[U],V=g.starts[U+1];G<V;G++)T=g.neighborhood[G],q=g.weights[G],D=g.belongings[T],z+=q,d(_,D,q);for(B=g.fastDeltaWithOwnCommunity(U,z,_.get(k)||0,k),Q=k,W=0;W<_.size;W++)D=_.dense[W],D!==k&&(te=_.vals[W],re++,J=g.fastDelta(U,z,te,D),le=p(Q,k,D,J,B),le&&(B=J,Q=D));if(B<0){if(Q=g.isolate(U,z),Q===k)continue}else{if(Q===k)continue;g.move(U,z,Q)}for(C=!0,se++,G=g.starts[U],V=g.starts[U+1];G<V;G++)T=g.neighborhood[G],D=g.belongings[T],D!==Q&&L.enqueue(T)}ue.push(se)}else for(ge=[],ue.push(ge);I;){for(I=!1,se=0,F=x.randomWalk?w(P):0,ee=0;ee<P;ee++,F++){for(U=F%P,ce++,z=0,_.clear(),k=g.belongings[U],G=g.starts[U],V=g.starts[U+1];G<V;G++)T=g.neighborhood[G],q=g.weights[G],D=g.belongings[T],z+=q,d(_,D,q);for(B=g.fastDeltaWithOwnCommunity(U,z,_.get(k)||0,k),Q=k,W=0;W<_.size;W++)D=_.dense[W],D!==k&&(te=_.vals[W],re++,J=g.fastDelta(U,z,te,D),le=p(Q,k,D,J,B),le&&(B=J,Q=D));if(B<0){if(Q=g.isolate(U,z),Q===k)continue}else{if(Q===k)continue;g.move(U,z,Q)}I=!0,se++}ge.push(se),C=I||C}C&&g.zoomOut()}var Ce={index:g,deltaComputations:re,nodesVisited:ce,moves:ue};return Ce}function m(h,v,x){var g=new l(v,{getEdgeWeight:x.getEdgeWeight,keepDendrogram:h,resolution:x.resolution}),w=n(x.rng),C=!0,I=!0,k,D,_=new r(Float64Array,g.C),L,G,V,q,W,F,ee,U,T,P,z,te,Q,B,le,J,re,ce,ue,ge=0,se=0,Ce=[],_e,be;for(x.fastLocalMoves&&(L=new a(g.C));C;){if(te=g.C,C=!1,I=!0,x.fastLocalMoves){for(be=0,U=x.randomWalk?w(te):0,T=0;T<te;T++,U++)P=U%te,L.enqueue(P);for(;L.size!==0;){for(P=L.dequeue(),se++,Q=0,B=0,_.clear(),k=g.belongings[P],G=g.starts[P],V=g.starts[P+1],q=g.offsets[P];G<V;G++)W=G<q,z=g.neighborhood[G],F=g.weights[G],D=g.belongings[z],W?B+=F:Q+=F,d(_,D,F);for(re=g.deltaWithOwnCommunity(P,Q,B,_.get(k)||0,k),J=k,ee=0;ee<_.size;ee++)D=_.dense[ee],D!==k&&(le=_.vals[ee],ge++,ue=g.delta(P,Q,B,le,D),ce=p(J,k,D,ue,re),ce&&(re=ue,J=D));if(re<0){if(J=g.isolate(P,Q,B),J===k)continue}else{if(J===k)continue;g.move(P,Q,B,J)}for(C=!0,be++,G=g.starts[P],V=g.starts[P+1];G<V;G++)z=g.neighborhood[G],D=g.belongings[z],D!==J&&L.enqueue(z)}Ce.push(be)}else for(_e=[],Ce.push(_e);I;){for(I=!1,be=0,U=x.randomWalk?w(te):0,T=0;T<te;T++,U++){for(P=U%te,se++,Q=0,B=0,_.clear(),k=g.belongings[P],G=g.starts[P],V=g.starts[P+1],q=g.offsets[P];G<V;G++)W=G<q,z=g.neighborhood[G],F=g.weights[G],D=g.belongings[z],W?B+=F:Q+=F,d(_,D,F);for(re=g.deltaWithOwnCommunity(P,Q,B,_.get(k)||0,k),J=k,ee=0;ee<_.size;ee++)D=_.dense[ee],D!==k&&(le=_.vals[ee],ge++,ue=g.delta(P,Q,B,le,D),ce=p(J,k,D,ue,re),ce&&(re=ue,J=D));if(re<0){if(J=g.isolate(P,Q,B),J===k)continue}else{if(J===k)continue;g.move(P,Q,B,J)}I=!0,be++}_e.push(be),C=I||C}C&&g.zoomOut()}var Me={index:g,deltaComputations:ge,nodesVisited:se,moves:Ce};return Me}function f(h,v,x,g){if(!e(x))throw new Error("graphology-communities-louvain: the given graph is not a valid graphology instance.");var w=o(x);if(w==="mixed")throw new Error("graphology-communities-louvain: cannot run the algorithm on a true mixed graph.");g=t(g,u);var C=0;if(x.size===0){if(h){x.forEachNode(function(G){x.setNodeAttribute(G,g.nodeCommunityAttribute,C++)});return}var I={};return x.forEachNode(function(G){I[G]=C++}),v?{communities:I,count:x.order,deltaComputations:0,dendrogram:null,level:0,modularity:NaN,moves:null,nodesVisited:0,resolution:g.resolution}:I}var k=w==="undirected"?b:m,D=k(v,x,g),_=D.index;if(!v){if(h){_.assign(g.nodeCommunityAttribute);return}return _.collect()}var L={count:_.C,deltaComputations:D.deltaComputations,dendrogram:_.dendrogram,level:_.level,modularity:_.modularity(),moves:D.moves,nodesVisited:D.nodesVisited,resolution:g.resolution};return h?(_.assign(g.nodeCommunityAttribute),L):(L.communities=_.collect(),L)}var y=f.bind(null,!1,!1);return y.assign=f.bind(null,!0,!1),y.detailed=f.bind(null,!1,!0),y.defaults=u,So=y,So}var zs=Ws();const Vs=Wa(zs);var yt={},Ut={},Pr={},Fn;function Us(){return Fn||(Fn=1,Pr.ARRAY_BUFFER_SUPPORT=typeof ArrayBuffer<"u",Pr.SYMBOL_SUPPORT=typeof Symbol<"u"),Pr}var wo,$n;function tn(){if($n)return wo;$n=1;var t=Us(),e=t.ARRAY_BUFFER_SUPPORT,o=t.SYMBOL_SUPPORT;return wo=function(a,n){var s,i,l,u,d;if(!a)throw new Error("obliterator/forEach: invalid iterable.");if(typeof n!="function")throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(a)||e&&ArrayBuffer.isView(a)||typeof a=="string"||a.toString()==="[object Arguments]"){for(l=0,u=a.length;l<u;l++)n(a[l],l);return}if(typeof a.forEach=="function"){a.forEach(n);return}if(o&&Symbol.iterator in a&&typeof a.next!="function"&&(a=a[Symbol.iterator]()),typeof a.next=="function"){for(s=a,l=0;d=s.next(),d.done!==!0;)n(d.value,l),l++;return}for(i in a)a.hasOwnProperty(i)&&n(a[i],i)},wo}var No,qn;function Os(){if(qn)return No;qn=1;var t=Ar(),e=tn();function o(){this.clear()}return o.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},o.prototype.enqueue=function(r){return this.items.push(r),++this.size},o.prototype.dequeue=function(){if(this.size){var r=this.items[this.offset];return++this.offset*2>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,r}},o.prototype.peek=function(){if(this.size)return this.items[this.offset]},o.prototype.forEach=function(r,a){a=arguments.length>1?a:this;for(var n=this.offset,s=0,i=this.items.length;n<i;n++,s++)r.call(a,this.items[n],s,this)},o.prototype.toArray=function(){return this.items.slice(this.offset)},o.prototype.values=function(){var r=this.items,a=this.offset;return new t(function(){if(a>=r.length)return{done:!0};var n=r[a];return a++,{value:n,done:!1}})},o.prototype.entries=function(){var r=this.items,a=this.offset,n=0;return new t(function(){if(a>=r.length)return{done:!0};var s=r[a];return a++,{value:[n++,s],done:!1}})},typeof Symbol<"u"&&(o.prototype[Symbol.iterator]=o.prototype.values),o.prototype.toString=function(){return this.toArray().join(",")},o.prototype.toJSON=function(){return this.toArray()},o.prototype.inspect=function(){var r=this.toArray();return Object.defineProperty(r,"constructor",{value:o,enumerable:!1}),r},typeof Symbol<"u"&&(o.prototype[Symbol.for("nodejs.util.inspect.custom")]=o.prototype.inspect),o.from=function(r){var a=new o;return e(r,function(n){a.enqueue(n)}),a},o.of=function(){return o.from(arguments)},No=o,No}var Eo,Kn;function Bs(){return Kn||(Kn=1,Eo=function(e,o){var r=o.length;if(r!==0){var a=e.length;e.length+=r;for(var n=0;n<r;n++)e[a+n]=o[n]}}),Eo}var Yn;function Fs(){if(Yn)return Ut;Yn=1;var t=Ot(),e=Os(),o=Bs();function r(u,d,c){if(!t(u))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!u.hasNode(d))throw new Error('graphology-shortest-path: the "'+d+'" source node does not exist in the given graph.');if(!u.hasNode(c))throw new Error('graphology-shortest-path: the "'+c+'" target node does not exist in the given graph.');if(d=""+d,c=""+c,d===c)return[d];var p=u.inboundNeighbors.bind(u),b=u.outboundNeighbors.bind(u),m={},f={};m[d]=null,f[c]=null;var y=[d],h=[c],v,x,g,w,C,I,k,D,_=!1;e:for(;y.length&&h.length;)if(y.length<=h.length){for(v=y,y=[],C=0,k=v.length;C<k;C++)for(x=v[C],g=b(x),I=0,D=g.length;I<D;I++)if(w=g[I],w in m||(y.push(w),m[w]=x),w in f){_=!0;break e}}else for(v=h,h=[],C=0,k=v.length;C<k;C++)for(x=v[C],g=p(x),I=0,D=g.length;I<D;I++)if(w=g[I],w in f||(h.push(w),f[w]=x),w in m){_=!0;break e}if(!_)return null;for(var L=[];w;)L.unshift(w),w=m[w];for(w=f[L[L.length-1]];w;)L.push(w),w=f[w];return L.length?L:null}function a(u,d){if(!t(u))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<2)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 2.");if(!u.hasNode(d))throw new Error('graphology-shortest-path: the "'+d+'" source node does not exist in the given graph.');d=""+d;var c={},p={},b,m,f,y,h,v;for(c[d]=!0,p[d]=[d];Object.keys(c).length;){b=c,c={};for(f in b)for(m=u.outboundNeighbors(f),h=0,v=m.length;h<v;h++)y=m[h],p[y]||(p[y]=p[f].concat(y),c[y]=!0)}return p}function n(u,d,c){if(!t(d))throw new Error("graphology-shortest-path: invalid graphology instance.");if(!d.hasNode(c))throw new Error('graphology-shortest-path: the "'+c+'" source node does not exist in the given graph.');c=""+c;var p=new Set,b={},m=0;b[c]=0;for(var f=[c],y,h,v;f.length!==0;){var x=[];for(y=0,h=f.length;y<h;y++)v=f[y],!p.has(v)&&(p.add(v),o(x,d[u](v)),b[v]=m);m++,f=x}return b}var s=n.bind(null,"outboundNeighbors"),i=n.bind(null,"neighbors");function l(u,d){d=""+d;var c=[],p={},b={},m=u.nodes(),f,y,h,v,x,g,w,C,I;for(g=0,C=m.length;g<C;g++)v=m[g],p[v]=[],b[v]=0;var k={};b[d]=1,k[d]=0;for(var D=e.of(d);D.size;)for(v=D.dequeue(),c.push(v),f=k[v],y=b[v],h=u.outboundNeighbors(v),w=0,I=h.length;w<I;w++)x=h[w],x in k||(D.enqueue(x),k[x]=f+1),k[x]===f+1&&(b[x]+=y,p[x].push(v));return[c,p,b]}return Ut.bidirectional=r,Ut.singleSource=a,Ut.singleSourceLength=s,Ut.undirectedSingleSourceLength=i,Ut.brandes=l,Ut}var Ao={},Xn;function $s(){if(Xn)return Ao;Xn=1;var t=function(){return!0};return Ao.edgePathFromNodePath=function(e,o){var r=o.length,a,n,s,i;if(r<2)return n=o[0],i=e.multi?e.findEdge(n,n,t):e.edge(n,n),i?[i]:[];r--;var l=new Array(r);for(a=0;a<r;a++){if(n=o[a],s=o[a+1],i=e.multi?e.findOutboundEdge(n,s,t):e.edge(n,s),i===void 0)throw new Error("graphology-shortest-path: given path is impossible in given graph.");l[a]=i}return l},Ao}var hr={},er={},Zn;function qs(){if(Zn)return er;Zn=1;var t=function(a,n){return a<n?-1:a>n?1:0},e=function(a,n){return a<n?1:a>n?-1:0};function o(a){return function(n,s){return a(s,n)}}function r(a){return a===2?function(n,s){return n[0]<s[0]?-1:n[0]>s[0]?1:n[1]<s[1]?-1:n[1]>s[1]?1:0}:function(n,s){for(var i=0;i<a;){if(n[i]<s[i])return-1;if(n[i]>s[i])return 1;i++}return 0}}return er.DEFAULT_COMPARATOR=t,er.DEFAULT_REVERSE_COMPARATOR=e,er.reverseComparator=o,er.createTupleComparator=r,er}var tr={},Qn;function rn(){if(Qn)return tr;Qn=1;var t=tn(),e=ar();function o(s){return Array.isArray(s)||e.isTypedArray(s)}function r(s){if(typeof s.length=="number")return s.length;if(typeof s.size=="number")return s.size}function a(s){var i=r(s),l=typeof i=="number"?new Array(i):[],u=0;return t(s,function(d){l[u++]=d}),l}function n(s){var i=r(s),l=typeof i=="number"?e.getPointerArray(i):Array,u=typeof i=="number"?new Array(i):[],d=typeof i=="number"?new l(i):[],c=0;return t(s,function(p){u[c]=p,d[c]=c++}),[u,d]}return tr.isArrayLike=o,tr.guessLength=r,tr.toArray=a,tr.toArrayWithIndices=n,tr}var ko,Jn;function on(){if(Jn)return ko;Jn=1;var t=tn(),e=qs(),o=rn(),r=e.DEFAULT_COMPARATOR,a=e.reverseComparator;function n(h,v,x,g){for(var w=v[g],C,I;g>x;){if(C=g-1>>1,I=v[C],h(w,I)<0){v[g]=I,g=C;continue}break}v[g]=w}function s(h,v,x){for(var g=v.length,w=x,C=v[x],I=2*x+1,k;I<g;)k=I+1,k<g&&h(v[I],v[k])>=0&&(I=k),v[x]=v[I],x=I,I=2*x+1;v[x]=C,n(h,v,w,x)}function i(h,v,x){v.push(x),n(h,v,0,v.length-1)}function l(h,v){var x=v.pop();if(v.length!==0){var g=v[0];return v[0]=x,s(h,v,0),g}return x}function u(h,v,x){if(v.length===0)throw new Error("mnemonist/heap.replace: cannot pop an empty heap.");var g=v[0];return v[0]=x,s(h,v,0),g}function d(h,v,x){var g;return v.length!==0&&h(v[0],x)<0&&(g=v[0],v[0]=x,x=g,s(h,v,0)),x}function c(h,v){for(var x=v.length,g=x>>1,w=g;--w>=0;)s(h,v,w)}function p(h,v){for(var x=v.length,g=0,w=new Array(x);g<x;)w[g++]=l(h,v);return w}function b(h,v,x){arguments.length===2&&(x=v,v=h,h=r);var g=a(h),w,C,I,k=1/0,D;if(v===1){if(o.isArrayLike(x)){for(w=0,C=x.length;w<C;w++)I=x[w],(k===1/0||h(I,k)<0)&&(k=I);return D=new x.constructor(1),D[0]=k,D}return t(x,function(L){(k===1/0||h(L,k)<0)&&(k=L)}),[k]}if(o.isArrayLike(x)){if(v>=x.length)return x.slice().sort(h);for(D=x.slice(0,v),c(g,D),w=v,C=x.length;w<C;w++)g(x[w],D[0])>0&&u(g,D,x[w]);return D.sort(h)}var _=o.guessLength(x);return _!==null&&_<v&&(v=_),D=new Array(v),w=0,t(x,function(L){w<v?D[w]=L:(w===v&&c(g,D),g(L,D[0])>0&&u(g,D,L)),w++}),D.length>w&&(D.length=w),D.sort(h)}function m(h,v,x){arguments.length===2&&(x=v,v=h,h=r);var g=a(h),w,C,I,k=-1/0,D;if(v===1){if(o.isArrayLike(x)){for(w=0,C=x.length;w<C;w++)I=x[w],(k===-1/0||h(I,k)>0)&&(k=I);return D=new x.constructor(1),D[0]=k,D}return t(x,function(L){(k===-1/0||h(L,k)>0)&&(k=L)}),[k]}if(o.isArrayLike(x)){if(v>=x.length)return x.slice().sort(g);for(D=x.slice(0,v),c(h,D),w=v,C=x.length;w<C;w++)h(x[w],D[0])>0&&u(h,D,x[w]);return D.sort(g)}var _=o.guessLength(x);return _!==null&&_<v&&(v=_),D=new Array(v),w=0,t(x,function(L){w<v?D[w]=L:(w===v&&c(h,D),h(L,D[0])>0&&u(h,D,L)),w++}),D.length>w&&(D.length=w),D.sort(g)}function f(h){if(this.clear(),this.comparator=h||r,typeof this.comparator!="function")throw new Error("mnemonist/Heap.constructor: given comparator should be a function.")}f.prototype.clear=function(){this.items=[],this.size=0},f.prototype.push=function(h){return i(this.comparator,this.items,h),++this.size},f.prototype.peek=function(){return this.items[0]},f.prototype.pop=function(){return this.size!==0&&this.size--,l(this.comparator,this.items)},f.prototype.replace=function(h){return u(this.comparator,this.items,h)},f.prototype.pushpop=function(h){return d(this.comparator,this.items,h)},f.prototype.consume=function(){return this.size=0,p(this.comparator,this.items)},f.prototype.toArray=function(){return p(this.comparator,this.items.slice())},f.prototype.inspect=function(){var h=this.toArray();return Object.defineProperty(h,"constructor",{value:f,enumerable:!1}),h},typeof Symbol<"u"&&(f.prototype[Symbol.for("nodejs.util.inspect.custom")]=f.prototype.inspect);function y(h){if(this.clear(),this.comparator=h||r,typeof this.comparator!="function")throw new Error("mnemonist/MaxHeap.constructor: given comparator should be a function.");this.comparator=a(this.comparator)}return y.prototype=f.prototype,f.from=function(h,v){var x=new f(v),g;return o.isArrayLike(h)?g=h.slice():g=o.toArray(h),c(x.comparator,g),x.items=g,x.size=g.length,x},y.from=function(h,v){var x=new y(v),g;return o.isArrayLike(h)?g=h.slice():g=o.toArray(h),c(x.comparator,g),x.items=g,x.size=g.length,x},f.siftUp=s,f.siftDown=n,f.push=i,f.pop=l,f.replace=u,f.pushpop=d,f.heapify=c,f.consume=p,f.nsmallest=b,f.nlargest=m,f.MinHeap=f,f.MaxHeap=y,ko=f,ko}var ea;function Ks(){if(ea)return hr;ea=1;var t=Ot(),e=eo().createEdgeWeightGetter,o=on(),r="weight";function a(c,p){return c[0]>p[0]?1:c[0]<p[0]?-1:c[1]>p[1]?1:c[1]<p[1]?-1:c[2]>p[2]?1:c[2]<p[2]?-1:0}function n(c,p){return c[0]>p[0]?1:c[0]<p[0]?-1:c[1]>p[1]?1:c[1]<p[1]?-1:c[2]>p[2]?1:c[2]<p[2]?-1:c[3]>p[3]?1:c[3]<p[3]?-1:0}function s(c,p,b,m){if(p=""+p,b=""+b,!t(c))throw new Error("graphology-shortest-path/dijkstra: invalid graphology instance.");if(p&&!c.hasNode(p))throw new Error('graphology-shortest-path/dijkstra: the "'+p+'" source node does not exist in the given graph.');if(b&&!c.hasNode(b))throw new Error('graphology-shortest-path/dijkstra: the "'+b+'" target node does not exist in the given graph.');if(m=e(m||r).fromMinimalEntry,p===b)return[0,[p]];var f=[{},{}],y=[{},{}],h=[new o(a),new o(a)],v=[{},{}];y[0][p]=[p],y[1][b]=[b],v[0][p]=0,v[1][b]=0;var x=[],g=1/0,w=0,C=1,I,k,D,_,L,G,V,q,W;for(h[0].push([0,w++,p]),h[1].push([0,w++,b]);h[0].size&&h[1].size;)if(C=1-C,I=h[C].pop(),_=I[0],L=I[2],!(L in f[C])){if(f[C][L]=_,L in f[1-C])return[g,x];for(k=C===1?c.inboundEdges(L):c.outboundEdges(L),q=0,W=k.length;q<W;q++){if(V=k[q],G=c.opposite(L,V),D=f[C][L]+m(V,c.getEdgeAttributes(V)),G in f[C]&&D<f[C][G])throw Error("graphology-shortest-path/dijkstra: contradictory paths found. Do some of your edges have a negative weight?");(!(G in v[C])||D<v[C][G])&&(v[C][G]=D,h[C].push([D,w++,G]),y[C][G]=y[C][L].concat(G),G in v[0]&&G in v[1]&&(_=v[0][G]+v[1][G],(x.length===0||g>_)&&(g=_,x=y[0][G].concat(y[1][G].slice(0,-1).reverse()))))}}return[1/0,null]}function i(c,p,b,m,f,y){if(!t(c))throw new Error("graphology-shortest-path/dijkstra: invalid graphology instance.");b=e(b||r).fromMinimalEntry;var h={},v={},x=new o(a),g=0,w,C,I,k,D,_,L,G,V,q,W;for(G=0,q=p.length;G<q;G++)k=p[G],v[k]=0,x.push([0,g++,k]),y&&(y[k]=[k]);for(;x.size;)if(C=x.pop(),L=C[0],k=C[2],!(k in h)){if(h[k]=L,k===f)break;for(w=c.outboundEdges(k),V=0,W=w.length;V<W;V++){if(_=w[V],D=c.opposite(k,_),I=b(_,c.getEdgeAttributes(_))+h[k],D in h&&I<h[D])throw Error("graphology-shortest-path/dijkstra: contradictory paths found. Do some of your edges have a negative weight?");(!(D in v)||I<v[D])&&(v[D]=I,x.push([I,g++,D]),y&&(y[D]=y[k].concat(D)))}}return h}function l(c,p,b){var m={};return i(c,[p],b,0,null,m),m}function u(c,p,b,m){return s(c,p,b,m)[1]}function d(c,p,b){p=""+p,b=e(b||r).fromMinimalEntry;var m=[],f={},y={},h=c.nodes(),v,x,g,w,C,I,k,D,_,L;for(_=0,L=h.length;_<L;_++)I=h[_],f[I]=[],y[I]=0;var G={};y[p]=1;var V={};V[p]=0;var q=0,W=new o(n);for(W.push([0,q++,p,p]);W.size;)if(x=W.pop(),w=x[0],g=x[2],I=x[3],!(I in G))for(y[I]+=y[g],m.push(I),G[I]=w,v=c.outboundEdges(I),_=0,L=v.length;_<L;_++)D=v[_],k=c.opposite(I,D),C=w+b(D,c.getEdgeAttributes(D)),!(k in G)&&(!(k in V)||C<V[k])?(V[k]=C,W.push([C,q++,I,k]),y[k]=0,f[k]=[I]):C===V[k]&&(y[k]+=y[I],f[k].push(I));return[m,f,y]}return hr.bidirectional=u,hr.singleSource=l,hr.brandes=d,hr}var Co={},ta;function Ys(){if(ta)return Co;ta=1;var t=Ot(),e=eo().createEdgeWeightGetter,o=on(),r="weight";function a(s,i){return s[0]>i[0]?1:s[0]<i[0]?-1:s[1]>i[1]?1:s[1]<i[1]?-1:0}function n(s,i,l,u,d,c){if(!t(s))throw new Error("graphology-shortest-path/astar: invalid graphology instance.");if(i&&!s.hasNode(i))throw new Error('graphology-shortest-path/astar: the "'+i+'" source node does not exist in the given graph.');if(l&&!s.hasNode(l))throw new Error('graphology-shortest-path/astar: the "'+l+'" target node does not exist in the given graph.');if(u=e(u||r).fromMinimalEntry,i===l)return[i];d=d||function(){return 0},c=c||{};var p=0,b=new o(a);b.push([0,p++,i,0,null]);var m={},f={},y,h,v,x,g,w,C,I,k,D,_,L;function G(V,q,W,F){if(L=h===W?F:W,D=u(V,q),D!==null){if(_=x+D,m.hasOwnProperty(L)){if(v=m[L],I=v[0],k=v[1],I<=_)return}else k=d(L,l);c.cutoff&&_+k>c.cutoff||(m[L]=[_,k],b.push([_+k,p++,L,_,h]))}}for(;b.size!==0;){if(y=b.pop(),h=y[2],x=y[3],g=y[4],h===l){for(w=[h],C=g;C!==null;)w.push(C),C=f[C];return w.reverse(),w}f.hasOwnProperty(h)&&(f[h]===null||(I=m[h][0],I<x))||(f[h]=g,s.forEachOutboundEdge(h,G))}return null}return Co.bidirectional=n,Co}var ra;function Xs(){if(ra)return yt;ra=1;var t=Fs(),e=$s();return yt.unweighted=t,yt.dijkstra=Ks(),yt.astar=Ys(),yt.bidirectional=t.bidirectional,yt.singleSource=t.singleSource,yt.singleSourceLength=t.singleSourceLength,yt.undirectedSingleSourceLength=t.undirectedSingleSourceLength,yt.brandes=t.brandes,yt.edgePathFromNodePath=e.edgePathFromNodePath,yt}var Zs=Xs(),Mr={},Io,oa;function Qs(){if(oa)return Io;oa=1;var t=rn(),e=Ar();function o(r,a){if(arguments.length<2)throw new Error("mnemonist/fixed-deque: expecting an Array class and a capacity.");if(typeof a!="number"||a<=0)throw new Error("mnemonist/fixed-deque: `capacity` should be a positive number.");this.ArrayClass=r,this.capacity=a,this.items=new r(this.capacity),this.clear()}return o.prototype.clear=function(){this.start=0,this.size=0},o.prototype.push=function(r){if(this.size===this.capacity)throw new Error("mnemonist/fixed-deque.push: deque capacity ("+this.capacity+") exceeded!");var a=this.start+this.size;return a>=this.capacity&&(a-=this.capacity),this.items[a]=r,++this.size},o.prototype.unshift=function(r){if(this.size===this.capacity)throw new Error("mnemonist/fixed-deque.unshift: deque capacity ("+this.capacity+") exceeded!");var a=this.start-1;return this.start===0&&(a=this.capacity-1),this.items[a]=r,this.start=a,++this.size},o.prototype.pop=function(){if(this.size!==0){this.size--;var r=this.start+this.size;return r>=this.capacity&&(r-=this.capacity),this.items[r]}},o.prototype.shift=function(){if(this.size!==0){var r=this.start;return this.size--,this.start++,this.start===this.capacity&&(this.start=0),this.items[r]}},o.prototype.peekFirst=function(){if(this.size!==0)return this.items[this.start]},o.prototype.peekLast=function(){if(this.size!==0){var r=this.start+this.size-1;return r>=this.capacity&&(r-=this.capacity),this.items[r]}},o.prototype.get=function(r){if(!(this.size===0||r>=this.capacity))return r=this.start+r,r>=this.capacity&&(r-=this.capacity),this.items[r]},o.prototype.forEach=function(r,a){a=arguments.length>1?a:this;for(var n=this.capacity,s=this.size,i=this.start,l=0;l<s;)r.call(a,this.items[i],l,this),i++,l++,i===n&&(i=0)},o.prototype.toArray=function(){var r=this.start+this.size;if(r<this.capacity)return this.items.slice(this.start,r);for(var a=new this.ArrayClass(this.size),n=this.capacity,s=this.size,i=this.start,l=0;l<s;)a[l]=this.items[i],i++,l++,i===n&&(i=0);return a},o.prototype.values=function(){var r=this.items,a=this.capacity,n=this.size,s=this.start,i=0;return new e(function(){if(i>=n)return{done:!0};var l=r[s];return s++,i++,s===a&&(s=0),{value:l,done:!1}})},o.prototype.entries=function(){var r=this.items,a=this.capacity,n=this.size,s=this.start,i=0;return new e(function(){if(i>=n)return{done:!0};var l=r[s];return s++,s===a&&(s=0),{value:[i++,l],done:!1}})},typeof Symbol<"u"&&(o.prototype[Symbol.iterator]=o.prototype.values),o.prototype.inspect=function(){var r=this.toArray();return r.type=this.ArrayClass.name,r.capacity=this.capacity,Object.defineProperty(r,"constructor",{value:o,enumerable:!1}),r},typeof Symbol<"u"&&(o.prototype[Symbol.for("nodejs.util.inspect.custom")]=o.prototype.inspect),o.from=function(r,a,n){if(arguments.length<3&&(n=t.guessLength(r),typeof n!="number"))throw new Error("mnemonist/fixed-deque.from: could not guess iterable length. Please provide desired capacity as last argument.");var s=new o(a,n);if(t.isArrayLike(r)){var i,l;for(i=0,l=r.length;i<l;i++)s.items[i]=r[i];return s.size=l,s}return t.forEach(r,function(u){s.push(u)}),s},Io=o,Io}var Do,na;function Js(){if(na)return Do;na=1;var t=Ar(),e=rn();function o(r,a){if(arguments.length<2)throw new Error("mnemonist/fixed-stack: expecting an Array class and a capacity.");if(typeof a!="number"||a<=0)throw new Error("mnemonist/fixed-stack: `capacity` should be a positive number.");this.capacity=a,this.ArrayClass=r,this.items=new this.ArrayClass(this.capacity),this.clear()}return o.prototype.clear=function(){this.size=0},o.prototype.push=function(r){if(this.size===this.capacity)throw new Error("mnemonist/fixed-stack.push: stack capacity ("+this.capacity+") exceeded!");return this.items[this.size++]=r,this.size},o.prototype.pop=function(){if(this.size!==0)return this.items[--this.size]},o.prototype.peek=function(){return this.items[this.size-1]},o.prototype.forEach=function(r,a){a=arguments.length>1?a:this;for(var n=0,s=this.items.length;n<s;n++)r.call(a,this.items[s-n-1],n,this)},o.prototype.toArray=function(){for(var r=new this.ArrayClass(this.size),a=this.size-1,n=this.size;n--;)r[n]=this.items[a-n];return r},o.prototype.values=function(){var r=this.items,a=this.size,n=0;return new t(function(){if(n>=a)return{done:!0};var s=r[a-n-1];return n++,{value:s,done:!1}})},o.prototype.entries=function(){var r=this.items,a=this.size,n=0;return new t(function(){if(n>=a)return{done:!0};var s=r[a-n-1];return{value:[n++,s],done:!1}})},typeof Symbol<"u"&&(o.prototype[Symbol.iterator]=o.prototype.values),o.prototype.toString=function(){return this.toArray().join(",")},o.prototype.toJSON=function(){return this.toArray()},o.prototype.inspect=function(){var r=this.toArray();return r.type=this.ArrayClass.name,r.capacity=this.capacity,Object.defineProperty(r,"constructor",{value:o,enumerable:!1}),r},typeof Symbol<"u"&&(o.prototype[Symbol.for("nodejs.util.inspect.custom")]=o.prototype.inspect),o.from=function(r,a,n){if(arguments.length<3&&(n=e.guessLength(r),typeof n!="number"))throw new Error("mnemonist/fixed-stack.from: could not guess iterable length. Please provide desired capacity as last argument.");var s=new o(a,n);if(e.isArrayLike(r)){var i,l;for(i=0,l=r.length;i<l;i++)s.items[i]=r[i];return s.size=l,s}return e.forEach(r,function(u){s.push(u)}),s},Do=o,Do}var Rr={},aa;function el(){if(aa)return Rr;aa=1;var t=ar(),e=eo().createEdgeWeightGetter;function o(n,s){return n==="outbound"||n==="inbound"?s.directedSize+s.undirectedSize*2:n==="in"||n==="out"||n==="directed"?s.directedSize:s.undirectedSize*2}function r(n,s){s=s||"outbound";var i=n[s+"Neighbors"].bind(n),l=o(s,n),u=t.getPointerArray(l),d=t.getPointerArray(n.order);this.graph=n,this.neighborhood=new d(l),this.starts=new u(n.order+1),this.nodes=n.nodes();var c={},p,b,m,f,y,h,v=0;for(p=0,b=n.order;p<b;p++)c[this.nodes[p]]=p;for(p=0,b=n.order;p<b;p++)for(y=this.nodes[p],h=i(y),this.starts[p]=v,m=0,f=h.length;m<f;m++)this.neighborhood[v++]=c[h[m]];this.starts[p]=l}r.prototype.bounds=function(n){return[this.starts[n],this.starts[n+1]]},r.prototype.project=function(){var n=this,s={};return n.nodes.forEach(function(i,l){s[i]=Array.from(n.neighborhood.slice(n.starts[l],n.starts[l+1])).map(function(u){return n.nodes[u]})}),s},r.prototype.collect=function(n){var s,i,l={};for(s=0,i=n.length;s<i;s++)l[this.nodes[s]]=n[s];return l},r.prototype.assign=function(n,s){var i=0;this.graph.updateEachNodeAttributes(function(l,u){return u[n]=s[i++],u},{attributes:[n]})},Rr.NeighborhoodIndex=r;function a(n,s,i){i=i||"outbound";var l=n[i+"Edges"].bind(n),u=o(i,n),d=t.getPointerArray(u),c=t.getPointerArray(n.order),p=e(s).fromMinimalEntry;this.graph=n,this.neighborhood=new c(u),this.weights=new Float64Array(u),this.outDegrees=new Float64Array(n.order),this.starts=new d(n.order+1),this.nodes=n.nodes();var b={},m,f,y,h,v,x,g,w,C,I=0;for(m=0,f=n.order;m<f;m++)b[this.nodes[m]]=m;for(m=0,f=n.order;m<f;m++)for(v=this.nodes[m],g=l(v),this.starts[m]=I,y=0,h=g.length;y<h;y++)w=g[y],x=n.opposite(v,w),C=p(w,n.getEdgeAttributes(w)),this.neighborhood[I]=b[x],this.weights[I++]=C,this.outDegrees[m]+=C;this.starts[m]=u}return a.prototype.bounds=r.prototype.bounds,a.prototype.project=r.prototype.project,a.prototype.collect=r.prototype.collect,a.prototype.assign=r.prototype.assign,Rr.WeightedNeighborhoodIndex=a,Rr}var ia;function tl(){if(ia)return Mr;ia=1;var t=Qs(),e=Js(),o=on(),r=ar(),a=el(),n=a.NeighborhoodIndex,s=a.WeightedNeighborhoodIndex;Mr.createUnweightedIndexedBrandes=function(u){var d=new n(u),c=d.neighborhood,p=d.starts,b=u.order,m=new e(r.getPointerArray(b),b),f=new Uint32Array(b),y=new Array(b),h=new Int32Array(b),v=new t(Uint32Array,b),x=function(g){var w,C,I,k,D,_,L;for(_=0;_<b;_++)y[_]=[],f[_]=0,h[_]=-1;for(f[g]=1,h[g]=0,v.push(g);v.size!==0;)for(_=v.shift(),m.push(_),w=h[_],C=f[_],I=p[_],k=p[_+1],D=I;D<k;D++)L=c[D],h[L]===-1&&(v.push(L),h[L]=w+1),h[L]===w+1&&(f[L]+=C,y[L].push(_));return[m,y,f]};return x.index=d,x};function i(l,u){return l[0]>u[0]?1:l[0]<u[0]?-1:l[1]>u[1]?1:l[1]<u[1]?-1:l[2]>u[2]?1:l[2]<u[2]?-1:l[3]>u[3]?1:l[3]<u[3]?-1:0}return Mr.createDijkstraIndexedBrandes=function(u,d){var c=new s(u,d||"weight"),p=c.neighborhood,b=c.weights,m=c.starts,f=u.order,y=new e(r.getPointerArray(f),f),h=new Uint32Array(f),v=new Array(f),x=new Float64Array(f),g=new Float64Array(f),w=new o(i),C=function(I){var k,D,_,L,G,V,q,W,F,ee=0;for(W=0;W<f;W++)v[W]=[],h[W]=0,x[W]=-1,g[W]=-1;for(h[I]=1,g[I]=0,w.push([0,ee++,I,I]);w.size!==0;)if(_=w.pop(),L=_[0],G=_[2],W=_[3],x[W]===-1)for(y.push(W),x[W]=L,h[W]+=h[G],k=m[W],D=m[W+1],q=k;q<D;q++)F=p[q],V=L+b[q],x[F]===-1&&(g[F]===-1||V<g[F])?(g[F]=V,w.push([V,ee++,W,F]),h[F]=0,v[F]=[W]):V===g[F]&&(h[F]+=h[W],v[F].push(W));return[y,v,h]};return C.index=c,C},Mr}var _o,sa;function rl(){if(sa)return _o;sa=1;var t=Ot(),e=tl(),o=en(),r=e.createUnweightedIndexedBrandes,a=e.createDijkstraIndexedBrandes,n={nodeCentralityAttribute:"betweennessCentrality",getEdgeWeight:"weight",normalized:!0};function s(l,u,d){if(!t(u))throw new Error("graphology-centrality/beetweenness-centrality: the given graph is not a valid graphology instance.");d=o(d,n);var c=d.nodeCentralityAttribute,p=d.normalized,b=d.getEdgeWeight?a(u,d.getEdgeWeight):r(u),m=u.order,f,y,h,v,x,g,w,C,I,k,D=new Float64Array(m),_=new Float64Array(m);for(g=0;g<m;g++){for(f=b(g),y=f[0],h=f[1],v=f[2],w=y.size;w--;)D[y.items[y.size-w]]=0;for(;y.size!==0;){for(k=y.pop(),x=(1+D[k])/v[k],w=0,C=h[k].length;w<C;w++)I=h[k][w],D[I]+=v[I]*x;k!==g&&(_[k]+=D[k])}}var L=null;if(p?L=m<=2?null:1/((m-1)*(m-2)):L=u.type==="undirected"?.5:null,L!==null)for(g=0;g<m;g++)_[g]*=L;return l?b.index.assign(c,_):b.index.collect(_)}var i=s.bind(null,!1);return i.assign=s.bind(null,!0),_o=i,_o}var ol=rl();const nl=Wa(ol);var fr={},la;function al(){if(la)return fr;la=1;var t=Ot();function e(n,s,i,l){var u=s+"Centrality";if(!t(i))throw new Error("graphology-centrality/"+u+": the given graph is not a valid graphology instance.");if(s!=="degree"&&i.type==="undirected")throw new Error("graphology-centrality/"+u+": cannot compute "+s+" centrality on an undirected graph.");l=l||{};var d=l.nodeCentralityAttribute||u,c=i.order-1,p=i[s].bind(i);if(n){i.updateEachNodeAttributes(function(m,f){return f[d]=p(m)/c,f},{attributes:[d]});return}var b={};return i.forEachNode(function(m){b[m]=p(m)/c}),b}var o=e.bind(null,!1,"degree"),r=e.bind(null,!1,"inDegree"),a=e.bind(null,!1,"outDegree");return o.assign=e.bind(null,!0,"degree"),r.assign=e.bind(null,!0,"inDegree"),a.assign=e.bind(null,!0,"outDegree"),fr.degreeCentrality=o,fr.inDegreeCentrality=r,fr.outDegreeCentrality=a,fr}var Go=al();const il=1400,sl=6,ll=6,cl=6,ca=4,ul=36,dl=80,Ka=128,ua=5,pl=2;function nn(t,e){const o=t.getNodeAttributes(e);return String(o.label||o.content||e)}function Nr(t,e){const o=t.getNodeAttributes(e);return String(o.baseColor||o.color||"#0e8fb5")}function to(t,e){const o=t.getNodeAttributes(e);return String(o.semanticGroup||o.nodeType||"entity")}function hl(t,e){if(!e)return new Set(t.nodes());const o=new Set;for(const r of e)t.hasNode(r)&&o.add(r);return o.size?o:new Set(t.nodes())}function fl(t,e){const o=Go.degreeCentrality(t),r=Go.inDegreeCentrality(t),a=Go.outDegreeCentrality(t),n=e?nl(t,{normalized:!0,getEdgeWeight:"weight"}):{},s=new Map;t.forEachNode(l=>{const u=Number(o[l]??0),d=Number(n[l]??0),c=Number(r[l]??0),p=Number(a[l]??0);s.set(l,{degree:u,inDegree:c,outDegree:p,betweenness:d,score:u*.7+d*.3})});const i=t.nodes().sort((l,u)=>{const d=s.get(l)?.score??0,c=s.get(u)?.score??0;return c!==d?c-d:l.localeCompare(u)});return{centralityByNode:s,topNodeIds:i,betweennessReady:e}}function ro(t,e){const o=e?.computeCommunities??!0,r=e?.computeCentrality??!0,a=new Map;let n=0,s=null;if(o&&t.order>1&&t.size>0)try{const u=Vs.detailed(t,{getEdgeWeight:"weight"});s=Number(u.modularity??0),n=Number(u.count??0),Object.entries(u.communities).forEach(([d,c])=>{a.set(d,Number(c))})}catch(u){console.error("[GraphAnalytics] community detection failed",u)}if(!r||t.order===0)return{communitiesByNode:a,communityCount:n,modularity:s,centralityByNode:new Map,topNodeIds:[],betweennessReady:!1};const i=t.order<=il,l=fl(t,i);return{communitiesByNode:a,communityCount:n,modularity:s,...l}}function ml(t,e,o){const r=new Map;return t.forEachNode(a=>{const n=o.communitiesByNode.get(a);if(n===void 0)return;const s=r.get(n)??{nodeCount:0,visibleNodeCount:0,semanticCounts:new Map,anchorNodeId:null,prominence:0,color:Nr(t,a)};s.nodeCount+=1,e.has(a)&&(s.visibleNodeCount+=1);const i=to(t,a);s.semanticCounts.set(i,(s.semanticCounts.get(i)??0)+1);const l=o.centralityByNode.get(a)?.score??0;(!s.anchorNodeId||l>(o.centralityByNode.get(s.anchorNodeId)?.score??-1))&&(s.anchorNodeId=a,s.color=Nr(t,a)),s.prominence+=e.has(a)?1+l:l*.15,r.set(n,s)}),[...r.entries()].map(([a,n])=>{const s=[...n.semanticCounts.entries()].sort((i,l)=>l[1]-i[1])[0]?.[0]??"entity";return{communityId:String(a),nodeCount:n.nodeCount,visibleNodeCount:n.visibleNodeCount,dominantSemanticGroup:s,color:n.color,anchorNodeId:n.anchorNodeId,anchorLabel:n.anchorNodeId?nn(t,n.anchorNodeId):"Community anchor",prominence:n.prominence}}).filter(a=>a.visibleNodeCount>0).sort((a,n)=>n.prominence-a.prominence).slice(0,sl)}function gl(t,e,o){const r=new Map;return t.forEachNode(a=>{const n=to(t,a),s=r.get(n)??{nodeCount:0,visibleNodeCount:0,communityCounts:new Map,anchorNodeId:null,prominence:0,color:Nr(t,a)};s.nodeCount+=1,e.has(a)&&(s.visibleNodeCount+=1);const i=o.communitiesByNode.get(a);if(i!==void 0){const u=String(i);s.communityCounts.set(u,(s.communityCounts.get(u)??0)+1)}const l=o.centralityByNode.get(a)?.score??0;(!s.anchorNodeId||l>(o.centralityByNode.get(s.anchorNodeId)?.score??-1))&&(s.anchorNodeId=a,s.color=Nr(t,a)),s.prominence+=e.has(a)?1+l:l*.1,r.set(n,s)}),[...r.entries()].map(([a,n])=>({semanticGroup:a,nodeCount:n.nodeCount,visibleNodeCount:n.visibleNodeCount,color:n.color,anchorNodeId:n.anchorNodeId,anchorLabel:n.anchorNodeId?nn(t,n.anchorNodeId):a,dominantCommunityId:[...n.communityCounts.entries()].sort((s,i)=>i[1]-s[1])[0]?.[0]??null,prominence:n.prominence})).filter(a=>a.visibleNodeCount>0).sort((a,n)=>n.prominence-a.prominence).slice(0,ll)}function bl(t,e,o){const r=o.topNodeIds.filter(n=>e.has(n));return(r.length?r:o.topNodeIds).slice(0,cl).map(n=>{const s=o.centralityByNode.get(n)??{degree:0,betweenness:0,score:0};return{id:n,label:nn(t,n),semanticGroup:to(t,n),color:Nr(t,n),degree:Number(s.degree??0),betweenness:Number(s.betweenness??0),score:Number(s.score??0)}})}function yl(t,e,o){const r=[];return t.forEachOutEdge(e,(a,n,s,i)=>{o.has(i)&&r.push({edgeId:String(a),source:s,target:i,attrs:n})}),t.forEachInEdge(e,(a,n,s,i)=>{o.has(s)&&r.push({edgeId:String(a),source:s,target:i,attrs:n})}),r}function da(t,e,o,r){const a=r.centralityByNode.get(e)?.score??0,n=r.centralityByNode.get(o)?.score??0,s=Number(t.weight??0),i=Number(t.visualPriority??0),l=Number(t.parallelCount??1)>1?.14:0,u=t.isBidirectional?.18:0;return s*1.4+(a+n)*2.4+i*.6+l+u}function Lo(t,e,o){const r=t.get(e);(!r||o.score>r.score||o.score===r.score&&o.edgeId.localeCompare(r.edgeId)<0)&&t.set(e,o)}function Po(t,e,o,r,a,n){const s=[...a].sort((i,l)=>l.score!==i.score?l.score-i.score:i.edgeId.localeCompare(l.edgeId));for(const i of s){if(t.length>=Ka||n<=0||e.has(i.edgeId))continue;const l=[i.source,i.target].sort().join("::");(o.get(i.source)??0)>=ua||(o.get(i.target)??0)>=ua||(r.get(l)??0)>=pl||(t.push(i),e.add(i.edgeId),o.set(i.source,(o.get(i.source)??0)+1),o.set(i.target,(o.get(i.target)??0)+1),r.set(l,(r.get(l)??0)+1),n-=1)}}function vl(t,e,o,r,a){if(e.size===0)return{ready:!1,reason:"No visible nodes are available for overview backbone selection.",edgeIds:[]};const n=[],s=new Set,i=new Map,l=new Map,u=new Map;e.forEach(h=>{u.set(h,to(t,h))});const d=new Set(r.slice(0,3).map(h=>h.semanticGroup)),c=new Set(a.slice(0,ca*2).map(h=>h.id).filter(h=>e.has(h))),p=a.slice(0,ca).map(h=>h.id).filter(h=>e.has(h)),b=new Map;p.forEach(h=>{yl(t,h,e).filter(v=>{const x=v.source===h?v.target:v.source;if(!c.has(x))return!1;const g=u.get(v.source),w=u.get(v.target);return!!(g&&w&&(d.has(g)||d.has(w)))}).forEach(v=>{const x=[v.source,v.target].sort().join("::"),g=u.get(v.source),w=u.get(v.target),C=g&&w&&g!==w?.28:0,I=da(v.attrs,v.source,v.target,o)+C;Lo(b,x,{edgeId:v.edgeId,source:v.source,target:v.target,score:I})})});const m=new Map,f=new Map;t.forEachEdge((h,v,x,g)=>{if(!e.has(x)||!e.has(g))return;const w=String(h),C=String(x),I=String(g),k=u.get(C),D=u.get(I),_=o.communitiesByNode.get(C),L=o.communitiesByNode.get(I),G=!!(k&&D&&k!==D),V=_!==void 0&&L!==void 0&&_!==L,q=o.centralityByNode.get(C)?.score??0,W=o.centralityByNode.get(I)?.score??0,F=da(v,C,I,o),ee=G?.5:0,U=V?.36:0,T=k&&D&&(d.has(k)||d.has(D))?.32:0,P=Math.min(q,W)*1.2,z=F+ee+U+T+P,te={edgeId:w,source:C,target:I,score:z};if(G||V){const B=[k??`community:${_??C}`,D??`community:${L??I}`,Math.min(q,W).toFixed(4)].sort().join("::");Lo(m,B,te)}const Q=[C,I].sort().join("::");Lo(f,Q,te)}),Po(n,s,i,l,m.values(),dl),Po(n,s,i,l,b.values(),ul),Po(n,s,i,l,f.values(),Ka-n.length);const y=n.map(h=>h.edgeId).filter(h=>t.hasEdge(h));return{ready:y.length>0,reason:y.length>0?"Ready":"No overview backbone edges met the current visibility thresholds.",edgeIds:y}}function xl(t,e){if(e.activePath.length<2)return{ready:!1,reason:"Trace a path to compare it against local strict directed shortest pathfinding.",sourceId:e.selectedNodeId||null,targetId:null,path:[],length:null,verifiedAgainstActivePath:!1};const o=e.activePath[0]??null,r=e.activePath[e.activePath.length-1]??null;if(!o||!r||!t.hasNode(o)||!t.hasNode(r))return{ready:!1,reason:"Active path endpoints are not available in the current graph view.",sourceId:o,targetId:r,path:[],length:null,verifiedAgainstActivePath:!1};try{const a=Zs.dijkstra.bidirectional(t,o,r,"weight")??[];return{ready:a.length>1,reason:a.length>1?"Ready":"No strict directed shortest path found in the current graph view.",sourceId:o,targetId:r,path:a,length:a.length>1?a.length-1:null,verifiedAgainstActivePath:a.join("::")===e.activePath.join("::")}}catch(a){return console.error("[GraphAnalytics] directed pathfinding failed",a),{ready:!1,reason:"Directed pathfinding failed for the current graph snapshot.",sourceId:o,targetId:r,path:[],length:null,verifiedAgainstActivePath:!1}}}function Sl(t){const{graphRef:e,interactionState:o,base:r}=t,a=hl(e,t.visibleNodeIds),n=xl(e,o),s=r.communitiesByNode.size?ml(e,a,r):[],i=gl(e,a,r),l=bl(e,a,r),u=vl(e,a,r,i,l);return{generatedAt:Date.now(),directedPath:n,communities:{ready:s.length>0,reason:s.length>0?"Ready":r.communitiesByNode.size>0?"No visible communities in the current graph context.":"Community detection has not produced summaries yet.",count:r.communityCount,modularity:r.modularity,summaries:s},centrality:{ready:l.length>0,reason:l.length>0?r.betweennessReady?"Ready":"Ready (degree-biased while betweenness is bounded for large graphs).":"Centrality ranking is waiting for graph data.",topNodes:l},semanticRegions:{ready:i.length>0,reason:i.length>0?"Ready":"No semantic regions are visible in the current graph context.",summaries:i},overviewBackbone:u}}const $r=E.focus.maxNeighbors,jr=E.focus.ringCapacity,wl=E.focus.ringGap,Nl=E.focus.primaryLabels,El=8,Al=8,Ya="__agg__:",rr="__community__:",Xa=typeof import.meta<"u"&&!0,kl=120,Cl=650,Il=900,pa=new WeakMap;function Dl(t){let e=pa.get(t);return e||(e=new Set(t.heatmapVisibleNodeIds??[]),pa.set(t,e)),e}const _l={layoutMode:"base",positionSource:"store",tracksStoreNodePositions:!0,hasSyntheticNodes:!1},yr={layoutMode:"mirrored",positionSource:"store",tracksStoreNodePositions:!0,hasSyntheticNodes:!1},Gl={layoutMode:"owned",positionSource:"display",tracksStoreNodePositions:!1,hasSyntheticNodes:!0};function oo(t){return ut(0,Math.log2(Math.max(t,1))/1.85,1)}function vt(t){return t<=0?"#7cff9b":t<=1?"#178a4c":t<=2?"#ff2d4b":t<=3||t<=6?"#7d5c14":"#ec2315"}function Ll(t){return t>=.7?"#178a4c":t>=.4?"#9a6700":"#ec2315"}function Pl(t,e,o){const r={};if(!e||!t.hasNode(e))return r;const a=[[e,0]],n=new Set([e]);for(r[e]=0;a.length>0;){const[s,i]=a.shift();i>=o||t.neighbors(s).forEach(l=>{const u=String(l);n.has(u)||(n.add(u),r[u]=i+1,a.push([u,i+1]))})}return r}function Za(t,e){const o={anchor:0,oneHop:0,twoHop:0,threeHopPlus:0,outside:0};Object.values(t).forEach(a=>{a<=0?o.anchor+=1:a===1?o.oneHop+=1:a===2?o.twoHop+=1:o.threeHopPlus+=1});const r=o.anchor+o.oneHop+o.twoHop+o.threeHopPlus;return o.outside=Math.max(0,e-r),o}function Ml(){return{anchor:0,oneHop:0,twoHop:0,threeHopPlus:0,outside:0}}function Rl(t){return t<=0?Number.POSITIVE_INFINITY:t===1?kl:t===2?Cl:Il}function ha(t,e){if(!t.hasNode(e))return 0;const o=t.getNodeAttributes(e);return Number(o.visualPriority??0)*8+Number(o.labelPriority??0)}function jl(t,e){const o=new Map;return t.forEachEdge((r,a,n,s)=>{const i=String(n),l=String(s),u=e[i],d=e[l];if(u==null||d==null||Math.abs(u-d)!==1)return;const c=u>d?i:l,p=a,b=Number(p.visualPriority??0)*8+Number(p.weight??0)+Number(p.relationshipStrength??0)*2+Number(p.representativeWeight??0);o.set(c,Math.max(o.get(c)??0,b))}),o}function Hl(t,e,o,r){const a=Za(o,t.order),n=Ml();n.outside=a.outside;const s=new Set;if(!e||!t.hasNode(e))return{visibleNodeIds:[],ringCounts:a,renderedRingCounts:n,saturationMode:"normal"};const i=jl(t,o),l=new Map;Object.entries(o).forEach(([d,c])=>{if(c<0||c>r||c>3)return;const p=Math.max(0,Math.floor(c));l.set(p,[...l.get(p)??[],d])}),l.get(0)?.includes(e)||l.set(0,[e,...l.get(0)??[]]),[0,1,2,3].forEach(d=>{const c=Rl(d),p=[...new Set(l.get(d)??[])].sort((b,m)=>{const f=(i.get(m)??0)-(i.get(b)??0);if(f!==0)return f;const y=ha(t,m)-ha(t,b);return y!==0?y:Rt(b)-Rt(m)}).slice(0,c);p.forEach(b=>s.add(b)),d===0&&(n.anchor=p.length),d===1&&(n.oneHop=p.length),d===2&&(n.twoHop=p.length),d===3&&(n.threeHopPlus=p.length)}),s.add(e),n.anchor=Math.max(1,n.anchor);const u=n.oneHop<a.oneHop||n.twoHop<a.twoHop||n.threeHopPlus<a.threeHopPlus;return{visibleNodeIds:[...s],ringCounts:a,renderedRingCounts:n,saturationMode:u?"sampled":"normal"}}function Tl(t){if(!t)return!1;const e=t.anchor+t.oneHop+t.twoHop+t.threeHopPlus+t.outside;if(e<=0)return!1;const o=t.twoHop+t.threeHopPlus;return t.threeHopPlus>1500||o/e>.35}function Wl(t,e){return t<=0?{alpha:1,shellAlpha:.92,borderAlpha:.95,sizeMultiplier:1.28,borderBoost:1.35,zIndex:8}:t===1?{alpha:.9,shellAlpha:.42,borderAlpha:.78,sizeMultiplier:.96,borderBoost:.28,zIndex:5}:t===2?{alpha:e?.46:.62,shellAlpha:e?.1:.2,borderAlpha:e?.36:.52,sizeMultiplier:e?.54:.7,borderBoost:e?-.2:.05,zIndex:2}:{alpha:e?.16:.34,shellAlpha:e?.03:.1,borderAlpha:e?.16:.32,sizeMultiplier:e?.3:.48,borderBoost:e?-.35:-.08,zIndex:1}}function zl(t,e,o,r,a){if(!r||r.mode==="off"||r.status!=="ready")return{};const n=r.structuralDistances[a],s=r.anchorNodeId===a;if(r.mode==="ego"){if(n==null)return{color:K(t.palette.overview.nodeMuted,.34),shellColor:K(t.palette.overview.nodeBorder,.16),size:Math.max(.75,o.size*.28),borderColor:K(t.palette.overview.nodeBorder,.18),borderSize:Math.max(.25,o.borderSize*.45),label:"",forceLabel:!1,zIndex:Math.min(o.zIndex,0)};const i=ut(0,n/Math.max(1,r.maxHops),1),l=vt(n);return{color:K(l,s?.98:.88-i*.44),shellColor:K(l,s?.92:.54-i*.24),size:Math.max(o.size*(s?1.18:1-i*.22),o.size*.66),borderColor:s?t.nodes.selectedRing.color:K(l,.72-i*.24),borderSize:o.borderSize+(s?1.1:.28),forceLabel:s||o.forceLabel,label:s&&(r.anchorLabel??o.label)||o.label,zIndex:s?Math.max(o.zIndex,4):Math.max(o.zIndex,1)}}if(r.mode==="heatmap"){const i=Dl(r),l=s||i.size===0||i.has(a);if(n==null||!l)return{color:K(t.palette.overview.nodeMuted,e==="overview"?.055:.09),shellColor:K(t.palette.overview.nodeBorder,.015),borderColor:K(t.palette.overview.nodeBorder,.035),borderSize:Math.max(.12,o.borderSize*.18),size:Math.max(.45,o.size*.2),label:"",forceLabel:!1,zIndex:Math.min(o.zIndex,0),coreScale:0};const u=vt(n),d=Wl(n,Tl(r.distanceCounts)),c=s?(r.anchorLabel??o.label)||o.label:"";return{color:K(u,d.alpha),shellColor:K(u,d.shellAlpha),borderColor:s?t.nodes.selectedRing.color:K(u,d.borderAlpha),borderSize:Math.max(.18,o.borderSize+d.borderBoost),size:Math.max(.7,o.size*d.sizeMultiplier),forceLabel:s,label:c,zIndex:Math.max(s?o.zIndex:0,d.zIndex)}}return{}}function Vl(t,e,o,r,a){if(!e||e.mode==="off"||e.status!=="ready")return{};if(e.mode==="heatmap")return a==="path"||a==="selected"||a==="local-context"?{}:{hidden:!0,color:K("#f9f9fa",.02),size:Math.min(t.size??.35,.2),zIndex:0};if(e.mode==="structural"){const n=e.structuralDistances[o],s=e.structuralDistances[r],i=Math.min(n??Number.POSITIVE_INFINITY,s??Number.POSITIVE_INFINITY);if(!Number.isFinite(i)||i>e.maxHops)return{};const l=vt(i);return{hidden:!1,color:K(l,i<=1?.72:i<=3?.48:.32),size:Math.max(t.size??.6,i<=1?1.25:i<=3?.95:.7),zIndex:Math.max(t.zIndex,i<=1?5:3),type:"line",curvature:0}}if(e.mode==="semantic"){const n=e.anchorNodeId;if(!n||o!==n&&r!==n)return{};const s=o===n?r:o,i=e.semanticScores[s];if(i==null)return{};const l=Ll(i);return{hidden:!1,color:K(l,.34+ut(0,i,1)*.42),size:Math.max(t.size??.6,.8+ut(0,i,1)*.75),zIndex:Math.max(t.zIndex,4),type:"line",curvature:0}}return{}}function Bo(t,e,o,r){t.forEachDirectedEdge(e,o,(a,n)=>{r(String(a),n)})}function Qa(t,e,o){const r=[];return Bo(t,e,o,a=>{r.push(a)}),r}function Ul(t){return!!(t?.isAggregated||(t?.rawEdgeIds?.length??0)>1)}function vr(t,e){const o=t?.rawEdgeIds?.map(r=>String(r)).filter(Boolean)??[];return o.length>0?o:e?[String(e)]:[]}function an(t,e){return{aggregationEnabled:e,groupedViewAvailable:!1,groupedViewReason:null,selectedRootNodeId:t||null,selectedVisibleNeighborIds:[],selectedCollapsedNeighborIds:[],selectedNodeKind:t?"unavailable":"none",canActivateFocused:!1,resolvedFocusedNodeId:null,focusedUnavailableReason:t?{code:"not-in-graph"}:null}}function sn(t,e){if(!e)return null;if(t.hasNode(e))return e;let o=null;return t.forEachNode((r,a)=>{if(o)return;const n=a.properties?.__communityGroup;if(n){if(n.anchorNodeId===e){o=r;return}(n.sampleNodeIds?.includes(e)||n.memberNodeIds?.includes(e))&&(o=r)}}),o}function Ol(){const e=ro(j,{computeCommunities:!0,computeCentrality:!1}).communitiesByNode.size>0;return{available:e,reason:e?null:{code:"communities-undetected"}}}function Bl(t,e){const o=sn(t,e);if(!o)return[];const r=new Map;return t.forEachEdge((a,n,s,i)=>{const l=String(s),u=String(i);if(l!==o&&u!==o)return;const d=l===o?u:l;if(!d||d===o||!t.hasNode(d))return;const c=Number(n.aggregateCount??n.baseSize??n.size??n.weight??1),p=Number.isFinite(c)&&c>0?c:1;r.set(d,(r.get(d)??0)+p)}),Array.from(r.entries()).sort((a,n)=>n[1]!==a[1]?n[1]-a[1]:a[0].localeCompare(n[0])).map(([a])=>a)}function Fl(t,e,o){const r=an(e,!0);if(r.groupedViewAvailable=o?.groupedViewAvailable??!0,r.groupedViewReason=o?.groupedViewReason??null,r.selectedNodeKind=o?.selectedNodeKind??(e?"grouped":"none"),r.resolvedFocusedNodeId=o?.resolvedFocusedNodeId??null,r.canActivateFocused=!!r.resolvedFocusedNodeId,r.focusedUnavailableReason=r.canActivateFocused?null:o?.focusedUnavailableReason??r.focusedUnavailableReason,!e)return r;const a=sn(t,e);if(!a)return r;const n=Bl(t,a);return r.selectedRootNodeId=a,r.selectedVisibleNeighborIds=n.slice(0,$r),r.selectedCollapsedNeighborIds=n.slice($r),r}function $l(t){if(t.order===0)return{code:"community-nodes-missing"};let e=null;return t.forEachNode((o,r)=>{if(e)return;const a=r;(!Number.isFinite(Number(a.x))||!Number.isFinite(Number(a.y)))&&(e={code:"invalid-community-layout",nodeId:o})}),e||(t.forEachEdge((o,r,a,n)=>{e||(!t.hasNode(a)||!t.hasNode(n))&&(e={code:"missing-grouped-node",edgeId:o})}),e)}function no(t,e,o=[]){if(o.length>0){const a=new Set(o.map(s=>String(s))),n=new Set;return t.forEachEdge((s,i)=>{const l=String(s);if(a.has(l)){n.add(l);return}vr(i,l).some(d=>a.has(d))&&n.add(l)}),n}const r=new Set;for(let a=0;a<e.length-1;a+=1)Qa(t,e[a],e[a+1]).forEach(n=>r.add(n));return r}function ln(t,...e){const o=new Set;return e.forEach(r=>{if(!r||!t.hasEdge(r))return;const[a,n]=t.extremities(r);o.add(a),o.add(n)}),o}function Ja(t,e){const o=new Set,r=Array.from(e);for(let a=0;a<r.length;a+=1){const n=r[a];for(let s=0;s<r.length;s+=1){const i=r[s];n!==i&&Qa(t,n,i).forEach(l=>o.add(l))}}return o}function fa(t,e){if(!e)return new Set;const o=new Set(e.activePath),r=e.hoveredNodeId||e.selectedNodeId;return r&&t.hasNode(r)&&kr(t,r).forEach(a=>o.add(a)),ln(t,e.selectedEdgeId).forEach(a=>o.add(a)),o}function ma(t,e){if(!e)return new Set;const o=new Set(no(t,e.activePath,e.activePathEdgeIds)),r=e.hoveredNodeId||e.selectedNodeId;return r&&t.hasNode(r)&&Ja(t,kr(t,r)).forEach(a=>o.add(a)),e.selectedEdgeId&&o.add(e.selectedEdgeId),o}function ql(t,e){const o=new Set;return t.forEachEdge((r,a)=>{const n=String(r);if(e.has(n)){o.add(n);return}vr(a,n).some(i=>e.has(i))&&o.add(n)}),Array.from(o)}function Kl(t,e,o){const r=new Set,a=new Set;return fa(t,e).forEach(n=>r.add(n)),fa(t,o).forEach(n=>r.add(n)),ma(t,e).forEach(n=>a.add(n)),ma(t,o).forEach(n=>a.add(n)),{nodes:Array.from(r).filter(n=>t.hasNode(n)),edges:ql(t,a)}}function ei(t,e,o){!Xa||!o.startsWith(rr)||console.debug("[graphSceneState]",`${t}-skipped-missing-display-node`,{nodeId:o,order:e.order,size:e.size})}function Yl(t,e,o){let r=0;return Bo(t,e,o,(a,n)=>{r=Math.max(r,Number(n?.weight??0))}),Bo(t,o,e,(a,n)=>{r=Math.max(r,Number(n?.weight??0))}),r}function ti(t,e){return!e||!t.hasNode(e)?(ei("neighbors",t,e),[]):t.neighbors(e).map(o=>({id:o,weight:Yl(t,e,o),degree:t.hasNode(o)?t.degree(o):0})).sort((o,r)=>r.weight!==o.weight?r.weight-o.weight:r.degree!==o.degree?r.degree-o.degree:o.id.localeCompare(r.id)).map(o=>o.id)}function cn(t){return ti(j,t)}function kr(t,e){if(!e||!t.hasNode(e))return ei("focus",t,e),new Set;const o=ti(t,e).slice(0,$r);return new Set([e,...o])}function ga(t,e,o,r,a,n){if(no(t,e.activePath,e.activePathEdgeIds).has(o)||e.selectedEdgeId===o||n.isAggregated&&(e.viewMode==="grouped"||e.zoomTier==="inspection"))return!0;const i=e.selectedNodeId;if(i&&t.hasNode(i)){if(r===i||a===i)return!0;const l=kr(t,i);return l.has(r)&&l.has(a)}return e.zoomTier!=="inspection"?!1:Number(n.visualPriority??0)>=E.zoomTiers[e.zoomTier].edgePriorityThreshold}function Xl(t,e,o,r,a){const n=wr(r,t),s=!!r.isCommunityGroup,i=t.nodes.entityShapes[un(r)],l=o==="neighbor"?t.palette.overview.nodeTintMix+.09:t.palette.overview.nodeTintMix,u=dt(t.palette.overview.nodeCore,n,Math.min(.74,t.palette.overview.nodeCoreMix+l));switch(t.nodes.states[o].color){case"selected":return t.palette.accent.selected;case"hovered":return t.palette.accent.hovered;case"path":return t.palette.accent.path;case"muted":return e==="overview"?K(t.palette.overview.nodeMuted,.42):String(r.mutedColor||K(n,t.nodes.mutedAlpha));default:if(e==="overview"){const d=oo(a),c=dt(u,n,.3+.26*d),p=Math.min(.98,t.palette.overview.nodeCoreAlpha+d*.18);return K(c,s?Math.min(p,t.grouped.style.fillAlpha):Math.min(p,i.fillAlpha))}return K(n,s?t.grouped.style.fillAlpha:i.fillAlpha)}}function Zl(t,e,o,r,a){const n=wr(r,t),s=!!r.isCommunityGroup,i=t.nodes.entityShapes[un(r)],l=oo(a),u=dt(n,t.ui.text.strong,.34+l*.12);return e!=="overview"?K(dt(n,t.ui.text.strong,o==="default"?.26:.42),s?t.grouped.style.shellAlpha:Math.min(.72,i.shellAlpha+.12)):o==="selected"?K(dt(t.palette.accent.selected,t.ui.text.strong,.24),.92):o==="hovered"?K(dt(t.palette.accent.hovered,t.ui.text.strong,.22),.9):o==="path"?K(dt(t.palette.accent.path,t.ui.text.strong,.22),.9):o==="muted"||o==="inactive"?K(t.palette.overview.nodeBorder,.16):K(u,s?t.grouped.style.shellAlpha:Math.min(.58,i.shellAlpha+.08))}function Ql(t,e,o){const r=oo(o);if(t==="overview")switch(e){case"selected":return .34+r*.08;case"hovered":return .32+r*.08;case"path":return .28+r*.07;case"neighbor":return .2+r*.06;case"muted":case"inactive":return .08+r*.03;default:return .16+r*.08}switch(e){case"selected":return .52;case"hovered":return .48;case"path":return .44;case"neighbor":return .3;case"muted":case"inactive":return .1;default:return t==="structure"?.22:.28}}function Jl(t,e,o,r,a,n){const s=e==="overview"?t.palette.overview.edgeInspection:t.palette.muted.edgeInspection,i=String(r.baseColor||a||s);if(n==="bridge")return t.palette.muted.edgeFocus;switch(t.edges.states[o].color){case"hover":return t.palette.accent.hovered;case"path":return t.palette.accent.path;case"backbone":return e==="overview"?t.palette.overview.edgeBackbone:t.palette.muted.edgeFocus;case"focus":return t.palette.muted.edgeFocus;case"overview":return t.palette.muted.edgeOverview;case"structure":return e==="overview"?t.palette.overview.edgeStructure:t.palette.muted.edgeStructure;case"inspection":return e==="overview"?t.palette.overview.edgeInspection:t.palette.muted.edgeInspection;case"muted":return e==="overview"?t.palette.overview.edgeStructure:t.palette.muted.edgeOverview;default:return i}}function ri(t,e,o,r){const a=r?"grouped":e;return t.edges.visibility[a][o]}function oi(t){return t==="path"||t==="selected"||t==="hovered"||t==="neighbor"||t==="backbone"}function ec(t){return t==="line"||t==="directional"||t==="parallelCurve"||t==="bidirectionalCurve"}function ba(t,e,o,r,a){if(t>=1)return!1;const n=o||`${r??"?"}->${a??"?"}`,s=Rt(n)%1e4/1e4,i=Math.min(1,t+e*.08);return s>i}function tc(t,e,o,r,a,n,s){const i=ri(t,e,o,n);if(e==="full"){if(s==="path"||r==="path")return t.interaction.pathEdgeAlpha;if(s==="selected"||r==="selected")return t.interaction.selectedEdgeAlpha;if(s==="local-context"||r==="hovered")return t.interaction.localContextAlpha;if(s==="bridge")return t.edges.fullGraphStructure.bridgeAlpha;if(s==="backbone")return t.edges.fullGraphStructure.backboneAlpha;if(r==="backbone")return t.edges.fullGraphStructure.ambientBackboneAlpha;if(r==="default"&&o==="structure")return t.edges.fullGraphStructure.structureEdgeAlpha;if(r==="default"&&o==="inspection")return t.edges.fullGraphStructure.inspectionEdgeAlpha}return r==="path"?t.interaction.pathEdgeAlpha:r==="selected"||r==="hovered"?r==="selected"?t.interaction.selectedEdgeAlpha:t.interaction.hoverContextAlpha:r==="default"?i.defaultAlpha:r==="muted"?i.mutedAlpha:r==="inactive"?i.inactiveAlpha:r==="neighbor"?a.bundleKind==="community"?Math.max(i.neighborAlpha,t.grouped.style.edgeAlpha):i.neighborAlpha:n&&!oi(r)?t.grouped.style.edgeAlpha:null}function rc(t,e,o){if(e==="selected")return o.ringColor||t.nodes.selectedRing.color;if(e==="hovered")return t.palette.accent.hovered;if(e==="path")return t.palette.accent.path}function oc(t,e,o){return e==="selected"&&xt(o,t.nodes.selectedRing.visibleFrom)?t.nodes.selectedRing.nativeSize:e==="hovered"?Math.max(1.45,t.nodes.selectedRing.nativeSize-.35):e==="path"?Math.max(1.2,t.nodes.selectedRing.nativeSize-.55):0}function ni(t,e,o,r,a,n,s,i){return o&&t===o?"hovered":r&&t===r?"selected":i.has(t)?"path":n.has(t)||s.has(t)?"neighbor":o||r||a||i.size>0?e!=="inspection"?"default":"muted":"default"}function nc(t,e,o,r,a,n,s,i,l,u=new Set){const d=a||n;return l.has(t)?"path":s&&t===s?"selected":d&&(e===d||o===d)?u.has(t)?a?"hovered":"selected":"muted":r!=="overview"&&i.has(e)&&i.has(o)?"neighbor":a||n||s||l.size>0?"muted":r==="overview"?"inactive":"default"}function ya(t){return t?String(t.communityId||t.semanticGroup||t.nodeType||""):""}function ac(t,e){const o=ya(t),r=ya(e);return!!(o&&r&&o!==r)}function ic(t,e,o,r,a,n,s,i,l,u=new Set,d=new Set,c,p){const b=a||n;return l.has(t)?"path":s&&t===s?"selected":u.has(t)?"local-context":b&&(e===b||o===b)?"muted":d.has(t)?ac(c,p)?"bridge":"backbone":r==="overview"?"hidden":(i.has(e)&&i.has(o),"muted")}function sc(t,e){switch(t){case"path":return"path";case"selected":return"selected";case"local-context":return e.hoveredNodeId?"hovered":"selected";case"backbone":return"backbone";case"bridge":return"backbone";case"hidden":return"inactive";default:return e.hasActiveInteraction?"muted":"default"}}function lc(t,e){return t==="selected"?"selected":e.nodeShapeVariant||e.nodeVariant||"default"}function un(t){return t.isCommunityGroup?"community":t.entityShape||qa(t.nodeType,t.semanticGroup,t.content,t.properties)}function cc(t,e){return t==="path"?"pathSignal":e.bundleKind==="community"?"line":(e.parallelCount??1)>1?"parallelCurve":e.edgeVariant?e.edgeVariant:e.isBidirectional?"bidirectionalCurve":e.arrowVisibilityPolicy==="contextual"?"directional":"line"}function uc(t,e,o,r,a){const n=t.zoomTiers[e],s=t.labels.forceVisibleStates.includes(o),i=r.labelVisibilityPolicy||"priority";if(s||t.nodes.states[o].forceLabel)return!0;switch(i){case"always":return!0;case"local":return e!=="overview"&&o!=="default"&&o!=="muted"&&o!=="inactive";case"priority":return a>=n.labelThreshold;default:return!1}}function dc(t,e,o,r,a,n){return o==="selected"||r==="selected"?a.ringColor||t.nodes.selectedRing.color:o==="hovered"?t.palette.accent.hovered:o==="path"?t.palette.accent.path:o==="muted"||o==="inactive"?K(a.strokeColor||a.borderColor||t.palette.overview.nodeBorder||t.palette.background.nodeBorder,e==="overview"?.26:.7):r==="temporal"?t.palette.accent.temporal:r==="provenance"?t.palette.accent.provenance:r==="inferred"?t.palette.accent.inferred:e==="overview"?K(dt(t.palette.overview.nodeBorder,n,o==="neighbor"?.08:.03),o==="neighbor"?.24:.06):a.strokeColor||a.borderColor||t.palette.background.nodeBorder||n}function qr(t,e,o,r,a,n=1){const s=t.zoomTiers[e],i=t.nodes.states[o],l=lc(o,r),u=t.nodes.variants[l],d=un(r),c=t.nodes.entityShapes[d],p=!!r.isCommunityGroup,b=Number(r.baseSize||r.size||4),m=Number(r.labelPriority??0),f=Xl(t,e,o,r,n),y=Zl(t,e,o,r,n),h=(o==="default"?s.nodeScale:i.sizeMultiplier)*u.sizeMultiplier*(p?t.grouped.style.nodeSizeScale:1),v=e==="overview"?1+oo(n)*1.2:1,x=uc(t,e,o,r,m),g=r.badgeKind||u.badgeKind,w=t.labels.forceVisibleStates.includes(o),C=!!(g&&(w||s.showBadges&&xt(e,u.badgeVisibleFrom))&&o!=="muted"&&o!=="inactive"),I=oc(t,o,e),k=rc(t,o,r),D=I>0,_=o==="hovered"||o==="selected"||o==="path",L=o==="muted"||o==="inactive"?t.nodes.strokeHierarchy[e].muted:w?t.nodes.strokeHierarchy[e].emphasis:t.nodes.strokeHierarchy[e].base,G=Ql(e,o,n)*c.coreScale;return{color:f,shellColor:y,coreScale:e!=="overview"||o==="hovered"||o==="selected"||o==="path"?ut(.06,G,.5):0,size:Math.max(b*h*v,i.minSize,c.minSize),forceLabel:x,label:x?a:"",zIndex:x&&i.zIndex===0?1:i.zIndex,hidden:!1,borderColor:dc(t,e,o,l,r,f),borderSize:Math.max(.4,Number(r.borderSize??.85)+L+i.borderBoost+u.borderBoost+c.borderBoost+(p?t.grouped.style.nodeBorderBoost:0)-.8),nodeVariant:l,entityShape:d,entityShapeKind:c.shapeKind,entityAspectRatio:c.aspectRatio,badgeKind:g,badgeCount:r.badgeCount,showBadge:C,showRing:D,ringColor:k,ringSize:I,showHalo:_,haloColor:r.haloColor||r.glowColor||K(f,(p?t.grouped.style.glowAlpha:t.overlays.hoverGlowAlpha)+u.haloBoost)}}function pc(t,e,o,r,a,n){const s=t.edges.variants[r];return t.edges.states[o].forceArrow||s.arrowPolicy==="always"?"arrow":(n==="full"||n==="grouped")&&o==="default"||n==="full"&&o==="backbone"?"line":s.arrowPolicy==="contextual"&&t.zoomTiers[e].showContextualArrows?"arrow":o!=="default"?a.type||s.baseType:Number(a.visualPriority??0)>=t.zoomTiers[e].arrowPriorityThreshold&&t.zoomTiers[e].showContextualArrows?"arrow":"line"}function hc(t,e,o,r,a,n){const s=t.edges.variants[o],i=o==="line"&&e==="selected"?Math.max(s.curveStrength,.14):s.curveStrength;if(i===0)return 0;if(typeof r.parallelCount=="number"&&r.parallelCount>1&&typeof r.parallelIndex=="number"){const l=(r.parallelCount-1)/2;return(r.parallelIndex-l)*i}return(o==="bidirectionalCurve"||o==="parallelCurve"||r.isBidirectional)&&a&&n?a.localeCompare(n)<=0?i:-i:i}function dn(t,e,o,r,a,n,s="full",i,l){const u=t.zoomTiers[e],d=t.edges.states[o],c=cc(o,r),p=t.edges.variants[c],b=r.bundleKind==="community",m=Number(r.baseSize||r.size||.9),f=Number(r.visualPriority??0),y=s==="full"&&r.isSmallGraph===!0,h=s==="full"&&l==="bridge",v=s==="full"&&l==="backbone",x=h&&f>=t.edges.fullGraphStructure.bridgeCurvePriorityThreshold,g=ri(t,s,e,b),w=oi(o),C=ec(c),I=!y&&o==="default"&&f<Math.max(u.edgePriorityThreshold,g.defaultPriorityThreshold)&&C,k=!y&&(o==="muted"||o==="inactive")&&g.hideMuted,D=!y&&C&&(o==="default"&&!w&&ba(g.backgroundSampleRate,f,i,a,n)||o==="backbone"&&e==="overview"&&s!=="full"&&ba(.15,f,i,a,n));if(d.hide||I||k||D)return{hidden:!0,zIndex:0,edgeVariant:c,arrowVisibilityPolicy:p.arrowPolicy,curveStrength:p.curveStrength,curvature:0};const _=w?1:g.sizeMultiplier,L=(o==="default"?u.edgeSizeScale:d.sizeMultiplier)*p.sizeMultiplier*_,G=pc(t,e,o,c,r,s),V=u.showCurves&&(c==="pathSignal"||o==="selected"||x||c==="bidirectionalCurve"||c==="parallelCurve"),q=x?a&&n&&a.localeCompare(n)>0?-t.edges.fullGraphStructure.bridgeCurveStrength:t.edges.fullGraphStructure.bridgeCurveStrength:V?hc(t,o,c,r,a,n):0,W=Jl(t,e,o,r,r.color,l),F=tc(t,s,e,o,r,b,l),ee=y?Math.max(F??1,w?.62:.46):F,U=ee===null?W:K(W,ee),T=Math.max(m*L*(b?t.grouped.style.edgeSizeScale:1),y?Math.max(d.minSize,.9):d.minSize),P=l==="path"||o==="path"?t.interaction.pathEdgeMaxSize:l==="selected"||o==="selected"?t.interaction.selectedEdgeMaxSize:l==="local-context"||o==="hovered"||o==="neighbor"?t.interaction.localContextMaxSize:Number.POSITIVE_INFINITY,z=h?Math.min(T,t.edges.fullGraphStructure.bridgeMaxSize):v?Math.min(T,t.edges.fullGraphStructure.backboneMaxSize):Math.min(T,P);return{hidden:!1,type:V?G==="arrow"?"curvedArrow":"curve":G,color:U,size:z,zIndex:d.zIndex,edgeVariant:c,arrowVisibilityPolicy:p.arrowPolicy,curveStrength:p.curveStrength,curvature:q}}function fc(t,e,o){t.hasNode(e)||t.addNode(e,o)}function mc(t){const e=String(t||"").trim();return e.length<=22?e:`${e.slice(0,21).trimEnd()}…`}function gc(t){const e=2*Math.PI*Math.max(t,1);return Math.max(6,Math.floor(e/E.grouped.initialLayout.minNodeSpacing))}function va(t){return Math.max(16,10+Math.log2(t+1)*4.6)}function bc(t){const e=new Map,o=t.slice().sort((d,c)=>{const p=Math.log2(d.memberCount+1)*2.2+Math.log2(d.connectivityWeight+1)*1.6+d.centralityScore*5,b=Math.log2(c.memberCount+1)*2.2+Math.log2(c.connectivityWeight+1)*1.6+c.centralityScore*5;return b!==p?b-p:d.communityId-c.communityId});if(o.length===0)return e;const r=new Map,a=Math.min(E.grouped.initialLayout.primaryLabelCount,o.length),n=d=>Math.max(.24,1.24-d*.055),s=d=>d<a?Math.max(1.02,1.42-d*.05):.56,i={x:0,y:0};r.set(o[0].communityId,i),e.set(o[0].communityId,{...i,labelPriority:s(0),visualPriority:n(0)});let l=1,u=1;for(;l<o.length;){const d=E.grouped.initialLayout.innerRadius+(u-1)*E.grouped.initialLayout.ringSpacing,c=gc(d),p=Math.min(c,o.length-l),b=Rt(`community-ring:${u}`)%360*Math.PI/180;for(let m=0;m<p;m+=1){const f=o[l+m],y=b+Math.PI*2*m/p,h={x:Number((d*Math.cos(y)).toFixed(3)),y:Number((d*Math.sin(y)).toFixed(3))};r.set(f.communityId,h),e.set(f.communityId,{...h,labelPriority:s(l+m),visualPriority:n(l+m)})}l+=p,u+=1}for(let d=0;d<E.grouped.initialLayout.overlapIterations;d+=1){let c=!1;for(let p=0;p<o.length;p+=1)for(let b=p+1;b<o.length;b+=1){const m=o[p],f=o[b],y=e.get(m.communityId),h=e.get(f.communityId);if(!y||!h)continue;let v=h.x-y.x,x=h.y-y.y,g=Math.hypot(v,x);if(g<.001){const L=Rt(`grouped-collision:${m.communityId}:${f.communityId}`)%360*Math.PI/180;v=Math.cos(L),x=Math.sin(L),g=1}const w=m.radius+f.radius+E.grouped.initialLayout.nodePadding;if(g>=w)continue;const C=w-g,I=v/g,k=x/g,D=f.radius/(m.radius+f.radius),_=m.radius/(m.radius+f.radius);y.x-=I*C*.52*D,y.y-=k*C*.52*D,h.x+=I*C*.52*_,h.y+=k*C*.52*_,c=!0}if(o.forEach(p=>{const b=e.get(p.communityId),m=r.get(p.communityId);!b||!m||(b.x+=(m.x-b.x)*.08,b.y+=(m.y-b.y)*.08)}),!c)break}return e}function pn(t,e){if(!t||!j.hasNode(t))return{selectedVisibleNeighborIds:[],selectedCollapsedNeighborIds:[]};const o=cn(t),r=new Set(e.filter(n=>n!==t&&j.hasNode(n))),a=new Set;return o.forEach((n,s)=>{(s<El||r.has(n))&&a.add(n)}),{selectedVisibleNeighborIds:Array.from(a),selectedCollapsedNeighborIds:o.filter(n=>!a.has(n))}}function yc(t,e){const o=pn(t,e),r=new Set(o.selectedCollapsedNeighborIds);if(r.size===0)return j.copy();const a=j.copy();return r.forEach(n=>{if(!a.hasNode(n))return;a.edges(n).map(i=>String(i)).forEach(i=>{if(!a.hasEdge(i))return;const[l,u]=a.extremities(i);(l===t&&u===n||l===n&&u===t)&&a.dropEdge(i)}),a.hasNode(n)&&a.degree(n)===0&&a.dropNode(n)}),a}function gr(t){return t||"related_to"}function Kr(t){const e=new Jr({type:"directed",multi:!0,allowSelfLoops:!1});t.forEachNode((r,a)=>{e.addNode(r,{...a})});const o=new Map;return t.forEachEdge((r,a,n,s)=>{const i=`${n}→${s}`,l=o.get(i)??[];l.push({edgeId:String(r),attrs:a}),o.set(i,l)}),o.forEach((r,a)=>{const[n,s]=a.split("→");if(r.length===1){const[{edgeId:f,attrs:y}]=r;e.mergeDirectedEdgeWithKey(f,n,s,{...y,edgeType:gr(y.edgeType),dominantEdgeType:gr(y.dominantEdgeType??y.edgeType),rawEdgeIds:vr(y,f),isAggregated:Ul(y),aggregateCount:y.aggregateCount??vr(y,f).length,representativeWeight:y.representativeWeight??Number(y.weight??1)});return}const l=r.slice().sort((f,y)=>{const h=Number(y.attrs.weight??0)-Number(f.attrs.weight??0);if(h!==0)return h;const v=Number(y.attrs.visualPriority??0)-Number(f.attrs.visualPriority??0);return v!==0?v:f.edgeId.localeCompare(y.edgeId)})[0],u=r.flatMap(({edgeId:f,attrs:y})=>vr(y,f)),d=new Map;r.forEach(({attrs:f})=>{const y=gr(f.edgeType);d.set(y,(d.get(y)??0)+1)});const c=[...d.entries()].sort((f,y)=>y[1]-f[1])[0]?.[0]??gr(l.attrs.edgeType),p=`${s}→${n}`,b=o.has(p),m=`${Ya}${n}::${s}`;e.mergeDirectedEdgeWithKey(m,n,s,{...l.attrs,edgeId:m,familyId:m,sourceId:n,targetId:s,rawEdgeIds:u,isAggregated:!0,aggregateCount:u.length,dominantEdgeType:c,representativeWeight:Number(l.attrs.weight??1),weight:Number(l.attrs.weight??1),edgeType:l.attrs.edgeType||c,parallelCount:u.length,familySize:u.length,bundleKind:b?"bidirectional":"parallel",isBidirectional:b})}),e}function vc(){const t=ro(j,{computeCommunities:!0,computeCentrality:!0}),e=an("",!0);if(e.groupedViewAvailable=t.communitiesByNode.size>0,t.communitiesByNode.size===0)return e.groupedViewReason={code:"communities-undetected"},{graph:Kr(j),state:e,meta:yr};const o=new Jr({type:"directed",multi:!0,allowSelfLoops:!1}),r=new Map;j.forEachNode(m=>{const f=t.communitiesByNode.get(m);if(f===void 0)return;const y=r.get(f)??[];y.push(m),r.set(f,y)});const a=new Map;r.forEach((m,f)=>{const y=m.slice().sort((C,I)=>{const k=t.centralityByNode.get(C)?.score??0,D=t.centralityByNode.get(I)?.score??0;return D!==k?D-k:C.localeCompare(I)}),h=y[0]??null,v=h?j.getNodeAttributes(h):null,x=new Map;m.forEach(C=>{const I=j.getNodeAttributes(C),k=String(I.semanticGroup||I.nodeType||"entity");x.set(k,(x.get(k)??0)+1)});const g=[...x.entries()].sort((C,I)=>I[1]-C[1])[0]?.[0]??"entity",w=v?.baseColor||v?.color||E.palette.semantic[f%E.palette.semantic.length];a.set(f,{memberIds:m,rankedMembers:y,anchorNodeId:h,anchorAttrs:v,dominantSemanticGroup:g,color:w,memberCount:m.length,centralityScore:h?t.centralityByNode.get(h)?.score??0:0})});const n=new Map;j.forEachEdge((m,f,y,h)=>{const v=t.communitiesByNode.get(y),x=t.communitiesByNode.get(h);if(v===void 0||x===void 0||v===x)return;const g=`${rr}${v}`,w=`${rr}${x}`,C=`${g}→${w}`,I=n.get(C)??{sourceId:g,targetId:w,rawEdgeIds:[],weight:0,typeCounts:new Map};I.rawEdgeIds.push(String(m)),I.weight=Math.max(I.weight,Number(f.weight??1));const k=gr(f.edgeType);I.typeCounts.set(k,(I.typeCounts.get(k)??0)+1),n.set(C,I)});const s=new Map;n.forEach(m=>{const f=Number(m.sourceId.replace(rr,"")),y=Number(m.targetId.replace(rr,"")),h=m.rawEdgeIds.length+m.weight*.35;s.set(f,(s.get(f)??0)+h),s.set(y,(s.get(y)??0)+h)});const i=new Map,l=new Map;let u=0;n.forEach((m,f)=>{const y=m.rawEdgeIds.length+m.weight*.35;i.set(f,y),u=Math.max(u,y);const h=l.get(m.sourceId)??[];h.push({key:f,strength:y}),l.set(m.sourceId,h);const v=l.get(m.targetId)??[];v.push({key:f,strength:y}),l.set(m.targetId,v)});const d=new Set,c=Math.max(1.25,u*E.grouped.style.edgeVisibilityRatio);if(n.forEach((m,f)=>{(i.get(f)??0)>=c&&d.add(f)}),l.forEach(m=>{m.slice().sort((f,y)=>y.strength-f.strength).slice(0,E.grouped.style.topIncidentEdges).forEach(({key:f})=>d.add(f))}),d.size===0&&n.size>0){const m=Array.from(n.keys()).sort((f,y)=>(i.get(y)??0)-(i.get(f)??0))[0];m&&d.add(m)}const p=bc(Array.from(a.entries()).map(([m,f])=>({communityId:m,memberCount:f.memberCount,centralityScore:f.centralityScore,connectivityWeight:s.get(m)??0,radius:va(f.memberCount)*E.grouped.style.nodeSizeScale*.92})));a.forEach((m,f)=>{const y=`${rr}${f}`,h=p.get(f)??{x:0,y:0,labelPriority:.56,visualPriority:.42},v=va(m.memberCount),x=m.anchorAttrs?.label||m.anchorNodeId||`Community ${f}`;fc(o,y,{label:mc(x),content:m.anchorAttrs?.content||x,x:h.x,y:h.y,size:v,baseSize:v,color:m.color,baseColor:m.color,mutedColor:K(m.color,.22),glowColor:K(m.color,E.grouped.style.glowAlpha),borderColor:K(m.color,.74),entityShape:"community",nodeType:"community",semanticGroup:m.dominantSemanticGroup,labelVisibilityPolicy:h.labelPriority>.9?"priority":"none",properties:{__communityGroup:{communityId:String(f),memberCount:m.memberCount,memberNodeIds:m.memberIds,sampleNodeIds:m.rankedMembers.slice(0,Al),anchorNodeId:m.anchorNodeId,anchorLabel:x,dominantSemanticGroup:m.dominantSemanticGroup,color:m.color}},isCommunityGroup:!0,communityId:String(f),memberCount:m.memberCount,anchorNodeId:m.anchorNodeId,labelPriority:h.labelPriority,visualPriority:h.visualPriority})}),n.forEach((m,f)=>{if(!d.has(f))return;const y=[...m.typeCounts.entries()].sort((w,C)=>C[1]-w[1])[0]?.[0]??"related_to",h=`${m.targetId}→${m.sourceId}`,v=`${Ya}${f}`,x=m.rawEdgeIds.length,g=Math.max(.9,.72+Math.log2(x+1)*.2);o.mergeDirectedEdgeWithKey(v,m.sourceId,m.targetId,{edgeId:v,familyId:v,sourceId:m.sourceId,targetId:m.targetId,edgeType:y,dominantEdgeType:y,weight:m.weight,representativeWeight:m.weight,properties:{},rawEdgeIds:m.rawEdgeIds,isAggregated:!0,aggregateCount:x,familySize:x,parallelCount:x,isBidirectional:n.has(h),bundleKind:"community",edgeVariant:"line",arrowVisibilityPolicy:"hidden",baseSize:g,size:g,color:K("#9bb7d6",E.grouped.style.edgeAlpha),mutedColor:K("#9bb7d6",Math.max(.14,E.grouped.style.edgeAlpha*.4)),visualPriority:Math.min(1.05,.38+Math.log2(x+1)*.14)})});const b=$l(o);return b?(e.groupedViewAvailable=!1,e.groupedViewReason=b,{graph:Kr(j),state:e,meta:yr}):{graph:o,state:{aggregationEnabled:!0,groupedViewAvailable:!0,groupedViewReason:null,selectedRootNodeId:null,selectedVisibleNeighborIds:[],selectedCollapsedNeighborIds:[],selectedNodeKind:"none",canActivateFocused:!1,resolvedFocusedNodeId:null,focusedUnavailableReason:null},meta:Gl}}function ai(t,e,o,r){const a=r?.aggregationEnabled??!0,n=new Set(Array.from(r?.collapsedNeighborhoodNodeIds??[]).filter(u=>typeof u=="string")),s=an(t,a);if(s.selectedNodeKind=r?.selectedNodeKind??(t?"unavailable":"none"),s.resolvedFocusedNodeId=r?.resolvedFocusedNodeId??null,s.canActivateFocused=!!s.resolvedFocusedNodeId,s.focusedUnavailableReason=s.canActivateFocused?null:r?.focusedUnavailableReason??s.focusedUnavailableReason,s.groupedViewAvailable=r?.groupedViewAvailable??ro(j,{computeCommunities:!0,computeCentrality:!1}).communitiesByNode.size>0,s.groupedViewReason=r?.groupedViewReason??(s.groupedViewAvailable?null:{code:"communities-undetected"}),!t||!j.hasNode(t))return s;const l=!!(o!=="grouped"&&n.has(t))?pn(t,e):{selectedVisibleNeighborIds:cn(t),selectedCollapsedNeighborIds:[]};return s.selectedRootNodeId=t,s.selectedVisibleNeighborIds=l.selectedVisibleNeighborIds,s.selectedCollapsedNeighborIds=l.selectedCollapsedNeighborIds,s}function xc(t,e,o=[],r=!1){const a=new Jr({type:"directed",multi:!0,allowSelfLoops:!1}),n=cn(t).slice(0,$r),s=r?pn(t,e):{selectedVisibleNeighborIds:n},i=n.filter(f=>s.selectedVisibleNeighborIds.includes(f)),l=new Set([t,...i]),u=new Set(i.slice(0,Nl)),d=new Set(e),c=no(j,e,o),p=(f,y)=>{a.hasNode(f)||a.addNode(f,y)},b=j.getNodeAttributes(t),m=qr(E,"inspection","selected",b,b.label);return p(t,{...b,x:Number.isFinite(b.x)?b.x:0,y:Number.isFinite(b.y)?b.y:0,color:m.color,size:Math.max(m.size,22),baseColor:m.color,semanticBaseColor:wr(b),baseSize:Math.max(m.size,22),label:m.label}),i.forEach((f,y)=>{const h=j.getNodeAttributes(f),v=Math.floor(y/jr),x=y%jr,g=Math.min(jr,n.length-v*jr),w=wl*(v+1),C=Math.PI*2*x/g-Math.PI/2,I=d.has(f)?"path":u.has(f)?"neighbor":"default",k=qr(E,"inspection",I,{...h,labelPriority:u.has(f)||d.has(f)?Math.max(Number(h.labelPriority??0),1):0},h.label);p(f,{...h,x:Number.isFinite(h.x)?h.x:Math.cos(C)*w,y:Number.isFinite(h.y)?h.y:Math.sin(C)*w,color:k.color,size:Math.max(k.size,8.5),baseColor:k.color,semanticBaseColor:wr(h),baseSize:Math.max(k.size,8.5),label:k.label})}),Ja(j,l).forEach(f=>{if(!j.hasEdge(f))return;const[y,h]=j.extremities(f);if(!l.has(y)||!l.has(h)||y===h){Xa&&console.debug("[graphSceneState]","focused-edge-skipped-invalid-endpoints",{edgeId:f,source:y,target:h,selectedNodeId:t});return}const v=j.getEdgeAttributes(f),x=c.has(f)?"path":y===t||h===t?"selected":"neighbor",g=dn(E,"inspection",x,v,y,h,"focused",f);a.mergeDirectedEdgeWithKey(f,y,h,{...v,type:g.type,size:g.size,color:g.color,baseSize:g.size,baseColor:g.color,curvature:g.curvature})}),Kr(a)}function Hr(t,e,o,r,a){const n=a?.aggregationEnabled??!0,s=new Set(Array.from(a?.collapsedNeighborhoodNodeIds??[]).filter(p=>typeof p=="string")),i=ai(t,e,r,{aggregationEnabled:n,collapsedNeighborhoodNodeIds:s,groupedViewAvailable:a?.groupedViewAvailable}),l=r==="focused"&&!!t&&j.hasNode(t),u=r==="grouped",d=!!(t&&s.has(t));if(u){const p=vc();return{graph:p.graph,state:{...p.state,selectedRootNodeId:i.selectedRootNodeId,selectedVisibleNeighborIds:i.selectedVisibleNeighborIds,selectedCollapsedNeighborIds:i.selectedCollapsedNeighborIds,groupedViewReason:p.state.groupedViewReason,selectedNodeKind:i.selectedNodeKind,canActivateFocused:i.canActivateFocused,resolvedFocusedNodeId:i.resolvedFocusedNodeId,focusedUnavailableReason:i.focusedUnavailableReason},meta:p.meta}}if(l&&t)return{graph:xc(t,e,o,d),state:i,meta:yr};const c=d&&t?yc(t,e):j;return{graph:n?Kr(c):c,state:i,meta:n?yr:c===j?_l:yr}}function Sc(t,e,o,r,a,n,s,i,l){return{hoveredNodeId:t,selectedNodeId:e,selectedEdgeId:r,focusedNodeId:o,activePath:a,activePathEdgeIds:n,viewMode:s,zoomTier:i,isLayoutRunning:l}}function wc(t,e,o,r=96){return t.x>=-r&&t.y>=-r&&t.x<=e+r&&t.y<=o+r}function hn(t,e,o,r,a){const n=t.createRadialGradient(e,o,0,e,o,r);n.addColorStop(0,a),n.addColorStop(1,"rgba(0,0,0,0)"),t.fillStyle=n,t.beginPath(),t.arc(e,o,r,0,Math.PI*2),t.fill()}function fn(t,e){const o=document.createElement("canvas");return o.width=t,o.height=e,o}function ii(t){if(t.startsWith("#")){const o=t.slice(1),r=o.length===3?o.split("").map(a=>`${a}${a}`).join(""):o;if(r.length===6)return{r:Number.parseInt(r.slice(0,2),16),g:Number.parseInt(r.slice(2,4),16),b:Number.parseInt(r.slice(4,6),16)}}const e=t.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/i);return e?{r:Number.parseInt(e[1],10),g:Number.parseInt(e[2],10),b:Number.parseInt(e[3],10)}:{r:130,g:145,b:165}}function Mo(t,e,o,r){const a=new Uint8Array(e*o);let n=0,s=0,i=0,l=0;for(let d=0;d<o;d+=1)for(let c=0;c<e;c+=1){const p=d*e+c,b=t[p];b<r||(a[p]=1,n+=1,s+=c*b,i+=d*b,l+=b)}const u=l>0?{x:s/l,y:i/l}:{x:e/2,y:o/2};return{mask:a,count:n,centroid:u}}function Nc(t,e,o,r){if(r<=0)return t;let a=t;for(let n=0;n<r;n+=1){const s=new Uint8ClampedArray(e*o);for(let i=0;i<o;i+=1)for(let l=0;l<e;l+=1){let u=0,d=0;for(let c=-1;c<=1;c+=1){const p=i+c;if(!(p<0||p>=o))for(let b=-1;b<=1;b+=1){const m=l+b;m<0||m>=e||(u+=a[p*e+m],d+=1)}}s[i*e+l]=Math.round(u/Math.max(d,1))}a=s}return a}function Ro(t,e,o,r){const a=new Uint8Array(t.length),n=new Int32Array(t.length);let s=[],i=0;for(let p=0;p<t.length;p+=1){if(!t[p]||a[p])continue;let b=0,m=0;const f=[];for(a[p]=1,n[m++]=p;b<m;){const y=n[b++];f.push(y);const h=y%e,v=Math.floor(y/e),x=[y-1,y+1,y-e,y+e];for(let g=0;g<x.length;g+=1){const w=x[g];w<0||w>=t.length||a[w]||!t[w]||g===0&&h===0||g===1&&h===e-1||g===2&&v===0||g===3&&v===o-1||(a[w]=1,n[m++]=w)}}i+=f.length,f.length>s.length&&(s=f)}const l=new Uint8Array(t.length);let u=0,d=0,c=0;return s.forEach(p=>{l[p]=1;const b=r[p],m=p%e,f=Math.floor(p/e);u+=m*b,d+=f*b,c+=b}),{mask:l,count:s.length,centroid:c>0?{x:u/c,y:d/c}:{x:e/2,y:o/2},occupancyRatio:s.length/Math.max(e*o,1),dominantMassRatio:s.length/Math.max(i,1)}}function Ec(t,e,o){const r=E.effects.semanticRegions.fogResolutionScale,a=Math.max(72,Math.round(e*r)),n=Math.max(72,Math.round(o*r)),s=fn(a,n),i=s.getContext("2d");if(!i)return null;i.clearRect(0,0,a,n),i.globalCompositeOperation="source-over",t.forEach(b=>{const m=b.point.x*r,f=b.point.y*r,y=Math.max(2.5,(E.effects.semanticRegions.splatRadius+b.size*.9)*r),h=i.createRadialGradient(m,f,0,m,f,y);h.addColorStop(0,"rgba(28, 20, 24,0.05)"),h.addColorStop(.58,"rgba(28, 20, 24,0.02)"),h.addColorStop(1,"rgba(28, 20, 24,0)"),i.fillStyle=h,i.beginPath(),i.arc(m,f,y,0,Math.PI*2),i.fill()});const l=i.getImageData(0,0,a,n),u=new Uint8ClampedArray(a*n);let d=0;for(let b=0;b<u.length;b+=1){const m=l.data[b*4+3];u[b]=m,m>d&&(d=m)}if(d<=0)return null;const c=Nc(u,a,n,E.effects.semanticRegions.blurPasses),p=c.reduce((b,m)=>Math.max(b,m),0);return p<=0?null:{canvas:s,gridWidth:a,gridHeight:n,alphaValues:c,maxAlpha:p,scale:r}}function Ac(t,e,o,r){if(!e)return;const{gridWidth:a,gridHeight:n,alphaValues:s}=e,i=fn(a,n),l=i.getContext("2d");if(!l)return;const u=l.createImageData(a,n),d=ii(o);for(let c=0;c<s.length;c+=1){const p=s[c]/255;if(p<=0)continue;const b=c*4;u.data[b]=d.r,u.data[b+1]=d.g,u.data[b+2]=d.b,u.data[b+3]=Math.round(255*Math.pow(p,1.7)*r)}l.putImageData(u,0,0),t.save(),t.imageSmoothingEnabled=!0,t.globalCompositeOperation="lighter",t.drawImage(i,0,0,t.canvas.width,t.canvas.height),t.restore()}function xa(t,e,o,r,a,n){const s=fn(o,r),i=s.getContext("2d");if(!i)return;const l=i.createImageData(o,r),u=ii(a);for(let d=1;d<r-1;d+=1)for(let c=1;c<o-1;c+=1){const p=d*o+c;if(!e[p]||!(!e[p-1]||!e[p+1]||!e[p-o]||!e[p+o]))continue;const m=p*4;l.data[m]=u.r,l.data[m+1]=u.g,l.data[m+2]=u.b,l.data[m+3]=Math.round(255*n)}i.putImageData(l,0,0),t.save(),t.imageSmoothingEnabled=!0,t.drawImage(s,0,0,t.canvas.width,t.canvas.height),t.restore()}function kc(t){return{fogColor:dt("#f7f8f8",t,.46),innerContourColor:dt("#fafafa",t,.78),outerContourColor:dt("#f8f9f9",t,.6),labelBorderColor:dt("#2b3f57",t,.78)}}function Sa(t,e,o,r){const a=[];return e.forEachNode((n,s)=>{const i=t.getNodeDisplayData(n);if(!i)return;const l=t.graphToViewport({x:i.x,y:i.y});wc(l,o,r,84)&&a.push({nodeId:n,point:l,size:i.size,attrs:s})}),a}function Cc(t,e,o,r,a){const n=r.length>22?`${r.slice(0,21)}…`:r;t.save(),t.font='600 11px "IBM Plex Sans", Inter, system-ui, sans-serif',t.textBaseline="middle";const s=t.measureText(n).width+14,i=22,l=e-s/2,u=o-i/2;t.fillStyle="rgba(255, 255, 255, 0.84)",t.strokeStyle=K(a,.24),t.lineWidth=1,t.beginPath(),t.roundRect(l,u,s,i,999),t.fill(),t.stroke(),t.fillStyle="rgba(235, 244, 255, 0.88)",t.fillText(n,l+7,o),t.restore()}function Ic(t,e,o,r,a){if(!a.semanticRegionsEnabled||!e?.semanticRegions.ready||!xt(r.zoomTier,E.effects.semanticRegions.minZoomTier))return;const n=new Map;o.forEach(u=>{const d=String(u.attrs.semanticGroup||u.attrs.nodeType||"entity"),c=n.get(d);c?c.push(u):n.set(d,[u])});const s=e.semanticRegions.summaries.slice(0,E.effects.semanticRegions.maxRegions),i=s.reduce((u,d)=>Math.max(u,d.prominence),1),l=E.effects.semanticRegions;s.forEach(u=>{const d=n.get(u.semanticGroup);if(!d||d.length<l.minVisibleSamples)return;const c=Ec(d,t.canvas.width,t.canvas.height);if(!c)return;const p=.52+u.prominence/i*.48,b=Math.max(18,c.maxAlpha*l.densityThreshold),m=Math.max(28,c.maxAlpha*l.contourThreshold),f=Math.max(18,m*.72),y=Mo(c.alphaValues,c.gridWidth,c.gridHeight,b),h=Ro(y.mask,c.gridWidth,c.gridHeight,c.alphaValues);if(h.count<l.minMaskPixels||h.occupancyRatio<l.minOccupancyRatio||h.dominantMassRatio<l.dominantMassRatio)return;const v=Mo(c.alphaValues,c.gridWidth,c.gridHeight,m),x=Mo(c.alphaValues,c.gridWidth,c.gridHeight,f),g=Ro(v.mask,c.gridWidth,c.gridHeight,c.alphaValues),w=Ro(x.mask,c.gridWidth,c.gridHeight,c.alphaValues),C=kc(u.color);if(Ac(t,c,C.fogColor,l.fogAlpha*p),w.count>=l.outerContourMinMaskPixels&&w.dominantMassRatio>=l.dominantMassRatio&&xa(t,w.mask,c.gridWidth,c.gridHeight,C.outerContourColor,l.outerContourAlpha*p),xa(t,g.mask,c.gridWidth,c.gridHeight,C.innerContourColor,l.innerContourAlpha*p),u.visibleNodeCount>=18){const I=h.centroid.x/c.scale,k=h.centroid.y/c.scale-18;Cc(t,I,k,u.semanticGroup,C.labelBorderColor)}})}function Dc(t,e,o,r,a){if(!a.contoursEnabled||!e?.centrality.ready||!xt(r.zoomTier,E.effects.contours.minZoomTier))return;const n=new Map(o.map(s=>[s.nodeId,s]));e.centrality.topNodes.slice(0,E.effects.contours.maxContours).forEach(s=>{const i=n.get(s.id);i&&hn(t,i.point.x,i.point.y,E.effects.contours.baseRadius+i.size*3.2,K(s.color,E.effects.contours.glowAlpha))})}function _c(t,e){if(!e||!t.valid_from&&!t.valid_until)return!1;const o=e.getTime(),r=t.valid_from?new Date(t.valid_from).getTime():Number.NEGATIVE_INFINITY,a=t.valid_until?new Date(t.valid_until).getTime():Number.POSITIVE_INFINITY;return o>=r&&o<=a}function Gc(t,e,o,r,a){!a.temporalEmphasisEnabled||!o?.currentTime||xt(r.zoomTier,E.effects.temporalEmphasis.minZoomTier)&&e.filter(n=>_c(n.attrs,o.currentTime)).slice(0,E.effects.temporalEmphasis.maxHighlights).forEach(n=>{hn(t,n.point.x,n.point.y,Math.max(n.size*E.effects.temporalEmphasis.radiusMultiplier,14),K(E.palette.accent.temporal,E.effects.temporalEmphasis.glowAlpha))})}function Lc(t,e,o,r){const a=e.getNodeDisplayData(o);if(!a)return;const n=e.graphToViewport({x:a.x,y:a.y});hn(t,n.x,n.y,E.effects.lens.radius,K(E.palette.accent.hovered,E.effects.lens.glowAlpha)),r.forEach(s=>{if(s===o||!j.hasNode(s)||!j.hasDirectedEdge(o,s)&&!j.hasDirectedEdge(s,o))return;const i=e.getNodeDisplayData(s);if(!i)return;const l=e.graphToViewport({x:i.x,y:i.y});t.strokeStyle=K(E.palette.accent.hovered,E.effects.lens.edgeAlpha*.38),t.lineWidth=E.effects.lens.edgeLineWidth+3.2,t.lineCap="round",t.beginPath(),t.moveTo(n.x,n.y),t.lineTo(l.x,l.y),t.stroke(),t.strokeStyle=K(E.palette.accent.hovered,E.effects.lens.edgeAlpha),t.lineWidth=E.effects.lens.edgeLineWidth,t.beginPath(),t.moveTo(n.x,n.y),t.lineTo(l.x,l.y),t.stroke()})}function Pc(t,e,o,r,a){o.pathFlowEnabled&&r.pathFlow.available&&e.forEach((n,s)=>{const i=(a*E.effects.pathFlow.speed+s*E.effects.pathFlow.spacing)%1,l=n.source.x+(n.target.x-n.source.x)*i,u=n.source.y+(n.target.y-n.source.y)*i,d=Math.max(0,i-.08),c=n.source.x+(n.target.x-n.source.x)*d,p=n.source.y+(n.target.y-n.source.y)*d;t.strokeStyle=K(n.color,.28),t.lineWidth=Math.max(n.size+3.6,4.6),t.lineCap="round",t.beginPath(),t.moveTo(c,p),t.lineTo(l,u),t.stroke(),t.strokeStyle=K(E.palette.accent.selected,E.effects.pathFlow.opacity),t.lineWidth=Math.max(n.size+1.3,2.4),t.beginPath(),t.moveTo(c,p),t.lineTo(l,u),t.stroke()}),o.pathPulseEnabled&&r.pathPulse.available&&e.forEach((n,s)=>{const i=(a*E.effects.pathPulse.speed+s*.17)%1,l=n.source.x+(n.target.x-n.source.x)*i,u=n.source.y+(n.target.y-n.source.y)*i,d=t.createRadialGradient(l,u,0,l,u,E.effects.pathPulse.radius);d.addColorStop(0,K(E.palette.accent.path,E.effects.pathPulse.glowAlpha)),d.addColorStop(1,"rgba(0,0,0,0)"),t.fillStyle=d,t.beginPath(),t.arc(l,u,E.effects.pathPulse.radius,0,Math.PI*2),t.fill()})}function Mc(t,e){if(typeof t!="object"||!t)return t;var o=t[Symbol.toPrimitive];if(o!==void 0){var r=o.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function si(t){var e=Mc(t,"string");return typeof e=="symbol"?e:e+""}function li(t,e,o){return(e=si(e))in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function wa(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),o.push.apply(o,r)}return o}function Yr(t){for(var e=1;e<arguments.length;e++){var o=arguments[e]!=null?arguments[e]:{};e%2?wa(Object(o),!0).forEach(function(r){li(t,r,o[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):wa(Object(o)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(o,r))})}return t}function Rc(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function jc(t,e){for(var o=0;o<e.length;o++){var r=e[o];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,si(r.key),r)}}function Hc(t,e,o){return e&&jc(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function Xr(t){return Xr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Xr(t)}function ci(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(ci=function(){return!!t})()}function ui(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Tc(t,e){if(e&&(typeof e=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ui(t)}function Wc(t,e,o){return e=Xr(e),Tc(t,ci()?Reflect.construct(e,o||[],Xr(t).constructor):e.apply(t,o))}function Fo(t,e){return Fo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(o,r){return o.__proto__=r,o},Fo(t,e)}function zc(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Fo(t,e)}function $o(t,e){(e==null||e>t.length)&&(e=t.length);for(var o=0,r=Array(e);o<e;o++)r[o]=t[o];return r}function Vc(t){if(Array.isArray(t))return $o(t)}function Uc(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function Oc(t,e){if(t){if(typeof t=="string")return $o(t,e);var o={}.toString.call(t).slice(8,-1);return o==="Object"&&t.constructor&&(o=t.constructor.name),o==="Map"||o==="Set"?Array.from(t):o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?$o(t,e):void 0}}function Bc(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
48
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jo(t){return Vc(t)||Uc(t)||Oc(t)||Bc()}function di(t,e,o,r){var a=Math.pow(1-t,2)*e.x+2*(1-t)*t*o.x+Math.pow(t,2)*r.x,n=Math.pow(1-t,2)*e.y+2*(1-t)*t*o.y+Math.pow(t,2)*r.y;return{x:a,y:n}}function Fc(t,e,o){for(var r=20,a=0,n=t,s=0;s<r;s++){var i=di((s+1)/r,t,e,o);a+=Math.sqrt(Math.pow(n.x-i.x,2)+Math.pow(n.y-i.y,2)),n=i}return a}function $c(t){var e=t.curvatureAttribute,o=t.defaultCurvature,r=t.keepLabelUpright,a=r===void 0?!0:r;return function(n,s,i,l,u){var d=u.edgeLabelSize,c=s[e]||o,p=u.edgeLabelFont,b=u.edgeLabelWeight,m=u.edgeLabelColor.attribute?s[u.edgeLabelColor.attribute]||u.edgeLabelColor.color||"#000":u.edgeLabelColor.color,f=s.label;if(f){n.fillStyle=m,n.font="".concat(b," ").concat(d,"px ").concat(p);var y=!a||i.x<l.x,h=y?i.x:l.x,v=y?i.y:l.y,x=y?l.x:i.x,g=y?l.y:i.y,w=(h+x)/2,C=(v+g)/2,I=x-h,k=g-v,D=Math.sqrt(Math.pow(I,2)+Math.pow(k,2)),_=y?1:-1,L=w+k*c*_,G=C-I*c*_,V=s.size*.7+5,q={x:G-v,y:-(L-h)},W=Math.sqrt(Math.pow(q.x,2)+Math.pow(q.y,2)),F={x:g-G,y:-(x-L)},ee=Math.sqrt(Math.pow(F.x,2)+Math.pow(F.y,2));h+=V*q.x/W,v+=V*q.y/W,x+=V*F.x/ee,g+=V*F.y/ee,L+=V*k/D,G-=V*I/D;var U={x:L,y:G},T={x:h,y:v},P={x,y:g},z=Fc(T,U,P);if(!(z<i.size+l.size)){var te=n.measureText(f).width,Q=z-i.size-l.size;if(te>Q){var B="…";for(f=f+B,te=n.measureText(f).width;te>Q&&f.length>1;)f=f.slice(0,-2)+B,te=n.measureText(f).width;if(f.length<4)return}for(var le={},J=0,re=f.length;J<re;J++){var ce=f[J];le[ce]||(le[ce]=n.measureText(ce).width*(1+c*.35))}for(var ue=.5-te/z/2,ge=0,se=f.length;ge<se;ge++){var Ce=f[ge],_e=di(ue,T,U,P),be=2*(1-ue)*(L-h)+2*ue*(x-L),Me=2*(1-ue)*(G-v)+2*ue*(g-G),we=Math.atan2(Me,be);n.save(),n.translate(_e.x,_e.y),n.rotate(we),n.fillText(Ce,0,0),n.restore(),ue+=le[Ce]/z}}}}}function qc(t){var e=t.arrowHead,o=e?.extremity==="target"||e?.extremity==="both",r=e?.extremity==="source"||e?.extremity==="both",a=`
49
49
  precision highp float;
50
50
 
51
51
  varying vec4 v_color;
@@ -230,7 +230,7 @@ void main() {
230
230
 
231
231
  v_color.a *= bias;
232
232
  }
233
- `);return a}var pi=.25,Yc={arrowHead:null,curvatureAttribute:"curvature",defaultCurvature:pi},hi=WebGLRenderingContext,Na=hi.UNSIGNED_BYTE,Pt=hi.FLOAT;function mn(t){var e=Yr(Yr({},Yc),t||{}),o=e,r=o.arrowHead,a=o.curvatureAttribute,n=o.drawLabel,s=r?.extremity==="target"||r?.extremity==="both",i=r?.extremity==="source"||r?.extremity==="both",l=["u_matrix","u_sizeRatio","u_dimensions","u_pixelRatio","u_feather","u_minEdgeThickness"].concat(jo(r?["u_lengthToThicknessRatio","u_widenessToThicknessRatio"]:[]));return(function(u){zc(d,u);function d(){var c;Rc(this,d);for(var p=arguments.length,b=new Array(p),m=0;m<p;m++)b[m]=arguments[m];return c=Wc(this,d,[].concat(b)),li(ui(c),"drawLabel",n||$c(e)),c}return Hc(d,[{key:"getDefinition",value:function(){return{VERTICES:6,VERTEX_SHADER_SOURCE:Kc(e),FRAGMENT_SHADER_SOURCE:qc(e),METHOD:WebGLRenderingContext.TRIANGLES,UNIFORMS:l,ATTRIBUTES:[{name:"a_source",size:2,type:Pt},{name:"a_target",size:2,type:Pt}].concat(jo(s?[{name:"a_targetSize",size:1,type:Pt}]:[]),jo(i?[{name:"a_sourceSize",size:1,type:Pt}]:[]),[{name:"a_thickness",size:1,type:Pt},{name:"a_curvature",size:1,type:Pt},{name:"a_color",size:4,type:Na,normalized:!0},{name:"a_id",size:4,type:Na,normalized:!0}]),CONSTANT_ATTRIBUTES:[{name:"a_current",size:1,type:Pt},{name:"a_direction",size:1,type:Pt}],CONSTANT_DATA:[[0,1],[0,-1],[1,1],[0,-1],[1,1],[1,-1]]}}},{key:"processVisibleItem",value:function(p,b,m,f,y){var h,v=y.size||1,x=m.x,g=m.y,w=f.x,C=f.y,I=Br(y.color),k=(h=y[a])!==null&&h!==void 0?h:pi,D=this.array;D[b++]=x,D[b++]=g,D[b++]=w,D[b++]=C,s&&(D[b++]=f.size),i&&(D[b++]=m.size),D[b++]=v,D[b++]=k,D[b++]=I,D[b++]=p}},{key:"setUniforms",value:function(p,b){var m=b.gl,f=b.uniformLocations,y=f.u_matrix,h=f.u_pixelRatio,v=f.u_feather,x=f.u_sizeRatio,g=f.u_dimensions,w=f.u_minEdgeThickness;if(m.uniformMatrix3fv(y,!1,p.matrix),m.uniform1f(h,p.pixelRatio),m.uniform1f(x,p.sizeRatio),m.uniform1f(v,p.antiAliasingFeather),m.uniform2f(g,p.width*p.pixelRatio,p.height*p.pixelRatio),m.uniform1f(w,p.minEdgeThickness),r){var C=f.u_lengthToThicknessRatio,I=f.u_widenessToThicknessRatio;m.uniform1f(C,r.lengthToThicknessRatio),m.uniform1f(I,r.widenessToThicknessRatio)}}}]),d})(qi)}var Xc=mn(),Zc=mn({arrowHead:za});mn({arrowHead:Yr(Yr({},za),{},{extremity:"both"})});const Qc=["u_sizeRatio","u_correctionRatio","u_matrix"],Jc=`
233
+ `);return a}var pi=.25,Yc={arrowHead:null,curvatureAttribute:"curvature",defaultCurvature:pi},hi=WebGLRenderingContext,Na=hi.UNSIGNED_BYTE,Pt=hi.FLOAT;function mn(t){var e=Yr(Yr({},Yc),t||{}),o=e,r=o.arrowHead,a=o.curvatureAttribute,n=o.drawLabel,s=r?.extremity==="target"||r?.extremity==="both",i=r?.extremity==="source"||r?.extremity==="both",l=["u_matrix","u_sizeRatio","u_dimensions","u_pixelRatio","u_feather","u_minEdgeThickness"].concat(jo(r?["u_lengthToThicknessRatio","u_widenessToThicknessRatio"]:[]));return(function(u){zc(d,u);function d(){var c;Rc(this,d);for(var p=arguments.length,b=new Array(p),m=0;m<p;m++)b[m]=arguments[m];return c=Wc(this,d,[].concat(b)),li(ui(c),"drawLabel",n||$c(e)),c}return Hc(d,[{key:"getDefinition",value:function(){return{VERTICES:6,VERTEX_SHADER_SOURCE:Kc(e),FRAGMENT_SHADER_SOURCE:qc(e),METHOD:WebGLRenderingContext.TRIANGLES,UNIFORMS:l,ATTRIBUTES:[{name:"a_source",size:2,type:Pt},{name:"a_target",size:2,type:Pt}].concat(jo(s?[{name:"a_targetSize",size:1,type:Pt}]:[]),jo(i?[{name:"a_sourceSize",size:1,type:Pt}]:[]),[{name:"a_thickness",size:1,type:Pt},{name:"a_curvature",size:1,type:Pt},{name:"a_color",size:4,type:Na,normalized:!0},{name:"a_id",size:4,type:Na,normalized:!0}]),CONSTANT_ATTRIBUTES:[{name:"a_current",size:1,type:Pt},{name:"a_direction",size:1,type:Pt}],CONSTANT_DATA:[[0,1],[0,-1],[1,1],[0,-1],[1,1],[1,-1]]}}},{key:"processVisibleItem",value:function(p,b,m,f,y){var h,v=y.size||1,x=m.x,g=m.y,w=f.x,C=f.y,I=Or(y.color),k=(h=y[a])!==null&&h!==void 0?h:pi,D=this.array;D[b++]=x,D[b++]=g,D[b++]=w,D[b++]=C,s&&(D[b++]=f.size),i&&(D[b++]=m.size),D[b++]=v,D[b++]=k,D[b++]=I,D[b++]=p}},{key:"setUniforms",value:function(p,b){var m=b.gl,f=b.uniformLocations,y=f.u_matrix,h=f.u_pixelRatio,v=f.u_feather,x=f.u_sizeRatio,g=f.u_dimensions,w=f.u_minEdgeThickness;if(m.uniformMatrix3fv(y,!1,p.matrix),m.uniform1f(h,p.pixelRatio),m.uniform1f(x,p.sizeRatio),m.uniform1f(v,p.antiAliasingFeather),m.uniform2f(g,p.width*p.pixelRatio,p.height*p.pixelRatio),m.uniform1f(w,p.minEdgeThickness),r){var C=f.u_lengthToThicknessRatio,I=f.u_widenessToThicknessRatio;m.uniform1f(C,r.lengthToThicknessRatio),m.uniform1f(I,r.widenessToThicknessRatio)}}}]),d})(qi)}var Xc=mn(),Zc=mn({arrowHead:za});mn({arrowHead:Yr(Yr({},za),{},{extremity:"both"})});const Qc=["u_sizeRatio","u_correctionRatio","u_matrix"],Jc=`
234
234
  precision highp float;
235
235
 
236
236
  varying vec4 v_bodyColor;
@@ -413,7 +413,7 @@ void main() {
413
413
 
414
414
  v_color.a *= bias;
415
415
  }
416
- `;class xr extends Xi{static ANGLE_1=0;static ANGLE_2=2*Math.PI/3;static ANGLE_3=4*Math.PI/3;drawLabel=fi;drawHover=mi;getDefinition(){return{VERTICES:3,VERTEX_SHADER_SOURCE:eu,FRAGMENT_SHADER_SOURCE:Jc,METHOD:WebGLRenderingContext.TRIANGLES,UNIFORMS:Qc,ATTRIBUTES:[{name:"a_position",size:2,type:WebGLRenderingContext.FLOAT},{name:"a_size",size:1,type:WebGLRenderingContext.FLOAT},{name:"a_bodyColor",size:4,type:WebGLRenderingContext.UNSIGNED_BYTE,normalized:!0},{name:"a_glyphColor",size:4,type:WebGLRenderingContext.UNSIGNED_BYTE,normalized:!0},{name:"a_outlineColor",size:4,type:WebGLRenderingContext.UNSIGNED_BYTE,normalized:!0},{name:"a_outlineSize",size:1,type:WebGLRenderingContext.FLOAT},{name:"a_glyphScale",size:1,type:WebGLRenderingContext.FLOAT},{name:"a_shapeKind",size:1,type:WebGLRenderingContext.FLOAT},{name:"a_aspectRatio",size:1,type:WebGLRenderingContext.FLOAT},{name:"a_id",size:4,type:WebGLRenderingContext.UNSIGNED_BYTE,normalized:!0}],CONSTANT_ATTRIBUTES:[{name:"a_angle",size:1,type:WebGLRenderingContext.FLOAT}],CONSTANT_DATA:[[xr.ANGLE_1],[xr.ANGLE_2],[xr.ANGLE_3]]}}processVisibleItem(e,o,r){const a=this.array,n=gn(r.ringSize,r.ringColor,r.borderColor,E.nodes.selectedRing.color),s=Math.max(r.ringSize||0,r.borderSize||.7);a[o++]=r.x,a[o++]=r.y,a[o++]=r.size,a[o++]=Br(r.color||E.palette.overview.nodeCore),a[o++]=Br(r.shellColor||K(E.palette.overview.nodeBase,.58)),a[o++]=Br(n),a[o++]=s,a[o++]=r.coreScale??.22,a[o++]=r.entityShapeKind??E.nodes.entityShapes[r.entityShape||"entity"].shapeKind,a[o++]=r.entityAspectRatio??E.nodes.entityShapes[r.entityShape||"entity"].aspectRatio,a[o++]=e}setUniforms(e,{gl:o,uniformLocations:r}){o.uniform1f(r.u_correctionRatio,e.correctionRatio),o.uniform1f(r.u_sizeRatio,e.sizeRatio),o.uniformMatrix3fv(r.u_matrix,!1,e.matrix)}}function gn(t,e,o,r){return typeof t=="number"&&t>0&&e?e:o||r}function Zr(t,e,o,r,a,n){const s=Math.max(0,Math.min(n,Math.min(r,a)/2));t.beginPath(),t.moveTo(e+s,o),t.lineTo(e+r-s,o),t.quadraticCurveTo(e+r,o,e+r,o+s),t.lineTo(e+r,o+a-s),t.quadraticCurveTo(e+r,o+a,e+r-s,o+a),t.lineTo(e+s,o+a),t.quadraticCurveTo(e,o+a,e,o+a-s),t.lineTo(e,o+s),t.quadraticCurveTo(e,o,e+s,o),t.closePath()}const fi=(t,e)=>{const o=e;if(!o.label)return;const r=E.labels.chip,a=Math.max(r.fontSize,Math.min(r.maxFontSize,o.size*r.sizeScale)),n=`${r.fontWeight} ${a}px ${r.fontFamily}`,s=r.paddingX,i=r.paddingY,l=gn(o.ringSize,o.ringColor,o.borderColor,r.borderColor);t.save(),t.font=n,t.textBaseline="middle";const d=t.measureText(o.label).width+s*2,c=a+i*2,p=o.x+Math.max(o.size*.7,r.offsetX),b=o.y-Math.max(o.size*.9,r.offsetY)-c;t.shadowColor=K(r.shadowColor,r.shadowAlpha),t.shadowBlur=r.shadowBlur,t.fillStyle=r.background,Zr(t,p,b,d,c,r.radius),t.fill(),t.shadowBlur=0,t.strokeStyle=K(l,r.borderAlpha),t.lineWidth=1,Zr(t,p,b,d,c,r.radius),t.stroke(),t.fillStyle=r.textColor,t.fillText(o.label,p+s,b+c/2),t.restore()},mi=(t,e)=>{const o=e;if(!o.label)return;const r=E.labels.hoverCard,a=gn(o.ringSize,o.ringColor,o.borderColor,r.borderColor),n=typeof o.nodeType=="string"&&o.nodeType.trim().length>0?o.nodeType.replaceAll("_"," ").toUpperCase():"NODE";t.save(),t.textBaseline="top";const s=`${r.titleWeight} ${r.titleSize}px ${r.fontFamily}`,i=`${r.metaWeight} ${r.metaSize}px ${r.fontFamily}`;t.font=s;const l=t.measureText(o.label).width;t.font=i;const u=t.measureText(n).width,d=Math.max(l,u)+r.paddingX*2,c=r.paddingY*2+r.titleSize+r.metaGap+r.metaSize,p=o.x+Math.max(o.size*.9,r.offsetX),b=o.y-Math.max(o.size*1.1,r.offsetY)-c;t.shadowColor=K(r.shadowColor,r.shadowAlpha),t.shadowBlur=r.shadowBlur,t.fillStyle=r.background,Zr(t,p,b,d,c,r.radius),t.fill(),t.shadowBlur=0,t.strokeStyle=K(a,r.borderAlpha),t.lineWidth=1.2,Zr(t,p,b,d,c,r.radius),t.stroke(),t.fillStyle=r.textColor,t.font=s,t.fillText(o.label,p+r.paddingX,b+r.paddingY),t.fillStyle=r.metaColor,t.font=i,t.fillText(n,p+r.paddingX,b+r.paddingY+r.titleSize+r.metaGap),t.restore()},tu={...Yi,circle:xr},ru={...Ki,curve:Xc,curvedArrow:Zc};function ou({mode:t,viewMode:e,isLayoutRunning:o,edgeDiagnostics:r,minimumLiteralEdges:a}){return t==="off"?{enabled:!1,disabledReason:"disabled"}:e!=="full"?{enabled:!1,disabledReason:"non-full-mode"}:o?{enabled:!1,disabledReason:"layout-running"}:t==="auto"&&(r?.counts.backbone??0)+(r?.counts.bridge??0)>=a?{enabled:!1,disabledReason:"enough-literal-edges"}:{enabled:!0,disabledReason:null}}function Ea(t){return Number.isFinite(Number(t.x))&&Number.isFinite(Number(t.y))}function nu(t){return Math.max(0,Math.min(1,Number(t.visualPriority??t.weight??0)))}function au(t,e){return(t==="bridge"?2:1)+e}function iu(t,e,o){const r=`${t}|${e}|${o}`;let a=0;for(let n=0;n<r.length;n+=1)a=a*31+r.charCodeAt(n)|0;return a%2===0?1:-1}function su({graphVersion:t,zoomTier:e,layoutSettledEpoch:o,overviewBackboneEdgeIds:r}){return[t,e,o,Array.from(r).sort().join(",")].join("|")}function lu({graphRef:t,cacheKey:e,classifyEdge:o,maxCurves:r,curveStrength:a}){const n=[];t.forEachEdge((i,l,u,d)=>{const c=String(i),p=o(c);if(p!=="bridge"&&p!=="backbone")return;const b=String(u),m=String(d);if(!t.hasNode(b)||!t.hasNode(m))return;const f=t.getNodeAttributes(b),y=t.getNodeAttributes(m);if(!Ea(f)||!Ea(y))return;const h=nu(l);n.push({edgeId:c,sourceId:b,targetId:m,source:{x:Number(f.x),y:Number(f.y)},target:{x:Number(y.x),y:Number(y.y)},edgeClass:p,priority:h,curvature:iu(b,m,c)*a,rank:au(p,h)})}),n.sort((i,l)=>l.rank!==i.rank?l.rank-i.rank:i.edgeId.localeCompare(l.edgeId));const s=n.slice(0,r).map(({rank:i,...l})=>l);return{cacheKey:e,curves:s,bridgeCurveCount:s.filter(i=>i.edgeClass==="bridge").length,backboneCurveCount:s.filter(i=>i.edgeClass==="backbone").length}}function Aa({gate:t,cache:e,minimumCurves:o,canvasAvailable:r,lastDrawAt:a}){return t.enabled?r?!e||e.curves.length===0?{enabled:!1,disabledReason:"no-eligible-edges",curveCount:0,bridgeCurveCount:0,backboneCurveCount:0,cacheKey:e?.cacheKey??"",lastDrawAt:a}:e.curves.length<o?{enabled:!1,disabledReason:"cache-empty",curveCount:e.curves.length,bridgeCurveCount:e.bridgeCurveCount,backboneCurveCount:e.backboneCurveCount,cacheKey:e.cacheKey,lastDrawAt:a}:{enabled:!0,disabledReason:null,curveCount:e.curves.length,bridgeCurveCount:e.bridgeCurveCount,backboneCurveCount:e.backboneCurveCount,cacheKey:e.cacheKey,lastDrawAt:a}:{enabled:!1,disabledReason:"invalid-layer",curveCount:0,bridgeCurveCount:0,backboneCurveCount:0,cacheKey:e?.cacheKey??"",lastDrawAt:a}:{enabled:!1,disabledReason:t.disabledReason,curveCount:0,bridgeCurveCount:0,backboneCurveCount:0,cacheKey:e?.cacheKey??"",lastDrawAt:a}}function ka(t){if(!t)return;const e=t.getContext("2d");e&&(e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,t.width,t.height))}function cu({sigma:t,canvas:e,cache:o}){const r=e.getContext("2d");if(!r)return!1;const{width:a,height:n}=t.getDimensions(),s=window.devicePixelRatio||1;r.setTransform(s,0,0,s,0,0),r.clearRect(0,0,a,n),r.lineCap="round",r.lineJoin="round";let i=0;for(const l of o.curves){const u=t.getNodeDisplayData(l.sourceId),d=t.getNodeDisplayData(l.targetId);if(!u||!d||u.hidden||d.hidden)continue;const c=t.graphToViewport(l.source),p=t.graphToViewport(l.target);if(!Number.isFinite(c.x)||!Number.isFinite(c.y)||!Number.isFinite(p.x)||!Number.isFinite(p.y))continue;const b=p.x-c.x,m=p.y-c.y,f=Math.hypot(b,m);if(f<=0)continue;const y=-m/f,h=b/f,v=f*l.curvature,x=(c.x+p.x)/2+y*v,g=(c.y+p.y)/2+h*v,w=E.edges.fullGraphStructureLayer;r.beginPath(),r.strokeStyle=l.edgeClass==="bridge"?K(E.palette.muted.edgeFocus,w.bridgeAlpha):K(E.palette.muted.edgeStructure,w.backboneAlpha),r.lineWidth=l.edgeClass==="bridge"?w.bridgeLineWidth:w.backboneLineWidth,r.moveTo(c.x,c.y),r.quadraticCurveTo(x,g,p.x,p.y),r.stroke(),i+=1}return i>0}const uu={iterations:50,settings:{barnesHutOptimize:!0,barnesHutTheta:.5,adjustSizes:!1,gravity:.16,scalingRatio:7.5,edgeWeightInfluence:.3,linLogMode:!0,strongGravityMode:!1,slowDown:18}},du=4500,pu={iterations:E.grouped.layout.iterations,settings:{barnesHutOptimize:!0,barnesHutTheta:.5,adjustSizes:!0,gravity:E.grouped.layout.gravity,scalingRatio:E.grouped.layout.scalingRatio,edgeWeightInfluence:E.grouped.layout.edgeWeightInfluence,linLogMode:!1,strongGravityMode:!1,slowDown:E.grouped.layout.slowDown}},hu={allowInvalidContainer:!0,labelRenderedSizeThreshold:6,defaultNodeType:"circle",defaultEdgeType:"line",hideLabelsOnMove:!0,hideEdgesOnMove:!0,enableEdgeEvents:!0,renderEdgeLabels:!0,labelDensity:.7,labelGridCellSize:140,zIndex:!0,minCameraRatio:.04,maxCameraRatio:8,webGLTarget:"webgl2",nodeProgramClasses:tu,edgeProgramClasses:ru,defaultDrawNodeLabel:fi,defaultDrawNodeHover:mi};function ye(t,e){console.debug(`[GraphCanvas] ${t}`,e??{})}function fu(t,e){let o=0;return t.forEachNode((r,a)=>{if(!e.hasNode(r))return;const n=e.getNodeAttributes(r),s=Number(n.x),i=Number(n.y),l=a;if(!Number.isFinite(s)||!Number.isFinite(i))return;const u=Number(l.x),d=Number(l.y);Math.abs(u-s)<=.001&&Math.abs(d-i)<=.001||(t.mergeNodeAttributes(r,{x:s,y:i}),o+=1)}),o}function mu(t,e){if(!e)return null;if(t.hasNode(e))return e;let o=null;return t.forEachNode((r,a)=>{if(o)return;const n=a.properties?.__communityGroup;if(n){if(n.anchorNodeId===e){o=r;return}(n.sampleNodeIds?.includes(e)||n.memberNodeIds?.includes(e))&&(o=r)}}),o}function Ca(t,e,o){if(!o)return[];const r=mu(t,o);if(!r)return[];const a=(e?.selectedVisibleNeighborIds??[]).filter(n=>t.hasNode(n)).slice(0,E.focus.maxNeighbors);return Array.from(new Set([r,...a]))}function gu(t,e){return t?t.graphVersion===e.graphVersion&&t.viewMode===e.viewMode&&t.layoutMode===e.layoutMode&&t.displayGraph===e.displayGraph:!1}function qo(t,e){let o=1/0,r=-1/0,a=1/0,n=-1/0,s=0;return e.forEach(i=>{const l=t.getNodeDisplayData(i);if(!l)return;const u=Number(l.x),d=Number(l.y);!Number.isFinite(u)||!Number.isFinite(d)||(o=Math.min(o,u),r=Math.max(r,u),a=Math.min(a,d),n=Math.max(n,d),s+=1)}),s===0?null:{minX:o,maxX:r,minY:a,maxY:n,count:s}}function Ia(t,e){const o=[];return e.forEachNode(r=>{o.push(r)}),qo(t,o)}function bu(t,e){const o=t.getCamera(),r=o.getState(),a=t.viewRectangle(),n=Math.abs(a.x2-a.x1),s=Math.abs(a.height),i=Math.abs(e.x[1]-e.x[0]),l=Math.abs(e.y[1]-e.y[0]),u=(e.x[0]+e.x[1])/2,d=(e.y[0]+e.y[1])/2;if(![n,s,i,l,u,d].every(Number.isFinite)||n<=0||s<=0||i<=0||l<=0)return null;const c=Math.max(i/n,l/s),p=o.getBoundedRatio(r.ratio*c);return!Number.isFinite(p)||p<=0?null:{x:u,y:d,ratio:p,angle:r.angle}}function Da(t,e,o){const r=o?.paddingRatio??.12,a=o?.minSpanRatio??.03,n=o?.minSpanFloor??1,s=Math.max(e?e.maxX-e.minX:0,n),i=Math.max(e?e.maxY-e.minY:0,n),l=Math.max(t.maxX-t.minX,0),u=Math.max(t.maxY-t.minY,0),d=Math.max(s*a,n),c=Math.max(i*a,n),p=Math.max(l,d),b=Math.max(u,c),m=(t.minX+t.maxX)/2,f=(t.minY+t.maxY)/2;if(![p,b,m,f].every(Number.isFinite))return null;const y=p*(1+r*2),h=b*(1+r*2);return y<=0||h<=0?null:{x:[m-y/2,m+y/2],y:[f-h/2,f+h/2]}}function Ko(t,e,o,r=96){return t.x>=-r&&t.y>=-r&&t.x<=e+r&&t.y<=o+r}function gi(t,e,o,r,a,n){const s=[];for(let i=0;i<e.length-1;i+=1){const l=e[i],u=e[i+1],d=t.getNodeDisplayData(l),c=t.getNodeDisplayData(u);if(!d||!c)continue;const p=t.graphToViewport({x:d.x,y:d.y}),b=t.graphToViewport({x:c.x,y:c.y});if(!Ko(p,a,n)&&!Ko(b,a,n))continue;const m=o[i]&&j.hasEdge(o[i])?j.getEdgeAttributes(o[i]):{baseColor:E.palette.accent.path,baseSize:1.2,edgeVariant:"pathSignal",arrowVisibilityPolicy:"always"},f=dn(E,r,"path",m,l,u);!f.color||!f.size||s.push({sourceId:l,targetId:u,source:p,target:b,color:f.color,size:f.size})}return s}function _a(t,e,o,r,a,n,s,i){const l=n?gi(n,t.activePath,t.activePathEdgeIds,t.zoomTier,s,i).length:0,u=t.activePath.length>1,d=xt(t.zoomTier,E.effects.pathPulse.minZoomTier),c=xt(t.zoomTier,E.effects.pathFlow.minZoomTier),p=xt(t.zoomTier,E.effects.lens.minZoomTier),b=xt(t.zoomTier,E.effects.temporalEmphasis.minZoomTier),m=xt(t.zoomTier,E.effects.semanticRegions.minZoomTier),f=xt(t.zoomTier,E.effects.contours.minZoomTier),y=!!(t.hoveredNodeId||t.selectedNodeId),h="Layout is still settling",v=e.pathPulseEnabled?a?{enabled:!0,available:!1,reason:h}:u?d?l===0?{enabled:!0,available:!1,reason:"Path is off-screen"}:l>E.effects.pathPulse.maxSegments?{enabled:!0,available:!1,reason:"Disabled by path size cap",detail:`${l} visible segments`,visibleSegments:l,segmentCap:E.effects.pathPulse.maxSegments}:{enabled:!0,available:!0,reason:"Ready",visibleSegments:l,segmentCap:E.effects.pathPulse.maxSegments}:{enabled:!0,available:!1,reason:"Disabled by zoom tier",detail:`Requires ${E.effects.pathPulse.minZoomTier}`}:{enabled:!0,available:!1,reason:"No active path"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},x=e.pathFlowEnabled?a?{enabled:!0,available:!1,reason:h}:u?c?l===0?{enabled:!0,available:!1,reason:"Path is off-screen"}:l>E.effects.pathFlow.maxSegments?{enabled:!0,available:!1,reason:"Disabled by path size cap",detail:`${l} visible segments`,visibleSegments:l,segmentCap:E.effects.pathFlow.maxSegments}:{enabled:!0,available:!0,reason:"Ready",visibleSegments:l,segmentCap:E.effects.pathFlow.maxSegments}:{enabled:!0,available:!1,reason:"Disabled by zoom tier",detail:`Requires ${E.effects.pathFlow.minZoomTier}`}:{enabled:!0,available:!1,reason:"No active path"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},g=e.lensEnabled?a?{enabled:!0,available:!1,reason:h}:y?p?{enabled:!0,available:!0,reason:"Ready"}:{enabled:!0,available:!1,reason:"Disabled by zoom tier",detail:`Requires ${E.effects.lens.minZoomTier}`}:{enabled:!0,available:!1,reason:"No focal node"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},w=e.temporalEmphasisEnabled?a?{enabled:!0,available:!1,reason:h}:o?.currentTime?b?{enabled:!0,available:!0,reason:"Ready"}:{enabled:!0,available:!1,reason:"Disabled by zoom tier",detail:`Requires ${E.effects.temporalEmphasis.minZoomTier}`}:{enabled:!0,available:!1,reason:"No temporal focus time"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},C=e.semanticRegionsEnabled?a?{enabled:!0,available:!1,reason:h}:m?r?.semanticRegions.ready?{enabled:!0,available:!0,reason:r.semanticRegions.reason}:{enabled:!0,available:!1,reason:r?.semanticRegions.reason??"Waiting for semantic region summaries"}:{enabled:!0,available:!1,reason:"Disabled by zoom tier",detail:`Requires ${E.effects.semanticRegions.minZoomTier}`}:{enabled:!1,available:!1,reason:"Disabled by toggle"},I=e.contoursEnabled?a?{enabled:!0,available:!1,reason:h}:f?r?.centrality.ready?{enabled:!0,available:!0,reason:r.centrality.reason}:{enabled:!0,available:!1,reason:r?.centrality.reason??"Waiting for centrality ranking"}:{enabled:!0,available:!1,reason:"Disabled by zoom tier",detail:`Requires ${E.effects.contours.minZoomTier}`}:{enabled:!1,available:!1,reason:"Disabled by toggle"},k=e.pathfindingEnabled?r?.directedPath.ready?{enabled:!0,available:!0,reason:r.directedPath.verifiedAgainstActivePath?"Ready · local path matches traced path":"Ready · local directed path differs from traced path"}:{enabled:!0,available:!1,reason:r?.directedPath.reason??"Waiting for a traced path"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},D=e.communitiesEnabled?r?.communities.ready?{enabled:!0,available:!0,reason:r.communities.modularity!==null?`Ready · modularity ${r.communities.modularity.toFixed(3)}`:r.communities.reason}:{enabled:!0,available:!1,reason:r?.communities.reason??"Waiting for community summaries"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},_=e.centralityEnabled?r?.centrality.ready?{enabled:!0,available:!0,reason:r.centrality.reason}:{enabled:!0,available:!1,reason:r?.centrality.reason??"Waiting for centrality ranking"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},L=e.legendEnabled?{enabled:!0,available:!0,reason:"Panel enabled"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},G=e.edgeLabelsEnabled?{enabled:!0,available:!0,reason:"Ready"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},V=E.effects.diagnostics.enabledInDev?e.diagnosticsEnabled?{enabled:!0,available:!0,reason:"Ready"}:{enabled:!1,available:!1,reason:"Disabled by toggle"}:{enabled:!1,available:!1,reason:"Disabled in production"};return{pathPulse:v,pathFlow:x,lens:g,temporalEmphasis:w,semanticRegions:C,contours:I,pathfinding:k,communities:D,centrality:_,legend:L,edgeLabels:G,diagnostics:V}}function bi(t,e,o,r,a){const n=t.createRadialGradient(e,o,0,e,o,r);n.addColorStop(0,a),n.addColorStop(1,"rgba(0,0,0,0)"),t.fillStyle=n,t.beginPath(),t.arc(e,o,r,0,Math.PI*2),t.fill()}function yu(t,e,o,r,a,n){const s=E.nodes.badges[a],i=E.nodes.badge.radius,l=E.nodes.badge.offset,u=e+Math.max(r*.62,i+l),d=o-Math.max(r*.62,i+l);bi(t,u,d,E.overlays.badgeGlowRadius,K(s.color,E.nodes.badge.glowAlpha)),t.fillStyle=s.color,t.beginPath(),t.arc(u,d,i,0,Math.PI*2),t.fill(),t.strokeStyle=E.nodes.badge.stroke,t.lineWidth=1,t.beginPath(),t.arc(u,d,i,0,Math.PI*2),t.stroke(),t.fillStyle=E.nodes.badge.textColor,t.font=`700 ${E.nodes.badge.fontSize}px Inter, system-ui, sans-serif`,t.textAlign="center",t.textBaseline="middle";const c=a==="provenance"&&n&&n>1?String(Math.min(9,n)):s.label;t.fillText(c,u,d+.5)}const vu=["hidden","backbone","bridge","local-context","selected","path","muted"];function xu(){return vu.reduce((t,e)=>(t[e]=0,t),{})}function Su(t,e){return E.edges.contextCaps[t]?.[e]??0}function wu(t,e,o,r,a,n,s){if(n.has(e)||s&&e===s)return Number.POSITIVE_INFINITY;const i=Math.max(Number(t.weight??t.representativeWeight??1)||1,1),l=Math.min(1,Math.log1p(i)/Math.log(25)),u=Math.max(0,Math.min(Number(t.visualPriority??0),1)),d=Math.max(0,Math.min(Number(t.relationshipStrength??0),1));return(r.has(o)?6:0)+(a.has(o)?1.25:0)+u*2+l*1.4+d}function Nu(t,e,o,r,a){const n=e.hoveredNodeId||e.selectedNodeId;if(!n||!t.hasNode(n))return new Set;const s=Su(e.viewMode,e.zoomTier);if(s<=0&&!e.selectedEdgeId&&a.size===0)return new Set;const i=new Set((o?.selectedVisibleNeighborIds??[]).filter(d=>t.hasNode(d))),l=[];t.edges(n).forEach(d=>{const c=String(d);if(!t.hasEdge(c))return;const[p,b]=t.extremities(c),m=String(p),f=String(b),y=m===n?f:m,h=t.getEdgeAttributes(c);l.push({edgeId:c,score:wu(h,c,y,i,r,a,e.selectedEdgeId)})}),l.sort((d,c)=>c.score!==d.score?c.score-d.score:d.edgeId.localeCompare(c.edgeId));const u=new Set;return l.forEach(d=>{(d.edgeId===e.selectedEdgeId||a.has(d.edgeId)||u.size<s)&&u.add(d.edgeId)}),u}function Eu(t,e,o,r,a){const{viewMode:n,zoomTier:s,hoveredNodeId:i,selectedNodeId:l,selectedEdgeId:u,activePath:d}=e,c=i||l,p=c?t.hasNode(c)?kr(t,c):new Set:new Set,b=no(t,d,e.activePathEdgeIds);return{viewMode:n,zoomTier:s,hoveredNodeId:i,selectedNodeId:l,selectedEdgeId:u,activePath:d,activePathEdgeIds:e.activePathEdgeIds,focusIds:p,edgeEndpointIds:ln(t,u),pathNodeIds:new Set(d),pathEdgeIds:b,overviewBackboneEdgeIds:new Set(r?.overviewBackbone.edgeIds??[]),distanceVisualState:a,highlightedIncidentEdgeIds:Nu(t,e,o,p,b)}}function bn(t,e,o){if(!t.hasEdge(e))return"hidden";const[r,a]=t.extremities(e),n=String(r),s=String(a),i=t.hasNode(n)?t.getNodeAttributes(n):void 0,l=t.hasNode(s)?t.getNodeAttributes(s):void 0;return ic(e,n,s,o.zoomTier,o.hoveredNodeId,o.selectedNodeId,o.selectedEdgeId,o.focusIds,o.pathEdgeIds,o.highlightedIncidentEdgeIds,o.overviewBackboneEdgeIds,i,l)}function Au(t,e){const o=xu();return t.forEachEdge(r=>{const a=e.viewMode==="full"?bn(t,String(r),e):"hidden";o[a]+=1}),{mode:e.viewMode,zoomTier:e.zoomTier,totalEdges:t.size,visibleEdges:t.size-o.hidden,counts:o,updatedAt:Date.now()}}function ku(t,e,o,r){if(t.setSetting("nodeReducer",(a,n)=>{const s=t.getGraph(),i=e.current,l=t.getCamera().getState().ratio;if(!s.hasNode(a))return o.current.missingNodes.has(a)||(o.current.missingNodes.add(a),ye("node-reducer-node-missing",{nodeId:a,order:s.order,size:s.size})),{...n,hidden:!0};const u=n,d=ni(a,i.zoomTier,i.hoveredNodeId,i.selectedNodeId,i.selectedEdgeId,i.focusIds,i.edgeEndpointIds,i.pathNodeIds),c=qr(E,i.zoomTier,d,u,n.label,l),p=i.viewMode==="full"?zl(E,i.zoomTier,c,i.distanceVisualState,String(a)):{},b={...c,...p};return{...n,color:b.color,shellColor:b.shellColor,coreScale:b.coreScale,size:b.size,forceLabel:b.forceLabel,label:b.label,zIndex:b.zIndex,hidden:b.hidden,borderColor:b.borderColor,borderSize:b.borderSize,ringColor:b.showRing?b.ringColor:b.borderColor,ringSize:b.ringSize,entityShape:b.entityShape,entityShapeKind:b.entityShapeKind,entityAspectRatio:b.entityAspectRatio}}),t.setSetting("edgeReducer",(a,n)=>{const s=t.getGraph(),i=e.current;if(!s.hasEdge(a))return o.current.missingEdges.has(a)||(o.current.missingEdges.add(a),ye("edge-reducer-edge-missing",{edgeId:a,order:s.order,size:s.size})),{...n,hidden:!0};const l=n,[u,d]=s.extremities(a),c=String(a),p=!!(i.hoveredNodeId||i.selectedNodeId||i.selectedEdgeId||i.pathEdgeIds.size>0),b=i.viewMode==="full"?bn(s,c,i):void 0,m=i.viewMode==="full"?sc(b??"hidden",{hoveredNodeId:i.hoveredNodeId,hasActiveInteraction:p}):nc(c,String(u),String(d),i.zoomTier,i.hoveredNodeId,i.selectedNodeId,i.selectedEdgeId,i.focusIds,i.pathEdgeIds,i.highlightedIncidentEdgeIds),f=dn(E,i.zoomTier,m,l,u,d,i.viewMode,c,b),y=i.viewMode==="full"?Vl(f,i.distanceVisualState,String(u),String(d),b):{},h={...f,...y};return{...n,hidden:h.hidden,type:h.type,color:h.color,size:h.size,zIndex:h.zIndex,curvature:h.curvature,label:h.hidden?void 0:String(l.edgeType||n.label||"")}}),(r?.nodes?.length??0)>0||(r?.edges?.length??0)>0){t.scheduleRefresh({partialGraph:{nodes:r?.nodes,edges:r?.edges}});return}t.scheduleRefresh()}function Cu(t,e,o){for(const r of t)if(r.performAction?.(e,o))return}const Iu=A.forwardRef(function({graphVersion:e,graphReady:o,displayGraph:r,displayMeta:a,displayState:n,onNodeClick:s,onEdgeClick:i,selectedNodeId:l,focusedNodeId:u,selectedEdgeId:d,activePath:c=[],activePathEdgeIds:p=[],distanceVisualState:b,effectsState:m,temporalState:f,isLayoutRunning:y,onLayoutRunningChange:h,viewMode:v,className:x,showFitViewButton:g=!0,pluginOverlays:w=[],onSceneRuntimeChange:C,onInteractionStateChange:I,onCameraStateChange:k,onDiagnosticsChange:D,onAnalyticsChange:_},L){const G=A.useRef(null),V=A.useRef(null),q=A.useRef(null),W=A.useRef(null),F=A.useRef(null),ee=A.useRef(null),U=A.useRef(null),T=A.useRef(null),P=A.useRef(null),z=A.useRef(null),te=A.useRef(null),Q=A.useRef(null),O=A.useRef(r),le=A.useRef(n),J=A.useRef(a),re=A.useRef(e),ce=A.useRef(l),ue=A.useRef(u),ge=A.useRef(b),se=A.useRef(v),Ce=A.useRef(s),_e=A.useRef(i),be=A.useRef(C),Me=A.useRef(k),we=A.useRef(m),[Qe,Je]=A.useState(null),[$e,pt]=A.useState("overview"),[We,et]=A.useState(null),[ht,Ze]=A.useState(0),it=A.useRef(null),tt=A.useRef(null),Ie=A.useRef(null),qe=A.useRef(0),xe=A.useRef(null),ve=A.useRef(null),he=A.useRef(null),Ke=A.useRef({missingEdges:new Set,missingNodes:new Set});O.current=r,le.current=n,J.current=a,re.current=e,ce.current=l,ue.current=u,ge.current=b,se.current=v,Ce.current=s,_e.current=i,be.current=C,Me.current=k,we.current=m;const de=A.useMemo(()=>[Es,As,ks,Cs(),_s(),Gs,Ls()],[]),ie=A.useMemo(()=>Sc(Qe,l,u,d,c,p,v,$e,y),[c,p,u,Qe,y,d,l,v,$e]),De=A.useRef(ie);De.current=ie;const je=A.useRef(null),Ue=A.useRef(void 0);A.useEffect(()=>{y||Ze(M=>M+1)},[r,e,y]);const Be=m.communitiesEnabled||m.semanticRegionsEnabled,Re=m.centralityEnabled||m.semanticRegionsEnabled||m.contoursEnabled,st=A.useMemo(()=>ro(r,{computeCommunities:Be,computeCentrality:Re}),[r,Re,Be]),rt=A.useMemo(()=>Eu(r,ie,n,We,b),[We,r,n,b,ie]),jt=A.useRef(rt);jt.current=rt;const Ge=A.useMemo(()=>Au(r,rt),[r,rt]),Et=A.useMemo(()=>ou({mode:E.edges.fullGraphStructureLayer.mode,viewMode:v,isLayoutRunning:y,edgeDiagnostics:Ge,minimumLiteralEdges:E.edges.fullGraphStructureLayer.minimumLiteralEdges}),[Ge,y,v]),ot=A.useMemo(()=>{if(!Et.enabled)return null;const M=su({graphVersion:e,zoomTier:$e,layoutSettledEpoch:ht,overviewBackboneEdgeIds:rt.overviewBackboneEdgeIds});return lu({graphRef:r,cacheKey:M,classifyEdge:H=>bn(r,H,rt),maxCurves:E.edges.fullGraphStructureLayer.maxCurves,curveStrength:E.edges.fullGraphStructureLayer.curveStrength})},[r,e,ht,rt,Et.enabled,$e]);W.current=ot;const Ot=A.useMemo(()=>Aa({gate:Et,cache:ot,minimumCurves:E.edges.fullGraphStructureLayer.minimumCurves,canvasAvailable:!!q.current,lastDrawAt:F.current}),[ot,Et]);ee.current=Ot;const Le=A.useMemo(()=>({graphVersion:e,viewMode:v,layoutMode:a.layoutMode,displayGraph:r}),[r,a.layoutMode,e,v]),At=A.useCallback((M,H,X)=>{const B=U.current;if(!B)return;B.getCustomBBox()&&B.setCustomBBox(null);const oe=G.current,ae=B.getDimensions(),pe=B.getCamera().getState(),Y=H?bu(B,H):{x:.5,y:.5,ratio:1,angle:pe.angle};if(!Y){ye("camera-fit-target-invalid",{intent:M,graphVersion:re.current,viewMode:se.current,order:O.current.order,size:O.current.size,boundsX:H?.x??null,boundsY:H?.y??null,...X});return}ye("camera-fit-target",{intent:M,graphVersion:re.current,viewMode:se.current,order:O.current.order,size:O.current.size,selectionPreserved:!!ce.current,containerWidth:oe?.clientWidth??ae.width,containerHeight:oe?.clientHeight??ae.height,targetX:Y.x,targetY:Y.y,targetRatio:Y.ratio,boundsX:H?.x??null,boundsY:H?.y??null,...X}),B.getCamera().animate(Y,{duration:E.motion.cameraMs,easing:"quadraticOut"})},[]),ir=A.useCallback(()=>{const M=U.current;if(!M)return;const H=Ia(M,O.current);if(!H){ye("camera-fit-display-graph-fallback",{graphVersion:re.current,viewMode:se.current,reason:"display-bounds-unavailable",order:O.current.order,size:O.current.size}),At("fit-display-graph",null,{fallback:"reset-empty-bounds"});return}const X=Da(H,H,{paddingRatio:.14,minSpanRatio:.02,minSpanFloor:.04});At("fit-display-graph",X,{boundsCount:H.count,minX:H.minX,maxX:H.maxX,minY:H.minY,maxY:H.maxY})},[At]),Ht=A.useCallback(function M(H,X=0){const B=U.current;if(!B)return;const oe=O.current,ae=Ca(oe,le.current,H);if(ae.length===0){ye("camera-selection-missing-node",{nodeId:H,graphVersion:re.current,viewMode:se.current});return}const pe=ae[0],Y=B.getNodeDisplayData(pe);if(Y){const Te=B.graphToViewport({x:Y.x,y:Y.y}),Ye=B.getDimensions();if(Ko(Te,Ye.width,Ye.height,96)){ye("camera-selection-visible-noop",{nodeId:H,selectedDisplayNodeId:pe,graphVersion:re.current,viewMode:se.current,viewportX:Te.x,viewportY:Te.y}),B.scheduleRefresh();return}}const fe=qo(B,ae);if(!fe){X<3?(ye("camera-selection-display-bounds-deferred",{nodeId:H,graphVersion:re.current,attempt:X+1,viewMode:se.current,contextCount:ae.length}),xe.current!==null&&window.cancelAnimationFrame(xe.current),xe.current=window.requestAnimationFrame(()=>{xe.current=null,M(H,X+1)})):ye("camera-selection-display-bounds-fallback-fit",{nodeId:H,graphVersion:re.current,viewMode:se.current,contextCount:ae.length});return}const Oe=B.getCamera(),ze=Oe.getState(),He={x:(fe.minX+fe.maxX)/2,y:(fe.minY+fe.maxY)/2,ratio:ze.ratio,angle:ze.angle};ye("camera-selection-gentle-center",{nodeId:H,contextCount:fe.count,boundsSource:"displayed-selection-context",minX:fe.minX,maxX:fe.maxX,minY:fe.minY,maxY:fe.maxY,targetX:He.x,targetY:He.y,preservedRatio:He.ratio}),Oe.animate(He,{duration:E.motion.cameraMs,easing:"quadraticOut"})},[]),Ft=A.useCallback(M=>{const H=U.current;if(!H)return;const X=O.current,B=Ca(X,le.current,M);if(B.length===0){ye("camera-grouped-selection-missing-node",{nodeId:M,graphVersion:re.current,viewMode:se.current});return}const oe=qo(H,B);if(!oe){ye("camera-grouped-selection-display-bounds-missing",{nodeId:M,graphVersion:re.current,viewMode:se.current,contextCount:B.length});return}const ae=H.getCamera(),pe=ae.getState(),Y={x:(oe.minX+oe.maxX)/2,y:(oe.minY+oe.maxY)/2,ratio:pe.ratio,angle:pe.angle};ye("camera-grouped-selection-center",{nodeId:M,graphVersion:re.current,viewMode:se.current,contextCount:oe.count,targetX:Y.x,targetY:Y.y,preservedRatio:Y.ratio}),ae.animate(Y,{duration:E.motion.cameraMs,easing:"quadraticOut"})},[]),Se=A.useCallback(M=>{const H=U.current;if(!H)return;if(se.current==="focused"&&!!ce.current&&j.hasNode(ce.current)){const B=Ia(H,O.current),oe=B?Da(B,B,{paddingRatio:.14,minSpanRatio:.08,minSpanFloor:.02}):null;At("fit-focused-graph",oe,{nodeId:M,focusedCount:B?.count??0,focusedMinX:B?.minX??null,focusedMaxX:B?.maxX??null,focusedMinY:B?.minY??null,focusedMaxY:B?.maxY??null});return}Ht(M)},[At,Ht]),Tt=A.useCallback(()=>{ir()},[ir]),kt=A.useCallback(M=>{const H=P.current;H&&Cu(de,H,M)},[de]),ft=A.useCallback(M=>{const H=M??U.current;if(!H)return null;const X={sigma:H,graph:j,displayGraph:O.current,getInteractionState:()=>De.current,setHoveredNodeId:Je,onNodeSelectionChange:B=>Ce.current(B),onEdgeSelectionChange:B=>_e.current?.(B),focusNodeInView:Se,centerSelectionInView:Ht,centerGroupedSelectionInView:Ft,fitCurrentView:Tt,dispatchAction:kt};return P.current=X,X},[Ft,Ht,kt,Tt,Se]),mt=A.useCallback((M,...H)=>{const X=ft();if(X)for(const B of de){const oe=B[M];typeof oe=="function"&&oe(X,...H)}},[de,ft]);A.useImperativeHandle(L,()=>({fitView:()=>kt({type:"fitView"}),focusNode:M=>kt({type:"focusNode",nodeId:M}),zoomIn:()=>{const M=U.current;M&&(ye("camera-zoom-in",{graphVersion:re.current,ratioBefore:M.getCamera().getState().ratio}),M.getCamera().animatedZoom({duration:E.motion.cameraMs}))},zoomOut:()=>{const M=U.current;M&&(ye("camera-zoom-out",{graphVersion:re.current,ratioBefore:M.getCamera().getState().ratio}),M.getCamera().animatedUnzoom({duration:E.motion.cameraMs}))},requestRender:()=>U.current?.scheduleRefresh(),getCameraState:()=>{const M=U.current;if(!M)return null;const H=M.getCamera().getState();return{x:H.x,y:H.y,ratio:H.ratio}}}),[kt]);const $t=A.useCallback(M=>{const X=M.getCamera().getState(),B={x:X.x,y:X.y,ratio:X.ratio},oe=Ji(B.ratio);pt(ae=>ae===oe?ae:oe),Me.current?.(B),mt("onCameraChange",B),ye("camera-updated",{graphVersion:re.current,ratio:B.ratio})},[mt]);A.useEffect(()=>{if(!o||U.current||!G.current)return;const M=new Zi(O.current,G.current,{...hu,renderEdgeLabels:we.current.edgeLabelsEnabled});U.current=M,it.current=re.current;const H=M.getCamera(),X={renderer:"sigma",scene:M,graph:j,displayGraph:O.current,graphVersion:re.current,layoutMode:J.current.layoutMode,requestRender:()=>M.scheduleRefresh(),getCameraState:()=>{const Y=H.getState();return{x:Y.x,y:Y.y,ratio:Y.ratio}}};z.current=X,be.current?.(X),ye("sigma-created",{graphVersion:re.current,layoutMode:J.current.layoutMode,order:O.current.order,size:O.current.size});const B=ft(M);if(B)for(const Y of de)Y.attach(B);const oe=()=>{G.current&&G.current.offsetWidth>0&&M.scheduleRefresh()},ae=new ResizeObserver(oe);ae.observe(G.current),te.current=ae;const pe=()=>$t(M);Q.current=pe,H.on("updated",pe),M.on("clickNode",({node:Y})=>mt("onNodeClick",Y)),M.on("clickEdge",({edge:Y})=>{const fe=O.current,[Oe,ze]=fe.extremities(Y),He=String(Y),Te=fe.getEdgeAttributes(Y);ga(fe,De.current,He,Oe,ze,Te)&&mt("onEdgeClick",He)}),M.on("clickStage",()=>mt("onStageClick")),M.on("enterNode",({node:Y})=>mt("onNodeEnter",Y)),M.on("leaveNode",({node:Y})=>mt("onNodeLeave",Y)),M.on("enterEdge",({edge:Y})=>{const fe=G.current;if(!fe)return;const Oe=O.current,[ze,He]=Oe.extremities(Y),Te=String(Y),Ye=Oe.getEdgeAttributes(Y);fe.style.cursor=ga(Oe,De.current,Te,ze,He,Ye)?"pointer":""}),M.on("leaveEdge",()=>{G.current&&(G.current.style.cursor="")});try{const Y=M.createCanvas("structure",{beforeLayer:"nodes",afterLayer:"edges",style:{pointerEvents:"none"}});q.current=Y}catch(Y){ye("structure-layer-create-failed",{error:Y instanceof Error?Y.message:String(Y)}),q.current=null}requestAnimationFrame(()=>{$t(M)})},[de,mt,ft,o,$t]),A.useEffect(()=>{const M=U.current;M&&(M.setSetting("renderEdgeLabels",m.edgeLabelsEnabled),M.scheduleRefresh())},[m.edgeLabelsEnabled]),A.useEffect(()=>()=>{const M=U.current,H=P.current;if(H)for(const X of de)X.detach(H);if(G.current&&(G.current.style.cursor=""),te.current?.disconnect(),te.current=null,M&&Q.current&&M.getCamera().off("updated",Q.current),Q.current=null,M){if(ye("sigma-killed",{graphVersion:re.current}),q.current)try{M.killLayer("structure")}catch{}q.current=null,M.kill()}xe.current!==null&&(window.cancelAnimationFrame(xe.current),xe.current=null),z.current=null,P.current=null,U.current=null,be.current?.(null)},[de]),A.useEffect(()=>{const M=U.current;!o||!M||it.current===e&&M.getGraph()===r||(ye("sigma-set-graph",{graphVersion:e,displayFitViewMode:Le.viewMode,displayFitLayoutMode:Le.layoutMode,layoutMode:a.layoutMode,order:r.order,size:r.size}),xe.current!==null&&(window.cancelAnimationFrame(xe.current),xe.current=null),Ke.current.missingEdges.clear(),Ke.current.missingNodes.clear(),M.setCustomBBox(null),M.setGraph(r),it.current=e,tt.current=null,je.current=null,Ue.current=void 0,P.current=ft(M),z.current&&(z.current.displayGraph=r,z.current.graphVersion=e,z.current.layoutMode=a.layoutMode),M.scheduleRefresh())},[Le.layoutMode,Le.viewMode,r,a.layoutMode,ft,o,e]),A.useEffect(()=>{const M=U.current;if(!o||!M||gu(tt.current,Le))return;const H=window.requestAnimationFrame(()=>{if(!(!U.current||re.current!==e||O.current!==Le.displayGraph||se.current!==Le.viewMode||J.current.layoutMode!==Le.layoutMode)){if(tt.current=Le,ye("display-fit-signature-applied",{graphVersion:Le.graphVersion,viewMode:Le.viewMode,layoutMode:Le.layoutMode,order:Le.displayGraph.order,size:Le.displayGraph.size}),ue.current&&se.current==="focused"){ye("initial-focused-fit",{graphVersion:e,nodeId:ue.current}),Se(ue.current);return}ye("initial-fit-view",{graphVersion:e,selectedNodeId:ce.current||null,viewMode:se.current}),kt({type:"fitView"})}});return()=>{window.cancelAnimationFrame(H)}},[Ht,kt,Le,Se,o,e]),A.useEffect(()=>{const M=ft();if(M){for(const H of de)H.onStateChange?.(M,ie);for(const H of de)H.apply?.(M,ie);I?.(ie)}},[de,ft,ie,I]),A.useEffect(()=>{const M=U.current,H=G.current;if(!M||!H){et(null),_?.(null);return}const X=Sa(M,r,H.clientWidth,H.clientHeight).map(oe=>oe.nodeId),B=Sl({graphRef:r,interactionState:ie,base:st,visibleNodeIds:X});et(B),_?.(B)},[st,r,ie,_]),A.useEffect(()=>{if(!D)return;const M=U.current,H=G.current,X=_a(ie,m,f,We,y,M,H?.clientWidth??0,H?.clientHeight??0);D({effectAvailability:X,edgeClasses:Ge,structureLayer:ee.current??Ot,distanceVisual:ge.current}),m.diagnosticsEnabled&&console.debug("[Edge Truth]",Ge)},[We,Ge,m,ie,y,D,Ot,f,b]),A.useEffect(()=>{je.current=null,Ue.current=void 0},[r]),A.useEffect(()=>{const M=U.current;if(!M)return;const H=je.current,B=!(Ue.current!==b)&&H?Kl(r,H,ie):void 0;ku(M,jt,Ke,B),je.current=ie,Ue.current=b},[r,b,ie,jt]);const Cr=A.useCallback(()=>{const M=U.current,H=q.current,X=W.current,B=Aa({gate:Et,cache:X,minimumCurves:E.edges.fullGraphStructureLayer.minimumCurves,canvasAvailable:!!H,lastDrawAt:F.current});if(ee.current=B,!M||!H||!B.enabled||!X){ka(H);return}cu({sigma:M,canvas:H,cache:X})&&(F.current=Date.now(),ee.current={...B,lastDrawAt:F.current})},[Et]);A.useEffect(()=>{const M=U.current;if(!o||!M)return;const H=()=>Cr();return M.on("afterRender",H),H(),()=>{M.off("afterRender",H)}},[Cr,o,ot]),A.useEffect(()=>{(y||v!=="full")&&ka(q.current)},[y,v]);const sr=A.useCallback(()=>{const M=U.current,H=V.current,X=G.current;if(!M||!H||!X)return!1;const B=X.getBoundingClientRect(),oe=window.devicePixelRatio||1;(H.width!==Math.floor(B.width*oe)||H.height!==Math.floor(B.height*oe))&&(H.width=Math.floor(B.width*oe),H.height=Math.floor(B.height*oe),H.style.width=`${B.width}px`,H.style.height=`${B.height}px`);const ae=H.getContext("2d");if(!ae)return!1;ae.setTransform(oe,0,0,oe,0,0),ae.clearRect(0,0,B.width,B.height);const pe=ie.hoveredNodeId||ie.selectedNodeId,Y=pe?r.hasNode(pe)?kr(r,pe):new Set:new Set,fe=ln(r,ie.selectedEdgeId),Oe=new Set(ie.activePath),ze=gi(M,ie.activePath,ie.activePathEdgeIds,ie.zoomTier,B.width,B.height),He=Sa(M,r,B.width,B.height),Te=_a(ie,m,f,We,y,M,B.width,B.height),Ye=M.getCamera().getState().ratio,ao=new Set([...Y,...fe,...Oe,...pe?[pe]:[]]),Dr=new Set;pe&&jt.current.highlightedIncidentEdgeIds.forEach(gt=>{if(!r.hasEdge(gt))return;const[St,qt]=r.extremities(gt),Kt=String(St)===pe?String(qt):String(St);r.hasNode(Kt)&&Dr.add(Kt)});const io=performance.now()/1e3;return y||(Dc(ae,We,He,ie,m),Ic(ae,We,He,ie,m),Gc(ae,He,f,ie,m)),ao.forEach(gt=>{const St=M.getNodeDisplayData(gt);if(!St)return;if(!r.hasNode(gt)){ye("overlay-node-missing-from-display-graph",{nodeId:gt,graphVersion:re.current,viewMode:se.current});return}const qt=r.getNodeAttributes(gt),Kt=ni(gt,ie.zoomTier,ie.hoveredNodeId,ie.selectedNodeId,ie.selectedEdgeId,Y,fe,Oe),Ee=qr(E,ie.zoomTier,Kt,qt,qt.label,Ye),me=M.graphToViewport({x:St.x,y:St.y});if(Ee.showHalo){const lr=Math.max(St.size*E.overlays.glowRadiusMultiplier*(Ee.nodeVariant==="selected"?1.08:1),E.overlays.minGlowRadius);bi(ae,me.x,me.y,lr,K(Ee.haloColor,gt===pe?E.overlays.hoverGlowAlpha:E.overlays.pathGlowAlpha))}Ee.showBadge&&Ee.badgeKind&&yu(ae,me.x,me.y,St.size,Ee.badgeKind,Ee.badgeCount)}),!y&&pe&&Te.lens.available&&Lc(ae,M,pe,Dr),Pc(ae,ze,m,Te,io),Te.pathPulse.available||Te.pathFlow.available},[We,r,m,ie,y,f]);A.useEffect(()=>{const M=U.current,H=G.current;if(!o||!M||!H)return;let X=0,B=!1;const oe=()=>{if(B)return;sr()&&(X=window.requestAnimationFrame(oe))},ae=()=>{X===0&&sr()},pe=M.getCamera(),Y=new ResizeObserver(ae);return Y.observe(H),pe.on("updated",ae),oe(),()=>{B=!0,Y.disconnect(),pe.off("updated",ae),X!==0&&window.cancelAnimationFrame(X)}},[sr,o]),A.useEffect(()=>{const M=U.current,H=a.layoutMode==="owned"?r:j,X=a.layoutMode==="owned"&&v==="grouped",B=a.layoutMode==="owned"?`display:${e}:${v}`:`store:${a.layoutMode}`,oe=T.current?.__targetKey;if(!y){T.current?.stop(),ve.current!==null&&(window.clearTimeout(ve.current),ve.current=null),he.current!==null&&(window.clearTimeout(he.current),he.current=null),Ie.current!==null&&(window.cancelAnimationFrame(Ie.current),Ie.current=null);return}if(!T.current||oe!==B){T.current?.kill();const ae=new Qi(H,X?pu:uu);ae.__targetKey=B,T.current=ae,ye("layout-target-changed",{graphVersion:e,layoutMode:a.layoutMode,target:a.layoutMode==="owned"?"display-owned":a.layoutMode==="base"?"base":"store-for-mirror",order:H.order,size:H.size})}if(T.current.start(),he.current!==null&&(window.clearTimeout(he.current),he.current=null),ve.current!==null&&(window.clearTimeout(ve.current),ve.current=null),X?he.current=window.setTimeout(()=>{T.current?.stop(),he.current=null,h?.(!1),ye("grouped-layout-auto-settled",{graphVersion:re.current,viewMode:se.current,order:O.current.order,size:O.current.size})},E.grouped.layout.settleMs):ve.current=window.setTimeout(()=>{T.current?.stop(),ve.current=null,h?.(!1),ye("full-layout-auto-settled",{graphVersion:re.current,viewMode:se.current,layoutMode:J.current.layoutMode,order:O.current.order,size:O.current.size})},du),a.layoutMode==="mirrored"&&M){let ae=!1;const pe=()=>{if(ae||!U.current||!y)return;const Y=fu(O.current,j);Y>0&&(U.current.scheduleRefresh(),qe.current+=1,(qe.current===1||qe.current%30===0)&&ye("layout-mirror-sync",{graphVersion:re.current,changedNodes:Y,tick:qe.current})),Ie.current=window.requestAnimationFrame(pe)};return qe.current=0,Ie.current=window.requestAnimationFrame(pe),()=>{ae=!0,ve.current!==null&&(window.clearTimeout(ve.current),ve.current=null),he.current!==null&&(window.clearTimeout(he.current),he.current=null),Ie.current!==null&&(window.cancelAnimationFrame(Ie.current),Ie.current=null),T.current?.stop()}}return()=>{ve.current!==null&&(window.clearTimeout(ve.current),ve.current=null),he.current!==null&&(window.clearTimeout(he.current),he.current=null),T.current?.stop()}},[r,a.layoutMode,e,y,v]),A.useEffect(()=>()=>{ve.current!==null&&(window.clearTimeout(ve.current),ve.current=null),he.current!==null&&(window.clearTimeout(he.current),he.current=null),Ie.current!==null&&(window.cancelAnimationFrame(Ie.current),Ie.current=null),T.current?.kill(),T.current=null},[]);const Ir=A.useCallback(()=>{Tt()},[Tt]);return N.jsxDEV("div",{style:{position:"relative",width:"100%",height:"100%"},children:[N.jsxDEV("div",{ref:G,className:x,style:{width:"100%",height:"100%",background:"transparent"}},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphCanvas.tsx",lineNumber:2056,columnNumber:9},this),N.jsxDEV("canvas",{ref:V,style:{position:"absolute",inset:0,width:"100%",height:"100%",pointerEvents:"none",zIndex:4}},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphCanvas.tsx",lineNumber:2061,columnNumber:9},this),w.length?N.jsxDEV("div",{style:{position:"absolute",inset:0,pointerEvents:"none",zIndex:6},children:w.map((M,H)=>N.jsxDEV("div",{style:{position:"absolute",inset:0},children:M},`graph-plugin-overlay-${H}`,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphCanvas.tsx",lineNumber:2075,columnNumber:55},this))},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphCanvas.tsx",lineNumber:2069,columnNumber:34},this):null,g?N.jsxDEV("button",{id:"graph-fit-view-btn",onClick:Ir,style:{position:"absolute",bottom:24,left:24,padding:"8px 16px",background:"linear-gradient(135deg, rgba(27, 79, 170, 0.9), rgba(53, 123, 255, 0.84))",color:"#fff",border:`1px solid ${E.palette.background.shellBorder}`,borderRadius:10,cursor:"pointer",fontWeight:700,zIndex:10,backdropFilter:"blur(10px)",boxShadow:`0 10px 28px ${E.palette.background.shellGlow}`,fontSize:12,letterSpacing:"0.01em"},children:"Fit View"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphCanvas.tsx",lineNumber:2082,columnNumber:30},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphCanvas.tsx",lineNumber:2051,columnNumber:10},this)}),Du=A.forwardRef(function(e,o){const r=Xe.c(26);if(r[0]!=="34a2ed6bef1a7df66f98f7869ae3852e0da6b39ceb93661a7314cab99b13149d"){for(let g=0;g<26;g+=1)r[g]=Symbol.for("react.memo_cache_sentinel");r[0]="34a2ed6bef1a7df66f98f7869ae3852e0da6b39ceb93661a7314cab99b13149d"}let a,n,s,i,l,u,d,c,p;r[1]!==e?({onNodeSelect:d,onEdgeSelect:i,onInteractionStateChange:l,onCameraStateChange:n,onDiagnosticsChange:s,onAnalyticsChange:a,onRuntimeChange:c,onLayoutRunningChange:u,...p}=e,r[1]=e,r[2]=a,r[3]=n,r[4]=s,r[5]=i,r[6]=l,r[7]=u,r[8]=d,r[9]=c,r[10]=p):(a=r[2],n=r[3],s=r[4],i=r[5],l=r[6],u=r[7],d=r[8],c=r[9],p=r[10]);const b=A.useRef(null),m=A.useRef(null);let f,y;r[11]!==u?(f=()=>({fitView:()=>b.current?.fitView(),focusNode:g=>b.current?.focusNode(g),zoomIn:()=>b.current?.zoomIn(),zoomOut:()=>b.current?.zoomOut(),getRuntime:()=>m.current,setLayoutRunning:u?g=>{u(g)}:void 0}),y=[u],r[11]=u,r[12]=f,r[13]=y):(f=r[12],y=r[13]),A.useImperativeHandle(o,f,y);const h=d??_u;let v;r[14]!==c?(v=g=>{m.current=g,c?.(g)},r[14]=c,r[15]=v):v=r[15];let x;return r[16]!==a||r[17]!==n||r[18]!==s||r[19]!==i||r[20]!==l||r[21]!==u||r[22]!==p||r[23]!==h||r[24]!==v?(x=N.jsxDEV(Iu,{ref:b,onNodeClick:h,onEdgeClick:i,onInteractionStateChange:l,onCameraStateChange:n,onDiagnosticsChange:s,onAnalyticsChange:a,onSceneRuntimeChange:v,onLayoutRunningChange:u,...p},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/SigmaSceneAdapter.tsx",lineNumber:93,columnNumber:10},this),r[16]=a,r[17]=n,r[18]=s,r[19]=i,r[20]=l,r[21]=u,r[22]=p,r[23]=h,r[24]=v,r[25]=x):x=r[25],x});function _u(){}const Sr=["bootstrapping","fetching_nodes","fetching_edges","computing_styling","hydrating_scene","stabilizing_layout"];function yi(t){switch(t){case"bootstrapping":return"Preparing graph session";case"fetching_nodes":return"Loading nodes";case"fetching_edges":return"Loading relationships";case"computing_styling":return"Computing node styling";case"hydrating_scene":return"Hydrating graph scene";case"stabilizing_layout":return"Stabilizing layout";default:return"Graph ready"}}function Gu(t){switch(t){case"bootstrapping":return"Prepare";case"fetching_nodes":return"Nodes";case"fetching_edges":return"Relations";case"computing_styling":return"Styling";case"hydrating_scene":return"Scene";case"stabilizing_layout":return"Layout";default:return"Stage"}}function Mt(t){const e=Sr.indexOf(t.phase);return{phase:t.phase,title:yi(t.phase),message:t.message,progressKind:t.progressKind,loaded:t.loaded??null,total:t.total??null,nodesLoaded:t.nodesLoaded??0,nodesTotal:t.nodesTotal??null,edgesLoaded:t.edgesLoaded??0,edgesTotal:t.edgesTotal??null,showGraphBehind:t.showGraphBehind??!1,stageIndex:e>=0?e+1:Sr.length,stageCount:Sr.length,layoutSource:t.layoutSource,layoutState:t.layoutState}}const Yo=48,vi=.92,Ho=78,Ga=48;function Lu(t,e){return t>0&&t<=Yo&&e<vi}function Pu(t,e){const o=e>=vi,r=Lu(t,e);return{useProvidedCoordinates:o,useSmallGraphLayout:r,layoutReady:o||r}}function Mu(t,e,o){return t.useProvidedCoordinates?{x:e.x??0,y:e.y??0}:t.useSmallGraphLayout?{x:o?.x??0,y:o?.y??0}:{x:e.x??o?.x??0,y:e.y??o?.y??0}}function Ru(t,e){const o=[...new Set(t)].sort((c,p)=>c.localeCompare(p)),r=new Map(o.map(c=>[c,new Set]));e.forEach(({source:c,target:p})=>{!r.has(c)||!r.has(p)||c===p||(r.get(c)?.add(p),r.get(p)?.add(c))});const a=new Set,n=[];o.forEach(c=>{if(a.has(c))return;const p=[],b=[c];for(a.add(c);b.length>0;){const m=b.shift();m&&(p.push(m),[...r.get(m)??[]].sort((f,y)=>f.localeCompare(y)).forEach(f=>{a.has(f)||(a.add(f),b.push(f))}))}p.sort((m,f)=>(r.get(f)?.size??0)-(r.get(m)?.size??0)||m.localeCompare(f)),n.push(p)}),n.sort((c,p)=>p.length-c.length||c[0].localeCompare(p[0]));const s=Math.max(1,Math.ceil(Math.sqrt(n.length))),i=Math.max(1,Math.ceil(n.length/s)),l=Ho*2+Ga,u=Ho*2+Ga,d=new Map;return n.forEach((c,p)=>{const b=p%s,m=Math.floor(p/s),f=(b-(s-1)/2)*l,y=(m-(i-1)/2)*u;if(c.length===1){d.set(c[0],{x:f,y});return}const h=Math.min(Ho,30+c.length*9);c.forEach((v,x)=>{const g=-Math.PI/2+x*Math.PI*2/c.length;d.set(v,{x:f+Math.cos(g)*h,y:y+Math.sin(g)*h})})}),d}const ju=["community","cluster","module","group","category","domain","layer","source","nodeType"],Hu=["source","source_url","pmid","pmids","evidence","provenance","confidence"];function La(t,e){if(e==="nodeType"){const r=t.nodeType;return typeof r=="string"&&r.trim()?r:null}const o=t.properties?.[e];return typeof o=="string"&&o.trim()?o:null}function Tu(t,e){if(t.length<=1||e<=0)return 0;let o=0;for(const r of t){const a=r/e;o-=a*Math.log(a)}return o/Math.log(t.length)}function Wu(t){let e=null,o=0;for(const r of ju){const a=new Map;let n=0;for(const m of t){const f=La(m.attributes,r);f&&(n+=1,a.set(f,(a.get(f)??0)+1))}const s=a.size;if(n===0||s<=1)continue;const i=[...a.values()],l=n/t.length,u=Math.max(...i)/n,d=Tu(i,n),c=Math.min(s,E.palette.semantic.length)/E.palette.semantic.length,p=d*.65+c*.2+l*.15;l>=.45&&d>=.45&&u<=.88&&p>o&&(e=r,o=p)}return e?(r,a)=>La(a,e)??Xo(r,a):(r,a)=>Xo(r,a)}function Xo(t,e){const o=Rt(t)%E.palette.semantic.length;return`${e.nodeType||"entity"}:${o}`}function Qr(t){const e=Number(t);return Number.isFinite(e)?e:null}function To(t){return Rt(t)%1e4/1e4}function zu(t){const e=new Map;t.forEach(n=>{const s=e.get(n.semanticGroup);s?s.push({id:n.id,priority:n.priority}):e.set(n.semanticGroup,[{id:n.id,priority:n.priority}])});const o=[...e.entries()].sort((n,s)=>{const i=s[1].length-n[1].length;return i!==0?i:n[0].localeCompare(s[0])}),r=new Map;o.forEach(([n,s],i)=>{const l=i*2.399963229728653,u=170+Math.sqrt(i+1)*195,d=72+Math.sqrt(s.length)*16;r.set(n,{x:Math.cos(l)*u*1.14,y:Math.sin(l)*u*.84,spread:d})});const a=new Map;return o.forEach(([n,s])=>{const i=r.get(n);i&&s.sort((l,u)=>u.priority!==l.priority?u.priority-l.priority:l.id.localeCompare(u.id)).forEach((l,u)=>{const d=u*2.399963229728653+To(`${n}:${l.id}:angle`)*.72,c=Math.sqrt((u+.5)/Math.max(s.length,1))*i.spread,p=(To(`${l.id}:jx`)-.5)*i.spread*.22,b=(To(`${l.id}:jy`)-.5)*i.spread*.18;a.set(l.id,{x:i.x+Math.cos(d)*c+p,y:i.y+Math.sin(d)*c*.86+b})})}),a}function Vu(t){return Hu.reduce((e,o)=>t[o]!==void 0&&t[o]!==null?e+1:e,0)}function Uu(t,e){return qa(t.nodeType,e,t.content,t.properties)}function Bu(t,e,o,r){let a="default",n,s;o?(a="temporal",n="temporal"):r>0&&(a="provenance",n="provenance",s=r);let i="none";return e>=.86?i="always":n?i="local":e>=.56&&(i="priority"),{nodeVariant:a,nodeShapeVariant:a,badgeKind:n,badgeCount:s,ringColor:E.nodes.selectedRing.color,haloColor:K(t,.38),labelVisibilityPolicy:i}}function Ou(t,e,o,r){const a=ut(.12,.18+Math.log(Math.max(Number(t.weight)||1,1))/Math.log(12),1);let n="line";return r?n="bidirectionalCurve":Math.max(e,o,a)>=.58&&(n="directional"),{edgeVariant:n,arrowVisibilityPolicy:n==="line"?"hidden":"contextual",relationshipStrength:a,isParallelPair:!1,parallelIndex:0,parallelCount:1}}const xi=1e3;async function Si(t){try{const o=(await t.json())?.detail;if(typeof o=="string"&&o.trim())return` — ${o.trim()}`}catch{}return""}async function Fu(t,e){let o=null;const r=[];let a=null;for(;;){const n=new URL("/api/graph/nodes",window.location.origin);n.searchParams.set("limit",String(xi)),o&&n.searchParams.set("cursor",o);const s=await fetch(n.toString(),{signal:t});if(!s.ok)throw new Error(`Fetch failed: ${s.status}${await Si(s)}`);const i=await s.json();if(!i.nodes?.length||(a=i.total??a,r.push(...i.nodes),e?.(Mt({phase:"fetching_nodes",progressKind:a?"determinate":"indeterminate",loaded:r.length,total:a,nodesLoaded:r.length,nodesTotal:a,edgesLoaded:0,edgesTotal:null,message:a?`Loading nodes ${r.length.toLocaleString()} of ${a.toLocaleString()}`:`Loading nodes ${r.length.toLocaleString()}`})),!i.next_cursor))break;o=i.next_cursor,await wi()}return r}async function $u(t,e,o,r){let a=null;const n=[],s=new Set;let i=null,l=!1;for(;;){const u=new URL("/api/graph/edges",window.location.origin);u.searchParams.set("limit",String(xi)),a&&u.searchParams.set("cursor",a);const d=await fetch(u.toString(),{signal:t});if(!d.ok)throw new Error(`Fetch failed: ${d.status}${await Si(d)}`);const c=await d.json();if(!c.edges?.length)break;i=c.total??i;const p=c.edges.filter(m=>!e.has(m.source)||!e.has(m.target)||s.has(m.id)?!1:(s.add(m.id),!0));n.push(...p);const b=i?Math.min(s.size,i):s.size;if(!l&&i!==null&&s.size>i&&(l=!0,console.warn("[graph-load] edge pagination returned more unique edge ids than total",{uniqueEdgesLoaded:s.size,total:i})),r?.(Mt({phase:"fetching_edges",progressKind:i?"determinate":"indeterminate",loaded:b,total:i,nodesLoaded:o.loaded,nodesTotal:o.total,edgesLoaded:b,edgesTotal:i,message:i?`Loading edges ${b.toLocaleString()} of ${i.toLocaleString()}`:`Loading edges ${b.toLocaleString()}`})),!c.next_cursor)break;a=c.next_cursor,await wi()}return n}function wi(){return"scheduler"in window&&typeof window.scheduler?.yield=="function"?window.scheduler.yield():new Promise(t=>setTimeout(t,0))}function qu(t){const e=Xe.c(10);if(e[0]!=="48a72dfcbbe2d3d5c2ef8e2960fbf52341bd3ec919fe84ab9e9025aeb73a2f82"){for(let c=0;c<10;c+=1)e[c]=Symbol.for("react.memo_cache_sentinel");e[0]="48a72dfcbbe2d3d5c2ef8e2960fbf52341bd3ec919fe84ab9e9025aeb73a2f82"}let o;e[1]!==t?(o=t===void 0?{}:t,e[1]=t,e[2]=o):o=e[2];const r=o,{enabled:a,onGraphReady:n,onProgress:s}=r,i=a===void 0?!0:a;let l;e[3]===Symbol.for("react.memo_cache_sentinel")?(l=["graph","full-load"],e[3]=l):l=e[3];let u;e[4]!==n||e[5]!==s?(u=async c=>{const{signal:p}=c,b=performance.now();s?.(Mt({phase:"bootstrapping",progressKind:"indeterminate",nodesLoaded:0,nodesTotal:null,edgesLoaded:0,edgesTotal:null,message:"Preparing graph session"}));const m=await Fu(p,s),f=new Set(m.map(Qu)),y=await $u(p,f,{loaded:m.length,total:m.length},s),h=new Map;for(const P of f)h.set(P,0);for(const P of y)h.set(P.source,(h.get(P.source)??0)+1),h.set(P.target,(h.get(P.target)??0)+1);const v=Math.max(...h.values(),1),x=m.map(Zu);s?.(Mt({phase:"computing_styling",progressKind:"indeterminate",nodesLoaded:m.length,nodesTotal:m.length,edgesLoaded:y.length,edgesTotal:y.length,message:"Applying semantic color, sizing, and structural styling"}));const g=Wu(x),w=new Map;for(const P of f){const z=h.get(P)??0,te=Math.log(z+1)/Math.log(v+1);w.set(P,te)}const C=new Map;x.forEach(P=>{const{id:z,attributes:te}=P;C.set(z,g(z,te))});const I=m.reduce(Xu,0),k=m.length>0?I/m.length:0,{useProvidedCoordinates:D,useSmallGraphLayout:_,layoutReady:L}=Pu(m.length,k),G=D?null:_?Ru(m.map(Yu),y):zu(x.map(P=>{const{id:z,attributes:te}=P;return{id:z,semanticGroup:C.get(z)??Xo(z,te),priority:w.get(z)??0}})),V=x.map(P=>{const{id:z,attributes:te}=P,Q=C.get(z)??g(z,te),O=Rt(Q)%E.palette.semantic.length,le=E.palette.semantic[O],J=w.get(z)??0,re=_?ut(5.2,5.2+6.6*J,11.8):ut(1.8,1.8+8.8*J,11.8),ce=!!(te.valid_from||te.valid_until),ue=Vu(te.properties??{}),ge=te.properties,se=Uu(te,Q),Ce=Qr(ge?.x),_e=Qr(ge?.y),be=G?.get(z),{x:Me,y:we}=Mu({useProvidedCoordinates:D,useSmallGraphLayout:_},{x:Ce,y:_e},be);return{id:z,attributes:{...te,x:Me,y:we,semanticGroup:Q,color:le,baseColor:le,mutedColor:K(le,E.nodes.mutedAlpha),glowColor:K(le,.24),size:re,baseSize:re,visualPriority:J,labelPriority:J,strokeColor:Rn(le,112),borderColor:Rn(le,112),borderSize:.72,entityShape:se,...Bu(le,J,ce,ue),..._?{labelVisibilityPolicy:"always"}:{}}}}),q=new Set(y.map(Ku)),W=new Map,F=new Map;y.forEach(P=>{const z=br(P.source,P.target);W.set(z,(W.get(z)??0)+1),F.set(P.familyId,(F.get(P.familyId)??0)+1)});const ee=new Map,U=y.map(P=>{const z=w.get(P.source)??0,te=w.get(P.target)??0,Q=q.has(br(P.target,P.source)),O=br(P.source,P.target),le=ee.get(O)??0;ee.set(O,le+1);const J=W.get(O)??1,re=ut(0,Math.log1p(Math.max(Number(P.weight)||1,1))/6,1),ce=ut(0,Math.sqrt(Math.max(z,0)*Math.max(te,0))*.72+re*.28,1);return{id:P.id,familyId:P.familyId,source:P.source,target:P.target,attributes:{edgeId:P.id,familyId:P.familyId,sourceId:P.source,targetId:P.target,weight:P.weight,edgeType:P.type,properties:P.properties,size:ut(.18,.22+Math.sqrt(Math.max(Number(P.weight)||1,1))*.2,.88),baseSize:ut(.18,.22+Math.sqrt(Math.max(Number(P.weight)||1,1))*.2,.88),color:E.palette.muted.edgeStructure,baseColor:E.palette.muted.edgeStructure,mutedColor:E.palette.muted.edgeOverview,visualPriority:ce,isBidirectional:Q,edgeFamily:Q?"bidirectional":"line",curveGroup:Jo(P.source,P.target),type:"line",isParallelPair:J>1,parallelIndex:le,parallelCount:J,familySize:F.get(P.familyId)??1,isSmallGraph:_,...Ou(P,z,te,Q)}}});s?.(Mt({phase:"hydrating_scene",progressKind:"indeterminate",nodesLoaded:V.length,nodesTotal:V.length,edgesLoaded:U.length,edgesTotal:U.length,message:"Preparing renderer and hydrating graph scene"}));try{ws()}catch(P){const z=P;throw console.error("[graph-load] clearGraph failed",z),z}try{Oa(V)}catch(P){const z=P;throw console.error("[graph-load] batchMergeNodes failed",z),z}try{Fa(U)}catch(P){const z=P;throw console.error("[graph-load] batchMergeEdges failed",z),z}const T={nodeCount:V.length,edgeCount:U.length,loadTimeMs:Math.round(performance.now()-b),hasCoordinates:D,layoutSource:D?"provided":"runtime",layoutReady:L};return s?.(Mt({phase:T.layoutReady?"ready":"stabilizing_layout",progressKind:"indeterminate",nodesLoaded:T.nodeCount,nodesTotal:T.nodeCount,edgesLoaded:T.edgeCount,edgesTotal:T.edgeCount,message:T.layoutReady?"Graph ready":"Settling runtime layout",showGraphBehind:!T.layoutReady,layoutSource:T.layoutSource,layoutState:T.layoutReady?"interactive":"bootstrapping"})),n?.(T),T},e[4]=n,e[5]=s,e[6]=u):u=e[6];let d;return e[7]!==i||e[8]!==u?(d={queryKey:l,enabled:i,staleTime:1/0,retry:0,queryFn:u},e[7]=i,e[8]=u,e[9]=d):d=e[9],$i(d)}function Ku(t){return br(t.source,t.target)}function Yu(t){return t.id}function Xu(t,e){const o=e.properties;return Qr(o?.x)!==null&&Qr(o?.y)!==null?t+1:t}function Zu(t){return{id:t.id,attributes:{label:t.content||t.id,x:0,y:0,nodeType:t.type,content:t.content,valid_from:t.valid_from,valid_until:t.valid_until,properties:t.properties}}}function Qu(t){return t.id}function Ju(){const t=Xe.c(3);if(t[0]!=="48a72dfcbbe2d3d5c2ef8e2960fbf52341bd3ec919fe84ab9e9025aeb73a2f82"){for(let r=0;r<3;r+=1)t[r]=Symbol.for("react.memo_cache_sentinel");t[0]="48a72dfcbbe2d3d5c2ef8e2960fbf52341bd3ec919fe84ab9e9025aeb73a2f82"}const e=Fi();let o;return t[1]!==e?(o=()=>e.invalidateQueries({queryKey:["graph","full-load"]}),t[1]=e,t[2]=o):o=t[2],o}const Pa=`
416
+ `;class xr extends Xi{static ANGLE_1=0;static ANGLE_2=2*Math.PI/3;static ANGLE_3=4*Math.PI/3;drawLabel=fi;drawHover=mi;getDefinition(){return{VERTICES:3,VERTEX_SHADER_SOURCE:eu,FRAGMENT_SHADER_SOURCE:Jc,METHOD:WebGLRenderingContext.TRIANGLES,UNIFORMS:Qc,ATTRIBUTES:[{name:"a_position",size:2,type:WebGLRenderingContext.FLOAT},{name:"a_size",size:1,type:WebGLRenderingContext.FLOAT},{name:"a_bodyColor",size:4,type:WebGLRenderingContext.UNSIGNED_BYTE,normalized:!0},{name:"a_glyphColor",size:4,type:WebGLRenderingContext.UNSIGNED_BYTE,normalized:!0},{name:"a_outlineColor",size:4,type:WebGLRenderingContext.UNSIGNED_BYTE,normalized:!0},{name:"a_outlineSize",size:1,type:WebGLRenderingContext.FLOAT},{name:"a_glyphScale",size:1,type:WebGLRenderingContext.FLOAT},{name:"a_shapeKind",size:1,type:WebGLRenderingContext.FLOAT},{name:"a_aspectRatio",size:1,type:WebGLRenderingContext.FLOAT},{name:"a_id",size:4,type:WebGLRenderingContext.UNSIGNED_BYTE,normalized:!0}],CONSTANT_ATTRIBUTES:[{name:"a_angle",size:1,type:WebGLRenderingContext.FLOAT}],CONSTANT_DATA:[[xr.ANGLE_1],[xr.ANGLE_2],[xr.ANGLE_3]]}}processVisibleItem(e,o,r){const a=this.array,n=gn(r.ringSize,r.ringColor,r.borderColor,E.nodes.selectedRing.color),s=Math.max(r.ringSize||0,r.borderSize||.7);a[o++]=r.x,a[o++]=r.y,a[o++]=r.size,a[o++]=Or(r.color||E.palette.overview.nodeCore),a[o++]=Or(r.shellColor||K(E.palette.overview.nodeBase,.58)),a[o++]=Or(n),a[o++]=s,a[o++]=r.coreScale??.22,a[o++]=r.entityShapeKind??E.nodes.entityShapes[r.entityShape||"entity"].shapeKind,a[o++]=r.entityAspectRatio??E.nodes.entityShapes[r.entityShape||"entity"].aspectRatio,a[o++]=e}setUniforms(e,{gl:o,uniformLocations:r}){o.uniform1f(r.u_correctionRatio,e.correctionRatio),o.uniform1f(r.u_sizeRatio,e.sizeRatio),o.uniformMatrix3fv(r.u_matrix,!1,e.matrix)}}function gn(t,e,o,r){return typeof t=="number"&&t>0&&e?e:o||r}function Zr(t,e,o,r,a,n){const s=Math.max(0,Math.min(n,Math.min(r,a)/2));t.beginPath(),t.moveTo(e+s,o),t.lineTo(e+r-s,o),t.quadraticCurveTo(e+r,o,e+r,o+s),t.lineTo(e+r,o+a-s),t.quadraticCurveTo(e+r,o+a,e+r-s,o+a),t.lineTo(e+s,o+a),t.quadraticCurveTo(e,o+a,e,o+a-s),t.lineTo(e,o+s),t.quadraticCurveTo(e,o,e+s,o),t.closePath()}const fi=(t,e)=>{const o=e;if(!o.label)return;const r=E.labels.chip,a=Math.max(r.fontSize,Math.min(r.maxFontSize,o.size*r.sizeScale)),n=`${r.fontWeight} ${a}px ${r.fontFamily}`,s=r.paddingX,i=r.paddingY,l=gn(o.ringSize,o.ringColor,o.borderColor,r.borderColor);t.save(),t.font=n,t.textBaseline="middle";const d=t.measureText(o.label).width+s*2,c=a+i*2,p=o.x+Math.max(o.size*.7,r.offsetX),b=o.y-Math.max(o.size*.9,r.offsetY)-c;t.shadowColor=K(r.shadowColor,r.shadowAlpha),t.shadowBlur=r.shadowBlur,t.fillStyle=r.background,Zr(t,p,b,d,c,r.radius),t.fill(),t.shadowBlur=0,t.strokeStyle=K(l,r.borderAlpha),t.lineWidth=1,Zr(t,p,b,d,c,r.radius),t.stroke(),t.fillStyle=r.textColor,t.fillText(o.label,p+s,b+c/2),t.restore()},mi=(t,e)=>{const o=e;if(!o.label)return;const r=E.labels.hoverCard,a=gn(o.ringSize,o.ringColor,o.borderColor,r.borderColor),n=typeof o.nodeType=="string"&&o.nodeType.trim().length>0?o.nodeType.replaceAll("_"," ").toUpperCase():"NODE";t.save(),t.textBaseline="top";const s=`${r.titleWeight} ${r.titleSize}px ${r.fontFamily}`,i=`${r.metaWeight} ${r.metaSize}px ${r.fontFamily}`;t.font=s;const l=t.measureText(o.label).width;t.font=i;const u=t.measureText(n).width,d=Math.max(l,u)+r.paddingX*2,c=r.paddingY*2+r.titleSize+r.metaGap+r.metaSize,p=o.x+Math.max(o.size*.9,r.offsetX),b=o.y-Math.max(o.size*1.1,r.offsetY)-c;t.shadowColor=K(r.shadowColor,r.shadowAlpha),t.shadowBlur=r.shadowBlur,t.fillStyle=r.background,Zr(t,p,b,d,c,r.radius),t.fill(),t.shadowBlur=0,t.strokeStyle=K(a,r.borderAlpha),t.lineWidth=1.2,Zr(t,p,b,d,c,r.radius),t.stroke(),t.fillStyle=r.textColor,t.font=s,t.fillText(o.label,p+r.paddingX,b+r.paddingY),t.fillStyle=r.metaColor,t.font=i,t.fillText(n,p+r.paddingX,b+r.paddingY+r.titleSize+r.metaGap),t.restore()},tu={...Yi,circle:xr},ru={...Ki,curve:Xc,curvedArrow:Zc};function ou({mode:t,viewMode:e,isLayoutRunning:o,edgeDiagnostics:r,minimumLiteralEdges:a}){return t==="off"?{enabled:!1,disabledReason:"disabled"}:e!=="full"?{enabled:!1,disabledReason:"non-full-mode"}:o?{enabled:!1,disabledReason:"layout-running"}:t==="auto"&&(r?.counts.backbone??0)+(r?.counts.bridge??0)>=a?{enabled:!1,disabledReason:"enough-literal-edges"}:{enabled:!0,disabledReason:null}}function Ea(t){return Number.isFinite(Number(t.x))&&Number.isFinite(Number(t.y))}function nu(t){return Math.max(0,Math.min(1,Number(t.visualPriority??t.weight??0)))}function au(t,e){return(t==="bridge"?2:1)+e}function iu(t,e,o){const r=`${t}|${e}|${o}`;let a=0;for(let n=0;n<r.length;n+=1)a=a*31+r.charCodeAt(n)|0;return a%2===0?1:-1}function su({graphVersion:t,zoomTier:e,layoutSettledEpoch:o,overviewBackboneEdgeIds:r}){return[t,e,o,Array.from(r).sort().join(",")].join("|")}function lu({graphRef:t,cacheKey:e,classifyEdge:o,maxCurves:r,curveStrength:a}){const n=[];t.forEachEdge((i,l,u,d)=>{const c=String(i),p=o(c);if(p!=="bridge"&&p!=="backbone")return;const b=String(u),m=String(d);if(!t.hasNode(b)||!t.hasNode(m))return;const f=t.getNodeAttributes(b),y=t.getNodeAttributes(m);if(!Ea(f)||!Ea(y))return;const h=nu(l);n.push({edgeId:c,sourceId:b,targetId:m,source:{x:Number(f.x),y:Number(f.y)},target:{x:Number(y.x),y:Number(y.y)},edgeClass:p,priority:h,curvature:iu(b,m,c)*a,rank:au(p,h)})}),n.sort((i,l)=>l.rank!==i.rank?l.rank-i.rank:i.edgeId.localeCompare(l.edgeId));const s=n.slice(0,r).map(({rank:i,...l})=>l);return{cacheKey:e,curves:s,bridgeCurveCount:s.filter(i=>i.edgeClass==="bridge").length,backboneCurveCount:s.filter(i=>i.edgeClass==="backbone").length}}function Aa({gate:t,cache:e,minimumCurves:o,canvasAvailable:r,lastDrawAt:a}){return t.enabled?r?!e||e.curves.length===0?{enabled:!1,disabledReason:"no-eligible-edges",curveCount:0,bridgeCurveCount:0,backboneCurveCount:0,cacheKey:e?.cacheKey??"",lastDrawAt:a}:e.curves.length<o?{enabled:!1,disabledReason:"cache-empty",curveCount:e.curves.length,bridgeCurveCount:e.bridgeCurveCount,backboneCurveCount:e.backboneCurveCount,cacheKey:e.cacheKey,lastDrawAt:a}:{enabled:!0,disabledReason:null,curveCount:e.curves.length,bridgeCurveCount:e.bridgeCurveCount,backboneCurveCount:e.backboneCurveCount,cacheKey:e.cacheKey,lastDrawAt:a}:{enabled:!1,disabledReason:"invalid-layer",curveCount:0,bridgeCurveCount:0,backboneCurveCount:0,cacheKey:e?.cacheKey??"",lastDrawAt:a}:{enabled:!1,disabledReason:t.disabledReason,curveCount:0,bridgeCurveCount:0,backboneCurveCount:0,cacheKey:e?.cacheKey??"",lastDrawAt:a}}function ka(t){if(!t)return;const e=t.getContext("2d");e&&(e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,t.width,t.height))}function cu({sigma:t,canvas:e,cache:o}){const r=e.getContext("2d");if(!r)return!1;const{width:a,height:n}=t.getDimensions(),s=window.devicePixelRatio||1;r.setTransform(s,0,0,s,0,0),r.clearRect(0,0,a,n),r.lineCap="round",r.lineJoin="round";let i=0;for(const l of o.curves){const u=t.getNodeDisplayData(l.sourceId),d=t.getNodeDisplayData(l.targetId);if(!u||!d||u.hidden||d.hidden)continue;const c=t.graphToViewport(l.source),p=t.graphToViewport(l.target);if(!Number.isFinite(c.x)||!Number.isFinite(c.y)||!Number.isFinite(p.x)||!Number.isFinite(p.y))continue;const b=p.x-c.x,m=p.y-c.y,f=Math.hypot(b,m);if(f<=0)continue;const y=-m/f,h=b/f,v=f*l.curvature,x=(c.x+p.x)/2+y*v,g=(c.y+p.y)/2+h*v,w=E.edges.fullGraphStructureLayer;r.beginPath(),r.strokeStyle=l.edgeClass==="bridge"?K(E.palette.muted.edgeFocus,w.bridgeAlpha):K(E.palette.muted.edgeStructure,w.backboneAlpha),r.lineWidth=l.edgeClass==="bridge"?w.bridgeLineWidth:w.backboneLineWidth,r.moveTo(c.x,c.y),r.quadraticCurveTo(x,g,p.x,p.y),r.stroke(),i+=1}return i>0}const uu={iterations:50,settings:{barnesHutOptimize:!0,barnesHutTheta:.5,adjustSizes:!1,gravity:.16,scalingRatio:7.5,edgeWeightInfluence:.3,linLogMode:!0,strongGravityMode:!1,slowDown:18}},du=4500,pu={iterations:E.grouped.layout.iterations,settings:{barnesHutOptimize:!0,barnesHutTheta:.5,adjustSizes:!0,gravity:E.grouped.layout.gravity,scalingRatio:E.grouped.layout.scalingRatio,edgeWeightInfluence:E.grouped.layout.edgeWeightInfluence,linLogMode:!1,strongGravityMode:!1,slowDown:E.grouped.layout.slowDown}},hu={allowInvalidContainer:!0,labelRenderedSizeThreshold:6,defaultNodeType:"circle",defaultEdgeType:"line",hideLabelsOnMove:!0,hideEdgesOnMove:!0,enableEdgeEvents:!0,renderEdgeLabels:!0,labelDensity:.7,labelGridCellSize:140,zIndex:!0,minCameraRatio:.04,maxCameraRatio:8,webGLTarget:"webgl2",nodeProgramClasses:tu,edgeProgramClasses:ru,defaultDrawNodeLabel:fi,defaultDrawNodeHover:mi};function ye(t,e){console.debug(`[GraphCanvas] ${t}`,e??{})}function fu(t,e){let o=0;return t.forEachNode((r,a)=>{if(!e.hasNode(r))return;const n=e.getNodeAttributes(r),s=Number(n.x),i=Number(n.y),l=a;if(!Number.isFinite(s)||!Number.isFinite(i))return;const u=Number(l.x),d=Number(l.y);Math.abs(u-s)<=.001&&Math.abs(d-i)<=.001||(t.mergeNodeAttributes(r,{x:s,y:i}),o+=1)}),o}function mu(t,e){if(!e)return null;if(t.hasNode(e))return e;let o=null;return t.forEachNode((r,a)=>{if(o)return;const n=a.properties?.__communityGroup;if(n){if(n.anchorNodeId===e){o=r;return}(n.sampleNodeIds?.includes(e)||n.memberNodeIds?.includes(e))&&(o=r)}}),o}function Ca(t,e,o){if(!o)return[];const r=mu(t,o);if(!r)return[];const a=(e?.selectedVisibleNeighborIds??[]).filter(n=>t.hasNode(n)).slice(0,E.focus.maxNeighbors);return Array.from(new Set([r,...a]))}function gu(t,e){return t?t.graphVersion===e.graphVersion&&t.viewMode===e.viewMode&&t.layoutMode===e.layoutMode&&t.displayGraph===e.displayGraph:!1}function qo(t,e){let o=1/0,r=-1/0,a=1/0,n=-1/0,s=0;return e.forEach(i=>{const l=t.getNodeDisplayData(i);if(!l)return;const u=Number(l.x),d=Number(l.y);!Number.isFinite(u)||!Number.isFinite(d)||(o=Math.min(o,u),r=Math.max(r,u),a=Math.min(a,d),n=Math.max(n,d),s+=1)}),s===0?null:{minX:o,maxX:r,minY:a,maxY:n,count:s}}function Ia(t,e){const o=[];return e.forEachNode(r=>{o.push(r)}),qo(t,o)}function bu(t,e){const o=t.getCamera(),r=o.getState(),a=t.viewRectangle(),n=Math.abs(a.x2-a.x1),s=Math.abs(a.height),i=Math.abs(e.x[1]-e.x[0]),l=Math.abs(e.y[1]-e.y[0]),u=(e.x[0]+e.x[1])/2,d=(e.y[0]+e.y[1])/2;if(![n,s,i,l,u,d].every(Number.isFinite)||n<=0||s<=0||i<=0||l<=0)return null;const c=Math.max(i/n,l/s),p=o.getBoundedRatio(r.ratio*c);return!Number.isFinite(p)||p<=0?null:{x:u,y:d,ratio:p,angle:r.angle}}function Da(t,e,o){const r=o?.paddingRatio??.12,a=o?.minSpanRatio??.03,n=o?.minSpanFloor??1,s=Math.max(e?e.maxX-e.minX:0,n),i=Math.max(e?e.maxY-e.minY:0,n),l=Math.max(t.maxX-t.minX,0),u=Math.max(t.maxY-t.minY,0),d=Math.max(s*a,n),c=Math.max(i*a,n),p=Math.max(l,d),b=Math.max(u,c),m=(t.minX+t.maxX)/2,f=(t.minY+t.maxY)/2;if(![p,b,m,f].every(Number.isFinite))return null;const y=p*(1+r*2),h=b*(1+r*2);return y<=0||h<=0?null:{x:[m-y/2,m+y/2],y:[f-h/2,f+h/2]}}function Ko(t,e,o,r=96){return t.x>=-r&&t.y>=-r&&t.x<=e+r&&t.y<=o+r}function gi(t,e,o,r,a,n){const s=[];for(let i=0;i<e.length-1;i+=1){const l=e[i],u=e[i+1],d=t.getNodeDisplayData(l),c=t.getNodeDisplayData(u);if(!d||!c)continue;const p=t.graphToViewport({x:d.x,y:d.y}),b=t.graphToViewport({x:c.x,y:c.y});if(!Ko(p,a,n)&&!Ko(b,a,n))continue;const m=o[i]&&j.hasEdge(o[i])?j.getEdgeAttributes(o[i]):{baseColor:E.palette.accent.path,baseSize:1.2,edgeVariant:"pathSignal",arrowVisibilityPolicy:"always"},f=dn(E,r,"path",m,l,u);!f.color||!f.size||s.push({sourceId:l,targetId:u,source:p,target:b,color:f.color,size:f.size})}return s}function _a(t,e,o,r,a,n,s,i){const l=n?gi(n,t.activePath,t.activePathEdgeIds,t.zoomTier,s,i).length:0,u=t.activePath.length>1,d=xt(t.zoomTier,E.effects.pathPulse.minZoomTier),c=xt(t.zoomTier,E.effects.pathFlow.minZoomTier),p=xt(t.zoomTier,E.effects.lens.minZoomTier),b=xt(t.zoomTier,E.effects.temporalEmphasis.minZoomTier),m=xt(t.zoomTier,E.effects.semanticRegions.minZoomTier),f=xt(t.zoomTier,E.effects.contours.minZoomTier),y=!!(t.hoveredNodeId||t.selectedNodeId),h="Layout is still settling",v=e.pathPulseEnabled?a?{enabled:!0,available:!1,reason:h}:u?d?l===0?{enabled:!0,available:!1,reason:"Path is off-screen"}:l>E.effects.pathPulse.maxSegments?{enabled:!0,available:!1,reason:"Disabled by path size cap",detail:`${l} visible segments`,visibleSegments:l,segmentCap:E.effects.pathPulse.maxSegments}:{enabled:!0,available:!0,reason:"Ready",visibleSegments:l,segmentCap:E.effects.pathPulse.maxSegments}:{enabled:!0,available:!1,reason:"Disabled by zoom tier",detail:`Requires ${E.effects.pathPulse.minZoomTier}`}:{enabled:!0,available:!1,reason:"No active path"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},x=e.pathFlowEnabled?a?{enabled:!0,available:!1,reason:h}:u?c?l===0?{enabled:!0,available:!1,reason:"Path is off-screen"}:l>E.effects.pathFlow.maxSegments?{enabled:!0,available:!1,reason:"Disabled by path size cap",detail:`${l} visible segments`,visibleSegments:l,segmentCap:E.effects.pathFlow.maxSegments}:{enabled:!0,available:!0,reason:"Ready",visibleSegments:l,segmentCap:E.effects.pathFlow.maxSegments}:{enabled:!0,available:!1,reason:"Disabled by zoom tier",detail:`Requires ${E.effects.pathFlow.minZoomTier}`}:{enabled:!0,available:!1,reason:"No active path"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},g=e.lensEnabled?a?{enabled:!0,available:!1,reason:h}:y?p?{enabled:!0,available:!0,reason:"Ready"}:{enabled:!0,available:!1,reason:"Disabled by zoom tier",detail:`Requires ${E.effects.lens.minZoomTier}`}:{enabled:!0,available:!1,reason:"No focal node"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},w=e.temporalEmphasisEnabled?a?{enabled:!0,available:!1,reason:h}:o?.currentTime?b?{enabled:!0,available:!0,reason:"Ready"}:{enabled:!0,available:!1,reason:"Disabled by zoom tier",detail:`Requires ${E.effects.temporalEmphasis.minZoomTier}`}:{enabled:!0,available:!1,reason:"No temporal focus time"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},C=e.semanticRegionsEnabled?a?{enabled:!0,available:!1,reason:h}:m?r?.semanticRegions.ready?{enabled:!0,available:!0,reason:r.semanticRegions.reason}:{enabled:!0,available:!1,reason:r?.semanticRegions.reason??"Waiting for semantic region summaries"}:{enabled:!0,available:!1,reason:"Disabled by zoom tier",detail:`Requires ${E.effects.semanticRegions.minZoomTier}`}:{enabled:!1,available:!1,reason:"Disabled by toggle"},I=e.contoursEnabled?a?{enabled:!0,available:!1,reason:h}:f?r?.centrality.ready?{enabled:!0,available:!0,reason:r.centrality.reason}:{enabled:!0,available:!1,reason:r?.centrality.reason??"Waiting for centrality ranking"}:{enabled:!0,available:!1,reason:"Disabled by zoom tier",detail:`Requires ${E.effects.contours.minZoomTier}`}:{enabled:!1,available:!1,reason:"Disabled by toggle"},k=e.pathfindingEnabled?r?.directedPath.ready?{enabled:!0,available:!0,reason:r.directedPath.verifiedAgainstActivePath?"Ready · local path matches traced path":"Ready · local directed path differs from traced path"}:{enabled:!0,available:!1,reason:r?.directedPath.reason??"Waiting for a traced path"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},D=e.communitiesEnabled?r?.communities.ready?{enabled:!0,available:!0,reason:r.communities.modularity!==null?`Ready · modularity ${r.communities.modularity.toFixed(3)}`:r.communities.reason}:{enabled:!0,available:!1,reason:r?.communities.reason??"Waiting for community summaries"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},_=e.centralityEnabled?r?.centrality.ready?{enabled:!0,available:!0,reason:r.centrality.reason}:{enabled:!0,available:!1,reason:r?.centrality.reason??"Waiting for centrality ranking"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},L=e.legendEnabled?{enabled:!0,available:!0,reason:"Panel enabled"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},G=e.edgeLabelsEnabled?{enabled:!0,available:!0,reason:"Ready"}:{enabled:!1,available:!1,reason:"Disabled by toggle"},V=E.effects.diagnostics.enabledInDev?e.diagnosticsEnabled?{enabled:!0,available:!0,reason:"Ready"}:{enabled:!1,available:!1,reason:"Disabled by toggle"}:{enabled:!1,available:!1,reason:"Disabled in production"};return{pathPulse:v,pathFlow:x,lens:g,temporalEmphasis:w,semanticRegions:C,contours:I,pathfinding:k,communities:D,centrality:_,legend:L,edgeLabels:G,diagnostics:V}}function bi(t,e,o,r,a){const n=t.createRadialGradient(e,o,0,e,o,r);n.addColorStop(0,a),n.addColorStop(1,"rgba(0,0,0,0)"),t.fillStyle=n,t.beginPath(),t.arc(e,o,r,0,Math.PI*2),t.fill()}function yu(t,e,o,r,a,n){const s=E.nodes.badges[a],i=E.nodes.badge.radius,l=E.nodes.badge.offset,u=e+Math.max(r*.62,i+l),d=o-Math.max(r*.62,i+l);bi(t,u,d,E.overlays.badgeGlowRadius,K(s.color,E.nodes.badge.glowAlpha)),t.fillStyle=s.color,t.beginPath(),t.arc(u,d,i,0,Math.PI*2),t.fill(),t.strokeStyle=E.nodes.badge.stroke,t.lineWidth=1,t.beginPath(),t.arc(u,d,i,0,Math.PI*2),t.stroke(),t.fillStyle=E.nodes.badge.textColor,t.font=`700 ${E.nodes.badge.fontSize}px Inter, system-ui, sans-serif`,t.textAlign="center",t.textBaseline="middle";const c=a==="provenance"&&n&&n>1?String(Math.min(9,n)):s.label;t.fillText(c,u,d+.5)}const vu=["hidden","backbone","bridge","local-context","selected","path","muted"];function xu(){return vu.reduce((t,e)=>(t[e]=0,t),{})}function Su(t,e){return E.edges.contextCaps[t]?.[e]??0}function wu(t,e,o,r,a,n,s){if(n.has(e)||s&&e===s)return Number.POSITIVE_INFINITY;const i=Math.max(Number(t.weight??t.representativeWeight??1)||1,1),l=Math.min(1,Math.log1p(i)/Math.log(25)),u=Math.max(0,Math.min(Number(t.visualPriority??0),1)),d=Math.max(0,Math.min(Number(t.relationshipStrength??0),1));return(r.has(o)?6:0)+(a.has(o)?1.25:0)+u*2+l*1.4+d}function Nu(t,e,o,r,a){const n=e.hoveredNodeId||e.selectedNodeId;if(!n||!t.hasNode(n))return new Set;const s=Su(e.viewMode,e.zoomTier);if(s<=0&&!e.selectedEdgeId&&a.size===0)return new Set;const i=new Set((o?.selectedVisibleNeighborIds??[]).filter(d=>t.hasNode(d))),l=[];t.edges(n).forEach(d=>{const c=String(d);if(!t.hasEdge(c))return;const[p,b]=t.extremities(c),m=String(p),f=String(b),y=m===n?f:m,h=t.getEdgeAttributes(c);l.push({edgeId:c,score:wu(h,c,y,i,r,a,e.selectedEdgeId)})}),l.sort((d,c)=>c.score!==d.score?c.score-d.score:d.edgeId.localeCompare(c.edgeId));const u=new Set;return l.forEach(d=>{(d.edgeId===e.selectedEdgeId||a.has(d.edgeId)||u.size<s)&&u.add(d.edgeId)}),u}function Eu(t,e,o,r,a){const{viewMode:n,zoomTier:s,hoveredNodeId:i,selectedNodeId:l,selectedEdgeId:u,activePath:d}=e,c=i||l,p=c?t.hasNode(c)?kr(t,c):new Set:new Set,b=no(t,d,e.activePathEdgeIds);return{viewMode:n,zoomTier:s,hoveredNodeId:i,selectedNodeId:l,selectedEdgeId:u,activePath:d,activePathEdgeIds:e.activePathEdgeIds,focusIds:p,edgeEndpointIds:ln(t,u),pathNodeIds:new Set(d),pathEdgeIds:b,overviewBackboneEdgeIds:new Set(r?.overviewBackbone.edgeIds??[]),distanceVisualState:a,highlightedIncidentEdgeIds:Nu(t,e,o,p,b)}}function bn(t,e,o){if(!t.hasEdge(e))return"hidden";const[r,a]=t.extremities(e),n=String(r),s=String(a),i=t.hasNode(n)?t.getNodeAttributes(n):void 0,l=t.hasNode(s)?t.getNodeAttributes(s):void 0;return ic(e,n,s,o.zoomTier,o.hoveredNodeId,o.selectedNodeId,o.selectedEdgeId,o.focusIds,o.pathEdgeIds,o.highlightedIncidentEdgeIds,o.overviewBackboneEdgeIds,i,l)}function Au(t,e){const o=xu();return t.forEachEdge(r=>{const a=e.viewMode==="full"?bn(t,String(r),e):"hidden";o[a]+=1}),{mode:e.viewMode,zoomTier:e.zoomTier,totalEdges:t.size,visibleEdges:t.size-o.hidden,counts:o,updatedAt:Date.now()}}function ku(t,e,o,r){if(t.setSetting("nodeReducer",(a,n)=>{const s=t.getGraph(),i=e.current,l=t.getCamera().getState().ratio;if(!s.hasNode(a))return o.current.missingNodes.has(a)||(o.current.missingNodes.add(a),ye("node-reducer-node-missing",{nodeId:a,order:s.order,size:s.size})),{...n,hidden:!0};const u=n,d=ni(a,i.zoomTier,i.hoveredNodeId,i.selectedNodeId,i.selectedEdgeId,i.focusIds,i.edgeEndpointIds,i.pathNodeIds),c=qr(E,i.zoomTier,d,u,n.label,l),p=i.viewMode==="full"?zl(E,i.zoomTier,c,i.distanceVisualState,String(a)):{},b={...c,...p};return{...n,color:b.color,shellColor:b.shellColor,coreScale:b.coreScale,size:b.size,forceLabel:b.forceLabel,label:b.label,zIndex:b.zIndex,hidden:b.hidden,borderColor:b.borderColor,borderSize:b.borderSize,ringColor:b.showRing?b.ringColor:b.borderColor,ringSize:b.ringSize,entityShape:b.entityShape,entityShapeKind:b.entityShapeKind,entityAspectRatio:b.entityAspectRatio}}),t.setSetting("edgeReducer",(a,n)=>{const s=t.getGraph(),i=e.current;if(!s.hasEdge(a))return o.current.missingEdges.has(a)||(o.current.missingEdges.add(a),ye("edge-reducer-edge-missing",{edgeId:a,order:s.order,size:s.size})),{...n,hidden:!0};const l=n,[u,d]=s.extremities(a),c=String(a),p=!!(i.hoveredNodeId||i.selectedNodeId||i.selectedEdgeId||i.pathEdgeIds.size>0),b=i.viewMode==="full"?bn(s,c,i):void 0,m=i.viewMode==="full"?sc(b??"hidden",{hoveredNodeId:i.hoveredNodeId,hasActiveInteraction:p}):nc(c,String(u),String(d),i.zoomTier,i.hoveredNodeId,i.selectedNodeId,i.selectedEdgeId,i.focusIds,i.pathEdgeIds,i.highlightedIncidentEdgeIds),f=dn(E,i.zoomTier,m,l,u,d,i.viewMode,c,b),y=i.viewMode==="full"?Vl(f,i.distanceVisualState,String(u),String(d),b):{},h={...f,...y};return{...n,hidden:h.hidden,type:h.type,color:h.color,size:h.size,zIndex:h.zIndex,curvature:h.curvature,label:h.hidden?void 0:String(l.edgeType||n.label||"")}}),(r?.nodes?.length??0)>0||(r?.edges?.length??0)>0){t.scheduleRefresh({partialGraph:{nodes:r?.nodes,edges:r?.edges}});return}t.scheduleRefresh()}function Cu(t,e,o){for(const r of t)if(r.performAction?.(e,o))return}const Iu=A.forwardRef(function({graphVersion:e,graphReady:o,displayGraph:r,displayMeta:a,displayState:n,onNodeClick:s,onEdgeClick:i,selectedNodeId:l,focusedNodeId:u,selectedEdgeId:d,activePath:c=[],activePathEdgeIds:p=[],distanceVisualState:b,effectsState:m,temporalState:f,isLayoutRunning:y,onLayoutRunningChange:h,viewMode:v,className:x,showFitViewButton:g=!0,pluginOverlays:w=[],onSceneRuntimeChange:C,onInteractionStateChange:I,onCameraStateChange:k,onDiagnosticsChange:D,onAnalyticsChange:_},L){const G=A.useRef(null),V=A.useRef(null),q=A.useRef(null),W=A.useRef(null),F=A.useRef(null),ee=A.useRef(null),U=A.useRef(null),T=A.useRef(null),P=A.useRef(null),z=A.useRef(null),te=A.useRef(null),Q=A.useRef(null),B=A.useRef(r),le=A.useRef(n),J=A.useRef(a),re=A.useRef(e),ce=A.useRef(l),ue=A.useRef(u),ge=A.useRef(b),se=A.useRef(v),Ce=A.useRef(s),_e=A.useRef(i),be=A.useRef(C),Me=A.useRef(k),we=A.useRef(m),[Qe,Je]=A.useState(null),[$e,pt]=A.useState("overview"),[We,et]=A.useState(null),[ht,Ze]=A.useState(0),it=A.useRef(null),tt=A.useRef(null),Ie=A.useRef(null),qe=A.useRef(0),xe=A.useRef(null),ve=A.useRef(null),he=A.useRef(null),Ke=A.useRef({missingEdges:new Set,missingNodes:new Set});B.current=r,le.current=n,J.current=a,re.current=e,ce.current=l,ue.current=u,ge.current=b,se.current=v,Ce.current=s,_e.current=i,be.current=C,Me.current=k,we.current=m;const de=A.useMemo(()=>[Es,As,ks,Cs(),_s(),Gs,Ls()],[]),ie=A.useMemo(()=>Sc(Qe,l,u,d,c,p,v,$e,y),[c,p,u,Qe,y,d,l,v,$e]),De=A.useRef(ie);De.current=ie;const je=A.useRef(null),Ue=A.useRef(void 0);A.useEffect(()=>{y||Ze(M=>M+1)},[r,e,y]);const Oe=m.communitiesEnabled||m.semanticRegionsEnabled,Re=m.centralityEnabled||m.semanticRegionsEnabled||m.contoursEnabled,st=A.useMemo(()=>ro(r,{computeCommunities:Oe,computeCentrality:Re}),[r,Re,Oe]),rt=A.useMemo(()=>Eu(r,ie,n,We,b),[We,r,n,b,ie]),jt=A.useRef(rt);jt.current=rt;const Ge=A.useMemo(()=>Au(r,rt),[r,rt]),Et=A.useMemo(()=>ou({mode:E.edges.fullGraphStructureLayer.mode,viewMode:v,isLayoutRunning:y,edgeDiagnostics:Ge,minimumLiteralEdges:E.edges.fullGraphStructureLayer.minimumLiteralEdges}),[Ge,y,v]),ot=A.useMemo(()=>{if(!Et.enabled)return null;const M=su({graphVersion:e,zoomTier:$e,layoutSettledEpoch:ht,overviewBackboneEdgeIds:rt.overviewBackboneEdgeIds});return lu({graphRef:r,cacheKey:M,classifyEdge:H=>bn(r,H,rt),maxCurves:E.edges.fullGraphStructureLayer.maxCurves,curveStrength:E.edges.fullGraphStructureLayer.curveStrength})},[r,e,ht,rt,Et.enabled,$e]);W.current=ot;const Bt=A.useMemo(()=>Aa({gate:Et,cache:ot,minimumCurves:E.edges.fullGraphStructureLayer.minimumCurves,canvasAvailable:!!q.current,lastDrawAt:F.current}),[ot,Et]);ee.current=Bt;const Le=A.useMemo(()=>({graphVersion:e,viewMode:v,layoutMode:a.layoutMode,displayGraph:r}),[r,a.layoutMode,e,v]),At=A.useCallback((M,H,X)=>{const O=U.current;if(!O)return;O.getCustomBBox()&&O.setCustomBBox(null);const oe=G.current,ae=O.getDimensions(),pe=O.getCamera().getState(),Y=H?bu(O,H):{x:.5,y:.5,ratio:1,angle:pe.angle};if(!Y){ye("camera-fit-target-invalid",{intent:M,graphVersion:re.current,viewMode:se.current,order:B.current.order,size:B.current.size,boundsX:H?.x??null,boundsY:H?.y??null,...X});return}ye("camera-fit-target",{intent:M,graphVersion:re.current,viewMode:se.current,order:B.current.order,size:B.current.size,selectionPreserved:!!ce.current,containerWidth:oe?.clientWidth??ae.width,containerHeight:oe?.clientHeight??ae.height,targetX:Y.x,targetY:Y.y,targetRatio:Y.ratio,boundsX:H?.x??null,boundsY:H?.y??null,...X}),O.getCamera().animate(Y,{duration:E.motion.cameraMs,easing:"quadraticOut"})},[]),ir=A.useCallback(()=>{const M=U.current;if(!M)return;const H=Ia(M,B.current);if(!H){ye("camera-fit-display-graph-fallback",{graphVersion:re.current,viewMode:se.current,reason:"display-bounds-unavailable",order:B.current.order,size:B.current.size}),At("fit-display-graph",null,{fallback:"reset-empty-bounds"});return}const X=Da(H,H,{paddingRatio:.14,minSpanRatio:.02,minSpanFloor:.04});At("fit-display-graph",X,{boundsCount:H.count,minX:H.minX,maxX:H.maxX,minY:H.minY,maxY:H.maxY})},[At]),Ht=A.useCallback(function M(H,X=0){const O=U.current;if(!O)return;const oe=B.current,ae=Ca(oe,le.current,H);if(ae.length===0){ye("camera-selection-missing-node",{nodeId:H,graphVersion:re.current,viewMode:se.current});return}const pe=ae[0],Y=O.getNodeDisplayData(pe);if(Y){const Te=O.graphToViewport({x:Y.x,y:Y.y}),Ye=O.getDimensions();if(Ko(Te,Ye.width,Ye.height,96)){ye("camera-selection-visible-noop",{nodeId:H,selectedDisplayNodeId:pe,graphVersion:re.current,viewMode:se.current,viewportX:Te.x,viewportY:Te.y}),O.scheduleRefresh();return}}const fe=qo(O,ae);if(!fe){X<3?(ye("camera-selection-display-bounds-deferred",{nodeId:H,graphVersion:re.current,attempt:X+1,viewMode:se.current,contextCount:ae.length}),xe.current!==null&&window.cancelAnimationFrame(xe.current),xe.current=window.requestAnimationFrame(()=>{xe.current=null,M(H,X+1)})):ye("camera-selection-display-bounds-fallback-fit",{nodeId:H,graphVersion:re.current,viewMode:se.current,contextCount:ae.length});return}const Be=O.getCamera(),ze=Be.getState(),He={x:(fe.minX+fe.maxX)/2,y:(fe.minY+fe.maxY)/2,ratio:ze.ratio,angle:ze.angle};ye("camera-selection-gentle-center",{nodeId:H,contextCount:fe.count,boundsSource:"displayed-selection-context",minX:fe.minX,maxX:fe.maxX,minY:fe.minY,maxY:fe.maxY,targetX:He.x,targetY:He.y,preservedRatio:He.ratio}),Be.animate(He,{duration:E.motion.cameraMs,easing:"quadraticOut"})},[]),Ft=A.useCallback(M=>{const H=U.current;if(!H)return;const X=B.current,O=Ca(X,le.current,M);if(O.length===0){ye("camera-grouped-selection-missing-node",{nodeId:M,graphVersion:re.current,viewMode:se.current});return}const oe=qo(H,O);if(!oe){ye("camera-grouped-selection-display-bounds-missing",{nodeId:M,graphVersion:re.current,viewMode:se.current,contextCount:O.length});return}const ae=H.getCamera(),pe=ae.getState(),Y={x:(oe.minX+oe.maxX)/2,y:(oe.minY+oe.maxY)/2,ratio:pe.ratio,angle:pe.angle};ye("camera-grouped-selection-center",{nodeId:M,graphVersion:re.current,viewMode:se.current,contextCount:oe.count,targetX:Y.x,targetY:Y.y,preservedRatio:Y.ratio}),ae.animate(Y,{duration:E.motion.cameraMs,easing:"quadraticOut"})},[]),Se=A.useCallback(M=>{const H=U.current;if(!H)return;if(se.current==="focused"&&!!ce.current&&j.hasNode(ce.current)){const O=Ia(H,B.current),oe=O?Da(O,O,{paddingRatio:.14,minSpanRatio:.08,minSpanFloor:.02}):null;At("fit-focused-graph",oe,{nodeId:M,focusedCount:O?.count??0,focusedMinX:O?.minX??null,focusedMaxX:O?.maxX??null,focusedMinY:O?.minY??null,focusedMaxY:O?.maxY??null});return}Ht(M)},[At,Ht]),Tt=A.useCallback(()=>{ir()},[ir]),kt=A.useCallback(M=>{const H=P.current;H&&Cu(de,H,M)},[de]),ft=A.useCallback(M=>{const H=M??U.current;if(!H)return null;const X={sigma:H,graph:j,displayGraph:B.current,getInteractionState:()=>De.current,setHoveredNodeId:Je,onNodeSelectionChange:O=>Ce.current(O),onEdgeSelectionChange:O=>_e.current?.(O),focusNodeInView:Se,centerSelectionInView:Ht,centerGroupedSelectionInView:Ft,fitCurrentView:Tt,dispatchAction:kt};return P.current=X,X},[Ft,Ht,kt,Tt,Se]),mt=A.useCallback((M,...H)=>{const X=ft();if(X)for(const O of de){const oe=O[M];typeof oe=="function"&&oe(X,...H)}},[de,ft]);A.useImperativeHandle(L,()=>({fitView:()=>kt({type:"fitView"}),focusNode:M=>kt({type:"focusNode",nodeId:M}),zoomIn:()=>{const M=U.current;M&&(ye("camera-zoom-in",{graphVersion:re.current,ratioBefore:M.getCamera().getState().ratio}),M.getCamera().animatedZoom({duration:E.motion.cameraMs}))},zoomOut:()=>{const M=U.current;M&&(ye("camera-zoom-out",{graphVersion:re.current,ratioBefore:M.getCamera().getState().ratio}),M.getCamera().animatedUnzoom({duration:E.motion.cameraMs}))},requestRender:()=>U.current?.scheduleRefresh(),getCameraState:()=>{const M=U.current;if(!M)return null;const H=M.getCamera().getState();return{x:H.x,y:H.y,ratio:H.ratio}}}),[kt]);const $t=A.useCallback(M=>{const X=M.getCamera().getState(),O={x:X.x,y:X.y,ratio:X.ratio},oe=Ji(O.ratio);pt(ae=>ae===oe?ae:oe),Me.current?.(O),mt("onCameraChange",O),ye("camera-updated",{graphVersion:re.current,ratio:O.ratio})},[mt]);A.useEffect(()=>{if(!o||U.current||!G.current)return;const M=new Zi(B.current,G.current,{...hu,renderEdgeLabels:we.current.edgeLabelsEnabled});U.current=M,it.current=re.current;const H=M.getCamera(),X={renderer:"sigma",scene:M,graph:j,displayGraph:B.current,graphVersion:re.current,layoutMode:J.current.layoutMode,requestRender:()=>M.scheduleRefresh(),getCameraState:()=>{const Y=H.getState();return{x:Y.x,y:Y.y,ratio:Y.ratio}}};z.current=X,be.current?.(X),ye("sigma-created",{graphVersion:re.current,layoutMode:J.current.layoutMode,order:B.current.order,size:B.current.size});const O=ft(M);if(O)for(const Y of de)Y.attach(O);const oe=()=>{G.current&&G.current.offsetWidth>0&&M.scheduleRefresh()},ae=new ResizeObserver(oe);ae.observe(G.current),te.current=ae;const pe=()=>$t(M);Q.current=pe,H.on("updated",pe),M.on("clickNode",({node:Y})=>mt("onNodeClick",Y)),M.on("clickEdge",({edge:Y})=>{const fe=B.current,[Be,ze]=fe.extremities(Y),He=String(Y),Te=fe.getEdgeAttributes(Y);ga(fe,De.current,He,Be,ze,Te)&&mt("onEdgeClick",He)}),M.on("clickStage",()=>mt("onStageClick")),M.on("enterNode",({node:Y})=>mt("onNodeEnter",Y)),M.on("leaveNode",({node:Y})=>mt("onNodeLeave",Y)),M.on("enterEdge",({edge:Y})=>{const fe=G.current;if(!fe)return;const Be=B.current,[ze,He]=Be.extremities(Y),Te=String(Y),Ye=Be.getEdgeAttributes(Y);fe.style.cursor=ga(Be,De.current,Te,ze,He,Ye)?"pointer":""}),M.on("leaveEdge",()=>{G.current&&(G.current.style.cursor="")});try{const Y=M.createCanvas("structure",{beforeLayer:"nodes",afterLayer:"edges",style:{pointerEvents:"none"}});q.current=Y}catch(Y){ye("structure-layer-create-failed",{error:Y instanceof Error?Y.message:String(Y)}),q.current=null}requestAnimationFrame(()=>{$t(M)})},[de,mt,ft,o,$t]),A.useEffect(()=>{const M=U.current;M&&(M.setSetting("renderEdgeLabels",m.edgeLabelsEnabled),M.scheduleRefresh())},[m.edgeLabelsEnabled]),A.useEffect(()=>()=>{const M=U.current,H=P.current;if(H)for(const X of de)X.detach(H);if(G.current&&(G.current.style.cursor=""),te.current?.disconnect(),te.current=null,M&&Q.current&&M.getCamera().off("updated",Q.current),Q.current=null,M){if(ye("sigma-killed",{graphVersion:re.current}),q.current)try{M.killLayer("structure")}catch{}q.current=null,M.kill()}xe.current!==null&&(window.cancelAnimationFrame(xe.current),xe.current=null),z.current=null,P.current=null,U.current=null,be.current?.(null)},[de]),A.useEffect(()=>{const M=U.current;!o||!M||it.current===e&&M.getGraph()===r||(ye("sigma-set-graph",{graphVersion:e,displayFitViewMode:Le.viewMode,displayFitLayoutMode:Le.layoutMode,layoutMode:a.layoutMode,order:r.order,size:r.size}),xe.current!==null&&(window.cancelAnimationFrame(xe.current),xe.current=null),Ke.current.missingEdges.clear(),Ke.current.missingNodes.clear(),M.setCustomBBox(null),M.setGraph(r),it.current=e,tt.current=null,je.current=null,Ue.current=void 0,P.current=ft(M),z.current&&(z.current.displayGraph=r,z.current.graphVersion=e,z.current.layoutMode=a.layoutMode),M.scheduleRefresh())},[Le.layoutMode,Le.viewMode,r,a.layoutMode,ft,o,e]),A.useEffect(()=>{const M=U.current;if(!o||!M||gu(tt.current,Le))return;const H=window.requestAnimationFrame(()=>{if(!(!U.current||re.current!==e||B.current!==Le.displayGraph||se.current!==Le.viewMode||J.current.layoutMode!==Le.layoutMode)){if(tt.current=Le,ye("display-fit-signature-applied",{graphVersion:Le.graphVersion,viewMode:Le.viewMode,layoutMode:Le.layoutMode,order:Le.displayGraph.order,size:Le.displayGraph.size}),ue.current&&se.current==="focused"){ye("initial-focused-fit",{graphVersion:e,nodeId:ue.current}),Se(ue.current);return}ye("initial-fit-view",{graphVersion:e,selectedNodeId:ce.current||null,viewMode:se.current}),kt({type:"fitView"})}});return()=>{window.cancelAnimationFrame(H)}},[Ht,kt,Le,Se,o,e]),A.useEffect(()=>{const M=ft();if(M){for(const H of de)H.onStateChange?.(M,ie);for(const H of de)H.apply?.(M,ie);I?.(ie)}},[de,ft,ie,I]),A.useEffect(()=>{const M=U.current,H=G.current;if(!M||!H){et(null),_?.(null);return}const X=Sa(M,r,H.clientWidth,H.clientHeight).map(oe=>oe.nodeId),O=Sl({graphRef:r,interactionState:ie,base:st,visibleNodeIds:X});et(O),_?.(O)},[st,r,ie,_]),A.useEffect(()=>{if(!D)return;const M=U.current,H=G.current,X=_a(ie,m,f,We,y,M,H?.clientWidth??0,H?.clientHeight??0);D({effectAvailability:X,edgeClasses:Ge,structureLayer:ee.current??Bt,distanceVisual:ge.current}),m.diagnosticsEnabled&&console.debug("[Edge Truth]",Ge)},[We,Ge,m,ie,y,D,Bt,f,b]),A.useEffect(()=>{je.current=null,Ue.current=void 0},[r]),A.useEffect(()=>{const M=U.current;if(!M)return;const H=je.current,O=!(Ue.current!==b)&&H?Kl(r,H,ie):void 0;ku(M,jt,Ke,O),je.current=ie,Ue.current=b},[r,b,ie,jt]);const Cr=A.useCallback(()=>{const M=U.current,H=q.current,X=W.current,O=Aa({gate:Et,cache:X,minimumCurves:E.edges.fullGraphStructureLayer.minimumCurves,canvasAvailable:!!H,lastDrawAt:F.current});if(ee.current=O,!M||!H||!O.enabled||!X){ka(H);return}cu({sigma:M,canvas:H,cache:X})&&(F.current=Date.now(),ee.current={...O,lastDrawAt:F.current})},[Et]);A.useEffect(()=>{const M=U.current;if(!o||!M)return;const H=()=>Cr();return M.on("afterRender",H),H(),()=>{M.off("afterRender",H)}},[Cr,o,ot]),A.useEffect(()=>{(y||v!=="full")&&ka(q.current)},[y,v]);const sr=A.useCallback(()=>{const M=U.current,H=V.current,X=G.current;if(!M||!H||!X)return!1;const O=X.getBoundingClientRect(),oe=window.devicePixelRatio||1;(H.width!==Math.floor(O.width*oe)||H.height!==Math.floor(O.height*oe))&&(H.width=Math.floor(O.width*oe),H.height=Math.floor(O.height*oe),H.style.width=`${O.width}px`,H.style.height=`${O.height}px`);const ae=H.getContext("2d");if(!ae)return!1;ae.setTransform(oe,0,0,oe,0,0),ae.clearRect(0,0,O.width,O.height);const pe=ie.hoveredNodeId||ie.selectedNodeId,Y=pe?r.hasNode(pe)?kr(r,pe):new Set:new Set,fe=ln(r,ie.selectedEdgeId),Be=new Set(ie.activePath),ze=gi(M,ie.activePath,ie.activePathEdgeIds,ie.zoomTier,O.width,O.height),He=Sa(M,r,O.width,O.height),Te=_a(ie,m,f,We,y,M,O.width,O.height),Ye=M.getCamera().getState().ratio,ao=new Set([...Y,...fe,...Be,...pe?[pe]:[]]),Dr=new Set;pe&&jt.current.highlightedIncidentEdgeIds.forEach(gt=>{if(!r.hasEdge(gt))return;const[St,qt]=r.extremities(gt),Kt=String(St)===pe?String(qt):String(St);r.hasNode(Kt)&&Dr.add(Kt)});const io=performance.now()/1e3;return y||(Dc(ae,We,He,ie,m),Ic(ae,We,He,ie,m),Gc(ae,He,f,ie,m)),ao.forEach(gt=>{const St=M.getNodeDisplayData(gt);if(!St)return;if(!r.hasNode(gt)){ye("overlay-node-missing-from-display-graph",{nodeId:gt,graphVersion:re.current,viewMode:se.current});return}const qt=r.getNodeAttributes(gt),Kt=ni(gt,ie.zoomTier,ie.hoveredNodeId,ie.selectedNodeId,ie.selectedEdgeId,Y,fe,Be),Ee=qr(E,ie.zoomTier,Kt,qt,qt.label,Ye),me=M.graphToViewport({x:St.x,y:St.y});if(Ee.showHalo){const lr=Math.max(St.size*E.overlays.glowRadiusMultiplier*(Ee.nodeVariant==="selected"?1.08:1),E.overlays.minGlowRadius);bi(ae,me.x,me.y,lr,K(Ee.haloColor,gt===pe?E.overlays.hoverGlowAlpha:E.overlays.pathGlowAlpha))}Ee.showBadge&&Ee.badgeKind&&yu(ae,me.x,me.y,St.size,Ee.badgeKind,Ee.badgeCount)}),!y&&pe&&Te.lens.available&&Lc(ae,M,pe,Dr),Pc(ae,ze,m,Te,io),Te.pathPulse.available||Te.pathFlow.available},[We,r,m,ie,y,f]);A.useEffect(()=>{const M=U.current,H=G.current;if(!o||!M||!H)return;let X=0,O=!1;const oe=()=>{if(O)return;sr()&&(X=window.requestAnimationFrame(oe))},ae=()=>{X===0&&sr()},pe=M.getCamera(),Y=new ResizeObserver(ae);return Y.observe(H),pe.on("updated",ae),oe(),()=>{O=!0,Y.disconnect(),pe.off("updated",ae),X!==0&&window.cancelAnimationFrame(X)}},[sr,o]),A.useEffect(()=>{const M=U.current,H=a.layoutMode==="owned"?r:j,X=a.layoutMode==="owned"&&v==="grouped",O=a.layoutMode==="owned"?`display:${e}:${v}`:`store:${a.layoutMode}`,oe=T.current?.__targetKey;if(!y){T.current?.stop(),ve.current!==null&&(window.clearTimeout(ve.current),ve.current=null),he.current!==null&&(window.clearTimeout(he.current),he.current=null),Ie.current!==null&&(window.cancelAnimationFrame(Ie.current),Ie.current=null);return}if(!T.current||oe!==O){T.current?.kill();const ae=new Qi(H,X?pu:uu);ae.__targetKey=O,T.current=ae,ye("layout-target-changed",{graphVersion:e,layoutMode:a.layoutMode,target:a.layoutMode==="owned"?"display-owned":a.layoutMode==="base"?"base":"store-for-mirror",order:H.order,size:H.size})}if(T.current.start(),he.current!==null&&(window.clearTimeout(he.current),he.current=null),ve.current!==null&&(window.clearTimeout(ve.current),ve.current=null),X?he.current=window.setTimeout(()=>{T.current?.stop(),he.current=null,h?.(!1),ye("grouped-layout-auto-settled",{graphVersion:re.current,viewMode:se.current,order:B.current.order,size:B.current.size})},E.grouped.layout.settleMs):ve.current=window.setTimeout(()=>{T.current?.stop(),ve.current=null,h?.(!1),ye("full-layout-auto-settled",{graphVersion:re.current,viewMode:se.current,layoutMode:J.current.layoutMode,order:B.current.order,size:B.current.size})},du),a.layoutMode==="mirrored"&&M){let ae=!1;const pe=()=>{if(ae||!U.current||!y)return;const Y=fu(B.current,j);Y>0&&(U.current.scheduleRefresh(),qe.current+=1,(qe.current===1||qe.current%30===0)&&ye("layout-mirror-sync",{graphVersion:re.current,changedNodes:Y,tick:qe.current})),Ie.current=window.requestAnimationFrame(pe)};return qe.current=0,Ie.current=window.requestAnimationFrame(pe),()=>{ae=!0,ve.current!==null&&(window.clearTimeout(ve.current),ve.current=null),he.current!==null&&(window.clearTimeout(he.current),he.current=null),Ie.current!==null&&(window.cancelAnimationFrame(Ie.current),Ie.current=null),T.current?.stop()}}return()=>{ve.current!==null&&(window.clearTimeout(ve.current),ve.current=null),he.current!==null&&(window.clearTimeout(he.current),he.current=null),T.current?.stop()}},[r,a.layoutMode,e,y,v]),A.useEffect(()=>()=>{ve.current!==null&&(window.clearTimeout(ve.current),ve.current=null),he.current!==null&&(window.clearTimeout(he.current),he.current=null),Ie.current!==null&&(window.cancelAnimationFrame(Ie.current),Ie.current=null),T.current?.kill(),T.current=null},[]);const Ir=A.useCallback(()=>{Tt()},[Tt]);return N.jsxDEV("div",{style:{position:"relative",width:"100%",height:"100%"},children:[N.jsxDEV("div",{ref:G,className:x,style:{width:"100%",height:"100%",background:"transparent"}},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphCanvas.tsx",lineNumber:2056,columnNumber:9},this),N.jsxDEV("canvas",{ref:V,style:{position:"absolute",inset:0,width:"100%",height:"100%",pointerEvents:"none",zIndex:4}},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphCanvas.tsx",lineNumber:2061,columnNumber:9},this),w.length?N.jsxDEV("div",{style:{position:"absolute",inset:0,pointerEvents:"none",zIndex:6},children:w.map((M,H)=>N.jsxDEV("div",{style:{position:"absolute",inset:0},children:M},`graph-plugin-overlay-${H}`,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphCanvas.tsx",lineNumber:2075,columnNumber:55},this))},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphCanvas.tsx",lineNumber:2069,columnNumber:34},this):null,g?N.jsxDEV("button",{id:"graph-fit-view-btn",onClick:Ir,style:{position:"absolute",bottom:24,left:24,padding:"8px 16px",background:"linear-gradient(135deg, rgba(27, 79, 170, 0.9), rgba(53, 123, 255, 0.84))",color:"#16181d",border:`1px solid ${E.palette.background.shellBorder}`,borderRadius:10,cursor:"pointer",fontWeight:700,zIndex:10,backdropFilter:"blur(10px)",boxShadow:`0 10px 28px ${E.palette.background.shellGlow}`,fontSize:12,letterSpacing:"0.01em"},children:"Fit View"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphCanvas.tsx",lineNumber:2082,columnNumber:30},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphCanvas.tsx",lineNumber:2051,columnNumber:10},this)}),Du=A.forwardRef(function(e,o){const r=Xe.c(26);if(r[0]!=="34a2ed6bef1a7df66f98f7869ae3852e0da6b39ceb93661a7314cab99b13149d"){for(let g=0;g<26;g+=1)r[g]=Symbol.for("react.memo_cache_sentinel");r[0]="34a2ed6bef1a7df66f98f7869ae3852e0da6b39ceb93661a7314cab99b13149d"}let a,n,s,i,l,u,d,c,p;r[1]!==e?({onNodeSelect:d,onEdgeSelect:i,onInteractionStateChange:l,onCameraStateChange:n,onDiagnosticsChange:s,onAnalyticsChange:a,onRuntimeChange:c,onLayoutRunningChange:u,...p}=e,r[1]=e,r[2]=a,r[3]=n,r[4]=s,r[5]=i,r[6]=l,r[7]=u,r[8]=d,r[9]=c,r[10]=p):(a=r[2],n=r[3],s=r[4],i=r[5],l=r[6],u=r[7],d=r[8],c=r[9],p=r[10]);const b=A.useRef(null),m=A.useRef(null);let f,y;r[11]!==u?(f=()=>({fitView:()=>b.current?.fitView(),focusNode:g=>b.current?.focusNode(g),zoomIn:()=>b.current?.zoomIn(),zoomOut:()=>b.current?.zoomOut(),getRuntime:()=>m.current,setLayoutRunning:u?g=>{u(g)}:void 0}),y=[u],r[11]=u,r[12]=f,r[13]=y):(f=r[12],y=r[13]),A.useImperativeHandle(o,f,y);const h=d??_u;let v;r[14]!==c?(v=g=>{m.current=g,c?.(g)},r[14]=c,r[15]=v):v=r[15];let x;return r[16]!==a||r[17]!==n||r[18]!==s||r[19]!==i||r[20]!==l||r[21]!==u||r[22]!==p||r[23]!==h||r[24]!==v?(x=N.jsxDEV(Iu,{ref:b,onNodeClick:h,onEdgeClick:i,onInteractionStateChange:l,onCameraStateChange:n,onDiagnosticsChange:s,onAnalyticsChange:a,onSceneRuntimeChange:v,onLayoutRunningChange:u,...p},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/SigmaSceneAdapter.tsx",lineNumber:93,columnNumber:10},this),r[16]=a,r[17]=n,r[18]=s,r[19]=i,r[20]=l,r[21]=u,r[22]=p,r[23]=h,r[24]=v,r[25]=x):x=r[25],x});function _u(){}const Sr=["bootstrapping","fetching_nodes","fetching_edges","computing_styling","hydrating_scene","stabilizing_layout"];function yi(t){switch(t){case"bootstrapping":return"Preparing graph session";case"fetching_nodes":return"Loading nodes";case"fetching_edges":return"Loading relationships";case"computing_styling":return"Computing node styling";case"hydrating_scene":return"Hydrating graph scene";case"stabilizing_layout":return"Stabilizing layout";default:return"Graph ready"}}function Gu(t){switch(t){case"bootstrapping":return"Prepare";case"fetching_nodes":return"Nodes";case"fetching_edges":return"Relations";case"computing_styling":return"Styling";case"hydrating_scene":return"Scene";case"stabilizing_layout":return"Layout";default:return"Stage"}}function Mt(t){const e=Sr.indexOf(t.phase);return{phase:t.phase,title:yi(t.phase),message:t.message,progressKind:t.progressKind,loaded:t.loaded??null,total:t.total??null,nodesLoaded:t.nodesLoaded??0,nodesTotal:t.nodesTotal??null,edgesLoaded:t.edgesLoaded??0,edgesTotal:t.edgesTotal??null,showGraphBehind:t.showGraphBehind??!1,stageIndex:e>=0?e+1:Sr.length,stageCount:Sr.length,layoutSource:t.layoutSource,layoutState:t.layoutState}}const Yo=48,vi=.92,Ho=78,Ga=48;function Lu(t,e){return t>0&&t<=Yo&&e<vi}function Pu(t,e){const o=e>=vi,r=Lu(t,e);return{useProvidedCoordinates:o,useSmallGraphLayout:r,layoutReady:o||r}}function Mu(t,e,o){return t.useProvidedCoordinates?{x:e.x??0,y:e.y??0}:t.useSmallGraphLayout?{x:o?.x??0,y:o?.y??0}:{x:e.x??o?.x??0,y:e.y??o?.y??0}}function Ru(t,e){const o=[...new Set(t)].sort((c,p)=>c.localeCompare(p)),r=new Map(o.map(c=>[c,new Set]));e.forEach(({source:c,target:p})=>{!r.has(c)||!r.has(p)||c===p||(r.get(c)?.add(p),r.get(p)?.add(c))});const a=new Set,n=[];o.forEach(c=>{if(a.has(c))return;const p=[],b=[c];for(a.add(c);b.length>0;){const m=b.shift();m&&(p.push(m),[...r.get(m)??[]].sort((f,y)=>f.localeCompare(y)).forEach(f=>{a.has(f)||(a.add(f),b.push(f))}))}p.sort((m,f)=>(r.get(f)?.size??0)-(r.get(m)?.size??0)||m.localeCompare(f)),n.push(p)}),n.sort((c,p)=>p.length-c.length||c[0].localeCompare(p[0]));const s=Math.max(1,Math.ceil(Math.sqrt(n.length))),i=Math.max(1,Math.ceil(n.length/s)),l=Ho*2+Ga,u=Ho*2+Ga,d=new Map;return n.forEach((c,p)=>{const b=p%s,m=Math.floor(p/s),f=(b-(s-1)/2)*l,y=(m-(i-1)/2)*u;if(c.length===1){d.set(c[0],{x:f,y});return}const h=Math.min(Ho,30+c.length*9);c.forEach((v,x)=>{const g=-Math.PI/2+x*Math.PI*2/c.length;d.set(v,{x:f+Math.cos(g)*h,y:y+Math.sin(g)*h})})}),d}const ju=["community","cluster","module","group","category","domain","layer","source","nodeType"],Hu=["source","source_url","pmid","pmids","evidence","provenance","confidence"];function La(t,e){if(e==="nodeType"){const r=t.nodeType;return typeof r=="string"&&r.trim()?r:null}const o=t.properties?.[e];return typeof o=="string"&&o.trim()?o:null}function Tu(t,e){if(t.length<=1||e<=0)return 0;let o=0;for(const r of t){const a=r/e;o-=a*Math.log(a)}return o/Math.log(t.length)}function Wu(t){let e=null,o=0;for(const r of ju){const a=new Map;let n=0;for(const m of t){const f=La(m.attributes,r);f&&(n+=1,a.set(f,(a.get(f)??0)+1))}const s=a.size;if(n===0||s<=1)continue;const i=[...a.values()],l=n/t.length,u=Math.max(...i)/n,d=Tu(i,n),c=Math.min(s,E.palette.semantic.length)/E.palette.semantic.length,p=d*.65+c*.2+l*.15;l>=.45&&d>=.45&&u<=.88&&p>o&&(e=r,o=p)}return e?(r,a)=>La(a,e)??Xo(r,a):(r,a)=>Xo(r,a)}function Xo(t,e){const o=Rt(t)%E.palette.semantic.length;return`${e.nodeType||"entity"}:${o}`}function Qr(t){const e=Number(t);return Number.isFinite(e)?e:null}function To(t){return Rt(t)%1e4/1e4}function zu(t){const e=new Map;t.forEach(n=>{const s=e.get(n.semanticGroup);s?s.push({id:n.id,priority:n.priority}):e.set(n.semanticGroup,[{id:n.id,priority:n.priority}])});const o=[...e.entries()].sort((n,s)=>{const i=s[1].length-n[1].length;return i!==0?i:n[0].localeCompare(s[0])}),r=new Map;o.forEach(([n,s],i)=>{const l=i*2.399963229728653,u=170+Math.sqrt(i+1)*195,d=72+Math.sqrt(s.length)*16;r.set(n,{x:Math.cos(l)*u*1.14,y:Math.sin(l)*u*.84,spread:d})});const a=new Map;return o.forEach(([n,s])=>{const i=r.get(n);i&&s.sort((l,u)=>u.priority!==l.priority?u.priority-l.priority:l.id.localeCompare(u.id)).forEach((l,u)=>{const d=u*2.399963229728653+To(`${n}:${l.id}:angle`)*.72,c=Math.sqrt((u+.5)/Math.max(s.length,1))*i.spread,p=(To(`${l.id}:jx`)-.5)*i.spread*.22,b=(To(`${l.id}:jy`)-.5)*i.spread*.18;a.set(l.id,{x:i.x+Math.cos(d)*c+p,y:i.y+Math.sin(d)*c*.86+b})})}),a}function Vu(t){return Hu.reduce((e,o)=>t[o]!==void 0&&t[o]!==null?e+1:e,0)}function Uu(t,e){return qa(t.nodeType,e,t.content,t.properties)}function Ou(t,e,o,r){let a="default",n,s;o?(a="temporal",n="temporal"):r>0&&(a="provenance",n="provenance",s=r);let i="none";return e>=.86?i="always":n?i="local":e>=.56&&(i="priority"),{nodeVariant:a,nodeShapeVariant:a,badgeKind:n,badgeCount:s,ringColor:E.nodes.selectedRing.color,haloColor:K(t,.38),labelVisibilityPolicy:i}}function Bu(t,e,o,r){const a=ut(.12,.18+Math.log(Math.max(Number(t.weight)||1,1))/Math.log(12),1);let n="line";return r?n="bidirectionalCurve":Math.max(e,o,a)>=.58&&(n="directional"),{edgeVariant:n,arrowVisibilityPolicy:n==="line"?"hidden":"contextual",relationshipStrength:a,isParallelPair:!1,parallelIndex:0,parallelCount:1}}const xi=1e3;async function Si(t){try{const o=(await t.json())?.detail;if(typeof o=="string"&&o.trim())return` — ${o.trim()}`}catch{}return""}async function Fu(t,e){let o=null;const r=[];let a=null;for(;;){const n=new URL("/api/graph/nodes",window.location.origin);n.searchParams.set("limit",String(xi)),o&&n.searchParams.set("cursor",o);const s=await fetch(n.toString(),{signal:t});if(!s.ok)throw new Error(`Fetch failed: ${s.status}${await Si(s)}`);const i=await s.json();if(!i.nodes?.length||(a=i.total??a,r.push(...i.nodes),e?.(Mt({phase:"fetching_nodes",progressKind:a?"determinate":"indeterminate",loaded:r.length,total:a,nodesLoaded:r.length,nodesTotal:a,edgesLoaded:0,edgesTotal:null,message:a?`Loading nodes ${r.length.toLocaleString()} of ${a.toLocaleString()}`:`Loading nodes ${r.length.toLocaleString()}`})),!i.next_cursor))break;o=i.next_cursor,await wi()}return r}async function $u(t,e,o,r){let a=null;const n=[],s=new Set;let i=null,l=!1;for(;;){const u=new URL("/api/graph/edges",window.location.origin);u.searchParams.set("limit",String(xi)),a&&u.searchParams.set("cursor",a);const d=await fetch(u.toString(),{signal:t});if(!d.ok)throw new Error(`Fetch failed: ${d.status}${await Si(d)}`);const c=await d.json();if(!c.edges?.length)break;i=c.total??i;const p=c.edges.filter(m=>!e.has(m.source)||!e.has(m.target)||s.has(m.id)?!1:(s.add(m.id),!0));n.push(...p);const b=i?Math.min(s.size,i):s.size;if(!l&&i!==null&&s.size>i&&(l=!0,console.warn("[graph-load] edge pagination returned more unique edge ids than total",{uniqueEdgesLoaded:s.size,total:i})),r?.(Mt({phase:"fetching_edges",progressKind:i?"determinate":"indeterminate",loaded:b,total:i,nodesLoaded:o.loaded,nodesTotal:o.total,edgesLoaded:b,edgesTotal:i,message:i?`Loading edges ${b.toLocaleString()} of ${i.toLocaleString()}`:`Loading edges ${b.toLocaleString()}`})),!c.next_cursor)break;a=c.next_cursor,await wi()}return n}function wi(){return"scheduler"in window&&typeof window.scheduler?.yield=="function"?window.scheduler.yield():new Promise(t=>setTimeout(t,0))}function qu(t){const e=Xe.c(10);if(e[0]!=="48a72dfcbbe2d3d5c2ef8e2960fbf52341bd3ec919fe84ab9e9025aeb73a2f82"){for(let c=0;c<10;c+=1)e[c]=Symbol.for("react.memo_cache_sentinel");e[0]="48a72dfcbbe2d3d5c2ef8e2960fbf52341bd3ec919fe84ab9e9025aeb73a2f82"}let o;e[1]!==t?(o=t===void 0?{}:t,e[1]=t,e[2]=o):o=e[2];const r=o,{enabled:a,onGraphReady:n,onProgress:s}=r,i=a===void 0?!0:a;let l;e[3]===Symbol.for("react.memo_cache_sentinel")?(l=["graph","full-load"],e[3]=l):l=e[3];let u;e[4]!==n||e[5]!==s?(u=async c=>{const{signal:p}=c,b=performance.now();s?.(Mt({phase:"bootstrapping",progressKind:"indeterminate",nodesLoaded:0,nodesTotal:null,edgesLoaded:0,edgesTotal:null,message:"Preparing graph session"}));const m=await Fu(p,s),f=new Set(m.map(Qu)),y=await $u(p,f,{loaded:m.length,total:m.length},s),h=new Map;for(const P of f)h.set(P,0);for(const P of y)h.set(P.source,(h.get(P.source)??0)+1),h.set(P.target,(h.get(P.target)??0)+1);const v=Math.max(...h.values(),1),x=m.map(Zu);s?.(Mt({phase:"computing_styling",progressKind:"indeterminate",nodesLoaded:m.length,nodesTotal:m.length,edgesLoaded:y.length,edgesTotal:y.length,message:"Applying semantic color, sizing, and structural styling"}));const g=Wu(x),w=new Map;for(const P of f){const z=h.get(P)??0,te=Math.log(z+1)/Math.log(v+1);w.set(P,te)}const C=new Map;x.forEach(P=>{const{id:z,attributes:te}=P;C.set(z,g(z,te))});const I=m.reduce(Xu,0),k=m.length>0?I/m.length:0,{useProvidedCoordinates:D,useSmallGraphLayout:_,layoutReady:L}=Pu(m.length,k),G=D?null:_?Ru(m.map(Yu),y):zu(x.map(P=>{const{id:z,attributes:te}=P;return{id:z,semanticGroup:C.get(z)??Xo(z,te),priority:w.get(z)??0}})),V=x.map(P=>{const{id:z,attributes:te}=P,Q=C.get(z)??g(z,te),B=Rt(Q)%E.palette.semantic.length,le=E.palette.semantic[B],J=w.get(z)??0,re=_?ut(5.2,5.2+6.6*J,11.8):ut(1.8,1.8+8.8*J,11.8),ce=!!(te.valid_from||te.valid_until),ue=Vu(te.properties??{}),ge=te.properties,se=Uu(te,Q),Ce=Qr(ge?.x),_e=Qr(ge?.y),be=G?.get(z),{x:Me,y:we}=Mu({useProvidedCoordinates:D,useSmallGraphLayout:_},{x:Ce,y:_e},be);return{id:z,attributes:{...te,x:Me,y:we,semanticGroup:Q,color:le,baseColor:le,mutedColor:K(le,E.nodes.mutedAlpha),glowColor:K(le,.24),size:re,baseSize:re,visualPriority:J,labelPriority:J,strokeColor:Rn(le,112),borderColor:Rn(le,112),borderSize:.72,entityShape:se,...Ou(le,J,ce,ue),..._?{labelVisibilityPolicy:"always"}:{}}}}),q=new Set(y.map(Ku)),W=new Map,F=new Map;y.forEach(P=>{const z=br(P.source,P.target);W.set(z,(W.get(z)??0)+1),F.set(P.familyId,(F.get(P.familyId)??0)+1)});const ee=new Map,U=y.map(P=>{const z=w.get(P.source)??0,te=w.get(P.target)??0,Q=q.has(br(P.target,P.source)),B=br(P.source,P.target),le=ee.get(B)??0;ee.set(B,le+1);const J=W.get(B)??1,re=ut(0,Math.log1p(Math.max(Number(P.weight)||1,1))/6,1),ce=ut(0,Math.sqrt(Math.max(z,0)*Math.max(te,0))*.72+re*.28,1);return{id:P.id,familyId:P.familyId,source:P.source,target:P.target,attributes:{edgeId:P.id,familyId:P.familyId,sourceId:P.source,targetId:P.target,weight:P.weight,edgeType:P.type,properties:P.properties,size:ut(.18,.22+Math.sqrt(Math.max(Number(P.weight)||1,1))*.2,.88),baseSize:ut(.18,.22+Math.sqrt(Math.max(Number(P.weight)||1,1))*.2,.88),color:E.palette.muted.edgeStructure,baseColor:E.palette.muted.edgeStructure,mutedColor:E.palette.muted.edgeOverview,visualPriority:ce,isBidirectional:Q,edgeFamily:Q?"bidirectional":"line",curveGroup:Jo(P.source,P.target),type:"line",isParallelPair:J>1,parallelIndex:le,parallelCount:J,familySize:F.get(P.familyId)??1,isSmallGraph:_,...Bu(P,z,te,Q)}}});s?.(Mt({phase:"hydrating_scene",progressKind:"indeterminate",nodesLoaded:V.length,nodesTotal:V.length,edgesLoaded:U.length,edgesTotal:U.length,message:"Preparing renderer and hydrating graph scene"}));try{ws()}catch(P){const z=P;throw console.error("[graph-load] clearGraph failed",z),z}try{Ba(V)}catch(P){const z=P;throw console.error("[graph-load] batchMergeNodes failed",z),z}try{Fa(U)}catch(P){const z=P;throw console.error("[graph-load] batchMergeEdges failed",z),z}const T={nodeCount:V.length,edgeCount:U.length,loadTimeMs:Math.round(performance.now()-b),hasCoordinates:D,layoutSource:D?"provided":"runtime",layoutReady:L};return s?.(Mt({phase:T.layoutReady?"ready":"stabilizing_layout",progressKind:"indeterminate",nodesLoaded:T.nodeCount,nodesTotal:T.nodeCount,edgesLoaded:T.edgeCount,edgesTotal:T.edgeCount,message:T.layoutReady?"Graph ready":"Settling runtime layout",showGraphBehind:!T.layoutReady,layoutSource:T.layoutSource,layoutState:T.layoutReady?"interactive":"bootstrapping"})),n?.(T),T},e[4]=n,e[5]=s,e[6]=u):u=e[6];let d;return e[7]!==i||e[8]!==u?(d={queryKey:l,enabled:i,staleTime:1/0,retry:0,queryFn:u},e[7]=i,e[8]=u,e[9]=d):d=e[9],$i(d)}function Ku(t){return br(t.source,t.target)}function Yu(t){return t.id}function Xu(t,e){const o=e.properties;return Qr(o?.x)!==null&&Qr(o?.y)!==null?t+1:t}function Zu(t){return{id:t.id,attributes:{label:t.content||t.id,x:0,y:0,nodeType:t.type,content:t.content,valid_from:t.valid_from,valid_until:t.valid_until,properties:t.properties}}}function Qu(t){return t.id}function Ju(){const t=Xe.c(3);if(t[0]!=="48a72dfcbbe2d3d5c2ef8e2960fbf52341bd3ec919fe84ab9e9025aeb73a2f82"){for(let r=0;r<3;r+=1)t[r]=Symbol.for("react.memo_cache_sentinel");t[0]="48a72dfcbbe2d3d5c2ef8e2960fbf52341bd3ec919fe84ab9e9025aeb73a2f82"}const e=Fi();let o;return t[1]!==e?(o=()=>e.invalidateQueries({queryKey:["graph","full-load"]}),t[1]=e,t[2]=o):o=t[2],o}const Pa=`
417
417
  .graph-stage-loader {
418
418
  position: absolute;
419
419
  inset: 0;
@@ -437,8 +437,8 @@ void main() {
437
437
  background:
438
438
  radial-gradient(circle at top right, rgba(242, 182, 109, 0.12), transparent 28%),
439
439
  radial-gradient(circle at top left, rgba(255, 107, 129, 0.14), transparent 30%),
440
- linear-gradient(145deg, rgba(11, 5, 8, 0.94), rgba(12, 25, 43, 0.82));
441
- box-shadow: 0 26px 90px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255,255,255,0.05);
440
+ linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.82));
441
+ box-shadow: 0 26px 90px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(28, 20, 24,0.05);
442
442
  backdrop-filter: blur(18px) saturate(1.08);
443
443
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
444
444
  }
@@ -447,8 +447,8 @@ void main() {
447
447
  background:
448
448
  radial-gradient(circle at top right, rgba(242, 182, 109, 0.08), transparent 26%),
449
449
  radial-gradient(circle at top left, rgba(255, 107, 129, 0.12), transparent 28%),
450
- linear-gradient(145deg, rgba(11, 5, 8, 0.84), rgba(11, 24, 40, 0.72));
451
- box-shadow: 0 18px 54px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255,255,255,0.04);
450
+ linear-gradient(145deg, rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.72));
451
+ box-shadow: 0 18px 54px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(28, 20, 24,0.04);
452
452
  }
453
453
  .graph-stage-loader-beacon {
454
454
  position: relative;
@@ -481,7 +481,7 @@ void main() {
481
481
  text-transform: uppercase;
482
482
  border: 1px solid rgba(255, 107, 129, 0.08);
483
483
  color: rgba(143, 168, 198, 0.72);
484
- background: rgba(255, 255, 255, 0.02);
484
+ background: rgba(28, 20, 24, 0.02);
485
485
  }
486
486
  .graph-stage-loader-step[data-state="done"] {
487
487
  color: rgba(214, 232, 250, 0.92);
@@ -489,10 +489,10 @@ void main() {
489
489
  background: rgba(89, 155, 220, 0.14);
490
490
  }
491
491
  .graph-stage-loader-step[data-state="active"] {
492
- color: #eff7ff;
492
+ color: #16222d;
493
493
  border-color: rgba(242, 182, 109, 0.24);
494
494
  background: linear-gradient(135deg, rgba(49, 108, 172, 0.28), rgba(242, 182, 109, 0.16));
495
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
495
+ box-shadow: inset 0 1px 0 rgba(28, 20, 24, 0.06);
496
496
  }
497
497
  .graph-stage-loader-bar {
498
498
  position: relative;
@@ -501,7 +501,7 @@ void main() {
501
501
  overflow: hidden;
502
502
  border-radius: 999px;
503
503
  border: 1px solid rgba(255, 107, 129, 0.1);
504
- background: rgba(255, 255, 255, 0.05);
504
+ background: rgba(28, 20, 24, 0.05);
505
505
  }
506
506
  .graph-stage-loader-bar-fill {
507
507
  display: block;
@@ -535,7 +535,7 @@ void main() {
535
535
  border-color: rgba(255, 123, 114, 0.32);
536
536
  background:
537
537
  radial-gradient(circle at top left, rgba(255, 123, 114, 0.12), transparent 32%),
538
- linear-gradient(145deg, rgba(11, 5, 8, 0.96), rgba(24, 14, 18, 0.86));
538
+ linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.86));
539
539
  }
540
540
  .graph-stage-loader-error-mark {
541
541
  width: 38px;
@@ -544,7 +544,7 @@ void main() {
544
544
  border-radius: 12px;
545
545
  display: grid;
546
546
  place-items: center;
547
- color: #ff9e97;
547
+ color: #46211e;
548
548
  background: rgba(255, 123, 114, 0.12);
549
549
  border: 1px solid rgba(255, 123, 114, 0.28);
550
550
  }
@@ -553,7 +553,7 @@ void main() {
553
553
  border-radius: 10px;
554
554
  background: rgba(0, 0, 0, 0.32);
555
555
  border: 1px solid rgba(255, 123, 114, 0.18);
556
- color: #ffb4ae;
556
+ color: #562925;
557
557
  font-family: "JetBrains Mono", "Fira Code", Consolas, monospace;
558
558
  font-size: 12px;
559
559
  line-height: 1.55;
@@ -570,7 +570,7 @@ void main() {
570
570
  cursor: pointer;
571
571
  border: 1px solid rgba(255, 107, 129, 0.4);
572
572
  background: linear-gradient(135deg, rgba(255, 45, 75, 0.28), rgba(56, 210, 160, 0.16));
573
- color: #ffeef1;
573
+ color: #2d161a;
574
574
  transition: 160ms ease;
575
575
  }
576
576
  .graph-stage-loader-retry:hover {
@@ -579,10 +579,10 @@ void main() {
579
579
  transform: translateY(-1px);
580
580
  }
581
581
  .graph-stage-loader-retry:focus-visible {
582
- outline: 2px solid #ff6b81;
582
+ outline: 2px solid #d41736;
583
583
  outline-offset: 2px;
584
584
  }
585
- `;function ed(t){switch(t){case"provided":return"Persisted layout";case"carried":return"Preserved layout";case"runtime":return"Runtime layout";default:return null}}function td(t){switch(t){case"bootstrapping":return"Bootstrapping";case"running":return"Settling";case"interactive":return"Interactive";case"stabilized":return"Stable";case"failed":return"Fallback";default:return null}}const Wo={display:"inline-flex",alignItems:"center",gap:6,padding:"7px 10px",borderRadius:999,border:"1px solid rgba(255, 107, 129, 0.12)",background:"rgba(255, 255, 255, 0.03)",color:"#b8cade",fontSize:11,fontWeight:600};function rd(t){const e=Xe.c(112);if(e[0]!=="7f6f4f4045d52fc50b3f963151406ca6f48105cf038fe12661fb8c670c22ab8b"){for(let de=0;de<112;de+=1)e[de]=Symbol.for("react.memo_cache_sentinel");e[0]="7f6f4f4045d52fc50b3f963151406ca6f48105cf038fe12661fb8c670c22ab8b"}const{progress:o,visible:r,showGraphBehind:a,error:n,onRetry:s}=t,i=n===void 0?null:n,[l,u]=A.useState(r),[d,c]=A.useState(!1);let p;e[1]!==o?(p=o??Mt({phase:"bootstrapping",message:"Preparing graph session",progressKind:"indeterminate"}),e[1]=o,e[2]=p):p=e[2];const[b,m]=A.useState(p),f=A.useRef(null);let y,h;e[3]!==o?(y=()=>{o&&m(o)},h=[o],e[3]=o,e[4]=y,e[5]=h):(y=e[4],h=e[5]),A.useEffect(y,h);let v,x;if(e[6]!==l||e[7]!==r?(v=()=>{if(r){f.current!==null&&(window.clearTimeout(f.current),f.current=null),u(!0),c(!1);return}if(l)return c(!0),f.current=window.setTimeout(()=>{u(!1),c(!1),f.current=null},220),()=>{f.current!==null&&(window.clearTimeout(f.current),f.current=null)}},x=[l,r],e[6]=l,e[7]=r,e[8]=v,e[9]=x):(v=e[8],x=e[9]),A.useEffect(v,x),!l)return null;if(i){let de,ie;e[10]===Symbol.for("react.memo_cache_sentinel")?(de={background:"linear-gradient(180deg, rgba(1,4,9,0.22), rgba(1,4,9,0.5))"},ie=N.jsxDEV("style",{children:Pa},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:315,columnNumber:12},this),e[10]=de,e[11]=ie):(de=e[10],ie=e[11]);let De;e[12]===Symbol.for("react.memo_cache_sentinel")?(De={display:"flex",alignItems:"flex-start",gap:14,marginBottom:14},e[12]=De):De=e[12];let je;e[13]===Symbol.for("react.memo_cache_sentinel")?(je=N.jsxDEV("div",{style:De,children:[N.jsxDEV("div",{className:"graph-stage-loader-error-mark","aria-hidden":"true",children:N.jsxDEV(ms,{size:18,strokeWidth:2.2},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:336,columnNumber:95},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:336,columnNumber:29},this),N.jsxDEV("div",{style:{minWidth:0},children:[N.jsxDEV("div",{style:{color:"#ffffff",fontSize:20,fontWeight:700,letterSpacing:"-0.03em",marginBottom:6},children:"Could not load the graph"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:338,columnNumber:12},this),N.jsxDEV("div",{style:{color:"#c99aa3",fontSize:13,lineHeight:1.5},children:"The Explorer API did not return graph data. Check that the backend is running and reachable, then try again."},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:344,columnNumber:44},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:336,columnNumber:146},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:336,columnNumber:13},this),e[13]=je):je=e[13];let Ue;e[14]!==i?(Ue=N.jsxDEV("div",{className:"graph-stage-loader-error-detail",children:i},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:355,columnNumber:13},this),e[14]=i,e[15]=Ue):Ue=e[15];let Be;e[16]!==s?(Be=s?N.jsxDEV("div",{style:{display:"flex",gap:10,marginTop:16},children:N.jsxDEV("button",{type:"button",className:"graph-stage-loader-retry",onClick:s,children:[N.jsxDEV(Va,{size:14,strokeWidth:2.2,"aria-hidden":!0},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:367,columnNumber:87},this),"Retry"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:367,columnNumber:10},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:363,columnNumber:23},this):null,e[16]=s,e[17]=Be):Be=e[17];let Re;e[18]!==Ue||e[19]!==Be?(Re=N.jsxDEV("div",{className:"graph-stage-loader-card","data-error":"true",role:"alert",children:[je,Ue,Be]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:375,columnNumber:13},this),e[18]=Ue,e[19]=Be,e[20]=Re):Re=e[20];let st;return e[21]!==d||e[22]!==Re?(st=N.jsxDEV("div",{className:"graph-stage-loader","data-exiting":d,style:de,children:[ie,Re]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:384,columnNumber:13},this),e[21]=d,e[22]=Re,e[23]=st):st=e[23],st}const g=o??b,w=g.phase==="stabilizing_layout"||g.showGraphBehind||a,C=w?"linear-gradient(180deg, rgba(1,4,9,0.04), rgba(1,4,9,0.18))":"linear-gradient(180deg, rgba(1,4,9,0.22), rgba(1,4,9,0.5))",I=g.progressKind==="determinate"&&g.total?Math.max(.05,Math.min(g.loaded??0,g.total)/Math.max(g.total,1)):null;let k;e[24]!==g.layoutSource?(k=ed(g.layoutSource),e[24]=g.layoutSource,e[25]=k):k=e[25];const D=k;let _;e[26]!==g.layoutState?(_=td(g.layoutState),e[26]=g.layoutState,e[27]=_):_=e[27];const L=_;let G;e[28]!==C?(G={background:C},e[28]=C,e[29]=G):G=e[29];let V;e[30]===Symbol.for("react.memo_cache_sentinel")?(V=N.jsxDEV("style",{children:Pa},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:427,columnNumber:11},this),e[30]=V):V=e[30];let q,W,F;e[31]===Symbol.for("react.memo_cache_sentinel")?(q={display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:14,marginBottom:14},W={minWidth:0},F={color:"#ffffff",fontSize:20,fontWeight:700,letterSpacing:"-0.03em",marginBottom:6},e[31]=q,e[32]=W,e[33]=F):(q=e[31],W=e[32],F=e[33]);let ee;e[34]!==g.title?(ee=N.jsxDEV("div",{style:F,children:g.title},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:463,columnNumber:11},this),e[34]=g.title,e[35]=ee):ee=e[35];let U;e[36]===Symbol.for("react.memo_cache_sentinel")?(U={color:"#c99aa3",fontSize:13,lineHeight:1.5},e[36]=U):U=e[36];let T;e[37]!==g.message?(T=N.jsxDEV("div",{style:U,children:g.message},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:482,columnNumber:11},this),e[37]=g.message,e[38]=T):T=e[38];let P;e[39]!==ee||e[40]!==T?(P=N.jsxDEV("div",{style:W,children:[ee,T]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:490,columnNumber:11},this),e[39]=ee,e[40]=T,e[41]=P):P=e[41];let z,te,Q;e[42]===Symbol.for("react.memo_cache_sentinel")?(z={display:"inline-flex",alignItems:"center",gap:10,flexShrink:0},te=N.jsxDEV("div",{className:"graph-stage-loader-beacon","aria-hidden":"true"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:507,columnNumber:11},this),Q={color:"#d7e9fb",fontSize:11,fontWeight:700,letterSpacing:"0.08em",textTransform:"uppercase"},e[42]=z,e[43]=te,e[44]=Q):(z=e[42],te=e[43],Q=e[44]);const O=g.stageIndex??1,le=g.stageCount??Sr.length;let J;e[45]!==O||e[46]!==le?(J=N.jsxDEV("div",{style:z,children:[te,N.jsxDEV("div",{style:Q,children:["Stage ",O,"/",le]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:527,columnNumber:33},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:527,columnNumber:11},this),e[45]=O,e[46]=le,e[47]=J):J=e[47];let re;e[48]!==P||e[49]!==J?(re=N.jsxDEV("div",{style:q,children:[P,J]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:536,columnNumber:11},this),e[48]=P,e[49]=J,e[50]=re):re=e[50];let ce;e[51]===Symbol.for("react.memo_cache_sentinel")?(ce={marginBottom:14},e[51]=ce):ce=e[51];let ue;e[52]!==g.stageIndex?(ue=Sr.map((de,ie)=>{const De=g.stageIndex??1,je=ie+1<De?"done":ie+1===De?"active":"upcoming";return N.jsxDEV("div",{className:"graph-stage-loader-step","data-state":je,children:Gu(de)},de,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:557,columnNumber:14},this)}),e[52]=g.stageIndex,e[53]=ue):ue=e[53];let ge;e[54]!==ue?(ge=N.jsxDEV("div",{className:"graph-stage-loader-track",style:ce,children:ue},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:566,columnNumber:11},this),e[54]=ue,e[55]=ge):ge=e[55];let se,Ce;e[56]===Symbol.for("react.memo_cache_sentinel")?(se={display:"flex",justifyContent:"space-between",gap:12,alignItems:"baseline",marginBottom:8},Ce={color:"#dce9f6",fontSize:12,fontWeight:600},e[56]=se,e[57]=Ce):(se=e[56],Ce=e[57]);let _e;e[58]!==g.loaded||e[59]!==g.progressKind||e[60]!==g.total?(_e=g.progressKind==="determinate"&&g.total?`${(g.loaded??0).toLocaleString()} / ${g.total.toLocaleString()} in current stage`:"Working through this stage",e[58]=g.loaded,e[59]=g.progressKind,e[60]=g.total,e[61]=_e):_e=e[61];let be;e[62]!==_e?(be=N.jsxDEV("div",{style:Ce,children:_e},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:605,columnNumber:11},this),e[62]=_e,e[63]=be):be=e[63];let Me;e[64]===Symbol.for("react.memo_cache_sentinel")?(Me={color:"#90a8c5",fontSize:11,fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase"},e[64]=Me):Me=e[64];let we;e[65]!==g.progressKind||e[66]!==I?(we=g.progressKind==="determinate"&&I!==null?`${Math.round(I*100)}%`:"Live",e[65]=g.progressKind,e[66]=I,e[67]=we):we=e[67];let Qe;e[68]!==we?(Qe=N.jsxDEV("div",{style:Me,children:we},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:635,columnNumber:11},this),e[68]=we,e[69]=Qe):Qe=e[69];let Je;e[70]!==be||e[71]!==Qe?(Je=N.jsxDEV("div",{style:se,children:[be,Qe]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:643,columnNumber:11},this),e[70]=be,e[71]=Qe,e[72]=Je):Je=e[72];const $e=`graph-stage-loader-bar ${g.progressKind==="indeterminate"?"graph-stage-loader-bar-indeterminate":""}`;let pt;e[73]!==g.progressKind||e[74]!==I?(pt=g.progressKind==="determinate"&&I!==null?N.jsxDEV("span",{className:"graph-stage-loader-bar-fill",style:{width:`${Math.round(I*100)}%`}},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:653,columnNumber:88},this):null,e[73]=g.progressKind,e[74]=I,e[75]=pt):pt=e[75];let We;e[76]!==$e||e[77]!==pt?(We=N.jsxDEV("div",{className:$e,children:pt},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:664,columnNumber:11},this),e[76]=$e,e[77]=pt,e[78]=We):We=e[78];let et;e[79]===Symbol.for("react.memo_cache_sentinel")?(et={display:"flex",gap:10,flexWrap:"wrap",marginTop:14},e[79]=et):et=e[79];let ht;e[80]!==g.nodesLoaded?(ht=g.nodesLoaded.toLocaleString(),e[80]=g.nodesLoaded,e[81]=ht):ht=e[81];let Ze;e[82]!==g.nodesTotal?(Ze=g.nodesTotal?` / ${g.nodesTotal.toLocaleString()}`:"",e[82]=g.nodesTotal,e[83]=Ze):Ze=e[83];let it;e[84]!==ht||e[85]!==Ze?(it=N.jsxDEV("span",{style:Wo,children:[ht,Ze," nodes"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:701,columnNumber:11},this),e[84]=ht,e[85]=Ze,e[86]=it):it=e[86];let tt;e[87]!==g.edgesLoaded?(tt=g.edgesLoaded.toLocaleString(),e[87]=g.edgesLoaded,e[88]=tt):tt=e[88];let Ie;e[89]!==g.edgesTotal?(Ie=g.edgesTotal?` / ${g.edgesTotal.toLocaleString()}`:"",e[89]=g.edgesTotal,e[90]=Ie):Ie=e[90];let qe;e[91]!==tt||e[92]!==Ie?(qe=N.jsxDEV("span",{style:Wo,children:[tt,Ie," relationships"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:726,columnNumber:11},this),e[91]=tt,e[92]=Ie,e[93]=qe):qe=e[93];let xe;e[94]!==D||e[95]!==L?(xe=D?N.jsxDEV("span",{style:{...Wo,color:"#a9ddff",borderColor:K(E.palette.accent.hovered,.22)},children:[D,L?` · ${L}`:""]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:735,columnNumber:26},this):null,e[94]=D,e[95]=L,e[96]=xe):xe=e[96];let ve;e[97]!==it||e[98]!==qe||e[99]!==xe?(ve=N.jsxDEV("div",{style:et,children:[it,qe,xe]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:748,columnNumber:11},this),e[97]=it,e[98]=qe,e[99]=xe,e[100]=ve):ve=e[100];let he;e[101]!==w||e[102]!==re||e[103]!==ge||e[104]!==Je||e[105]!==We||e[106]!==ve?(he=N.jsxDEV("div",{className:"graph-stage-loader-card","data-live":w,children:[re,ge,Je,We,ve]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:758,columnNumber:11},this),e[101]=w,e[102]=re,e[103]=ge,e[104]=Je,e[105]=We,e[106]=ve,e[107]=he):he=e[107];let Ke;return e[108]!==d||e[109]!==he||e[110]!==G?(Ke=N.jsxDEV("div",{className:"graph-stage-loader","data-exiting":d,style:G,children:[V,he]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:771,columnNumber:11},this),e[108]=d,e[109]=he,e[110]=G,e[111]=Ke):Ke=e[111],Ke}const Ma={"communities-undetected":"Grouped view is unavailable until communities can be detected.","community-nodes-missing":"Grouped view is unavailable because no community nodes could be created."},od={"no-selection":"Select a node to inspect in Focused mode.","grouped-unresolvable":"Focused mode is unavailable for this grouped selection.","not-in-graph":"Selected item is not available in the current graph."};function Tr(t){if(!t)return null;switch(t.code){case"communities-undetected":return Ma["communities-undetected"];case"community-nodes-missing":return Ma["community-nodes-missing"];case"invalid-community-layout":return`Grouped node ${t.nodeId} has invalid coordinates.`;case"missing-grouped-node":return`Grouped edge ${t.edgeId} references a missing grouped node.`}}function nd(t){return t?od[t.code]:null}function ad(t,e,o){return t!=="focused"||o!==e}const Wr="effects-panel",id=[{key:"pathPulseEnabled",label:"Path Pulse",description:"Animated pulse on the active selected path."},{key:"pathFlowEnabled",label:"Path Flow",description:"Directional flow accents along the active selected path."},{key:"lensEnabled",label:"Neighborhood Lens",description:"Local emphasis around the hovered or selected node."},{key:"temporalEmphasisEnabled",label:"Temporal Emphasis",description:"Subtle glow around temporally relevant nodes in the active time window."},{key:"semanticRegionsEnabled",label:"Semantic Regions",description:"Quiet semantic hulls around the strongest visible topic clusters."},{key:"contoursEnabled",label:"Contours",description:"Low-contrast density halos around the strongest visible anchors."},{key:"edgeLabelsEnabled",label:"Edge Labels",description:"Draw the relationship type on graph edges. Off restores label-free edges on dense graphs."},{key:"legendEnabled",label:"Regions Summary",description:"Keep the regions and signals summary visible in the Effects panel."}],sd=[{key:"pathfindingEnabled",label:"Directed Pathfinding",description:"Compare the traced path against a strict local directed shortest path."},{key:"communitiesEnabled",label:"Community Regions",description:"Detect stable Louvain communities for orientation and scene grouping."},{key:"centralityEnabled",label:"Centrality Ranking",description:"Rank the strongest graph anchors for labels, regions, and navigation."}],ld={pathPulseEnabled:"pathPulse",pathFlowEnabled:"pathFlow",lensEnabled:"lens",temporalEmphasisEnabled:"temporalEmphasis",semanticRegionsEnabled:"semanticRegions",contoursEnabled:"contours",pathfindingEnabled:"pathfinding",communitiesEnabled:"communities",centralityEnabled:"centrality",legendEnabled:"legend",edgeLabelsEnabled:"edgeLabels",diagnosticsEnabled:"diagnostics"};function cd(t){return t.available?typeof t.visibleSegments=="number"&&typeof t.segmentCap=="number"?`${t.reason} - ${t.visibleSegments}/${t.segmentCap} segments`:t.reason:t.detail?`${t.reason} - ${t.detail}`:t.reason}function ud(t){return $a(t.graph,t.theme).sort((e,o)=>o.count-e.count).slice(0,t.theme.effects.legend.maxGroups)}function zo(t,e,o){return t?.[ld[e]]??{enabled:o,available:!1,reason:"Waiting for graph runtime"}}function Vo(t){const e=Xe.c(21);if(e[0]!=="f4c2726779a6235cb5fb837037b3f1a0ab608718c50f559d099de9f1d3950a80"){for(let h=0;h<21;h+=1)e[h]=Symbol.for("react.memo_cache_sentinel");e[0]="f4c2726779a6235cb5fb837037b3f1a0ab608718c50f559d099de9f1d3950a80"}const{label:o,description:r,checked:a,availability:n,onToggle:s}=t;let i;e[1]===Symbol.for("react.memo_cache_sentinel")?(i={minWidth:0,flex:1},e[1]=i):i=e[1];let l;e[2]!==o?(l=N.jsxDEV("div",{style:or,children:o},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:118,columnNumber:10},this),e[2]=o,e[3]=l):l=e[3];let u;e[4]!==r?(u=N.jsxDEV("div",{style:gd,children:r},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:126,columnNumber:10},this),e[4]=r,e[5]=u):u=e[5];let d;e[6]!==n?(d=cd(n),e[6]=n,e[7]=d):d=e[7];let c;e[8]!==d?(c=N.jsxDEV("div",{style:nr,children:d},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:142,columnNumber:10},this),e[8]=d,e[9]=c):c=e[9];let p;e[10]!==l||e[11]!==u||e[12]!==c?(p=N.jsxDEV("div",{style:i,children:[l,u,c]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:150,columnNumber:10},this),e[10]=l,e[11]=u,e[12]=c,e[13]=p):p=e[13];const b=a?bd:Ni,m=a?"On":"Off";let f;e[14]!==s||e[15]!==b||e[16]!==m?(f=N.jsxDEV("button",{type:"button",onClick:s,style:b,children:m},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:162,columnNumber:10},this),e[14]=s,e[15]=b,e[16]=m,e[17]=f):f=e[17];let y;return e[18]!==p||e[19]!==f?(y=N.jsxDEV("div",{style:md,children:[p,f]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:172,columnNumber:11},this),e[18]=p,e[19]=f,e[20]=y):y=e[20],y}function dd(t,e){const o=ud(t),r=e?.semanticRegions.summaries??[],a=e?.communities.summaries??[],n=e?.centrality.topNodes??[],s=e?.directedPath??null;return!r.length&&!a.length&&!n.length&&!o.length&&!s?N.jsxDEV("div",{style:Sd,children:"Regions and intelligence summaries will populate when graph analytics are ready."},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:188,columnNumber:12},this):N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[r.length?N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[N.jsxDEV("div",{style:mr,children:"Semantic regions"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:200,columnNumber:11},this),r.map(i=>N.jsxDEV("div",{style:Ra,children:[N.jsxDEV("span",{style:{...ja,background:i.color,boxShadow:`0 0 0 1px rgba(255,255,255,0.06), 0 0 14px ${i.color}40`}},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:202,columnNumber:15},this),N.jsxDEV("div",{style:{minWidth:0,flex:1},children:[N.jsxDEV("div",{style:or,children:i.semanticGroup},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:211,columnNumber:17},this),N.jsxDEV("div",{style:nr,children:[i.visibleNodeCount.toLocaleString()," visible / ",i.nodeCount.toLocaleString()," total"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:212,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:207,columnNumber:15},this),N.jsxDEV("div",{style:Ur,children:i.anchorLabel},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:216,columnNumber:15},this)]},i.semanticGroup,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:201,columnNumber:42},this))]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:195,columnNumber:33},this):null,a.length?N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[N.jsxDEV("div",{style:mr,children:"Community anchors"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:225,columnNumber:11},this),a.slice(0,3).map(i=>N.jsxDEV("div",{style:Uo,children:[N.jsxDEV("div",{style:{minWidth:0,flex:1},children:[N.jsxDEV("div",{style:or,children:i.anchorLabel},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:231,columnNumber:17},this),N.jsxDEV("div",{style:nr,children:["Community ",i.communityId," - ",i.visibleNodeCount," visible / ",i.nodeCount," total"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:232,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:227,columnNumber:15},this),N.jsxDEV("div",{style:Ur,children:i.dominantSemanticGroup},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:236,columnNumber:15},this)]},i.communityId,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:226,columnNumber:53},this))]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:220,columnNumber:29},this):null,n.length?N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[N.jsxDEV("div",{style:mr,children:"Centrality leaders"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:245,columnNumber:11},this),n.slice(0,3).map(i=>N.jsxDEV("div",{style:Uo,children:[N.jsxDEV("div",{style:{minWidth:0,flex:1},children:[N.jsxDEV("div",{style:or,children:i.label},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:251,columnNumber:17},this),N.jsxDEV("div",{style:nr,children:[i.semanticGroup," - score ",i.score.toFixed(3)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:252,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:247,columnNumber:15},this),N.jsxDEV("div",{style:Ur,children:["deg ",i.degree.toFixed(3)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:256,columnNumber:15},this)]},i.id,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:246,columnNumber:47},this))]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:240,columnNumber:28},this):null,s?N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[N.jsxDEV("div",{style:mr,children:"Directed pathfinding"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:265,columnNumber:11},this),N.jsxDEV("div",{style:Uo,children:[N.jsxDEV("div",{style:{minWidth:0,flex:1},children:[N.jsxDEV("div",{style:or,children:s.ready?"Local directed path ready":"Waiting for path context"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:271,columnNumber:15},this),N.jsxDEV("div",{style:nr,children:s.reason},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:272,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:267,columnNumber:13},this),s.ready?N.jsxDEV("div",{style:Ur,children:[s.length," hops",s.verifiedAgainstActivePath?" - match":""]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:274,columnNumber:35},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:266,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:260,columnNumber:23},this):null,!r.length&&!a.length&&!n.length&&o.length?N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[N.jsxDEV("div",{style:mr,children:"Fallback semantic legend"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:285,columnNumber:11},this),o.map(i=>N.jsxDEV("div",{style:Ra,children:[N.jsxDEV("span",{style:{...ja,background:i.color,boxShadow:`0 0 0 1px rgba(255,255,255,0.06), 0 0 14px ${i.color}40`}},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:287,columnNumber:15},this),N.jsxDEV("div",{style:{minWidth:0,flex:1},children:[N.jsxDEV("div",{style:or,children:i.group},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:296,columnNumber:17},this),N.jsxDEV("div",{style:nr,children:[i.count.toLocaleString()," nodes"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:297,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:292,columnNumber:15},this)]},i.id,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:286,columnNumber:44},this))]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:280,columnNumber:109},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:190,columnNumber:10},this)}const pd={id:"exploration-effects",mount:()=>{},unmount:()=>{},onStateChange:()=>{},toolbarItems:t=>[{id:"effects-toggle",label:"Effects",title:"Open exploration effects controls",active:t.isPanelOpen(Wr),order:18,onClick:()=>t.dispatchAction({type:"togglePanel",panelId:Wr})}],renderPanel:t=>{if(!t.isPanelOpen(Wr))return null;const e=t.getEffectsState(),o=t.getDiagnosticsSnapshot(),r=t.getAnalyticsSnapshot(),a=o?.effectAvailability,n=e.legendEnabled||e.semanticRegionsEnabled||e.communitiesEnabled||e.centralityEnabled||e.pathfindingEnabled;return{id:Wr,title:"Effects",placement:"bottom",order:8,defaultOpen:!1,preferredWidth:460,preferredHeight:360,content:N.jsxDEV("div",{style:hd,children:[N.jsxDEV("div",{style:fd,children:"Exploration effects"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:337,columnNumber:11},void 0),N.jsxDEV("div",{style:zr,children:[N.jsxDEV("div",{style:Vr,children:"Scene effects"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:340,columnNumber:13},void 0),id.map(s=>N.jsxDEV(Vo,{label:s.label,description:s.description,checked:e[s.key],availability:zo(a,s.key,e[s.key]),onToggle:()=>t.dispatchAction({type:"toggleEffect",effect:s.key})},s.key,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:341,columnNumber:43},void 0))]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:339,columnNumber:11},void 0),N.jsxDEV("div",{style:zr,children:[N.jsxDEV("div",{style:Vr,children:"Graph intelligence"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:348,columnNumber:13},void 0),sd.map(s=>N.jsxDEV(Vo,{label:s.label,description:s.description,checked:e[s.key],availability:zo(a,s.key,e[s.key]),onToggle:()=>t.dispatchAction({type:"toggleEffect",effect:s.key})},s.key,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:349,columnNumber:50},void 0))]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:347,columnNumber:11},void 0),n?N.jsxDEV("div",{style:zr,children:[N.jsxDEV("div",{style:Vr,children:"Regions and signals"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:356,columnNumber:15},void 0),dd(t,r)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:355,columnNumber:33},void 0):null,N.jsxDEV("div",{style:zr,children:[N.jsxDEV("div",{style:Vr,children:"Diagnostics"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:361,columnNumber:15},void 0),N.jsxDEV(Vo,{label:"Dev Diagnostics",description:"Inspect plugin, interaction, and effect gating state.",checked:e.diagnosticsEnabled,availability:zo(a,"diagnosticsEnabled",e.diagnosticsEnabled),onToggle:()=>t.dispatchAction({type:"toggleEffect",effect:"diagnosticsEnabled"})},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:362,columnNumber:15},void 0),e.diagnosticsEnabled&&o?N.jsxDEV("details",{style:yd,children:[N.jsxDEV("summary",{style:vd,children:"Runtime snapshot"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:367,columnNumber:19},void 0),N.jsxDEV("pre",{style:xd,children:JSON.stringify({diagnostics:o,analytics:r},null,2)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:368,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:366,columnNumber:73},void 0):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:360,columnNumber:34},void 0)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:336,columnNumber:16},void 0)}}},hd={display:"flex",flexDirection:"column",gap:12},fd={color:"#c99aa3",fontSize:11,fontWeight:700,letterSpacing:"0.08em",textTransform:"uppercase"},zr={display:"flex",flexDirection:"column",gap:8,padding:"10px 12px",borderRadius:14,border:"1px solid rgba(255,255,255,0.06)",background:"rgba(255,255,255,0.025)"},Vr={color:"#ffdfe4",fontSize:12,fontWeight:700},mr={color:"#9cc4ec",fontSize:11,fontWeight:700,letterSpacing:"0.05em",textTransform:"uppercase"},md={display:"flex",alignItems:"center",gap:12,padding:"8px 0"},or={color:"#fff1f3",fontSize:13,fontWeight:600},gd={color:"#a1b7cf",fontSize:12,lineHeight:1.45},nr={color:"#7fc6ff",fontSize:11,lineHeight:1.45},Ni={minWidth:52,padding:"8px 10px",borderRadius:999,border:"1px solid rgba(255,255,255,0.08)",background:"rgba(255,255,255,0.03)",color:"#cfe0f4",fontSize:12,fontWeight:700,cursor:"pointer"},bd={...Ni,background:"rgba(31, 111, 235, 0.24)",border:"1px solid rgba(255, 107, 129, 0.28)",color:"#eef6ff"},Ra={display:"flex",alignItems:"center",gap:10,padding:"8px 10px",borderRadius:12,border:"1px solid rgba(255,255,255,0.06)",background:"rgba(255,255,255,0.025)"},ja={width:10,height:10,borderRadius:999,flexShrink:0},Uo={display:"flex",alignItems:"center",gap:10,padding:"8px 10px",borderRadius:12,border:"1px solid rgba(255,255,255,0.05)",background:"rgba(255,255,255,0.02)"},Ur={padding:"5px 8px",borderRadius:999,background:"rgba(31, 111, 235, 0.16)",border:"1px solid rgba(255, 107, 129, 0.16)",color:"#ffdfe4",fontSize:11,fontWeight:700,whiteSpace:"nowrap"},yd={borderRadius:12,border:"1px solid rgba(255,255,255,0.05)",background:"rgba(0,0,0,0.14)",overflow:"hidden"},vd={cursor:"pointer",padding:"10px 12px",color:"#f0cdd3",fontSize:12,fontWeight:700,letterSpacing:"0.04em",textTransform:"uppercase"},xd={margin:0,padding:"0 12px 12px",color:"#ffdfe4",fontSize:11,lineHeight:1.55,whiteSpace:"pre-wrap",wordBreak:"break-word"},Sd={color:"#c99aa3",fontSize:12,lineHeight:1.5},wd=Object.freeze(Object.defineProperty({__proto__:null,explorationEffectsPluginPhaseC:pd},Symbol.toStringTag,{value:"Module"}));function Nd({panelState:t}){return!!t["effects-panel"]}function Ed({panelState:t}){return!!t["neighborhood-panel"]}function Ad({panelState:t}){return!!t["temporal-panel"]}function kd(t){return t!==void 0}function Cd({debouncedTime:t,isLoading:e,summary:o}){return o!==void 0&&t!==null&&!e}const Id=256;function Dd(){const t=new Map;let e=0,o=null;const r=()=>{for(;t.size>Id;){const a=t.keys().next().value;if(a===void 0)return;t.delete(a)}};return{begin(a){const n=t.get(a);if(n&&n.data===null)return o=a,{seq:null,cached:null};e+=1;const s=e;return t.set(a,{seq:s,data:n?.data??null}),o=a,r(),{seq:s,cached:n?.data??null}},shouldApply(a,n){return a===o&&t.get(a)?.seq===n},apply(a,n,s){const i=t.get(a);i&&i.seq===n&&(i.data=s)},finish(a,n){const s=t.get(a);s&&s.seq===n&&s.data===null&&t.delete(a)},reset(){t.clear(),e=0,o=null}}}function _d(t,e){const o=t.properties||{},r=!!o.inferred,a=r?E.palette.accent.path:E.palette.muted.edgeStructure;return{edgeId:t.id,familyId:t.familyId||t.id,sourceId:t.source_id,targetId:t.target_id,weight:Number(t.weight??1),edgeType:t.type||"related_to",properties:o,size:1,baseSize:1,color:a,baseColor:a,mutedColor:E.palette.muted.edgeOverview,visualPriority:r?.95:.5,isBidirectional:e.isBidirectional,edgeFamily:r?"path":e.isBidirectional?"bidirectional":"line",curveGroup:e.isBidirectional?Jo(t.source_id,t.target_id):null,type:"line",edgeVariant:r?"pathSignal":e.isBidirectional?"bidirectionalCurve":"directional",arrowVisibilityPolicy:r?"always":"contextual",relationshipStrength:r?.95:.52,isParallelPair:!1,parallelIndex:0,parallelCount:1,familySize:1,isSmallGraph:e.isSmallGraph}}class Gd{generations=new Map;begin(e){const o=(this.generations.get(e)??0)+1;return this.generations.set(e,o),o}invalidate(e){this.begin(e)}isCurrent(e,o){return this.generations.get(e)===o}}function Zo(t,e,o){return{label:e||t,content:e,properties:{...o,content:e}}}async function Ld(t,e=fetch){const o=await e(`/api/graph/node?node_id=${encodeURIComponent(t)}`);if(!o.ok)throw new Error(`Graph node refresh failed (${o.status}).`);const r=await o.json();if(r.id!==t)throw new Error("Graph node refresh returned a different resource.");return{...Zo(r.id,r.content,r.properties??{}),nodeType:r.type,valid_from:r.valid_from??null,valid_until:r.valid_until??null}}const Pd=["source","source_url","pmid","pmids","evidence","provenance","confidence"],at={},Md=6,Ha=3,Rd={pathPulseEnabled:!1,pathFlowEnabled:!1,lensEnabled:!1,temporalEmphasisEnabled:!1,semanticRegionsEnabled:!1,contoursEnabled:!1,pathfindingEnabled:!1,communitiesEnabled:!1,centralityEnabled:!1,legendEnabled:!1,edgeLabelsEnabled:!0,diagnosticsEnabled:!1,lensMode:"neighborhood",effectQuality:"bounded"},jd=A.lazy(()=>Er(()=>import("./TimelinePanel-DmtiXgmN.js"),__vite__mapDeps([0,1,2,3,4,5,6])).then(t=>({default:t.TimelinePanel}))),Hd=A.lazy(()=>Er(()=>import("./GraphInspectorPanel-Bbrbhd03.js"),__vite__mapDeps([7,1,2,3,6,8,9,10,11,12,13,14,15,16,17,18,19])).then(t=>({default:t.GraphInspectorPanel}))),Td=()=>Er(()=>Promise.resolve().then(()=>wd),void 0).then(t=>t.explorationEffectsPluginPhaseC),Wd=()=>Er(()=>import("./neighborhoodPanelPlugin-w1yJlm0A.js"),__vite__mapDeps([20,1,2,3])).then(t=>t.neighborhoodPanelPlugin),zd=()=>Er(()=>import("./temporalOverlayPlugin-CRhLa1FU.js"),__vite__mapDeps([21,1,2,3])).then(t=>t.temporalOverlayPlugin),Nt=[],Vd=new Set(["camera","utility"]);function Bo(t,e){console.debug(`[GraphWorkspace] ${t}`,e??{})}function Ud(t){return[t.nodeCount,t.edgeCount,t.layoutSource??"unknown",t.layoutReady?"ready":"runtime",t.loadTimeMs].join(":")}function Bd(t,e){const o=Xe.c(5);if(o[0]!=="08ad6dd16df86ffd1146fd308a5c7642d562e4cdc55c5644fc172369749ef8b7"){for(let i=0;i<5;i+=1)o[i]=Symbol.for("react.memo_cache_sentinel");o[0]="08ad6dd16df86ffd1146fd308a5c7642d562e4cdc55c5644fc172369749ef8b7"}const[r,a]=A.useState(t);let n,s;return o[1]!==e||o[2]!==t?(n=()=>{const i=setTimeout(()=>a(t),e);return()=>clearTimeout(i)},s=[e,t],o[1]=e,o[2]=t,o[3]=n,o[4]=s):(n=o[3],s=o[4]),A.useEffect(n,s),r}function Od(t){const e=`${t.id} ${t.label}`.toLowerCase();return e.includes("neighbor")?Ba:e.includes("temporal")||e.includes("time")?ss:Ua}function Fd(t){const e=Xe.c(4);if(e[0]!=="08ad6dd16df86ffd1146fd308a5c7642d562e4cdc55c5644fc172369749ef8b7"){for(let s=0;s<4;s+=1)e[s]=Symbol.for("react.memo_cache_sentinel");e[0]="08ad6dd16df86ffd1146fd308a5c7642d562e4cdc55c5644fc172369749ef8b7"}const{icon:o,size:r}=t,a=r===void 0?15:r;if(!o)return null;let n;return e[1]!==o||e[2]!==a?(n=N.jsxDEV(o,{size:a,strokeWidth:2.15,"aria-hidden":!0},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:190,columnNumber:10},this),e[1]=o,e[2]=a,e[3]=n):n=e[3],n}function Ei(t){const e=Xe.c(17);if(e[0]!=="08ad6dd16df86ffd1146fd308a5c7642d562e4cdc55c5644fc172369749ef8b7"){for(let x=0;x<17;x+=1)e[x]=Symbol.for("react.memo_cache_sentinel");e[0]="08ad6dd16df86ffd1146fd308a5c7642d562e4cdc55c5644fc172369749ef8b7"}const{item:o,compact:r,className:a,toggle:n}=t,s=r===void 0?!1:r,i=a===void 0?"":a,l=n===void 0?!1:n,u=s||o.compact,d=`explore-tool-button ${o.tone==="primary"?"explore-tool-button-primary":""} ${i}`,c=o.active?"true":"false",p=u?"true":"false",b=l?o.active===!0:void 0,m=o.ariaLabel??o.label,f=u?14:15;let y;e[1]!==o.icon||e[2]!==f?(y=N.jsxDEV(Fd,{icon:o.icon,size:f},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:225,columnNumber:11},this),e[1]=o.icon,e[2]=f,e[3]=y):y=e[3];let h;e[4]!==o.label?(h=N.jsxDEV("span",{className:"explore-tool-button-label",children:o.label},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:234,columnNumber:11},this),e[4]=o.label,e[5]=h):h=e[5];let v;return e[6]!==o.disabled||e[7]!==o.onClick||e[8]!==o.title||e[9]!==y||e[10]!==h||e[11]!==d||e[12]!==c||e[13]!==p||e[14]!==b||e[15]!==m?(v=N.jsxDEV("button",{type:"button",className:d,"data-active":c,"data-compact":p,"aria-pressed":b,onClick:o.onClick,title:o.title,"aria-label":m,disabled:o.disabled,children:[y,h]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:242,columnNumber:11},this),e[6]=o.disabled,e[7]=o.onClick,e[8]=o.title,e[9]=y,e[10]=h,e[11]=d,e[12]=c,e[13]=p,e[14]=b,e[15]=m,e[16]=v):v=e[16],v}function $d(t){const e=Xe.c(13);if(e[0]!=="08ad6dd16df86ffd1146fd308a5c7642d562e4cdc55c5644fc172369749ef8b7"){for(let c=0;c<13;c+=1)e[c]=Symbol.for("react.memo_cache_sentinel");e[0]="08ad6dd16df86ffd1146fd308a5c7642d562e4cdc55c5644fc172369749ef8b7"}const{label:o,items:r,compact:a,children:n}=t,s=a===void 0?!1:a;if((!r||r.length===0)&&!n)return null;let i;e[1]!==o?(i=N.jsxDEV("div",{className:"explore-tool-cluster-label",children:o},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:279,columnNumber:10},this),e[1]=o,e[2]=i):i=e[2];let l;e[3]!==s||e[4]!==r?(l=r?.map(c=>N.jsxDEV(Ei,{item:c,compact:s},c.id,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:287,columnNumber:29},this)),e[3]=s,e[4]=r,e[5]=l):l=e[5];let u;e[6]!==n||e[7]!==l?(u=N.jsxDEV("div",{className:"explore-tool-cluster-items",children:[n,l]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:296,columnNumber:10},this),e[6]=n,e[7]=l,e[8]=u):u=e[8];let d;return e[9]!==o||e[10]!==i||e[11]!==u?(d=N.jsxDEV("div",{className:"explore-tool-cluster","aria-label":o,children:[i,u]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:305,columnNumber:10},this),e[9]=o,e[10]=i,e[11]=u,e[12]=d):d=e[12],d}function qd(t){const e=Xe.c(5);if(e[0]!=="08ad6dd16df86ffd1146fd308a5c7642d562e4cdc55c5644fc172369749ef8b7"){for(let n=0;n<5;n+=1)e[n]=Symbol.for("react.memo_cache_sentinel");e[0]="08ad6dd16df86ffd1146fd308a5c7642d562e4cdc55c5644fc172369749ef8b7"}const{items:o}=t;if(!o.length)return null;let r;e[1]!==o?(r=o.map(Kd),e[1]=o,e[2]=r):r=e[2];let a;return e[3]!==r?(a=N.jsxDEV("div",{className:"explore-mode-control",role:"group","aria-label":"Graph view mode",children:r},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:339,columnNumber:10},this),e[3]=r,e[4]=a):a=e[4],a}function Kd(t){return N.jsxDEV(Ei,{item:t,className:"explore-mode-segment",toggle:!0},t.id,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:348,columnNumber:10},this)}const Yd=250,Xd=6;function Zd(t){const e=Xe.c(47);if(e[0]!=="08ad6dd16df86ffd1146fd308a5c7642d562e4cdc55c5644fc172369749ef8b7"){for(let T=0;T<47;T+=1)e[T]=Symbol.for("react.memo_cache_sentinel");e[0]="08ad6dd16df86ffd1146fd308a5c7642d562e4cdc55c5644fc172369749ef8b7"}const{value:o,disabled:r,onChange:a,onSubmit:n,onSelectSuggestion:s}=t;let i;e[1]===Symbol.for("react.memo_cache_sentinel")?(i=[],e[1]=i):i=e[1];const[l,u]=A.useState(i),[d,c]=A.useState(!1),[p,b]=A.useState(-1),m=A.useRef(null),f=A.useRef(null),y=A.useId();let h,v;e[2]!==r||e[3]!==o?(h=()=>{f.current!==null&&window.clearTimeout(f.current);const T=o.trim();if(r||!T){m.current?.abort(),u([]),c(!1),b(-1);return}return f.current=window.setTimeout(()=>{m.current?.abort();const P=new AbortController;m.current=P,fetch("/api/graph/search",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:T,limit:Xd}),signal:P.signal}).then(Qd).then(z=>{u(z.results??[]),c(!0),b(-1)}).catch(z=>{z instanceof DOMException&&z.name==="AbortError"||(u([]),c(!1),b(-1))})},Yd),()=>{f.current!==null&&window.clearTimeout(f.current),m.current?.abort()}},v=[o,r],e[2]=r,e[3]=o,e[4]=h,e[5]=v):(h=e[4],v=e[5]),A.useEffect(h,v);let x;e[6]===Symbol.for("react.memo_cache_sentinel")?(x=()=>{c(!1),b(-1)},e[6]=x):x=e[6];const g=x;let w;e[7]!==s?(w=T=>{u([]),g(),s(T)},e[7]=s,e[8]=w):w=e[8];const C=w,I=d&&l.length>0;let k;e[9]!==r||e[10]!==p||e[11]!==n||e[12]!==C||e[13]!==l||e[14]!==d?(k=T=>{if(T.preventDefault(),!r){if(d&&p>=0&&l[p]){C(l[p]);return}g(),n()}},e[9]=r,e[10]=p,e[11]=n,e[12]=C,e[13]=l,e[14]=d,e[15]=k):k=e[15];let D;e[16]===Symbol.for("react.memo_cache_sentinel")?(D=N.jsxDEV(Oi,{size:17,strokeWidth:2.15,"aria-hidden":!0},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:490,columnNumber:10},this),e[16]=D):D=e[16];let _;e[17]!==a?(_=T=>a(T.target.value),e[17]=a,e[18]=_):_=e[18];let L;e[19]!==l.length?(L=()=>{l.length>0&&c(!0)},e[19]=l.length,e[20]=L):L=e[20];let G;e[21]===Symbol.for("react.memo_cache_sentinel")?(G=()=>{window.setTimeout(g,120)},e[21]=G):G=e[21];let V;e[22]!==l.length||e[23]!==d?(V=T=>{!d||l.length===0||(T.key==="ArrowDown"?(T.preventDefault(),b(P=>(P+1)%l.length)):T.key==="ArrowUp"?(T.preventDefault(),b(P=>P<=0?l.length-1:P-1)):T.key==="Escape"&&(T.preventDefault(),g()))},e[22]=l.length,e[23]=d,e[24]=V):V=e[24];const q=p>=0?`${y}-${p}`:void 0;let W;e[25]!==y||e[26]!==L||e[27]!==V||e[28]!==q||e[29]!==_||e[30]!==o?(W=N.jsxDEV("input",{value:o,onChange:_,onFocus:L,onBlur:G,onKeyDown:V,placeholder:"Search command, node, or concept","aria-label":"Search graph nodes","aria-autocomplete":"list","aria-controls":y,"aria-activedescendant":q},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:554,columnNumber:11},this),e[25]=y,e[26]=L,e[27]=V,e[28]=q,e[29]=_,e[30]=o,e[31]=W):W=e[31];let F;e[32]!==r?(F=N.jsxDEV("button",{type:"submit",disabled:r,"aria-label":"Search for the current query",children:"Search"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:567,columnNumber:11},this),e[32]=r,e[33]=F):F=e[33];let ee;e[34]!==p||e[35]!==y||e[36]!==C||e[37]!==l||e[38]!==d?(ee=d&&l.length>0?N.jsxDEV("ul",{id:y,role:"listbox",className:"explore-search-suggestions","aria-label":"Search suggestions",children:l.map((T,P)=>N.jsxDEV("li",{id:`${y}-${P}`,role:"option","aria-selected":P===p,"data-highlighted":P===p,onMouseDown:z=>{z.preventDefault(),C(T)},onMouseEnter:()=>b(P),children:[N.jsxDEV("span",{className:"explore-search-suggestion-label",children:T.node.content||T.node.id},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:578,columnNumber:58},this),N.jsxDEV("span",{className:"explore-search-suggestion-type",children:T.node.type},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:578,columnNumber:158},this)]},T.node.id,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:575,columnNumber:198},this))},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:575,columnNumber:55},this):null,e[34]=p,e[35]=y,e[36]=C,e[37]=l,e[38]=d,e[39]=ee):ee=e[39];let U;return e[40]!==y||e[41]!==W||e[42]!==F||e[43]!==ee||e[44]!==I||e[45]!==k?(U=N.jsxDEV("form",{className:"explore-search-command",role:"combobox","aria-expanded":I,"aria-haspopup":"listbox","aria-owns":y,onSubmit:k,children:[D,W,F,ee]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:590,columnNumber:11},this),e[40]=y,e[41]=W,e[42]=F,e[43]=ee,e[44]=I,e[45]=k,e[46]=U):U=e[46],U}function Qd(t){if(!t.ok)throw new Error(`Search failed with status ${t.status}`);return t.json()}function Jd(t){const e=Xe.c(6);if(e[0]!=="08ad6dd16df86ffd1146fd308a5c7642d562e4cdc55c5644fc172369749ef8b7"){for(let s=0;s<6;s+=1)e[s]=Symbol.for("react.memo_cache_sentinel");e[0]="08ad6dd16df86ffd1146fd308a5c7642d562e4cdc55c5644fc172369749ef8b7"}const{items:o}=t;if(!o.length)return null;let r;e[1]===Symbol.for("react.memo_cache_sentinel")?(r=N.jsxDEV("span",{className:"explore-color-legend-label",title:"Base semantic colors; selection, zoom, and distance effects can change node appearance.",children:"Node colors"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:625,columnNumber:10},this),e[1]=r):r=e[1];let a;e[2]!==o?(a=o.map(ep),e[2]=o,e[3]=a):a=e[3];let n;return e[4]!==a?(n=N.jsxDEV("div",{className:"explore-color-legend",role:"group","aria-label":"Node colors",children:[r,N.jsxDEV("ul",{className:"explore-color-legend-items",children:a},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:640,columnNumber:90},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:640,columnNumber:10},this),e[4]=a,e[5]=n):n=e[5],n}function ep(t){return N.jsxDEV("li",{className:"explore-color-legend-item",title:`${t.group}: ${t.count.toLocaleString()} nodes`,children:[N.jsxDEV("span",{className:"explore-color-legend-mark",style:{backgroundColor:t.color},"aria-hidden":"true"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:649,columnNumber:128},this),N.jsxDEV("span",{className:"explore-color-legend-name",children:t.group},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:651,columnNumber:29},this)]},t.id,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:649,columnNumber:10},this)}const tp=`
585
+ `;function ed(t){switch(t){case"provided":return"Persisted layout";case"carried":return"Preserved layout";case"runtime":return"Runtime layout";default:return null}}function td(t){switch(t){case"bootstrapping":return"Bootstrapping";case"running":return"Settling";case"interactive":return"Interactive";case"stabilized":return"Stable";case"failed":return"Fallback";default:return null}}const Wo={display:"inline-flex",alignItems:"center",gap:6,padding:"7px 10px",borderRadius:999,border:"1px solid rgba(255, 107, 129, 0.12)",background:"rgba(28, 20, 24, 0.03)",color:"#25313f",fontSize:11,fontWeight:600};function rd(t){const e=Xe.c(112);if(e[0]!=="c1e4a01dd2e0db4d128a4a010c35b2b67590208dba220e05711ba6485ed88749"){for(let de=0;de<112;de+=1)e[de]=Symbol.for("react.memo_cache_sentinel");e[0]="c1e4a01dd2e0db4d128a4a010c35b2b67590208dba220e05711ba6485ed88749"}const{progress:o,visible:r,showGraphBehind:a,error:n,onRetry:s}=t,i=n===void 0?null:n,[l,u]=A.useState(r),[d,c]=A.useState(!1);let p;e[1]!==o?(p=o??Mt({phase:"bootstrapping",message:"Preparing graph session",progressKind:"indeterminate"}),e[1]=o,e[2]=p):p=e[2];const[b,m]=A.useState(p),f=A.useRef(null);let y,h;e[3]!==o?(y=()=>{o&&m(o)},h=[o],e[3]=o,e[4]=y,e[5]=h):(y=e[4],h=e[5]),A.useEffect(y,h);let v,x;if(e[6]!==l||e[7]!==r?(v=()=>{if(r){f.current!==null&&(window.clearTimeout(f.current),f.current=null),u(!0),c(!1);return}if(l)return c(!0),f.current=window.setTimeout(()=>{u(!1),c(!1),f.current=null},220),()=>{f.current!==null&&(window.clearTimeout(f.current),f.current=null)}},x=[l,r],e[6]=l,e[7]=r,e[8]=v,e[9]=x):(v=e[8],x=e[9]),A.useEffect(v,x),!l)return null;if(i){let de,ie;e[10]===Symbol.for("react.memo_cache_sentinel")?(de={background:"linear-gradient(180deg, rgba(255, 255, 255,0.22), rgba(255, 255, 255,0.5))"},ie=N.jsxDEV("style",{children:Pa},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:315,columnNumber:12},this),e[10]=de,e[11]=ie):(de=e[10],ie=e[11]);let De;e[12]===Symbol.for("react.memo_cache_sentinel")?(De={display:"flex",alignItems:"flex-start",gap:14,marginBottom:14},e[12]=De):De=e[12];let je;e[13]===Symbol.for("react.memo_cache_sentinel")?(je=N.jsxDEV("div",{style:De,children:[N.jsxDEV("div",{className:"graph-stage-loader-error-mark","aria-hidden":"true",children:N.jsxDEV(ms,{size:18,strokeWidth:2.2},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:336,columnNumber:95},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:336,columnNumber:29},this),N.jsxDEV("div",{style:{minWidth:0},children:[N.jsxDEV("div",{style:{color:"#16181d",fontSize:20,fontWeight:700,letterSpacing:"-0.03em",marginBottom:6},children:"Could not load the graph"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:338,columnNumber:12},this),N.jsxDEV("div",{style:{color:"#aa485b",fontSize:13,lineHeight:1.5},children:"The Explorer API did not return graph data. Check that the backend is running and reachable, then try again."},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:344,columnNumber:44},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:336,columnNumber:146},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:336,columnNumber:13},this),e[13]=je):je=e[13];let Ue;e[14]!==i?(Ue=N.jsxDEV("div",{className:"graph-stage-loader-error-detail",children:i},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:355,columnNumber:13},this),e[14]=i,e[15]=Ue):Ue=e[15];let Oe;e[16]!==s?(Oe=s?N.jsxDEV("div",{style:{display:"flex",gap:10,marginTop:16},children:N.jsxDEV("button",{type:"button",className:"graph-stage-loader-retry",onClick:s,children:[N.jsxDEV(Va,{size:14,strokeWidth:2.2,"aria-hidden":!0},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:367,columnNumber:87},this),"Retry"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:367,columnNumber:10},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:363,columnNumber:23},this):null,e[16]=s,e[17]=Oe):Oe=e[17];let Re;e[18]!==Ue||e[19]!==Oe?(Re=N.jsxDEV("div",{className:"graph-stage-loader-card","data-error":"true",role:"alert",children:[je,Ue,Oe]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:375,columnNumber:13},this),e[18]=Ue,e[19]=Oe,e[20]=Re):Re=e[20];let st;return e[21]!==d||e[22]!==Re?(st=N.jsxDEV("div",{className:"graph-stage-loader","data-exiting":d,style:de,children:[ie,Re]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:384,columnNumber:13},this),e[21]=d,e[22]=Re,e[23]=st):st=e[23],st}const g=o??b,w=g.phase==="stabilizing_layout"||g.showGraphBehind||a,C=w?"linear-gradient(180deg, rgba(255, 255, 255,0.04), rgba(255, 255, 255,0.18))":"linear-gradient(180deg, rgba(255, 255, 255,0.22), rgba(255, 255, 255,0.5))",I=g.progressKind==="determinate"&&g.total?Math.max(.05,Math.min(g.loaded??0,g.total)/Math.max(g.total,1)):null;let k;e[24]!==g.layoutSource?(k=ed(g.layoutSource),e[24]=g.layoutSource,e[25]=k):k=e[25];const D=k;let _;e[26]!==g.layoutState?(_=td(g.layoutState),e[26]=g.layoutState,e[27]=_):_=e[27];const L=_;let G;e[28]!==C?(G={background:C},e[28]=C,e[29]=G):G=e[29];let V;e[30]===Symbol.for("react.memo_cache_sentinel")?(V=N.jsxDEV("style",{children:Pa},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:427,columnNumber:11},this),e[30]=V):V=e[30];let q,W,F;e[31]===Symbol.for("react.memo_cache_sentinel")?(q={display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:14,marginBottom:14},W={minWidth:0},F={color:"#16181d",fontSize:20,fontWeight:700,letterSpacing:"-0.03em",marginBottom:6},e[31]=q,e[32]=W,e[33]=F):(q=e[31],W=e[32],F=e[33]);let ee;e[34]!==g.title?(ee=N.jsxDEV("div",{style:F,children:g.title},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:463,columnNumber:11},this),e[34]=g.title,e[35]=ee):ee=e[35];let U;e[36]===Symbol.for("react.memo_cache_sentinel")?(U={color:"#aa485b",fontSize:13,lineHeight:1.5},e[36]=U):U=e[36];let T;e[37]!==g.message?(T=N.jsxDEV("div",{style:U,children:g.message},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:482,columnNumber:11},this),e[37]=g.message,e[38]=T):T=e[38];let P;e[39]!==ee||e[40]!==T?(P=N.jsxDEV("div",{style:W,children:[ee,T]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:490,columnNumber:11},this),e[39]=ee,e[40]=T,e[41]=P):P=e[41];let z,te,Q;e[42]===Symbol.for("react.memo_cache_sentinel")?(z={display:"inline-flex",alignItems:"center",gap:10,flexShrink:0},te=N.jsxDEV("div",{className:"graph-stage-loader-beacon","aria-hidden":"true"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:507,columnNumber:11},this),Q={color:"#16222e",fontSize:11,fontWeight:700,letterSpacing:"0.08em",textTransform:"uppercase"},e[42]=z,e[43]=te,e[44]=Q):(z=e[42],te=e[43],Q=e[44]);const B=g.stageIndex??1,le=g.stageCount??Sr.length;let J;e[45]!==B||e[46]!==le?(J=N.jsxDEV("div",{style:z,children:[te,N.jsxDEV("div",{style:Q,children:["Stage ",B,"/",le]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:527,columnNumber:33},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:527,columnNumber:11},this),e[45]=B,e[46]=le,e[47]=J):J=e[47];let re;e[48]!==P||e[49]!==J?(re=N.jsxDEV("div",{style:q,children:[P,J]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:536,columnNumber:11},this),e[48]=P,e[49]=J,e[50]=re):re=e[50];let ce;e[51]===Symbol.for("react.memo_cache_sentinel")?(ce={marginBottom:14},e[51]=ce):ce=e[51];let ue;e[52]!==g.stageIndex?(ue=Sr.map((de,ie)=>{const De=g.stageIndex??1,je=ie+1<De?"done":ie+1===De?"active":"upcoming";return N.jsxDEV("div",{className:"graph-stage-loader-step","data-state":je,children:Gu(de)},de,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:557,columnNumber:14},this)}),e[52]=g.stageIndex,e[53]=ue):ue=e[53];let ge;e[54]!==ue?(ge=N.jsxDEV("div",{className:"graph-stage-loader-track",style:ce,children:ue},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:566,columnNumber:11},this),e[54]=ue,e[55]=ge):ge=e[55];let se,Ce;e[56]===Symbol.for("react.memo_cache_sentinel")?(se={display:"flex",justifyContent:"space-between",gap:12,alignItems:"baseline",marginBottom:8},Ce={color:"#17222d",fontSize:12,fontWeight:600},e[56]=se,e[57]=Ce):(se=e[56],Ce=e[57]);let _e;e[58]!==g.loaded||e[59]!==g.progressKind||e[60]!==g.total?(_e=g.progressKind==="determinate"&&g.total?`${(g.loaded??0).toLocaleString()} / ${g.total.toLocaleString()} in current stage`:"Working through this stage",e[58]=g.loaded,e[59]=g.progressKind,e[60]=g.total,e[61]=_e):_e=e[61];let be;e[62]!==_e?(be=N.jsxDEV("div",{style:Ce,children:_e},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:605,columnNumber:11},this),e[62]=_e,e[63]=be):be=e[63];let Me;e[64]===Symbol.for("react.memo_cache_sentinel")?(Me={color:"#90a8c5",fontSize:11,fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase"},e[64]=Me):Me=e[64];let we;e[65]!==g.progressKind||e[66]!==I?(we=g.progressKind==="determinate"&&I!==null?`${Math.round(I*100)}%`:"Live",e[65]=g.progressKind,e[66]=I,e[67]=we):we=e[67];let Qe;e[68]!==we?(Qe=N.jsxDEV("div",{style:Me,children:we},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:635,columnNumber:11},this),e[68]=we,e[69]=Qe):Qe=e[69];let Je;e[70]!==be||e[71]!==Qe?(Je=N.jsxDEV("div",{style:se,children:[be,Qe]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:643,columnNumber:11},this),e[70]=be,e[71]=Qe,e[72]=Je):Je=e[72];const $e=`graph-stage-loader-bar ${g.progressKind==="indeterminate"?"graph-stage-loader-bar-indeterminate":""}`;let pt;e[73]!==g.progressKind||e[74]!==I?(pt=g.progressKind==="determinate"&&I!==null?N.jsxDEV("span",{className:"graph-stage-loader-bar-fill",style:{width:`${Math.round(I*100)}%`}},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:653,columnNumber:88},this):null,e[73]=g.progressKind,e[74]=I,e[75]=pt):pt=e[75];let We;e[76]!==$e||e[77]!==pt?(We=N.jsxDEV("div",{className:$e,children:pt},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:664,columnNumber:11},this),e[76]=$e,e[77]=pt,e[78]=We):We=e[78];let et;e[79]===Symbol.for("react.memo_cache_sentinel")?(et={display:"flex",gap:10,flexWrap:"wrap",marginTop:14},e[79]=et):et=e[79];let ht;e[80]!==g.nodesLoaded?(ht=g.nodesLoaded.toLocaleString(),e[80]=g.nodesLoaded,e[81]=ht):ht=e[81];let Ze;e[82]!==g.nodesTotal?(Ze=g.nodesTotal?` / ${g.nodesTotal.toLocaleString()}`:"",e[82]=g.nodesTotal,e[83]=Ze):Ze=e[83];let it;e[84]!==ht||e[85]!==Ze?(it=N.jsxDEV("span",{style:Wo,children:[ht,Ze," nodes"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:701,columnNumber:11},this),e[84]=ht,e[85]=Ze,e[86]=it):it=e[86];let tt;e[87]!==g.edgesLoaded?(tt=g.edgesLoaded.toLocaleString(),e[87]=g.edgesLoaded,e[88]=tt):tt=e[88];let Ie;e[89]!==g.edgesTotal?(Ie=g.edgesTotal?` / ${g.edgesTotal.toLocaleString()}`:"",e[89]=g.edgesTotal,e[90]=Ie):Ie=e[90];let qe;e[91]!==tt||e[92]!==Ie?(qe=N.jsxDEV("span",{style:Wo,children:[tt,Ie," relationships"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:726,columnNumber:11},this),e[91]=tt,e[92]=Ie,e[93]=qe):qe=e[93];let xe;e[94]!==D||e[95]!==L?(xe=D?N.jsxDEV("span",{style:{...Wo,color:"#234053",borderColor:K(E.palette.accent.hovered,.22)},children:[D,L?` · ${L}`:""]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:735,columnNumber:26},this):null,e[94]=D,e[95]=L,e[96]=xe):xe=e[96];let ve;e[97]!==it||e[98]!==qe||e[99]!==xe?(ve=N.jsxDEV("div",{style:et,children:[it,qe,xe]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:748,columnNumber:11},this),e[97]=it,e[98]=qe,e[99]=xe,e[100]=ve):ve=e[100];let he;e[101]!==w||e[102]!==re||e[103]!==ge||e[104]!==Je||e[105]!==We||e[106]!==ve?(he=N.jsxDEV("div",{className:"graph-stage-loader-card","data-live":w,children:[re,ge,Je,We,ve]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:758,columnNumber:11},this),e[101]=w,e[102]=re,e[103]=ge,e[104]=Je,e[105]=We,e[106]=ve,e[107]=he):he=e[107];let Ke;return e[108]!==d||e[109]!==he||e[110]!==G?(Ke=N.jsxDEV("div",{className:"graph-stage-loader","data-exiting":d,style:G,children:[V,he]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx",lineNumber:771,columnNumber:11},this),e[108]=d,e[109]=he,e[110]=G,e[111]=Ke):Ke=e[111],Ke}const Ma={"communities-undetected":"Grouped view is unavailable until communities can be detected.","community-nodes-missing":"Grouped view is unavailable because no community nodes could be created."},od={"no-selection":"Select a node to inspect in Focused mode.","grouped-unresolvable":"Focused mode is unavailable for this grouped selection.","not-in-graph":"Selected item is not available in the current graph."};function Tr(t){if(!t)return null;switch(t.code){case"communities-undetected":return Ma["communities-undetected"];case"community-nodes-missing":return Ma["community-nodes-missing"];case"invalid-community-layout":return`Grouped node ${t.nodeId} has invalid coordinates.`;case"missing-grouped-node":return`Grouped edge ${t.edgeId} references a missing grouped node.`}}function nd(t){return t?od[t.code]:null}function ad(t,e,o){return t!=="focused"||o!==e}const Wr="effects-panel",id=[{key:"pathPulseEnabled",label:"Path Pulse",description:"Animated pulse on the active selected path."},{key:"pathFlowEnabled",label:"Path Flow",description:"Directional flow accents along the active selected path."},{key:"lensEnabled",label:"Neighborhood Lens",description:"Local emphasis around the hovered or selected node."},{key:"temporalEmphasisEnabled",label:"Temporal Emphasis",description:"Subtle glow around temporally relevant nodes in the active time window."},{key:"semanticRegionsEnabled",label:"Semantic Regions",description:"Quiet semantic hulls around the strongest visible topic clusters."},{key:"contoursEnabled",label:"Contours",description:"Low-contrast density halos around the strongest visible anchors."},{key:"edgeLabelsEnabled",label:"Edge Labels",description:"Draw the relationship type on graph edges. Off restores label-free edges on dense graphs."},{key:"legendEnabled",label:"Regions Summary",description:"Keep the regions and signals summary visible in the Effects panel."}],sd=[{key:"pathfindingEnabled",label:"Directed Pathfinding",description:"Compare the traced path against a strict local directed shortest path."},{key:"communitiesEnabled",label:"Community Regions",description:"Detect stable Louvain communities for orientation and scene grouping."},{key:"centralityEnabled",label:"Centrality Ranking",description:"Rank the strongest graph anchors for labels, regions, and navigation."}],ld={pathPulseEnabled:"pathPulse",pathFlowEnabled:"pathFlow",lensEnabled:"lens",temporalEmphasisEnabled:"temporalEmphasis",semanticRegionsEnabled:"semanticRegions",contoursEnabled:"contours",pathfindingEnabled:"pathfinding",communitiesEnabled:"communities",centralityEnabled:"centrality",legendEnabled:"legend",edgeLabelsEnabled:"edgeLabels",diagnosticsEnabled:"diagnostics"};function cd(t){return t.available?typeof t.visibleSegments=="number"&&typeof t.segmentCap=="number"?`${t.reason} - ${t.visibleSegments}/${t.segmentCap} segments`:t.reason:t.detail?`${t.reason} - ${t.detail}`:t.reason}function ud(t){return $a(t.graph,t.theme).sort((e,o)=>o.count-e.count).slice(0,t.theme.effects.legend.maxGroups)}function zo(t,e,o){return t?.[ld[e]]??{enabled:o,available:!1,reason:"Waiting for graph runtime"}}function Vo(t){const e=Xe.c(21);if(e[0]!=="0b17dfe2b39d4c3edc4158dc5a455e5f90f71dceb5d2541fb41ee0cbb70d929b"){for(let h=0;h<21;h+=1)e[h]=Symbol.for("react.memo_cache_sentinel");e[0]="0b17dfe2b39d4c3edc4158dc5a455e5f90f71dceb5d2541fb41ee0cbb70d929b"}const{label:o,description:r,checked:a,availability:n,onToggle:s}=t;let i;e[1]===Symbol.for("react.memo_cache_sentinel")?(i={minWidth:0,flex:1},e[1]=i):i=e[1];let l;e[2]!==o?(l=N.jsxDEV("div",{style:or,children:o},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:118,columnNumber:10},this),e[2]=o,e[3]=l):l=e[3];let u;e[4]!==r?(u=N.jsxDEV("div",{style:gd,children:r},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:126,columnNumber:10},this),e[4]=r,e[5]=u):u=e[5];let d;e[6]!==n?(d=cd(n),e[6]=n,e[7]=d):d=e[7];let c;e[8]!==d?(c=N.jsxDEV("div",{style:nr,children:d},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:142,columnNumber:10},this),e[8]=d,e[9]=c):c=e[9];let p;e[10]!==l||e[11]!==u||e[12]!==c?(p=N.jsxDEV("div",{style:i,children:[l,u,c]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:150,columnNumber:10},this),e[10]=l,e[11]=u,e[12]=c,e[13]=p):p=e[13];const b=a?bd:Ni,m=a?"On":"Off";let f;e[14]!==s||e[15]!==b||e[16]!==m?(f=N.jsxDEV("button",{type:"button",onClick:s,style:b,children:m},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:162,columnNumber:10},this),e[14]=s,e[15]=b,e[16]=m,e[17]=f):f=e[17];let y;return e[18]!==p||e[19]!==f?(y=N.jsxDEV("div",{style:md,children:[p,f]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:172,columnNumber:11},this),e[18]=p,e[19]=f,e[20]=y):y=e[20],y}function dd(t,e){const o=ud(t),r=e?.semanticRegions.summaries??[],a=e?.communities.summaries??[],n=e?.centrality.topNodes??[],s=e?.directedPath??null;return!r.length&&!a.length&&!n.length&&!o.length&&!s?N.jsxDEV("div",{style:Sd,children:"Regions and intelligence summaries will populate when graph analytics are ready."},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:188,columnNumber:12},this):N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[r.length?N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[N.jsxDEV("div",{style:mr,children:"Semantic regions"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:200,columnNumber:11},this),r.map(i=>N.jsxDEV("div",{style:Ra,children:[N.jsxDEV("span",{style:{...ja,background:i.color,boxShadow:`0 0 0 1px rgba(28, 20, 24,0.06), 0 0 14px ${i.color}40`}},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:202,columnNumber:15},this),N.jsxDEV("div",{style:{minWidth:0,flex:1},children:[N.jsxDEV("div",{style:or,children:i.semanticGroup},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:211,columnNumber:17},this),N.jsxDEV("div",{style:nr,children:[i.visibleNodeCount.toLocaleString()," visible / ",i.nodeCount.toLocaleString()," total"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:212,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:207,columnNumber:15},this),N.jsxDEV("div",{style:Ur,children:i.anchorLabel},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:216,columnNumber:15},this)]},i.semanticGroup,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:201,columnNumber:42},this))]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:195,columnNumber:33},this):null,a.length?N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[N.jsxDEV("div",{style:mr,children:"Community anchors"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:225,columnNumber:11},this),a.slice(0,3).map(i=>N.jsxDEV("div",{style:Uo,children:[N.jsxDEV("div",{style:{minWidth:0,flex:1},children:[N.jsxDEV("div",{style:or,children:i.anchorLabel},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:231,columnNumber:17},this),N.jsxDEV("div",{style:nr,children:["Community ",i.communityId," - ",i.visibleNodeCount," visible / ",i.nodeCount," total"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:232,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:227,columnNumber:15},this),N.jsxDEV("div",{style:Ur,children:i.dominantSemanticGroup},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:236,columnNumber:15},this)]},i.communityId,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:226,columnNumber:53},this))]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:220,columnNumber:29},this):null,n.length?N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[N.jsxDEV("div",{style:mr,children:"Centrality leaders"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:245,columnNumber:11},this),n.slice(0,3).map(i=>N.jsxDEV("div",{style:Uo,children:[N.jsxDEV("div",{style:{minWidth:0,flex:1},children:[N.jsxDEV("div",{style:or,children:i.label},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:251,columnNumber:17},this),N.jsxDEV("div",{style:nr,children:[i.semanticGroup," - score ",i.score.toFixed(3)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:252,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:247,columnNumber:15},this),N.jsxDEV("div",{style:Ur,children:["deg ",i.degree.toFixed(3)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:256,columnNumber:15},this)]},i.id,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:246,columnNumber:47},this))]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:240,columnNumber:28},this):null,s?N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[N.jsxDEV("div",{style:mr,children:"Directed pathfinding"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:265,columnNumber:11},this),N.jsxDEV("div",{style:Uo,children:[N.jsxDEV("div",{style:{minWidth:0,flex:1},children:[N.jsxDEV("div",{style:or,children:s.ready?"Local directed path ready":"Waiting for path context"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:271,columnNumber:15},this),N.jsxDEV("div",{style:nr,children:s.reason},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:272,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:267,columnNumber:13},this),s.ready?N.jsxDEV("div",{style:Ur,children:[s.length," hops",s.verifiedAgainstActivePath?" - match":""]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:274,columnNumber:35},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:266,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:260,columnNumber:23},this):null,!r.length&&!a.length&&!n.length&&o.length?N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[N.jsxDEV("div",{style:mr,children:"Fallback semantic legend"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:285,columnNumber:11},this),o.map(i=>N.jsxDEV("div",{style:Ra,children:[N.jsxDEV("span",{style:{...ja,background:i.color,boxShadow:`0 0 0 1px rgba(28, 20, 24,0.06), 0 0 14px ${i.color}40`}},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:287,columnNumber:15},this),N.jsxDEV("div",{style:{minWidth:0,flex:1},children:[N.jsxDEV("div",{style:or,children:i.group},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:296,columnNumber:17},this),N.jsxDEV("div",{style:nr,children:[i.count.toLocaleString()," nodes"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:297,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:292,columnNumber:15},this)]},i.id,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:286,columnNumber:44},this))]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:280,columnNumber:109},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:190,columnNumber:10},this)}const pd={id:"exploration-effects",mount:()=>{},unmount:()=>{},onStateChange:()=>{},toolbarItems:t=>[{id:"effects-toggle",label:"Effects",title:"Open exploration effects controls",active:t.isPanelOpen(Wr),order:18,onClick:()=>t.dispatchAction({type:"togglePanel",panelId:Wr})}],renderPanel:t=>{if(!t.isPanelOpen(Wr))return null;const e=t.getEffectsState(),o=t.getDiagnosticsSnapshot(),r=t.getAnalyticsSnapshot(),a=o?.effectAvailability,n=e.legendEnabled||e.semanticRegionsEnabled||e.communitiesEnabled||e.centralityEnabled||e.pathfindingEnabled;return{id:Wr,title:"Effects",placement:"bottom",order:8,defaultOpen:!1,preferredWidth:460,preferredHeight:360,content:N.jsxDEV("div",{style:hd,children:[N.jsxDEV("div",{style:fd,children:"Exploration effects"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:337,columnNumber:11},void 0),N.jsxDEV("div",{style:zr,children:[N.jsxDEV("div",{style:Vr,children:"Scene effects"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:340,columnNumber:13},void 0),id.map(s=>N.jsxDEV(Vo,{label:s.label,description:s.description,checked:e[s.key],availability:zo(a,s.key,e[s.key]),onToggle:()=>t.dispatchAction({type:"toggleEffect",effect:s.key})},s.key,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:341,columnNumber:43},void 0))]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:339,columnNumber:11},void 0),N.jsxDEV("div",{style:zr,children:[N.jsxDEV("div",{style:Vr,children:"Graph intelligence"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:348,columnNumber:13},void 0),sd.map(s=>N.jsxDEV(Vo,{label:s.label,description:s.description,checked:e[s.key],availability:zo(a,s.key,e[s.key]),onToggle:()=>t.dispatchAction({type:"toggleEffect",effect:s.key})},s.key,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:349,columnNumber:50},void 0))]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:347,columnNumber:11},void 0),n?N.jsxDEV("div",{style:zr,children:[N.jsxDEV("div",{style:Vr,children:"Regions and signals"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:356,columnNumber:15},void 0),dd(t,r)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:355,columnNumber:33},void 0):null,N.jsxDEV("div",{style:zr,children:[N.jsxDEV("div",{style:Vr,children:"Diagnostics"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:361,columnNumber:15},void 0),N.jsxDEV(Vo,{label:"Dev Diagnostics",description:"Inspect plugin, interaction, and effect gating state.",checked:e.diagnosticsEnabled,availability:zo(a,"diagnosticsEnabled",e.diagnosticsEnabled),onToggle:()=>t.dispatchAction({type:"toggleEffect",effect:"diagnosticsEnabled"})},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:362,columnNumber:15},void 0),e.diagnosticsEnabled&&o?N.jsxDEV("details",{style:yd,children:[N.jsxDEV("summary",{style:vd,children:"Runtime snapshot"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:367,columnNumber:19},void 0),N.jsxDEV("pre",{style:xd,children:JSON.stringify({diagnostics:o,analytics:r},null,2)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:368,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:366,columnNumber:73},void 0):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:360,columnNumber:34},void 0)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx",lineNumber:336,columnNumber:16},void 0)}}},hd={display:"flex",flexDirection:"column",gap:12},fd={color:"#aa485b",fontSize:11,fontWeight:700,letterSpacing:"0.08em",textTransform:"uppercase"},zr={display:"flex",flexDirection:"column",gap:8,padding:"10px 12px",borderRadius:14,border:"1px solid rgba(28, 20, 24,0.06)",background:"rgba(28, 20, 24,0.025)"},Vr={color:"#2e161a",fontSize:12,fontWeight:700},mr={color:"#1a2b3c",fontSize:11,fontWeight:700,letterSpacing:"0.05em",textTransform:"uppercase"},md={display:"flex",alignItems:"center",gap:12,padding:"8px 0"},or={color:"#2d1619",fontSize:13,fontWeight:600},gd={color:"#a1b7cf",fontSize:12,lineHeight:1.45},nr={color:"#2f7fd6",fontSize:11,lineHeight:1.45},Ni={minWidth:52,padding:"8px 10px",borderRadius:999,border:"1px solid rgba(28, 20, 24,0.08)",background:"rgba(28, 20, 24,0.03)",color:"#17222f",fontSize:12,fontWeight:700,cursor:"pointer"},bd={...Ni,background:"rgba(31, 111, 235, 0.24)",border:"1px solid rgba(255, 107, 129, 0.28)",color:"#16212d"},Ra={display:"flex",alignItems:"center",gap:10,padding:"8px 10px",borderRadius:12,border:"1px solid rgba(28, 20, 24,0.06)",background:"rgba(28, 20, 24,0.025)"},ja={width:10,height:10,borderRadius:999,flexShrink:0},Uo={display:"flex",alignItems:"center",gap:10,padding:"8px 10px",borderRadius:12,border:"1px solid rgba(28, 20, 24,0.05)",background:"rgba(28, 20, 24,0.02)"},Ur={padding:"5px 8px",borderRadius:999,background:"rgba(31, 111, 235, 0.16)",border:"1px solid rgba(255, 107, 129, 0.16)",color:"#2e161a",fontSize:11,fontWeight:700,whiteSpace:"nowrap"},yd={borderRadius:12,border:"1px solid rgba(28, 20, 24,0.05)",background:"rgba(0,0,0,0.14)",overflow:"hidden"},vd={cursor:"pointer",padding:"10px 12px",color:"#602b34",fontSize:12,fontWeight:700,letterSpacing:"0.04em",textTransform:"uppercase"},xd={margin:0,padding:"0 12px 12px",color:"#2e161a",fontSize:11,lineHeight:1.55,whiteSpace:"pre-wrap",wordBreak:"break-word"},Sd={color:"#aa485b",fontSize:12,lineHeight:1.5},wd=Object.freeze(Object.defineProperty({__proto__:null,explorationEffectsPluginPhaseC:pd},Symbol.toStringTag,{value:"Module"}));function Nd({panelState:t}){return!!t["effects-panel"]}function Ed({panelState:t}){return!!t["neighborhood-panel"]}function Ad({panelState:t}){return!!t["temporal-panel"]}function kd(t){return t!==void 0}function Cd({debouncedTime:t,isLoading:e,summary:o}){return o!==void 0&&t!==null&&!e}const Id=256;function Dd(){const t=new Map;let e=0,o=null;const r=()=>{for(;t.size>Id;){const a=t.keys().next().value;if(a===void 0)return;t.delete(a)}};return{begin(a){const n=t.get(a);if(n&&n.data===null)return o=a,{seq:null,cached:null};e+=1;const s=e;return t.set(a,{seq:s,data:n?.data??null}),o=a,r(),{seq:s,cached:n?.data??null}},shouldApply(a,n){return a===o&&t.get(a)?.seq===n},apply(a,n,s){const i=t.get(a);i&&i.seq===n&&(i.data=s)},finish(a,n){const s=t.get(a);s&&s.seq===n&&s.data===null&&t.delete(a)},reset(){t.clear(),e=0,o=null}}}function _d(t,e){const o=t.properties||{},r=!!o.inferred,a=r?E.palette.accent.path:E.palette.muted.edgeStructure;return{edgeId:t.id,familyId:t.familyId||t.id,sourceId:t.source_id,targetId:t.target_id,weight:Number(t.weight??1),edgeType:t.type||"related_to",properties:o,size:1,baseSize:1,color:a,baseColor:a,mutedColor:E.palette.muted.edgeOverview,visualPriority:r?.95:.5,isBidirectional:e.isBidirectional,edgeFamily:r?"path":e.isBidirectional?"bidirectional":"line",curveGroup:e.isBidirectional?Jo(t.source_id,t.target_id):null,type:"line",edgeVariant:r?"pathSignal":e.isBidirectional?"bidirectionalCurve":"directional",arrowVisibilityPolicy:r?"always":"contextual",relationshipStrength:r?.95:.52,isParallelPair:!1,parallelIndex:0,parallelCount:1,familySize:1,isSmallGraph:e.isSmallGraph}}class Gd{generations=new Map;begin(e){const o=(this.generations.get(e)??0)+1;return this.generations.set(e,o),o}invalidate(e){this.begin(e)}isCurrent(e,o){return this.generations.get(e)===o}}function Zo(t,e,o){return{label:e||t,content:e,properties:{...o,content:e}}}async function Ld(t,e=fetch){const o=await e(`/api/graph/node?node_id=${encodeURIComponent(t)}`);if(!o.ok)throw new Error(`Graph node refresh failed (${o.status}).`);const r=await o.json();if(r.id!==t)throw new Error("Graph node refresh returned a different resource.");return{...Zo(r.id,r.content,r.properties??{}),nodeType:r.type,valid_from:r.valid_from??null,valid_until:r.valid_until??null}}const Pd=["source","source_url","pmid","pmids","evidence","provenance","confidence"],at={},Md=6,Ha=3,Rd={pathPulseEnabled:!1,pathFlowEnabled:!1,lensEnabled:!1,temporalEmphasisEnabled:!1,semanticRegionsEnabled:!1,contoursEnabled:!1,pathfindingEnabled:!1,communitiesEnabled:!1,centralityEnabled:!1,legendEnabled:!1,edgeLabelsEnabled:!0,diagnosticsEnabled:!1,lensMode:"neighborhood",effectQuality:"bounded"},jd=A.lazy(()=>Er(()=>import("./TimelinePanel-D50aWGS7.js"),__vite__mapDeps([0,1,2,3,4,5,6])).then(t=>({default:t.TimelinePanel}))),Hd=A.lazy(()=>Er(()=>import("./GraphInspectorPanel-ZkQtr_Oa.js"),__vite__mapDeps([7,1,2,3,6,8,9,10,11,12,13,14,15,16,17,18,19])).then(t=>({default:t.GraphInspectorPanel}))),Td=()=>Er(()=>Promise.resolve().then(()=>wd),void 0).then(t=>t.explorationEffectsPluginPhaseC),Wd=()=>Er(()=>import("./neighborhoodPanelPlugin-gLy7GAga.js"),__vite__mapDeps([20,1,2,3])).then(t=>t.neighborhoodPanelPlugin),zd=()=>Er(()=>import("./temporalOverlayPlugin-DzF7xO4p.js"),__vite__mapDeps([21,1,2,3])).then(t=>t.temporalOverlayPlugin),Nt=[],Vd=new Set(["camera","utility"]);function Oo(t,e){console.debug(`[GraphWorkspace] ${t}`,e??{})}function Ud(t){return[t.nodeCount,t.edgeCount,t.layoutSource??"unknown",t.layoutReady?"ready":"runtime",t.loadTimeMs].join(":")}function Od(t,e){const o=Xe.c(5);if(o[0]!=="5c59375c4e127f38f9fc8ae74e47d9ba722e1992430563844d6e705fb864d894"){for(let i=0;i<5;i+=1)o[i]=Symbol.for("react.memo_cache_sentinel");o[0]="5c59375c4e127f38f9fc8ae74e47d9ba722e1992430563844d6e705fb864d894"}const[r,a]=A.useState(t);let n,s;return o[1]!==e||o[2]!==t?(n=()=>{const i=setTimeout(()=>a(t),e);return()=>clearTimeout(i)},s=[e,t],o[1]=e,o[2]=t,o[3]=n,o[4]=s):(n=o[3],s=o[4]),A.useEffect(n,s),r}function Bd(t){const e=`${t.id} ${t.label}`.toLowerCase();return e.includes("neighbor")?Oa:e.includes("temporal")||e.includes("time")?ss:Ua}function Fd(t){const e=Xe.c(4);if(e[0]!=="5c59375c4e127f38f9fc8ae74e47d9ba722e1992430563844d6e705fb864d894"){for(let s=0;s<4;s+=1)e[s]=Symbol.for("react.memo_cache_sentinel");e[0]="5c59375c4e127f38f9fc8ae74e47d9ba722e1992430563844d6e705fb864d894"}const{icon:o,size:r}=t,a=r===void 0?15:r;if(!o)return null;let n;return e[1]!==o||e[2]!==a?(n=N.jsxDEV(o,{size:a,strokeWidth:2.15,"aria-hidden":!0},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:190,columnNumber:10},this),e[1]=o,e[2]=a,e[3]=n):n=e[3],n}function Ei(t){const e=Xe.c(17);if(e[0]!=="5c59375c4e127f38f9fc8ae74e47d9ba722e1992430563844d6e705fb864d894"){for(let x=0;x<17;x+=1)e[x]=Symbol.for("react.memo_cache_sentinel");e[0]="5c59375c4e127f38f9fc8ae74e47d9ba722e1992430563844d6e705fb864d894"}const{item:o,compact:r,className:a,toggle:n}=t,s=r===void 0?!1:r,i=a===void 0?"":a,l=n===void 0?!1:n,u=s||o.compact,d=`explore-tool-button ${o.tone==="primary"?"explore-tool-button-primary":""} ${i}`,c=o.active?"true":"false",p=u?"true":"false",b=l?o.active===!0:void 0,m=o.ariaLabel??o.label,f=u?14:15;let y;e[1]!==o.icon||e[2]!==f?(y=N.jsxDEV(Fd,{icon:o.icon,size:f},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:225,columnNumber:11},this),e[1]=o.icon,e[2]=f,e[3]=y):y=e[3];let h;e[4]!==o.label?(h=N.jsxDEV("span",{className:"explore-tool-button-label",children:o.label},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:234,columnNumber:11},this),e[4]=o.label,e[5]=h):h=e[5];let v;return e[6]!==o.disabled||e[7]!==o.onClick||e[8]!==o.title||e[9]!==y||e[10]!==h||e[11]!==d||e[12]!==c||e[13]!==p||e[14]!==b||e[15]!==m?(v=N.jsxDEV("button",{type:"button",className:d,"data-active":c,"data-compact":p,"aria-pressed":b,onClick:o.onClick,title:o.title,"aria-label":m,disabled:o.disabled,children:[y,h]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:242,columnNumber:11},this),e[6]=o.disabled,e[7]=o.onClick,e[8]=o.title,e[9]=y,e[10]=h,e[11]=d,e[12]=c,e[13]=p,e[14]=b,e[15]=m,e[16]=v):v=e[16],v}function $d(t){const e=Xe.c(13);if(e[0]!=="5c59375c4e127f38f9fc8ae74e47d9ba722e1992430563844d6e705fb864d894"){for(let c=0;c<13;c+=1)e[c]=Symbol.for("react.memo_cache_sentinel");e[0]="5c59375c4e127f38f9fc8ae74e47d9ba722e1992430563844d6e705fb864d894"}const{label:o,items:r,compact:a,children:n}=t,s=a===void 0?!1:a;if((!r||r.length===0)&&!n)return null;let i;e[1]!==o?(i=N.jsxDEV("div",{className:"explore-tool-cluster-label",children:o},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:279,columnNumber:10},this),e[1]=o,e[2]=i):i=e[2];let l;e[3]!==s||e[4]!==r?(l=r?.map(c=>N.jsxDEV(Ei,{item:c,compact:s},c.id,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:287,columnNumber:29},this)),e[3]=s,e[4]=r,e[5]=l):l=e[5];let u;e[6]!==n||e[7]!==l?(u=N.jsxDEV("div",{className:"explore-tool-cluster-items",children:[n,l]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:296,columnNumber:10},this),e[6]=n,e[7]=l,e[8]=u):u=e[8];let d;return e[9]!==o||e[10]!==i||e[11]!==u?(d=N.jsxDEV("div",{className:"explore-tool-cluster","aria-label":o,children:[i,u]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:305,columnNumber:10},this),e[9]=o,e[10]=i,e[11]=u,e[12]=d):d=e[12],d}function qd(t){const e=Xe.c(5);if(e[0]!=="5c59375c4e127f38f9fc8ae74e47d9ba722e1992430563844d6e705fb864d894"){for(let n=0;n<5;n+=1)e[n]=Symbol.for("react.memo_cache_sentinel");e[0]="5c59375c4e127f38f9fc8ae74e47d9ba722e1992430563844d6e705fb864d894"}const{items:o}=t;if(!o.length)return null;let r;e[1]!==o?(r=o.map(Kd),e[1]=o,e[2]=r):r=e[2];let a;return e[3]!==r?(a=N.jsxDEV("div",{className:"explore-mode-control",role:"group","aria-label":"Graph view mode",children:r},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:339,columnNumber:10},this),e[3]=r,e[4]=a):a=e[4],a}function Kd(t){return N.jsxDEV(Ei,{item:t,className:"explore-mode-segment",toggle:!0},t.id,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:348,columnNumber:10},this)}const Yd=250,Xd=6;function Zd(t){const e=Xe.c(47);if(e[0]!=="5c59375c4e127f38f9fc8ae74e47d9ba722e1992430563844d6e705fb864d894"){for(let T=0;T<47;T+=1)e[T]=Symbol.for("react.memo_cache_sentinel");e[0]="5c59375c4e127f38f9fc8ae74e47d9ba722e1992430563844d6e705fb864d894"}const{value:o,disabled:r,onChange:a,onSubmit:n,onSelectSuggestion:s}=t;let i;e[1]===Symbol.for("react.memo_cache_sentinel")?(i=[],e[1]=i):i=e[1];const[l,u]=A.useState(i),[d,c]=A.useState(!1),[p,b]=A.useState(-1),m=A.useRef(null),f=A.useRef(null),y=A.useId();let h,v;e[2]!==r||e[3]!==o?(h=()=>{f.current!==null&&window.clearTimeout(f.current);const T=o.trim();if(r||!T){m.current?.abort(),u([]),c(!1),b(-1);return}return f.current=window.setTimeout(()=>{m.current?.abort();const P=new AbortController;m.current=P,fetch("/api/graph/search",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:T,limit:Xd}),signal:P.signal}).then(Qd).then(z=>{u(z.results??[]),c(!0),b(-1)}).catch(z=>{z instanceof DOMException&&z.name==="AbortError"||(u([]),c(!1),b(-1))})},Yd),()=>{f.current!==null&&window.clearTimeout(f.current),m.current?.abort()}},v=[o,r],e[2]=r,e[3]=o,e[4]=h,e[5]=v):(h=e[4],v=e[5]),A.useEffect(h,v);let x;e[6]===Symbol.for("react.memo_cache_sentinel")?(x=()=>{c(!1),b(-1)},e[6]=x):x=e[6];const g=x;let w;e[7]!==s?(w=T=>{u([]),g(),s(T)},e[7]=s,e[8]=w):w=e[8];const C=w,I=d&&l.length>0;let k;e[9]!==r||e[10]!==p||e[11]!==n||e[12]!==C||e[13]!==l||e[14]!==d?(k=T=>{if(T.preventDefault(),!r){if(d&&p>=0&&l[p]){C(l[p]);return}g(),n()}},e[9]=r,e[10]=p,e[11]=n,e[12]=C,e[13]=l,e[14]=d,e[15]=k):k=e[15];let D;e[16]===Symbol.for("react.memo_cache_sentinel")?(D=N.jsxDEV(Bi,{size:17,strokeWidth:2.15,"aria-hidden":!0},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:490,columnNumber:10},this),e[16]=D):D=e[16];let _;e[17]!==a?(_=T=>a(T.target.value),e[17]=a,e[18]=_):_=e[18];let L;e[19]!==l.length?(L=()=>{l.length>0&&c(!0)},e[19]=l.length,e[20]=L):L=e[20];let G;e[21]===Symbol.for("react.memo_cache_sentinel")?(G=()=>{window.setTimeout(g,120)},e[21]=G):G=e[21];let V;e[22]!==l.length||e[23]!==d?(V=T=>{!d||l.length===0||(T.key==="ArrowDown"?(T.preventDefault(),b(P=>(P+1)%l.length)):T.key==="ArrowUp"?(T.preventDefault(),b(P=>P<=0?l.length-1:P-1)):T.key==="Escape"&&(T.preventDefault(),g()))},e[22]=l.length,e[23]=d,e[24]=V):V=e[24];const q=p>=0?`${y}-${p}`:void 0;let W;e[25]!==y||e[26]!==L||e[27]!==V||e[28]!==q||e[29]!==_||e[30]!==o?(W=N.jsxDEV("input",{value:o,onChange:_,onFocus:L,onBlur:G,onKeyDown:V,placeholder:"Search command, node, or concept","aria-label":"Search graph nodes","aria-autocomplete":"list","aria-controls":y,"aria-activedescendant":q},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:554,columnNumber:11},this),e[25]=y,e[26]=L,e[27]=V,e[28]=q,e[29]=_,e[30]=o,e[31]=W):W=e[31];let F;e[32]!==r?(F=N.jsxDEV("button",{type:"submit",disabled:r,"aria-label":"Search for the current query",children:"Search"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:567,columnNumber:11},this),e[32]=r,e[33]=F):F=e[33];let ee;e[34]!==p||e[35]!==y||e[36]!==C||e[37]!==l||e[38]!==d?(ee=d&&l.length>0?N.jsxDEV("ul",{id:y,role:"listbox",className:"explore-search-suggestions","aria-label":"Search suggestions",children:l.map((T,P)=>N.jsxDEV("li",{id:`${y}-${P}`,role:"option","aria-selected":P===p,"data-highlighted":P===p,onMouseDown:z=>{z.preventDefault(),C(T)},onMouseEnter:()=>b(P),children:[N.jsxDEV("span",{className:"explore-search-suggestion-label",children:T.node.content||T.node.id},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:578,columnNumber:58},this),N.jsxDEV("span",{className:"explore-search-suggestion-type",children:T.node.type},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:578,columnNumber:158},this)]},T.node.id,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:575,columnNumber:198},this))},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:575,columnNumber:55},this):null,e[34]=p,e[35]=y,e[36]=C,e[37]=l,e[38]=d,e[39]=ee):ee=e[39];let U;return e[40]!==y||e[41]!==W||e[42]!==F||e[43]!==ee||e[44]!==I||e[45]!==k?(U=N.jsxDEV("form",{className:"explore-search-command",role:"combobox","aria-expanded":I,"aria-haspopup":"listbox","aria-owns":y,onSubmit:k,children:[D,W,F,ee]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:590,columnNumber:11},this),e[40]=y,e[41]=W,e[42]=F,e[43]=ee,e[44]=I,e[45]=k,e[46]=U):U=e[46],U}function Qd(t){if(!t.ok)throw new Error(`Search failed with status ${t.status}`);return t.json()}function Jd(t){const e=Xe.c(6);if(e[0]!=="5c59375c4e127f38f9fc8ae74e47d9ba722e1992430563844d6e705fb864d894"){for(let s=0;s<6;s+=1)e[s]=Symbol.for("react.memo_cache_sentinel");e[0]="5c59375c4e127f38f9fc8ae74e47d9ba722e1992430563844d6e705fb864d894"}const{items:o}=t;if(!o.length)return null;let r;e[1]===Symbol.for("react.memo_cache_sentinel")?(r=N.jsxDEV("span",{className:"explore-color-legend-label",title:"Base semantic colors; selection, zoom, and distance effects can change node appearance.",children:"Node colors"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:625,columnNumber:10},this),e[1]=r):r=e[1];let a;e[2]!==o?(a=o.map(ep),e[2]=o,e[3]=a):a=e[3];let n;return e[4]!==a?(n=N.jsxDEV("div",{className:"explore-color-legend",role:"group","aria-label":"Node colors",children:[r,N.jsxDEV("ul",{className:"explore-color-legend-items",children:a},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:640,columnNumber:90},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:640,columnNumber:10},this),e[4]=a,e[5]=n):n=e[5],n}function ep(t){return N.jsxDEV("li",{className:"explore-color-legend-item",title:`${t.group}: ${t.count.toLocaleString()} nodes`,children:[N.jsxDEV("span",{className:"explore-color-legend-mark",style:{backgroundColor:t.color},"aria-hidden":"true"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:649,columnNumber:128},this),N.jsxDEV("span",{className:"explore-color-legend-name",children:t.group},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:651,columnNumber:29},this)]},t.id,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:649,columnNumber:10},this)}const tp=`
586
586
  .palantir-bg {
587
587
  background:
588
588
  ${E.ui.scene.radialGlow},
@@ -626,7 +626,7 @@ void main() {
626
626
  .node-panel-collapse {
627
627
  border: 1px solid ${E.ui.surface.panelBorder};
628
628
  border-radius: 12px;
629
- background: rgba(255, 255, 255, 0.026);
629
+ background: rgba(28, 20, 24, 0.026);
630
630
  overflow: hidden;
631
631
  }
632
632
  .node-panel-collapse + .node-panel-collapse {
@@ -714,7 +714,7 @@ void main() {
714
714
  height: 10px;
715
715
  border-radius: 999px;
716
716
  overflow: hidden;
717
- background: rgba(255, 255, 255, 0.052);
717
+ background: rgba(28, 20, 24, 0.052);
718
718
  border: 1px solid ${E.ui.surface.panelBorder};
719
719
  }
720
720
  .graph-loading-bar > span {
@@ -840,10 +840,10 @@ void main() {
840
840
  border-radius: 16px;
841
841
  border: 1px solid ${E.ui.control.inputBorder};
842
842
  background:
843
- linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.018)),
843
+ linear-gradient(135deg, rgba(28, 20, 24,0.06), rgba(28, 20, 24,0.018)),
844
844
  ${E.ui.control.inputBg};
845
845
  color: ${E.ui.text.muted};
846
- box-shadow: inset 0 1px 0 rgba(255,255,255,0.045), 0 14px 30px rgba(0,0,0,0.16);
846
+ box-shadow: inset 0 1px 0 rgba(28, 20, 24,0.045), 0 14px 30px rgba(0,0,0,0.16);
847
847
  }
848
848
  .explore-search-suggestions {
849
849
  position: absolute;
@@ -859,7 +859,7 @@ void main() {
859
859
  border-radius: 14px;
860
860
  border: 1px solid ${E.ui.control.inputBorder};
861
861
  background: ${E.ui.surface.cardStrong};
862
- box-shadow: 0 18px 40px rgba(0,0,0,0.32), inset 0 1px 0 rgba(255,255,255,0.04);
862
+ box-shadow: 0 18px 40px rgba(0,0,0,0.32), inset 0 1px 0 rgba(28, 20, 24,0.04);
863
863
  }
864
864
  .explore-search-suggestions li {
865
865
  display: flex;
@@ -891,7 +891,7 @@ void main() {
891
891
  }
892
892
  .explore-search-command:focus-within {
893
893
  border-color: ${E.ui.control.activeBorder};
894
- box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 0 0 1px ${E.ui.control.focusRing}, 0 16px 32px rgba(0,0,0,0.18);
894
+ box-shadow: inset 0 1px 0 rgba(28, 20, 24,0.06), 0 0 0 1px ${E.ui.control.focusRing}, 0 16px 32px rgba(0,0,0,0.18);
895
895
  }
896
896
  .explore-search-command input {
897
897
  width: 100%;
@@ -915,7 +915,7 @@ void main() {
915
915
  font-size: 12px;
916
916
  font-weight: 800;
917
917
  cursor: pointer;
918
- box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
918
+ box-shadow: inset 0 1px 0 rgba(28, 20, 24,0.08);
919
919
  }
920
920
  .explore-search-command button:disabled {
921
921
  cursor: not-allowed;
@@ -928,8 +928,8 @@ void main() {
928
928
  padding: 4px;
929
929
  border-radius: 16px;
930
930
  border: 1px solid ${E.ui.control.defaultBorder};
931
- background: rgba(255, 255, 255, 0.026);
932
- box-shadow: inset 0 1px 0 rgba(255,255,255,0.035);
931
+ background: rgba(28, 20, 24, 0.026);
932
+ box-shadow: inset 0 1px 0 rgba(28, 20, 24,0.035);
933
933
  }
934
934
  .explore-mode-segment {
935
935
  min-width: 0;
@@ -950,8 +950,8 @@ void main() {
950
950
  min-height: 43px;
951
951
  padding: 4px;
952
952
  border-radius: 16px;
953
- border: 1px solid rgba(211, 205, 190, 0.075);
954
- background: rgba(255, 255, 255, 0.022);
953
+ border: 1px solid rgba(70, 60, 48, 0.075);
954
+ background: rgba(28, 20, 24, 0.022);
955
955
  }
956
956
  .explore-tool-cluster-label {
957
957
  padding: 0 4px 0 7px;
@@ -984,12 +984,12 @@ void main() {
984
984
  line-height: 1;
985
985
  cursor: pointer;
986
986
  white-space: nowrap;
987
- box-shadow: inset 0 1px 0 rgba(255,255,255,0.035);
987
+ box-shadow: inset 0 1px 0 rgba(28, 20, 24,0.035);
988
988
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease, transform 140ms ease;
989
989
  }
990
990
  .explore-tool-button:hover:not(:disabled) {
991
991
  background: ${E.ui.control.hoverBg};
992
- border-color: rgba(211, 205, 190, 0.18);
992
+ border-color: rgba(70, 60, 48, 0.18);
993
993
  transform: translateY(-1px);
994
994
  }
995
995
  .explore-tool-button:disabled {
@@ -1002,7 +1002,7 @@ void main() {
1002
1002
  color: ${E.ui.control.activeText};
1003
1003
  background: ${E.ui.control.activeBg};
1004
1004
  border-color: ${E.ui.control.activeBorder};
1005
- box-shadow: 0 0 0 1px ${E.ui.control.focusRing}, inset 0 1px 0 rgba(255,255,255,0.06);
1005
+ box-shadow: 0 0 0 1px ${E.ui.control.focusRing}, inset 0 1px 0 rgba(28, 20, 24,0.06);
1006
1006
  }
1007
1007
  .explore-tool-button-primary {
1008
1008
  color: ${E.ui.control.primaryText};
@@ -1055,7 +1055,7 @@ void main() {
1055
1055
  height: 10px;
1056
1056
  flex-shrink: 0;
1057
1057
  border-radius: 50%;
1058
- box-shadow: inset 0 0 0 1px rgba(255,255,255,0.16);
1058
+ box-shadow: inset 0 0 0 1px rgba(28, 20, 24,0.16);
1059
1059
  }
1060
1060
  .explore-search-results {
1061
1061
  display: flex;
@@ -1113,4 +1113,4 @@ void main() {
1113
1113
  max-width: 100%;
1114
1114
  }
1115
1115
  }
1116
- `;function Ai(t){return Pd.reduce((e,o)=>t[o]!==void 0&&t[o]!==null?e+1:e,0)}function rp(t){const e=t.properties||{},o=String(e.content||t.id),r=E.palette.accent.path,a=!!(e.valid_from||e.valid_until),n=Ai(e);return{label:o,x:Number(e.x??Math.random()*1e3-500),y:Number(e.y??Math.random()*1e3-500),nodeType:t.type||"inferred",content:o,valid_from:e.valid_from??null,valid_until:e.valid_until??null,properties:e,size:8,baseSize:8,semanticGroup:t.type||"inferred",color:r,baseColor:r,mutedColor:K(r,E.nodes.mutedAlpha),glowColor:K(r,.36),visualPriority:.82,labelPriority:.82,strokeColor:E.palette.background.nodeBorder,borderColor:E.palette.background.nodeBorder,borderSize:.85,nodeVariant:"inferred",nodeShapeVariant:"inferred",badgeKind:a?"temporal":n>0?"provenance":"inferred",badgeCount:n||void 0,ringColor:E.nodes.selectedRing.color,haloColor:K(r,.42),labelVisibilityPolicy:"local"}}function op(t){j.forEachEdge(e=>{j.setEdgeAttribute(e,"isSmallGraph",t)})}function np(t,e){if(!t||!j.hasNode(t))return null;const o=j.getNodeAttributes(t);return{id:t,label:String(o.label??t),content:String(o.content??o.label??t),nodeType:String(o.nodeType??"Entity"),color:typeof o.color=="string"?o.color:void 0,valid_from:o.valid_from??null,valid_until:o.valid_until??null,properties:o.properties??{},neighborCount:j.neighbors(t).length,visibleNeighborCount:e.selectedVisibleNeighborIds.length,collapsedNeighborCount:e.selectedCollapsedNeighborIds.length,isNeighborhoodCollapsed:e.selectedCollapsedNeighborIds.length>0,canCollapseNeighborhood:j.neighbors(t).length>8}}function ap(t,e){if(!t||!e.hasEdge(t))return null;const[o,r]=e.extremities(t),a=e.getEdgeAttributes(t),n=a.rawEdgeIds?.length?a.rawEdgeIds.map(f=>String(f)):[t],s=n.find(f=>j.hasEdge(f))??n[0];let i=o,l=r;s&&j.hasEdge(s)&&([i,l]=j.extremities(s));const u=j.hasNode(i)?j.getNodeAttributes(i):{label:o},d=j.hasNode(l)?j.getNodeAttributes(l):{label:r},c=a.properties??{},p=String(a.familyId||t);let b=0,m=0;return n.forEach(f=>{if(!j.hasEdge(f))return;const y=j.getEdgeAttributes(f),[h,v]=j.extremities(f);String(y.familyId||f)===p&&(b+=1),h===i&&v===l&&(m+=1)}),a.isAggregated&&(m=n.filter(f=>j.hasEdge(f)).length,b=Math.max(b,m)),{id:t,familyId:p,sourceId:i,sourceLabel:String(u.label??u.content??i),targetId:l,targetLabel:String(d.label??d.content??l),edgeType:String(a.edgeType??"related_to"),weight:Number(a.weight??1),properties:c,provenanceCount:Ai(c),familySize:b,siblingCount:m,isAggregated:!!a.isAggregated,aggregateCount:Number(a.aggregateCount??n.length),rawEdgeIds:n,bundleKind:a.bundleKind??null,dominantEdgeType:a.dominantEdgeType??null,representativeWeight:Number(a.representativeWeight??a.weight??1)}}function ip(t,e){const o=[];for(const r of t)try{const a=r.renderPanel?.(e);if(!a)continue;Array.isArray(a)?o.push(...a):o.push(a)}catch(a){console.error(`[GraphPlugin:${r.id}] panel render failed`,a)}return o.sort((r,a)=>(r.order??0)-(a.order??0))}function sp(t,e){const o=[];for(const r of t)try{const a=r.renderOverlay?.(e);if(!a)continue;Array.isArray(a)?o.push(...a):o.push(a)}catch(a){console.error(`[GraphPlugin:${r.id}] overlay render failed`,a)}return o.sort((r,a)=>(r.layer??0)!==(a.layer??0)?(r.layer??0)-(a.layer??0):(r.order??0)-(a.order??0))}function lp({externalFocusNodeId:t,externalFocusToken:e,onDirtyChange:o}={}){const[r,a]=A.useState(""),[n,s]=A.useState(""),[i,l]=A.useState(""),[u,d]=A.useState(""),[c,p]=A.useState(!1),[b,m]=A.useState(!1),[f,y]=A.useState(0),[h,v]=A.useState(!1),x=A.useMemo(()=>new Gd,[]),g=A.useCallback(S=>{v(S),o?.(S)},[o]),[w,C]=A.useState("full"),[I]=A.useState(!0),[k,D]=A.useState([]),[_,L]=A.useState(""),[G,V]=A.useState([]),[q,W]=A.useState(""),[F,ee]=A.useState(""),[U,T]=A.useState(!1),[P,z]=A.useState([]),[te,Q]=A.useState(""),[O,le]=A.useState(null),[J,re]=A.useState(null),[ce,ue]=A.useState(null),[ge,se]=A.useState(null),Ce=A.useRef(null),_e=A.useCallback(S=>{const R=S.getTime();R!==Ce.current&&(Ce.current=R,se(S))},[]),[be,Me]=A.useState(null),[we,Qe]=A.useState({"effects-panel":!1,"neighborhood-panel":!1,"temporal-panel":!1}),[Je,$e]=A.useState(null),[pt,We]=A.useState(0),[et,ht]=A.useState(Rd),[Ze,it]=A.useState(null),tt=A.useRef(null),[Ie,qe]=A.useState(null),[xe,ve]=A.useState({}),[he,Ke]=A.useState(!1),[de,ie]=A.useState(3),[De,je]=A.useState("off"),[Ue,Be]=A.useState(!1),[Re,st]=A.useState({anchorNodeId:null,scores:at,count:0,status:"idle",error:null}),rt=Bd(ge,150),jt=A.useRef(new Set),Ge=A.useRef(null),Et=A.useRef(void 0),ot=A.useRef(null),Ot=A.useRef(null),Le=A.useRef(!1),At=A.useRef({hoveredNodeId:null,selectedNodeId:"",selectedEdgeId:"",focusedNodeId:"",activePath:[],activePathEdgeIds:[],viewMode:"full",zoomTier:"overview",isLayoutRunning:!1}),ir=Ju(),Ht=A.useCallback(S=>{Me(S),S.phase!=="ready"&&S.phase!=="stabilizing_layout"&&m(!1)},[]),Ft=A.useCallback(S=>{const R=Ud(S);if(Ot.current!==R){if(Ot.current=R,Le.current=!!(S.layoutReady&&!S.hasCoordinates&&S.nodeCount>0&&S.nodeCount<=Yo),m(!0),y($=>$+1),p(!S.layoutReady),S.layoutReady){Me(null);return}Me(Mt({phase:"stabilizing_layout",progressKind:"indeterminate",nodesLoaded:S.nodeCount,nodesTotal:S.nodeCount,edgesLoaded:S.edgeCount,edgesTotal:S.edgeCount,message:"Settling runtime layout",showGraphBehind:!0,layoutSource:S.layoutSource,layoutState:"bootstrapping"}))}},[]),{data:Se,isLoading:Tt,isFetching:kt,isError:ft,error:mt,refetch:$t}=qu({enabled:!0,onGraphReady:Ft,onProgress:Ht}),Cr=ft?mt instanceof Error?mt.message:"Unknown error while loading the graph.":null,sr=A.useCallback(()=>{Me(null),$t()},[$t]);A.useEffect(()=>{c||Me(S=>S?.phase==="stabilizing_layout"?null:S)},[c]),A.useEffect(()=>{!Se||b||Ft(Se)},[Ft,b,Se]);const Ir=kd(Se),M=Cd({debouncedTime:rt,isLoading:Tt,summary:Se});A.useEffect(()=>{if(!Ir)return;let S=!1;return(async()=>{try{const $=await fetch("/api/temporal/bounds");if(!$.ok||S)return;const ne=await $.json();S||ue(ne)}catch{S||ue(null)}})(),()=>{S=!0}},[Ir,Se?.nodeCount,Se?.edgeCount]);const H=A.useRef(null);H.current===null&&(H.current=Dd());const X=H.current;A.useEffect(()=>{X.reset()},[Se]),A.useEffect(()=>{if(!M||!rt)return;const S=rt.getTime(),{seq:R,cached:$}=X.begin(S);if(R===null)return;let ne=!1;const Ve=ke=>{const Fe=new Set(ke.active_node_ids);requestAnimationFrame(()=>{if(ne)return;if(!X.shouldApply(S,R)){X.finish(S,R);return}jt.current.forEach(nt=>{!Fe.has(nt)&&j.hasNode(nt)&&j.setNodeAttribute(nt,"hidden",!0)}),Fe.forEach(nt=>{j.hasNode(nt)&&j.setNodeAttribute(nt,"hidden",!1)}),jt.current=Fe,re(ke.active_node_count),y(nt=>nt+1),Ge.current?.getRuntime()?.requestRender(),X.apply(S,R,ke)})};if($){Ve($);return}return(async()=>{try{const ke=rt.toISOString(),Fe=await fetch(`/api/temporal/snapshot?at=${encodeURIComponent(ke)}`);if(!Fe.ok){ne||X.finish(S,R);return}if(ne)return;const Zt=await Fe.json();if(ne)return;Ve(Zt)}catch(ke){X.finish(S,R),ne||console.error("[Temporal] Snapshot fetch failed",ke)}})(),()=>{ne=!0,X.finish(S,R)}},[M,rt]);const B=A.useCallback((S,R)=>{if(!S)return{kind:"none",resolvedNodeId:null,reason:{code:"no-selection"}};if(j.hasNode(S))return{kind:"base",resolvedNodeId:S,reason:null};const $=R??ot.current?.displayGraph??j;if($.hasNode(S)){const Ve=$.getNodeAttributes(S).properties?.__communityGroup,Z=Ve?.anchorNodeId||Ve?.sampleNodeIds?.[0]||"";return Z&&j.hasNode(Z)?{kind:"grouped",resolvedNodeId:Z,reason:null}:{kind:"grouped",resolvedNodeId:null,reason:{code:"grouped-unresolvable"}}}return{kind:"unavailable",resolvedNodeId:null,reason:{code:"not-in-graph"}}},[]),oe=A.useMemo(()=>B(r,ot.current?.displayGraph),[pt,B,r,w]),ae=oe.resolvedNodeId??"",pe=!!oe.resolvedNodeId,{available:Y,reason:fe}=A.useMemo(()=>Bl(),[f]),Oe=A.useMemo(()=>w==="grouped"?Hr("",Nt,Nt,"grouped",{aggregationEnabled:I,collapsedNeighborhoodNodeIds:k}):null,[w,I,k,f]),ze=A.useCallback(()=>h?window.confirm("Discard the unapplied Markdown draft and leave this node?"):!0,[h]),He=A.useCallback(S=>{const R=B(S,ot.current?.displayGraph);if(!R.resolvedNodeId)return;const $=R.resolvedNodeId,ne=ad(w,r,$);ne&&!ze()||(s($),a($),ne&&(d(""),le(null),V([]),W("")),C("focused"),p(!1))},[ze,B,r,w]),Te=A.useCallback(S=>{if(!(S!==w&&!ze())){if(S==="grouped"){if(!Y){Bo("grouped-view-unavailable",{reason:fe,graphVersion:f});return}const R=Oe?.graph??Hr("",Nt,Nt,"grouped",{aggregationEnabled:I,collapsedNeighborhoodNodeIds:k}).graph,$=[i,r,n].map(ne=>sn(R,ne)).find(ne=>!!ne)??"";s(""),a($),$&&l($),C("grouped"),p(!0);return}s(""),a(R=>R&&j.hasNode(R)?R:""),C("full")}},[ze,I,k,n,f,Oe,Y,fe,i,r,w]),Ye=A.useCallback(S=>{if(S!==r&&!ze())return;if(!S){a(""),d(""),le(null),V([]),W("");return}const R=ot.current?.displayGraph??j,$=S;!j.hasNode(S)&&R.hasNode(S)&&l(S),a($),d(""),le(null),V([]),W(""),w==="focused"&&j.hasNode($)&&(s($),p(!1))},[ze,r,w]);A.useEffect(()=>{!t||e==null||Et.current!==e&&(!b||!j.hasNode(t)||t!==r&&!ze()||(Et.current=e,C("full"),a(t),d(""),window.setTimeout(()=>{Ge.current?.focusNode(t)},0)))},[ze,t,e,b,r]);const ao=A.useCallback(S=>{d(S)},[]),Dr=A.useCallback(async()=>{if(!_.trim()){V([]);return}W("");try{const S=await fetch("/api/graph/search",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:_,limit:8})});if(!S.ok)throw new Error(`Search failed with status ${S.status}`);const R=await S.json();V(R.results||[])}catch(S){W(S instanceof Error?S.message:"Search failed")}},[_]),io=A.useCallback(()=>{V([]),W("")},[]),gt=A.useCallback(async()=>{if(ae){T(!0);try{const S=await fetch("/api/enrich/links",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:ae,top_n:6,candidate_type:F||void 0,min_score:0})});if(!S.ok)throw new Error(`Link prediction failed with status ${S.status}`);const R=await S.json();z(R.predictions||[])}catch(S){console.error("[GraphWorkspace] prediction failed",S),z([])}finally{T(!1)}}},[ae,F]),St=A.useCallback(async()=>{if(!(!ae||!te.trim()))try{const S=new URLSearchParams({source:ae,target:te.trim(),algorithm:"dijkstra"}),R=await fetch(`/api/graph/path?${S.toString()}`);if(!R.ok)throw new Error(`Path lookup failed with status ${R.status}`);const $=await R.json();if(le($),$.path?.length){const ne=$.path[$.path.length-1];j.hasNode(ne)&&Ge.current?.focusNode(ne)}}catch(S){console.error("[GraphWorkspace] path trace failed",S),le(null)}},[ae,te]),qt=A.useCallback(async S=>{if(!ae)return;const R=S==="markdown"?"markdown":"json",$=await fetch(`/api/provenance/report?node_id=${encodeURIComponent(ae)}&format=${R}`);if(!$.ok)throw new Error(`Provenance report failed with status ${$.status}`);const ne=await $.blob(),Ve=window.URL.createObjectURL(ne),Z=document.createElement("a");Z.href=Ve,Z.download=`${ae}_provenance.${S==="markdown"?"md":"json"}`,document.body.appendChild(Z),Z.click(),window.URL.revokeObjectURL(Ve),document.body.removeChild(Z)},[ae]),Kt=A.useCallback(S=>{if(S.resource.kind!=="context-node"||!j.hasNode(S.resource.id))return;const R=x.begin(S.resource.id),$=j.getNodeAttributes(S.resource.id);j.mergeNodeAttributes(S.resource.id,Zo(S.resource.id,S.body,$.properties??{})),y(ne=>ne+1),Ge.current?.getRuntime()?.requestRender(),Ld(S.resource.id).then(ne=>{!x.isCurrent(S.resource.id,R)||!j.hasNode(S.resource.id)||(j.mergeNodeAttributes(S.resource.id,ne),y(Ve=>Ve+1),Ge.current?.getRuntime()?.requestRender())}).catch(ne=>{console.error("[GraphWorkspace] applied node refresh failed",ne)})},[x]);A.useEffect(()=>{const S=window.location.protocol==="https:"?"wss:":"ws:",R=new WebSocket(`${S}//${window.location.host}/ws/graph-updates`);return R.onmessage=$=>{try{const ne=JSON.parse($.data);if(ne.event==="connection_ack"||ne.event!=="graph_mutation")return;const Ve=ne.data?.event_type,Z=ne.data?.payload;if(Ve==="ADD_NODE"&&Z?.id&&(Oa([{id:Z.id,attributes:rp(Z)}]),j.order>Yo&&(Le.current=!1),op(Le.current),ho("add-node",`Added node ${Z.label??Z.id}${Z.nodeType?` (${Z.nodeType})`:""} via realtime ws`,{nodeId:Z.id,nodeType:Z.nodeType}),y(ke=>ke+1),Ge.current?.getRuntime()?.requestRender()),Ve==="UPDATE_NODE"&&Z?.id&&j.hasNode(Z.id)){x.invalidate(Z.id);const ke=Z.properties??{},Fe=j.getNodeAttributes(Z.id),Zt=typeof ke.content=="string"?ke.content:"";j.mergeNodeAttributes(Z.id,{...Zo(Z.id,Zt,ke),nodeType:Z.type??Fe.nodeType,valid_from:ke.valid_from??null,valid_until:ke.valid_until??null}),ho("update-node",`Updated node ${Z.id} via realtime ws`,{nodeId:Z.id,nodeType:Z.type}),y(nt=>nt+1),Ge.current?.getRuntime()?.requestRender()}if(Ve==="ADD_EDGE"){const ke=Le.current;Fa([{id:String(Z.id),familyId:Z.familyId?String(Z.familyId):String(Z.id),source:Z.source_id,target:Z.target_id,attributes:_d(Z,{isBidirectional:j.hasDirectedEdge(Z.target_id,Z.source_id),isSmallGraph:ke})}]),ho("add-edge",`Added edge ${Z.edgeType??Z.id} (${Z.source_id} → ${Z.target_id}) via realtime ws`,{edgeId:Z.id,edgeType:Z.edgeType,source:Z.source_id,target:Z.target_id}),y(Fe=>Fe+1),Ge.current?.getRuntime()?.requestRender()}}catch(ne){console.error("[GraphWorkspace] websocket update failed",ne)}},()=>{R.close()}},[x]),A.useEffect(()=>{D([]),s(""),l("")},[Se?.edgeCount,Se?.nodeCount]);const Ee=he?"ego":Ue?"heatmap":De,me=w==="full"&&r&&j.hasNode(r)?r:"",lr=me?String(j.getNodeAttributes(me).label||me):null,It=Ee==="ego"?de:Ee==="heatmap"?Ha:Md,Wt=A.useMemo(()=>me&&Ee!=="off"?Pl(j,me,It):at,[Ee,me,It,f]),cr=A.useMemo(()=>Za(Wt,j.order),[Wt,f]),ur=A.useMemo(()=>Ee==="heatmap"&&me?Hl(j,me,Wt,Ha):null,[Ee,me,f,Wt]);A.useEffect(()=>{w!=="full"&&(Ke(!1),Be(!1),je("off"))},[w]),A.useEffect(()=>{(Ee==="off"||!r||!j.hasNode(r))&&(Ke(!1),Be(!1),je("off"))},[Ee,f,r]),A.useEffect(()=>{if(De!=="semantic"||!me){st({anchorNodeId:me||null,scores:at,count:0,status:De==="semantic"?"unavailable":"idle",error:De==="semantic"?"Select a Full Graph node to load semantic distance.":null});return}let S=!1;return st({anchorNodeId:me,scores:at,count:0,status:"loading",error:null}),(async()=>{try{const $=new URLSearchParams({node_id:me,top_k:"50"}),ne=await fetch(`/api/graph/semantic-neighborhood?${$.toString()}`);if(S)return;if(!ne.ok)throw new Error(ne.status===503?"Semantic similarity is unavailable for this graph.":ne.status===404?"Selected node was not found by the semantic distance API.":`Semantic distance failed with status ${ne.status}`);const Z=(await ne.json()).neighbors.reduce((ke,Fe)=>(Number.isFinite(Fe.similarity)&&(ke[Fe.id]=Fe.similarity),ke),{});st({anchorNodeId:me,scores:Z,count:Object.keys(Z).length,status:Object.keys(Z).length>0?"ready":"unavailable",error:Object.keys(Z).length>0?null:"No semantic neighbors were returned for this node."})}catch($){if(S)return;st({anchorNodeId:me,scores:at,count:0,status:"error",error:$ instanceof Error?$.message:"Semantic distance could not be loaded."})}})(),()=>{S=!0}},[me,De]);const Pe=A.useMemo(()=>Ee==="off"?{mode:"off",anchorNodeId:null,anchorLabel:null,maxHops:It,structuralDistances:at,semanticScores:at,distanceCounts:void 0,outsideCount:0,heatmapVisibleNodeIds:void 0,heatmapRingCounts:void 0,heatmapRenderedRingCounts:void 0,heatmapSaturationMode:void 0,semanticNeighborCount:0,status:"idle",error:null}:w!=="full"?{mode:Ee,anchorNodeId:null,anchorLabel:null,maxHops:It,structuralDistances:at,semanticScores:at,distanceCounts:void 0,outsideCount:j.order,heatmapVisibleNodeIds:void 0,heatmapRingCounts:void 0,heatmapRenderedRingCounts:void 0,heatmapSaturationMode:void 0,semanticNeighborCount:0,status:"unavailable",error:"Distance intelligence is available in Full Graph mode."}:me?Ee==="semantic"?{mode:"semantic",anchorNodeId:me,anchorLabel:lr,maxHops:It,structuralDistances:Wt,semanticScores:Re.anchorNodeId===me?Re.scores:at,distanceCounts:cr,outsideCount:cr.outside,heatmapVisibleNodeIds:void 0,heatmapRingCounts:void 0,heatmapRenderedRingCounts:void 0,heatmapSaturationMode:void 0,semanticNeighborCount:Re.anchorNodeId===me?Re.count:0,status:Re.anchorNodeId===me?Re.status:"loading",error:Re.anchorNodeId===me?Re.error:null}:{mode:Ee,anchorNodeId:me,anchorLabel:lr,maxHops:It,structuralDistances:Wt,semanticScores:at,distanceCounts:cr,outsideCount:cr.outside,heatmapVisibleNodeIds:ur?.visibleNodeIds,heatmapRingCounts:ur?.ringCounts,heatmapRenderedRingCounts:ur?.renderedRingCounts,heatmapSaturationMode:ur?.saturationMode,semanticNeighborCount:0,status:"ready",error:null}:{mode:Ee,anchorNodeId:null,anchorLabel:null,maxHops:It,structuralDistances:at,semanticScores:at,distanceCounts:void 0,outsideCount:j.order,heatmapVisibleNodeIds:void 0,heatmapRingCounts:void 0,heatmapRenderedRingCounts:void 0,heatmapSaturationMode:void 0,semanticNeighborCount:0,status:"unavailable",error:"Select a node to activate distance intelligence."},[Ee,lr,me,cr,It,j.order,ur,Re,Wt,w]),zt=!b&&(Tt||kt||!!be||ft),ki=b&&be?.phase==="stabilizing_layout",dr=!!Se?.nodeCount,_r=O?.path??Nt,yn=O?.edge_ids??Nt,Dt=A.useMemo(()=>w==="focused"?n&&j.hasNode(n)?n:"":!r||!j.hasNode(r)?"":k.includes(r)?r:"",[k,n,r,w]),vn=Dt?_r:Nt,xn=Dt?yn:Nt,lt=A.useMemo(()=>w==="grouped"?Oe??Hr("",Nt,Nt,"grouped",{aggregationEnabled:I,collapsedNeighborhoodNodeIds:k}):Hr(Dt,vn,xn,w,{aggregationEnabled:I,collapsedNeighborhoodNodeIds:k}),[I,k,f,Oe,vn,xn,Dt,w]),Ci=A.useMemo(()=>$a(lt.graph),[lt.graph,f]),Ne=A.useMemo(()=>w==="grouped"?Fl(lt.graph,r,{groupedViewAvailable:Y,groupedViewReason:fe,selectedNodeKind:oe.kind,resolvedFocusedNodeId:oe.resolvedNodeId,focusedUnavailableReason:oe.reason}):ai(r,_r,w,{aggregationEnabled:I,collapsedNeighborhoodNodeIds:k,groupedViewAvailable:Y,groupedViewReason:fe,selectedNodeKind:oe.kind,resolvedFocusedNodeId:oe.resolvedNodeId,focusedUnavailableReason:oe.reason}),[_r,I,k,lt.graph,oe.kind,oe.reason,oe.resolvedNodeId,Y,fe,r,w]),Ii=lt.meta;A.useEffect(()=>{w==="grouped"&&!Y&&(Bo("grouped-view-reset-to-full",{reason:fe,graphVersion:f}),C("full"),s(""),a(S=>S&&j.hasNode(S)?S:""))},[f,Y,fe,w]),A.useEffect(()=>{w==="focused"&&(!n||!j.hasNode(n))&&(C("full"),s(""))},[n,f,w]);const Sn=A.useRef(lt.graph),wn=A.useRef(Ne);A.useEffect(()=>{const S=Sn.current!==lt.graph,R=wn.current!==Ne;Bo("display-state-derived",{selectedNodeId:r,structuralSelectedNodeId:Dt,viewMode:w,graphRebuilt:S,displayStateChanged:R,aggregationEnabled:I,collapsedNeighborhoodActive:!!(Dt&&k.includes(Dt))}),Sn.current=lt.graph,wn.current=Ne},[I,k,lt.graph,Ne,r,Dt,w]);const Nn=A.useMemo(()=>{if(!r||!j.hasNode(r))return w==="grouped"?Ne.groupedViewAvailable?"Communities compressed into grouped structure view":Tr(Ne.groupedViewReason)??Tr({code:"communities-undetected"}):null;const S=j.neighbors(r).length;return w==="focused"?`${(Ne.selectedVisibleNeighborIds.length||Math.min(S,16))+1} nodes in focused view`:w==="grouped"?"Grouped structure view with direct community drill-in":Ne.selectedCollapsedNeighborIds.length>0?`${Ne.selectedVisibleNeighborIds.length} visible neighbors, ${Ne.selectedCollapsedNeighborIds.length} collapsed`:`${S} direct neighbors highlighted`},[Ne,r,w]),so=Se,Vt=A.useMemo(()=>np(r,Ne),[Ne,r,Se?.nodeCount,Se?.edgeCount]),Ae=A.useMemo(()=>ap(u,lt.graph),[lt.graph,u,Se?.nodeCount,Se?.edgeCount]),lo=A.useMemo(()=>({currentTime:ge,activeNodeCount:J,minDate:ce?.min??void 0,maxDate:ce?.max??void 0}),[J,ge,ce?.max,ce?.min]),_t=A.useMemo(()=>[{id:"exploration-effects",panelId:"effects-panel",label:"Effects",title:"Open exploration effects controls",order:18,load:Td,shouldLoad:Nd},{id:"neighborhood-panel",panelId:"neighborhood-panel",label:"Neighbors",title:"Toggle neighborhood panel",order:30,load:Wd,shouldLoad:Ed},{id:"temporal-overlay",panelId:"temporal-panel",label:"Temporal",title:"Toggle temporal context panel",order:40,load:zd,shouldLoad:Ad}],[]),wt=A.useMemo(()=>_t.map(S=>xe[S.id]).filter(S=>!!S),[xe,_t]);A.useEffect(()=>{let S=!1;return _t.forEach(R=>{xe[R.id]||R.shouldLoad({panelState:we})&&R.load().then($=>{S||ve(ne=>ne[R.id]?ne:{...ne,[R.id]:$})}).catch($=>{console.error(`[GraphPlugin:${R.id}] lazy load failed`,$)})}),()=>{S=!0}},[xe,we,_t]);const co=A.useCallback((S,R)=>{ht($=>{const ne=typeof R=="function"?R($[S]):R;return S==="diagnosticsEnabled"&&!E.effects.diagnostics.enabledInDev||$[S]===ne?$:{...$,[S]:ne}})},[]),Yt=A.useCallback(S=>{switch(S.type){case"fitView":Ge.current?.fitView();return;case"focusNode":Ge.current?.focusNode(S.nodeId);return;case"selectNode":Ye(S.nodeId);return;case"setViewMode":Te(S.viewMode);return;case"enterLocalGraph":He(S.nodeId);return;case"collapseNeighborhood":if(!r)return;D(R=>R.includes(r)?R:[...R,r]);return;case"expandNeighborhood":if(!r)return;D(R=>R.filter($=>$!==r));return;case"toggleEffect":co(S.effect,R=>!R);return;case"setEffect":co(S.effect,S.enabled);return;case"togglePanel":Qe(R=>{const $=!R[S.panelId];return $e(ne=>$?S.panelId:ne===S.panelId?null:ne),{...R,[S.panelId]:$}});return;case"openPanel":$e(S.panelId),Qe(R=>({...R,[S.panelId]:!0}));return;case"closePanel":Qe(R=>({...R,[S.panelId]:!1})),$e(R=>R===S.panelId?null:R);return}},[He,Ye,r,co,Te]),En=A.useMemo(()=>!E.effects.diagnostics.enabledInDev||!Ze?null:{interactionState:At.current,activePluginIds:wt.map(S=>S.id),openPanelIds:Object.entries(we).filter(([,S])=>S).map(([S])=>S),effectsState:et,edgeClasses:Ze.edgeClasses,distanceVisual:Ze.distanceVisual,effectAvailability:Ze.effectAvailability},[wt,et,Ze,we]),ct=A.useMemo(()=>({get scene(){return ot.current},get graph(){return j},get displayGraph(){return ot.current?.displayGraph??j},theme:E,getInteractionState:()=>At.current,getSelectedNodeState:()=>Vt,getInspectorState:()=>({selectedNodeId:r||null,ownsSelectionDetails:!0}),getGraphSummary:()=>so,getTemporalState:()=>lo,getEffectsState:()=>et,getDiagnosticsSnapshot:()=>En,getAnalyticsSnapshot:()=>Ie,getDisplayState:()=>Ne,isPanelOpen:S=>!!we[S],dispatchAction:Yt}),[Ne,Ie,En,et,so,Yt,we,r,Vt,lo]),Di=A.useCallback(S=>{ot.current=S,S||qe(null),We(R=>R+1)},[]),_i=A.useCallback(S=>{At.current=S;for(const R of wt)try{R.onStateChange(ct,S)}catch($){console.error(`[GraphPlugin:${R.id}] state update failed`,$)}},[wt,ct]),Gi=A.useCallback(S=>{if(!E.effects.diagnostics.enabledInDev)return;const R=tt.current;if(R!==null){const $=["pathPulse","pathFlow","lens","temporalEmphasis","semanticRegions","contours","pathfinding","communities","centrality","legend","diagnostics"],ne=R.effectAvailability,Ve=S.effectAvailability,Z=$.some(nt=>{const Qt=ne[nt],Jt=Ve[nt];return Qt.enabled!==Jt.enabled||Qt.available!==Jt.available||Qt.reason!==Jt.reason||Qt.detail!==Jt.detail||Qt.visibleSegments!==Jt.visibleSegments||Qt.segmentCap!==Jt.segmentCap}),ke=R.edgeClasses?.updatedAt!==S.edgeClasses?.updatedAt,Fe=R.structureLayer?.cacheKey!==S.structureLayer?.cacheKey||R.structureLayer?.lastDrawAt!==S.structureLayer?.lastDrawAt||R.structureLayer?.enabled!==S.structureLayer?.enabled||R.structureLayer?.disabledReason!==S.structureLayer?.disabledReason||R.structureLayer?.curveCount!==S.structureLayer?.curveCount||R.structureLayer?.bridgeCurveCount!==S.structureLayer?.bridgeCurveCount||R.structureLayer?.backboneCurveCount!==S.structureLayer?.backboneCurveCount,Zt=R.distanceVisual!==S.distanceVisual;if(!Z&&!ke&&!Fe&&!Zt)return}tt.current=S,it(S)},[]),Li=A.useCallback(S=>{qe(S)},[]);A.useEffect(()=>{if(!ot.current)return;const S=[];for(const R of wt)try{R.mount(ct),S.push(R)}catch($){console.error(`[GraphPlugin:${R.id}] mount failed`,$)}return()=>{for(const R of S.reverse())try{R.unmount(ct)}catch($){console.error(`[GraphPlugin:${R.id}] unmount failed`,$)}}},[wt,ct,pt]);const An=A.useMemo(()=>_t.map(S=>({id:`${S.id}-toggle`,label:S.label,title:S.title,active:ct.isPanelOpen(S.panelId),order:S.order,onClick:()=>ct.dispatchAction({type:"togglePanel",panelId:S.panelId})})),[ct,_t]),Pi=A.useMemo(()=>ip(wt,ct),[wt,ct]),Mi=A.useMemo(()=>sp(wt,ct),[wt,ct]),Ri=A.useMemo(()=>_t.filter(S=>we[S.panelId]&&!xe[S.id]).map(S=>({id:S.panelId,title:S.label,placement:"bottom",order:S.order,content:N.jsxDEV("div",{style:wp,children:["Loading ",S.label.toLowerCase(),"…"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2608,columnNumber:14},this)})),[xe,we,_t]),Gt=[...Pi,...Ri].filter(S=>S.placement==="bottom"||S.placement==="side").sort((S,R)=>(S.order??0)-(R.order??0)).filter(S=>we[S.id]),pr=Gt.find(S=>S.id===Je)??Gt[0]??null,Gr={showInspector:!!r,showPluginDock:Gt.length>0},uo=Gt.map(S=>S.id).join("|"),[ji,Hi]=A.useState(uo);uo!==ji&&(Hi(uo),Gt.length?(!Je||!Gt.some(S=>S.id===Je))&&$e(Gt[0].id):Je!==null&&$e(null));const Ti=A.useMemo(()=>dr?[{id:"view-full",label:"Full Graph",title:"Return to the full graph context",icon:ts,active:w==="full",onClick:()=>Te("full")},{id:"view-grouped",label:"Grouped View",title:Ne.groupedViewAvailable?"Compress dense structure into detected communities":Tr(Ne.groupedViewReason)??Tr({code:"communities-undetected"})??void 0,icon:rs,active:w==="grouped",disabled:!Ne.groupedViewAvailable,onClick:()=>Te("grouped")},{id:"view-focused",label:"Focus",title:pe?"Inspect the selected node in a focused local graph":nd(oe.reason)??void 0,icon:cs,active:w==="focused",disabled:w!=="focused"&&!pe,onClick:()=>{const S=oe.resolvedNodeId;S&&He(S)}}]:[],[pe,Ne.groupedViewAvailable,Ne.groupedViewReason,He,oe.reason,oe.resolvedNodeId,dr,Te,w]),kn=A.useMemo(()=>[{id:"zoom-in",label:"Zoom In",title:"Zoom in (or scroll up on the canvas)",ariaLabel:"Zoom in",icon:ys,compact:!0,onClick:()=>Ge.current?.zoomIn()},{id:"zoom-out",label:"Zoom Out",title:"Zoom out (or scroll down on the canvas)",ariaLabel:"Zoom out",icon:xs,compact:!0,onClick:()=>Ge.current?.zoomOut()},{id:"fit-view",label:"Fit",title:"Reset the camera to fit the whole graph",ariaLabel:"Fit view",icon:ds,compact:!0,onClick:()=>Ge.current?.fitView()}],[]),Cn=A.useMemo(()=>[{id:"layout-toggle",label:c?"Pause":"Run",title:"Toggle the layout worker",icon:c?hs:os,active:c,disabled:zt,onClick:()=>p(S=>!S)}],[c,zt]),In=A.useMemo(()=>Vt?[{id:"collapse-neighborhood",label:"Collapse",title:"Hide lower-priority fanout around the selected node",icon:es,disabled:!Vt.canCollapseNeighborhood||Vt.isNeighborhoodCollapsed,onClick:()=>Yt({type:"collapseNeighborhood"})},{id:"expand-neighborhood",label:"Expand",title:"Restore the collapsed local neighborhood",icon:Ba,disabled:!Vt.isNeighborhoodCollapsed,onClick:()=>Yt({type:"expandNeighborhood"})}]:[],[Yt,Vt]),Dn=A.useMemo(()=>An.map(S=>({id:S.id,label:S.label,title:S.title,icon:Od(S),active:S.active,onClick:S.onClick})),[An]),_n=A.useMemo(()=>[{id:"reload",label:"Reload",title:"Reload the graph data",ariaLabel:"Reload graph data",icon:Va,compact:!0,disabled:zt,onClick:ir}],[ir,zt]),Wi=zt||!_.trim(),Gn=A.useMemo(()=>!dr||w!=="full"||!r||!j.hasNode(r)?[]:[{id:"ego-mode",label:he?`Ego (${de}h)`:"Ego Mode",title:he?`Egocentric view: ${de} hops depth (click to toggle off)`:"Show depth-of-field fading around the selected node",active:he,onClick:()=>{Ke(S=>!S),Be(!1),je("off")}},{id:"heatmap",label:"Heatmap",title:Ue?"Distance heatmap active (click to toggle off)":"Color nodes by hop distance from selected node",active:Ue,onClick:()=>{Be(S=>!S),Ke(!1),je("off")}},{id:"dist-structural",label:"Structural",title:"Color edges by structural (hop) distance",active:De==="structural",onClick:()=>{Ke(!1),Be(!1),je(S=>S==="structural"?"off":"structural")}},{id:"dist-semantic",label:"Semantic",title:"Color edges by semantic similarity to selected node",active:De==="semantic",onClick:()=>{Ke(!1),Be(!1),je(S=>S==="semantic"?"off":"semantic")}}],[De,de,he,dr,Ue,r,w]),zi=A.useMemo(()=>[{id:"camera",label:"Camera",items:kn},{id:"layout",label:"Layout",items:Cn},{id:"local-structure",label:"Local",items:In},{id:"distance",label:"Distance",items:Gn},{id:"analysis",label:"Analysis",items:Dn},{id:"utility",label:"Utility",items:_n}].filter(S=>S.items.length>0),[Dn,kn,Gn,Cn,In,_n]),Vi={onNodeSelect:Ye,onEdgeSelect:ao,graphVersion:f,graphReady:b,displayGraph:lt.graph,displayMeta:Ii,displayState:Ne,selectedNodeId:r,focusedNodeId:n,selectedEdgeId:u,activePath:_r,activePathEdgeIds:yn,distanceVisualState:Pe,effectsState:et,temporalState:lo,isLayoutRunning:c,layoutSource:so?.layoutSource,viewMode:w,showFitViewButton:!1,pluginOverlays:Mi.map(S=>S.element),onRuntimeChange:Di,onInteractionStateChange:_i,onDiagnosticsChange:Gi,onAnalyticsChange:Li},Ln=Pe.mode!=="off",Pn=Object.keys(Pe.structuralDistances).length,Xt=Pe.distanceCounts,Lt=Pe.heatmapRenderedRingCounts,po=(S,R)=>R==null||R>=S?S.toLocaleString():`${S.toLocaleString()} (${R.toLocaleString()} shown)`,Ui=Xt?[`${Xt.anchor.toLocaleString()} anchor`,`${po(Xt.oneHop,Lt?.oneHop)} 1-hop`,`${po(Xt.twoHop,Lt?.twoHop)} 2-hop`,`${po(Xt.threeHopPlus,Lt?.threeHopPlus)} 3+ hop`,`${Xt.outside.toLocaleString()} outside`,Pe.heatmapSaturationMode==="sampled"?"Sampled for readability":""].filter(Boolean).join(" · "):`${Pn.toLocaleString()} nodes within ${Pe.maxHops} hops`,Mn=Pe.mode==="heatmap"&&Lt?[`${Lt.anchor.toLocaleString()} anchor shown`,`${Lt.oneHop.toLocaleString()} 1-hop shown`,`${Lt.twoHop.toLocaleString()} 2-hop shown`,`${Lt.threeHopPlus.toLocaleString()} 3+ hop shown`].join(" · "):null,Bi=Pe.mode==="heatmap"?[{label:"Anchor",color:vt(0)},{label:"1",color:vt(1)},{label:"2",color:vt(2)},{label:"3",color:vt(3)},{label:"Outside",color:K(E.palette.overview.nodeMuted,.38)}]:[{label:"0h",color:vt(0)},{label:"1h",color:vt(1)},{label:"2-3h",color:vt(3)},{label:"4-6h",color:vt(6)}];return N.jsxDEV("div",{className:"palantir-bg",style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},children:[N.jsxDEV("style",{children:tp},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2883,columnNumber:7},this),N.jsxDEV("div",{className:"palantir-grid"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2884,columnNumber:7},this),N.jsxDEV("div",{className:"palantir-vignette"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2885,columnNumber:7},this),N.jsxDEV("div",{className:"explore-shell",children:[N.jsxDEV("section",{className:"explore-command-deck",children:N.jsxDEV(Or,{tone:"subtle",children:N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[N.jsxDEV("div",{className:"explore-toolbar",children:[N.jsxDEV("div",{className:"explore-status-strip",children:[(zt||ki)&&be?N.jsxDEV(bt,{children:yi(be.phase)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2897,columnNumber:84},this):null,Se?N.jsxDEV(bt,{children:[Se.nodeCount.toLocaleString()," nodes · ",Se.edgeCount.toLocaleString()," edges"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2898,columnNumber:30},this):null,J!==null?N.jsxDEV(bt,{tone:"success",children:[J.toLocaleString()," active"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2899,columnNumber:47},this):null,Nn?N.jsxDEV(bt,{tone:"warm",children:Nn},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2900,columnNumber:37},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2896,columnNumber:17},this),N.jsxDEV("div",{className:"explore-workflow-bar",children:[N.jsxDEV(Zd,{value:_,disabled:Wi,onChange:L,onSubmit:()=>{Dr()},onSelectSuggestion:S=>{L(""),Ye(S.node.id)}},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2903,columnNumber:19},this),N.jsxDEV(qd,{items:Ti},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2907,columnNumber:19},this),N.jsxDEV("div",{className:"explore-toolbelt",children:zi.map(S=>N.jsxDEV($d,{label:S.label??S.id,items:S.items,compact:Vd.has(S.id)},S.id,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2909,columnNumber:53},this))},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2908,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2902,columnNumber:17},this),Ln?null:N.jsxDEV(Jd,{items:Ci},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2912,columnNumber:40},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2895,columnNumber:15},this),he&&N.jsxDEV("div",{style:{display:"flex",alignItems:"center",gap:10,fontSize:12,color:"#a0b4cc"},children:[N.jsxDEV("span",{style:{fontWeight:600,color:"#ff8fa0"},children:"Ego depth:"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2922,columnNumber:19},this),N.jsxDEV("input",{type:"range",min:1,max:8,value:de,onChange:S=>ie(Number(S.target.value)),style:{width:90,accentColor:"#ff8fa0"},title:`Ego depth: ${de} hops`},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2926,columnNumber:19},this),N.jsxDEV("span",{style:{fontFamily:"monospace",color:"#e6f2ff"},children:[de," hop",de!==1?"s":""]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2930,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2915,columnNumber:34},this),Ln?N.jsxDEV("div",{style:pp,children:[N.jsxDEV("div",{style:hp,children:[N.jsxDEV(Ua,{size:14,"aria-hidden":!0},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2938,columnNumber:21},this),N.jsxDEV("span",{children:"Distance Intelligence"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2939,columnNumber:21},this),N.jsxDEV("span",{style:fp,children:Pe.mode},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2940,columnNumber:21},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2937,columnNumber:19},this),N.jsxDEV("div",{style:mp,children:[Pe.anchorLabel?N.jsxDEV("span",{children:["Anchor: ",N.jsxDEV("strong",{children:Pe.anchorLabel},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2943,columnNumber:70},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2943,columnNumber:56},this):null,Pe.mode==="semantic"?N.jsxDEV("span",{children:Pe.status==="loading"?"Loading semantic neighborhood...":`${Pe.semanticNeighborCount??0} semantic neighbors`},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2944,columnNumber:64},this):Pe.mode==="heatmap"?N.jsxDEV("span",{children:Ui},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2946,columnNumber:74},this):N.jsxDEV("span",{children:[Pn.toLocaleString()," nodes within ",Pe.maxHops," hops"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2946,columnNumber:114},this),Pe.status==="unavailable"||Pe.status==="error"?N.jsxDEV("span",{style:{color:E.ui.control.dangerText},children:Pe.error},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2947,columnNumber:111},this):null,Mn?N.jsxDEV("span",{style:{color:E.ui.text.muted},children:Mn},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2950,columnNumber:47},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2942,columnNumber:19},this),N.jsxDEV("div",{style:gp,children:Bi.map(S=>N.jsxDEV("span",{style:bp,children:[N.jsxDEV("span",{style:{...yp,background:S.color}},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2956,columnNumber:25},this),S.label]},S.label,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2955,columnNumber:56},this))},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2954,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2936,columnNumber:37},this):null,q?N.jsxDEV("div",{style:{color:"#ff7b72",fontSize:12},children:q},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2965,columnNumber:30},this):null,G.length?N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[N.jsxDEV("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[N.jsxDEV("span",{style:{color:"#b08b93",fontSize:12},children:[G.length," result",G.length===1?"":"s"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2981,columnNumber:21},this),N.jsxDEV("button",{type:"button",onClick:io,style:{...Qo,minHeight:26,padding:"4px 9px",gap:5},"aria-label":"Dismiss search results",children:[N.jsxDEV(ns,{size:12,strokeWidth:2.4},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2993,columnNumber:23},this),"Dismiss"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2987,columnNumber:21},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2975,columnNumber:19},this),N.jsxDEV("div",{className:"explore-search-results hud-scrollbar",style:Np,children:G.map(S=>N.jsxDEV("button",{style:up,onClick:()=>Ye(S.node.id),children:N.jsxDEV("div",{style:{display:"flex",justifyContent:"space-between",gap:12},children:[N.jsxDEV("div",{style:{minWidth:0},children:[N.jsxDEV("div",{style:{color:"#fff",fontWeight:600},children:S.node.content||S.node.id},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3007,columnNumber:29},this),N.jsxDEV("div",{style:{color:"#b08b93",fontSize:12},children:S.node.type},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3011,columnNumber:29},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3004,columnNumber:27},this),N.jsxDEV("div",{style:{color:"#ff2d4b",fontSize:12,whiteSpace:"nowrap"},children:Math.round(S.score)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3016,columnNumber:27},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2999,columnNumber:25},this)},S.node.id,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2998,columnNumber:52},this))},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2997,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2970,columnNumber:39},this):null,Ae?N.jsxDEV("div",{style:dp,children:[N.jsxDEV("div",{style:{display:"flex",justifyContent:"space-between",gap:12,alignItems:"flex-start"},children:[N.jsxDEV("div",{style:{minWidth:0},children:[N.jsxDEV("div",{style:{color:"rgba(255, 107, 129, 0.76)",fontSize:11,fontWeight:700,letterSpacing:"0.08em",textTransform:"uppercase"},children:"Relationship"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3038,columnNumber:23},this),N.jsxDEV("div",{style:{color:"#f4f8ff",fontSize:15,fontWeight:700,marginTop:6},children:Ae.edgeType},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3047,columnNumber:23},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3035,columnNumber:21},this),N.jsxDEV("button",{onClick:()=>d(""),style:{...Qo,minHeight:30,padding:"6px 10px"},children:"Close"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3056,columnNumber:21},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3029,columnNumber:19},this),N.jsxDEV("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[N.jsxDEV("button",{style:Ta,onClick:()=>Ye(Ae.sourceId),children:Ae.sourceLabel},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3071,columnNumber:21},this),N.jsxDEV("span",{style:{color:"#7fa7ce",fontSize:12},children:"→"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3074,columnNumber:21},this),N.jsxDEV("button",{style:Ta,onClick:()=>Ye(Ae.targetId),children:Ae.targetLabel},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3078,columnNumber:21},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3065,columnNumber:19},this),N.jsxDEV("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[N.jsxDEV(bt,{tone:"warm",children:["weight ",Ae.weight.toFixed(2)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3088,columnNumber:21},this),Ae.isAggregated?N.jsxDEV(bt,{tone:"success",children:[Ae.aggregateCount," bundled edge",Ae.aggregateCount===1?"":"s"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3089,columnNumber:55},this):N.jsxDEV(bt,{children:[Ae.siblingCount," parallel lane",Ae.siblingCount===1?"":"s"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3091,columnNumber:39},this),N.jsxDEV(bt,{children:[Ae.familySize," family member",Ae.familySize===1?"":"s"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3092,columnNumber:21},this),Ae.bundleKind?N.jsxDEV(bt,{children:[Ae.bundleKind," bundle"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3093,columnNumber:53},this):null,Ae.dominantEdgeType?N.jsxDEV(bt,{children:Ae.dominantEdgeType},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3094,columnNumber:59},this):null,Ae.provenanceCount>0?N.jsxDEV(bt,{children:[Ae.provenanceCount," provenance fields"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3095,columnNumber:62},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3083,columnNumber:19},this),Object.keys(Ae.properties).length?N.jsxDEV("div",{style:vp,children:Object.entries(Ae.properties).slice(0,4).map(([S,R])=>N.jsxDEV("div",{style:xp,children:[N.jsxDEV("div",{style:{color:"rgba(255, 107, 129, 0.68)",fontSize:10,letterSpacing:"0.06em",textTransform:"uppercase"},children:S},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3100,columnNumber:27},this),N.jsxDEV("div",{style:{color:"#dce7f4",fontSize:12,marginTop:4,wordBreak:"break-word"},children:typeof R=="object"?JSON.stringify(R):String(R)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3108,columnNumber:27},this)]},S,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3099,columnNumber:107},this))},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3098,columnNumber:71},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3028,columnNumber:36},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2890,columnNumber:13},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2889,columnNumber:11},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2888,columnNumber:9},this),N.jsxDEV("div",{className:"explore-main-grid",style:{gridTemplateColumns:Gr.showInspector?"minmax(0, 1fr) minmax(320px, 360px)":"minmax(0, 1fr)"},children:[N.jsxDEV("div",{className:"explore-scene-stack",children:N.jsxDEV(Or,{padding:"none",className:"explore-scene-card",children:[N.jsxDEV("div",{className:"explore-scene-shell",children:[N.jsxDEV("div",{className:"palantir-grid"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3129,columnNumber:17},this),N.jsxDEV("div",{className:"palantir-vignette"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3130,columnNumber:17},this),N.jsxDEV("div",{className:"explore-scene-stage",children:[N.jsxDEV(Du,{ref:Ge,...Vi},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3132,columnNumber:19},this),N.jsxDEV(rd,{progress:be,visible:zt,showGraphBehind:dr||!!be?.showGraphBehind,error:Cr,onRetry:sr},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3133,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3131,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3128,columnNumber:15},this),Gr.showPluginDock?N.jsxDEV("div",{className:"explore-plugin-dock",children:N.jsxDEV(Or,{tone:"subtle",style:{borderRadius:0,borderLeft:"none",borderRight:"none",borderBottom:"none"},children:N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[N.jsxDEV("div",{style:{display:"flex",justifyContent:"space-between",gap:12,alignItems:"center"},children:N.jsxDEV("div",{className:"explore-plugin-dock-tabs",children:[Gt.map(S=>N.jsxDEV("button",{className:"explore-plugin-dock-tab","data-active":pr?.id===S.id,onClick:()=>$e(S.id),children:S.title},S.id,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3156,columnNumber:58},this)),pr?N.jsxDEV("button",{className:"explore-plugin-dock-tab",onClick:()=>Yt({type:"closePanel",panelId:pr.id}),children:"×"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3159,columnNumber:46},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3155,columnNumber:25},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3149,columnNumber:23},this),pr?N.jsxDEV("div",{style:Sp,children:pr.content},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3167,columnNumber:42},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3144,columnNumber:21},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3138,columnNumber:19},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3137,columnNumber:45},this):null,N.jsxDEV("div",{className:"explore-scene-footer",children:N.jsxDEV(A.Suspense,{fallback:N.jsxDEV("div",{style:Ap,children:"Loading timeline…"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3173,columnNumber:37},this),children:N.jsxDEV(jd,{onTimeChange:_e,minDate:ce?.min??void 0,maxDate:ce?.max??void 0},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3174,columnNumber:19},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3173,columnNumber:17},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3172,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3127,columnNumber:13},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3126,columnNumber:11},this),Gr.showInspector?N.jsxDEV("div",{className:"explore-inspector-shell",children:N.jsxDEV(Ns,{open:Gr.showInspector,className:"explore-inspector-card",children:N.jsxDEV("div",{className:"explore-inspector-scroll hud-scrollbar",children:N.jsxDEV(A.Suspense,{fallback:N.jsxDEV("div",{style:Ep,children:"Loading inspector…"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3183,columnNumber:39},this),children:N.jsxDEV(Hd,{nodeId:r,inspectableNodeId:ae||null,selectedNodeKind:Ne.selectedNodeKind,canActivateFocused:pe,focusedUnavailableReason:Ne.focusedUnavailableReason,predictions:P,predictionType:F,onPredictionTypeChange:ee,onRunPredictions:()=>{gt()},isRunningPredictions:U,pathTargetId:te,onPathTargetChange:Q,onTracePath:()=>{St()},pathResult:O,onDownloadProvenance:S=>{qt(S)},onFocusNode:Ye,onMarkdownApplied:Kt,onMarkdownDirtyChange:g},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3184,columnNumber:21},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3183,columnNumber:19},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3182,columnNumber:17},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3181,columnNumber:15},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3180,columnNumber:40},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3123,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2887,columnNumber:7},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2877,columnNumber:10},this)}const cp={background:E.ui.control.primaryBg,color:E.ui.control.primaryText,border:`1px solid ${E.ui.control.primaryBorder}`,borderRadius:12,padding:"9px 12px",cursor:"pointer",fontWeight:700,fontSize:12,display:"inline-flex",alignItems:"center",justifyContent:"center",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.07), 0 10px 24px rgba(0,0,0,0.18)"},Qo={...cp,background:E.ui.control.defaultBg,border:`1px solid ${E.ui.control.defaultBorder}`,color:E.ui.control.defaultText,fontWeight:600},up={textAlign:"left",padding:12,background:"rgba(255, 255, 255, 0.035)",border:`1px solid ${E.ui.surface.panelBorder}`,borderRadius:10,cursor:"pointer"},dp={display:"flex",flexDirection:"column",gap:12,padding:14,background:"linear-gradient(135deg, rgba(98, 226, 205, 0.1), rgba(233, 196, 122, 0.045))",border:`1px solid ${E.ui.surface.panelBorder}`,borderRadius:14,boxShadow:"inset 0 1px 0 rgba(255,255,255,0.03)"},Ta={...Qo,minHeight:32,padding:"7px 12px",whiteSpace:"nowrap"},pp={display:"flex",alignItems:"center",gap:12,flexWrap:"wrap",border:`1px solid ${E.ui.control.activeBorder}`,background:"linear-gradient(135deg, rgba(98, 226, 205, 0.09), rgba(227, 179, 65, 0.045))",borderRadius:16,padding:"9px 12px",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.045)"},hp={display:"flex",alignItems:"center",gap:7,color:E.ui.text.strong,fontSize:12,fontWeight:800,letterSpacing:"0.04em",textTransform:"uppercase"},fp={padding:"2px 7px",borderRadius:999,border:`1px solid ${E.ui.surface.panelBorder}`,color:E.palette.accent.path,background:"rgba(215, 144, 86, 0.1)",fontSize:10},mp={display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",color:E.ui.text.body,fontSize:12},gp={display:"flex",alignItems:"center",gap:8,marginLeft:"auto",color:E.ui.text.muted,fontSize:11},bp={display:"inline-flex",alignItems:"center",gap:4},yp={width:8,height:8,borderRadius:999},vp={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(160px, 1fr))",gap:8},xp={borderRadius:10,padding:10,background:"rgba(255, 255, 255, 0.03)",border:`1px solid ${E.ui.surface.panelBorder}`},Sp={borderRadius:16,border:`1px solid ${E.ui.surface.panelBorder}`,background:"rgba(255, 255, 255, 0.02)",padding:14},wp={color:E.ui.text.muted,fontSize:12,padding:10},Np={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:10,maxHeight:186,overflowY:"auto"},Ep={padding:24,color:E.ui.text.muted,fontSize:12},Ap={height:"90px",display:"flex",alignItems:"center",padding:"0 18px",color:E.ui.text.muted,fontSize:12,borderTop:`1px solid ${E.ui.timeline.border}`,background:E.ui.timeline.background},Hp=Object.freeze(Object.defineProperty({__proto__:null,GraphWorkspace:lp},Symbol.toStringTag,{value:"Module"}));export{Hp as G,nd as f,j as g};
1116
+ `;function Ai(t){return Pd.reduce((e,o)=>t[o]!==void 0&&t[o]!==null?e+1:e,0)}function rp(t){const e=t.properties||{},o=String(e.content||t.id),r=E.palette.accent.path,a=!!(e.valid_from||e.valid_until),n=Ai(e);return{label:o,x:Number(e.x??Math.random()*1e3-500),y:Number(e.y??Math.random()*1e3-500),nodeType:t.type||"inferred",content:o,valid_from:e.valid_from??null,valid_until:e.valid_until??null,properties:e,size:8,baseSize:8,semanticGroup:t.type||"inferred",color:r,baseColor:r,mutedColor:K(r,E.nodes.mutedAlpha),glowColor:K(r,.36),visualPriority:.82,labelPriority:.82,strokeColor:E.palette.background.nodeBorder,borderColor:E.palette.background.nodeBorder,borderSize:.85,nodeVariant:"inferred",nodeShapeVariant:"inferred",badgeKind:a?"temporal":n>0?"provenance":"inferred",badgeCount:n||void 0,ringColor:E.nodes.selectedRing.color,haloColor:K(r,.42),labelVisibilityPolicy:"local"}}function op(t){j.forEachEdge(e=>{j.setEdgeAttribute(e,"isSmallGraph",t)})}function np(t,e){if(!t||!j.hasNode(t))return null;const o=j.getNodeAttributes(t);return{id:t,label:String(o.label??t),content:String(o.content??o.label??t),nodeType:String(o.nodeType??"Entity"),color:typeof o.color=="string"?o.color:void 0,valid_from:o.valid_from??null,valid_until:o.valid_until??null,properties:o.properties??{},neighborCount:j.neighbors(t).length,visibleNeighborCount:e.selectedVisibleNeighborIds.length,collapsedNeighborCount:e.selectedCollapsedNeighborIds.length,isNeighborhoodCollapsed:e.selectedCollapsedNeighborIds.length>0,canCollapseNeighborhood:j.neighbors(t).length>8}}function ap(t,e){if(!t||!e.hasEdge(t))return null;const[o,r]=e.extremities(t),a=e.getEdgeAttributes(t),n=a.rawEdgeIds?.length?a.rawEdgeIds.map(f=>String(f)):[t],s=n.find(f=>j.hasEdge(f))??n[0];let i=o,l=r;s&&j.hasEdge(s)&&([i,l]=j.extremities(s));const u=j.hasNode(i)?j.getNodeAttributes(i):{label:o},d=j.hasNode(l)?j.getNodeAttributes(l):{label:r},c=a.properties??{},p=String(a.familyId||t);let b=0,m=0;return n.forEach(f=>{if(!j.hasEdge(f))return;const y=j.getEdgeAttributes(f),[h,v]=j.extremities(f);String(y.familyId||f)===p&&(b+=1),h===i&&v===l&&(m+=1)}),a.isAggregated&&(m=n.filter(f=>j.hasEdge(f)).length,b=Math.max(b,m)),{id:t,familyId:p,sourceId:i,sourceLabel:String(u.label??u.content??i),targetId:l,targetLabel:String(d.label??d.content??l),edgeType:String(a.edgeType??"related_to"),weight:Number(a.weight??1),properties:c,provenanceCount:Ai(c),familySize:b,siblingCount:m,isAggregated:!!a.isAggregated,aggregateCount:Number(a.aggregateCount??n.length),rawEdgeIds:n,bundleKind:a.bundleKind??null,dominantEdgeType:a.dominantEdgeType??null,representativeWeight:Number(a.representativeWeight??a.weight??1)}}function ip(t,e){const o=[];for(const r of t)try{const a=r.renderPanel?.(e);if(!a)continue;Array.isArray(a)?o.push(...a):o.push(a)}catch(a){console.error(`[GraphPlugin:${r.id}] panel render failed`,a)}return o.sort((r,a)=>(r.order??0)-(a.order??0))}function sp(t,e){const o=[];for(const r of t)try{const a=r.renderOverlay?.(e);if(!a)continue;Array.isArray(a)?o.push(...a):o.push(a)}catch(a){console.error(`[GraphPlugin:${r.id}] overlay render failed`,a)}return o.sort((r,a)=>(r.layer??0)!==(a.layer??0)?(r.layer??0)-(a.layer??0):(r.order??0)-(a.order??0))}function lp({externalFocusNodeId:t,externalFocusToken:e,onDirtyChange:o}={}){const[r,a]=A.useState(""),[n,s]=A.useState(""),[i,l]=A.useState(""),[u,d]=A.useState(""),[c,p]=A.useState(!1),[b,m]=A.useState(!1),[f,y]=A.useState(0),[h,v]=A.useState(!1),x=A.useMemo(()=>new Gd,[]),g=A.useCallback(S=>{v(S),o?.(S)},[o]),[w,C]=A.useState("full"),[I]=A.useState(!0),[k,D]=A.useState([]),[_,L]=A.useState(""),[G,V]=A.useState([]),[q,W]=A.useState(""),[F,ee]=A.useState(""),[U,T]=A.useState(!1),[P,z]=A.useState([]),[te,Q]=A.useState(""),[B,le]=A.useState(null),[J,re]=A.useState(null),[ce,ue]=A.useState(null),[ge,se]=A.useState(null),Ce=A.useRef(null),_e=A.useCallback(S=>{const R=S.getTime();R!==Ce.current&&(Ce.current=R,se(S))},[]),[be,Me]=A.useState(null),[we,Qe]=A.useState({"effects-panel":!1,"neighborhood-panel":!1,"temporal-panel":!1}),[Je,$e]=A.useState(null),[pt,We]=A.useState(0),[et,ht]=A.useState(Rd),[Ze,it]=A.useState(null),tt=A.useRef(null),[Ie,qe]=A.useState(null),[xe,ve]=A.useState({}),[he,Ke]=A.useState(!1),[de,ie]=A.useState(3),[De,je]=A.useState("off"),[Ue,Oe]=A.useState(!1),[Re,st]=A.useState({anchorNodeId:null,scores:at,count:0,status:"idle",error:null}),rt=Od(ge,150),jt=A.useRef(new Set),Ge=A.useRef(null),Et=A.useRef(void 0),ot=A.useRef(null),Bt=A.useRef(null),Le=A.useRef(!1),At=A.useRef({hoveredNodeId:null,selectedNodeId:"",selectedEdgeId:"",focusedNodeId:"",activePath:[],activePathEdgeIds:[],viewMode:"full",zoomTier:"overview",isLayoutRunning:!1}),ir=Ju(),Ht=A.useCallback(S=>{Me(S),S.phase!=="ready"&&S.phase!=="stabilizing_layout"&&m(!1)},[]),Ft=A.useCallback(S=>{const R=Ud(S);if(Bt.current!==R){if(Bt.current=R,Le.current=!!(S.layoutReady&&!S.hasCoordinates&&S.nodeCount>0&&S.nodeCount<=Yo),m(!0),y($=>$+1),p(!S.layoutReady),S.layoutReady){Me(null);return}Me(Mt({phase:"stabilizing_layout",progressKind:"indeterminate",nodesLoaded:S.nodeCount,nodesTotal:S.nodeCount,edgesLoaded:S.edgeCount,edgesTotal:S.edgeCount,message:"Settling runtime layout",showGraphBehind:!0,layoutSource:S.layoutSource,layoutState:"bootstrapping"}))}},[]),{data:Se,isLoading:Tt,isFetching:kt,isError:ft,error:mt,refetch:$t}=qu({enabled:!0,onGraphReady:Ft,onProgress:Ht}),Cr=ft?mt instanceof Error?mt.message:"Unknown error while loading the graph.":null,sr=A.useCallback(()=>{Me(null),$t()},[$t]);A.useEffect(()=>{c||Me(S=>S?.phase==="stabilizing_layout"?null:S)},[c]),A.useEffect(()=>{!Se||b||Ft(Se)},[Ft,b,Se]);const Ir=kd(Se),M=Cd({debouncedTime:rt,isLoading:Tt,summary:Se});A.useEffect(()=>{if(!Ir)return;let S=!1;return(async()=>{try{const $=await fetch("/api/temporal/bounds");if(!$.ok||S)return;const ne=await $.json();S||ue(ne)}catch{S||ue(null)}})(),()=>{S=!0}},[Ir,Se?.nodeCount,Se?.edgeCount]);const H=A.useRef(null);H.current===null&&(H.current=Dd());const X=H.current;A.useEffect(()=>{X.reset()},[Se]),A.useEffect(()=>{if(!M||!rt)return;const S=rt.getTime(),{seq:R,cached:$}=X.begin(S);if(R===null)return;let ne=!1;const Ve=ke=>{const Fe=new Set(ke.active_node_ids);requestAnimationFrame(()=>{if(ne)return;if(!X.shouldApply(S,R)){X.finish(S,R);return}jt.current.forEach(nt=>{!Fe.has(nt)&&j.hasNode(nt)&&j.setNodeAttribute(nt,"hidden",!0)}),Fe.forEach(nt=>{j.hasNode(nt)&&j.setNodeAttribute(nt,"hidden",!1)}),jt.current=Fe,re(ke.active_node_count),y(nt=>nt+1),Ge.current?.getRuntime()?.requestRender(),X.apply(S,R,ke)})};if($){Ve($);return}return(async()=>{try{const ke=rt.toISOString(),Fe=await fetch(`/api/temporal/snapshot?at=${encodeURIComponent(ke)}`);if(!Fe.ok){ne||X.finish(S,R);return}if(ne)return;const Zt=await Fe.json();if(ne)return;Ve(Zt)}catch(ke){X.finish(S,R),ne||console.error("[Temporal] Snapshot fetch failed",ke)}})(),()=>{ne=!0,X.finish(S,R)}},[M,rt]);const O=A.useCallback((S,R)=>{if(!S)return{kind:"none",resolvedNodeId:null,reason:{code:"no-selection"}};if(j.hasNode(S))return{kind:"base",resolvedNodeId:S,reason:null};const $=R??ot.current?.displayGraph??j;if($.hasNode(S)){const Ve=$.getNodeAttributes(S).properties?.__communityGroup,Z=Ve?.anchorNodeId||Ve?.sampleNodeIds?.[0]||"";return Z&&j.hasNode(Z)?{kind:"grouped",resolvedNodeId:Z,reason:null}:{kind:"grouped",resolvedNodeId:null,reason:{code:"grouped-unresolvable"}}}return{kind:"unavailable",resolvedNodeId:null,reason:{code:"not-in-graph"}}},[]),oe=A.useMemo(()=>O(r,ot.current?.displayGraph),[pt,O,r,w]),ae=oe.resolvedNodeId??"",pe=!!oe.resolvedNodeId,{available:Y,reason:fe}=A.useMemo(()=>Ol(),[f]),Be=A.useMemo(()=>w==="grouped"?Hr("",Nt,Nt,"grouped",{aggregationEnabled:I,collapsedNeighborhoodNodeIds:k}):null,[w,I,k,f]),ze=A.useCallback(()=>h?window.confirm("Discard the unapplied Markdown draft and leave this node?"):!0,[h]),He=A.useCallback(S=>{const R=O(S,ot.current?.displayGraph);if(!R.resolvedNodeId)return;const $=R.resolvedNodeId,ne=ad(w,r,$);ne&&!ze()||(s($),a($),ne&&(d(""),le(null),V([]),W("")),C("focused"),p(!1))},[ze,O,r,w]),Te=A.useCallback(S=>{if(!(S!==w&&!ze())){if(S==="grouped"){if(!Y){Oo("grouped-view-unavailable",{reason:fe,graphVersion:f});return}const R=Be?.graph??Hr("",Nt,Nt,"grouped",{aggregationEnabled:I,collapsedNeighborhoodNodeIds:k}).graph,$=[i,r,n].map(ne=>sn(R,ne)).find(ne=>!!ne)??"";s(""),a($),$&&l($),C("grouped"),p(!0);return}s(""),a(R=>R&&j.hasNode(R)?R:""),C("full")}},[ze,I,k,n,f,Be,Y,fe,i,r,w]),Ye=A.useCallback(S=>{if(S!==r&&!ze())return;if(!S){a(""),d(""),le(null),V([]),W("");return}const R=ot.current?.displayGraph??j,$=S;!j.hasNode(S)&&R.hasNode(S)&&l(S),a($),d(""),le(null),V([]),W(""),w==="focused"&&j.hasNode($)&&(s($),p(!1))},[ze,r,w]);A.useEffect(()=>{!t||e==null||Et.current!==e&&(!b||!j.hasNode(t)||t!==r&&!ze()||(Et.current=e,C("full"),a(t),d(""),window.setTimeout(()=>{Ge.current?.focusNode(t)},0)))},[ze,t,e,b,r]);const ao=A.useCallback(S=>{d(S)},[]),Dr=A.useCallback(async()=>{if(!_.trim()){V([]);return}W("");try{const S=await fetch("/api/graph/search",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:_,limit:8})});if(!S.ok)throw new Error(`Search failed with status ${S.status}`);const R=await S.json();V(R.results||[])}catch(S){W(S instanceof Error?S.message:"Search failed")}},[_]),io=A.useCallback(()=>{V([]),W("")},[]),gt=A.useCallback(async()=>{if(ae){T(!0);try{const S=await fetch("/api/enrich/links",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:ae,top_n:6,candidate_type:F||void 0,min_score:0})});if(!S.ok)throw new Error(`Link prediction failed with status ${S.status}`);const R=await S.json();z(R.predictions||[])}catch(S){console.error("[GraphWorkspace] prediction failed",S),z([])}finally{T(!1)}}},[ae,F]),St=A.useCallback(async()=>{if(!(!ae||!te.trim()))try{const S=new URLSearchParams({source:ae,target:te.trim(),algorithm:"dijkstra"}),R=await fetch(`/api/graph/path?${S.toString()}`);if(!R.ok)throw new Error(`Path lookup failed with status ${R.status}`);const $=await R.json();if(le($),$.path?.length){const ne=$.path[$.path.length-1];j.hasNode(ne)&&Ge.current?.focusNode(ne)}}catch(S){console.error("[GraphWorkspace] path trace failed",S),le(null)}},[ae,te]),qt=A.useCallback(async S=>{if(!ae)return;const R=S==="markdown"?"markdown":"json",$=await fetch(`/api/provenance/report?node_id=${encodeURIComponent(ae)}&format=${R}`);if(!$.ok)throw new Error(`Provenance report failed with status ${$.status}`);const ne=await $.blob(),Ve=window.URL.createObjectURL(ne),Z=document.createElement("a");Z.href=Ve,Z.download=`${ae}_provenance.${S==="markdown"?"md":"json"}`,document.body.appendChild(Z),Z.click(),window.URL.revokeObjectURL(Ve),document.body.removeChild(Z)},[ae]),Kt=A.useCallback(S=>{if(S.resource.kind!=="context-node"||!j.hasNode(S.resource.id))return;const R=x.begin(S.resource.id),$=j.getNodeAttributes(S.resource.id);j.mergeNodeAttributes(S.resource.id,Zo(S.resource.id,S.body,$.properties??{})),y(ne=>ne+1),Ge.current?.getRuntime()?.requestRender(),Ld(S.resource.id).then(ne=>{!x.isCurrent(S.resource.id,R)||!j.hasNode(S.resource.id)||(j.mergeNodeAttributes(S.resource.id,ne),y(Ve=>Ve+1),Ge.current?.getRuntime()?.requestRender())}).catch(ne=>{console.error("[GraphWorkspace] applied node refresh failed",ne)})},[x]);A.useEffect(()=>{const S=window.location.protocol==="https:"?"wss:":"ws:",R=new WebSocket(`${S}//${window.location.host}/ws/graph-updates`);return R.onmessage=$=>{try{const ne=JSON.parse($.data);if(ne.event==="connection_ack"||ne.event!=="graph_mutation")return;const Ve=ne.data?.event_type,Z=ne.data?.payload;if(Ve==="ADD_NODE"&&Z?.id&&(Ba([{id:Z.id,attributes:rp(Z)}]),j.order>Yo&&(Le.current=!1),op(Le.current),ho("add-node",`Added node ${Z.label??Z.id}${Z.nodeType?` (${Z.nodeType})`:""} via realtime ws`,{nodeId:Z.id,nodeType:Z.nodeType}),y(ke=>ke+1),Ge.current?.getRuntime()?.requestRender()),Ve==="UPDATE_NODE"&&Z?.id&&j.hasNode(Z.id)){x.invalidate(Z.id);const ke=Z.properties??{},Fe=j.getNodeAttributes(Z.id),Zt=typeof ke.content=="string"?ke.content:"";j.mergeNodeAttributes(Z.id,{...Zo(Z.id,Zt,ke),nodeType:Z.type??Fe.nodeType,valid_from:ke.valid_from??null,valid_until:ke.valid_until??null}),ho("update-node",`Updated node ${Z.id} via realtime ws`,{nodeId:Z.id,nodeType:Z.type}),y(nt=>nt+1),Ge.current?.getRuntime()?.requestRender()}if(Ve==="ADD_EDGE"){const ke=Le.current;Fa([{id:String(Z.id),familyId:Z.familyId?String(Z.familyId):String(Z.id),source:Z.source_id,target:Z.target_id,attributes:_d(Z,{isBidirectional:j.hasDirectedEdge(Z.target_id,Z.source_id),isSmallGraph:ke})}]),ho("add-edge",`Added edge ${Z.edgeType??Z.id} (${Z.source_id} → ${Z.target_id}) via realtime ws`,{edgeId:Z.id,edgeType:Z.edgeType,source:Z.source_id,target:Z.target_id}),y(Fe=>Fe+1),Ge.current?.getRuntime()?.requestRender()}}catch(ne){console.error("[GraphWorkspace] websocket update failed",ne)}},()=>{R.close()}},[x]),A.useEffect(()=>{D([]),s(""),l("")},[Se?.edgeCount,Se?.nodeCount]);const Ee=he?"ego":Ue?"heatmap":De,me=w==="full"&&r&&j.hasNode(r)?r:"",lr=me?String(j.getNodeAttributes(me).label||me):null,It=Ee==="ego"?de:Ee==="heatmap"?Ha:Md,Wt=A.useMemo(()=>me&&Ee!=="off"?Pl(j,me,It):at,[Ee,me,It,f]),cr=A.useMemo(()=>Za(Wt,j.order),[Wt,f]),ur=A.useMemo(()=>Ee==="heatmap"&&me?Hl(j,me,Wt,Ha):null,[Ee,me,f,Wt]);A.useEffect(()=>{w!=="full"&&(Ke(!1),Oe(!1),je("off"))},[w]),A.useEffect(()=>{(Ee==="off"||!r||!j.hasNode(r))&&(Ke(!1),Oe(!1),je("off"))},[Ee,f,r]),A.useEffect(()=>{if(De!=="semantic"||!me){st({anchorNodeId:me||null,scores:at,count:0,status:De==="semantic"?"unavailable":"idle",error:De==="semantic"?"Select a Full Graph node to load semantic distance.":null});return}let S=!1;return st({anchorNodeId:me,scores:at,count:0,status:"loading",error:null}),(async()=>{try{const $=new URLSearchParams({node_id:me,top_k:"50"}),ne=await fetch(`/api/graph/semantic-neighborhood?${$.toString()}`);if(S)return;if(!ne.ok)throw new Error(ne.status===503?"Semantic similarity is unavailable for this graph.":ne.status===404?"Selected node was not found by the semantic distance API.":`Semantic distance failed with status ${ne.status}`);const Z=(await ne.json()).neighbors.reduce((ke,Fe)=>(Number.isFinite(Fe.similarity)&&(ke[Fe.id]=Fe.similarity),ke),{});st({anchorNodeId:me,scores:Z,count:Object.keys(Z).length,status:Object.keys(Z).length>0?"ready":"unavailable",error:Object.keys(Z).length>0?null:"No semantic neighbors were returned for this node."})}catch($){if(S)return;st({anchorNodeId:me,scores:at,count:0,status:"error",error:$ instanceof Error?$.message:"Semantic distance could not be loaded."})}})(),()=>{S=!0}},[me,De]);const Pe=A.useMemo(()=>Ee==="off"?{mode:"off",anchorNodeId:null,anchorLabel:null,maxHops:It,structuralDistances:at,semanticScores:at,distanceCounts:void 0,outsideCount:0,heatmapVisibleNodeIds:void 0,heatmapRingCounts:void 0,heatmapRenderedRingCounts:void 0,heatmapSaturationMode:void 0,semanticNeighborCount:0,status:"idle",error:null}:w!=="full"?{mode:Ee,anchorNodeId:null,anchorLabel:null,maxHops:It,structuralDistances:at,semanticScores:at,distanceCounts:void 0,outsideCount:j.order,heatmapVisibleNodeIds:void 0,heatmapRingCounts:void 0,heatmapRenderedRingCounts:void 0,heatmapSaturationMode:void 0,semanticNeighborCount:0,status:"unavailable",error:"Distance intelligence is available in Full Graph mode."}:me?Ee==="semantic"?{mode:"semantic",anchorNodeId:me,anchorLabel:lr,maxHops:It,structuralDistances:Wt,semanticScores:Re.anchorNodeId===me?Re.scores:at,distanceCounts:cr,outsideCount:cr.outside,heatmapVisibleNodeIds:void 0,heatmapRingCounts:void 0,heatmapRenderedRingCounts:void 0,heatmapSaturationMode:void 0,semanticNeighborCount:Re.anchorNodeId===me?Re.count:0,status:Re.anchorNodeId===me?Re.status:"loading",error:Re.anchorNodeId===me?Re.error:null}:{mode:Ee,anchorNodeId:me,anchorLabel:lr,maxHops:It,structuralDistances:Wt,semanticScores:at,distanceCounts:cr,outsideCount:cr.outside,heatmapVisibleNodeIds:ur?.visibleNodeIds,heatmapRingCounts:ur?.ringCounts,heatmapRenderedRingCounts:ur?.renderedRingCounts,heatmapSaturationMode:ur?.saturationMode,semanticNeighborCount:0,status:"ready",error:null}:{mode:Ee,anchorNodeId:null,anchorLabel:null,maxHops:It,structuralDistances:at,semanticScores:at,distanceCounts:void 0,outsideCount:j.order,heatmapVisibleNodeIds:void 0,heatmapRingCounts:void 0,heatmapRenderedRingCounts:void 0,heatmapSaturationMode:void 0,semanticNeighborCount:0,status:"unavailable",error:"Select a node to activate distance intelligence."},[Ee,lr,me,cr,It,j.order,ur,Re,Wt,w]),zt=!b&&(Tt||kt||!!be||ft),ki=b&&be?.phase==="stabilizing_layout",dr=!!Se?.nodeCount,_r=B?.path??Nt,yn=B?.edge_ids??Nt,Dt=A.useMemo(()=>w==="focused"?n&&j.hasNode(n)?n:"":!r||!j.hasNode(r)?"":k.includes(r)?r:"",[k,n,r,w]),vn=Dt?_r:Nt,xn=Dt?yn:Nt,lt=A.useMemo(()=>w==="grouped"?Be??Hr("",Nt,Nt,"grouped",{aggregationEnabled:I,collapsedNeighborhoodNodeIds:k}):Hr(Dt,vn,xn,w,{aggregationEnabled:I,collapsedNeighborhoodNodeIds:k}),[I,k,f,Be,vn,xn,Dt,w]),Ci=A.useMemo(()=>$a(lt.graph),[lt.graph,f]),Ne=A.useMemo(()=>w==="grouped"?Fl(lt.graph,r,{groupedViewAvailable:Y,groupedViewReason:fe,selectedNodeKind:oe.kind,resolvedFocusedNodeId:oe.resolvedNodeId,focusedUnavailableReason:oe.reason}):ai(r,_r,w,{aggregationEnabled:I,collapsedNeighborhoodNodeIds:k,groupedViewAvailable:Y,groupedViewReason:fe,selectedNodeKind:oe.kind,resolvedFocusedNodeId:oe.resolvedNodeId,focusedUnavailableReason:oe.reason}),[_r,I,k,lt.graph,oe.kind,oe.reason,oe.resolvedNodeId,Y,fe,r,w]),Ii=lt.meta;A.useEffect(()=>{w==="grouped"&&!Y&&(Oo("grouped-view-reset-to-full",{reason:fe,graphVersion:f}),C("full"),s(""),a(S=>S&&j.hasNode(S)?S:""))},[f,Y,fe,w]),A.useEffect(()=>{w==="focused"&&(!n||!j.hasNode(n))&&(C("full"),s(""))},[n,f,w]);const Sn=A.useRef(lt.graph),wn=A.useRef(Ne);A.useEffect(()=>{const S=Sn.current!==lt.graph,R=wn.current!==Ne;Oo("display-state-derived",{selectedNodeId:r,structuralSelectedNodeId:Dt,viewMode:w,graphRebuilt:S,displayStateChanged:R,aggregationEnabled:I,collapsedNeighborhoodActive:!!(Dt&&k.includes(Dt))}),Sn.current=lt.graph,wn.current=Ne},[I,k,lt.graph,Ne,r,Dt,w]);const Nn=A.useMemo(()=>{if(!r||!j.hasNode(r))return w==="grouped"?Ne.groupedViewAvailable?"Communities compressed into grouped structure view":Tr(Ne.groupedViewReason)??Tr({code:"communities-undetected"}):null;const S=j.neighbors(r).length;return w==="focused"?`${(Ne.selectedVisibleNeighborIds.length||Math.min(S,16))+1} nodes in focused view`:w==="grouped"?"Grouped structure view with direct community drill-in":Ne.selectedCollapsedNeighborIds.length>0?`${Ne.selectedVisibleNeighborIds.length} visible neighbors, ${Ne.selectedCollapsedNeighborIds.length} collapsed`:`${S} direct neighbors highlighted`},[Ne,r,w]),so=Se,Vt=A.useMemo(()=>np(r,Ne),[Ne,r,Se?.nodeCount,Se?.edgeCount]),Ae=A.useMemo(()=>ap(u,lt.graph),[lt.graph,u,Se?.nodeCount,Se?.edgeCount]),lo=A.useMemo(()=>({currentTime:ge,activeNodeCount:J,minDate:ce?.min??void 0,maxDate:ce?.max??void 0}),[J,ge,ce?.max,ce?.min]),_t=A.useMemo(()=>[{id:"exploration-effects",panelId:"effects-panel",label:"Effects",title:"Open exploration effects controls",order:18,load:Td,shouldLoad:Nd},{id:"neighborhood-panel",panelId:"neighborhood-panel",label:"Neighbors",title:"Toggle neighborhood panel",order:30,load:Wd,shouldLoad:Ed},{id:"temporal-overlay",panelId:"temporal-panel",label:"Temporal",title:"Toggle temporal context panel",order:40,load:zd,shouldLoad:Ad}],[]),wt=A.useMemo(()=>_t.map(S=>xe[S.id]).filter(S=>!!S),[xe,_t]);A.useEffect(()=>{let S=!1;return _t.forEach(R=>{xe[R.id]||R.shouldLoad({panelState:we})&&R.load().then($=>{S||ve(ne=>ne[R.id]?ne:{...ne,[R.id]:$})}).catch($=>{console.error(`[GraphPlugin:${R.id}] lazy load failed`,$)})}),()=>{S=!0}},[xe,we,_t]);const co=A.useCallback((S,R)=>{ht($=>{const ne=typeof R=="function"?R($[S]):R;return S==="diagnosticsEnabled"&&!E.effects.diagnostics.enabledInDev||$[S]===ne?$:{...$,[S]:ne}})},[]),Yt=A.useCallback(S=>{switch(S.type){case"fitView":Ge.current?.fitView();return;case"focusNode":Ge.current?.focusNode(S.nodeId);return;case"selectNode":Ye(S.nodeId);return;case"setViewMode":Te(S.viewMode);return;case"enterLocalGraph":He(S.nodeId);return;case"collapseNeighborhood":if(!r)return;D(R=>R.includes(r)?R:[...R,r]);return;case"expandNeighborhood":if(!r)return;D(R=>R.filter($=>$!==r));return;case"toggleEffect":co(S.effect,R=>!R);return;case"setEffect":co(S.effect,S.enabled);return;case"togglePanel":Qe(R=>{const $=!R[S.panelId];return $e(ne=>$?S.panelId:ne===S.panelId?null:ne),{...R,[S.panelId]:$}});return;case"openPanel":$e(S.panelId),Qe(R=>({...R,[S.panelId]:!0}));return;case"closePanel":Qe(R=>({...R,[S.panelId]:!1})),$e(R=>R===S.panelId?null:R);return}},[He,Ye,r,co,Te]),En=A.useMemo(()=>!E.effects.diagnostics.enabledInDev||!Ze?null:{interactionState:At.current,activePluginIds:wt.map(S=>S.id),openPanelIds:Object.entries(we).filter(([,S])=>S).map(([S])=>S),effectsState:et,edgeClasses:Ze.edgeClasses,distanceVisual:Ze.distanceVisual,effectAvailability:Ze.effectAvailability},[wt,et,Ze,we]),ct=A.useMemo(()=>({get scene(){return ot.current},get graph(){return j},get displayGraph(){return ot.current?.displayGraph??j},theme:E,getInteractionState:()=>At.current,getSelectedNodeState:()=>Vt,getInspectorState:()=>({selectedNodeId:r||null,ownsSelectionDetails:!0}),getGraphSummary:()=>so,getTemporalState:()=>lo,getEffectsState:()=>et,getDiagnosticsSnapshot:()=>En,getAnalyticsSnapshot:()=>Ie,getDisplayState:()=>Ne,isPanelOpen:S=>!!we[S],dispatchAction:Yt}),[Ne,Ie,En,et,so,Yt,we,r,Vt,lo]),Di=A.useCallback(S=>{ot.current=S,S||qe(null),We(R=>R+1)},[]),_i=A.useCallback(S=>{At.current=S;for(const R of wt)try{R.onStateChange(ct,S)}catch($){console.error(`[GraphPlugin:${R.id}] state update failed`,$)}},[wt,ct]),Gi=A.useCallback(S=>{if(!E.effects.diagnostics.enabledInDev)return;const R=tt.current;if(R!==null){const $=["pathPulse","pathFlow","lens","temporalEmphasis","semanticRegions","contours","pathfinding","communities","centrality","legend","diagnostics"],ne=R.effectAvailability,Ve=S.effectAvailability,Z=$.some(nt=>{const Qt=ne[nt],Jt=Ve[nt];return Qt.enabled!==Jt.enabled||Qt.available!==Jt.available||Qt.reason!==Jt.reason||Qt.detail!==Jt.detail||Qt.visibleSegments!==Jt.visibleSegments||Qt.segmentCap!==Jt.segmentCap}),ke=R.edgeClasses?.updatedAt!==S.edgeClasses?.updatedAt,Fe=R.structureLayer?.cacheKey!==S.structureLayer?.cacheKey||R.structureLayer?.lastDrawAt!==S.structureLayer?.lastDrawAt||R.structureLayer?.enabled!==S.structureLayer?.enabled||R.structureLayer?.disabledReason!==S.structureLayer?.disabledReason||R.structureLayer?.curveCount!==S.structureLayer?.curveCount||R.structureLayer?.bridgeCurveCount!==S.structureLayer?.bridgeCurveCount||R.structureLayer?.backboneCurveCount!==S.structureLayer?.backboneCurveCount,Zt=R.distanceVisual!==S.distanceVisual;if(!Z&&!ke&&!Fe&&!Zt)return}tt.current=S,it(S)},[]),Li=A.useCallback(S=>{qe(S)},[]);A.useEffect(()=>{if(!ot.current)return;const S=[];for(const R of wt)try{R.mount(ct),S.push(R)}catch($){console.error(`[GraphPlugin:${R.id}] mount failed`,$)}return()=>{for(const R of S.reverse())try{R.unmount(ct)}catch($){console.error(`[GraphPlugin:${R.id}] unmount failed`,$)}}},[wt,ct,pt]);const An=A.useMemo(()=>_t.map(S=>({id:`${S.id}-toggle`,label:S.label,title:S.title,active:ct.isPanelOpen(S.panelId),order:S.order,onClick:()=>ct.dispatchAction({type:"togglePanel",panelId:S.panelId})})),[ct,_t]),Pi=A.useMemo(()=>ip(wt,ct),[wt,ct]),Mi=A.useMemo(()=>sp(wt,ct),[wt,ct]),Ri=A.useMemo(()=>_t.filter(S=>we[S.panelId]&&!xe[S.id]).map(S=>({id:S.panelId,title:S.label,placement:"bottom",order:S.order,content:N.jsxDEV("div",{style:wp,children:["Loading ",S.label.toLowerCase(),"…"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2608,columnNumber:14},this)})),[xe,we,_t]),Gt=[...Pi,...Ri].filter(S=>S.placement==="bottom"||S.placement==="side").sort((S,R)=>(S.order??0)-(R.order??0)).filter(S=>we[S.id]),pr=Gt.find(S=>S.id===Je)??Gt[0]??null,Gr={showInspector:!!r,showPluginDock:Gt.length>0},uo=Gt.map(S=>S.id).join("|"),[ji,Hi]=A.useState(uo);uo!==ji&&(Hi(uo),Gt.length?(!Je||!Gt.some(S=>S.id===Je))&&$e(Gt[0].id):Je!==null&&$e(null));const Ti=A.useMemo(()=>dr?[{id:"view-full",label:"Full Graph",title:"Return to the full graph context",icon:ts,active:w==="full",onClick:()=>Te("full")},{id:"view-grouped",label:"Grouped View",title:Ne.groupedViewAvailable?"Compress dense structure into detected communities":Tr(Ne.groupedViewReason)??Tr({code:"communities-undetected"})??void 0,icon:rs,active:w==="grouped",disabled:!Ne.groupedViewAvailable,onClick:()=>Te("grouped")},{id:"view-focused",label:"Focus",title:pe?"Inspect the selected node in a focused local graph":nd(oe.reason)??void 0,icon:cs,active:w==="focused",disabled:w!=="focused"&&!pe,onClick:()=>{const S=oe.resolvedNodeId;S&&He(S)}}]:[],[pe,Ne.groupedViewAvailable,Ne.groupedViewReason,He,oe.reason,oe.resolvedNodeId,dr,Te,w]),kn=A.useMemo(()=>[{id:"zoom-in",label:"Zoom In",title:"Zoom in (or scroll up on the canvas)",ariaLabel:"Zoom in",icon:ys,compact:!0,onClick:()=>Ge.current?.zoomIn()},{id:"zoom-out",label:"Zoom Out",title:"Zoom out (or scroll down on the canvas)",ariaLabel:"Zoom out",icon:xs,compact:!0,onClick:()=>Ge.current?.zoomOut()},{id:"fit-view",label:"Fit",title:"Reset the camera to fit the whole graph",ariaLabel:"Fit view",icon:ds,compact:!0,onClick:()=>Ge.current?.fitView()}],[]),Cn=A.useMemo(()=>[{id:"layout-toggle",label:c?"Pause":"Run",title:"Toggle the layout worker",icon:c?hs:os,active:c,disabled:zt,onClick:()=>p(S=>!S)}],[c,zt]),In=A.useMemo(()=>Vt?[{id:"collapse-neighborhood",label:"Collapse",title:"Hide lower-priority fanout around the selected node",icon:es,disabled:!Vt.canCollapseNeighborhood||Vt.isNeighborhoodCollapsed,onClick:()=>Yt({type:"collapseNeighborhood"})},{id:"expand-neighborhood",label:"Expand",title:"Restore the collapsed local neighborhood",icon:Oa,disabled:!Vt.isNeighborhoodCollapsed,onClick:()=>Yt({type:"expandNeighborhood"})}]:[],[Yt,Vt]),Dn=A.useMemo(()=>An.map(S=>({id:S.id,label:S.label,title:S.title,icon:Bd(S),active:S.active,onClick:S.onClick})),[An]),_n=A.useMemo(()=>[{id:"reload",label:"Reload",title:"Reload the graph data",ariaLabel:"Reload graph data",icon:Va,compact:!0,disabled:zt,onClick:ir}],[ir,zt]),Wi=zt||!_.trim(),Gn=A.useMemo(()=>!dr||w!=="full"||!r||!j.hasNode(r)?[]:[{id:"ego-mode",label:he?`Ego (${de}h)`:"Ego Mode",title:he?`Egocentric view: ${de} hops depth (click to toggle off)`:"Show depth-of-field fading around the selected node",active:he,onClick:()=>{Ke(S=>!S),Oe(!1),je("off")}},{id:"heatmap",label:"Heatmap",title:Ue?"Distance heatmap active (click to toggle off)":"Color nodes by hop distance from selected node",active:Ue,onClick:()=>{Oe(S=>!S),Ke(!1),je("off")}},{id:"dist-structural",label:"Structural",title:"Color edges by structural (hop) distance",active:De==="structural",onClick:()=>{Ke(!1),Oe(!1),je(S=>S==="structural"?"off":"structural")}},{id:"dist-semantic",label:"Semantic",title:"Color edges by semantic similarity to selected node",active:De==="semantic",onClick:()=>{Ke(!1),Oe(!1),je(S=>S==="semantic"?"off":"semantic")}}],[De,de,he,dr,Ue,r,w]),zi=A.useMemo(()=>[{id:"camera",label:"Camera",items:kn},{id:"layout",label:"Layout",items:Cn},{id:"local-structure",label:"Local",items:In},{id:"distance",label:"Distance",items:Gn},{id:"analysis",label:"Analysis",items:Dn},{id:"utility",label:"Utility",items:_n}].filter(S=>S.items.length>0),[Dn,kn,Gn,Cn,In,_n]),Vi={onNodeSelect:Ye,onEdgeSelect:ao,graphVersion:f,graphReady:b,displayGraph:lt.graph,displayMeta:Ii,displayState:Ne,selectedNodeId:r,focusedNodeId:n,selectedEdgeId:u,activePath:_r,activePathEdgeIds:yn,distanceVisualState:Pe,effectsState:et,temporalState:lo,isLayoutRunning:c,layoutSource:so?.layoutSource,viewMode:w,showFitViewButton:!1,pluginOverlays:Mi.map(S=>S.element),onRuntimeChange:Di,onInteractionStateChange:_i,onDiagnosticsChange:Gi,onAnalyticsChange:Li},Ln=Pe.mode!=="off",Pn=Object.keys(Pe.structuralDistances).length,Xt=Pe.distanceCounts,Lt=Pe.heatmapRenderedRingCounts,po=(S,R)=>R==null||R>=S?S.toLocaleString():`${S.toLocaleString()} (${R.toLocaleString()} shown)`,Ui=Xt?[`${Xt.anchor.toLocaleString()} anchor`,`${po(Xt.oneHop,Lt?.oneHop)} 1-hop`,`${po(Xt.twoHop,Lt?.twoHop)} 2-hop`,`${po(Xt.threeHopPlus,Lt?.threeHopPlus)} 3+ hop`,`${Xt.outside.toLocaleString()} outside`,Pe.heatmapSaturationMode==="sampled"?"Sampled for readability":""].filter(Boolean).join(" · "):`${Pn.toLocaleString()} nodes within ${Pe.maxHops} hops`,Mn=Pe.mode==="heatmap"&&Lt?[`${Lt.anchor.toLocaleString()} anchor shown`,`${Lt.oneHop.toLocaleString()} 1-hop shown`,`${Lt.twoHop.toLocaleString()} 2-hop shown`,`${Lt.threeHopPlus.toLocaleString()} 3+ hop shown`].join(" · "):null,Oi=Pe.mode==="heatmap"?[{label:"Anchor",color:vt(0)},{label:"1",color:vt(1)},{label:"2",color:vt(2)},{label:"3",color:vt(3)},{label:"Outside",color:K(E.palette.overview.nodeMuted,.38)}]:[{label:"0h",color:vt(0)},{label:"1h",color:vt(1)},{label:"2-3h",color:vt(3)},{label:"4-6h",color:vt(6)}];return N.jsxDEV("div",{className:"palantir-bg",style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},children:[N.jsxDEV("style",{children:tp},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2883,columnNumber:7},this),N.jsxDEV("div",{className:"palantir-grid"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2884,columnNumber:7},this),N.jsxDEV("div",{className:"palantir-vignette"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2885,columnNumber:7},this),N.jsxDEV("div",{className:"explore-shell",children:[N.jsxDEV("section",{className:"explore-command-deck",children:N.jsxDEV(Br,{tone:"subtle",children:N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[N.jsxDEV("div",{className:"explore-toolbar",children:[N.jsxDEV("div",{className:"explore-status-strip",children:[(zt||ki)&&be?N.jsxDEV(bt,{children:yi(be.phase)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2897,columnNumber:84},this):null,Se?N.jsxDEV(bt,{children:[Se.nodeCount.toLocaleString()," nodes · ",Se.edgeCount.toLocaleString()," edges"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2898,columnNumber:30},this):null,J!==null?N.jsxDEV(bt,{tone:"success",children:[J.toLocaleString()," active"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2899,columnNumber:47},this):null,Nn?N.jsxDEV(bt,{tone:"warm",children:Nn},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2900,columnNumber:37},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2896,columnNumber:17},this),N.jsxDEV("div",{className:"explore-workflow-bar",children:[N.jsxDEV(Zd,{value:_,disabled:Wi,onChange:L,onSubmit:()=>{Dr()},onSelectSuggestion:S=>{L(""),Ye(S.node.id)}},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2903,columnNumber:19},this),N.jsxDEV(qd,{items:Ti},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2907,columnNumber:19},this),N.jsxDEV("div",{className:"explore-toolbelt",children:zi.map(S=>N.jsxDEV($d,{label:S.label??S.id,items:S.items,compact:Vd.has(S.id)},S.id,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2909,columnNumber:53},this))},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2908,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2902,columnNumber:17},this),Ln?null:N.jsxDEV(Jd,{items:Ci},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2912,columnNumber:40},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2895,columnNumber:15},this),he&&N.jsxDEV("div",{style:{display:"flex",alignItems:"center",gap:10,fontSize:12,color:"#a0b4cc"},children:[N.jsxDEV("span",{style:{fontWeight:600,color:"#d9455e"},children:"Ego depth:"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2922,columnNumber:19},this),N.jsxDEV("input",{type:"range",min:1,max:8,value:de,onChange:S=>ie(Number(S.target.value)),style:{width:90,accentColor:"#d9455e"},title:`Ego depth: ${de} hops`},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2926,columnNumber:19},this),N.jsxDEV("span",{style:{fontFamily:"monospace",color:"#16212e"},children:[de," hop",de!==1?"s":""]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2930,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2915,columnNumber:34},this),Ln?N.jsxDEV("div",{style:pp,children:[N.jsxDEV("div",{style:hp,children:[N.jsxDEV(Ua,{size:14,"aria-hidden":!0},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2938,columnNumber:21},this),N.jsxDEV("span",{children:"Distance Intelligence"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2939,columnNumber:21},this),N.jsxDEV("span",{style:fp,children:Pe.mode},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2940,columnNumber:21},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2937,columnNumber:19},this),N.jsxDEV("div",{style:mp,children:[Pe.anchorLabel?N.jsxDEV("span",{children:["Anchor: ",N.jsxDEV("strong",{children:Pe.anchorLabel},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2943,columnNumber:70},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2943,columnNumber:56},this):null,Pe.mode==="semantic"?N.jsxDEV("span",{children:Pe.status==="loading"?"Loading semantic neighborhood...":`${Pe.semanticNeighborCount??0} semantic neighbors`},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2944,columnNumber:64},this):Pe.mode==="heatmap"?N.jsxDEV("span",{children:Ui},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2946,columnNumber:74},this):N.jsxDEV("span",{children:[Pn.toLocaleString()," nodes within ",Pe.maxHops," hops"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2946,columnNumber:114},this),Pe.status==="unavailable"||Pe.status==="error"?N.jsxDEV("span",{style:{color:E.ui.control.dangerText},children:Pe.error},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2947,columnNumber:111},this):null,Mn?N.jsxDEV("span",{style:{color:E.ui.text.muted},children:Mn},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2950,columnNumber:47},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2942,columnNumber:19},this),N.jsxDEV("div",{style:gp,children:Oi.map(S=>N.jsxDEV("span",{style:bp,children:[N.jsxDEV("span",{style:{...yp,background:S.color}},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2956,columnNumber:25},this),S.label]},S.label,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2955,columnNumber:56},this))},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2954,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2936,columnNumber:37},this):null,q?N.jsxDEV("div",{style:{color:"#ec2315",fontSize:12},children:q},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2965,columnNumber:30},this):null,G.length?N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[N.jsxDEV("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[N.jsxDEV("span",{style:{color:"#b08b93",fontSize:12},children:[G.length," result",G.length===1?"":"s"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2981,columnNumber:21},this),N.jsxDEV("button",{type:"button",onClick:io,style:{...Qo,minHeight:26,padding:"4px 9px",gap:5},"aria-label":"Dismiss search results",children:[N.jsxDEV(ns,{size:12,strokeWidth:2.4},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2993,columnNumber:23},this),"Dismiss"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2987,columnNumber:21},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2975,columnNumber:19},this),N.jsxDEV("div",{className:"explore-search-results hud-scrollbar",style:Np,children:G.map(S=>N.jsxDEV("button",{style:up,onClick:()=>Ye(S.node.id),children:N.jsxDEV("div",{style:{display:"flex",justifyContent:"space-between",gap:12},children:[N.jsxDEV("div",{style:{minWidth:0},children:[N.jsxDEV("div",{style:{color:"#16181d",fontWeight:600},children:S.node.content||S.node.id},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3007,columnNumber:29},this),N.jsxDEV("div",{style:{color:"#b08b93",fontSize:12},children:S.node.type},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3011,columnNumber:29},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3004,columnNumber:27},this),N.jsxDEV("div",{style:{color:"#ff2d4b",fontSize:12,whiteSpace:"nowrap"},children:Math.round(S.score)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3016,columnNumber:27},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2999,columnNumber:25},this)},S.node.id,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2998,columnNumber:52},this))},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2997,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2970,columnNumber:39},this):null,Ae?N.jsxDEV("div",{style:dp,children:[N.jsxDEV("div",{style:{display:"flex",justifyContent:"space-between",gap:12,alignItems:"flex-start"},children:[N.jsxDEV("div",{style:{minWidth:0},children:[N.jsxDEV("div",{style:{color:"rgba(255, 107, 129, 0.76)",fontSize:11,fontWeight:700,letterSpacing:"0.08em",textTransform:"uppercase"},children:"Relationship"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3038,columnNumber:23},this),N.jsxDEV("div",{style:{color:"#161e2d",fontSize:15,fontWeight:700,marginTop:6},children:Ae.edgeType},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3047,columnNumber:23},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3035,columnNumber:21},this),N.jsxDEV("button",{onClick:()=>d(""),style:{...Qo,minHeight:30,padding:"6px 10px"},children:"Close"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3056,columnNumber:21},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3029,columnNumber:19},this),N.jsxDEV("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[N.jsxDEV("button",{style:Ta,onClick:()=>Ye(Ae.sourceId),children:Ae.sourceLabel},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3071,columnNumber:21},this),N.jsxDEV("span",{style:{color:"#7fa7ce",fontSize:12},children:"→"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3074,columnNumber:21},this),N.jsxDEV("button",{style:Ta,onClick:()=>Ye(Ae.targetId),children:Ae.targetLabel},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3078,columnNumber:21},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3065,columnNumber:19},this),N.jsxDEV("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[N.jsxDEV(bt,{tone:"warm",children:["weight ",Ae.weight.toFixed(2)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3088,columnNumber:21},this),Ae.isAggregated?N.jsxDEV(bt,{tone:"success",children:[Ae.aggregateCount," bundled edge",Ae.aggregateCount===1?"":"s"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3089,columnNumber:55},this):N.jsxDEV(bt,{children:[Ae.siblingCount," parallel lane",Ae.siblingCount===1?"":"s"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3091,columnNumber:39},this),N.jsxDEV(bt,{children:[Ae.familySize," family member",Ae.familySize===1?"":"s"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3092,columnNumber:21},this),Ae.bundleKind?N.jsxDEV(bt,{children:[Ae.bundleKind," bundle"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3093,columnNumber:53},this):null,Ae.dominantEdgeType?N.jsxDEV(bt,{children:Ae.dominantEdgeType},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3094,columnNumber:59},this):null,Ae.provenanceCount>0?N.jsxDEV(bt,{children:[Ae.provenanceCount," provenance fields"]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3095,columnNumber:62},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3083,columnNumber:19},this),Object.keys(Ae.properties).length?N.jsxDEV("div",{style:vp,children:Object.entries(Ae.properties).slice(0,4).map(([S,R])=>N.jsxDEV("div",{style:xp,children:[N.jsxDEV("div",{style:{color:"rgba(255, 107, 129, 0.68)",fontSize:10,letterSpacing:"0.06em",textTransform:"uppercase"},children:S},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3100,columnNumber:27},this),N.jsxDEV("div",{style:{color:"#18212c",fontSize:12,marginTop:4,wordBreak:"break-word"},children:typeof R=="object"?JSON.stringify(R):String(R)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3108,columnNumber:27},this)]},S,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3099,columnNumber:107},this))},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3098,columnNumber:71},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3028,columnNumber:36},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2890,columnNumber:13},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2889,columnNumber:11},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2888,columnNumber:9},this),N.jsxDEV("div",{className:"explore-main-grid",style:{gridTemplateColumns:Gr.showInspector?"minmax(0, 1fr) minmax(320px, 360px)":"minmax(0, 1fr)"},children:[N.jsxDEV("div",{className:"explore-scene-stack",children:N.jsxDEV(Br,{padding:"none",className:"explore-scene-card",children:[N.jsxDEV("div",{className:"explore-scene-shell",children:[N.jsxDEV("div",{className:"palantir-grid"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3129,columnNumber:17},this),N.jsxDEV("div",{className:"palantir-vignette"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3130,columnNumber:17},this),N.jsxDEV("div",{className:"explore-scene-stage",children:[N.jsxDEV(Du,{ref:Ge,...Vi},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3132,columnNumber:19},this),N.jsxDEV(rd,{progress:be,visible:zt,showGraphBehind:dr||!!be?.showGraphBehind,error:Cr,onRetry:sr},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3133,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3131,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3128,columnNumber:15},this),Gr.showPluginDock?N.jsxDEV("div",{className:"explore-plugin-dock",children:N.jsxDEV(Br,{tone:"subtle",style:{borderRadius:0,borderLeft:"none",borderRight:"none",borderBottom:"none"},children:N.jsxDEV("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[N.jsxDEV("div",{style:{display:"flex",justifyContent:"space-between",gap:12,alignItems:"center"},children:N.jsxDEV("div",{className:"explore-plugin-dock-tabs",children:[Gt.map(S=>N.jsxDEV("button",{className:"explore-plugin-dock-tab","data-active":pr?.id===S.id,onClick:()=>$e(S.id),children:S.title},S.id,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3156,columnNumber:58},this)),pr?N.jsxDEV("button",{className:"explore-plugin-dock-tab",onClick:()=>Yt({type:"closePanel",panelId:pr.id}),children:"×"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3159,columnNumber:46},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3155,columnNumber:25},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3149,columnNumber:23},this),pr?N.jsxDEV("div",{style:Sp,children:pr.content},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3167,columnNumber:42},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3144,columnNumber:21},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3138,columnNumber:19},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3137,columnNumber:45},this):null,N.jsxDEV("div",{className:"explore-scene-footer",children:N.jsxDEV(A.Suspense,{fallback:N.jsxDEV("div",{style:Ap,children:"Loading timeline…"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3173,columnNumber:37},this),children:N.jsxDEV(jd,{onTimeChange:_e,minDate:ce?.min??void 0,maxDate:ce?.max??void 0},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3174,columnNumber:19},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3173,columnNumber:17},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3172,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3127,columnNumber:13},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3126,columnNumber:11},this),Gr.showInspector?N.jsxDEV("div",{className:"explore-inspector-shell",children:N.jsxDEV(Ns,{open:Gr.showInspector,className:"explore-inspector-card",children:N.jsxDEV("div",{className:"explore-inspector-scroll hud-scrollbar",children:N.jsxDEV(A.Suspense,{fallback:N.jsxDEV("div",{style:Ep,children:"Loading inspector…"},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3183,columnNumber:39},this),children:N.jsxDEV(Hd,{nodeId:r,inspectableNodeId:ae||null,selectedNodeKind:Ne.selectedNodeKind,canActivateFocused:pe,focusedUnavailableReason:Ne.focusedUnavailableReason,predictions:P,predictionType:F,onPredictionTypeChange:ee,onRunPredictions:()=>{gt()},isRunningPredictions:U,pathTargetId:te,onPathTargetChange:Q,onTracePath:()=>{St()},pathResult:B,onDownloadProvenance:S=>{qt(S)},onFocusNode:Ye,onMarkdownApplied:Kt,onMarkdownDirtyChange:g},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3184,columnNumber:21},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3183,columnNumber:19},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3182,columnNumber:17},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3181,columnNumber:15},this)},void 0,!1,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3180,columnNumber:40},this):null]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:3123,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2887,columnNumber:7},this)]},void 0,!0,{fileName:"/Users/deepjoy/Documents/Alpha Semantic Hub/Alpha Semantic Hub Logo and Icon/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx",lineNumber:2877,columnNumber:10},this)}const cp={background:E.ui.control.primaryBg,color:E.ui.control.primaryText,border:`1px solid ${E.ui.control.primaryBorder}`,borderRadius:12,padding:"9px 12px",cursor:"pointer",fontWeight:700,fontSize:12,display:"inline-flex",alignItems:"center",justifyContent:"center",boxShadow:"inset 0 1px 0 rgba(28, 20, 24,0.07), 0 10px 24px rgba(0,0,0,0.18)"},Qo={...cp,background:E.ui.control.defaultBg,border:`1px solid ${E.ui.control.defaultBorder}`,color:E.ui.control.defaultText,fontWeight:600},up={textAlign:"left",padding:12,background:"rgba(28, 20, 24, 0.035)",border:`1px solid ${E.ui.surface.panelBorder}`,borderRadius:10,cursor:"pointer"},dp={display:"flex",flexDirection:"column",gap:12,padding:14,background:"linear-gradient(135deg, rgba(98, 226, 205, 0.1), rgba(233, 196, 122, 0.045))",border:`1px solid ${E.ui.surface.panelBorder}`,borderRadius:14,boxShadow:"inset 0 1px 0 rgba(28, 20, 24,0.03)"},Ta={...Qo,minHeight:32,padding:"7px 12px",whiteSpace:"nowrap"},pp={display:"flex",alignItems:"center",gap:12,flexWrap:"wrap",border:`1px solid ${E.ui.control.activeBorder}`,background:"linear-gradient(135deg, rgba(98, 226, 205, 0.09), rgba(227, 179, 65, 0.045))",borderRadius:16,padding:"9px 12px",boxShadow:"inset 0 1px 0 rgba(28, 20, 24,0.045)"},hp={display:"flex",alignItems:"center",gap:7,color:E.ui.text.strong,fontSize:12,fontWeight:800,letterSpacing:"0.04em",textTransform:"uppercase"},fp={padding:"2px 7px",borderRadius:999,border:`1px solid ${E.ui.surface.panelBorder}`,color:E.palette.accent.path,background:"rgba(215, 144, 86, 0.1)",fontSize:10},mp={display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",color:E.ui.text.body,fontSize:12},gp={display:"flex",alignItems:"center",gap:8,marginLeft:"auto",color:E.ui.text.muted,fontSize:11},bp={display:"inline-flex",alignItems:"center",gap:4},yp={width:8,height:8,borderRadius:999},vp={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(160px, 1fr))",gap:8},xp={borderRadius:10,padding:10,background:"rgba(28, 20, 24, 0.03)",border:`1px solid ${E.ui.surface.panelBorder}`},Sp={borderRadius:16,border:`1px solid ${E.ui.surface.panelBorder}`,background:"rgba(28, 20, 24, 0.02)",padding:14},wp={color:E.ui.text.muted,fontSize:12,padding:10},Np={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:10,maxHeight:186,overflowY:"auto"},Ep={padding:24,color:E.ui.text.muted,fontSize:12},Ap={height:"90px",display:"flex",alignItems:"center",padding:"0 18px",color:E.ui.text.muted,fontSize:12,borderTop:`1px solid ${E.ui.timeline.border}`,background:E.ui.timeline.background},Hp=Object.freeze(Object.defineProperty({__proto__:null,GraphWorkspace:lp},Symbol.toStringTag,{value:"Module"}));export{Hp as G,nd as f,j as g};