@inkeep/open-knowledge 0.0.0-dev-20260426180436 → 0.0.0-dev-20260427081104

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 (47) hide show
  1. package/dist/THIRD_PARTY_NOTICES.md +6 -0
  2. package/dist/cli.mjs +33 -33
  3. package/dist/constants-DY5Aq0Nx.mjs +2 -0
  4. package/dist/{dist-h83E8Lop.mjs → dist-B_ROt9_c.mjs} +65 -65
  5. package/dist/{dist-wAieHPG9.mjs → dist-D8JEQ6hO.mjs} +19 -19
  6. package/dist/dist-DWb2jtNM.mjs +1 -0
  7. package/dist/index.mjs +1 -1
  8. package/dist/init-CHB65M2f.mjs +1 -0
  9. package/dist/init-CXOhIFdP.mjs +1 -0
  10. package/dist/{init-BKKKZIqb.mjs → init-DZDnMUjc.mjs} +2 -2
  11. package/dist/{init-CjCXqbEn.mjs → init-DvF3Dl7n.mjs} +3 -3
  12. package/dist/loader-ByLuMfzl.mjs +1 -0
  13. package/dist/{loader-CSuWDx_2.mjs → loader-D3fsdR1w.mjs} +2 -2
  14. package/dist/paths-C6Cx7bux.mjs +1 -0
  15. package/dist/paths-CHt5HnJR.mjs +2 -0
  16. package/dist/preview-BE3bGa0b.mjs +1 -0
  17. package/dist/{preview-XGEIudjr.mjs → preview-DyLhres3.mjs} +2 -2
  18. package/dist/public/assets/{ActivityModeContent-D0IBEocY.js → ActivityModeContent-BdQtVWQT.js} +1 -1
  19. package/dist/public/assets/DocumentContext-HT-mHcLO.js +5 -0
  20. package/dist/public/assets/{GraphPanel-Cbdtn-PM.js → GraphPanel-BJ9MldAi.js} +2 -2
  21. package/dist/public/assets/McpConsentDialogBody-BY1JLPsB.js +1 -0
  22. package/dist/public/assets/PageListContext-1COIYjHT.js +278 -0
  23. package/dist/public/assets/{SourceEditor-2A0A15_U.js → SourceEditor-C7wAoLYw.js} +2 -2
  24. package/dist/public/assets/{clipboard-DpYzM0tN.js → clipboard-D6iP9LKm.js} +7 -7
  25. package/dist/public/assets/{index-DYVEcGnt.js → index-ChO0_t6R.js} +71 -71
  26. package/dist/public/assets/toggle-group-AWjaf9XJ.js +1 -0
  27. package/dist/public/assets/tooltip-0l1mzBHx.js +1 -0
  28. package/dist/public/index.html +6 -6
  29. package/dist/src-BiR06L9a.mjs +1 -0
  30. package/dist/start-BF4fn4HY.mjs +1 -0
  31. package/dist/{start-oYkPh9-a.mjs → start-C2tHtLw6.mjs} +2 -2
  32. package/package.json +1 -1
  33. package/dist/constants-DplWwuRw.mjs +0 -2
  34. package/dist/dist-Bx295PM_.mjs +0 -1
  35. package/dist/init-CtZNXOWK.mjs +0 -1
  36. package/dist/init-DAZvZt8D.mjs +0 -1
  37. package/dist/loader-E7U1uofw.mjs +0 -1
  38. package/dist/paths-CpxCtiAF.mjs +0 -1
  39. package/dist/paths-D1ylf8u0.mjs +0 -2
  40. package/dist/preview-CxcX0cZW.mjs +0 -1
  41. package/dist/public/assets/DocumentContext-JchuLhmY.js +0 -5
  42. package/dist/public/assets/McpConsentDialogBody-OUzp0vNz.js +0 -1
  43. package/dist/public/assets/PageListContext-B5VjPPMf.js +0 -240
  44. package/dist/public/assets/toggle-group-Cga3MGFU.js +0 -1
  45. package/dist/public/assets/tooltip-bZXi-Vss.js +0 -1
  46. package/dist/src-D2ChCIvF.mjs +0 -1
  47. package/dist/start-C1Yb8ZjU.mjs +0 -1
@@ -1,4 +1,4 @@
1
- import{r as e,t as n}from"./chunk-DECur_0Z.js";import{n as r,r as i,t as a}from"./compiler-runtime-Y11fyRVL.js";import{a as o,i as s,l as c,n as l,o as u,r as d,s as f,t as p,u as m}from"./panel-rtdrPcLu.js";import{n as h,t as g,x as _}from"./button-B1XQHQcX.js";import{d as v,f as y,l as b,n as x,r as S,t as C,u as w}from"./toggle-group-Cga3MGFU.js";import{i as T,n as E,t as ee}from"./tooltip-bZXi-Vss.js";import{H as te,c as D,i as ne,n as re,v as ie}from"./PageListContext-B5VjPPMf.js";var ae=_(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),oe=_(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),O=e(r(),1),se=a(),ce=[`#60a5fa`,`#a78bfa`,`#34d399`,`#f472b6`,`#fb923c`,`#22d3ee`,`#c084fc`,`#4ade80`,`#f87171`,`#eab308`,`#ec4899`,`#06b67f`,`#8b5cf6`,`#f43f5e`,`#0ea5e9`,`#a855f7`],le=[`#1e40af`,`#6b21a8`,`#166534`,`#9f1239`,`#9a3412`,`#164e63`,`#581c87`,`#166534`,`#991b1b`,`#854d0e`,`#831843`,`#0f766e`,`#312e81`,`#9f1239`,`#0c4a6e`,`#6b21a8`];function k(e){let n=2;for(let r=0;r<e.length;r++)n=Math.imul(n^e.charCodeAt(r),1540483477),n^=n>>>13,n=Math.imul(n,1540483477),n^=n>>>15;return n>>>0}function ue(e,n){let r=n?ce:le;return r[k(e)%r.length]}var A=i(),de={fullscreen:{maxEntries:10,containerClassName:`bottom-3 left-3 gap-1 rounded-lg px-3 py-2 text-xs`,titleClassName:`mb-1.5`,rowClassName:`gap-2`,swatchClassName:`size-2.5`,labelClassName:`max-w-[140px]`,overflowClassName:`pl-[18px]`},docked:{maxEntries:6,containerClassName:`bottom-2 left-2 gap-0.5 rounded-md px-2 py-1.5 text-[11px]`,titleClassName:`mb-1`,rowClassName:`gap-1.5`,swatchClassName:`size-2`,labelClassName:`max-w-[112px]`,overflowClassName:`pl-[14px]`}};function fe(e){return de[e]}function pe(e){let n=(0,se.c)(5),{clusters:r,variant:i}=e,a=i===void 0?`fullscreen`:i,{resolvedTheme:o}=c(),s=o===`dark`,l,u;if(n[0]!==r||n[1]!==s||n[2]!==a){u=Symbol.for(`react.early_return_sentinel`);bb0:{let e=fe(a);if(r.length===0){u=null;break bb0}let n=r.slice(0,e.maxEntries),i=r.length-n.length;l=(0,A.jsxs)(`div`,{className:h(`pointer-events-none absolute z-10 flex flex-col backdrop-blur-sm`,e.containerClassName,s?`bg-black/70 text-gray-200`:`bg-white/80 text-gray-800 ring-1 ring-black/5`),children:[(0,A.jsx)(`div`,{className:h(`font-medium`,e.titleClassName,s?`text-slate-300`:`text-slate-700`),children:`Clusters`}),n.map(n=>(0,A.jsxs)(`div`,{className:h(`flex items-center`,e.rowClassName),children:[(0,A.jsx)(`span`,{className:h(`inline-block shrink-0 rounded-full`,e.swatchClassName),style:{backgroundColor:ue(n,s)}}),(0,A.jsx)(`span`,{className:h(`truncate`,e.labelClassName),children:n})]},n)),i>0&&(0,A.jsxs)(`div`,{className:h(`text-muted-foreground`,e.overflowClassName),children:[`+ `,i,` more`]})]})}n[0]=r,n[1]=s,n[2]=a,n[3]=l,n[4]=u}else l=n[3],u=n[4];return u===Symbol.for(`react.early_return_sentinel`)?l:u}function me(e,n){var r=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(r!=null){var i,a,o,s,c=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,n===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(i=o.call(r)).done)&&(c.push(i.value),c.length!==n);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw a}}return c}}function he(e,n,r){return n=we(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function ge(e,n){return ye(e)||me(e,n)||xe(e,n)||j()}function _e(e){return ve(e)||be(e)||xe(e)||Ce()}function ve(e){if(Array.isArray(e))return Se(e)}function ye(e){if(Array.isArray(e))return e}function be(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function xe(e,n){if(e){if(typeof e==`string`)return Se(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===`Object`&&e.constructor&&(r=e.constructor.name),r===`Map`||r===`Set`)return Array.from(e);if(r===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Se(e,n)}}function Se(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r<n;r++)i[r]=e[r];return i}function Ce(){throw TypeError(`Invalid attempt to spread non-iterable instance.
1
+ import{r as e,t as n}from"./chunk-DECur_0Z.js";import{n as r,r as i,t as a}from"./compiler-runtime-Y11fyRVL.js";import{a as o,i as s,l as c,n as l,o as u,r as d,s as f,t as p,u as m}from"./panel-rtdrPcLu.js";import{n as h,t as g,x as _}from"./button-B1XQHQcX.js";import{d as v,f as y,l as b,n as x,r as S,t as C,u as w}from"./toggle-group-AWjaf9XJ.js";import{i as T,n as E,t as ee}from"./tooltip-0l1mzBHx.js";import{S as te,c as D,i as ne,n as re,q as ie}from"./PageListContext-1COIYjHT.js";var ae=_(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),oe=_(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),O=e(r(),1),se=a(),ce=[`#60a5fa`,`#a78bfa`,`#34d399`,`#f472b6`,`#fb923c`,`#22d3ee`,`#c084fc`,`#4ade80`,`#f87171`,`#eab308`,`#ec4899`,`#06b67f`,`#8b5cf6`,`#f43f5e`,`#0ea5e9`,`#a855f7`],le=[`#1e40af`,`#6b21a8`,`#166534`,`#9f1239`,`#9a3412`,`#164e63`,`#581c87`,`#166534`,`#991b1b`,`#854d0e`,`#831843`,`#0f766e`,`#312e81`,`#9f1239`,`#0c4a6e`,`#6b21a8`];function k(e){let n=2;for(let r=0;r<e.length;r++)n=Math.imul(n^e.charCodeAt(r),1540483477),n^=n>>>13,n=Math.imul(n,1540483477),n^=n>>>15;return n>>>0}function ue(e,n){let r=n?ce:le;return r[k(e)%r.length]}var A=i(),de={fullscreen:{maxEntries:10,containerClassName:`bottom-3 left-3 gap-1 rounded-lg px-3 py-2 text-xs`,titleClassName:`mb-1.5`,rowClassName:`gap-2`,swatchClassName:`size-2.5`,labelClassName:`max-w-[140px]`,overflowClassName:`pl-[18px]`},docked:{maxEntries:6,containerClassName:`bottom-2 left-2 gap-0.5 rounded-md px-2 py-1.5 text-[11px]`,titleClassName:`mb-1`,rowClassName:`gap-1.5`,swatchClassName:`size-2`,labelClassName:`max-w-[112px]`,overflowClassName:`pl-[14px]`}};function fe(e){return de[e]}function pe(e){let n=(0,se.c)(5),{clusters:r,variant:i}=e,a=i===void 0?`fullscreen`:i,{resolvedTheme:o}=c(),s=o===`dark`,l,u;if(n[0]!==r||n[1]!==s||n[2]!==a){u=Symbol.for(`react.early_return_sentinel`);bb0:{let e=fe(a);if(r.length===0){u=null;break bb0}let n=r.slice(0,e.maxEntries),i=r.length-n.length;l=(0,A.jsxs)(`div`,{className:h(`pointer-events-none absolute z-10 flex flex-col backdrop-blur-sm`,e.containerClassName,s?`bg-black/70 text-gray-200`:`bg-white/80 text-gray-800 ring-1 ring-black/5`),children:[(0,A.jsx)(`div`,{className:h(`font-medium`,e.titleClassName,s?`text-slate-300`:`text-slate-700`),children:`Clusters`}),n.map(n=>(0,A.jsxs)(`div`,{className:h(`flex items-center`,e.rowClassName),children:[(0,A.jsx)(`span`,{className:h(`inline-block shrink-0 rounded-full`,e.swatchClassName),style:{backgroundColor:ue(n,s)}}),(0,A.jsx)(`span`,{className:h(`truncate`,e.labelClassName),children:n})]},n)),i>0&&(0,A.jsxs)(`div`,{className:h(`text-muted-foreground`,e.overflowClassName),children:[`+ `,i,` more`]})]})}n[0]=r,n[1]=s,n[2]=a,n[3]=l,n[4]=u}else l=n[3],u=n[4];return u===Symbol.for(`react.early_return_sentinel`)?l:u}function me(e,n){var r=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(r!=null){var i,a,o,s,c=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,n===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(i=o.call(r)).done)&&(c.push(i.value),c.length!==n);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw a}}return c}}function he(e,n,r){return n=we(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function ge(e,n){return ye(e)||me(e,n)||xe(e,n)||j()}function _e(e){return ve(e)||be(e)||xe(e)||Ce()}function ve(e){if(Array.isArray(e))return Se(e)}function ye(e){if(Array.isArray(e))return e}function be(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function xe(e,n){if(e){if(typeof e==`string`)return Se(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===`Object`&&e.constructor&&(r=e.constructor.name),r===`Map`||r===`Set`)return Array.from(e);if(r===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Se(e,n)}}function Se(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r<n;r++)i[r]=e[r];return i}function Ce(){throw TypeError(`Invalid attempt to spread non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function j(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
3
3
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function M(e,n){if(typeof e!=`object`||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||`default`);if(typeof i!=`object`)return i;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(n===`string`?String:Number)(e)}function we(e){var n=M(e,`string`);return typeof n==`symbol`?n:String(n)}var Te=function(e,n){var r=new Set(n);return Object.assign.apply(Object,[{}].concat(_e(Object.entries(e).filter(function(e){var n=ge(e,1)[0];return!r.has(n)}).map(function(e){var n=ge(e,2),r=n[0],i=n[1];return he({},r,i)}))))};function Ee(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r<n;r++)i[r]=e[r];return i}function De(e){if(Array.isArray(e))return e}function N(e){if(Array.isArray(e))return Ee(e)}function Oe(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function ke(e,n){var r=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(r!=null){var i,a,o,s,c=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,n!==0)for(;!(l=(i=o.call(r)).done)&&(c.push(i.value),c.length!==n);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw a}}return c}}function Ae(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
4
4
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function je(){throw TypeError(`Invalid attempt to spread non-iterable instance.
@@ -43,4 +43,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
43
43
  }
44
44
  `);function rf(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r<n;r++)i[r]=e[r];return i}function af(e){if(Array.isArray(e))return e}function of(e){if(Array.isArray(e))return rf(e)}function sf(e,n,r){if(lf())return Reflect.construct.apply(null,arguments);var i=[null];return i.push.apply(i,n),new(e.bind.apply(e,i))}function cf(e,n,r){return(n=vf(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function lf(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(lf=function(){return!!e})()}function uf(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function df(e,n){var r=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(r!=null){var i,a,o,s,c=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,n!==0)for(;!(l=(i=o.call(r)).done)&&(c.push(i.value),c.length!==n);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw a}}return c}}function ff(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
45
45
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pf(){throw TypeError(`Invalid attempt to spread non-iterable instance.
46
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mf(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,i)}return r}function hf(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]==null?{}:arguments[n];n%2?mf(Object(r),!0).forEach(function(n){cf(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function gf(e,n){return af(e)||df(e,n)||bf(e,n)||ff()}function Z(e){return of(e)||uf(e)||bf(e)||pf()}function _f(e,n){if(typeof e!=`object`||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n);if(typeof i!=`object`)return i;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(n===`string`?String:Number)(e)}function vf(e){var n=_f(e,`string`);return typeof n==`symbol`?n:n+``}function yf(e){"@babel/helpers - typeof";return yf=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},yf(e)}function bf(e,n){if(e){if(typeof e==`string`)return rf(e,n);var r={}.toString.call(e).slice(8,-1);return r===`Object`&&e.constructor&&(r=e.constructor.name),r===`Map`||r===`Set`?Array.from(e):r===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?rf(e,n):void 0}}var xf=$d(tf);function Sf(e,n,r){!n||typeof r!=`string`||e.filter(function(e){return!e[r]}).forEach(function(e){e[r]=xf(n(e))})}function Cf(e,n){var r=e.nodes,i=e.links,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=a.nodeFilter,s=o===void 0?function(){return!0}:o,c=a.onLoopError,l=c===void 0?function(e){throw`Invalid DAG structure! Found cycle in node path: ${e.join(` -> `)}.`}:c,u={};r.forEach(function(e){return u[n(e)]={data:e,out:[],depth:-1,skip:!s(e)}}),i.forEach(function(e){var r=e.source,i=e.target,a=l(r),o=l(i);if(!u.hasOwnProperty(a))throw`Missing source node with id: ${a}`;if(!u.hasOwnProperty(o))throw`Missing target node with id: ${o}`;var s=u[a],c=u[o];s.out.push(c);function l(e){return yf(e)===`object`?n(e):e}});var d=[];return f(Object.values(u)),Object.assign.apply(Object,[{}].concat(Z(Object.entries(u).filter(function(e){return!gf(e,2)[1].skip}).map(function(e){var n=gf(e,2),r=n[0],i=n[1];return cf({},r,i.depth)}))));function f(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=function(){var a=e[o];if(r.indexOf(a)!==-1){var s=[].concat(Z(r.slice(r.indexOf(a))),[a]).map(function(e){return n(e.data)});return d.some(function(e){return e.length===s.length&&e.every(function(e,n){return e===s[n]})})||(d.push(s),l(s)),1}i>a.depth&&(a.depth=i,f(a.out,[].concat(Z(r),[a]),i+ +!a.skip))},o=0,s=e.length;o<s;o++)if(a())continue}}var wf=2,Q=function(e,n){return n.onNeedsRedraw&&n.onNeedsRedraw()},Tf=function(e,n){if(!n.isShadow){var r=B(n.linkDirectionalParticles);n.graphData.links.forEach(function(e){var n=Math.round(Math.abs(r(e)));n?e.__photons=Z(Array(n)).map(function(){return{}}):delete e.__photons})}},Ef=_s({props:{graphData:{default:{nodes:[],links:[]},onChange:function(e,n){n.engineRunning=!1,Tf(e,n)}},dagMode:{onChange:function(e,n){!e&&(n.graphData.nodes||[]).forEach(function(e){e.fx=e.fy=void 0})}},dagLevelDistance:{},dagNodeFilter:{default:function(e){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4,triggerUpdate:!1,onChange:Q},nodeId:{default:`id`},nodeVal:{default:`val`,triggerUpdate:!1,onChange:Q},nodeColor:{default:`color`,triggerUpdate:!1,onChange:Q},nodeAutoColorBy:{},nodeCanvasObject:{triggerUpdate:!1,onChange:Q},nodeCanvasObjectMode:{default:function(){return`replace`},triggerUpdate:!1,onChange:Q},nodeVisibility:{default:!0,triggerUpdate:!1,onChange:Q},linkSource:{default:`source`},linkTarget:{default:`target`},linkVisibility:{default:!0,triggerUpdate:!1,onChange:Q},linkColor:{default:`color`,triggerUpdate:!1,onChange:Q},linkAutoColorBy:{},linkLineDash:{triggerUpdate:!1,onChange:Q},linkWidth:{default:1,triggerUpdate:!1,onChange:Q},linkCurvature:{default:0,triggerUpdate:!1,onChange:Q},linkCanvasObject:{triggerUpdate:!1,onChange:Q},linkCanvasObjectMode:{default:function(){return`replace`},triggerUpdate:!1,onChange:Q},linkDirectionalArrowLength:{default:0,triggerUpdate:!1,onChange:Q},linkDirectionalArrowColor:{triggerUpdate:!1,onChange:Q},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1,onChange:Q},linkDirectionalParticles:{default:0,triggerUpdate:!1,onChange:Tf},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleOffset:{default:0,triggerUpdate:!1},linkDirectionalParticleWidth:{default:4,triggerUpdate:!1},linkDirectionalParticleColor:{triggerUpdate:!1},linkDirectionalParticleCanvasObject:{triggerUpdate:!1},globalScale:{default:1,triggerUpdate:!1},d3AlphaMin:{default:0,triggerUpdate:!1},d3AlphaDecay:{default:.0228,triggerUpdate:!1,onChange:function(e,n){n.forceLayout.alphaDecay(e)}},d3AlphaTarget:{default:0,triggerUpdate:!1,onChange:function(e,n){n.forceLayout.alphaTarget(e)}},d3VelocityDecay:{default:.4,triggerUpdate:!1,onChange:function(e,n){n.forceLayout.velocityDecay(e)}},warmupTicks:{default:0,triggerUpdate:!1},cooldownTicks:{default:1/0,triggerUpdate:!1},cooldownTime:{default:15e3,triggerUpdate:!1},onUpdate:{default:function(){},triggerUpdate:!1},onFinishUpdate:{default:function(){},triggerUpdate:!1},onEngineTick:{default:function(){},triggerUpdate:!1},onEngineStop:{default:function(){},triggerUpdate:!1},onNeedsRedraw:{triggerUpdate:!1},isShadow:{default:!1,triggerUpdate:!1}},methods:{d3Force:function(e,n,r){return r===void 0?e.forceLayout.force(n):(e.forceLayout.force(n,r),this)},d3ReheatSimulation:function(e){return e.forceLayout.alpha(1),this.resetCountdown(),this},resetCountdown:function(e){return e.cntTicks=0,e.startTickTime=new Date,e.engineRunning=!0,this},isEngineRunning:function(e){return!!e.engineRunning},tickFrame:function(e){return!e.isShadow&&n(),i(),!e.isShadow&&a(),!e.isShadow&&o(),r(),this;function n(){e.engineRunning&&(++e.cntTicks>e.cooldownTicks||new Date-e.startTickTime>e.cooldownTime||e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin?(e.engineRunning=!1,e.onEngineStop()):(e.forceLayout.tick(),e.onEngineTick()))}function r(){var n=B(e.nodeVisibility),r=B(e.nodeVal),i=B(e.nodeColor),a=B(e.nodeCanvasObjectMode),o=e.ctx,s=e.isShadow/e.globalScale,c=e.graphData.nodes.filter(n);o.save(),c.forEach(function(n){var c=a(n);if(e.nodeCanvasObject&&(c===`before`||c===`replace`)&&(e.nodeCanvasObject(n,o,e.globalScale),c===`replace`)){o.restore();return}var l=Math.sqrt(Math.max(0,r(n)||1))*e.nodeRelSize+s;o.beginPath(),o.arc(n.x,n.y,l,0,2*Math.PI,!1),o.fillStyle=i(n)||`rgba(31, 120, 180, 0.92)`,o.fill(),e.nodeCanvasObject&&c===`after`&&e.nodeCanvasObject(n,e.ctx,e.globalScale)}),o.restore()}function i(){var n=B(e.linkVisibility),r=B(e.linkColor),i=B(e.linkWidth),a=B(e.linkLineDash),o=B(e.linkCurvature),s=B(e.linkCanvasObjectMode),c=e.ctx,l=e.isShadow*2,u=e.graphData.links.filter(n);u.forEach(_);var d=[],f=[],p=u;if(e.linkCanvasObject){var m=[],h=[];u.forEach(function(e){return({before:d,after:f,replace:m}[s(e)]||h).push(e)}),p=[].concat(Z(d),f,h),d=d.concat(m)}c.save(),d.forEach(function(n){return e.linkCanvasObject(n,c,e.globalScale)}),c.restore();var g=Xd(p,[r,i,a]);c.save(),Object.entries(g).forEach(function(n){var r=gf(n,2),i=r[0],o=r[1],s=!i||i===`undefined`?`rgba(0,0,0,0.15)`:i;Object.entries(o).forEach(function(n){var r=gf(n,2),i=r[0],o=r[1],u=(i||1)/e.globalScale+l;Object.entries(o).forEach(function(e){var n=gf(e,2);n[0];var r=n[1],i=a(r[0]);c.beginPath(),r.forEach(function(e){var n=e.source,r=e.target;if(!(!n||!r||!n.hasOwnProperty(`x`)||!r.hasOwnProperty(`x`))){c.moveTo(n.x,n.y);var i=e.__controlPoints;i?c[i.length===2?`quadraticCurveTo`:`bezierCurveTo`].apply(c,Z(i).concat([r.x,r.y])):c.lineTo(r.x,r.y)}}),c.strokeStyle=s,c.lineWidth=u,c.setLineDash(i||[]),c.stroke()})})}),c.restore(),c.save(),f.forEach(function(n){return e.linkCanvasObject(n,c,e.globalScale)}),c.restore();function _(e){var n=o(e);if(!n){e.__controlPoints=null;return}var r=e.source,i=e.target;if(!(!r||!i||!r.hasOwnProperty(`x`)||!i.hasOwnProperty(`x`))){var a=Math.sqrt((i.x-r.x)**2+(i.y-r.y)**2);if(a>0){var s=Math.atan2(i.y-r.y,i.x-r.x),c=a*n,l={x:(r.x+i.x)/2+c*Math.cos(s-Math.PI/2),y:(r.y+i.y)/2+c*Math.sin(s-Math.PI/2)};e.__controlPoints=[l.x,l.y]}else{var u=n*70;e.__controlPoints=[i.x,i.y-u,i.x+u,i.y]}}}}function a(){var n=1.6,r=.2,i=B(e.linkDirectionalArrowLength),a=B(e.linkDirectionalArrowRelPos),o=B(e.linkVisibility),s=B(e.linkDirectionalArrowColor||e.linkColor),c=B(e.nodeVal),l=e.ctx;l.save(),e.graphData.links.filter(o).forEach(function(o){var u=i(o);if(!(!u||u<0)){var d=o.source,f=o.target;if(!(!d||!f||!d.hasOwnProperty(`x`)||!f.hasOwnProperty(`x`))){var p=Math.sqrt(Math.max(0,c(d)||1))*e.nodeRelSize,m=Math.sqrt(Math.max(0,c(f)||1))*e.nodeRelSize,h=Math.min(1,Math.max(0,a(o))),g=s(o)||`rgba(0,0,0,0.28)`,_=u/n/2,v=o.__controlPoints&&sf(Fd,[d.x,d.y].concat(Z(o.__controlPoints),[f.x,f.y])),y=v?function(e){return v.get(e)}:function(e){return{x:d.x+(f.x-d.x)*e||0,y:d.y+(f.y-d.y)*e||0}},b=v?v.length():Math.sqrt((f.x-d.x)**2+(f.y-d.y)**2),x=p+u+(b-p-m-u)*h,S=y(x/b),C=y((x-u)/b),w=y((x-u*(1-r))/b),T=Math.atan2(S.y-C.y,S.x-C.x)-Math.PI/2;l.beginPath(),l.moveTo(S.x,S.y),l.lineTo(C.x+_*Math.cos(T),C.y+_*Math.sin(T)),l.lineTo(w.x,w.y),l.lineTo(C.x-_*Math.cos(T),C.y-_*Math.sin(T)),l.fillStyle=g,l.fill()}}}),l.restore()}function o(){var n=B(e.linkDirectionalParticles),r=B(e.linkDirectionalParticleSpeed),i=B(e.linkDirectionalParticleOffset),a=B(e.linkDirectionalParticleWidth),o=B(e.linkVisibility),s=B(e.linkDirectionalParticleColor||e.linkColor),c=e.ctx;c.save(),e.graphData.links.filter(o).forEach(function(o){var l=n(o);if(!(!o.hasOwnProperty(`__photons`)||!o.__photons.length)){var u=o.source,d=o.target;if(!(!u||!d||!u.hasOwnProperty(`x`)||!d.hasOwnProperty(`x`))){var f=r(o),p=Math.abs(i(o)),m=o.__photons||[],h=Math.max(0,a(o)/2)/Math.sqrt(e.globalScale);c.fillStyle=s(o)||`rgba(0,0,0,0.28)`;var g=o.__controlPoints?sf(Fd,[u.x,u.y].concat(Z(o.__controlPoints),[d.x,d.y])):null,_=0,v=!1;m.forEach(function(n){var r=!!n.__singleHop;if(n.hasOwnProperty(`__progressRatio`)||(n.__progressRatio=r?0:(_+p)/l),!r&&_++,n.__progressRatio+=f,n.__progressRatio>=1)if(!r)n.__progressRatio%=1;else{v=!0;return}var i=n.__progressRatio,a=g?g.get(i):{x:u.x+(d.x-u.x)*i||0,y:u.y+(d.y-u.y)*i||0};e.linkDirectionalParticleCanvasObject?e.linkDirectionalParticleCanvasObject(a.x,a.y,o,c,e.globalScale):(c.beginPath(),c.arc(a.x,a.y,h,0,2*Math.PI,!1),c.fill())}),v&&(o.__photons=o.__photons.filter(function(e){return!e.__singleHop||e.__progressRatio<=1}))}}}),c.restore()}},emitParticle:function(e,n){return n&&(!n.__photons&&(n.__photons=[]),n.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:cd().force(`link`,Xu()).force(`charge`,ld()).force(`center`,Il()).force(`dagRadial`,null).stop(),engineRunning:!1}},init:function(e,n){n.ctx=e},update:function(e,n){e.engineRunning=!1,e.onUpdate(),e.nodeAutoColorBy!==null&&Sf(e.graphData.nodes,B(e.nodeAutoColorBy),e.nodeColor),e.linkAutoColorBy!==null&&Sf(e.graphData.links,B(e.linkAutoColorBy),e.linkColor),e.graphData.links.forEach(function(n){n.source=n[e.linkSource],n.target=n[e.linkTarget]}),e.forceLayout.stop().alpha(1).nodes(e.graphData.nodes);var r=e.forceLayout.force(`link`);r&&r.id(function(n){return n[e.nodeId]}).links(e.graphData.links);var i=e.dagMode&&Cf(e.graphData,function(n){return n[e.nodeId]},{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),a=Math.max.apply(Math,Z(Object.values(i||[]))),o=e.dagLevelDistance||e.graphData.nodes.length/(a||1)*wf*([`radialin`,`radialout`].indexOf(e.dagMode)===-1?1:.7);if([`lr`,`rl`,`td`,`bu`].includes(n.dagMode)){var s=[`lr`,`rl`].includes(n.dagMode)?`fx`:`fy`;e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(e){return delete e[s]})}if([`lr`,`rl`,`td`,`bu`].includes(e.dagMode)){var c=[`rl`,`bu`].includes(e.dagMode),l=function(n){return(i[n[e.nodeId]]-a/2)*o*(c?-1:1)},u=[`lr`,`rl`].includes(e.dagMode)?`fx`:`fy`;e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(e){return e[u]=l(e)})}e.forceLayout.force(`dagRadial`,[`radialin`,`radialout`].indexOf(e.dagMode)===-1?null:ud(function(n){var r=i[n[e.nodeId]]||-1;return(e.dagMode===`radialin`?a-r:r)*o}).strength(function(n){return+!!e.dagNodeFilter(n)}));for(var d=0;d<e.warmupTicks&&!(e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin);d++)e.forceLayout.tick();this.resetCountdown(),e.onFinishUpdate()}});function Df(e,n){var r=e instanceof Array?e:[e],i=new n;return i._destructor&&i._destructor(),{linkProp:function(e){return{default:i[e](),onChange:function(n,i){r.forEach(function(r){return i[r][e](n)})},triggerUpdate:!1}},linkMethod:function(e){return function(n){var i=[...arguments].slice(1),a=[];return r.forEach(function(r){var o=n[r],s=o[e].apply(o,i);s!==o&&a.push(s)}),a.length?a[0]:this}}}}var Of=800,kf=4,Af=5,jf=Df(`forceGraph`,Ef),Mf=Df([`forceGraph`,`shadowGraph`],Ef),Nf=Object.assign.apply(Object,Z(`nodeColor.nodeAutoColorBy.nodeCanvasObject.nodeCanvasObjectMode.linkColor.linkAutoColorBy.linkLineDash.linkWidth.linkCanvasObject.linkCanvasObjectMode.linkDirectionalArrowLength.linkDirectionalArrowColor.linkDirectionalArrowRelPos.linkDirectionalParticles.linkDirectionalParticleSpeed.linkDirectionalParticleOffset.linkDirectionalParticleWidth.linkDirectionalParticleColor.linkDirectionalParticleCanvasObject.dagMode.dagLevelDistance.dagNodeFilter.onDagError.d3AlphaMin.d3AlphaDecay.d3VelocityDecay.warmupTicks.cooldownTicks.cooldownTime.onEngineTick.onEngineStop`.split(`.`).map(function(e){return cf({},e,jf.linkProp(e))})).concat(Z([`nodeRelSize`,`nodeId`,`nodeVal`,`nodeVisibility`,`linkSource`,`linkTarget`,`linkVisibility`,`linkCurvature`].map(function(e){return cf({},e,Mf.linkProp(e))})))),Pf=Object.assign.apply(Object,Z([`d3Force`,`d3ReheatSimulation`,`emitParticle`].map(function(e){return cf({},e,jf.linkMethod(e))})));function Ff(e){if(e.canvas){var n=e.canvas.width,r=e.canvas.height;n===300&&r===150&&(n=r=0);var i=window.devicePixelRatio;n/=i,r/=i,[e.canvas,e.shadowCanvas].forEach(function(a){a.style.width=`${e.width}px`,a.style.height=`${e.height}px`,a.width=e.width*i,a.height=e.height*i,!n&&!r&&a.getContext(`2d`).scale(i,i)});var a=$a(e.canvas).k;e.zoom.translateBy(e.zoom.__baseElem,(e.width-n)/2/a,(e.height-r)/2/a),e.needsRedraw=!0}}function If(e){var n=window.devicePixelRatio;e.setTransform(n,0,0,n,0,0)}function Lf(e,n,r){e.save(),If(e),e.clearRect(0,0,n,r),e.restore()}var Rf=_s({props:hf({width:{default:window.innerWidth,onChange:function(e,n){return Ff(n)},triggerUpdate:!1},height:{default:window.innerHeight,onChange:function(e,n){return Ff(n)},triggerUpdate:!1},graphData:{default:{nodes:[],links:[]},onChange:function(e,n){[e.nodes,e.links].every(function(e){return(e||[]).every(function(e){return!e.hasOwnProperty(`__indexColor`)})})&&n.colorTracker.reset(),[{type:`Node`,objs:e.nodes},{type:`Link`,objs:e.links}].forEach(r),n.forceGraph.graphData(e),n.shadowGraph.graphData(e);function r(e){var r=e.type;e.objs.filter(function(e){if(!e.hasOwnProperty(`__indexColor`))return!0;var r=n.colorTracker.lookup(e.__indexColor);return!r||!r.hasOwnProperty(`d`)||r.d!==e}).forEach(function(e){e.__indexColor=n.colorTracker.register({type:r,d:e})})}},triggerUpdate:!1},backgroundColor:{onChange:function(e,n){n.canvas&&e&&(n.canvas.style.background=e)},triggerUpdate:!1},nodeLabel:{default:`name`,triggerUpdate:!1},nodePointerAreaPaint:{onChange:function(e,n){n.shadowGraph.nodeCanvasObject(e?function(n,r,i){return e(n,n.__indexColor,r,i)}:null),n.flushShadowCanvas&&n.flushShadowCanvas()},triggerUpdate:!1},linkPointerAreaPaint:{onChange:function(e,n){n.shadowGraph.linkCanvasObject(e?function(n,r,i){return e(n,n.__indexColor,r,i)}:null),n.flushShadowCanvas&&n.flushShadowCanvas()},triggerUpdate:!1},linkLabel:{default:`name`,triggerUpdate:!1},linkHoverPrecision:{default:4,triggerUpdate:!1},minZoom:{default:.01,onChange:function(e,n){n.zoom.scaleExtent([e,n.zoom.scaleExtent()[1]])},triggerUpdate:!1},maxZoom:{default:1e3,onChange:function(e,n){n.zoom.scaleExtent([n.zoom.scaleExtent()[0],e])},triggerUpdate:!1},enableNodeDrag:{default:!0,triggerUpdate:!1},enableZoomInteraction:{default:!0,triggerUpdate:!1},enablePanInteraction:{default:!0,triggerUpdate:!1},enableZoomPanInteraction:{default:!0,triggerUpdate:!1},enablePointerInteraction:{default:!0,onChange:function(e,n){n.hoverObj=null},triggerUpdate:!1},autoPauseRedraw:{default:!0,triggerUpdate:!1},onNodeDrag:{default:function(){},triggerUpdate:!1},onNodeDragEnd:{default:function(){},triggerUpdate:!1},onNodeClick:{triggerUpdate:!1},onNodeRightClick:{triggerUpdate:!1},onNodeHover:{triggerUpdate:!1},onLinkClick:{triggerUpdate:!1},onLinkRightClick:{triggerUpdate:!1},onLinkHover:{triggerUpdate:!1},onBackgroundClick:{triggerUpdate:!1},onBackgroundRightClick:{triggerUpdate:!1},showPointerCursor:{default:!0,triggerUpdate:!1},onZoom:{triggerUpdate:!1},onZoomEnd:{triggerUpdate:!1},onRenderFramePre:{triggerUpdate:!1},onRenderFramePost:{triggerUpdate:!1}},Nf),aliases:{stopAnimation:`pauseAnimation`},methods:hf({graph2ScreenCoords:function(e,n,r){var i=$a(e.canvas);return{x:n*i.k+i.x,y:r*i.k+i.y}},screen2GraphCoords:function(e,n,r){var i=$a(e.canvas);return{x:(n-i.x)/i.k,y:(r-i.y)/i.k}},centerAt:function(e,n,r,i){if(!e.canvas)return null;if(n!==void 0||r!==void 0){var a=Object.assign({},n===void 0?{}:{x:n},r===void 0?{}:{y:r});return i?e.tweenGroup.add(new os(o()).to(a,i).easing(es.Quadratic.Out).onUpdate(s).onComplete(function(){e.tweenGroup.remove(this)}).start()):s(a),this}return o();function o(){var n=$a(e.canvas);return{x:(e.width/2-n.x)/n.k,y:(e.height/2-n.y)/n.k}}function s(n){var r=n.x,i=n.y;e.zoom.translateTo(e.zoom.__baseElem,r===void 0?o().x:r,i===void 0?o().y:i),e.needsRedraw=!0}},zoom:function(e,n,r){if(!e.canvas)return null;if(n!==void 0)return r?e.tweenGroup.add(new os({k:i()}).to({k:n},r).easing(es.Quadratic.Out).onUpdate(function(e){var n=e.k;return a(n)}).onComplete(function(){e.tweenGroup.remove(this)}).start()):a(n),this;return i();function i(){return $a(e.canvas).k}function a(n){e.zoom.scaleTo(e.zoom.__baseElem,n),e.needsRedraw=!0}},zoomToFit:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,i=[...arguments].slice(3),a=this.getGraphBbox.apply(this,i);if(a){var o={x:(a.x[0]+a.x[1])/2,y:(a.y[0]+a.y[1])/2},s=Math.max(1e-12,Math.min(0xe8d4a51000,(e.width-r*2)/(a.x[1]-a.x[0]),(e.height-r*2)/(a.y[1]-a.y[0])));this.centerAt(o.x,o.y,n),this.zoom(s,n)}return this},getGraphBbox:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0},r=B(e.nodeVal),i=function(n){return Math.sqrt(Math.max(0,r(n)||1))*e.nodeRelSize},a=e.graphData.nodes.filter(n).map(function(e){return{x:e.x,y:e.y,r:i(e)}});return a.length?{x:[go(a,function(e){return e.x-e.r}),ho(a,function(e){return e.x+e.r})],y:[go(a,function(e){return e.y-e.r}),ho(a,function(e){return e.y+e.r})]}:null},pauseAnimation:function(e){return e.animationFrameRequestId&&=(cancelAnimationFrame(e.animationFrameRequestId),null),this},resumeAnimation:function(e){return e.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},Pf),stateInit:function(){return{lastSetZoom:1,zoom:co(),forceGraph:new Ef,shadowGraph:new Ef().cooldownTicks(0).nodeColor(`__indexColor`).linkColor(`__indexColor`).isShadow(!0),colorTracker:new Ec,tweenGroup:new ns}},init:function(e,n){var r=this;e.innerHTML=``;var i=document.createElement(`div`);i.classList.add(`force-graph-container`),i.style.position=`relative`,e.appendChild(i),n.canvas=document.createElement(`canvas`),n.backgroundColor&&(n.canvas.style.background=n.backgroundColor),i.appendChild(n.canvas),n.shadowCanvas=document.createElement(`canvas`);var a=n.canvas.getContext(`2d`),o=n.shadowCanvas.getContext(`2d`,{willReadFrequently:!0}),s={x:-0xe8d4a51000,y:-0xe8d4a51000},c=function(){var e=null,r=window.devicePixelRatio,i=s.x>0&&s.y>0?o.getImageData(s.x*r,s.y*r,1,1):null;return i&&(e=n.colorTracker.lookup(i.data)),e};jn(n.canvas).call(Qn().subject(function(){if(!n.enableNodeDrag)return null;var e=c();return e&&e.type===`Node`?e.d:null}).on(`start`,function(e){var r=e.subject;r.__initialDragPos={x:r.x,y:r.y,fx:r.fx,fy:r.fy},e.active||(r.fx=r.x,r.fy=r.y),n.canvas.classList.add(`grabbable`)}).on(`drag`,function(e){var r=e.subject,i=r.__initialDragPos,a=e,o=$a(n.canvas).k,s={x:i.x+(a.x-i.x)/o-r.x,y:i.y+(a.y-i.y)/o-r.y};[`x`,`y`].forEach(function(e){return r[`f${e}`]=r[e]=i[e]+(a[e]-i[e])/o}),!(!r.__dragged&&Af>=Math.sqrt(_o([`x`,`y`].map(function(n){return(e[n]-i[n])**2}))))&&(n.forceGraph.d3AlphaTarget(.3).resetCountdown(),n.isPointerDragging=!0,r.__dragged=!0,n.onNodeDrag(r,s))}).on(`end`,function(e){var r=e.subject,i=r.__initialDragPos,a={x:r.x-i.x,y:r.y-i.y};i.fx===void 0&&(r.fx=void 0),i.fy===void 0&&(r.fy=void 0),delete r.__initialDragPos,n.forceGraph.d3AlphaTarget()&&n.forceGraph.d3AlphaTarget(0).resetCountdown(),n.canvas.classList.remove(`grabbable`),n.isPointerDragging=!1,r.__dragged&&(delete r.__dragged,n.onNodeDragEnd(r,a))})),n.zoom(n.zoom.__baseElem=jn(n.canvas)),n.zoom.__baseElem.on(`dblclick.zoom`,null),n.zoom.filter(function(e){return!e.button&&n.enableZoomPanInteraction&&(e.type!==`wheel`||B(n.enableZoomInteraction)(e))&&(e.type===`wheel`||B(n.enablePanInteraction)(e))}).on(`zoom`,function(e){var i=e.transform;[a,o].forEach(function(e){If(e),e.translate(i.x,i.y),e.scale(i.k,i.k)}),n.isPointerDragging=!0,n.onZoom&&n.onZoom(hf(hf({},i),r.centerAt())),n.needsRedraw=!0}).on(`end`,function(e){n.isPointerDragging=!1,n.onZoomEnd&&n.onZoomEnd(hf(hf({},e.transform),r.centerAt()))}),Ff(n),n.forceGraph.onNeedsRedraw(function(){return n.needsRedraw=!0}).onFinishUpdate(function(){$a(n.canvas).k===n.lastSetZoom&&n.graphData.nodes.length&&(n.zoom.scaleTo(n.zoom.__baseElem,n.lastSetZoom=kf/Math.cbrt(n.graphData.nodes.length)),n.needsRedraw=!0)}),n.tooltip=new Fl(i),[`pointermove`,`pointerdown`].forEach(function(e){return i.addEventListener(e,function(r){e===`pointerdown`&&(n.isPointerPressed=!0,n.pointerDownEvent=r),!n.isPointerDragging&&r.type===`pointermove`&&n.onBackgroundClick&&(r.pressure>0||n.isPointerPressed)&&(r.pointerType===`mouse`||r.movementX===void 0||[r.movementX,r.movementY].some(function(e){return Math.abs(e)>1}))&&(n.isPointerDragging=!0);var a=o(i);s.x=r.pageX-a.left,s.y=r.pageY-a.top;function o(e){var n=e.getBoundingClientRect(),r=window.pageXOffset||document.documentElement.scrollLeft,i=window.pageYOffset||document.documentElement.scrollTop;return{top:n.top+i,left:n.left+r}}},{passive:!0})}),i.addEventListener(`pointerup`,function(e){if(n.isPointerPressed){if(n.isPointerPressed=!1,n.isPointerDragging){n.isPointerDragging=!1;return}var r=[e,n.pointerDownEvent];requestAnimationFrame(function(){if(e.button===0)if(n.hoverObj){var i=n[`on${n.hoverObj.type}Click`];i&&i.apply(void 0,[n.hoverObj.d].concat(r))}else n.onBackgroundClick&&n.onBackgroundClick.apply(n,r);if(e.button===2)if(n.hoverObj){var a=n[`on${n.hoverObj.type}RightClick`];a&&a.apply(void 0,[n.hoverObj.d].concat(r))}else n.onBackgroundRightClick&&n.onBackgroundRightClick.apply(n,r)})}},{passive:!0}),i.addEventListener(`contextmenu`,function(e){return!n.onBackgroundRightClick&&!n.onNodeRightClick&&!n.onLinkRightClick?!0:(e.preventDefault(),!1)}),n.forceGraph(a),n.shadowGraph(o);var l=$o(function(){Lf(o,n.width,n.height),n.shadowGraph.linkWidth(function(e){return B(n.linkWidth)(e)+n.linkHoverPrecision});var e=$a(n.canvas);n.shadowGraph.globalScale(e.k).tickFrame()},Of);n.flushShadowCanvas=l.flush,(this._animationCycle=function e(){var r=!n.autoPauseRedraw||!!n.needsRedraw||n.forceGraph.isEngineRunning()||n.graphData.links.some(function(e){return e.__photons&&e.__photons.length});if(n.needsRedraw=!1,n.enablePointerInteraction){var i=n.isPointerDragging?null:c();if(i!==n.hoverObj){var o=n.hoverObj,s=o?o.type:null,u=i?i.type:null;if(s&&s!==u){var d=n[`on${s}Hover`];d&&d(null,o.d)}if(u){var f=n[`on${u}Hover`];f&&f(i.d,s===u?o.d:null)}n.tooltip.content(i&&B(n[`${i.type.toLowerCase()}Label`])(i.d)||null),n.canvas.classList[(i&&n[`on${u}Click`]||!i&&n.onBackgroundClick)&&B(n.showPointerCursor)(i?.d)?`add`:`remove`](`clickable`),n.hoverObj=i}r&&l()}if(r){Lf(a,n.width,n.height);var p=$a(n.canvas).k;n.onRenderFramePre&&n.onRenderFramePre(a,p),n.forceGraph.globalScale(p).tickFrame(),n.onRenderFramePost&&n.onRenderFramePost(a,p)}n.tweenGroup.update(),n.animationFrameRequestId=requestAnimationFrame(e)})()},update:function(e){}}),zf=n(((e,n)=>{n.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),Bf=n(((e,n)=>{var r=zf();function i(){}function a(){}a.resetWarningCache=i,n.exports=function(){function e(e,n,i,a,o,s){if(s!==r){var c=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name=`Invariant Violation`,c}}e.isRequired=e;function n(){return e}var o={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:n,element:e,elementType:e,instanceOf:n,node:e,objectOf:n,oneOf:n,oneOfType:n,shape:n,exact:n,checkPropTypes:a,resetWarningCache:i};return o.PropTypes=o,o}})),$=e(n(((e,n)=>{n.exports=Bf()()}))(),1),Vf={width:$.default.number,height:$.default.number,graphData:$.default.shape({nodes:$.default.arrayOf($.default.object).isRequired,links:$.default.arrayOf($.default.object).isRequired}),backgroundColor:$.default.string,nodeRelSize:$.default.number,nodeId:$.default.string,nodeLabel:$.default.oneOfType([$.default.string,$.default.func]),nodeVal:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),nodeVisibility:$.default.oneOfType([$.default.bool,$.default.string,$.default.func]),nodeColor:$.default.oneOfType([$.default.string,$.default.func]),nodeAutoColorBy:$.default.oneOfType([$.default.string,$.default.func]),onNodeHover:$.default.func,onNodeClick:$.default.func,linkSource:$.default.string,linkTarget:$.default.string,linkLabel:$.default.oneOfType([$.default.string,$.default.func]),linkVisibility:$.default.oneOfType([$.default.bool,$.default.string,$.default.func]),linkColor:$.default.oneOfType([$.default.string,$.default.func]),linkAutoColorBy:$.default.oneOfType([$.default.string,$.default.func]),linkWidth:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkCurvature:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalArrowLength:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalArrowColor:$.default.oneOfType([$.default.string,$.default.func]),linkDirectionalArrowRelPos:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticles:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticleSpeed:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticleOffset:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticleWidth:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticleColor:$.default.oneOfType([$.default.string,$.default.func]),onLinkHover:$.default.func,onLinkClick:$.default.func,dagMode:$.default.oneOf([`td`,`bu`,`lr`,`rl`,`zin`,`zout`,`radialin`,`radialout`]),dagLevelDistance:$.default.number,dagNodeFilter:$.default.func,onDagError:$.default.func,d3AlphaMin:$.default.number,d3AlphaDecay:$.default.number,d3VelocityDecay:$.default.number,warmupTicks:$.default.number,cooldownTicks:$.default.number,cooldownTime:$.default.number,onEngineTick:$.default.func,onEngineStop:$.default.func,getGraphBbox:$.default.func},Hf={zoomToFit:$.default.func,onNodeRightClick:$.default.func,onNodeDrag:$.default.func,onNodeDragEnd:$.default.func,onLinkRightClick:$.default.func,linkHoverPrecision:$.default.number,onBackgroundClick:$.default.func,onBackgroundRightClick:$.default.func,showPointerCursor:$.default.oneOfType([$.default.bool,$.default.func]),enablePointerInteraction:$.default.bool,enableNodeDrag:$.default.bool},Uf={showNavInfo:$.default.bool,nodeOpacity:$.default.number,nodeResolution:$.default.number,nodeThreeObject:$.default.oneOfType([$.default.object,$.default.string,$.default.func]),nodeThreeObjectExtend:$.default.oneOfType([$.default.bool,$.default.string,$.default.func]),nodePositionUpdate:$.default.func,linkOpacity:$.default.number,linkResolution:$.default.number,linkCurveRotation:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkMaterial:$.default.oneOfType([$.default.object,$.default.string,$.default.func]),linkThreeObject:$.default.oneOfType([$.default.object,$.default.string,$.default.func]),linkThreeObjectExtend:$.default.oneOfType([$.default.bool,$.default.string,$.default.func]),linkPositionUpdate:$.default.func,linkDirectionalArrowResolution:$.default.number,linkDirectionalParticleResolution:$.default.number,linkDirectionalParticleThreeObject:$.default.oneOfType([$.default.object,$.default.string,$.default.func]),forceEngine:$.default.oneOf([`d3`,`ngraph`]),ngraphPhysics:$.default.object,numDimensions:$.default.oneOf([1,2,3])},Wf=Object.assign({},Vf,Hf,{linkLineDash:$.default.oneOfType([$.default.arrayOf($.default.number),$.default.string,$.default.func]),nodeCanvasObjectMode:$.default.oneOfType([$.default.string,$.default.func]),nodeCanvasObject:$.default.func,nodePointerAreaPaint:$.default.func,linkCanvasObjectMode:$.default.oneOfType([$.default.string,$.default.func]),linkCanvasObject:$.default.func,linkPointerAreaPaint:$.default.func,linkDirectionalParticleCanvasObject:$.default.func,autoPauseRedraw:$.default.bool,minZoom:$.default.number,maxZoom:$.default.number,enableZoomInteraction:$.default.oneOfType([$.default.bool,$.default.func]),enablePanInteraction:$.default.oneOfType([$.default.bool,$.default.func]),onZoom:$.default.func,onZoomEnd:$.default.func,onRenderFramePre:$.default.func,onRenderFramePost:$.default.func});Object.assign({},Vf,Hf,Uf,{enableNavigationControls:$.default.bool,controlType:$.default.oneOf([`trackball`,`orbit`,`fly`]),rendererConfig:$.default.object,extraRenderers:$.default.arrayOf($.default.shape({render:$.default.func.isRequired}))}),Object.assign({},Vf,Uf,{nodeDesc:$.default.oneOfType([$.default.string,$.default.func]),linkDesc:$.default.oneOfType([$.default.string,$.default.func])}),Object.assign({},Vf,Uf,{markerAttrs:$.default.object,yOffset:$.default.number,glScale:$.default.number});var Gf=Fe(Rf,{methodNames:[`emitParticle`,`d3Force`,`d3ReheatSimulation`,`stopAnimation`,`pauseAnimation`,`resumeAnimation`,`centerAt`,`zoom`,`zoomToFit`,`getGraphBbox`,`screen2GraphCoords`,`graph2ScreenCoords`]});Gf.displayName=`ForceGraph2D`,Gf.propTypes=Wf;var Kf=/(?:\s+[—–|]\s+|:\s+)/;function qf(e){let n=new Map;for(let r of e){let e=np(r.label||r.id),i=Qf(e),a=ep(r.kind===`doc`?r.docName??r.id:r.url??r.id),o=$f(i),s=o?ep(i):i,c=o?[]:Zf(i),l=c.length>1?c[0]??null:null,u=c.length>1?c.at(-1)??null:null;n.set(r.id,{fullLabel:e,leadLabel:l&&l!==s&&l!==u?l:null,pathLabel:a,primaryLabel:s,topicLabel:u&&u!==s?u:null})}return n}function Jf(e,n,r){if(!e)return``;let i=e=>r(e)<=n;for(let n of rp([e.primaryLabel,e.topicLabel]))if(i(n))return n;for(let i of rp([e.topicLabel,e.primaryLabel])){let e=Yf(i,n,r);if(e)return e}if(e.leadLabel&&i(e.leadLabel))return e.leadLabel;if(e.leadLabel){let i=Yf(e.leadLabel,n,r);if(i)return i}return i(e.pathLabel)?e.pathLabel:Yf(e.pathLabel,n,r)||e.pathLabel}function Yf(e,n,r){if(!e)return``;if(r(e)<=n)return e;let i=e.split(/\s+/).filter(Boolean),a=rp([i.length>=3?`${i.slice(0,2).join(` `)} ... ${i.at(-1)??``}`:void 0,i.length>=2?`${i[0]} ... ${i.at(-1)??``}`:void 0]);for(let e of a)if(r(e)<=n)return e;return Xf(e,n,r)}function Xf(e,n,r){if(r(`...`)>n)return``;let i=1,a=Math.max(1,Math.floor((e.length-3)/2)),o=``;for(;i<=a;){let s=Math.floor((i+a)/2),c=`${e.slice(0,s)}...${e.slice(-s)}`;r(c)<=n?(o=c,i=s+1):a=s-1}if(o)return o;let s=`${e[0]??``}...`;return r(s)<=n?s:`...`}function Zf(e){return np(e).split(Kf).map(e=>np(e)).filter(Boolean)}function Qf(e){let n=np(e);for(;;){let e=n.replace(/\s*\([^()]*\)\s*$/,``).trim();if(!e||e===n)return n;n=e}}function $f(e){let n=(e.match(/\//g)??[]).length,r=(e.match(/\s/g)??[]).length;return n>0&&(r===0||n*3>r)}function ep(e){let n=e.split(`/`).map(e=>e.trim()).filter(Boolean);return n.length===0?e:n.length===1?tp(n[0]):n.slice(-2).map(tp).join(` / `)}function tp(e){if(e.length<=24)return e;let n=e.split(`-`).filter(Boolean);if(n.length>=4){let e=[...n];for(;e.length>2&&/^\d+$/.test(e[0]);)e.shift();if(e.length>=2)return e.slice(-3).join(`-`)}return e.length<=24?e:`${e.slice(0,10)}...${e.slice(-10)}`}function np(e){return e.replace(/\s+/g,` `).trim()}function rp(e){let n=new Set;for(let r of e)r&&n.add(r);return[...n]}var ip=8,ap=10,op=4,sp=6,cp=4,lp=ap+cp*2,up=2,dp=.001;function fp(e){let{nodes:n,links:r,activeDocName:i,viewport:a,maxLabels:o,maxLabelWidthPx:s,labelDescriptors:c,measureTextWidthPx:l,projectToScreen:u,getNodeRadiusPx:d}=e;if(o<=0||a.width<=0||a.height<=0||n.length===0)return[];let f=pp(r),p=a.width/2,m=a.height/2,h=n.flatMap(e=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return[];let n=u(e.x,e.y);return[{node:e,screenX:n.x,screenY:n.y,radiusPx:d(e)}]}),g=h.map(e=>{let n=Jf(c.get(e.node.id),s,l);if(!n)return null;let r=l(n);return r<=0?null:{...e,text:n,textWidthPx:r,isActive:e.node.id===i,degree:f.get(e.node.id)??0,distanceToCenterPx:Math.hypot(e.screenX-p,e.screenY-m)}}).filter(e=>e!==null);g.sort(hp);let _=[],v=[];for(let e=0;e<g.length&&!(_.length>=o);e+=1){let n=g[e],r=gp(n,{priority:g.length-e,viewport:a,acceptedRects:v,positionedNodes:h});r&&(_.push(r),v.push(r.rect))}return _}function pp(e){let n=new Map;for(let r of e){let e=mp(r.source),i=mp(r.target);e&&n.set(e,(n.get(e)??0)+1),i&&n.set(i,(n.get(i)??0)+1)}return n}function mp(e){return typeof e==`string`?e:typeof e?.id==`string`?e.id:typeof e?.id==`number`?String(e.id):null}function hp(e,n){return e.isActive===n.isActive?Math.abs(e.distanceToCenterPx-n.distanceToCenterPx)>dp?e.distanceToCenterPx-n.distanceToCenterPx:e.degree===n.degree?e.text.length===n.text.length?e.node.id.localeCompare(n.node.id):e.text.length-n.text.length:n.degree-e.degree:e.isActive?-1:1}function gp(e,{priority:n,viewport:r,acceptedRects:i,positionedNodes:a}){for(let o of[`bottom`,`top`,`right`,`left`]){let s=_p(e,o,n);if(vp(s.rect,r)&&!i.some(e=>yp(e,s.rect))&&!a.some(n=>n.node.id!==e.node.id&&bp(s.rect,{x:n.screenX,y:n.screenY,radius:n.radiusPx+up})))return s}return null}function _p(e,n,r){let i=e.textWidthPx+sp*2,a=i/2,o=lp/2,s=e.screenX-a,c=e.screenY+e.radiusPx+op;return n===`top`?c=e.screenY-e.radiusPx-op-lp:n===`right`?(s=e.screenX+e.radiusPx+op,c=e.screenY-o):n===`left`&&(s=e.screenX-e.radiusPx-op-i,c=e.screenY-o),{nodeId:e.node.id,text:e.text,anchor:n,priority:r,isActive:e.isActive,rect:{left:s,top:c,right:s+i,bottom:c+lp},textX:s+a,textY:c+cp}}function vp(e,n){return e.left>=ip&&e.top>=ip&&e.right<=n.width-ip&&e.bottom<=n.height-ip}function yp(e,n){return!(e.right<=n.left||e.left>=n.right||e.bottom<=n.top||e.top>=n.bottom)}function bp(e,n){let r=xp(n.x,e.left,e.right),i=xp(n.y,e.top,e.bottom);return Math.hypot(n.x-r,n.y-i)<n.radius}function xp(e,n,r){return Math.min(r,Math.max(n,e))}var Sp=5,Cp=7,wp=8,Tp=[`x`,`y`,`z`,`vx`,`vy`,`vz`,`fx`,`fy`,`fz`,`index`,`__indexColor`];function Ep(e,n){for(let r of Tp){let i=n[r];i!==void 0&&(e[r]=i)}}function Dp(e){return typeof e==`string`?e:typeof e==`object`&&e&&`id`in e?String(e.id):``}function Op(e){return e.map(e=>`${e.id}:${e.label}`).join(`,`)}function kp(e){return e.map(e=>`${Dp(e.source)}>${Dp(e.target)}`).join(`,`)}function Ap(e,n){let r=new Map(e.nodes.map(e=>[e.id,e])),i=n.nodes.map(e=>{let n={...e},i=r.get(e.id);return i&&Ep(n,i),n}),a=new Map(e.links.map(e=>[`${Dp(e.source)}>${Dp(e.target)}`,e]));return{nodes:i,links:n.links.map(e=>{let n={...e},r=a.get(`${Dp(e.source)}>${Dp(e.target)}`);return r?.__indexColor&&(n.__indexColor=r.__indexColor),n})}}function jp(e,n={}){if(e.kind===`external`)return e.url;let r=e.label??e.id,i=n.displayState??`doc`,a=e.cluster||e.category||e.tags&&e.tags.length>0;if(i===`doc`&&!a)return r;let o=[...Mp(i),`<div style="font-weight:600;font-size:14px;color:#f1f5f9;margin-bottom:${a?8:0}px;padding-bottom:${a?6:0}px;border-bottom:${a?`1px solid rgba(148,163,184,0.3)`:`none`}">${Np(r)}</div>`];return e.cluster&&o.push(`<div style="font-size:12.5px;color:#f1f5f9;margin-bottom:2px"><span style="color:#cbd5e1">cluster:</span> ${Np(e.cluster)}</div>`),e.category&&o.push(`<div style="font-size:12.5px;color:#f1f5f9;margin-bottom:2px"><span style="color:#cbd5e1">category:</span> ${Np(e.category)}</div>`),e.tags&&e.tags.length>0&&o.push(`<div style="font-size:12.5px;color:#f1f5f9"><span style="color:#cbd5e1">tags:</span> ${e.tags.map(Np).join(`, `)}</div>`),o.join(``)}function Mp(e){return e===`missing`?[`<div style="font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#fca5a5;margin-bottom:6px">Broken / uncreated link</div>`,`<div style="font-size:12px;color:#fecaca;margin-bottom:8px">This page does not exist yet. Open it to create it.</div>`]:e===`folder`?[`<div style="font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#c4b5fd;margin-bottom:6px">Folder target</div>`,`<div style="font-size:12px;color:#ddd6fe;margin-bottom:8px">This link resolves to a folder view rather than a standalone page.</div>`]:[]}function Np(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function Pp(e,{activeDocName:n,selectedNodeId:r}){let i=r!==null&&e.id===r;if(e.kind===`external`)return i?`external-selected`:`external`;let a=e.docName===n;return a&&i?`active-selected`:a?`active`:i?`selected`:`default`}function Fp(e){return e===`active`||e===`active-selected`?wp:e===`selected`||e===`external-selected`?Cp:Sp}function Ip(e,n){let r=Fp(e);return e===`active`||e===`selected`||e===`active-selected`||e===`external-selected`?r+2/Math.max(n,.01):r}function Lp(e){return D(e.docName,e.anchor)}function Rp(e,n){return e.kind===`external`?n===`select`?{kind:`select`,selection:{kind:`external`,id:e.id,label:e.label,url:e.url}}:{kind:`external`,url:e.url}:n===`select`?{kind:`select`,selection:{kind:`doc`,id:e.id,docName:e.docName,label:e.label,anchor:e.anchor??null}}:{kind:`navigate`,hash:Lp({docName:e.docName,label:e.label,anchor:e.anchor??null})}}var zp=350,Bp=120,Vp=18,Hp=28,Up=5;function Wp({node:e,navigationIntentByNodeId:n}){return e.kind===`doc`?n.get(e.id)?.displayState??`doc`:`doc`}function Gp({state:e,displayState:n,globalScale:r}){let i=Ip(e,r);return n===`missing`?Math.max(i,Fp(e)+2/Math.max(r,.01)):i}function Kp({nodes:e,activeDocName:n}){let r=e.find(e=>e.kind===`doc`&&e.docName===n);return typeof r?.x!=`number`||typeof r?.y!=`number`?null:{x:r.x,y:r.y}}function qp({fg:e,coords:n,dimensions:r}){if(!e||!n||r.width<=0||r.height<=0)return!1;let i=e.graph2ScreenCoords(n.x,n.y);return Math.hypot(i.x-r.width/2,i.y-r.height/2)>=Hp}function Jp({fg:e,nodes:n,activeDocName:r,zoom:i,focusKey:a,focusState:o,force:s=!1,durationMs:c=zp}){let l=Date.now(),u=o;if(u.key!==a)u={key:a,lastX:null,lastY:null,lastAt:0};else if(!s&&l-u.lastAt<Bp)return u;let d=Kp({nodes:n,activeDocName:r});if(!d)return u;let f=u.lastX===null||u.lastY===null?1/0:Math.hypot(d.x-u.lastX,d.y-u.lastY);return!s&&f<Vp&&u.lastAt!==0?{...u,lastAt:l}:e?(e.centerAt(d.x,d.y,c),Math.abs(e.zoom()-i)>.01&&e.zoom(i,c),{key:a,lastX:d.x,lastY:d.y,lastAt:l}):u}function Yp({ctx:e,placements:n,labelColor:r,chipColor:i,chipBorderColor:a}){e.textAlign=`center`,e.textBaseline=`top`;for(let o of n){let n=o.rect.right-o.rect.left,s=o.rect.bottom-o.rect.top;e.fillStyle=i,e.fillRect(o.rect.left,o.rect.top,n,s),e.strokeStyle=a,e.lineWidth=1,e.strokeRect(o.rect.left,o.rect.top,n,s),e.fillStyle=r,e.fillText(o.text,o.textX,o.textY)}}function Xp({node:e,fg:n,activeDocName:r,selectedNodeId:i,globalScale:a,displayState:o}){if(typeof e.x!=`number`||typeof e.y!=`number`)return null;let s=Pp(e,{activeDocName:r,selectedNodeId:i}),c=n.graph2ScreenCoords(e.x,e.y);return{x:c.x,y:c.y,radiusPx:Gp({state:s,displayState:o,globalScale:a})*a,state:s}}function Zp({clientX:e,clientY:n,container:r}){let i=r.getBoundingClientRect();return{x:e-i.left,y:n-i.top}}function Qp({point:e,fg:n,nodes:r,activeDocName:i,selectedNodeId:a,navigationIntentByNodeId:o}){let s=n.zoom(),c=null;for(let l of r){let r=Xp({node:l,fg:n,activeDocName:i,selectedNodeId:a,globalScale:s,displayState:Wp({node:l,navigationIntentByNodeId:o})});if(!r)continue;let u=Math.hypot(e.x-r.x,e.y-r.y);u>r.radiusPx||c!==null&&u>=c.distance||(c={node:l,distance:u})}return c?.node??null}function $p(e,n){return e===void 0||typeof e==`string`||typeof e==`number`||typeof e.x!=`number`||typeof e.y!=`number`?null:n.graph2ScreenCoords(e.x,e.y)}function em({point:e,start:n,end:r}){let i=r.x-n.x,a=r.y-n.y;if(i===0&&a===0)return Math.hypot(e.x-n.x,e.y-n.y);let o=Math.max(0,Math.min(1,((e.x-n.x)*i+(e.y-n.y)*a)/(i*i+a*a))),s=n.x+o*i,c=n.y+o*a;return Math.hypot(e.x-s,e.y-c)}function tm({point:e,fg:n,links:r}){return r.some(r=>{let i=$p(r.source,n),a=$p(r.target,n);return!i||!a?!1:em({point:e,start:i,end:a})<=6})}function nm({node:e,docClickBehavior:n,onSelectNode:r}){let i=Rp(e,n);if(i.kind===`external`){window.open(i.url,`_blank`,`noopener,noreferrer`);return}if(i.kind===`navigate`){window.location.assign(i.hash);return}r?.(i.selection)}function rm({target:e,docClickBehavior:n,selectedNodeId:r,onSelectNode:i,onBackgroundClick:a}){if(e.kind===`background`||e.kind===`link`){a?.();return}if(n===`select`&&r!==null&&e.node.id===r){a?.();return}nm({node:e.node,docClickBehavior:n,onSelectNode:i})}function im(e){let n=(0,se.c)(110),{activeDocName:r,selectedNodeId:i,isExpanded:a,showUrlNodes:o,className:s,docClickBehavior:l,onSelectNode:u,onBackgroundClick:d,onStatsChange:f,onClustersChange:p}=e,m=i===void 0?null:i,g=a===void 0?!1:a,_=o===void 0?!0:o,v=s===void 0?``:s,y=l===void 0?`navigate`:l,b;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(b={nodes:[],links:[]},n[0]=b):b=n[0];let[x,C]=(0,O.useState)(b),w;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(w={nodes:``,links:``},n[1]=w):w=n[1];let T=(0,O.useRef)(w),[E,ee]=(0,O.useState)(!0),[te,ie]=(0,O.useState)(null),ae=(0,O.useRef)(null),oe=(0,O.useRef)(void 0),ce;n[2]===Symbol.for(`react.memo_cache_sentinel`)?(ce={key:``,lastX:null,lastY:null,lastAt:0},n[2]=ce):ce=n[2];let le=(0,O.useRef)(ce),k=(0,O.useRef)(null),de=(0,O.useRef)(x.nodes),fe=(0,O.useRef)(!1),pe;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(pe={width:320,height:400},n[3]=pe):pe=n[3];let[me,he]=(0,O.useState)(pe),{resolvedTheme:ge}=c(),{folderPaths:_e,loading:ve,pages:ye}=re(),be,xe;n[4]!==r||n[5]!==g?(be=()=>{let e=!1,n=async function(){try{let n=new URLSearchParams;!g&&r&&(n.set(`docName`,r),n.set(`degrees`,`2`));let i=n.size>0?`/api/link-graph?${n.toString()}`:`/api/link-graph`,a=await fetch(i);if(!a.ok){if(e)return;ie(`Server error: ${a.status}`),ee(!1);return}let o=await a.json();if(e)return;if(!o.ok){ie(o.error??`Failed to load graph`),ee(!1);return}let s=o.nodes??[],c=o.links??[],l=Op(s),u=kp(c);(l!==T.current.nodes||u!==T.current.links)&&(T.current={nodes:l,links:u},C(e=>Ap(e,{nodes:s,links:c}))),ie(null),ee(!1)}catch(n){let r=n;if(e)return;ie(r instanceof Error?r.message:`Failed to load graph`),ee(!1)}};ee(!0),n();let i=()=>{document.visibilityState===`visible`&&n()};window.addEventListener(`focus`,i),window.addEventListener(`visibilitychange`,i);let a=ne(e=>{(e.includes(`files`)||e.includes(`graph`))&&n()});return()=>{e=!0,window.removeEventListener(`focus`,i),window.removeEventListener(`visibilitychange`,i),a()}},xe=[r,g],n[4]=r,n[5]=g,n[6]=be,n[7]=xe):(be=n[6],xe=n[7]),(0,O.useEffect)(be,xe);let Se,Ce;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(Se=()=>{let e=ae.current;if(!e)return;let n=new ResizeObserver(e=>{let[n]=e,{width:r,height:i}=n.contentRect;r>0&&i>0&&he({width:Math.floor(r),height:Math.floor(i)})});return n.observe(e),()=>n.disconnect()},Ce=[],n[8]=Se,n[9]=Ce):(Se=n[8],Ce=n[9]),(0,O.useEffect)(Se,Ce);let j=ge===`dark`,M=j?`hsl(0 0% 4%)`:`hsl(0 0% 100%)`,we=j?`#6b7280`:`#9ca3af`,Te=j?`#69a3ff`:`#3784ff`,Ee=j?`#34d399`:`#059669`,De=j?`#c084fc`:`#7c3aed`,N=j?`#f59e0b`:`#c2410c`,Oe=j?`#a78bfa`:`#7c3aed`,ke=j?`#f87171`:`#dc2626`,Ae=j?`rgba(75,85,99,0.6)`:`rgba(209,213,219,0.8)`,je=j?`#f3f4f6`:`#111827`,Me=j?`rgba(105,163,255,0.45)`:`rgba(55,132,255,0.3)`,Ne=j?`rgba(167,139,250,0.38)`:`rgba(124,58,237,0.22)`,Pe=j?`rgba(248,113,113,0.58)`:`rgba(220,38,38,0.38)`,Fe=j?`rgba(52,211,153,0.5)`:`rgba(5,150,105,0.3)`,Ie=j?`rgba(192,132,252,0.5)`:`rgba(124,58,237,0.35)`,Le=j?`rgba(3,7,18,0.92)`:`rgba(255,255,255,0.94)`,Re=j?`rgba(243,244,246,0.08)`:`rgba(17,24,39,0.08)`,P=g?1.6:2.35,ze=g?220:150,Be=g?10:18,Ve;n[10]!==x||n[11]!==_?(Ve=_?x:(()=>{let e=new Set(x.nodes.filter(lm).map(cm));return{nodes:x.nodes.filter(sm),links:x.links.filter(n=>{let r=Dp(n.source),i=Dp(n.target);return!e.has(r)&&!e.has(i)})}})(),n[10]=x,n[11]=_,n[12]=Ve):Ve=n[12];let F=Ve,He=F.nodes,Ue=F.links,We;n[13]===F.nodes?We=n[14]:(We=qf(F.nodes),n[13]=F.nodes,n[14]=We);let Ge=We,I=`${r}|${P}`,Ke;if(n[15]!==_e||n[16]!==x.nodes||n[17]!==ve||n[18]!==ye){let e;n[20]!==_e||n[21]!==ve||n[22]!==ye?(e=e=>{if(e.kind!==`doc`)return[];let n=ve?{displayState:`doc`,hashDocName:e.docName}:S(e.docName,{pages:ye,folderPaths:_e});return[[e.id,n]]},n[20]=_e,n[21]=ve,n[22]=ye,n[23]=e):e=n[23],Ke=new Map(x.nodes.flatMap(e)),n[15]=_e,n[16]=x.nodes,n[17]=ve,n[18]=ye,n[19]=Ke}else Ke=n[19];let L=Ke,qe;n[24]!==F.links||n[25]!==F.nodes||n[26]!==E||n[27]!==f?(qe=()=>{f?.(F.nodes.length,F.links.length,E)},n[24]=F.links,n[25]=F.nodes,n[26]=E,n[27]=f,n[28]=qe):qe=n[28];let Je;n[29]!==F||n[30]!==E||n[31]!==f?(Je=[F,E,f],n[29]=F,n[30]=E,n[31]=f,n[32]=Je):Je=n[32],(0,O.useEffect)(qe,Je);let Ye;n[33]!==x.nodes||n[34]!==p?(Ye=()=>{if(!p)return;let e=new Set;for(let n of x.nodes)n.kind===`doc`&&n.cluster&&e.add(n.cluster);p(Array.from(e).sort())},n[33]=x.nodes,n[34]=p,n[35]=Ye):Ye=n[35];let Xe;n[36]!==x||n[37]!==p?(Xe=[x,p],n[36]=x,n[37]=p,n[38]=Xe):Xe=n[38],(0,O.useEffect)(Ye,Xe);let Ze,Qe;n[39]===x.nodes?(Ze=n[40],Qe=n[41]):(Ze=()=>{de.current=x.nodes},Qe=[x.nodes],n[39]=x.nodes,n[40]=Ze,n[41]=Qe),(0,O.useEffect)(Ze,Qe);let $e,et;n[42]!==r||n[43]!==I||n[44]!==P?($e=()=>{le.current={key:I,lastX:null,lastY:null,lastAt:0};let e=window.requestAnimationFrame(()=>{le.current=Jp({fg:oe.current,nodes:de.current,activeDocName:r,zoom:P,focusKey:I,focusState:le.current,force:!0})});return()=>window.cancelAnimationFrame(e)},et=[I,r,P],n[42]=r,n[43]=I,n[44]=P,n[45]=$e,n[46]=et):($e=n[45],et=n[46]),(0,O.useEffect)($e,et);let tt,nt;n[47]!==r||n[48]!==F.links||n[49]!==F.nodes||n[50]!==y||n[51]!==L||n[52]!==d||n[53]!==u||n[54]!==m?(tt=()=>{},nt=[r,y,F.links,F.nodes,L,d,u,m],n[47]=r,n[48]=F.links,n[49]=F.nodes,n[50]=y,n[51]=L,n[52]=d,n[53]=u,n[54]=m,n[55]=tt,n[56]=nt):(tt=n[55],nt=n[56]),(0,O.useEffect)(tt,nt);let rt;n[57]===v?rt=n[58]:(rt=h(`h-full min-h-0 overflow-hidden`,v),n[57]=v,n[58]=rt);let it;n[59]===Symbol.for(`react.memo_cache_sentinel`)?(it=()=>{k.current=null},n[59]=it):it=n[59];let at;n[60]!==r||n[61]!==F.links||n[62]!==F.nodes||n[63]!==L||n[64]!==m?(at=e=>{if(!e.isPrimary||e.button!==0){k.current=null;return}k.current={pointerId:e.pointerId,clientX:e.clientX,clientY:e.clientY,target:(()=>{let n=ae.current,i=oe.current;if(!n||!i)return{kind:`background`};let a=Zp({clientX:e.clientX,clientY:e.clientY,container:n}),o=Qp({point:a,fg:i,nodes:F.nodes,activeDocName:r,selectedNodeId:m,navigationIntentByNodeId:L});return o?{kind:`node`,node:o}:tm({point:a,fg:i,links:F.links})?{kind:`link`}:{kind:`background`}})()}},n[60]=r,n[61]=F.links,n[62]=F.nodes,n[63]=L,n[64]=m,n[65]=at):at=n[65];let ot;n[66]!==y||n[67]!==d||n[68]!==u||n[69]!==m?(ot=e=>{if(!e.isPrimary||e.button!==0){k.current=null;return}let n=k.current;k.current=null,!(!n||n.pointerId!==e.pointerId)&&(Math.hypot(e.clientX-n.clientX,e.clientY-n.clientY)>Up||rm({target:n.target,docClickBehavior:y,selectedNodeId:m,onSelectNode:u,onBackgroundClick:d}))},n[66]=y,n[67]=d,n[68]=u,n[69]=m,n[70]=ot):ot=n[70];let st;n[71]!==r||n[72]!==Te||n[73]!==Me||n[74]!==De||n[75]!==Ie||n[76]!==M||n[77]!==we||n[78]!==me||n[79]!==F||n[80]!==Ae||n[81]!==te||n[82]!==N||n[83]!==I||n[84]!==P||n[85]!==Oe||n[86]!==Ne||n[87]!==x.nodes||n[88]!==j||n[89]!==Re||n[90]!==Le||n[91]!==je||n[92]!==Ge||n[93]!==Ue||n[94]!==He||n[95]!==E||n[96]!==ze||n[97]!==Be||n[98]!==ke||n[99]!==Pe||n[100]!==L||n[101]!==Ee||n[102]!==m||n[103]!==Fe?(st=te?(0,A.jsx)(`p`,{className:`p-4 text-sm text-destructive`,children:te}):F.nodes.length===0&&!E?(0,A.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No links yet. Add wiki links or markdown links to build a graph.`}):(0,A.jsx)(`div`,{className:`h-full min-h-0`,role:`img`,"aria-label":`Graph visualization of document links`,children:(0,A.jsx)(Gf,{ref:oe,graphData:F,cooldownTicks:150,onEngineTick:()=>{fe.current=!1,le.current=Jp({fg:oe.current,nodes:x.nodes,activeDocName:r,zoom:P,focusKey:I,focusState:le.current})},onEngineStop:()=>{fe.current=!0;let e=Kp({nodes:x.nodes,activeDocName:r});qp({fg:oe.current,coords:e,dimensions:me})&&(le.current=Jp({fg:oe.current,nodes:x.nodes,activeDocName:r,zoom:P,focusKey:I,focusState:le.current,force:!0}))},width:me.width,height:me.height,backgroundColor:M,nodeId:`id`,nodeLabel:e=>jp(e,{displayState:Wp({node:e,navigationIntentByNodeId:L})}),nodeRelSize:4,nodeVal:e=>{let n=Pp(e,{activeDocName:r,selectedNodeId:m});return n===`active-selected`?20:n===`active`?18:n===`selected`||n===`external-selected`?12:6},nodeCanvasObjectMode:om,nodeCanvasObject:(e,n,i)=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return;let a=Pp(e,{activeDocName:r,selectedNodeId:m}),o=Wp({node:e,navigationIntentByNodeId:L}),s=o===`folder`,c=o===`missing`,l=Fp(a),u=Gp({state:a,displayState:o,globalScale:i}),d=e.kind===`doc`?e.cluster:void 0,f=d?ue(d,j):we;n.beginPath(),n.arc(e.x,e.y,l,0,2*Math.PI,!1),n.fillStyle=a===`active`?Te:a===`active-selected`?De:a===`external`||a===`external-selected`?N:c?ke:a===`selected`?Ee:s?Oe:f,n.fill(),u>l?(n.beginPath(),n.arc(e.x,e.y,u,0,2*Math.PI,!1),n.strokeStyle=c?Pe:a===`active`?Me:a===`selected`||a===`external-selected`?Fe:Ie,n.lineWidth=c?1.75/i:2/i,n.setLineDash(c?[3/i,2/i]:[]),n.stroke(),n.setLineDash([])):s&&(n.beginPath(),n.arc(e.x,e.y,l+2/i,0,2*Math.PI,!1),n.strokeStyle=Ne,n.lineWidth=1.5/i,n.stroke())},nodePointerAreaPaint:(e,n,i,a)=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return;let o=Pp(e,{activeDocName:r,selectedNodeId:m}),s=Wp({node:e,navigationIntentByNodeId:L});i.beginPath(),i.arc(e.x,e.y,Gp({state:o,displayState:s,globalScale:a}),0,2*Math.PI,!1),i.fillStyle=n,i.fill()},onRenderFramePost:(e,n)=>{if(n<1.8)return;let i=oe.current;if(!i)return;e.save();let a=window.devicePixelRatio||1;e.setTransform(a,0,0,a,0,0),e.font=`10px system-ui, sans-serif`,Yp({ctx:e,placements:fp({nodes:He,links:Ue,activeDocName:r,viewport:me,maxLabels:Be,maxLabelWidthPx:ze,labelDescriptors:Ge,measureTextWidthPx:n=>e.measureText(n).width,projectToScreen:(e,n)=>i.graph2ScreenCoords(e,n),getNodeRadiusPx:e=>Gp({state:Pp(e,{activeDocName:r,selectedNodeId:m}),displayState:Wp({node:e,navigationIntentByNodeId:L}),globalScale:n})*n+4}),labelColor:je,chipColor:Le,chipBorderColor:Re}),e.restore()},linkColor:()=>Ae,linkDirectionalArrowLength:3,linkDirectionalArrowRelPos:1,linkWidth:1,showPointerCursor:am,onNodeClick:e=>{if(e.kind===`external`){window.open(e.url,`_blank`,`noopener,noreferrer`);return}if(e.docName){let n=L.get(e.id);window.location.assign(D(n?.hashDocName??e.docName,e.anchor??null))}}})}),n[71]=r,n[72]=Te,n[73]=Me,n[74]=De,n[75]=Ie,n[76]=M,n[77]=we,n[78]=me,n[79]=F,n[80]=Ae,n[81]=te,n[82]=N,n[83]=I,n[84]=P,n[85]=Oe,n[86]=Ne,n[87]=x.nodes,n[88]=j,n[89]=Re,n[90]=Le,n[91]=je,n[92]=Ge,n[93]=Ue,n[94]=He,n[95]=E,n[96]=ze,n[97]=Be,n[98]=ke,n[99]=Pe,n[100]=L,n[101]=Ee,n[102]=m,n[103]=Fe,n[104]=st):st=n[104];let ct;return n[105]!==rt||n[106]!==at||n[107]!==ot||n[108]!==st?(ct=(0,A.jsx)(`div`,{ref:ae,className:rt,onPointerCancel:it,onPointerDownCapture:at,onPointerUpCapture:ot,children:st}),n[105]=rt,n[106]=at,n[107]=ot,n[108]=st,n[109]=ct):ct=n[109],ct}function am(e){return!!(e&&`kind`in e)}function om(){return`replace`}function sm(e){return e.kind!==`external`}function cm(e){return e.id}function lm(e){return e.kind===`external`}var um=50,dm=`ok-graph-docked-url-nodes-v1`,fm=`ok-graph-fullscreen-url-nodes-v1`;function pm(e){if(typeof window>`u`)return!1;try{return window.localStorage.getItem(e)===`true`}catch{return!1}}function mm(e,n){if(!(typeof window>`u`))try{n?window.localStorage.setItem(e,`true`):window.localStorage.removeItem(e)}catch{}}var hm={explore:`Explore`,orphans:`Orphans`,hubs:`Hubs`},gm={incoming:`No Incoming`,outgoing:`No Outgoing`,both:`Both`};async function _m(e){let n=await fetch(`/api/orphans?mode=${encodeURIComponent(e)}`);if(!n.ok)throw Error(`Server error: ${n.status} ${n.statusText}`);let r=await n.json();if(!r.ok)throw Error(r.error??`Failed to load orphan pages`);return r.orphans??[]}async function vm(e){let n=await fetch(`/api/hubs?limit=${encodeURIComponent(String(e))}`);if(!n.ok)throw Error(`Server error: ${n.status} ${n.statusText}`);let r=await n.json();if(!r.ok)throw Error(r.error??`Failed to load hub pages`);return r.hubs??[]}function ym(e){window.location.assign(D(e))}function bm(e){return e===`incoming`?`Project-level pages with no incoming graph edges.`:e===`outgoing`?`Project-level pages with no outgoing graph edges.`:`Project-level pages with neither incoming nor outgoing graph edges.`}function xm(e){return e===`incoming`?`No pages are missing incoming graph links.`:e===`outgoing`?`No pages are missing outgoing graph links.`:`No disconnected pages. Pages appear here only when they have no incoming and no outgoing graph edges.`}function Sm(e){let n=(0,se.c)(29),{mode:r,onModeChange:i}=e,a;n[0]===r?a=n[1]:(a={queryKey:[`orphans`,r],queryFn:()=>_m(r)},n[0]=r,n[1]=a);let{data:c,isLoading:u,error:d}=m(a),f;n[2]===c?f=n[3]:(f=c===void 0?[]:c,n[2]=c,n[3]=f);let p=f,h;n[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,A.jsx)(`p`,{className:`text-sm font-medium`,children:`Project-level disconnected pages`}),n[4]=h):h=n[4];let g;n[5]===r?g=n[6]:(g=bm(r),n[5]=r,n[6]=g);let _;n[7]===g?_=n[8]:(_=(0,A.jsxs)(`div`,{className:`space-y-1`,children:[h,(0,A.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:g})]}),n[7]=g,n[8]=_);let v;n[9]===i?v=n[10]:(v=e=>{e&&te(e)&&i(e)},n[9]=i,n[10]=v);let y;n[11]===Symbol.for(`react.memo_cache_sentinel`)?(y=ie.map(wm),n[11]=y):y=n[11];let b;n[12]!==r||n[13]!==v?(b=(0,A.jsx)(C,{type:`single`,size:`sm`,variant:`outline`,value:r,"aria-label":`Orphan mode`,onValueChange:v,children:y}),n[12]=r,n[13]=v,n[14]=b):b=n[14];let x;n[15]!==_||n[16]!==b?(x=(0,A.jsx)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:(0,A.jsxs)(`div`,{className:`flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between`,children:[_,b]})}),n[15]=_,n[16]=b,n[17]=x):x=n[17];let S;n[18]!==d||n[19]!==u||n[20]!==r||n[21]!==p?(S=d?(0,A.jsx)(o,{children:d instanceof Error?d.message:`Failed to load orphan pages`}):p.length===0&&!u?(0,A.jsx)(s,{children:xm(r)}):(0,A.jsx)(`div`,{className:`flex flex-col gap-2`,children:p.map(Cm)}),n[18]=d,n[19]=u,n[20]=r,n[21]=p,n[22]=S):S=n[22];let w;n[23]!==u||n[24]!==S?(w=(0,A.jsx)(l,{"aria-busy":u,children:S}),n[23]=u,n[24]=S,n[25]=w):w=n[25];let T;return n[26]!==x||n[27]!==w?(T=(0,A.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[x,w]}),n[26]=x,n[27]=w,n[28]=T):T=n[28],T}function Cm(e){return(0,A.jsxs)(`button`,{type:`button`,className:`block w-full rounded-lg border border-border bg-background/80 px-3 py-2 text-left transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:()=>ym(e.docName),children:[(0,A.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.title}),(0,A.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.docName})]},e.docName)}function wm(e){return(0,A.jsx)(x,{value:e,children:gm[e]},e)}function Tm(){let e=(0,se.c)(11),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:[`hubs`,um],queryFn:Dm},e[0]=n):n=e[0];let{data:r,isLoading:i,error:a}=m(n),c;e[1]===r?c=e[2]:(c=r===void 0?[]:r,e[1]=r,e[2]=c);let u=c,d;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,A.jsx)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:(0,A.jsxs)(`div`,{className:`space-y-1`,children:[(0,A.jsx)(`p`,{className:`text-sm font-medium`,children:`Top linked pages`}),(0,A.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Project-level pages ordered by inbound link count, up to `,um,` results.`]})]})}),e[3]=d):d=e[3];let f;e[4]!==a||e[5]!==u||e[6]!==i?(f=a?(0,A.jsx)(o,{children:a instanceof Error?a.message:`Failed to load hub pages`}):u.length===0&&!i?(0,A.jsx)(s,{children:`No hub pages yet. Hubs appear once pages accumulate inbound graph links.`}):(0,A.jsx)(`div`,{className:`flex flex-col gap-2`,children:u.map(Em)}),e[4]=a,e[5]=u,e[6]=i,e[7]=f):f=e[7];let p;return e[8]!==i||e[9]!==f?(p=(0,A.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[d,(0,A.jsx)(l,{"aria-busy":i,children:f})]}),e[8]=i,e[9]=f,e[10]=p):p=e[10],p}function Em(e){return(0,A.jsx)(`button`,{type:`button`,className:`block w-full rounded-lg border border-border bg-background/80 px-3 py-2 text-left transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:()=>ym(e.docName),children:(0,A.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,A.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,A.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.title}),(0,A.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.docName})]}),(0,A.jsx)(`span`,{className:`rounded-md bg-muted px-2 py-1 text-xs font-mono text-muted-foreground`,children:e.count})]})},e.docName)}function Dm(){return vm(um)}function Om(e){let n=(0,se.c)(93),{activeDocName:r}=e,{folderPaths:i,loading:a,pages:o}=re(),[s,c]=(0,O.useState)(!1),[l,m]=(0,O.useState)(`explore`),[h,_]=(0,O.useState)(`both`),[x,te]=(0,O.useState)(null),[D,ne]=(0,O.useState)(null),ie;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(ie=[],n[0]=ie):ie=n[0];let[ce,le]=(0,O.useState)(ie),[k,ue]=(0,O.useState)(Nm),[de,fe]=(0,O.useState)(Mm),me,he;n[1]===k?(me=n[2],he=n[3]):(me=()=>{mm(dm,k)},he=[k],n[1]=k,n[2]=me,n[3]=he),(0,O.useEffect)(me,he);let ge,_e;n[4]===de?(ge=n[5],_e=n[6]):(ge=()=>{mm(fm,de)},_e=[de],n[4]=de,n[5]=ge,n[6]=_e),(0,O.useEffect)(ge,_e);let ve,ye;n[7]===s?(ve=n[8],ye=n[9]):(ve=()=>{if(!s)return;let e=e=>{e.key===`Escape`&&c(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},ye=[s],n[7]=s,n[8]=ve,n[9]=ye),(0,O.useEffect)(ve,ye);let be,xe;n[10]!==s||n[11]!==x?(be=()=>{!s&&x!==null&&te(null)},xe=[s,x],n[10]=s,n[11]=x,n[12]=be,n[13]=xe):(be=n[12],xe=n[13]),(0,O.useEffect)(be,xe);let Se,Ce;n[14]!==l||n[15]!==x?(Se=()=>{l!==`explore`&&x!==null&&te(null)},Ce=[l,x],n[14]=l,n[15]=x,n[16]=Se,n[17]=Ce):(Se=n[16],Ce=n[17]),(0,O.useEffect)(Se,Ce);let j=s?l:`explore`,M=s?de:k,we=s?fe:ue,Te;n[18]!==i||n[19]!==a||n[20]!==o||n[21]!==x?(Te=x?.kind===`doc`&&!a?S(x.docName,{pages:o,folderPaths:i}).displayState:`doc`,n[18]=i,n[19]=a,n[20]=o,n[21]=x,n[22]=Te):Te=n[22];let Ee=Te,De;n[23]!==r||n[24]!==Ee||n[25]!==x?(De=x===null?null:x.kind===`doc`&&Ee===`missing`?{eyebrow:`Broken link`,description:`This page doesn't exist yet. Open it to create the page in the editor and collapse the graph.`,Icon:b,actionLabel:`Create page`,secondaryLabel:x.docName,onAction:()=>{let e=Lp(x);c(!1),window.location.assign(e)}}:x.kind===`doc`&&x.docName===r?{eyebrow:`Already open`,description:`This document is already active in the editor. Use Open to collapse the graph.`,Icon:v,actionLabel:`Open`,secondaryLabel:x.docName,onAction:()=>{let e=Lp(x);c(!1),window.location.assign(e)}}:x.kind===`doc`?{eyebrow:`Selected in graph`,description:`Open this document in the editor and collapse the graph.`,Icon:y,actionLabel:`Open`,secondaryLabel:x.docName,onAction:()=>{let e=Lp(x);c(!1),window.location.assign(e)}}:{eyebrow:`Selected in graph`,description:`Open this link in a new tab and collapse the graph.`,Icon:y,actionLabel:`Open link`,secondaryLabel:x.url,onAction:()=>{window.open(x.url,`_blank`,`noopener,noreferrer`),c(!1)}},n[23]=r,n[24]=Ee,n[25]=x,n[26]=De):De=n[26];let N=De,Oe=s?`fixed inset-0 z-50 bg-background overflow-hidden`:void 0,ke;n[27]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,A.jsx)(f,{children:`Graph`}),n[27]=ke):ke=n[27];let Ae;n[28]!==j||n[29]!==D?(Ae=j===`explore`&&D?(0,A.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,A.jsxs)(d,{children:[D.nodes,` nodes`]}),(0,A.jsxs)(d,{children:[D.links,` links`]})]}):null,n[28]=j,n[29]=D,n[30]=Ae):Ae=n[30];let je;n[31]===Ae?je=n[32]:(je=(0,A.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[ke,Ae]}),n[31]=Ae,n[32]=je);let Me;n[33]!==l||n[34]!==s?(Me=s?(0,A.jsx)(C,{type:`single`,size:`sm`,variant:`outline`,value:l,"aria-label":`Expanded graph mode`,onValueChange:e=>{(e===`explore`||e===`orphans`||e===`hubs`)&&m(e)},children:Object.entries(hm).map(jm)}):null,n[33]=l,n[34]=s,n[35]=Me):Me=n[35];let Ne=M?`Hide external URL nodes`:`Show external URL nodes`,Pe;n[36]===we?Pe=n[37]:(Pe=()=>we(Am),n[36]=we,n[37]=Pe);let Fe=M?`size-4 text-sidebar-accent-foreground`:`size-4 text-muted-foreground`,Ie;n[38]===Fe?Ie=n[39]:(Ie=(0,A.jsx)(w,{className:Fe}),n[38]=Fe,n[39]=Ie);let Le;n[40]!==M||n[41]!==Ne||n[42]!==Pe||n[43]!==Ie?(Le=(0,A.jsx)(T,{asChild:!0,children:(0,A.jsx)(g,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-foreground hover:bg-accent`,"aria-label":Ne,"aria-pressed":M,onClick:Pe,children:Ie})}),n[40]=M,n[41]=Ne,n[42]=Pe,n[43]=Ie,n[44]=Le):Le=n[44];let Re=s?`z-[9999]`:void 0,P=M?`Hide external URL nodes`:`Show external URL nodes`,ze;n[45]!==Re||n[46]!==P?(ze=(0,A.jsx)(E,{side:`bottom`,sideOffset:8,className:Re,children:P}),n[45]=Re,n[46]=P,n[47]=ze):ze=n[47];let Be;n[48]!==Le||n[49]!==ze?(Be=(0,A.jsxs)(ee,{delayDuration:0,children:[Le,ze]}),n[48]=Le,n[49]=ze,n[50]=Be):Be=n[50];let Ve=s?`Collapse graph`:`Expand graph`,F;n[51]===Symbol.for(`react.memo_cache_sentinel`)?(F=()=>c(km),n[51]=F):F=n[51];let He;n[52]===s?He=n[53]:(He=s?(0,A.jsx)(oe,{className:`size-4`}):(0,A.jsx)(ae,{className:`size-4`}),n[52]=s,n[53]=He);let Ue;n[54]!==Ve||n[55]!==He?(Ue=(0,A.jsx)(T,{asChild:!0,children:(0,A.jsx)(g,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-foreground hover:bg-accent`,"aria-label":Ve,onClick:F,children:He})}),n[54]=Ve,n[55]=He,n[56]=Ue):Ue=n[56];let We=s?`z-[9999]`:void 0,Ge=s?`Collapse`:`Expand graph`,I;n[57]!==We||n[58]!==Ge?(I=(0,A.jsx)(E,{side:`bottom`,sideOffset:8,className:We,children:Ge}),n[57]=We,n[58]=Ge,n[59]=I):I=n[59];let Ke;n[60]!==Ue||n[61]!==I?(Ke=(0,A.jsxs)(ee,{delayDuration:0,children:[Ue,I]}),n[60]=Ue,n[61]=I,n[62]=Ke):Ke=n[62];let L;n[63]!==Be||n[64]!==Ke?(L=(0,A.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[Be,Ke]}),n[63]=Be,n[64]=Ke,n[65]=L):L=n[65];let qe;n[66]!==Me||n[67]!==L?(qe=(0,A.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[Me,L]}),n[66]=Me,n[67]=L,n[68]=qe):qe=n[68];let Je;n[69]!==je||n[70]!==qe?(Je=(0,A.jsxs)(u,{className:`flex-wrap gap-3`,children:[je,qe]}),n[69]=je,n[70]=qe,n[71]=Je):Je=n[71];let Ye;n[72]!==r||n[73]!==j||n[74]!==ce||n[75]!==s||n[76]!==x||n[77]!==N||n[78]!==M?(Ye=j===`explore`?(0,A.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,A.jsx)(im,{activeDocName:r,selectedNodeId:s?x?.id??null:null,isExpanded:s,showUrlNodes:M,className:`h-full min-h-0`,docClickBehavior:s?`select`:`navigate`,onSelectNode:s?te:void 0,onBackgroundClick:s?()=>{x!==null&&te(null)}:void 0,onStatsChange:(e,n,r)=>{if(r){ne(null);return}ne({nodes:e,links:n})},onClustersChange:le}),(0,A.jsx)(pe,{clusters:ce,variant:s?`fullscreen`:`docked`}),s&&j===`explore`&&x!==null&&N?(0,A.jsx)(`div`,{className:`pointer-events-none absolute inset-x-4 top-4 z-10 flex justify-center`,children:(0,A.jsxs)(`div`,{role:`status`,"aria-label":`Selected graph item`,className:`pointer-events-auto flex w-full max-w-2xl items-center gap-3 rounded-xl border border-border/70 bg-background/95 px-4 py-3 text-sm shadow-lg backdrop-blur supports-[backdrop-filter]:bg-background/85`,children:[(0,A.jsx)(N.Icon,{className:`size-4 shrink-0 text-primary`}),(0,A.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,A.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:N.eyebrow}),(0,A.jsx)(`div`,{className:`truncate font-medium text-foreground`,children:x.label}),(0,A.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:N.secondaryLabel}),(0,A.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:N.description})]}),(0,A.jsx)(g,{size:`sm`,className:`shrink-0`,onClick:N.onAction,children:N.actionLabel})]})}):null]}):null,n[72]=r,n[73]=j,n[74]=ce,n[75]=s,n[76]=x,n[77]=N,n[78]=M,n[79]=Ye):Ye=n[79];let Xe;n[80]!==j||n[81]!==s||n[82]!==h?(Xe=s&&j===`orphans`?(0,A.jsx)(Sm,{mode:h,onModeChange:_}):null,n[80]=j,n[81]=s,n[82]=h,n[83]=Xe):Xe=n[83];let Ze;n[84]!==j||n[85]!==s?(Ze=s&&j===`hubs`?(0,A.jsx)(Tm,{}):null,n[84]=j,n[85]=s,n[86]=Ze):Ze=n[86];let Qe;return n[87]!==Oe||n[88]!==Je||n[89]!==Ye||n[90]!==Xe||n[91]!==Ze?(Qe=(0,A.jsxs)(p,{className:Oe,children:[Je,Ye,Xe,Ze]}),n[87]=Oe,n[88]=Je,n[89]=Ye,n[90]=Xe,n[91]=Ze,n[92]=Qe):Qe=n[92],Qe}function km(e){return!e}function Am(e){return!e}function jm(e){let[n,r]=e;return(0,A.jsx)(x,{value:n,children:r},n)}function Mm(){return pm(fm)}function Nm(){return pm(dm)}export{Om as GraphPanel};
46
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mf(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,i)}return r}function hf(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]==null?{}:arguments[n];n%2?mf(Object(r),!0).forEach(function(n){cf(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function gf(e,n){return af(e)||df(e,n)||bf(e,n)||ff()}function Z(e){return of(e)||uf(e)||bf(e)||pf()}function _f(e,n){if(typeof e!=`object`||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n);if(typeof i!=`object`)return i;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(n===`string`?String:Number)(e)}function vf(e){var n=_f(e,`string`);return typeof n==`symbol`?n:n+``}function yf(e){"@babel/helpers - typeof";return yf=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},yf(e)}function bf(e,n){if(e){if(typeof e==`string`)return rf(e,n);var r={}.toString.call(e).slice(8,-1);return r===`Object`&&e.constructor&&(r=e.constructor.name),r===`Map`||r===`Set`?Array.from(e):r===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?rf(e,n):void 0}}var xf=$d(tf);function Sf(e,n,r){!n||typeof r!=`string`||e.filter(function(e){return!e[r]}).forEach(function(e){e[r]=xf(n(e))})}function Cf(e,n){var r=e.nodes,i=e.links,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=a.nodeFilter,s=o===void 0?function(){return!0}:o,c=a.onLoopError,l=c===void 0?function(e){throw`Invalid DAG structure! Found cycle in node path: ${e.join(` -> `)}.`}:c,u={};r.forEach(function(e){return u[n(e)]={data:e,out:[],depth:-1,skip:!s(e)}}),i.forEach(function(e){var r=e.source,i=e.target,a=l(r),o=l(i);if(!u.hasOwnProperty(a))throw`Missing source node with id: ${a}`;if(!u.hasOwnProperty(o))throw`Missing target node with id: ${o}`;var s=u[a],c=u[o];s.out.push(c);function l(e){return yf(e)===`object`?n(e):e}});var d=[];return f(Object.values(u)),Object.assign.apply(Object,[{}].concat(Z(Object.entries(u).filter(function(e){return!gf(e,2)[1].skip}).map(function(e){var n=gf(e,2),r=n[0],i=n[1];return cf({},r,i.depth)}))));function f(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=function(){var a=e[o];if(r.indexOf(a)!==-1){var s=[].concat(Z(r.slice(r.indexOf(a))),[a]).map(function(e){return n(e.data)});return d.some(function(e){return e.length===s.length&&e.every(function(e,n){return e===s[n]})})||(d.push(s),l(s)),1}i>a.depth&&(a.depth=i,f(a.out,[].concat(Z(r),[a]),i+ +!a.skip))},o=0,s=e.length;o<s;o++)if(a())continue}}var wf=2,Q=function(e,n){return n.onNeedsRedraw&&n.onNeedsRedraw()},Tf=function(e,n){if(!n.isShadow){var r=B(n.linkDirectionalParticles);n.graphData.links.forEach(function(e){var n=Math.round(Math.abs(r(e)));n?e.__photons=Z(Array(n)).map(function(){return{}}):delete e.__photons})}},Ef=_s({props:{graphData:{default:{nodes:[],links:[]},onChange:function(e,n){n.engineRunning=!1,Tf(e,n)}},dagMode:{onChange:function(e,n){!e&&(n.graphData.nodes||[]).forEach(function(e){e.fx=e.fy=void 0})}},dagLevelDistance:{},dagNodeFilter:{default:function(e){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4,triggerUpdate:!1,onChange:Q},nodeId:{default:`id`},nodeVal:{default:`val`,triggerUpdate:!1,onChange:Q},nodeColor:{default:`color`,triggerUpdate:!1,onChange:Q},nodeAutoColorBy:{},nodeCanvasObject:{triggerUpdate:!1,onChange:Q},nodeCanvasObjectMode:{default:function(){return`replace`},triggerUpdate:!1,onChange:Q},nodeVisibility:{default:!0,triggerUpdate:!1,onChange:Q},linkSource:{default:`source`},linkTarget:{default:`target`},linkVisibility:{default:!0,triggerUpdate:!1,onChange:Q},linkColor:{default:`color`,triggerUpdate:!1,onChange:Q},linkAutoColorBy:{},linkLineDash:{triggerUpdate:!1,onChange:Q},linkWidth:{default:1,triggerUpdate:!1,onChange:Q},linkCurvature:{default:0,triggerUpdate:!1,onChange:Q},linkCanvasObject:{triggerUpdate:!1,onChange:Q},linkCanvasObjectMode:{default:function(){return`replace`},triggerUpdate:!1,onChange:Q},linkDirectionalArrowLength:{default:0,triggerUpdate:!1,onChange:Q},linkDirectionalArrowColor:{triggerUpdate:!1,onChange:Q},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1,onChange:Q},linkDirectionalParticles:{default:0,triggerUpdate:!1,onChange:Tf},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleOffset:{default:0,triggerUpdate:!1},linkDirectionalParticleWidth:{default:4,triggerUpdate:!1},linkDirectionalParticleColor:{triggerUpdate:!1},linkDirectionalParticleCanvasObject:{triggerUpdate:!1},globalScale:{default:1,triggerUpdate:!1},d3AlphaMin:{default:0,triggerUpdate:!1},d3AlphaDecay:{default:.0228,triggerUpdate:!1,onChange:function(e,n){n.forceLayout.alphaDecay(e)}},d3AlphaTarget:{default:0,triggerUpdate:!1,onChange:function(e,n){n.forceLayout.alphaTarget(e)}},d3VelocityDecay:{default:.4,triggerUpdate:!1,onChange:function(e,n){n.forceLayout.velocityDecay(e)}},warmupTicks:{default:0,triggerUpdate:!1},cooldownTicks:{default:1/0,triggerUpdate:!1},cooldownTime:{default:15e3,triggerUpdate:!1},onUpdate:{default:function(){},triggerUpdate:!1},onFinishUpdate:{default:function(){},triggerUpdate:!1},onEngineTick:{default:function(){},triggerUpdate:!1},onEngineStop:{default:function(){},triggerUpdate:!1},onNeedsRedraw:{triggerUpdate:!1},isShadow:{default:!1,triggerUpdate:!1}},methods:{d3Force:function(e,n,r){return r===void 0?e.forceLayout.force(n):(e.forceLayout.force(n,r),this)},d3ReheatSimulation:function(e){return e.forceLayout.alpha(1),this.resetCountdown(),this},resetCountdown:function(e){return e.cntTicks=0,e.startTickTime=new Date,e.engineRunning=!0,this},isEngineRunning:function(e){return!!e.engineRunning},tickFrame:function(e){return!e.isShadow&&n(),i(),!e.isShadow&&a(),!e.isShadow&&o(),r(),this;function n(){e.engineRunning&&(++e.cntTicks>e.cooldownTicks||new Date-e.startTickTime>e.cooldownTime||e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin?(e.engineRunning=!1,e.onEngineStop()):(e.forceLayout.tick(),e.onEngineTick()))}function r(){var n=B(e.nodeVisibility),r=B(e.nodeVal),i=B(e.nodeColor),a=B(e.nodeCanvasObjectMode),o=e.ctx,s=e.isShadow/e.globalScale,c=e.graphData.nodes.filter(n);o.save(),c.forEach(function(n){var c=a(n);if(e.nodeCanvasObject&&(c===`before`||c===`replace`)&&(e.nodeCanvasObject(n,o,e.globalScale),c===`replace`)){o.restore();return}var l=Math.sqrt(Math.max(0,r(n)||1))*e.nodeRelSize+s;o.beginPath(),o.arc(n.x,n.y,l,0,2*Math.PI,!1),o.fillStyle=i(n)||`rgba(31, 120, 180, 0.92)`,o.fill(),e.nodeCanvasObject&&c===`after`&&e.nodeCanvasObject(n,e.ctx,e.globalScale)}),o.restore()}function i(){var n=B(e.linkVisibility),r=B(e.linkColor),i=B(e.linkWidth),a=B(e.linkLineDash),o=B(e.linkCurvature),s=B(e.linkCanvasObjectMode),c=e.ctx,l=e.isShadow*2,u=e.graphData.links.filter(n);u.forEach(_);var d=[],f=[],p=u;if(e.linkCanvasObject){var m=[],h=[];u.forEach(function(e){return({before:d,after:f,replace:m}[s(e)]||h).push(e)}),p=[].concat(Z(d),f,h),d=d.concat(m)}c.save(),d.forEach(function(n){return e.linkCanvasObject(n,c,e.globalScale)}),c.restore();var g=Xd(p,[r,i,a]);c.save(),Object.entries(g).forEach(function(n){var r=gf(n,2),i=r[0],o=r[1],s=!i||i===`undefined`?`rgba(0,0,0,0.15)`:i;Object.entries(o).forEach(function(n){var r=gf(n,2),i=r[0],o=r[1],u=(i||1)/e.globalScale+l;Object.entries(o).forEach(function(e){var n=gf(e,2);n[0];var r=n[1],i=a(r[0]);c.beginPath(),r.forEach(function(e){var n=e.source,r=e.target;if(!(!n||!r||!n.hasOwnProperty(`x`)||!r.hasOwnProperty(`x`))){c.moveTo(n.x,n.y);var i=e.__controlPoints;i?c[i.length===2?`quadraticCurveTo`:`bezierCurveTo`].apply(c,Z(i).concat([r.x,r.y])):c.lineTo(r.x,r.y)}}),c.strokeStyle=s,c.lineWidth=u,c.setLineDash(i||[]),c.stroke()})})}),c.restore(),c.save(),f.forEach(function(n){return e.linkCanvasObject(n,c,e.globalScale)}),c.restore();function _(e){var n=o(e);if(!n){e.__controlPoints=null;return}var r=e.source,i=e.target;if(!(!r||!i||!r.hasOwnProperty(`x`)||!i.hasOwnProperty(`x`))){var a=Math.sqrt((i.x-r.x)**2+(i.y-r.y)**2);if(a>0){var s=Math.atan2(i.y-r.y,i.x-r.x),c=a*n,l={x:(r.x+i.x)/2+c*Math.cos(s-Math.PI/2),y:(r.y+i.y)/2+c*Math.sin(s-Math.PI/2)};e.__controlPoints=[l.x,l.y]}else{var u=n*70;e.__controlPoints=[i.x,i.y-u,i.x+u,i.y]}}}}function a(){var n=1.6,r=.2,i=B(e.linkDirectionalArrowLength),a=B(e.linkDirectionalArrowRelPos),o=B(e.linkVisibility),s=B(e.linkDirectionalArrowColor||e.linkColor),c=B(e.nodeVal),l=e.ctx;l.save(),e.graphData.links.filter(o).forEach(function(o){var u=i(o);if(!(!u||u<0)){var d=o.source,f=o.target;if(!(!d||!f||!d.hasOwnProperty(`x`)||!f.hasOwnProperty(`x`))){var p=Math.sqrt(Math.max(0,c(d)||1))*e.nodeRelSize,m=Math.sqrt(Math.max(0,c(f)||1))*e.nodeRelSize,h=Math.min(1,Math.max(0,a(o))),g=s(o)||`rgba(0,0,0,0.28)`,_=u/n/2,v=o.__controlPoints&&sf(Fd,[d.x,d.y].concat(Z(o.__controlPoints),[f.x,f.y])),y=v?function(e){return v.get(e)}:function(e){return{x:d.x+(f.x-d.x)*e||0,y:d.y+(f.y-d.y)*e||0}},b=v?v.length():Math.sqrt((f.x-d.x)**2+(f.y-d.y)**2),x=p+u+(b-p-m-u)*h,S=y(x/b),C=y((x-u)/b),w=y((x-u*(1-r))/b),T=Math.atan2(S.y-C.y,S.x-C.x)-Math.PI/2;l.beginPath(),l.moveTo(S.x,S.y),l.lineTo(C.x+_*Math.cos(T),C.y+_*Math.sin(T)),l.lineTo(w.x,w.y),l.lineTo(C.x-_*Math.cos(T),C.y-_*Math.sin(T)),l.fillStyle=g,l.fill()}}}),l.restore()}function o(){var n=B(e.linkDirectionalParticles),r=B(e.linkDirectionalParticleSpeed),i=B(e.linkDirectionalParticleOffset),a=B(e.linkDirectionalParticleWidth),o=B(e.linkVisibility),s=B(e.linkDirectionalParticleColor||e.linkColor),c=e.ctx;c.save(),e.graphData.links.filter(o).forEach(function(o){var l=n(o);if(!(!o.hasOwnProperty(`__photons`)||!o.__photons.length)){var u=o.source,d=o.target;if(!(!u||!d||!u.hasOwnProperty(`x`)||!d.hasOwnProperty(`x`))){var f=r(o),p=Math.abs(i(o)),m=o.__photons||[],h=Math.max(0,a(o)/2)/Math.sqrt(e.globalScale);c.fillStyle=s(o)||`rgba(0,0,0,0.28)`;var g=o.__controlPoints?sf(Fd,[u.x,u.y].concat(Z(o.__controlPoints),[d.x,d.y])):null,_=0,v=!1;m.forEach(function(n){var r=!!n.__singleHop;if(n.hasOwnProperty(`__progressRatio`)||(n.__progressRatio=r?0:(_+p)/l),!r&&_++,n.__progressRatio+=f,n.__progressRatio>=1)if(!r)n.__progressRatio%=1;else{v=!0;return}var i=n.__progressRatio,a=g?g.get(i):{x:u.x+(d.x-u.x)*i||0,y:u.y+(d.y-u.y)*i||0};e.linkDirectionalParticleCanvasObject?e.linkDirectionalParticleCanvasObject(a.x,a.y,o,c,e.globalScale):(c.beginPath(),c.arc(a.x,a.y,h,0,2*Math.PI,!1),c.fill())}),v&&(o.__photons=o.__photons.filter(function(e){return!e.__singleHop||e.__progressRatio<=1}))}}}),c.restore()}},emitParticle:function(e,n){return n&&(!n.__photons&&(n.__photons=[]),n.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:cd().force(`link`,Xu()).force(`charge`,ld()).force(`center`,Il()).force(`dagRadial`,null).stop(),engineRunning:!1}},init:function(e,n){n.ctx=e},update:function(e,n){e.engineRunning=!1,e.onUpdate(),e.nodeAutoColorBy!==null&&Sf(e.graphData.nodes,B(e.nodeAutoColorBy),e.nodeColor),e.linkAutoColorBy!==null&&Sf(e.graphData.links,B(e.linkAutoColorBy),e.linkColor),e.graphData.links.forEach(function(n){n.source=n[e.linkSource],n.target=n[e.linkTarget]}),e.forceLayout.stop().alpha(1).nodes(e.graphData.nodes);var r=e.forceLayout.force(`link`);r&&r.id(function(n){return n[e.nodeId]}).links(e.graphData.links);var i=e.dagMode&&Cf(e.graphData,function(n){return n[e.nodeId]},{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),a=Math.max.apply(Math,Z(Object.values(i||[]))),o=e.dagLevelDistance||e.graphData.nodes.length/(a||1)*wf*([`radialin`,`radialout`].indexOf(e.dagMode)===-1?1:.7);if([`lr`,`rl`,`td`,`bu`].includes(n.dagMode)){var s=[`lr`,`rl`].includes(n.dagMode)?`fx`:`fy`;e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(e){return delete e[s]})}if([`lr`,`rl`,`td`,`bu`].includes(e.dagMode)){var c=[`rl`,`bu`].includes(e.dagMode),l=function(n){return(i[n[e.nodeId]]-a/2)*o*(c?-1:1)},u=[`lr`,`rl`].includes(e.dagMode)?`fx`:`fy`;e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(e){return e[u]=l(e)})}e.forceLayout.force(`dagRadial`,[`radialin`,`radialout`].indexOf(e.dagMode)===-1?null:ud(function(n){var r=i[n[e.nodeId]]||-1;return(e.dagMode===`radialin`?a-r:r)*o}).strength(function(n){return+!!e.dagNodeFilter(n)}));for(var d=0;d<e.warmupTicks&&!(e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin);d++)e.forceLayout.tick();this.resetCountdown(),e.onFinishUpdate()}});function Df(e,n){var r=e instanceof Array?e:[e],i=new n;return i._destructor&&i._destructor(),{linkProp:function(e){return{default:i[e](),onChange:function(n,i){r.forEach(function(r){return i[r][e](n)})},triggerUpdate:!1}},linkMethod:function(e){return function(n){var i=[...arguments].slice(1),a=[];return r.forEach(function(r){var o=n[r],s=o[e].apply(o,i);s!==o&&a.push(s)}),a.length?a[0]:this}}}}var Of=800,kf=4,Af=5,jf=Df(`forceGraph`,Ef),Mf=Df([`forceGraph`,`shadowGraph`],Ef),Nf=Object.assign.apply(Object,Z(`nodeColor.nodeAutoColorBy.nodeCanvasObject.nodeCanvasObjectMode.linkColor.linkAutoColorBy.linkLineDash.linkWidth.linkCanvasObject.linkCanvasObjectMode.linkDirectionalArrowLength.linkDirectionalArrowColor.linkDirectionalArrowRelPos.linkDirectionalParticles.linkDirectionalParticleSpeed.linkDirectionalParticleOffset.linkDirectionalParticleWidth.linkDirectionalParticleColor.linkDirectionalParticleCanvasObject.dagMode.dagLevelDistance.dagNodeFilter.onDagError.d3AlphaMin.d3AlphaDecay.d3VelocityDecay.warmupTicks.cooldownTicks.cooldownTime.onEngineTick.onEngineStop`.split(`.`).map(function(e){return cf({},e,jf.linkProp(e))})).concat(Z([`nodeRelSize`,`nodeId`,`nodeVal`,`nodeVisibility`,`linkSource`,`linkTarget`,`linkVisibility`,`linkCurvature`].map(function(e){return cf({},e,Mf.linkProp(e))})))),Pf=Object.assign.apply(Object,Z([`d3Force`,`d3ReheatSimulation`,`emitParticle`].map(function(e){return cf({},e,jf.linkMethod(e))})));function Ff(e){if(e.canvas){var n=e.canvas.width,r=e.canvas.height;n===300&&r===150&&(n=r=0);var i=window.devicePixelRatio;n/=i,r/=i,[e.canvas,e.shadowCanvas].forEach(function(a){a.style.width=`${e.width}px`,a.style.height=`${e.height}px`,a.width=e.width*i,a.height=e.height*i,!n&&!r&&a.getContext(`2d`).scale(i,i)});var a=$a(e.canvas).k;e.zoom.translateBy(e.zoom.__baseElem,(e.width-n)/2/a,(e.height-r)/2/a),e.needsRedraw=!0}}function If(e){var n=window.devicePixelRatio;e.setTransform(n,0,0,n,0,0)}function Lf(e,n,r){e.save(),If(e),e.clearRect(0,0,n,r),e.restore()}var Rf=_s({props:hf({width:{default:window.innerWidth,onChange:function(e,n){return Ff(n)},triggerUpdate:!1},height:{default:window.innerHeight,onChange:function(e,n){return Ff(n)},triggerUpdate:!1},graphData:{default:{nodes:[],links:[]},onChange:function(e,n){[e.nodes,e.links].every(function(e){return(e||[]).every(function(e){return!e.hasOwnProperty(`__indexColor`)})})&&n.colorTracker.reset(),[{type:`Node`,objs:e.nodes},{type:`Link`,objs:e.links}].forEach(r),n.forceGraph.graphData(e),n.shadowGraph.graphData(e);function r(e){var r=e.type;e.objs.filter(function(e){if(!e.hasOwnProperty(`__indexColor`))return!0;var r=n.colorTracker.lookup(e.__indexColor);return!r||!r.hasOwnProperty(`d`)||r.d!==e}).forEach(function(e){e.__indexColor=n.colorTracker.register({type:r,d:e})})}},triggerUpdate:!1},backgroundColor:{onChange:function(e,n){n.canvas&&e&&(n.canvas.style.background=e)},triggerUpdate:!1},nodeLabel:{default:`name`,triggerUpdate:!1},nodePointerAreaPaint:{onChange:function(e,n){n.shadowGraph.nodeCanvasObject(e?function(n,r,i){return e(n,n.__indexColor,r,i)}:null),n.flushShadowCanvas&&n.flushShadowCanvas()},triggerUpdate:!1},linkPointerAreaPaint:{onChange:function(e,n){n.shadowGraph.linkCanvasObject(e?function(n,r,i){return e(n,n.__indexColor,r,i)}:null),n.flushShadowCanvas&&n.flushShadowCanvas()},triggerUpdate:!1},linkLabel:{default:`name`,triggerUpdate:!1},linkHoverPrecision:{default:4,triggerUpdate:!1},minZoom:{default:.01,onChange:function(e,n){n.zoom.scaleExtent([e,n.zoom.scaleExtent()[1]])},triggerUpdate:!1},maxZoom:{default:1e3,onChange:function(e,n){n.zoom.scaleExtent([n.zoom.scaleExtent()[0],e])},triggerUpdate:!1},enableNodeDrag:{default:!0,triggerUpdate:!1},enableZoomInteraction:{default:!0,triggerUpdate:!1},enablePanInteraction:{default:!0,triggerUpdate:!1},enableZoomPanInteraction:{default:!0,triggerUpdate:!1},enablePointerInteraction:{default:!0,onChange:function(e,n){n.hoverObj=null},triggerUpdate:!1},autoPauseRedraw:{default:!0,triggerUpdate:!1},onNodeDrag:{default:function(){},triggerUpdate:!1},onNodeDragEnd:{default:function(){},triggerUpdate:!1},onNodeClick:{triggerUpdate:!1},onNodeRightClick:{triggerUpdate:!1},onNodeHover:{triggerUpdate:!1},onLinkClick:{triggerUpdate:!1},onLinkRightClick:{triggerUpdate:!1},onLinkHover:{triggerUpdate:!1},onBackgroundClick:{triggerUpdate:!1},onBackgroundRightClick:{triggerUpdate:!1},showPointerCursor:{default:!0,triggerUpdate:!1},onZoom:{triggerUpdate:!1},onZoomEnd:{triggerUpdate:!1},onRenderFramePre:{triggerUpdate:!1},onRenderFramePost:{triggerUpdate:!1}},Nf),aliases:{stopAnimation:`pauseAnimation`},methods:hf({graph2ScreenCoords:function(e,n,r){var i=$a(e.canvas);return{x:n*i.k+i.x,y:r*i.k+i.y}},screen2GraphCoords:function(e,n,r){var i=$a(e.canvas);return{x:(n-i.x)/i.k,y:(r-i.y)/i.k}},centerAt:function(e,n,r,i){if(!e.canvas)return null;if(n!==void 0||r!==void 0){var a=Object.assign({},n===void 0?{}:{x:n},r===void 0?{}:{y:r});return i?e.tweenGroup.add(new os(o()).to(a,i).easing(es.Quadratic.Out).onUpdate(s).onComplete(function(){e.tweenGroup.remove(this)}).start()):s(a),this}return o();function o(){var n=$a(e.canvas);return{x:(e.width/2-n.x)/n.k,y:(e.height/2-n.y)/n.k}}function s(n){var r=n.x,i=n.y;e.zoom.translateTo(e.zoom.__baseElem,r===void 0?o().x:r,i===void 0?o().y:i),e.needsRedraw=!0}},zoom:function(e,n,r){if(!e.canvas)return null;if(n!==void 0)return r?e.tweenGroup.add(new os({k:i()}).to({k:n},r).easing(es.Quadratic.Out).onUpdate(function(e){var n=e.k;return a(n)}).onComplete(function(){e.tweenGroup.remove(this)}).start()):a(n),this;return i();function i(){return $a(e.canvas).k}function a(n){e.zoom.scaleTo(e.zoom.__baseElem,n),e.needsRedraw=!0}},zoomToFit:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,i=[...arguments].slice(3),a=this.getGraphBbox.apply(this,i);if(a){var o={x:(a.x[0]+a.x[1])/2,y:(a.y[0]+a.y[1])/2},s=Math.max(1e-12,Math.min(0xe8d4a51000,(e.width-r*2)/(a.x[1]-a.x[0]),(e.height-r*2)/(a.y[1]-a.y[0])));this.centerAt(o.x,o.y,n),this.zoom(s,n)}return this},getGraphBbox:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0},r=B(e.nodeVal),i=function(n){return Math.sqrt(Math.max(0,r(n)||1))*e.nodeRelSize},a=e.graphData.nodes.filter(n).map(function(e){return{x:e.x,y:e.y,r:i(e)}});return a.length?{x:[go(a,function(e){return e.x-e.r}),ho(a,function(e){return e.x+e.r})],y:[go(a,function(e){return e.y-e.r}),ho(a,function(e){return e.y+e.r})]}:null},pauseAnimation:function(e){return e.animationFrameRequestId&&=(cancelAnimationFrame(e.animationFrameRequestId),null),this},resumeAnimation:function(e){return e.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},Pf),stateInit:function(){return{lastSetZoom:1,zoom:co(),forceGraph:new Ef,shadowGraph:new Ef().cooldownTicks(0).nodeColor(`__indexColor`).linkColor(`__indexColor`).isShadow(!0),colorTracker:new Ec,tweenGroup:new ns}},init:function(e,n){var r=this;e.innerHTML=``;var i=document.createElement(`div`);i.classList.add(`force-graph-container`),i.style.position=`relative`,e.appendChild(i),n.canvas=document.createElement(`canvas`),n.backgroundColor&&(n.canvas.style.background=n.backgroundColor),i.appendChild(n.canvas),n.shadowCanvas=document.createElement(`canvas`);var a=n.canvas.getContext(`2d`),o=n.shadowCanvas.getContext(`2d`,{willReadFrequently:!0}),s={x:-0xe8d4a51000,y:-0xe8d4a51000},c=function(){var e=null,r=window.devicePixelRatio,i=s.x>0&&s.y>0?o.getImageData(s.x*r,s.y*r,1,1):null;return i&&(e=n.colorTracker.lookup(i.data)),e};jn(n.canvas).call(Qn().subject(function(){if(!n.enableNodeDrag)return null;var e=c();return e&&e.type===`Node`?e.d:null}).on(`start`,function(e){var r=e.subject;r.__initialDragPos={x:r.x,y:r.y,fx:r.fx,fy:r.fy},e.active||(r.fx=r.x,r.fy=r.y),n.canvas.classList.add(`grabbable`)}).on(`drag`,function(e){var r=e.subject,i=r.__initialDragPos,a=e,o=$a(n.canvas).k,s={x:i.x+(a.x-i.x)/o-r.x,y:i.y+(a.y-i.y)/o-r.y};[`x`,`y`].forEach(function(e){return r[`f${e}`]=r[e]=i[e]+(a[e]-i[e])/o}),!(!r.__dragged&&Af>=Math.sqrt(_o([`x`,`y`].map(function(n){return(e[n]-i[n])**2}))))&&(n.forceGraph.d3AlphaTarget(.3).resetCountdown(),n.isPointerDragging=!0,r.__dragged=!0,n.onNodeDrag(r,s))}).on(`end`,function(e){var r=e.subject,i=r.__initialDragPos,a={x:r.x-i.x,y:r.y-i.y};i.fx===void 0&&(r.fx=void 0),i.fy===void 0&&(r.fy=void 0),delete r.__initialDragPos,n.forceGraph.d3AlphaTarget()&&n.forceGraph.d3AlphaTarget(0).resetCountdown(),n.canvas.classList.remove(`grabbable`),n.isPointerDragging=!1,r.__dragged&&(delete r.__dragged,n.onNodeDragEnd(r,a))})),n.zoom(n.zoom.__baseElem=jn(n.canvas)),n.zoom.__baseElem.on(`dblclick.zoom`,null),n.zoom.filter(function(e){return!e.button&&n.enableZoomPanInteraction&&(e.type!==`wheel`||B(n.enableZoomInteraction)(e))&&(e.type===`wheel`||B(n.enablePanInteraction)(e))}).on(`zoom`,function(e){var i=e.transform;[a,o].forEach(function(e){If(e),e.translate(i.x,i.y),e.scale(i.k,i.k)}),n.isPointerDragging=!0,n.onZoom&&n.onZoom(hf(hf({},i),r.centerAt())),n.needsRedraw=!0}).on(`end`,function(e){n.isPointerDragging=!1,n.onZoomEnd&&n.onZoomEnd(hf(hf({},e.transform),r.centerAt()))}),Ff(n),n.forceGraph.onNeedsRedraw(function(){return n.needsRedraw=!0}).onFinishUpdate(function(){$a(n.canvas).k===n.lastSetZoom&&n.graphData.nodes.length&&(n.zoom.scaleTo(n.zoom.__baseElem,n.lastSetZoom=kf/Math.cbrt(n.graphData.nodes.length)),n.needsRedraw=!0)}),n.tooltip=new Fl(i),[`pointermove`,`pointerdown`].forEach(function(e){return i.addEventListener(e,function(r){e===`pointerdown`&&(n.isPointerPressed=!0,n.pointerDownEvent=r),!n.isPointerDragging&&r.type===`pointermove`&&n.onBackgroundClick&&(r.pressure>0||n.isPointerPressed)&&(r.pointerType===`mouse`||r.movementX===void 0||[r.movementX,r.movementY].some(function(e){return Math.abs(e)>1}))&&(n.isPointerDragging=!0);var a=o(i);s.x=r.pageX-a.left,s.y=r.pageY-a.top;function o(e){var n=e.getBoundingClientRect(),r=window.pageXOffset||document.documentElement.scrollLeft,i=window.pageYOffset||document.documentElement.scrollTop;return{top:n.top+i,left:n.left+r}}},{passive:!0})}),i.addEventListener(`pointerup`,function(e){if(n.isPointerPressed){if(n.isPointerPressed=!1,n.isPointerDragging){n.isPointerDragging=!1;return}var r=[e,n.pointerDownEvent];requestAnimationFrame(function(){if(e.button===0)if(n.hoverObj){var i=n[`on${n.hoverObj.type}Click`];i&&i.apply(void 0,[n.hoverObj.d].concat(r))}else n.onBackgroundClick&&n.onBackgroundClick.apply(n,r);if(e.button===2)if(n.hoverObj){var a=n[`on${n.hoverObj.type}RightClick`];a&&a.apply(void 0,[n.hoverObj.d].concat(r))}else n.onBackgroundRightClick&&n.onBackgroundRightClick.apply(n,r)})}},{passive:!0}),i.addEventListener(`contextmenu`,function(e){return!n.onBackgroundRightClick&&!n.onNodeRightClick&&!n.onLinkRightClick?!0:(e.preventDefault(),!1)}),n.forceGraph(a),n.shadowGraph(o);var l=$o(function(){Lf(o,n.width,n.height),n.shadowGraph.linkWidth(function(e){return B(n.linkWidth)(e)+n.linkHoverPrecision});var e=$a(n.canvas);n.shadowGraph.globalScale(e.k).tickFrame()},Of);n.flushShadowCanvas=l.flush,(this._animationCycle=function e(){var r=!n.autoPauseRedraw||!!n.needsRedraw||n.forceGraph.isEngineRunning()||n.graphData.links.some(function(e){return e.__photons&&e.__photons.length});if(n.needsRedraw=!1,n.enablePointerInteraction){var i=n.isPointerDragging?null:c();if(i!==n.hoverObj){var o=n.hoverObj,s=o?o.type:null,u=i?i.type:null;if(s&&s!==u){var d=n[`on${s}Hover`];d&&d(null,o.d)}if(u){var f=n[`on${u}Hover`];f&&f(i.d,s===u?o.d:null)}n.tooltip.content(i&&B(n[`${i.type.toLowerCase()}Label`])(i.d)||null),n.canvas.classList[(i&&n[`on${u}Click`]||!i&&n.onBackgroundClick)&&B(n.showPointerCursor)(i?.d)?`add`:`remove`](`clickable`),n.hoverObj=i}r&&l()}if(r){Lf(a,n.width,n.height);var p=$a(n.canvas).k;n.onRenderFramePre&&n.onRenderFramePre(a,p),n.forceGraph.globalScale(p).tickFrame(),n.onRenderFramePost&&n.onRenderFramePost(a,p)}n.tweenGroup.update(),n.animationFrameRequestId=requestAnimationFrame(e)})()},update:function(e){}}),zf=n(((e,n)=>{n.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),Bf=n(((e,n)=>{var r=zf();function i(){}function a(){}a.resetWarningCache=i,n.exports=function(){function e(e,n,i,a,o,s){if(s!==r){var c=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name=`Invariant Violation`,c}}e.isRequired=e;function n(){return e}var o={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:n,element:e,elementType:e,instanceOf:n,node:e,objectOf:n,oneOf:n,oneOfType:n,shape:n,exact:n,checkPropTypes:a,resetWarningCache:i};return o.PropTypes=o,o}})),$=e(n(((e,n)=>{n.exports=Bf()()}))(),1),Vf={width:$.default.number,height:$.default.number,graphData:$.default.shape({nodes:$.default.arrayOf($.default.object).isRequired,links:$.default.arrayOf($.default.object).isRequired}),backgroundColor:$.default.string,nodeRelSize:$.default.number,nodeId:$.default.string,nodeLabel:$.default.oneOfType([$.default.string,$.default.func]),nodeVal:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),nodeVisibility:$.default.oneOfType([$.default.bool,$.default.string,$.default.func]),nodeColor:$.default.oneOfType([$.default.string,$.default.func]),nodeAutoColorBy:$.default.oneOfType([$.default.string,$.default.func]),onNodeHover:$.default.func,onNodeClick:$.default.func,linkSource:$.default.string,linkTarget:$.default.string,linkLabel:$.default.oneOfType([$.default.string,$.default.func]),linkVisibility:$.default.oneOfType([$.default.bool,$.default.string,$.default.func]),linkColor:$.default.oneOfType([$.default.string,$.default.func]),linkAutoColorBy:$.default.oneOfType([$.default.string,$.default.func]),linkWidth:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkCurvature:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalArrowLength:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalArrowColor:$.default.oneOfType([$.default.string,$.default.func]),linkDirectionalArrowRelPos:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticles:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticleSpeed:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticleOffset:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticleWidth:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkDirectionalParticleColor:$.default.oneOfType([$.default.string,$.default.func]),onLinkHover:$.default.func,onLinkClick:$.default.func,dagMode:$.default.oneOf([`td`,`bu`,`lr`,`rl`,`zin`,`zout`,`radialin`,`radialout`]),dagLevelDistance:$.default.number,dagNodeFilter:$.default.func,onDagError:$.default.func,d3AlphaMin:$.default.number,d3AlphaDecay:$.default.number,d3VelocityDecay:$.default.number,warmupTicks:$.default.number,cooldownTicks:$.default.number,cooldownTime:$.default.number,onEngineTick:$.default.func,onEngineStop:$.default.func,getGraphBbox:$.default.func},Hf={zoomToFit:$.default.func,onNodeRightClick:$.default.func,onNodeDrag:$.default.func,onNodeDragEnd:$.default.func,onLinkRightClick:$.default.func,linkHoverPrecision:$.default.number,onBackgroundClick:$.default.func,onBackgroundRightClick:$.default.func,showPointerCursor:$.default.oneOfType([$.default.bool,$.default.func]),enablePointerInteraction:$.default.bool,enableNodeDrag:$.default.bool},Uf={showNavInfo:$.default.bool,nodeOpacity:$.default.number,nodeResolution:$.default.number,nodeThreeObject:$.default.oneOfType([$.default.object,$.default.string,$.default.func]),nodeThreeObjectExtend:$.default.oneOfType([$.default.bool,$.default.string,$.default.func]),nodePositionUpdate:$.default.func,linkOpacity:$.default.number,linkResolution:$.default.number,linkCurveRotation:$.default.oneOfType([$.default.number,$.default.string,$.default.func]),linkMaterial:$.default.oneOfType([$.default.object,$.default.string,$.default.func]),linkThreeObject:$.default.oneOfType([$.default.object,$.default.string,$.default.func]),linkThreeObjectExtend:$.default.oneOfType([$.default.bool,$.default.string,$.default.func]),linkPositionUpdate:$.default.func,linkDirectionalArrowResolution:$.default.number,linkDirectionalParticleResolution:$.default.number,linkDirectionalParticleThreeObject:$.default.oneOfType([$.default.object,$.default.string,$.default.func]),forceEngine:$.default.oneOf([`d3`,`ngraph`]),ngraphPhysics:$.default.object,numDimensions:$.default.oneOf([1,2,3])},Wf=Object.assign({},Vf,Hf,{linkLineDash:$.default.oneOfType([$.default.arrayOf($.default.number),$.default.string,$.default.func]),nodeCanvasObjectMode:$.default.oneOfType([$.default.string,$.default.func]),nodeCanvasObject:$.default.func,nodePointerAreaPaint:$.default.func,linkCanvasObjectMode:$.default.oneOfType([$.default.string,$.default.func]),linkCanvasObject:$.default.func,linkPointerAreaPaint:$.default.func,linkDirectionalParticleCanvasObject:$.default.func,autoPauseRedraw:$.default.bool,minZoom:$.default.number,maxZoom:$.default.number,enableZoomInteraction:$.default.oneOfType([$.default.bool,$.default.func]),enablePanInteraction:$.default.oneOfType([$.default.bool,$.default.func]),onZoom:$.default.func,onZoomEnd:$.default.func,onRenderFramePre:$.default.func,onRenderFramePost:$.default.func});Object.assign({},Vf,Hf,Uf,{enableNavigationControls:$.default.bool,controlType:$.default.oneOf([`trackball`,`orbit`,`fly`]),rendererConfig:$.default.object,extraRenderers:$.default.arrayOf($.default.shape({render:$.default.func.isRequired}))}),Object.assign({},Vf,Uf,{nodeDesc:$.default.oneOfType([$.default.string,$.default.func]),linkDesc:$.default.oneOfType([$.default.string,$.default.func])}),Object.assign({},Vf,Uf,{markerAttrs:$.default.object,yOffset:$.default.number,glScale:$.default.number});var Gf=Fe(Rf,{methodNames:[`emitParticle`,`d3Force`,`d3ReheatSimulation`,`stopAnimation`,`pauseAnimation`,`resumeAnimation`,`centerAt`,`zoom`,`zoomToFit`,`getGraphBbox`,`screen2GraphCoords`,`graph2ScreenCoords`]});Gf.displayName=`ForceGraph2D`,Gf.propTypes=Wf;var Kf=/(?:\s+[—–|]\s+|:\s+)/;function qf(e){let n=new Map;for(let r of e){let e=np(r.label||r.id),i=Qf(e),a=ep(r.kind===`doc`?r.docName??r.id:r.url??r.id),o=$f(i),s=o?ep(i):i,c=o?[]:Zf(i),l=c.length>1?c[0]??null:null,u=c.length>1?c.at(-1)??null:null;n.set(r.id,{fullLabel:e,leadLabel:l&&l!==s&&l!==u?l:null,pathLabel:a,primaryLabel:s,topicLabel:u&&u!==s?u:null})}return n}function Jf(e,n,r){if(!e)return``;let i=e=>r(e)<=n;for(let n of rp([e.primaryLabel,e.topicLabel]))if(i(n))return n;for(let i of rp([e.topicLabel,e.primaryLabel])){let e=Yf(i,n,r);if(e)return e}if(e.leadLabel&&i(e.leadLabel))return e.leadLabel;if(e.leadLabel){let i=Yf(e.leadLabel,n,r);if(i)return i}return i(e.pathLabel)?e.pathLabel:Yf(e.pathLabel,n,r)||e.pathLabel}function Yf(e,n,r){if(!e)return``;if(r(e)<=n)return e;let i=e.split(/\s+/).filter(Boolean),a=rp([i.length>=3?`${i.slice(0,2).join(` `)} ... ${i.at(-1)??``}`:void 0,i.length>=2?`${i[0]} ... ${i.at(-1)??``}`:void 0]);for(let e of a)if(r(e)<=n)return e;return Xf(e,n,r)}function Xf(e,n,r){if(r(`...`)>n)return``;let i=1,a=Math.max(1,Math.floor((e.length-3)/2)),o=``;for(;i<=a;){let s=Math.floor((i+a)/2),c=`${e.slice(0,s)}...${e.slice(-s)}`;r(c)<=n?(o=c,i=s+1):a=s-1}if(o)return o;let s=`${e[0]??``}...`;return r(s)<=n?s:`...`}function Zf(e){return np(e).split(Kf).map(e=>np(e)).filter(Boolean)}function Qf(e){let n=np(e);for(;;){let e=n.replace(/\s*\([^()]*\)\s*$/,``).trim();if(!e||e===n)return n;n=e}}function $f(e){let n=(e.match(/\//g)??[]).length,r=(e.match(/\s/g)??[]).length;return n>0&&(r===0||n*3>r)}function ep(e){let n=e.split(`/`).map(e=>e.trim()).filter(Boolean);return n.length===0?e:n.length===1?tp(n[0]):n.slice(-2).map(tp).join(` / `)}function tp(e){if(e.length<=24)return e;let n=e.split(`-`).filter(Boolean);if(n.length>=4){let e=[...n];for(;e.length>2&&/^\d+$/.test(e[0]);)e.shift();if(e.length>=2)return e.slice(-3).join(`-`)}return e.length<=24?e:`${e.slice(0,10)}...${e.slice(-10)}`}function np(e){return e.replace(/\s+/g,` `).trim()}function rp(e){let n=new Set;for(let r of e)r&&n.add(r);return[...n]}var ip=8,ap=10,op=4,sp=6,cp=4,lp=ap+cp*2,up=2,dp=.001;function fp(e){let{nodes:n,links:r,activeDocName:i,viewport:a,maxLabels:o,maxLabelWidthPx:s,labelDescriptors:c,measureTextWidthPx:l,projectToScreen:u,getNodeRadiusPx:d}=e;if(o<=0||a.width<=0||a.height<=0||n.length===0)return[];let f=pp(r),p=a.width/2,m=a.height/2,h=n.flatMap(e=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return[];let n=u(e.x,e.y);return[{node:e,screenX:n.x,screenY:n.y,radiusPx:d(e)}]}),g=h.map(e=>{let n=Jf(c.get(e.node.id),s,l);if(!n)return null;let r=l(n);return r<=0?null:{...e,text:n,textWidthPx:r,isActive:e.node.id===i,degree:f.get(e.node.id)??0,distanceToCenterPx:Math.hypot(e.screenX-p,e.screenY-m)}}).filter(e=>e!==null);g.sort(hp);let _=[],v=[];for(let e=0;e<g.length&&!(_.length>=o);e+=1){let n=g[e],r=gp(n,{priority:g.length-e,viewport:a,acceptedRects:v,positionedNodes:h});r&&(_.push(r),v.push(r.rect))}return _}function pp(e){let n=new Map;for(let r of e){let e=mp(r.source),i=mp(r.target);e&&n.set(e,(n.get(e)??0)+1),i&&n.set(i,(n.get(i)??0)+1)}return n}function mp(e){return typeof e==`string`?e:typeof e?.id==`string`?e.id:typeof e?.id==`number`?String(e.id):null}function hp(e,n){return e.isActive===n.isActive?Math.abs(e.distanceToCenterPx-n.distanceToCenterPx)>dp?e.distanceToCenterPx-n.distanceToCenterPx:e.degree===n.degree?e.text.length===n.text.length?e.node.id.localeCompare(n.node.id):e.text.length-n.text.length:n.degree-e.degree:e.isActive?-1:1}function gp(e,{priority:n,viewport:r,acceptedRects:i,positionedNodes:a}){for(let o of[`bottom`,`top`,`right`,`left`]){let s=_p(e,o,n);if(vp(s.rect,r)&&!i.some(e=>yp(e,s.rect))&&!a.some(n=>n.node.id!==e.node.id&&bp(s.rect,{x:n.screenX,y:n.screenY,radius:n.radiusPx+up})))return s}return null}function _p(e,n,r){let i=e.textWidthPx+sp*2,a=i/2,o=lp/2,s=e.screenX-a,c=e.screenY+e.radiusPx+op;return n===`top`?c=e.screenY-e.radiusPx-op-lp:n===`right`?(s=e.screenX+e.radiusPx+op,c=e.screenY-o):n===`left`&&(s=e.screenX-e.radiusPx-op-i,c=e.screenY-o),{nodeId:e.node.id,text:e.text,anchor:n,priority:r,isActive:e.isActive,rect:{left:s,top:c,right:s+i,bottom:c+lp},textX:s+a,textY:c+cp}}function vp(e,n){return e.left>=ip&&e.top>=ip&&e.right<=n.width-ip&&e.bottom<=n.height-ip}function yp(e,n){return!(e.right<=n.left||e.left>=n.right||e.bottom<=n.top||e.top>=n.bottom)}function bp(e,n){let r=xp(n.x,e.left,e.right),i=xp(n.y,e.top,e.bottom);return Math.hypot(n.x-r,n.y-i)<n.radius}function xp(e,n,r){return Math.min(r,Math.max(n,e))}var Sp=5,Cp=7,wp=8,Tp=[`x`,`y`,`z`,`vx`,`vy`,`vz`,`fx`,`fy`,`fz`,`index`,`__indexColor`];function Ep(e,n){for(let r of Tp){let i=n[r];i!==void 0&&(e[r]=i)}}function Dp(e){return typeof e==`string`?e:typeof e==`object`&&e&&`id`in e?String(e.id):``}function Op(e){return e.map(e=>`${e.id}:${e.label}`).join(`,`)}function kp(e){return e.map(e=>`${Dp(e.source)}>${Dp(e.target)}`).join(`,`)}function Ap(e,n){let r=new Map(e.nodes.map(e=>[e.id,e])),i=n.nodes.map(e=>{let n={...e},i=r.get(e.id);return i&&Ep(n,i),n}),a=new Map(e.links.map(e=>[`${Dp(e.source)}>${Dp(e.target)}`,e]));return{nodes:i,links:n.links.map(e=>{let n={...e},r=a.get(`${Dp(e.source)}>${Dp(e.target)}`);return r?.__indexColor&&(n.__indexColor=r.__indexColor),n})}}function jp(e,n={}){if(e.kind===`external`)return e.url;let r=e.label??e.id,i=n.displayState??`doc`,a=e.cluster||e.category||e.tags&&e.tags.length>0;if(i===`doc`&&!a)return r;let o=[...Mp(i),`<div style="font-weight:600;font-size:14px;color:#f1f5f9;margin-bottom:${a?8:0}px;padding-bottom:${a?6:0}px;border-bottom:${a?`1px solid rgba(148,163,184,0.3)`:`none`}">${Np(r)}</div>`];return e.cluster&&o.push(`<div style="font-size:12.5px;color:#f1f5f9;margin-bottom:2px"><span style="color:#cbd5e1">cluster:</span> ${Np(e.cluster)}</div>`),e.category&&o.push(`<div style="font-size:12.5px;color:#f1f5f9;margin-bottom:2px"><span style="color:#cbd5e1">category:</span> ${Np(e.category)}</div>`),e.tags&&e.tags.length>0&&o.push(`<div style="font-size:12.5px;color:#f1f5f9"><span style="color:#cbd5e1">tags:</span> ${e.tags.map(Np).join(`, `)}</div>`),o.join(``)}function Mp(e){return e===`missing`?[`<div style="font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#fca5a5;margin-bottom:6px">Broken / uncreated link</div>`,`<div style="font-size:12px;color:#fecaca;margin-bottom:8px">This page does not exist yet. Open it to create it.</div>`]:e===`folder`?[`<div style="font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#c4b5fd;margin-bottom:6px">Folder target</div>`,`<div style="font-size:12px;color:#ddd6fe;margin-bottom:8px">This link resolves to a folder view rather than a standalone page.</div>`]:[]}function Np(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function Pp(e,{activeDocName:n,selectedNodeId:r}){let i=r!==null&&e.id===r;if(e.kind===`external`)return i?`external-selected`:`external`;let a=e.docName===n;return a&&i?`active-selected`:a?`active`:i?`selected`:`default`}function Fp(e){return e===`active`||e===`active-selected`?wp:e===`selected`||e===`external-selected`?Cp:Sp}function Ip(e,n){let r=Fp(e);return e===`active`||e===`selected`||e===`active-selected`||e===`external-selected`?r+2/Math.max(n,.01):r}function Lp(e){return D(e.docName,e.anchor)}function Rp(e,n){return e.kind===`external`?n===`select`?{kind:`select`,selection:{kind:`external`,id:e.id,label:e.label,url:e.url}}:{kind:`external`,url:e.url}:n===`select`?{kind:`select`,selection:{kind:`doc`,id:e.id,docName:e.docName,label:e.label,anchor:e.anchor??null}}:{kind:`navigate`,hash:Lp({docName:e.docName,label:e.label,anchor:e.anchor??null})}}var zp=350,Bp=120,Vp=18,Hp=28,Up=5;function Wp({node:e,navigationIntentByNodeId:n}){return e.kind===`doc`?n.get(e.id)?.displayState??`doc`:`doc`}function Gp({state:e,displayState:n,globalScale:r}){let i=Ip(e,r);return n===`missing`?Math.max(i,Fp(e)+2/Math.max(r,.01)):i}function Kp({nodes:e,activeDocName:n}){let r=e.find(e=>e.kind===`doc`&&e.docName===n);return typeof r?.x!=`number`||typeof r?.y!=`number`?null:{x:r.x,y:r.y}}function qp({fg:e,coords:n,dimensions:r}){if(!e||!n||r.width<=0||r.height<=0)return!1;let i=e.graph2ScreenCoords(n.x,n.y);return Math.hypot(i.x-r.width/2,i.y-r.height/2)>=Hp}function Jp({fg:e,nodes:n,activeDocName:r,zoom:i,focusKey:a,focusState:o,force:s=!1,durationMs:c=zp}){let l=Date.now(),u=o;if(u.key!==a)u={key:a,lastX:null,lastY:null,lastAt:0};else if(!s&&l-u.lastAt<Bp)return u;let d=Kp({nodes:n,activeDocName:r});if(!d)return u;let f=u.lastX===null||u.lastY===null?1/0:Math.hypot(d.x-u.lastX,d.y-u.lastY);return!s&&f<Vp&&u.lastAt!==0?{...u,lastAt:l}:e?(e.centerAt(d.x,d.y,c),Math.abs(e.zoom()-i)>.01&&e.zoom(i,c),{key:a,lastX:d.x,lastY:d.y,lastAt:l}):u}function Yp({ctx:e,placements:n,labelColor:r,chipColor:i,chipBorderColor:a}){e.textAlign=`center`,e.textBaseline=`top`;for(let o of n){let n=o.rect.right-o.rect.left,s=o.rect.bottom-o.rect.top;e.fillStyle=i,e.fillRect(o.rect.left,o.rect.top,n,s),e.strokeStyle=a,e.lineWidth=1,e.strokeRect(o.rect.left,o.rect.top,n,s),e.fillStyle=r,e.fillText(o.text,o.textX,o.textY)}}function Xp({node:e,fg:n,activeDocName:r,selectedNodeId:i,globalScale:a,displayState:o}){if(typeof e.x!=`number`||typeof e.y!=`number`)return null;let s=Pp(e,{activeDocName:r,selectedNodeId:i}),c=n.graph2ScreenCoords(e.x,e.y);return{x:c.x,y:c.y,radiusPx:Gp({state:s,displayState:o,globalScale:a})*a,state:s}}function Zp({clientX:e,clientY:n,container:r}){let i=r.getBoundingClientRect();return{x:e-i.left,y:n-i.top}}function Qp({point:e,fg:n,nodes:r,activeDocName:i,selectedNodeId:a,navigationIntentByNodeId:o}){let s=n.zoom(),c=null;for(let l of r){let r=Xp({node:l,fg:n,activeDocName:i,selectedNodeId:a,globalScale:s,displayState:Wp({node:l,navigationIntentByNodeId:o})});if(!r)continue;let u=Math.hypot(e.x-r.x,e.y-r.y);u>r.radiusPx||c!==null&&u>=c.distance||(c={node:l,distance:u})}return c?.node??null}function $p(e,n){return e===void 0||typeof e==`string`||typeof e==`number`||typeof e.x!=`number`||typeof e.y!=`number`?null:n.graph2ScreenCoords(e.x,e.y)}function em({point:e,start:n,end:r}){let i=r.x-n.x,a=r.y-n.y;if(i===0&&a===0)return Math.hypot(e.x-n.x,e.y-n.y);let o=Math.max(0,Math.min(1,((e.x-n.x)*i+(e.y-n.y)*a)/(i*i+a*a))),s=n.x+o*i,c=n.y+o*a;return Math.hypot(e.x-s,e.y-c)}function tm({point:e,fg:n,links:r}){return r.some(r=>{let i=$p(r.source,n),a=$p(r.target,n);return!i||!a?!1:em({point:e,start:i,end:a})<=6})}function nm({node:e,docClickBehavior:n,onSelectNode:r}){let i=Rp(e,n);if(i.kind===`external`){window.open(i.url,`_blank`,`noopener,noreferrer`);return}if(i.kind===`navigate`){window.location.assign(i.hash);return}r?.(i.selection)}function rm({target:e,docClickBehavior:n,selectedNodeId:r,onSelectNode:i,onBackgroundClick:a}){if(e.kind===`background`||e.kind===`link`){a?.();return}if(n===`select`&&r!==null&&e.node.id===r){a?.();return}nm({node:e.node,docClickBehavior:n,onSelectNode:i})}function im(e){let n=(0,se.c)(110),{activeDocName:r,selectedNodeId:i,isExpanded:a,showUrlNodes:o,className:s,docClickBehavior:l,onSelectNode:u,onBackgroundClick:d,onStatsChange:f,onClustersChange:p}=e,m=i===void 0?null:i,g=a===void 0?!1:a,_=o===void 0?!0:o,v=s===void 0?``:s,y=l===void 0?`navigate`:l,b;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(b={nodes:[],links:[]},n[0]=b):b=n[0];let[x,C]=(0,O.useState)(b),w;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(w={nodes:``,links:``},n[1]=w):w=n[1];let T=(0,O.useRef)(w),[E,ee]=(0,O.useState)(!0),[te,ie]=(0,O.useState)(null),ae=(0,O.useRef)(null),oe=(0,O.useRef)(void 0),ce;n[2]===Symbol.for(`react.memo_cache_sentinel`)?(ce={key:``,lastX:null,lastY:null,lastAt:0},n[2]=ce):ce=n[2];let le=(0,O.useRef)(ce),k=(0,O.useRef)(null),de=(0,O.useRef)(x.nodes),fe=(0,O.useRef)(!1),pe;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(pe={width:320,height:400},n[3]=pe):pe=n[3];let[me,he]=(0,O.useState)(pe),{resolvedTheme:ge}=c(),{folderPaths:_e,loading:ve,pages:ye}=re(),be,xe;n[4]!==r||n[5]!==g?(be=()=>{let e=!1,n=async function(){try{let n=new URLSearchParams;!g&&r&&(n.set(`docName`,r),n.set(`degrees`,`2`));let i=n.size>0?`/api/link-graph?${n.toString()}`:`/api/link-graph`,a=await fetch(i);if(!a.ok){if(e)return;ie(`Server error: ${a.status}`),ee(!1);return}let o=await a.json();if(e)return;if(!o.ok){ie(o.error??`Failed to load graph`),ee(!1);return}let s=o.nodes??[],c=o.links??[],l=Op(s),u=kp(c);(l!==T.current.nodes||u!==T.current.links)&&(T.current={nodes:l,links:u},C(e=>Ap(e,{nodes:s,links:c}))),ie(null),ee(!1)}catch(n){let r=n;if(e)return;ie(r instanceof Error?r.message:`Failed to load graph`),ee(!1)}};ee(!0),n();let i=()=>{document.visibilityState===`visible`&&n()};window.addEventListener(`focus`,i),window.addEventListener(`visibilitychange`,i);let a=ne(e=>{(e.includes(`files`)||e.includes(`graph`))&&n()});return()=>{e=!0,window.removeEventListener(`focus`,i),window.removeEventListener(`visibilitychange`,i),a()}},xe=[r,g],n[4]=r,n[5]=g,n[6]=be,n[7]=xe):(be=n[6],xe=n[7]),(0,O.useEffect)(be,xe);let Se,Ce;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(Se=()=>{let e=ae.current;if(!e)return;let n=new ResizeObserver(e=>{let[n]=e,{width:r,height:i}=n.contentRect;r>0&&i>0&&he({width:Math.floor(r),height:Math.floor(i)})});return n.observe(e),()=>n.disconnect()},Ce=[],n[8]=Se,n[9]=Ce):(Se=n[8],Ce=n[9]),(0,O.useEffect)(Se,Ce);let j=ge===`dark`,M=j?`hsl(0 0% 4%)`:`hsl(0 0% 100%)`,we=j?`#6b7280`:`#9ca3af`,Te=j?`#69a3ff`:`#3784ff`,Ee=j?`#34d399`:`#059669`,De=j?`#c084fc`:`#7c3aed`,N=j?`#f59e0b`:`#c2410c`,Oe=j?`#a78bfa`:`#7c3aed`,ke=j?`#f87171`:`#dc2626`,Ae=j?`rgba(75,85,99,0.6)`:`rgba(209,213,219,0.8)`,je=j?`#f3f4f6`:`#111827`,Me=j?`rgba(105,163,255,0.45)`:`rgba(55,132,255,0.3)`,Ne=j?`rgba(167,139,250,0.38)`:`rgba(124,58,237,0.22)`,Pe=j?`rgba(248,113,113,0.58)`:`rgba(220,38,38,0.38)`,Fe=j?`rgba(52,211,153,0.5)`:`rgba(5,150,105,0.3)`,Ie=j?`rgba(192,132,252,0.5)`:`rgba(124,58,237,0.35)`,Le=j?`rgba(3,7,18,0.92)`:`rgba(255,255,255,0.94)`,Re=j?`rgba(243,244,246,0.08)`:`rgba(17,24,39,0.08)`,P=g?1.6:2.35,ze=g?220:150,Be=g?10:18,Ve;n[10]!==x||n[11]!==_?(Ve=_?x:(()=>{let e=new Set(x.nodes.filter(lm).map(cm));return{nodes:x.nodes.filter(sm),links:x.links.filter(n=>{let r=Dp(n.source),i=Dp(n.target);return!e.has(r)&&!e.has(i)})}})(),n[10]=x,n[11]=_,n[12]=Ve):Ve=n[12];let F=Ve,He=F.nodes,Ue=F.links,We;n[13]===F.nodes?We=n[14]:(We=qf(F.nodes),n[13]=F.nodes,n[14]=We);let Ge=We,I=`${r}|${P}`,Ke;if(n[15]!==_e||n[16]!==x.nodes||n[17]!==ve||n[18]!==ye){let e;n[20]!==_e||n[21]!==ve||n[22]!==ye?(e=e=>{if(e.kind!==`doc`)return[];let n=ve?{displayState:`doc`,hashDocName:e.docName}:S(e.docName,{pages:ye,folderPaths:_e});return[[e.id,n]]},n[20]=_e,n[21]=ve,n[22]=ye,n[23]=e):e=n[23],Ke=new Map(x.nodes.flatMap(e)),n[15]=_e,n[16]=x.nodes,n[17]=ve,n[18]=ye,n[19]=Ke}else Ke=n[19];let L=Ke,qe;n[24]!==F.links||n[25]!==F.nodes||n[26]!==E||n[27]!==f?(qe=()=>{f?.(F.nodes.length,F.links.length,E)},n[24]=F.links,n[25]=F.nodes,n[26]=E,n[27]=f,n[28]=qe):qe=n[28];let Je;n[29]!==F||n[30]!==E||n[31]!==f?(Je=[F,E,f],n[29]=F,n[30]=E,n[31]=f,n[32]=Je):Je=n[32],(0,O.useEffect)(qe,Je);let Ye;n[33]!==x.nodes||n[34]!==p?(Ye=()=>{if(!p)return;let e=new Set;for(let n of x.nodes)n.kind===`doc`&&n.cluster&&e.add(n.cluster);p(Array.from(e).sort())},n[33]=x.nodes,n[34]=p,n[35]=Ye):Ye=n[35];let Xe;n[36]!==x||n[37]!==p?(Xe=[x,p],n[36]=x,n[37]=p,n[38]=Xe):Xe=n[38],(0,O.useEffect)(Ye,Xe);let Ze,Qe;n[39]===x.nodes?(Ze=n[40],Qe=n[41]):(Ze=()=>{de.current=x.nodes},Qe=[x.nodes],n[39]=x.nodes,n[40]=Ze,n[41]=Qe),(0,O.useEffect)(Ze,Qe);let $e,et;n[42]!==r||n[43]!==I||n[44]!==P?($e=()=>{le.current={key:I,lastX:null,lastY:null,lastAt:0};let e=window.requestAnimationFrame(()=>{le.current=Jp({fg:oe.current,nodes:de.current,activeDocName:r,zoom:P,focusKey:I,focusState:le.current,force:!0})});return()=>window.cancelAnimationFrame(e)},et=[I,r,P],n[42]=r,n[43]=I,n[44]=P,n[45]=$e,n[46]=et):($e=n[45],et=n[46]),(0,O.useEffect)($e,et);let tt,nt;n[47]!==r||n[48]!==F.links||n[49]!==F.nodes||n[50]!==y||n[51]!==L||n[52]!==d||n[53]!==u||n[54]!==m?(tt=()=>{},nt=[r,y,F.links,F.nodes,L,d,u,m],n[47]=r,n[48]=F.links,n[49]=F.nodes,n[50]=y,n[51]=L,n[52]=d,n[53]=u,n[54]=m,n[55]=tt,n[56]=nt):(tt=n[55],nt=n[56]),(0,O.useEffect)(tt,nt);let rt;n[57]===v?rt=n[58]:(rt=h(`h-full min-h-0 overflow-hidden`,v),n[57]=v,n[58]=rt);let it;n[59]===Symbol.for(`react.memo_cache_sentinel`)?(it=()=>{k.current=null},n[59]=it):it=n[59];let at;n[60]!==r||n[61]!==F.links||n[62]!==F.nodes||n[63]!==L||n[64]!==m?(at=e=>{if(!e.isPrimary||e.button!==0){k.current=null;return}k.current={pointerId:e.pointerId,clientX:e.clientX,clientY:e.clientY,target:(()=>{let n=ae.current,i=oe.current;if(!n||!i)return{kind:`background`};let a=Zp({clientX:e.clientX,clientY:e.clientY,container:n}),o=Qp({point:a,fg:i,nodes:F.nodes,activeDocName:r,selectedNodeId:m,navigationIntentByNodeId:L});return o?{kind:`node`,node:o}:tm({point:a,fg:i,links:F.links})?{kind:`link`}:{kind:`background`}})()}},n[60]=r,n[61]=F.links,n[62]=F.nodes,n[63]=L,n[64]=m,n[65]=at):at=n[65];let ot;n[66]!==y||n[67]!==d||n[68]!==u||n[69]!==m?(ot=e=>{if(!e.isPrimary||e.button!==0){k.current=null;return}let n=k.current;k.current=null,!(!n||n.pointerId!==e.pointerId)&&(Math.hypot(e.clientX-n.clientX,e.clientY-n.clientY)>Up||rm({target:n.target,docClickBehavior:y,selectedNodeId:m,onSelectNode:u,onBackgroundClick:d}))},n[66]=y,n[67]=d,n[68]=u,n[69]=m,n[70]=ot):ot=n[70];let st;n[71]!==r||n[72]!==Te||n[73]!==Me||n[74]!==De||n[75]!==Ie||n[76]!==M||n[77]!==we||n[78]!==me||n[79]!==F||n[80]!==Ae||n[81]!==te||n[82]!==N||n[83]!==I||n[84]!==P||n[85]!==Oe||n[86]!==Ne||n[87]!==x.nodes||n[88]!==j||n[89]!==Re||n[90]!==Le||n[91]!==je||n[92]!==Ge||n[93]!==Ue||n[94]!==He||n[95]!==E||n[96]!==ze||n[97]!==Be||n[98]!==ke||n[99]!==Pe||n[100]!==L||n[101]!==Ee||n[102]!==m||n[103]!==Fe?(st=te?(0,A.jsx)(`p`,{className:`p-4 text-sm text-destructive`,children:te}):F.nodes.length===0&&!E?(0,A.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No links yet. Add wiki links or markdown links to build a graph.`}):(0,A.jsx)(`div`,{className:`h-full min-h-0`,role:`img`,"aria-label":`Graph visualization of document links`,children:(0,A.jsx)(Gf,{ref:oe,graphData:F,cooldownTicks:150,onEngineTick:()=>{fe.current=!1,le.current=Jp({fg:oe.current,nodes:x.nodes,activeDocName:r,zoom:P,focusKey:I,focusState:le.current})},onEngineStop:()=>{fe.current=!0;let e=Kp({nodes:x.nodes,activeDocName:r});qp({fg:oe.current,coords:e,dimensions:me})&&(le.current=Jp({fg:oe.current,nodes:x.nodes,activeDocName:r,zoom:P,focusKey:I,focusState:le.current,force:!0}))},width:me.width,height:me.height,backgroundColor:M,nodeId:`id`,nodeLabel:e=>jp(e,{displayState:Wp({node:e,navigationIntentByNodeId:L})}),nodeRelSize:4,nodeVal:e=>{let n=Pp(e,{activeDocName:r,selectedNodeId:m});return n===`active-selected`?20:n===`active`?18:n===`selected`||n===`external-selected`?12:6},nodeCanvasObjectMode:om,nodeCanvasObject:(e,n,i)=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return;let a=Pp(e,{activeDocName:r,selectedNodeId:m}),o=Wp({node:e,navigationIntentByNodeId:L}),s=o===`folder`,c=o===`missing`,l=Fp(a),u=Gp({state:a,displayState:o,globalScale:i}),d=e.kind===`doc`?e.cluster:void 0,f=d?ue(d,j):we;n.beginPath(),n.arc(e.x,e.y,l,0,2*Math.PI,!1),n.fillStyle=a===`active`?Te:a===`active-selected`?De:a===`external`||a===`external-selected`?N:c?ke:a===`selected`?Ee:s?Oe:f,n.fill(),u>l?(n.beginPath(),n.arc(e.x,e.y,u,0,2*Math.PI,!1),n.strokeStyle=c?Pe:a===`active`?Me:a===`selected`||a===`external-selected`?Fe:Ie,n.lineWidth=c?1.75/i:2/i,n.setLineDash(c?[3/i,2/i]:[]),n.stroke(),n.setLineDash([])):s&&(n.beginPath(),n.arc(e.x,e.y,l+2/i,0,2*Math.PI,!1),n.strokeStyle=Ne,n.lineWidth=1.5/i,n.stroke())},nodePointerAreaPaint:(e,n,i,a)=>{if(typeof e.x!=`number`||typeof e.y!=`number`)return;let o=Pp(e,{activeDocName:r,selectedNodeId:m}),s=Wp({node:e,navigationIntentByNodeId:L});i.beginPath(),i.arc(e.x,e.y,Gp({state:o,displayState:s,globalScale:a}),0,2*Math.PI,!1),i.fillStyle=n,i.fill()},onRenderFramePost:(e,n)=>{if(n<1.8)return;let i=oe.current;if(!i)return;e.save();let a=window.devicePixelRatio||1;e.setTransform(a,0,0,a,0,0),e.font=`10px system-ui, sans-serif`,Yp({ctx:e,placements:fp({nodes:He,links:Ue,activeDocName:r,viewport:me,maxLabels:Be,maxLabelWidthPx:ze,labelDescriptors:Ge,measureTextWidthPx:n=>e.measureText(n).width,projectToScreen:(e,n)=>i.graph2ScreenCoords(e,n),getNodeRadiusPx:e=>Gp({state:Pp(e,{activeDocName:r,selectedNodeId:m}),displayState:Wp({node:e,navigationIntentByNodeId:L}),globalScale:n})*n+4}),labelColor:je,chipColor:Le,chipBorderColor:Re}),e.restore()},linkColor:()=>Ae,linkDirectionalArrowLength:3,linkDirectionalArrowRelPos:1,linkWidth:1,showPointerCursor:am,onNodeClick:e=>{if(e.kind===`external`){window.open(e.url,`_blank`,`noopener,noreferrer`);return}if(e.docName){let n=L.get(e.id);window.location.assign(D(n?.hashDocName??e.docName,e.anchor??null))}}})}),n[71]=r,n[72]=Te,n[73]=Me,n[74]=De,n[75]=Ie,n[76]=M,n[77]=we,n[78]=me,n[79]=F,n[80]=Ae,n[81]=te,n[82]=N,n[83]=I,n[84]=P,n[85]=Oe,n[86]=Ne,n[87]=x.nodes,n[88]=j,n[89]=Re,n[90]=Le,n[91]=je,n[92]=Ge,n[93]=Ue,n[94]=He,n[95]=E,n[96]=ze,n[97]=Be,n[98]=ke,n[99]=Pe,n[100]=L,n[101]=Ee,n[102]=m,n[103]=Fe,n[104]=st):st=n[104];let ct;return n[105]!==rt||n[106]!==at||n[107]!==ot||n[108]!==st?(ct=(0,A.jsx)(`div`,{ref:ae,className:rt,onPointerCancel:it,onPointerDownCapture:at,onPointerUpCapture:ot,children:st}),n[105]=rt,n[106]=at,n[107]=ot,n[108]=st,n[109]=ct):ct=n[109],ct}function am(e){return!!(e&&`kind`in e)}function om(){return`replace`}function sm(e){return e.kind!==`external`}function cm(e){return e.id}function lm(e){return e.kind===`external`}var um=50,dm=`ok-graph-docked-url-nodes-v1`,fm=`ok-graph-fullscreen-url-nodes-v1`;function pm(e){if(typeof window>`u`)return!1;try{return window.localStorage.getItem(e)===`true`}catch{return!1}}function mm(e,n){if(!(typeof window>`u`))try{n?window.localStorage.setItem(e,`true`):window.localStorage.removeItem(e)}catch{}}var hm={explore:`Explore`,orphans:`Orphans`,hubs:`Hubs`},gm={incoming:`No Incoming`,outgoing:`No Outgoing`,both:`Both`};async function _m(e){let n=await fetch(`/api/orphans?mode=${encodeURIComponent(e)}`);if(!n.ok)throw Error(`Server error: ${n.status} ${n.statusText}`);let r=await n.json();if(!r.ok)throw Error(r.error??`Failed to load orphan pages`);return r.orphans??[]}async function vm(e){let n=await fetch(`/api/hubs?limit=${encodeURIComponent(String(e))}`);if(!n.ok)throw Error(`Server error: ${n.status} ${n.statusText}`);let r=await n.json();if(!r.ok)throw Error(r.error??`Failed to load hub pages`);return r.hubs??[]}function ym(e){window.location.assign(D(e))}function bm(e){return e===`incoming`?`Project-level pages with no incoming graph edges.`:e===`outgoing`?`Project-level pages with no outgoing graph edges.`:`Project-level pages with neither incoming nor outgoing graph edges.`}function xm(e){return e===`incoming`?`No pages are missing incoming graph links.`:e===`outgoing`?`No pages are missing outgoing graph links.`:`No disconnected pages. Pages appear here only when they have no incoming and no outgoing graph edges.`}function Sm(e){let n=(0,se.c)(29),{mode:r,onModeChange:i}=e,a;n[0]===r?a=n[1]:(a={queryKey:[`orphans`,r],queryFn:()=>_m(r)},n[0]=r,n[1]=a);let{data:c,isLoading:u,error:d}=m(a),f;n[2]===c?f=n[3]:(f=c===void 0?[]:c,n[2]=c,n[3]=f);let p=f,h;n[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,A.jsx)(`p`,{className:`text-sm font-medium`,children:`Project-level disconnected pages`}),n[4]=h):h=n[4];let g;n[5]===r?g=n[6]:(g=bm(r),n[5]=r,n[6]=g);let _;n[7]===g?_=n[8]:(_=(0,A.jsxs)(`div`,{className:`space-y-1`,children:[h,(0,A.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:g})]}),n[7]=g,n[8]=_);let v;n[9]===i?v=n[10]:(v=e=>{e&&ie(e)&&i(e)},n[9]=i,n[10]=v);let y;n[11]===Symbol.for(`react.memo_cache_sentinel`)?(y=te.map(wm),n[11]=y):y=n[11];let b;n[12]!==r||n[13]!==v?(b=(0,A.jsx)(C,{type:`single`,size:`sm`,variant:`outline`,value:r,"aria-label":`Orphan mode`,onValueChange:v,children:y}),n[12]=r,n[13]=v,n[14]=b):b=n[14];let x;n[15]!==_||n[16]!==b?(x=(0,A.jsx)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:(0,A.jsxs)(`div`,{className:`flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between`,children:[_,b]})}),n[15]=_,n[16]=b,n[17]=x):x=n[17];let S;n[18]!==d||n[19]!==u||n[20]!==r||n[21]!==p?(S=d?(0,A.jsx)(o,{children:d instanceof Error?d.message:`Failed to load orphan pages`}):p.length===0&&!u?(0,A.jsx)(s,{children:xm(r)}):(0,A.jsx)(`div`,{className:`flex flex-col gap-2`,children:p.map(Cm)}),n[18]=d,n[19]=u,n[20]=r,n[21]=p,n[22]=S):S=n[22];let w;n[23]!==u||n[24]!==S?(w=(0,A.jsx)(l,{"aria-busy":u,children:S}),n[23]=u,n[24]=S,n[25]=w):w=n[25];let T;return n[26]!==x||n[27]!==w?(T=(0,A.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[x,w]}),n[26]=x,n[27]=w,n[28]=T):T=n[28],T}function Cm(e){return(0,A.jsxs)(`button`,{type:`button`,className:`block w-full rounded-lg border border-border bg-background/80 px-3 py-2 text-left transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:()=>ym(e.docName),children:[(0,A.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.title}),(0,A.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.docName})]},e.docName)}function wm(e){return(0,A.jsx)(x,{value:e,children:gm[e]},e)}function Tm(){let e=(0,se.c)(11),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:[`hubs`,um],queryFn:Dm},e[0]=n):n=e[0];let{data:r,isLoading:i,error:a}=m(n),c;e[1]===r?c=e[2]:(c=r===void 0?[]:r,e[1]=r,e[2]=c);let u=c,d;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,A.jsx)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:(0,A.jsxs)(`div`,{className:`space-y-1`,children:[(0,A.jsx)(`p`,{className:`text-sm font-medium`,children:`Top linked pages`}),(0,A.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Project-level pages ordered by inbound link count, up to `,um,` results.`]})]})}),e[3]=d):d=e[3];let f;e[4]!==a||e[5]!==u||e[6]!==i?(f=a?(0,A.jsx)(o,{children:a instanceof Error?a.message:`Failed to load hub pages`}):u.length===0&&!i?(0,A.jsx)(s,{children:`No hub pages yet. Hubs appear once pages accumulate inbound graph links.`}):(0,A.jsx)(`div`,{className:`flex flex-col gap-2`,children:u.map(Em)}),e[4]=a,e[5]=u,e[6]=i,e[7]=f):f=e[7];let p;return e[8]!==i||e[9]!==f?(p=(0,A.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[d,(0,A.jsx)(l,{"aria-busy":i,children:f})]}),e[8]=i,e[9]=f,e[10]=p):p=e[10],p}function Em(e){return(0,A.jsx)(`button`,{type:`button`,className:`block w-full rounded-lg border border-border bg-background/80 px-3 py-2 text-left transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:()=>ym(e.docName),children:(0,A.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,A.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,A.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.title}),(0,A.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.docName})]}),(0,A.jsx)(`span`,{className:`rounded-md bg-muted px-2 py-1 text-xs font-mono text-muted-foreground`,children:e.count})]})},e.docName)}function Dm(){return vm(um)}function Om(e){let n=(0,se.c)(93),{activeDocName:r}=e,{folderPaths:i,loading:a,pages:o}=re(),[s,c]=(0,O.useState)(!1),[l,m]=(0,O.useState)(`explore`),[h,_]=(0,O.useState)(`both`),[x,te]=(0,O.useState)(null),[D,ne]=(0,O.useState)(null),ie;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(ie=[],n[0]=ie):ie=n[0];let[ce,le]=(0,O.useState)(ie),[k,ue]=(0,O.useState)(Nm),[de,fe]=(0,O.useState)(Mm),me,he;n[1]===k?(me=n[2],he=n[3]):(me=()=>{mm(dm,k)},he=[k],n[1]=k,n[2]=me,n[3]=he),(0,O.useEffect)(me,he);let ge,_e;n[4]===de?(ge=n[5],_e=n[6]):(ge=()=>{mm(fm,de)},_e=[de],n[4]=de,n[5]=ge,n[6]=_e),(0,O.useEffect)(ge,_e);let ve,ye;n[7]===s?(ve=n[8],ye=n[9]):(ve=()=>{if(!s)return;let e=e=>{e.key===`Escape`&&c(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},ye=[s],n[7]=s,n[8]=ve,n[9]=ye),(0,O.useEffect)(ve,ye);let be,xe;n[10]!==s||n[11]!==x?(be=()=>{!s&&x!==null&&te(null)},xe=[s,x],n[10]=s,n[11]=x,n[12]=be,n[13]=xe):(be=n[12],xe=n[13]),(0,O.useEffect)(be,xe);let Se,Ce;n[14]!==l||n[15]!==x?(Se=()=>{l!==`explore`&&x!==null&&te(null)},Ce=[l,x],n[14]=l,n[15]=x,n[16]=Se,n[17]=Ce):(Se=n[16],Ce=n[17]),(0,O.useEffect)(Se,Ce);let j=s?l:`explore`,M=s?de:k,we=s?fe:ue,Te;n[18]!==i||n[19]!==a||n[20]!==o||n[21]!==x?(Te=x?.kind===`doc`&&!a?S(x.docName,{pages:o,folderPaths:i}).displayState:`doc`,n[18]=i,n[19]=a,n[20]=o,n[21]=x,n[22]=Te):Te=n[22];let Ee=Te,De;n[23]!==r||n[24]!==Ee||n[25]!==x?(De=x===null?null:x.kind===`doc`&&Ee===`missing`?{eyebrow:`Broken link`,description:`This page doesn't exist yet. Open it to create the page in the editor and collapse the graph.`,Icon:b,actionLabel:`Create page`,secondaryLabel:x.docName,onAction:()=>{let e=Lp(x);c(!1),window.location.assign(e)}}:x.kind===`doc`&&x.docName===r?{eyebrow:`Already open`,description:`This document is already active in the editor. Use Open to collapse the graph.`,Icon:v,actionLabel:`Open`,secondaryLabel:x.docName,onAction:()=>{let e=Lp(x);c(!1),window.location.assign(e)}}:x.kind===`doc`?{eyebrow:`Selected in graph`,description:`Open this document in the editor and collapse the graph.`,Icon:y,actionLabel:`Open`,secondaryLabel:x.docName,onAction:()=>{let e=Lp(x);c(!1),window.location.assign(e)}}:{eyebrow:`Selected in graph`,description:`Open this link in a new tab and collapse the graph.`,Icon:y,actionLabel:`Open link`,secondaryLabel:x.url,onAction:()=>{window.open(x.url,`_blank`,`noopener,noreferrer`),c(!1)}},n[23]=r,n[24]=Ee,n[25]=x,n[26]=De):De=n[26];let N=De,Oe=s?`fixed inset-0 z-50 bg-background overflow-hidden`:void 0,ke;n[27]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,A.jsx)(f,{children:`Graph`}),n[27]=ke):ke=n[27];let Ae;n[28]!==j||n[29]!==D?(Ae=j===`explore`&&D?(0,A.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,A.jsxs)(d,{children:[D.nodes,` nodes`]}),(0,A.jsxs)(d,{children:[D.links,` links`]})]}):null,n[28]=j,n[29]=D,n[30]=Ae):Ae=n[30];let je;n[31]===Ae?je=n[32]:(je=(0,A.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[ke,Ae]}),n[31]=Ae,n[32]=je);let Me;n[33]!==l||n[34]!==s?(Me=s?(0,A.jsx)(C,{type:`single`,size:`sm`,variant:`outline`,value:l,"aria-label":`Expanded graph mode`,onValueChange:e=>{(e===`explore`||e===`orphans`||e===`hubs`)&&m(e)},children:Object.entries(hm).map(jm)}):null,n[33]=l,n[34]=s,n[35]=Me):Me=n[35];let Ne=M?`Hide external URL nodes`:`Show external URL nodes`,Pe;n[36]===we?Pe=n[37]:(Pe=()=>we(Am),n[36]=we,n[37]=Pe);let Fe=M?`size-4 text-sidebar-accent-foreground`:`size-4 text-muted-foreground`,Ie;n[38]===Fe?Ie=n[39]:(Ie=(0,A.jsx)(w,{className:Fe}),n[38]=Fe,n[39]=Ie);let Le;n[40]!==M||n[41]!==Ne||n[42]!==Pe||n[43]!==Ie?(Le=(0,A.jsx)(T,{asChild:!0,children:(0,A.jsx)(g,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-foreground hover:bg-accent`,"aria-label":Ne,"aria-pressed":M,onClick:Pe,children:Ie})}),n[40]=M,n[41]=Ne,n[42]=Pe,n[43]=Ie,n[44]=Le):Le=n[44];let Re=s?`z-[9999]`:void 0,P=M?`Hide external URL nodes`:`Show external URL nodes`,ze;n[45]!==Re||n[46]!==P?(ze=(0,A.jsx)(E,{side:`bottom`,sideOffset:8,className:Re,children:P}),n[45]=Re,n[46]=P,n[47]=ze):ze=n[47];let Be;n[48]!==Le||n[49]!==ze?(Be=(0,A.jsxs)(ee,{delayDuration:0,children:[Le,ze]}),n[48]=Le,n[49]=ze,n[50]=Be):Be=n[50];let Ve=s?`Collapse graph`:`Expand graph`,F;n[51]===Symbol.for(`react.memo_cache_sentinel`)?(F=()=>c(km),n[51]=F):F=n[51];let He;n[52]===s?He=n[53]:(He=s?(0,A.jsx)(oe,{className:`size-4`}):(0,A.jsx)(ae,{className:`size-4`}),n[52]=s,n[53]=He);let Ue;n[54]!==Ve||n[55]!==He?(Ue=(0,A.jsx)(T,{asChild:!0,children:(0,A.jsx)(g,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-foreground hover:bg-accent`,"aria-label":Ve,onClick:F,children:He})}),n[54]=Ve,n[55]=He,n[56]=Ue):Ue=n[56];let We=s?`z-[9999]`:void 0,Ge=s?`Collapse`:`Expand graph`,I;n[57]!==We||n[58]!==Ge?(I=(0,A.jsx)(E,{side:`bottom`,sideOffset:8,className:We,children:Ge}),n[57]=We,n[58]=Ge,n[59]=I):I=n[59];let Ke;n[60]!==Ue||n[61]!==I?(Ke=(0,A.jsxs)(ee,{delayDuration:0,children:[Ue,I]}),n[60]=Ue,n[61]=I,n[62]=Ke):Ke=n[62];let L;n[63]!==Be||n[64]!==Ke?(L=(0,A.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[Be,Ke]}),n[63]=Be,n[64]=Ke,n[65]=L):L=n[65];let qe;n[66]!==Me||n[67]!==L?(qe=(0,A.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[Me,L]}),n[66]=Me,n[67]=L,n[68]=qe):qe=n[68];let Je;n[69]!==je||n[70]!==qe?(Je=(0,A.jsxs)(u,{className:`flex-wrap gap-3`,children:[je,qe]}),n[69]=je,n[70]=qe,n[71]=Je):Je=n[71];let Ye;n[72]!==r||n[73]!==j||n[74]!==ce||n[75]!==s||n[76]!==x||n[77]!==N||n[78]!==M?(Ye=j===`explore`?(0,A.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,A.jsx)(im,{activeDocName:r,selectedNodeId:s?x?.id??null:null,isExpanded:s,showUrlNodes:M,className:`h-full min-h-0`,docClickBehavior:s?`select`:`navigate`,onSelectNode:s?te:void 0,onBackgroundClick:s?()=>{x!==null&&te(null)}:void 0,onStatsChange:(e,n,r)=>{if(r){ne(null);return}ne({nodes:e,links:n})},onClustersChange:le}),(0,A.jsx)(pe,{clusters:ce,variant:s?`fullscreen`:`docked`}),s&&j===`explore`&&x!==null&&N?(0,A.jsx)(`div`,{className:`pointer-events-none absolute inset-x-4 top-4 z-10 flex justify-center`,children:(0,A.jsxs)(`div`,{role:`status`,"aria-label":`Selected graph item`,className:`pointer-events-auto flex w-full max-w-2xl items-center gap-3 rounded-xl border border-border/70 bg-background/95 px-4 py-3 text-sm shadow-lg backdrop-blur supports-[backdrop-filter]:bg-background/85`,children:[(0,A.jsx)(N.Icon,{className:`size-4 shrink-0 text-primary`}),(0,A.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,A.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:N.eyebrow}),(0,A.jsx)(`div`,{className:`truncate font-medium text-foreground`,children:x.label}),(0,A.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:N.secondaryLabel}),(0,A.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:N.description})]}),(0,A.jsx)(g,{size:`sm`,className:`shrink-0`,onClick:N.onAction,children:N.actionLabel})]})}):null]}):null,n[72]=r,n[73]=j,n[74]=ce,n[75]=s,n[76]=x,n[77]=N,n[78]=M,n[79]=Ye):Ye=n[79];let Xe;n[80]!==j||n[81]!==s||n[82]!==h?(Xe=s&&j===`orphans`?(0,A.jsx)(Sm,{mode:h,onModeChange:_}):null,n[80]=j,n[81]=s,n[82]=h,n[83]=Xe):Xe=n[83];let Ze;n[84]!==j||n[85]!==s?(Ze=s&&j===`hubs`?(0,A.jsx)(Tm,{}):null,n[84]=j,n[85]=s,n[86]=Ze):Ze=n[86];let Qe;return n[87]!==Oe||n[88]!==Je||n[89]!==Ye||n[90]!==Xe||n[91]!==Ze?(Qe=(0,A.jsxs)(p,{className:Oe,children:[Je,Ye,Xe,Ze]}),n[87]=Oe,n[88]=Je,n[89]=Ye,n[90]=Xe,n[91]=Ze,n[92]=Qe):Qe=n[92],Qe}function km(e){return!e}function Am(e){return!e}function jm(e){let[n,r]=e;return(0,A.jsx)(x,{value:n,children:r},n)}function Mm(){return pm(fm)}function Nm(){return pm(dm)}export{Om as GraphPanel};
@@ -0,0 +1 @@
1
+ import{i as e,n as t,r as n,t as r}from"./index-ChO0_t6R.js";export{r as McpConsentDialogBody,r as default,t as computeInitialSelection,n as selectedIdsOrdered,e as toggleSelectedId};