@fnndsc/argus 0.36.2 → 0.37.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{Settings-CjuexnjE.js → Settings-CiFb_at6.js} +1 -1
- package/dist/assets/{Texture-Duh0dhiO.js → Texture-DhflYwlm.js} +1 -1
- package/dist/assets/{addVolumesToViewports-Ag7_TU7w.js → addVolumesToViewports-BvxIbA7o.js} +1 -1
- package/dist/assets/{cornerstoneEngine-5jvmInaS.js → cornerstoneEngine-D1k_eGOf.js} +2 -2
- package/dist/assets/{field-Ck7DlgPH.js → field-CVqP2pjA.js} +3 -3
- package/dist/assets/{index-8M55X85c.js → index--MRRVo__.js} +251 -251
- package/dist/assets/{index-E2p2qvzU.js → index-7Ulblajz.js} +1 -1
- package/dist/assets/{index-WGKyetro.js → index-B2EEDQ0S.js} +1 -1
- package/dist/assets/{index-DGbBo5LB.js → index-BLByZ5mm.js} +1 -1
- package/dist/assets/{index-BECytOhA.js → index-BXHkr7Bw.js} +1 -1
- package/dist/assets/{index-xs7E9h9L.js → index-BbBa1uNR.js} +1 -1
- package/dist/assets/{index-BY_XE5Hd.js → index-BpUGoSu9.js} +1 -1
- package/dist/assets/{index-p3AX9IUn.js → index-C2JM3oDu.js} +1 -1
- package/dist/assets/{index-tPOE0rNQ.js → index-CcOc5bdF.js} +1 -1
- package/dist/assets/{index-CwMvWN2j.js → index-D1BriUrd.js} +1 -1
- package/dist/assets/{index-Biz8SPO_.js → index-D3jvh9AY.js} +1 -1
- package/dist/assets/index-D5OEevqH.css +1 -0
- package/dist/assets/{index-BawsmiRX.js → index-DKcPBiab.js} +1 -1
- package/dist/assets/{index-DN8-T-rp.js → index-gWdcJ-9p.js} +1 -1
- package/dist/assets/{index-CFIL-N-8.js → index-hxIuWoKe.js} +1 -1
- package/dist/assets/{niivueEngine-D4X_lKvS.js → niivueEngine-ByYkmgV5.js} +2 -2
- package/dist/assets/{slabScene-C46_anjU.js → slabScene-CnGTvh8e.js} +1 -1
- package/dist/build.json +1 -1
- package/dist/index.html +4 -4
- package/dist/notes.json +1 -1
- package/package.json +2 -2
- package/dist/assets/index-D-XgI4Ms.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@font-face{font-family:Antonio;src:url(./antonio-latin-400-normal-CZjzwNAN.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Antonio;src:url(./antonio-latin-700-normal-DSH-lEDG.woff2) format("woff2");font-weight:700;font-display:swap}html{font-size:22px;color:#fff}:root{--lfw: 168px;--bar-height: 28px;--left-frame-padding: .75rem;--elbow-radius: 100px;--elbow-inner: 60px;--elbow-inner-radius: 44px;--bar-spur: 8px;--bar-spur-lift: 22px;--bar-bite-radius: 8px;--panel-border: 8px solid #000}body{display:flex;flex-direction:row;margin:0;padding:10px 0 0 5px;background-color:#000;color:var(--daybreak);font-family:Antonio,Arial Narrow,Avenir Next Condensed,sans-serif;line-height:1.5}.wrap-all{display:flex;flex-direction:column;flex:1 1 auto;min-width:auto;min-height:auto;width:100%}.wrap{display:flex;flex:1 1 auto;width:100%;padding:0 15px 0 5px;overflow:hidden}#gap.wrap{margin-top:var(--left-frame-padding)}main{display:block;flex:1 1 auto;min-width:0;padding:60px 0 11px 50px}.left-frame{display:flex;flex-direction:column;justify-content:space-between;position:relative;flex:none;width:var(--lfw);background-color:var(--orange);color:#000;text-align:right;font-weight:700;line-height:1.2}.left-frame-top{display:flex;flex-direction:column;flex:none;width:var(--lfw);border-bottom-left-radius:var(--elbow-radius);background-color:var(--october-sunset);color:#000;text-align:right;font-weight:700;line-height:1.2}button[class^=panel-]{display:flex;justify-content:flex-end;width:var(--lfw);padding:var(--left-frame-padding);border:none;border-bottom:8px solid #000;color:#000;text-align:right;font-family:inherit;font-weight:700;font-size:inherit;line-height:1.2;cursor:pointer}button.panel-1{min-height:160px;flex-direction:column;justify-content:space-between;align-items:flex-end;overflow:hidden}button.panel-2{position:relative;flex:1 1 auto;border-bottom:0;border-bottom-left-radius:var(--elbow-radius)}button.panel-3{align-items:flex-end;border-top-left-radius:var(--elbow-radius)}button.panel-7{border-top:8px solid #000;border-bottom:0}button.panel-console,button.panel-lang{border-bottom:8px solid #000}.banner{min-width:0;min-height:0;padding-left:5px;padding-bottom:4.4px;color:var(--honey);text-align:right;text-transform:uppercase;line-height:1.1}.panel-1,.panel-4,.panel-spacer{background-color:var(--orange)}.panel-2,.panel-3,.panel-6{background-color:var(--october-sunset)}.panel-5,.panel-7,.panel-gather{background-color:var(--harvestgold)}.panel-spacer{width:var(--lfw);background-color:var(--orange);color:#000;text-align:right;font-weight:700;line-height:1.2}.hop{font-family:inherit;font-size:inherit;font-weight:700;line-height:1.2;text-align:right}h1{margin:0;font-size:4rem;font-weight:400;letter-spacing:.2em;line-height:1.2;text-align:right;text-transform:uppercase}.right-frame{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.right-frame-top{position:relative;display:flex;flex-direction:column;width:100%;min-width:0}.bar-panel{display:flex;width:100%}.data-cascade-button-group{display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;min-width:0;min-height:0;padding-bottom:var(--left-frame-padding)}.first-bar-panel{position:relative;margin-top:2.5vh}.bar-1,.bar-2,.bar-3,.bar-4,.bar-5,.bar-6,.bar-7,.bar-8,.bar-9,.bar-10{height:var(--bar-height)}.bar-1,.bar-6{width:10%;background-color:var(--october-sunset);border-right:8px solid #000}.bar-2,.bar-7{width:12%;background-color:var(--orange);border-right:8px solid #000}.bar-3,.bar-8{width:17%;background-color:var(--honey);border-right:8px solid #000}.bar-5,.bar-10{width:5%;background-color:var(--october-sunset);border-left:8px solid #000}.bar-4,.bar-9{position:relative;width:56.0022%;background-color:var(--harvestgold);z-index:-1}.bar-4:before,.bar-9:before,.bar-4:after,.bar-9:after{content:"";position:absolute}.bar-4:before,.bar-9:before{right:60%;width:40%;height:var(--bar-spur);background-color:var(--october-sunset)}.bar-4:before{top:calc(-1 * var(--bar-spur-lift))}.bar-9:before{bottom:calc(-1 * var(--bar-spur-lift))}.bar-4:after,.bar-9:after{right:68%;width:32%;height:48%;background-color:#000;z-index:-1}.bar-4:after{top:52%;border-top-right-radius:var(--bar-bite-radius)}.bar-9:after{bottom:52%;border-bottom-right-radius:var(--bar-bite-radius)}.headtrim,.baseboard{position:fixed;left:0;right:0;height:10px;background-color:#000;z-index:999}.headtrim{top:0}.baseboard{bottom:0}*{box-sizing:border-box}button{margin:0;padding:0;font-family:inherit;font-size:inherit;font-weight:700;line-height:1.5;color:inherit}input,select,textarea{margin:0;padding:0;font-family:inherit;font-size:inherit;line-height:1.5;color:inherit}.argus-input-line input{font-weight:400}a{color:var(--honey);text-decoration:none;text-transform:uppercase;line-height:1.3}.banner a{line-height:1.1}.about-footer a{color:var(--october-sunset);text-transform:none}p{margin:0}label{line-height:1.5}:root{--face-label: "Antonio", sans-serif;--face-data: inherit;--lfw: 168px;--state-done: var(--daybreak);--state-running: var(--orange);--state-error: color-mix(in srgb, #f2402a 80%, var(--october-sunset));--mars: #f2402a}@font-face{font-family:MesloLGS NF;src:url(./MesloLGS-NF-Regular-DAUcZJjt.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:MesloLGS NF;src:url(./MesloLGS-NF-Bold-DbxbaV6p.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:JetBrainsMono NF Mono;src:url(./JetBrainsMonoNerdFontMono-Regular-BVvG7sQH.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:JetBrainsMono NF Mono;src:url(./JetBrainsMonoNerdFontMono-Bold-RfOFb4rr.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Chakra Petch;src:url(./chakra-petch-latin-400-normal-SafcrIr2.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Chakra Petch;src:url(./chakra-petch-latin-500-normal-BR1ody1F.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Chakra Petch;src:url(./chakra-petch-latin-600-normal-DVQm9bgb.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Chakra Petch;src:url(./chakra-petch-latin-700-normal-CnDBPjkL.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(./jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(./jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2");font-weight:500;font-display:swap}#status-strip{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-bottom:.8rem;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}#status-strip .readout{color:var(--honey)}#status-strip .readout:empty{display:none}#status-strip .lamp-online{color:#000}#status-strip .mismatch{color:#ff5f5f;font-weight:700}.lamp-online{background:#6f6;color:#000;padding:0 .5rem;border-radius:.6rem}.lamp-host{background:#ffaf00;color:#000;padding:0 .5rem;border-radius:.6rem}#status-strip .lamp-host{color:#000}.lamp-question{background:#ffaf00;color:#000;padding:0 .5rem;border-radius:.6rem}#status-strip .lamp-question{color:#000}.lamp-offline{background:var(--state-error);color:var(--butter);padding:0 .5rem;border-radius:.6rem}.wrap:not(#gap),.left-frame{transition:translate .5s cubic-bezier(.22,1,.36,1),margin .5s cubic-bezier(.22,1,.36,1)}body[data-zoom]{height:100dvh;overflow:hidden}body[data-zoom] .wrap:not(#gap){translate:0 calc(-1 * var(--zoom-header-height, 100vh));margin-bottom:calc(-1 * var(--zoom-header-height, 0px))}body[data-zoom] .left-frame,body[data-gutter=away] .left-frame{translate:calc(-100% - 20px) 0;margin-right:calc(-1 * var(--lfw))}#gutter-restore{display:none}body[data-gutter=away] #gutter-restore{display:block;position:fixed;left:0;top:20%;bottom:20%;width:12px;z-index:1000;border-radius:0 6px 6px 0;background-color:var(--october-sunset);cursor:pointer;animation:beckon 3.5s ease-in-out infinite}#gutter-restore:hover{animation:none;background-color:var(--harvestgold);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}#drawer{transition:height .5s cubic-bezier(.22,1,.36,1)}#drawer.drawer-dragging{transition:none}body[data-zoom=console] #drawer{height:auto!important;flex:1 1 auto;min-height:0}body[data-zoom=console] main{display:none}body[data-zoom]:not([data-zoom=console]) #drawer{height:0!important}body[data-zoom] .pane-zoomed .files-panel{max-height:calc(100dvh - 7rem)}.lcars-bar-zoom{width:40px;height:28px;background-color:var(--butter);margin-left:.5rem;cursor:pointer}.lcars-bar-zoom:hover{filter:brightness(1.18)}body[data-zoom=console] #drawer .lcars-bar-zoom{background-color:var(--october-sunset)}.files-header-bar{margin:.2rem 0 .5rem}.pane-zoomed .files-header-bar .lcars-bar-zoom{background-color:var(--october-sunset)}.lcars-bar-split{width:28px;height:28px;margin-left:.5rem;cursor:pointer;background:linear-gradient(to right,var(--pumpkin-pie) 45%,transparent 45%,transparent 55%,var(--pumpkin-pie) 55%)}.lcars-bar-split.lcars-split-row{background:linear-gradient(to bottom,var(--pumpkin-pie) 45%,transparent 45%,transparent 55%,var(--pumpkin-pie) 55%)}.lcars-bar-split:hover{filter:brightness(1.4);box-shadow:0 0 10px var(--pumpkin-pie)}.pane-handle{cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation}.pane-handle:hover .lcars-bar-end{filter:brightness(1.25)}.pane-drawer{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.35rem .6rem;margin:-.3rem 0 .5rem;background-color:#00000059;border-left:6px solid var(--pumpkin-pie);border-radius:0 12px 12px 0}.pane-drawer[hidden]{display:none}.pane-drawer button:focus{outline:2px solid var(--butter);outline-offset:2px;box-shadow:0 0 8px var(--butter)}.pane-drawer .drawer-children{display:inline-flex;gap:.4rem}.drawer-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem}.drawer-group+.drawer-group{margin-left:.7rem;padding-left:.7rem;border-left:2px solid color-mix(in srgb,var(--harvestgold) 35%,transparent)}.drawer-group:empty{display:none}.drawer-label{color:var(--harvestgold);font-family:var(--face-label);font-size:.7rem;letter-spacing:.14em;margin-right:.1rem}.drawer-structure .pacs-capsule{background-color:var(--harvestgold);color:#000}.drawer-structure .drawer-mode{background-color:#ffeecc38;color:var(--butter)}.drawer-structure .drawer-mode.drawer-mode-selected{background-color:var(--butter);color:#000;box-shadow:0 0 8px #fec9}.pane-drawer[data-mode=move] .drawer-split{background-color:var(--october-sunset)}.pane-drawer .drawer-split:disabled{opacity:.3;cursor:default}.drawer-binding .drawer-bind,.drawer-binding .drawer-cwdbind{background-color:#ffeecc38;color:var(--butter)}.drawer-binding .drawer-label-cwd{margin-left:.5rem}.drawer-binding .drawer-bind.drawer-bind-selected,.drawer-binding .drawer-cwdbind.drawer-bind-selected{background-color:var(--butter);color:#000;box-shadow:0 0 8px #fec9}.drawer-children .drawer-child{background-color:var(--orange);color:#000}.drawer-children .drawer-child.drawer-destructive{background-color:#d22;color:var(--butter)}.pane-zoomed .pane-drawer .drawer-zoom{background-color:var(--butter)}.pane-view .view-body{flex:1 1 0;min-height:0;overflow:auto}#pacs-workspace{--roster-gap: .8rem;--roster-pad: 6px;display:flex;flex-direction:column;height:100%;overflow:auto;scrollbar-gutter:stable;min-width:0;min-height:0}.workspace-pane{display:none}.layout-leaf>.workspace-pane{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden}.roster-order{position:sticky;top:0;z-index:2;background:#000}.files-panel>.roster-order{position:static;z-index:auto;flex:none}.files-body{--roster-gap: 0px;--roster-pad: 0px}.dag-roster{--roster-gap: .8rem;--roster-pad: 6px}.roster-caps{display:grid;grid-template-columns:var(--roster-cols);column-gap:var(--roster-gap);padding:0 calc(var(--roster-pad) + var(--elbow-clear, 0px)) 0 var(--roster-pad);margin:.2rem 0 .45rem;font-size:.8rem;clip-path:inset(0 calc(var(--roster-pad) + var(--elbow-clear, 0px)) 0 0)}.roster-cap{position:relative;min-width:0;height:24px;margin-right:calc(3px - var(--roster-gap));border:none;border-radius:0;background-color:var(--harvestgold);color:#000;font-family:var(--face-label);font-size:.66rem;letter-spacing:.12em;text-align:left;padding:0 .15rem;cursor:pointer}.pane-dag .roster-cap[data-key=id],.files-body .roster-cap[data-key=size],.files-body .roster-cap[data-key=owner],.files-body .roster-cap[data-key=date]{text-align:right}.roster-cap:first-of-type{border-radius:9px 0 0 9px;padding-left:.7rem}.roster-cap:last-of-type{border-radius:0 9px 9px 0;padding-right:.7rem;margin-right:0}.roster-cap:nth-of-type(3n+2),.mode-frame .strategy-pill:nth-of-type(3n+2){background-color:var(--daybreak)}.roster-cap:nth-of-type(3n+3),.mode-frame .strategy-pill:nth-of-type(3n+3){background-color:var(--orange)}.roster-cap.roster-active{background-color:var(--butter)}.roster-filter[hidden]{display:none}.roster-filter{display:flex;align-items:stretch;height:26px;margin:0 0 .4rem;background:#000}.roster-filter-glyph{display:flex;align-items:center;padding:0 .8rem 0 1rem;background:var(--harvestgold);color:#000;font-family:var(--face-label);font-size:.7rem;letter-spacing:.12em;border-radius:13px 0 0 13px}.roster-filter-input{flex:1;background:transparent;border:none;border-bottom:2px solid var(--pumpkin-pie);outline:none;padding:0 .7rem;color:var(--butter);font-family:Share Tech Mono,monospace;font-size:.74rem}.pane-mode{margin-left:auto;font-family:Share Tech Mono,monospace;font-size:.6rem;letter-spacing:.06em;text-transform:none;opacity:.85}.pane-mode:empty{display:none}.pane-legend .legend-swatch{display:inline-block;width:.55rem;height:.55rem;margin:0 .25rem 0 0;border-radius:2px;vertical-align:-1px}.pane-state{margin-left:1rem;font-family:Share Tech Mono,monospace;font-size:.6rem;letter-spacing:.06em;text-transform:none;opacity:.85}.pane-state.state-live{color:var(--harvestgold);opacity:1}.pane-state.state-settled{opacity:.7}.pane-state.state-stale{color:color-mix(in srgb,var(--orange) 40%,#000);opacity:1;text-decoration:underline dotted}.pane-state.state-wait{color:var(--butter);opacity:1}.pane-state.state-note{color:var(--butter);opacity:1;font-style:italic}.left-frame-top .panel-1{flex-direction:column;align-items:flex-end;justify-content:space-between}.brand-mark{width:4.2rem;aspect-ratio:111 / 78;background-color:#000;mask:url(./ChRISlogo-color-t-i99soF.svg) no-repeat center / contain;-webkit-mask:url(./ChRISlogo-color-t-i99soF.svg) no-repeat center / contain}.brand-mark.brand-mark-td{width:3.2rem;aspect-ratio:240 / 290;background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNDAgMjkwIj4KPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJnIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjQwIiB5MT0iMCIgeDI9IjIwMCIgeTI9IjIyNCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMmE2M2JmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjN2FkM2YxIi8+PC9saW5lYXJHcmFkaWVudD4KPHJhZGlhbEdyYWRpZW50IGlkPSJoIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM3YWQzZjEiIHN0b3Atb3BhY2l0eT0iMC40NSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzdhZDNmMSIgc3RvcC1vcGFjaXR5PSIwIi8+PC9yYWRpYWxHcmFkaWVudD48L2RlZnM+CjxjaXJjbGUgY3g9IjEyMCIgY3k9IjExMiIgcj0iMTA0IiBmaWxsPSJ1cmwoI2gpIi8+PHJlY3QgeD0iMjIuMCIgeT0iNDguMCIgd2lkdGg9IjE5NiIgaGVpZ2h0PSIxMjgiIHJ4PSI2NC4wIiBmaWxsPSJub25lIiBzdHJva2U9IiNjNzQ2MzQiIHN0cm9rZS13aWR0aD0iMTYiLz48bGluZSB4MT0iMTIwIiB5MT0iMTEyIiB4Mj0iMjE0IiB5Mj0iMjIiIHN0cm9rZT0iIzdhZDNmMSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIyIDUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgb3BhY2l0eT0iMC44Ii8+PGxpbmUgeDE9IjEyMCIgeTE9IjExMiIgeDI9IjI2IiB5Mj0iMjAyIiBzdHJva2U9IiM3YWQzZjEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMiA1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIG9wYWNpdHk9IjAuOCIvPjxwYXRoIGQ9Ik0yMTQsMC4wIEwyMTguNSwxNy41IEwyMzAuMCwyMiBMMjE4LjUsMjYuNSBMMjE0LDQ0LjAgTDIwOS41LDI2LjUgTDE5OC4wLDIyIEwyMDkuNSwxNy41WiIgZmlsbD0idXJsKCNnKSIvPjxwYXRoIGQ9Ik0yNiwxODguOCBMMjguNywxOTkuMyBMMzUuNiwyMDIgTDI4LjcsMjA0LjcgTDI2LDIxNS4yIEwyMy4zLDIwNC43IEwxNi40LDIwMiBMMjMuMywxOTkuM1oiIGZpbGw9InVybCgjZykiLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDEwOC42LDg0LjYgMTIwLjAsMi4wIiBmaWxsPSJ1cmwoI2cpIi8+PHBvbHlnb24gcG9pbnRzPSIxMjAuMCwxMTIuMCAxMjAuMCwyLjAgMTMxLjQsODQuNiIgZmlsbD0idXJsKCNnKSIgZmlsbC1vcGFjaXR5PSIwLjciLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDEzMS40LDg0LjYgMTUxLjEsODAuOSIgZmlsbD0idXJsKCNnKSIvPjxwb2x5Z29uIHBvaW50cz0iMTIwLjAsMTEyLjAgMTUxLjEsODAuOSAxNDcuNCwxMDAuNiIgZmlsbD0idXJsKCNnKSIgZmlsbC1vcGFjaXR5PSIwLjciLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDE0Ny40LDEwMC42IDE5Mi4wLDExMi4wIiBmaWxsPSJ1cmwoI2cpIi8+PHBvbHlnb24gcG9pbnRzPSIxMjAuMCwxMTIuMCAxOTIuMCwxMTIuMCAxNDcuNCwxMjMuNCIgZmlsbD0idXJsKCNnKSIgZmlsbC1vcGFjaXR5PSIwLjciLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDE0Ny40LDEyMy40IDE1MS4xLDE0My4xIiBmaWxsPSJ1cmwoI2cpIi8+PHBvbHlnb24gcG9pbnRzPSIxMjAuMCwxMTIuMCAxNTEuMSwxNDMuMSAxMzEuNCwxMzkuNCIgZmlsbD0idXJsKCNnKSIgZmlsbC1vcGFjaXR5PSIwLjciLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDEzMS40LDEzOS40IDEyMC4wLDIyMi4wIiBmaWxsPSJ1cmwoI2cpIi8+PHBvbHlnb24gcG9pbnRzPSIxMjAuMCwxMTIuMCAxMjAuMCwyMjIuMCAxMDguNiwxMzkuNCIgZmlsbD0idXJsKCNnKSIgZmlsbC1vcGFjaXR5PSIwLjciLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDEwOC42LDEzOS40IDg4LjksMTQzLjEiIGZpbGw9InVybCgjZykiLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDg4LjksMTQzLjEgOTIuNiwxMjMuNCIgZmlsbD0idXJsKCNnKSIgZmlsbC1vcGFjaXR5PSIwLjciLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDkyLjYsMTIzLjQgNDguMCwxMTIuMCIgZmlsbD0idXJsKCNnKSIvPjxwb2x5Z29uIHBvaW50cz0iMTIwLjAsMTEyLjAgNDguMCwxMTIuMCA5Mi42LDEwMC42IiBmaWxsPSJ1cmwoI2cpIiBmaWxsLW9wYWNpdHk9IjAuNyIvPjxwb2x5Z29uIHBvaW50cz0iMTIwLjAsMTEyLjAgOTIuNiwxMDAuNiA4OC45LDgwLjkiIGZpbGw9InVybCgjZykiLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDg4LjksODAuOSAxMDguNiw4NC42IiBmaWxsPSJ1cmwoI2cpIiBmaWxsLW9wYWNpdHk9IjAuNyIvPgo8ZyBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBmaWxsPSJub25lIj48bGluZSB4MT0iMTIwIiB5MT0iMTEyIiB4Mj0iMTIwLjAiIHkyPSIxNy40Ii8+PGxpbmUgeDE9IjEyMCIgeTE9IjExMiIgeDI9IjE4MS45IiB5Mj0iMTEyLjAiLz48bGluZSB4MT0iMTIwIiB5MT0iMTEyIiB4Mj0iMTIwLjAiIHkyPSIyMDYuNiIvPjxsaW5lIHgxPSIxMjAiIHkxPSIxMTIiIHgyPSI1OC4xIiB5Mj0iMTEyLjAiLz48cG9seWdvbiBwb2ludHM9IjEzMS40LDg0LjYgMTQ3LjQsMTAwLjYgMTQ3LjQsMTIzLjQgMTMxLjQsMTM5LjQgMTA4LjYsMTM5LjQgOTIuNiwxMjMuNCA5Mi42LDEwMC42IDEwOC42LDg0LjYiLz48L2c+CjxnIGZpbGw9IiNmZmYiPjxjaXJjbGUgY3g9IjEyMCIgY3k9IjExMiIgcj0iMTAiLz48Y2lyY2xlIGN4PSIxMjAuMCIgY3k9IjUxLjUiIHI9IjQuNSIvPjxjaXJjbGUgY3g9IjE1OS42IiBjeT0iMTEyLjAiIHI9IjQuNSIvPjxjaXJjbGUgY3g9IjEyMC4wIiBjeT0iMTcyLjUiIHI9IjQuNSIvPjxjaXJjbGUgY3g9IjgwLjQiIGN5PSIxMTIuMCIgcj0iNC41Ii8+PGNpcmNsZSBjeD0iMTMxLjQiIGN5PSI4NC42IiByPSIzLjUiLz48Y2lyY2xlIGN4PSIxNDcuNCIgY3k9IjEwMC42IiByPSIzLjUiLz48Y2lyY2xlIGN4PSIxNDcuNCIgY3k9IjEyMy40IiByPSIzLjUiLz48Y2lyY2xlIGN4PSIxMzEuNCIgY3k9IjEzOS40IiByPSIzLjUiLz48Y2lyY2xlIGN4PSIxMDguNiIgY3k9IjEzOS40IiByPSIzLjUiLz48Y2lyY2xlIGN4PSI5Mi42IiBjeT0iMTIzLjQiIHI9IjMuNSIvPjxjaXJjbGUgY3g9IjkyLjYiIGN5PSIxMDAuNiIgcj0iMy41Ii8+PGNpcmNsZSBjeD0iMTA4LjYiIGN5PSI4NC42IiByPSIzLjUiLz48L2c+Cjx0ZXh0IHg9IjEyMCIgeT0iMjY4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LWZhbWlseT0iTW9udHNlcnJhdCxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZiIgZm9udC13ZWlnaHQ9IjcwMCIgZm9udC1zaXplPSIzOCIgZmlsbD0iIzJhNjNiZiIgbGV0dGVyLXNwYWNpbmc9IjQiPk9DSSBURDwvdGV4dD4KPC9zdmc+) no-repeat center / contain;mask:none;-webkit-mask:none}.left-frame>div:first-child{position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column}.left-frame>div:first-child:before{content:"";position:absolute;top:0;left:0;width:var(--elbow-radius);height:var(--elbow-radius);background-color:#000}.right-frame-top:before,.right-frame-top:after,.right-frame:before,.right-frame:after{content:"";position:absolute;left:0;z-index:-1;width:var(--elbow-inner);height:var(--elbow-inner)}.right-frame-top:before,.right-frame-top:after{bottom:var(--bar-height)}.right-frame:before,.right-frame:after{top:var(--bar-height)}.right-frame-top:before{background-image:linear-gradient(to right top,var(--october-sunset) 50%,#000 50%)}.right-frame-top:after{background-color:#000;border-bottom-left-radius:var(--elbow-inner-radius)}.right-frame:before{background-image:linear-gradient(to right bottom,var(--october-sunset) 50%,#000 50%)}.right-frame:after{background-color:#000;border-top-left-radius:var(--elbow-inner-radius)}body[data-zoom] .right-frame:before,body[data-zoom] .right-frame:after,body[data-zoom] .right-frame-top:before,body[data-zoom] .right-frame-top:after,body[data-gutter=away] .right-frame:before,body[data-gutter=away] .right-frame:after,body[data-gutter=away] .right-frame-top:before,body[data-gutter=away] .right-frame-top:after{display:none}.left-frame button[class^=panel-],.left-frame .panel-spacer{position:relative}.left-frame .panel-3{height:auto;max-height:none;flex:3 1 0;min-height:3.5rem}.left-frame .panel-4{height:auto;min-height:3rem;flex:2 1 0}.left-frame .panel-5{height:auto;flex:4 1 0;min-height:3rem}.left-frame .panel-6{height:auto;flex:2 1 0;min-height:3rem}.left-frame .panel-spacer{height:auto;flex:1 1 0;min-height:.8rem}.left-frame .panel-7{height:clamp(3.5rem,12vh,30vh)}html,body{height:100dvh}body{overflow:hidden}.wrap-all{height:100%;display:flex;flex-direction:column}.wrap-all>.wrap{width:100%}.wrap:not(#gap){flex:none}#gap{flex:1;min-height:0}.right-frame{display:flex;flex-direction:column;min-height:0}.bar-panel{flex:none}main{flex:1;min-height:0;display:flex;flex-direction:column}#status-strip{flex:none}#layout-root{flex:1;min-height:0}#layout-root>.layout-split,#layout-root>.layout-leaf{height:100%}.layout-split{min-height:0}.layout-leaf{display:flex;min-height:0}#pacs-form{display:grid;grid-template-columns:var(--roster-cols);align-items:end;column-gap:var(--roster-gap);padding:0 calc(var(--roster-pad) + var(--elbow-clear) + var(--spine-w) + .5rem) 0 var(--roster-pad);margin:.3rem 0 .5rem;font-size:.8rem}#pacs-form label{display:flex;flex-direction:column;gap:.15rem;min-width:0;color:var(--honey);font-family:var(--face-label);font-size:.66rem;letter-spacing:.12em}#pacs-form .pacs-form-gutter,#pacs-form .pacs-form-blank{min-width:0}#pacs-form #pacs-run{min-width:0;justify-self:stretch}#pacs-form input{min-width:0;width:100%}#pacs-form input{background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--butter);font-family:Share Tech Mono,monospace;font-size:.8rem;padding:.15rem .5rem;outline:none}#pacs-form input:focus,#pacs-command:focus{border-color:var(--harvestgold);box-shadow:0 0 6px #fa46}#pacs-commandline{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.6rem}#pacs-command{flex:1 1 10rem;min-width:10rem;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.85rem;padding:.2rem .6rem;outline:none}.pacs-capsule{border:none;border-radius:.8rem;padding:.1rem .9rem;background-color:var(--harvestgold);color:#000;font-family:var(--face-label);font-weight:700;font-size:.7rem;letter-spacing:.1em;cursor:pointer}.pacs-capsule-off{background-color:color-mix(in srgb,var(--harvestgold) 28%,transparent);color:var(--honey)}.pacs-capsule:hover{filter:brightness(1.3);box-shadow:0 0 8px var(--harvestgold)}.pacs-capsule:active{background-color:color-mix(in srgb,var(--harvestgold) 45%,#000);color:var(--butter);filter:none;box-shadow:none}.pacs-capsule:disabled{opacity:.35;cursor:default}.pacs-provenance{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:right;padding-right:.6rem;color:var(--honey);font-family:var(--face-label);font-size:.66rem;letter-spacing:.12em}.pacs-capsule.pacs-capsule-requery{background-color:var(--october-sunset);color:#000}.pacs-capsule.pacs-capsule-requery:hover{box-shadow:0 0 8px var(--october-sunset)}.pacs-listing{position:relative;display:flex;flex-direction:column;flex:1 1 0;min-height:0;padding-right:var(--spine-w);margin-bottom:.6rem}#pacs-results{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;padding-top:calc(var(--rule-h) + .3rem)}#pacs-results>.roster-order{position:static;z-index:auto;flex:none}#pacs-results>.listing-field{flex:1 1 auto;padding-right:.5rem}.pacs-study{margin-bottom:.7rem}.pacs-study-row{padding-block:3px;color:var(--orange);border-bottom:2px solid var(--orange);cursor:pointer}.pacs-study-row:hover{background:color-mix(in srgb,var(--harvestgold) 12%,transparent)}.pacs-study-row>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pacs-study-patient,.pacs-study-desc{color:var(--butter)}.pacs-study-mrn,.pacs-study-accession{color:var(--harvestgold)}.pacs-study-date,.pacs-study-modalities,.pacs-study-server,.pacs-study-count{color:var(--pumpkin-pie)}#pacs-results .listing-level[data-depth="2"]{font-size:.8rem;padding-left:1.4em}#pacs-results .listing-level[data-depth="2"] .roster-caps{margin:.35rem 0 .3rem}.pacs-series{padding-block:2px}.pacs-series:hover{background:color-mix(in srgb,var(--harvestgold) 12%,transparent)}.pacs-series-desc{color:var(--butter);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pacs-series-modality{color:var(--harvestgold)}.pacs-series-files{color:var(--pumpkin-pie);text-align:right}#pacs-results .roster-cap[data-key=files]{text-align:right}.pacs-badge{display:grid;grid-template-columns:1fr 9.5em;align-items:center;gap:.4rem;min-width:0;font-size:.7rem;color:var(--honey)}.pacs-badge:not(:has(>.listing-progress,>.pacs-bar-full,>.pacs-bar)){grid-template-columns:1fr}.pacs-badge .listing-progress,.pacs-badge .pacs-bar{min-width:0}.pacs-badge-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pacs-badge[data-state=running]{color:var(--state-running)}.pacs-badge[data-state=done]{color:var(--state-done)}.pacs-badge[data-state=error]{color:var(--state-error)}.pacs-badge[data-state=unconfirmed]{color:var(--honey)}.pane-gather{display:flex;flex-direction:column;min-height:0}.gather-listing{--roster-gap: .8rem;--roster-pad: 6px;position:relative;display:flex;flex-direction:column;flex:1 1 0;min-height:0;padding-right:var(--spine-w)}.gather-rows{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden}.gather-cohort-name{color:var(--harvestgold);font-weight:700}.gather-series-desc{color:var(--butter)}.gather-series-state{color:var(--honey);text-transform:uppercase;font-size:.75rem}#layout-root{width:100%}#layout-root.layout-arrive{animation:layout-arrive .45s cubic-bezier(.22,1,.36,1)}@keyframes layout-arrive{0%{transform:translate(60px);opacity:0}to{transform:translate(0);opacity:1}}.layout-split{display:flex;width:100%;min-width:0}.layout-col{flex-direction:row}.layout-row{flex-direction:column}.layout-leaf{min-width:0;overflow:hidden;border-radius:4px}.layout-leaf.pane-focused{position:relative}.layout-leaf.pane-focused:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:20;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--harvestgold) 45%,transparent)}.layout-divider{flex:none;background:var(--pumpkin-pie);opacity:.35;border-radius:3px}.layout-col>.layout-divider{width:6px;margin:0 4px;cursor:col-resize}.layout-row>.layout-divider{height:6px;margin:4px 0;cursor:row-resize}.layout-divider:hover{opacity:1;background:var(--harvestgold);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}.dag-canvas{flex:1 1 0;min-height:0;overflow:hidden;position:relative}.node-overlay{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;background:#000000eb;border-left:6px solid var(--harvestgold);opacity:0;transition:opacity .3s ease;overflow:hidden}.node-overlay-open{opacity:1}.node-overlay-body{flex:1;min-height:0}.dag-node-tip{position:absolute;z-index:5;pointer-events:none;padding:.15rem .55rem;background:#000000d9;border:1px solid var(--pumpkin-pie);border-radius:.6rem .2rem;color:var(--butter);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.dag-canvas canvas,.universe-canvas canvas{display:block;width:100%!important;height:100%!important}.wait-progress{position:absolute;left:1rem;bottom:1rem;z-index:6;pointer-events:none;display:flex;flex-direction:column;gap:.35rem;min-width:18rem;max-width:calc(100% - 2rem);padding:.45rem .8rem .55rem;background:#000c;border:1px solid var(--pumpkin-pie);border-radius:.8rem .25rem}.wait-progress[hidden]{display:none}.wait-progress-label{color:var(--butter);font-family:var(--face-label);font-size:.8rem;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wait-progress-track{position:relative;display:block;height:.4rem;border-radius:.2rem;background:#ffffff1f;overflow:hidden}.wait-progress-fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--pumpkin-pie);border-radius:.2rem;transition:width .15s linear}.wait-progress-indeterminate .wait-progress-fill{width:30%;animation:wait-progress-run 1.2s ease-in-out infinite}@keyframes wait-progress-run{0%{left:-30%}to{left:100%}}.universe-canvas{flex:1 1 0;min-height:0;overflow:hidden;position:relative}body[data-zoom]:not([data-zoom=console]) .layout-leaf:not(.pane-zoomed),body[data-zoom]:not([data-zoom=console]) .layout-divider{display:none}body[data-zoom]:not([data-zoom=console]) .pane-zoomed-path,body[data-zoom]:not([data-zoom=console]) .pane-zoomed{flex:1 1 100%!important;width:100%!important;height:100%!important}body[data-zoom]:not([data-zoom=console]) .pane-zoomed-path>:not(.pane-zoomed,.pane-zoomed-path,.layout-divider){display:none}.dag-facts{position:absolute;left:.6rem;bottom:.5rem;z-index:3;max-width:46%;padding:.25rem .6rem;font-size:.75rem;background:#000000b8;border-left:4px solid var(--harvestgold);border-radius:0 10px 10px 0}.dag-facts:not(:has(>:not(.more-chip))){display:none}.dag-subway{display:flex;align-items:flex-start;margin-top:.5rem;padding-bottom:.1rem}.subway-step{display:flex;flex-direction:column;align-items:center;gap:.2rem;flex:none;margin-top:0}.subway-stop{width:10px;height:10px;border-radius:50%;border:1px solid var(--pumpkin-pie);background:transparent;flex:none}.subway-label{font-family:var(--face-label);font-size:.5rem;letter-spacing:.06em;line-height:1;color:var(--pumpkin-pie);white-space:nowrap}.subway-step-here .subway-label{color:var(--orange);font-weight:700}.subway-step:has(.subway-passed) .subway-label,.subway-step:has(.subway-done) .subway-label{color:var(--harvestgold)}.subway-step:has(.subway-failed) .subway-label{color:var(--state-error)}.subway-step-here .subway-stop{width:13px;height:13px;margin-top:-1.5px}.subway-stop.subway-passed{background:var(--harvestgold);border-color:var(--harvestgold)}.subway-stop.subway-here{background:var(--orange);border-color:var(--orange);box-shadow:0 0 7px var(--orange)}.subway-stop.subway-terminal.subway-done{background:var(--butter);border-color:var(--butter)}.subway-stop.subway-terminal.subway-failed{background:var(--state-error);border-color:var(--state-error);box-shadow:0 0 7px var(--state-error)}.subway-link{height:2px;flex:1 1 8px;min-width:10px;margin-top:4px;background:#cc550073}.subway-link.subway-passed{background:var(--harvestgold)}.dag-roster{display:none;position:relative;flex:1 1 0;min-height:0;padding-right:var(--spine-w)}.dag-roster.roster-shown{display:flex;flex-direction:column}.dag-feedlist{display:none;flex:1 1 0;min-height:0;flex-direction:column;overflow:hidden;font-size:.8rem}.dag-feedlist>.roster-order{position:static;z-index:auto;flex:none}.dag-feedlist .roster-order{margin-bottom:calc(var(--rule-h) + .3rem)}.feedlist-loading{padding:.5rem .6rem;color:var(--harvestgold);letter-spacing:.12em;animation:roster-breathe 1.2s ease-in-out infinite}.feedlist-refusal{padding:.5rem .9rem .15rem;color:var(--honey);font-family:var(--face-label);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.feedlist-warming{padding:.15rem .9rem .5rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.7rem}@keyframes roster-breathe{0%,to{opacity:.35}50%{opacity:1}}.feedlist-row:hover{background:color-mix(in srgb,var(--harvestgold) 18%,transparent)}.feedlist-row.feedlist-arrived .feedlist-id,.feedlist-row.feedlist-arrived .feedlist-title{animation:roster-breathe 1.6s ease-in-out infinite}.feedlist-newhead{padding:.4rem .6rem .2rem;color:var(--harvestgold);font-family:var(--face-label);letter-spacing:.12em}.feedlist-newmark{margin-left:.6em;padding:0 .5em;border-radius:.6em;background:var(--harvestgold);color:#000;font-size:.8em;letter-spacing:.06em;white-space:nowrap}.feedlist-id{color:var(--daybreak);text-align:right}.feedlist-title{color:var(--butter);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.feedlist-titled{display:flex;align-items:baseline;gap:.4em;min-width:0}.feedlist-title-text{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.feedlist-tag{--tag-hue: var(--honey);flex:none;color:var(--tag-hue);border:1px solid color-mix(in srgb,var(--tag-hue) 55%,transparent);border-radius:.6em;padding:0 .4em;cursor:pointer}.feedlist-tag:hover{border-color:var(--tag-hue)}.feedlist-tag-x{display:none;margin-left:.3em;color:var(--october-sunset)}.listing-indicated .feedlist-tag-x{display:inline}.listing-indicated .feedlist-tag{--tag-hue: #000}.listing-indicated .feedlist-tag-x{color:#000}.dag-marks{display:flex;flex-wrap:wrap;gap:.3em;padding:.3em .4em;font-size:.8rem}.dag-marks[hidden]{display:none}.dag-marks .feedlist-tag-x{display:inline}.holder-marks{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.35em}.mode-frame .holder-marks{flex-direction:column;align-items:flex-end;max-width:100%}.holder-mark{display:inline-flex;max-width:100%;border:1px solid currentColor;border-radius:.6em;padding:0 .4em}.holder-mark-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.holder-mark-x{flex:none;margin-left:.3em;cursor:pointer}.dag-note-line{flex:1 1 100%;color:var(--butter);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedlist-status{color:var(--honey);font-size:.7rem}.feedlist-finishedWithError .feedlist-status,.feedlist-cancelled .feedlist-status{color:var(--state-error)}.feedlist-started .feedlist-status,.feedlist-running .feedlist-status{color:var(--orange)}.feedlist-owner,.feedlist-created{color:var(--daybreak);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}*{scrollbar-width:thin;scrollbar-color:var(--harvestgold) #000}*::-webkit-scrollbar{width:7px;height:7px}*::-webkit-scrollbar-track{background:#000}*::-webkit-scrollbar-thumb{background:var(--harvestgold);border-radius:4px}*::-webkit-scrollbar-button{display:none;height:0}.files-body,.image-body,.edit-body,.tags-body,.help-body,.games-body,.notes-body,.dag-canvas,.universe-canvas,.dag-roster,.gather-listing,.header-gather-field,.files-table-field,.pacs-listing,#pacs-form{--frame-top: var(--mode-frame-top, 0px);--spine-w: 21px;--rule-h: 6px;--bar-w: 7.2rem;--elbow-h: 30px;--elbow-clear: 36px}.workspace-pane[data-modes=open] .files-body,.workspace-pane[data-modes=open] .image-body,.workspace-pane[data-modes=open] .edit-body,.workspace-pane[data-modes=open] .tags-body,.workspace-pane[data-modes=open] .dag-canvas,.workspace-pane[data-modes=open] .universe-canvas,.workspace-pane[data-modes=open] .dag-roster,.workspace-pane[data-modes=open] .gather-listing,.workspace-pane[data-modes=open] .files-table-field,.workspace-pane[data-modes=open] .pacs-listing,.header-gather-field[data-modes=open]{--spine-w: var(--bar-w)}.header-gather-field[data-modes=open] .mode-frame{visibility:visible;opacity:1;transition:opacity .12s ease-out .16s,visibility 0s linear .16s}.field-rule{position:absolute;top:var(--frame-top);left:0;right:var(--spine-w);height:var(--rule-h);background-color:var(--harvestgold);transition:right .22s ease-out;z-index:4;pointer-events:none}.mode-strip{color:#000;position:absolute;top:var(--frame-top);right:0;bottom:0;width:var(--spine-w);margin:0;padding:0;border:none;border-radius:0 22px 4px 4px;background-color:var(--harvestgold);cursor:pointer;transition:width .22s ease-out;z-index:4}.mode-strip:hover{filter:brightness(1.18)}.mode-elbow{position:absolute;top:var(--frame-top);right:0;width:calc(var(--spine-w) + var(--elbow-clear));height:var(--elbow-h);background-color:var(--harvestgold);border-top-right-radius:22px;transition:width .22s ease-out;z-index:5;pointer-events:none}.mode-elbow:after{content:"";position:absolute;left:0;bottom:0;width:var(--elbow-clear);height:calc(var(--elbow-h) - var(--rule-h));background-color:#000;border-top-right-radius:12px}.mode-frame{position:absolute;top:calc(var(--frame-top) + var(--elbow-h) + 3px);right:0;bottom:0;width:var(--spine-w);display:flex;flex-direction:column;gap:3px;background-color:#000;visibility:hidden;opacity:0;transition:opacity .12s ease-out,visibility 0s linear .12s;z-index:5;overflow-y:auto;scrollbar-width:none}.mode-frame::-webkit-scrollbar{display:none}.holds-more{scrollbar-width:none}.holds-more::-webkit-scrollbar{display:none}:root{--edge-flare: var(--harvestgold)}[data-more=wired][data-edge=top]{animation:edge-flare-top .45s ease-out}[data-more=wired][data-edge=bottom]{animation:edge-flare-bottom .45s ease-out}[data-more=wired][data-edge=top]>*{animation:edge-bounce-top .32s cubic-bezier(.2,.7,.3,1.4)}[data-more=wired][data-edge=bottom]>*{animation:edge-bounce-bottom .32s cubic-bezier(.2,.7,.3,1.4)}@keyframes edge-flare-top{0%{box-shadow:inset 0 0 0 0 transparent}30%{box-shadow:inset 0 26px 24px -14px var(--edge-flare)}to{box-shadow:inset 0 0 0 0 transparent}}@keyframes edge-flare-bottom{0%{box-shadow:inset 0 0 0 0 transparent}30%{box-shadow:inset 0 -26px 24px -14px var(--edge-flare)}to{box-shadow:inset 0 0 0 0 transparent}}@keyframes edge-bounce-top{0%{transform:translateY(0)}35%{transform:translateY(6px)}to{transform:translateY(0)}}@keyframes edge-bounce-bottom{0%{transform:translateY(0)}35%{transform:translateY(-6px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){[data-more=wired][data-edge],[data-more=wired][data-edge]>*{animation:none}}.more-chip{position:sticky;bottom:.3rem;display:block;flex:none;margin:.3rem auto 0;width:max-content;z-index:2;align-self:center;padding:.25rem .7rem;border:none;border-radius:999px;background:var(--butter);color:#000;font-family:var(--face-label);font-size:.62rem;letter-spacing:.08em;cursor:pointer;box-shadow:0 0 0 4px #000}.more-chip[hidden]{display:none}.more-chip:hover{background:var(--harvestgold)}.frame-more{bottom:0;margin-top:auto}.workspace-pane[data-modes=open] .mode-frame{visibility:visible;opacity:1;transition:opacity .12s ease-out .16s,visibility 0s linear .16s}.mode-frame .strategy-pill{flex:none;width:100%;min-width:0;height:1.6rem;line-height:1.6rem;margin:0;padding:0 .6rem 0 .4rem;border:none;border-radius:0;background-color:var(--harvestgold);color:#000;text-align:right}.mode-frame .strategy-pill:hover{filter:brightness(1.18)}.mode-fill{flex:1 1 0;min-height:1rem;background-color:var(--daybreak);border-radius:0 0 4px 4px;cursor:pointer}.mode-fill:hover{filter:brightness(1.18)}.mode-frame .strategy-pill.rail-off{background-color:color-mix(in srgb,var(--harvestgold) 30%,transparent);color:var(--honey)}.mode-frame .strategy-pill.rail-na{background-color:color-mix(in srgb,var(--harvestgold) 30%,transparent);color:var(--honey);text-decoration:line-through}.files-body.content-view>.field-rule,.files-body.content-view>.mode-strip,.files-body.content-view>.mode-elbow,.files-body.content-view>.mode-frame,.dag-canvas:has(>.node-overlay)>.field-rule,.dag-canvas:has(>.node-overlay)>.mode-strip,.dag-canvas:has(>.node-overlay)>.mode-elbow,.dag-canvas:has(>.node-overlay)>.mode-frame{display:none}.strategy-pill{border:none;border-radius:.7rem;padding:0 .7rem;background-color:#000;color:var(--harvestgold);font-family:var(--face-label);font-weight:700;font-size:.65rem;letter-spacing:.1em;cursor:pointer}.strategy-pill:hover{filter:brightness(1.18)}#header-dag{gap:2rem}body:not([data-header]) #header-dag,body[data-header=dag] #header-dag{display:flex}#pipeline-cycler{position:relative;flex:0 1 30%;min-width:10rem;height:7.5rem}#header-dag-info{flex:1 1 68%;min-width:0;font-family:Share Tech Mono,monospace;font-size:.72rem}#index-instrument{column-span:all;margin-bottom:.35rem}#index-instrument .index-row{margin-bottom:.15rem}#index-instrument .index-bar{flex:0 1 16rem;min-width:6rem}#index-instrument .status-degraded .telemetry-value{color:var(--state-error)}#index-instrument .index-verb{flex:none;margin-left:.4rem;background-color:var(--state-error);color:var(--butter)}#about-rows{columns:3;column-gap:2rem}#pipeline-cycler canvas{display:block;width:100%!important;height:100%!important}#pipeline-cycler-name{position:absolute;bottom:.2rem;left:.6rem;color:var(--pumpkin-pie);font-family:var(--face-label);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}.files-panel{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.status-degraded{color:var(--state-error)}.listing-progress{display:block;position:relative;height:.45rem;min-width:2rem;border-radius:.25rem;background:color-mix(in srgb,var(--pumpkin-pie) 22%,transparent);overflow:hidden}.listing-progress-idle{background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--harvestgold) 60%,transparent)}.listing-progress-fill{display:block;height:100%;border-radius:.25rem;transition:width .25s linear}.listing-progress-running .listing-progress-fill{background:var(--state-running)}.listing-progress-done .listing-progress-fill{background:var(--pumpkin-pie)}.listing-progress-failed .listing-progress-fill{background:var(--state-error)}.listing-index-cell{display:flex;align-items:center;padding-inline-end:.5rem}.listing-index{box-sizing:border-box;min-width:4.4rem;padding:.05rem .45rem;border-radius:.7rem;font:600 .78rem/1.3 var(--lcars-font, inherit);letter-spacing:.04em;text-align:center;color:#ffffff61;background:#ffffff0f}.listing-index.numbered{color:#000;background:var(--listing-index-hue, var(--butter))}.pane-files{--listing-index-hue: var(--harvestgold)}.pane-pacs,.pacs-panel,[class*=pacs-],.pane-gather,.gather-rows,#header-gather{--listing-index-hue: var(--daybreak)}.pane-dag,.pane-tags{--listing-index-hue: var(--harvestgold)}.listing-actions{--listing-action-height: 1.35rem;box-sizing:border-box;display:flex;gap:.4rem;align-items:center;min-height:var(--listing-action-height)}.listing-action{box-sizing:border-box;height:var(--listing-action-height);border:none;border-radius:.8rem;padding:.1rem .9rem;background:var(--harvestgold);color:#000;font-family:var(--face-label);font-weight:700;font-size:.7rem;letter-spacing:.1em;cursor:pointer}.listing-action:hover:not(:disabled){filter:brightness(1.3);box-shadow:0 0 8px var(--harvestgold)}.listing-action:active:not(:disabled),.listing-action-selected:not(:disabled){background:color-mix(in srgb,var(--harvestgold) 42%,#000);color:var(--butter);filter:none;box-shadow:none}.listing-action-selected:hover:not(:disabled){filter:brightness(1.2);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}.listing-action:disabled{opacity:.35;cursor:default}.listing-readout{color:var(--honey);font-size:.7rem;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-row-indicated .files-name,.files-row-indicated .files-glyph,.feedlist-row.listing-indicated .feedlist-title,.feedlist-row.listing-indicated .feedlist-id{color:var(--butter);text-shadow:0 0 8px rgb(255 238 204 / 60%)}.listing-row{display:grid;grid-template-columns:var(--roster-cols);align-items:center;column-gap:var(--roster-gap);padding:2px calc(var(--roster-pad) + var(--elbow-clear, 0px)) 2px var(--roster-pad);font-size:.8rem}.listing-row>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listing-row>.listing-actions{padding-block:0}.listing-activatable{cursor:pointer}.listing-group{display:block}.listing-level{padding-left:0}.listing-indicated>span:first-child,.listing-indicated>span:nth-child(2){color:var(--butter);text-shadow:0 0 8px rgb(255 238 204 / 60%)}.listing-selected>span{color:var(--butter)}.mode-frame .listing-zone{display:flex;flex-direction:column;gap:3px;margin-top:.75rem}.mode-frame .listing-zone[hidden]{display:none}.mode-frame .listing-zone .listing-action{flex:none;width:100%;min-width:0;height:auto;min-height:1.6rem;line-height:1.2;margin:0;padding:.2rem .6rem .2rem .4rem;border-radius:0;font-size:.65rem;text-align:right;white-space:normal;overflow-wrap:anywhere}.mode-frame .listing-zone .listing-readout{padding:.1rem .6rem 0 .4rem;text-align:right;white-space:normal;overflow:visible;line-height:1.25}.listing-framed .listing-indicated{background:var(--harvestgold);margin-right:-.5rem;padding-right:calc(var(--roster-pad) + var(--elbow-clear, 0px) + .5rem)}.listing-framed .listing-indicated>span,.listing-framed .listing-indicated>span:first-child,.listing-framed .listing-indicated>span:nth-child(2){color:#000;text-shadow:none}.listing-framed .listing-indicated .files-name{font-weight:700}.listing-framed .listing-field{overflow-x:hidden}.listing-field:has(.listing-activating) .listing-row:not(.listing-activating){opacity:.25}.listing-row.listing-activating{background:var(--harvestgold);color:#000}.listing-row.listing-activating .listing-control{background:var(--butter);color:#000;animation:grip-breathe .8s ease-in-out infinite alternate}.pane-state.state-refused{color:var(--state-error);opacity:1}.listing-framed .listing-indicated .listing-progress{background:#000}.listing-framed .listing-indicated .listing-progress-idle{background:#000;box-shadow:none}.listing-framed .listing-indicated .listing-progress-fill,.listing-framed .listing-indicated .pacs-bar-full{background:var(--butter)}.listing-framed .listing-indicated .listing-progress-running .listing-progress-fill{background:var(--state-running)}.listing-framed .listing-indicated .listing-progress-failed .listing-progress-fill{background:var(--state-error)}.listing-framed .listing-indicated .pacs-badge,.listing-framed .listing-indicated .pacs-badge[data-state]{color:#000}.listing-framed:not(.listing-selecting):has(.listing-indicated) .listing-row:not(.listing-indicated):not(.files-lead-up):not(.files-lead-home){opacity:.25;transition:opacity .12s ease-out}.listing-framed:not(.listing-selecting):has(.listing-indicated) .listing-row:not(.listing-indicated):not(.files-lead-up):not(.files-lead-home):hover{opacity:1}.files-row.files-denied{opacity:.55}.files-row.files-denied .files-glyph{color:var(--state-error)}.files-row.files-denied .files-name{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--state-error) 70%,transparent)}.files-content-refused{color:var(--state-error)}.files-refused{padding:.6rem .2rem}.files-refused-lede{margin:0 0 .4rem;color:var(--state-error);font-family:var(--face-label);font-weight:700;letter-spacing:.12em}.files-refused-said{margin:0;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.8rem;white-space:pre-wrap;opacity:.9}.listing-field{flex:1 1 0;min-height:0;overflow-y:auto}.files-panel>.listing-field{padding-right:.5rem}.empty-shortcuts{display:flex;gap:.6rem;margin:.3rem 0 .6rem}.empty-promptline{display:flex;margin-bottom:.6rem}.empty-prompt{flex:1;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.85rem;padding:.2rem .6rem;outline:none}.empty-prompt:focus{border-color:var(--harvestgold);box-shadow:0 0 6px color-mix(in srgb,var(--harvestgold) 40%,transparent)}.empty-result{flex:1 1 0;min-height:0;overflow:auto;font-family:Share Tech Mono,monospace;font-size:.8rem;color:var(--daybreak);white-space:pre-wrap}.files-empty{color:var(--honey);opacity:.6;font-size:.8rem;letter-spacing:.08em}.files-listing{margin-bottom:1rem;overflow-x:auto}.files-path{position:sticky;top:0;z-index:2;background:#000;color:var(--orange);font-weight:700;letter-spacing:.05em;padding-bottom:.2rem;margin-bottom:calc(var(--rule-h, 6px) + .4rem);font-size:.9rem;min-width:0;overflow-wrap:anywhere;word-break:break-word}.files-crumb{font:inherit;color:inherit;letter-spacing:inherit;background:none;border:0;padding:0 .1em;margin:0;border-radius:.3em}button.files-crumb{cursor:pointer}button.files-crumb:hover,button.files-crumb:focus-visible{background:var(--orange);color:#000;outline:none}.link-line{display:flex;align-items:center;gap:.5rem;margin-top:.2rem;font-family:var(--face-label);font-size:.7rem;font-weight:400;letter-spacing:.04em;min-width:0}.link-line[hidden]{display:none}.link-pill{flex:none;border:none;border-radius:.6rem;padding:.05rem .7rem;background:var(--orange);color:#000;font:inherit;font-weight:700;letter-spacing:.1em;cursor:pointer}.link-pill:hover,.link-pill:focus-visible{filter:brightness(1.18);outline:none}.link-line[data-copied=yes] .link-pill{background:var(--harvestgold)}.link-line[data-copied=no] .link-pill{background:var(--mars)}.link-address{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--orange);cursor:copy;-webkit-user-select:all;user-select:all}.dag-linkline{position:absolute;top:.7rem;left:.6rem;z-index:3;max-width:60%;margin:0;padding:.15rem .6rem .15rem .2rem;background:#000000b8;border-radius:.7rem}.files-crumb-here{color:var(--honey, var(--orange))}.files-content-header{position:static;border-bottom:2px solid var(--orange);margin-bottom:.3rem}.files-row>span{padding:2px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-glyph{font-family:MesloLGS NF,Inconsolata,monospace;font-size:.95rem;line-height:1;color:var(--console-white, var(--butter))}.files-glyph-dir,.files-type-dir .files-name{color:var(--console-yellow, var(--harvestgold));font-weight:700}.files-glyph-file,.files-type-file .files-name{color:var(--console-white, var(--butter))}.files-glyph-link,.files-type-link .files-name{color:var(--console-cyan, var(--daybreak))}.files-glyph-plugin,.files-type-plugin .files-name{color:var(--console-green, var(--honey));font-weight:700}.files-glyph-pipeline,.files-type-pipeline .files-name{color:var(--console-magenta, var(--honey));font-weight:700}.files-glyph-vfs,.files-type-vfs .files-name{color:var(--console-magenta, var(--harvestgold));font-weight:700}.files-glyph-job,.files-type-job .files-name{color:var(--console-cyan, var(--harvestgold));font-weight:700}.files-name{color:var(--console-white, var(--butter))}.files-version{color:var(--console-white, var(--butter));font-variant-numeric:tabular-nums}.files-run-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;min-width:0;padding:.3rem var(--roster-pad, 6px) .4rem;margin-right:calc(var(--elbow-clear, 0px) + .5rem)}.files-binding{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:var(--honey);font-family:var(--face-label);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.files-command{flex:1 1 14em;min-width:0;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.85rem;padding:.2rem .6rem;outline:none}.files-command:focus{border-color:var(--harvestgold)}.files-feed{flex:none;border:none}.files-body.files-catalogue .files-home,.files-body.files-catalogue .files-back,.files-body.files-catalogue .files-mkdir,.files-body.files-catalogue .files-upload,.files-body.files-catalogue .files-select{display:none}.files-capsule,.listing-capsule,.listing-control.pacs-fold{display:inline-flex;align-items:center;justify-content:center;align-self:center;box-sizing:border-box;min-height:24px;margin:2px 0;padding:.1rem .7rem;border-radius:.8rem;background:color-mix(in srgb,var(--harvestgold) 38%,transparent);color:#000;font-family:var(--face-label);font-weight:700;font-size:.62rem;letter-spacing:.1em;line-height:1;cursor:pointer;transition:background-color .12s ease-out}.files-capsule:hover,.listing-capsule:hover,.listing-control.pacs-fold:hover{background:var(--harvestgold)}.files-control.files-capsule{font-family:MesloLGS NF,Inconsolata,monospace;font-size:.95rem;letter-spacing:0;padding:.1rem .5rem;color:#000}.files-control.files-capsule.files-glyph-dir{background:var(--console-yellow, var(--harvestgold))}.files-control.files-capsule.files-glyph-file,.files-control.files-capsule.files-glyph-job{background:var(--console-white, var(--butter))}.files-control.files-capsule.files-glyph-link{background:var(--console-cyan, var(--daybreak))}.files-control.files-capsule.files-glyph-plugin{background:var(--console-green, var(--honey))}.files-control.files-capsule.files-glyph-pipeline,.files-control.files-capsule.files-glyph-vfs{background:var(--console-magenta, var(--honey))}.listing-framed .listing-indicated .files-capsule,.listing-framed .listing-indicated .listing-capsule,.listing-framed .listing-indicated .listing-control.pacs-fold{background:#00000047}.listing-framed .listing-indicated .files-capsule:hover,.listing-framed .listing-indicated .listing-capsule:hover,.listing-framed .listing-indicated .listing-control.pacs-fold:hover{background:#000;color:var(--harvestgold)}.files-type{color:var(--honey);font-size:.7rem;letter-spacing:.04em;opacity:.85}.files-size,.files-owner,.files-date{color:var(--pumpkin-pie);text-align:right;white-space:nowrap}.files-activatable{cursor:pointer}.files-activatable:hover>span{background:color-mix(in srgb,var(--harvestgold) 18%,transparent)}.files-content-header{display:flex;align-items:center;gap:.5rem}.files-content-header>span:first-child{flex:1 1 auto;min-width:0}.files-close-pill{border:none;background:var(--mars);color:#000;font-family:inherit;font-size:.6rem;font-weight:700;letter-spacing:.1em;border-radius:.6rem;padding:.1rem .8rem;cursor:pointer}.files-close-pill:hover{filter:brightness(1.3)}.files-image{display:block;flex:1 1 0;min-height:0;width:100%;max-width:100%;align-self:stretch;object-fit:contain;margin:.5rem 0}.files-body{position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column;padding-right:var(--spine-w)}.files-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.6rem;padding:.3rem .5rem .6rem 0}.files-card{background:linear-gradient(135deg,#161616,#070707);border:2px solid var(--october-sunset);border-radius:10px;padding:.55rem .7rem;min-width:0;transition:border-color .15s,transform .15s}.files-card.files-activatable{cursor:pointer}.files-cards.files-previews{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}.files-card-thumb{height:6.5rem;margin:-.55rem -.7rem .45rem;border-radius:8px 8px 0 0;background-color:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--pumpkin-pie);font-family:var(--face-label);font-size:2rem}.files-card-thumb.thumb-wait{opacity:.45}.files-card-thumb svg{width:100%;height:100%;color:var(--harvestgold)}.files-card-thumb.thumb-count{font-size:.8rem;letter-spacing:.12em}.files-target{margin-left:.6em;opacity:.6;font-size:.85em}.files-card-target{margin-top:.25rem;color:var(--pumpkin-pie);font-family:Share Tech Mono,monospace;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-card-thumb img{width:100%;height:100%;object-fit:cover}.files-card-thumb pre{margin:0;padding:.3rem .5rem;width:100%;height:100%;font:.55rem/1.3 Share Tech Mono,monospace;color:var(--honey);white-space:pre;overflow:hidden;overscroll-behavior:contain;text-align:left}.files-card-thumb pre::-webkit-scrollbar{width:6px;height:6px}.files-card-thumb pre::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--honey) 45%,transparent);border-radius:3px}.files-card:hover .files-card-thumb pre::-webkit-scrollbar-thumb{background:var(--honey)}.files-card.files-activatable:hover{border-color:var(--honey);transform:translateY(-2px)}.files-card-up{display:flex;align-items:center;color:var(--pumpkin-pie);font-family:var(--face-label);letter-spacing:.08em}.files-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.files-card-badge{background:var(--harvestgold);color:#000;border-radius:9px;padding:0 .6rem;font-family:var(--face-label);font-size:.62rem;letter-spacing:.12em;line-height:1.6}.files-card.files-type-plugin .files-card-badge{background:var(--daybreak)}.files-card.files-type-pipeline .files-card-badge{background:var(--orange)}.files-card.files-type-dir .files-card-badge,.files-card.files-type-vfs .files-card-badge,.files-card.files-type-job .files-card-badge{background:var(--butter)}.files-card-size{color:var(--pumpkin-pie);font-family:Share Tech Mono,monospace;font-size:.68rem}.files-card-title{color:var(--honey);font-family:var(--face-label);font-size:.95rem;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-card-meta{display:flex;justify-content:space-between;margin-top:.3rem;color:var(--pumpkin-pie);font-family:Share Tech Mono,monospace;font-size:.66rem}.files-content-view{display:flex;flex-direction:column;min-height:100%}.dag-scene-canvas{display:block;width:100%!important;height:100%!important}.files-diagram{flex:1 1 0;min-height:14rem;position:relative;overflow:hidden}.files-diagram-empty{display:flex;align-items:center;justify-content:center;color:var(--pumpkin-pie);font-family:var(--face-label);letter-spacing:.1em}.man-head{color:var(--harvestgold);font-weight:600}.man-key{color:var(--honey)}.man-flag{color:var(--daybreak)}.man-str{color:var(--orange)}.files-content.files-json .json-key{color:var(--daybreak)}.files-content.files-json .json-string{color:var(--butter)}.files-content.files-json .json-number{color:var(--orange)}.files-content.files-json .json-literal{color:var(--honey)}.files-panel>.files-content{flex:1 1 0;min-height:0;overflow:auto}.files-content{margin:0;padding:.4rem 0;font-family:MesloLGS NF,Inconsolata,Courier New,monospace;font-size:.7rem;line-height:1.35;color:var(--butter);white-space:pre-wrap;word-break:break-word;text-shadow:0 0 5px rgb(255 238 204 / 30%)}.data-column{transition:filter .3s ease}.dc-sweep{filter:brightness(1.6)}.dc-sweep>div{color:var(--butter)!important;text-shadow:0 0 8px rgb(255 238 204 / 60%)}#data-cascade.dc-stale{filter:brightness(.45) saturate(.5)}.banner{font-size:clamp(1.1rem,1.4vw,1.8rem);padding-bottom:.2rem}.header-face{display:none;padding:.2rem .5rem;columns:3;column-gap:2rem;font-family:Share Tech Mono,monospace;font-size:.75rem;letter-spacing:.06em;height:var(--header-band-h, 19vh);max-height:var(--header-band-h, 19vh);overflow:hidden auto}.header-gather-field{position:relative;display:flex;flex-direction:column;flex:1 1 0;min-height:0;padding-right:var(--spine-w);transition:padding-right .22s ease-out}.header-gather-field .gather-rows{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:auto;scrollbar-width:none;padding-top:calc(var(--rule-h) + .3rem);--roster-gap: .6rem;--roster-pad: .4rem}.header-gather-field .gather-more{position:absolute;margin:0;right:calc(var(--spine-w) + .6rem);bottom:.4rem;z-index:3;padding:.25rem .9rem;border:none;border-radius:999px;background:var(--butter);color:#000;font-family:var(--face-label);font-size:.7rem;letter-spacing:.08em;cursor:pointer;box-shadow:0 0 0 4px #000}.header-gather-field .gather-more:hover{background:var(--harvestgold)}.header-gather-field .gather-rows>.roster-order{position:sticky;top:0;z-index:2;flex:none;background:#000}.gather-state{flex:none;padding:0 .6rem .2rem;font-family:var(--face-label);font-size:.62rem;letter-spacing:.1em;color:var(--butter)}button.panel-gather{flex:none;min-height:3.2rem;align-items:flex-end;justify-content:flex-end;white-space:nowrap;border-bottom:8px solid #000}button.panel-gather.panel-gather-empty{background-color:color-mix(in srgb,var(--harvestgold) 38%,#000);color:color-mix(in srgb,#000 70%,var(--harvestgold))}body[data-header=stats] #header-telemetry{display:block}body[data-header=gather] #header-gather{display:flex;flex-direction:column;columns:auto;flex:1 1 100%;width:100%;min-width:0}body[data-header=away] .wrap:not(#gap){position:absolute;inset:0 0 auto;translate:0 -100%}#header-restore,body[data-zoom] .headtrim,body[data-zoom] .baseboard{display:none}body[data-zoom]:not([data-zoom=console]) #drawer-toggle,body[data-zoom]:not([data-zoom=console]) #status-strip,body[data-zoom]:not([data-zoom=console]) .right-frame:before{display:none}body[data-header=away]:not([data-zoom]) #gap,body[data-zoom]:not([data-zoom=console]) #gap{margin-top:12px}body[data-header=away] #header-restore,body[data-zoom] #header-restore{display:block;position:fixed;top:0;left:20%;right:20%;height:12px;z-index:1000;border-radius:0 0 6px 6px;background-color:var(--october-sunset);cursor:pointer;animation:beckon 3.5s ease-in-out infinite}#header-restore:hover{animation:none;background-color:var(--harvestgold);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}.header-controls{column-span:all;display:flex;gap:.7rem;margin-bottom:.3rem}.telemetry-row{display:flex;align-items:center;gap:.7rem;break-inside:avoid;margin-bottom:.2rem;min-width:0}.telemetry-label{flex:none;min-width:9.5rem;padding:0 .7rem;border-radius:.6rem 0 0 .6rem;background-color:var(--honey);color:#000;font-family:var(--face-label);font-weight:700;font-size:.7rem;line-height:1.2rem;letter-spacing:.08em;text-align:right;text-transform:uppercase}#header-about .telemetry-label{background-color:var(--october-sunset)}:root[data-theme=medical] #header-about .telemetry-label,:root[data-theme=pharos] #header-about .telemetry-label{color:var(--butter)}.telemetry-value{color:var(--daybreak);font-size:.9rem;min-width:0}#header-dag-info .telemetry-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.about-footer{column-span:all;margin-top:.15rem;padding-bottom:0;padding-left:0;font-size:.62rem;line-height:1.3;opacity:.75}.audio-pill,.theme-pill,.door-pill,.share-pill{padding:.1rem .9rem;border:none;border-radius:.8rem;color:#000;font-family:var(--face-label);font-weight:700;font-size:.75rem;letter-spacing:.1em;cursor:pointer}.audio-pill{background-color:var(--state-done)}.theme-pill{background-color:var(--harvestgold)}.door-pill,.share-pill{background-color:var(--orange)}.restart-pill{background-color:var(--butter)}.audio-pill:hover,.theme-pill:hover,.door-pill:hover,.share-pill:hover{filter:brightness(1.3);box-shadow:0 0 8px currentcolor}.audio-pill.audio-off{background-color:var(--state-error)}.audio-pill.audio-off:after{content:" OFF"}:root{--butter: #fec;--daybreak: #f91;--harvestgold: #fa4;--honey: #fc9;--october-sunset: #f40;--orange: #f70;--pumpkin-pie: #c50}:root[data-theme=gold]{--butter: #fff3cd;--daybreak: #fc3;--harvestgold: #ffd75e;--honey: #ffe49c;--october-sunset: #c99700;--orange: #e9b200;--pumpkin-pie: #a07800}:root[data-theme=medical]{--butter: #dff5fd;--daybreak: #7edcf7;--harvestgold: #1ebef0;--honey: #7fd9f7;--october-sunset: #30619d;--orange: #1d7bb9;--pumpkin-pie: #0f3566}:root[data-theme=nemesis]{--butter: #f0e4fc;--daybreak: #cfa0ff;--harvestgold: #d0a8f0;--honey: #e0c8f8;--october-sunset: #8c5fc0;--orange: #b48ae0;--pumpkin-pie: #7a4ea8}:root[data-theme=pharos]{--butter: #dff5fd;--daybreak: #7edcf7;--harvestgold: #1ebef0;--honey: #7fd9f7;--october-sunset: #30619d;--orange: #1d7bb9;--pumpkin-pie: #0f3566;--face-label: "Chakra Petch", "Arial Narrow", sans-serif;--face-data: "JetBrains Mono", "MesloLGS NF", monospace;--elbow-radius: 0;--elbow-inner-radius: 0;--radius-top: 0;--radius-bottom: 0;--radius-content-top: 0;--radius-content-bottom: 0;--pharos-lit: rgba(255, 255, 255, .55);--pharos-cut: 9px;--pharos-cut-small: 5px;--pharos-inset: 18px;--pharos-flank: 26px}[data-theme=pharos] body{font-family:var(--face-label)}[data-theme=pharos] .listing-row,[data-theme=pharos] .roster-filter-input{font-family:var(--face-data)}[data-theme=pharos] .left-frame-top .panel-1,[data-theme=pharos] .left-frame-top .panel-2,[data-theme=pharos] .left-frame-top .panel-gather,[data-theme=pharos] .left-frame button[class^=panel-],[data-theme=pharos] .left-frame .panel-spacer,[data-theme=pharos] .lcars-bar-horizontal,[data-theme=pharos] .lcars-bar-end,[data-theme=pharos] .mode-strip,[data-theme=pharos] .mode-fill{box-shadow:inset 0 3px 0 var(--pharos-lit)}[data-theme=pharos] .left-frame button[class^=panel-]{clip-path:polygon(var(--pharos-cut) 0,100% 0,100% 100%,0 100%,0 var(--pharos-cut));transition:margin-left .18s ease-out,width .18s ease-out}[data-theme=pharos] .roster-cap,[data-theme=pharos] .roster-cap:first-of-type,[data-theme=pharos] .roster-cap:last-of-type,[data-theme=pharos] .strategy-pill,[data-theme=pharos] .listing-action,[data-theme=pharos] .pacs-capsule,[data-theme=pharos] .ask-capsule,[data-theme=pharos] .theme-pill,[data-theme=pharos] .audio-pill,[data-theme=pharos] .telemetry-label,[data-theme=pharos] .lamp-online,[data-theme=pharos] .lamp-host,[data-theme=pharos] .lamp-question,[data-theme=pharos] .lamp-offline{border-radius:0;clip-path:polygon(0 0,calc(100% - var(--pharos-cut-small)) 0,100% var(--pharos-cut-small),100% 100%,0 100%)}[data-theme=pharos] .pacs-capsule,[data-theme=pharos] .listing-action,[data-theme=pharos] .strategy-pill{white-space:nowrap;letter-spacing:.04em}[data-theme=pharos] body[data-focus=files] #gutter-files,[data-theme=pharos] body[data-focus=dag] #gutter-runs,[data-theme=pharos] body[data-focus=pacs] #gutter-tools{margin-left:var(--pharos-inset);width:calc(var(--lfw) - var(--pharos-inset))}[data-theme=pharos] .left-frame-top{position:relative;overflow:hidden}[data-theme=pharos] .left-frame-top:after{content:"";position:absolute;left:0;bottom:0;width:78px;height:78px;pointer-events:none;background:radial-gradient(circle at 0 100%,var(--butter) 0 11px,transparent 11.5px),repeating-radial-gradient(circle at 0 100%,var(--butter) 0 2px,transparent 2px 9px);clip-path:circle(78px at 0 100%);animation:pharos-lamp 5s ease-in-out infinite}@keyframes pharos-lamp{0%,to{opacity:.55}50%{opacity:1}}[data-theme=pharos] .wrap-all{border-left:3px solid var(--october-sunset);border-radius:var(--pharos-flank) 0 0 var(--pharos-flank)}[data-theme=pharos] .left-frame-top{border-top-left-radius:calc(var(--pharos-flank) - 3px)}[data-theme=pharos] .left-frame>div:last-child .panel-7{clip-path:none;border-bottom-left-radius:calc(var(--pharos-flank) - 3px)}[data-theme=pharos] .lcars-bar-horizontal{border-radius:0}[data-theme=pharos] .lcars-bar-end{border-radius:0;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 100%,0 100%)}[data-theme=pharos] .mode-elbow,[data-theme=pharos] .mode-elbow:after{border-top-right-radius:0}[data-theme=pharos] .mode-strip,[data-theme=pharos] .mode-fill{border-radius:0}[data-theme=pharos] .listing-indicated>span:first-child,[data-theme=pharos] .listing-indicated>span:nth-child(2){text-shadow:none}[data-theme=pharos] .listing-action:hover:not(:disabled),[data-theme=pharos] .audio-pill:hover,[data-theme=pharos] .theme-pill:hover,[data-theme=pharos] .pacs-capsule:hover{box-shadow:none;filter:brightness(1.15)}@media(prefers-reduced-motion:reduce){[data-theme=pharos] .left-frame-top:after{animation:none}[data-theme=pharos] .left-frame button[class^=panel-]{transition:none}}[data-theme=pharos] body,[data-theme=pharos] .banner,[data-theme=pharos] h1,[data-theme=pharos] a,[data-theme=pharos] button,[data-theme=pharos] #status-strip,[data-theme=pharos] .dag-node-tip,[data-theme=pharos] .feedlist-refusal,[data-theme=pharos] .telemetry-label,[data-theme=pharos] .lcars-bar-horizontal{text-transform:lowercase}[data-theme=pharos] .listing-row,[data-theme=pharos] .argus-output,[data-theme=pharos] #pacs-results,[data-theme=pharos] #files-results,[data-theme=pharos] #pipeline-cycler-name,[data-theme=pharos] input,[data-theme=pharos] textarea,[data-theme=pharos] select,[data-theme=pharos] .about-footer,[data-theme=pharos] .about-footer a{text-transform:none}#drawer{display:flex;flex-direction:column;flex:none;height:28vh;min-height:0;overflow:hidden}#drawer.drawer-closed{height:0}.lcars-terminal-header-bar{flex:none;display:flex;min-width:0;height:28px;align-items:flex-end}.lcars-bar-horizontal{flex:1;min-width:0;height:28px;background-color:var(--harvestgold);display:flex;align-items:center;justify-content:space-between;padding-inline:1rem;color:#000;font-weight:700;text-transform:uppercase;font-family:var(--face-label);font-size:.8rem;letter-spacing:1px}.lcars-bar-horizontal>.lcars-title{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lcars-bar-horizontal>.pane-mode,.lcars-bar-horizontal>.pane-state{flex:none;white-space:nowrap}.lcars-terminal-status{font-size:.6rem;opacity:.8;margin-left:1rem;font-family:Share Tech Mono,monospace;text-transform:none}#console-drawer .pacs-capsule.console-stop{background-color:var(--state-error);color:#000}#console-drawer .pacs-capsule.console-stop[hidden]{display:none}.lcars-bar-end{width:60px;height:28px;background-color:var(--harvestgold);border-radius:0 14px 14px 0;margin-left:.5rem}#terminal{flex:1;min-height:0;display:flex}.argus-screen{flex:1;min-width:0;background-color:#000;padding:.8rem 1rem;display:flex;flex-direction:column;font-family:JetBrainsMono NF Mono,MesloLGS NF,monospace;color:var(--daybreak)}.argus-terminal-mount,#terminal.console-terminal .argus-screen{display:none}#terminal.console-terminal .argus-terminal-mount{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background-color:#000;padding:.5rem .8rem;font-family:JetBrainsMono NF Mono,MesloLGS NF,monospace;font-size:.75rem;color:var(--daybreak)}.argus-xterm{flex:1;min-height:0}.argus-xterm-keys{display:none;gap:.4rem;padding-top:.4rem}@media(pointer:coarse){.argus-xterm-keys{display:flex}}.argus-xterm-key{flex:1;border:0;border-radius:.8rem;padding:.3rem 0;background:var(--orange);color:#000;font-family:var(--face-label)}.argus-xterm-key.held{background:var(--daybreak)}.argus-output{flex:1;overflow-y:auto;margin-bottom:.5rem;font-size:.75rem;line-height:1.35;letter-spacing:1px;white-space:pre-wrap;word-break:break-word}.argus-line{min-height:1em}.argus-echo .user-input,.user-input{color:var(--butter);text-shadow:none}.argus-echo .prompt-glyph{color:var(--sky, #9cf)}.argus-result.error{color:#f24444}.argus-banner-line{opacity:.9}.argus-splash{display:flex;align-items:center;gap:1.5rem;margin-bottom:.4rem}.argus-splash-brain{flex:none;margin:0;font-size:.42em;line-height:1;letter-spacing:0;white-space:pre;opacity:.9}.argus-splash-greeting{flex:1 1 auto;min-width:0}.pane-universe:not(.universe-inside) .universe-open,.pane-universe:not(.universe-inside):not(.universe-cluster) .universe-back,.universe-facts[hidden]{display:none}.pane-universe:not(.universe-inside) .universe-feed,.pane-universe.universe-inside :is(.universe-view,.universe-scale,.universe-arrangement,.universe-replay,.universe-refresh){display:none}.universe-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.universe-node-verbs,.feed-node-verbs{display:flex;gap:.4rem;margin-top:.35rem}.argus-greeting-line{white-space:pre-wrap;min-height:1em}.dim{opacity:.45}.argus-progress{flex:none;font-size:.7rem;letter-spacing:0;text-shadow:none;line-height:1.6}.argus-progress-row{display:flex;align-items:center;gap:.5rem;color:var(--butter);opacity:.85}.argus-progress-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.argus-progress-counts{opacity:.6}.argus-progress-elapsed{flex:none;opacity:.5;font-variant-numeric:tabular-nums}.argus-progress-spin{flex:none;width:.6rem;height:.6rem;border:2px solid var(--pumpkin-pie);border-top-color:transparent;border-radius:50%;animation:argus-progress-turn .8s linear infinite}.argus-progress-bar{flex:2;height:.4rem;background:#ffffff1f;border-radius:.2rem;overflow:hidden}.argus-progress-fill{display:block;height:100%;width:0;background:var(--pumpkin-pie);transition:width .12s linear}@keyframes argus-progress-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.argus-progress-spin{animation:none}.argus-progress-fill{transition:none}}.argus-prompt-bar{flex:none;font-size:.7rem;letter-spacing:0;text-shadow:none;line-height:1.5;white-space:pre;overflow-x:hidden}.argus-input-line{flex:none;display:flex;align-items:center;border-top:1px solid var(--pumpkin-pie);padding-top:.4rem;margin-top:.2rem}.argus-input-glyph{color:#00d787;font-size:.8rem}.argus-input-line input{background:transparent;border:none;color:var(--butter);font-family:inherit;font-size:.75rem;letter-spacing:1px;flex:1;outline:none;margin-left:.6rem}#drawer-strip{position:relative;flex:none;height:4px;margin:3px 0;background:var(--pumpkin-pie);border-radius:0;cursor:row-resize;touch-action:none;z-index:6}#drawer-strip:before{content:"";position:absolute;inset:-14px 0 -8px}#drawer-strip:hover,#drawer-strip:active{animation:none;background:var(--harvestgold);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}#drawer-toggle{cursor:pointer}@keyframes beckon{0%,to{filter:brightness(1)}50%{filter:brightness(1.2);box-shadow:0 0 8px #ff770073}}@keyframes beckon-mars{0%,to{filter:brightness(1);box-shadow:none}50%{filter:brightness(1.3);box-shadow:0 0 10px #f229}}.attach-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#000000e0;z-index:100}.attach-hidden{display:none}.attach-card{width:20rem;border:2px solid var(--orange);border-radius:1.2rem 0;padding:1.2rem 1.4rem;background:#000}.attach-card h1{margin:0 0 .3rem;color:var(--orange);letter-spacing:.2em}.attach-card p{margin:0 0 .7rem;font-size:.7rem;color:var(--honey)}.attach-card input{width:100%;background:#111;color:var(--butter);border:1px solid var(--harvestgold);border-radius:4px;padding:.4rem .5rem;font-family:inherit;font-size:.75rem;letter-spacing:.1em;margin-bottom:.6rem;box-sizing:border-box}.attach-card button{background:var(--orange);color:#000;border:none;border-radius:.65rem;padding:.4rem 1.1rem;font-family:inherit;font-size:.75rem;font-weight:700;letter-spacing:.1em;cursor:pointer}.attach-card button:hover{filter:brightness(1.15)}.attach-error{color:var(--state-error);min-height:1.2em;margin-top:.5rem}.domain-inert{background-color:color-mix(in srgb,var(--inert-ground, var(--october-sunset)) 50%,#000);color:var(--butter)}.panel-1.domain-inert,.panel-4.domain-inert,.panel-spacer.domain-inert{--inert-ground: var(--orange)}.panel-2.domain-inert,.panel-3.domain-inert,.panel-6.domain-inert{--inert-ground: var(--october-sunset)}.panel-5.domain-inert,.panel-7.domain-inert{--inert-ground: var(--harvestgold)}.pacs-study-progress{display:block;min-width:0}.listing-control.pacs-fold-none{background:transparent;cursor:default}.pacs-fold:before{content:"OPEN"}.listing-group.listing-open>.listing-row>.pacs-fold:before{content:"CLOSE"}.pacs-fold.pacs-fold-none:before{content:""}.pacs-capsule-study{background-color:var(--october-sunset);color:#000}.pacs-capsule-study:hover{box-shadow:0 0 8px var(--october-sunset)}.pacs-bar-full{min-width:2rem;height:.45rem;border-radius:.25rem;background:var(--state-done)}.pacs-waiting{display:flex;align-items:center;gap:.7rem;padding:.6rem .2rem}.pacs-waiting .pacs-bar{flex:0 0 12rem}.pacs-waiting-note{color:var(--harvestgold);font-family:var(--face-label);letter-spacing:.12em;font-size:.8rem}.pacs-bar{position:relative;flex:1 1 auto;min-width:2rem;height:.45rem;border-radius:.25rem;background:color-mix(in srgb,var(--state-running) 18%,transparent);overflow:hidden}.listing-framed .listing-indicated .pacs-bar{background:#000}.listing-framed .listing-indicated .pacs-bar-fill{background:var(--state-running)}.pacs-bar-fill{display:block;width:0;height:100%;border-radius:.25rem;background:var(--state-running);transition:width .25s linear}.pacs-bar-pacing .pacs-bar-fill{width:35%;animation:pacs-pace 1.4s ease-in-out infinite}@keyframes pacs-pace{0%{transform:translate(-100%)}to{transform:translate(300%)}}#lang-palette{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:1200;display:flex;align-items:stretch;width:min(52rem,70vw);height:30px;background:#000}#lang-palette[hidden]{display:none}.lang-glyph{display:flex;align-items:center;padding:0 .9rem 0 1.1rem;background:var(--harvestgold);color:#000;font-family:var(--face-label);font-size:.8rem;letter-spacing:.12em;border-radius:0 0 0 14px}#lang-input{flex:1;background:transparent;border:none;border-bottom:2px solid var(--pumpkin-pie);outline:none;padding:0 .7rem;color:var(--butter);font-family:Share Tech Mono,monospace;font-size:.78rem;letter-spacing:.04em}#lang-palette:after{content:"";width:34px;background:var(--harvestgold);border-radius:0 0 14px}#lang-result{position:absolute;top:100%;left:0;right:0;padding:.25rem .9rem;color:var(--honey);font-family:Share Tech Mono,monospace;font-size:.72rem;white-space:pre-wrap;background:#000000eb;border-bottom:1px solid color-mix(in srgb,var(--orange) 55%,transparent)}#lang-result:empty{display:none}.left-frame .panel-lang{display:flex;justify-content:flex-end;height:auto;flex:1.2 1 0;min-height:2.4rem;padding:var(--left-frame-padding);background-color:var(--harvestgold);border-bottom:var(--panel-border)}.left-frame .panel-console{display:flex;justify-content:flex-end;height:auto;flex:2 1 0;min-height:3rem;padding:var(--left-frame-padding);background-color:var(--october-sunset);border-bottom:var(--panel-border)}.left-frame .panel-lang.lang-live{background-color:var(--butter)}#drawer~.bar-panel{flex-wrap:nowrap;cursor:pointer}#drawer~.bar-panel:hover .bar-10{filter:brightness(1.2)}#drawer.drawer-closed~.bar-panel .bar-10{animation:lid-beckon 3.5s ease-in-out infinite}@keyframes lid-beckon{0%,to{filter:brightness(1)}50%{filter:brightness(1.35)}}.feedlist-size,.feedlist-time{text-align:right;font-family:Share Tech Mono,monospace}.dag-roster .roster-cap[data-key=sizeBytes],.dag-roster .roster-cap[data-key=wallSeconds]{text-align:right}.files-body .diagram-strategy,.files-body .diagram-projection,.files-body .diagram-pulse,.files-body.diagram-shown .files-view,.files-body.diagram-shown .files-filter,.files-body.diagram-shown .files-home,.files-body.diagram-shown .files-back,.files-body.diagram-shown .files-mkdir,.files-body.diagram-shown .files-upload,.files-body.diagram-shown .files-select,.files-body.diagram-shown .files-row-zone{display:none}.files-row-selected .files-name,.files-row-selected .files-glyph,.files-row-selected .files-type,.files-row-selected .files-size{background:color-mix(in srgb,var(--butter) 22%,transparent);color:var(--butter)}.files-body.diagram-shown .diagram-strategy,.files-body.diagram-shown .diagram-projection,.files-body.diagram-shown .diagram-pulse{display:block}.files-body .diagram-run{display:none}.files-body.files-catalogue.diagram-shown .diagram-run{display:block;background-color:var(--october-sunset);color:#000}.telemetry-input{flex:1 1 8em;min-width:0;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.85rem;padding:.1rem .5rem;outline:none}.telemetry-input:focus{border-color:var(--harvestgold)}.telemetry-input[type=checkbox]{flex:none;width:1rem;height:1rem;accent-color:var(--harvestgold)}.telemetry-hint{flex:none;color:var(--honey);font-size:.7rem;opacity:.8}.mode-frame .strategy-pill.diagram-pulse.pulse-running{background-color:var(--october-sunset);color:#000}.dag-facts-immersed{max-width:72%;max-height:70%;overflow-y:auto;border-left-color:var(--october-sunset)}.pacs-patient{margin-bottom:.9rem}.pacs-patient-row{padding-block:4px;color:var(--harvestgold);border-bottom:2px solid var(--harvestgold);cursor:pointer}.pacs-patient-row:hover{background:color-mix(in srgb,var(--harvestgold) 12%,transparent)}.pacs-patient-row>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pacs-patient-name{color:var(--butter)}.pacs-patient-mrn{color:var(--harvestgold)}.pacs-patient-count,.pacs-patient-server,.pacs-patient-answered{color:var(--pumpkin-pie)}.pacs-unasked,.pacs-patient-unasked .pacs-patient-count{color:var(--mars)}.pacs-patient-progress{display:block;min-width:0}#pacs-results .listing-level[data-depth="1"]{box-shadow:inset 2px 0 #ffcc6659}#pacs-results .listing-level[data-depth="1"] .roster-caps{margin:.35rem 0 .3rem}#pacs-form .pacs-form-field{display:flex;flex-direction:column;gap:.15rem;min-width:0;color:var(--honey);font-family:var(--face-label);font-size:.66rem;letter-spacing:.12em}.pacs-server-cell{min-width:0;width:100%;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--butter);font-family:Share Tech Mono,monospace;font-size:.8rem;padding:.15rem .5rem;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.pacs-server-cell:hover,.pacs-server-open{border-color:var(--harvestgold);color:var(--harvestgold)}.pacs-server-many{color:var(--october-sunset);border-color:var(--october-sunset)}.pacs-server-strip{display:flex;flex-wrap:wrap;gap:.3rem;padding:.35rem var(--roster-pad) .5rem;margin-bottom:.4rem;border-bottom:2px solid var(--pumpkin-pie)}.pacs-server-segment{background:#000;border:1px solid var(--pumpkin-pie);border-radius:.9rem;color:var(--pumpkin-pie);font-family:var(--face-label);font-size:.7rem;letter-spacing:.1em;padding:.1rem .7rem;cursor:pointer}.pacs-server-segment:hover{color:var(--harvestgold);border-color:var(--harvestgold)}.pacs-server-chosen{background:var(--harvestgold);border-color:var(--harvestgold);color:#000}.argus-ask{color:var(--harvestgold)}.ask-glyph{color:var(--butter);margin-right:.35rem}.ask-answer,.argus-ask-answered .ask-glyph{color:var(--pumpkin-pie)}.ask-capsule{background:var(--harvestgold);border:none;border-radius:.9rem;color:#000;font-family:var(--face-label);font-size:.7rem;letter-spacing:.1em;padding:.1rem .9rem;cursor:pointer}.ask-capsule-no{background:var(--october-sunset)}.ask-capsule:hover{filter:brightness(1.3)}.stale-page{position:fixed;top:calc(env(safe-area-inset-top,0px) + 1rem);left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:1rem;max-width:calc(100% - 2rem);padding:.55rem .7rem .55rem 1.1rem;background:#000;border:2px solid var(--pumpkin-pie);border-radius:1.2rem .3rem;color:var(--butter);font-family:var(--face-label);letter-spacing:.08em}.stale-page-words{min-width:0}.stale-page-reload{padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em;cursor:pointer}.errand-bar{display:flex;align-items:center;gap:.6rem;padding:.35rem .6rem;margin-bottom:.3rem;border-bottom:2px solid var(--october-sunset);flex:none}.errand-caption{color:var(--butter);font-family:var(--face-label);font-size:.7rem;letter-spacing:.1em;white-space:nowrap;align-self:center}.errand-path{flex:1 1 14em;min-width:0;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.75rem;padding:.1rem .5rem;outline:none}.errand-path:focus{border-color:var(--harvestgold)}.errand-commit{background-color:var(--october-sunset)}.pacs-wrote{color:var(--pumpkin-pie);font-family:var(--face-label);font-size:.68rem;letter-spacing:.1em;align-self:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pane-image{display:flex;flex-direction:column;min-height:0}.image-body{position:relative;flex:1 1 0;min-height:0;overflow:hidden}.pane-image[data-modality=MR] .image-body{--harvestgold: var(--daybreak)}.pane-image[data-modality=CT] .image-body{--harvestgold: var(--honey)}.pane-image[data-modality=PT] .image-body{--harvestgold: var(--tomato, #f77)}.pane-image[data-modality=NIFTI] .image-body{--harvestgold: var(--daybreak)}.image-field{position:absolute;top:calc(var(--frame-top) + var(--rule-h));left:0;right:var(--spine-w);bottom:0;background:#000;outline:none;transition:right .22s ease-out}.image-working{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:14rem;padding:1rem 1.4rem;background:#000000b8;border-radius:.4rem;font-family:var(--face-label);letter-spacing:.12em;color:var(--harvestgold);font-size:.75rem;pointer-events:none;z-index:3}.image-working-track{width:100%;height:.35rem;border-radius:.2rem;background:color-mix(in srgb,var(--harvestgold) 22%,transparent);overflow:hidden}.image-working-fill{display:block;height:100%;width:0;border-radius:.2rem;background:var(--harvestgold);transition:width .12s linear}.image-working-fill.image-working-pacing{width:35%;animation:image-pacing 1.1s ease-in-out infinite}@keyframes image-pacing{0%{transform:translate(-100%)}to{transform:translate(285%)}}.image-working-count{font-size:.7rem;color:var(--honey)}.image-working-failed{color:var(--tomato, #f77)}.image-working-failed .image-working-track{display:none}.image-working-failed .image-working-count{color:var(--tomato, #f77);letter-spacing:.04em}.image-overlay-note{position:absolute;left:.8rem;top:.6rem;display:flex;flex-direction:column;gap:.05rem;font-family:var(--face-label);font-size:.62rem;letter-spacing:.09em;line-height:1.35;color:var(--honey);text-shadow:0 0 4px #000,0 0 2px #000;pointer-events:none;z-index:2}.image-probe-note{position:absolute;left:.8rem;bottom:.6rem;font-family:var(--face-label);font-size:.66rem;letter-spacing:.1em;color:var(--harvestgold);text-shadow:0 0 4px #000,0 0 2px #000;pointer-events:none;z-index:2}.pane-image.image-field-focused .image-field{box-shadow:inset 0 0 0 2px var(--harvestgold)}.image-viewport{position:absolute;inset:0}.image-mpr,.image-render{position:absolute;inset:0;display:grid;gap:2px}.image-mpr{grid-template-columns:1fr 1fr 1fr}.image-mpr .image-viewport,.image-render .image-viewport{position:relative;inset:auto;min-width:0;min-height:0}.image-canvas{display:block;width:100%!important;height:100%!important}.mode-frame .image-focus{text-align:right;padding:0 .6rem 0 .4rem;height:1.6rem;line-height:1.6rem;background-color:var(--harvestgold);color:#000}.pane-tags{display:flex;flex-direction:column;min-height:0}.tags-body{--roster-gap: 0px;--roster-pad: 0px;position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column;padding-right:var(--spine-w)}.edit-body{position:relative;flex:1 1 0;min-height:0;overflow:hidden}.edit-field{position:absolute;top:calc(var(--frame-top) + var(--rule-h));left:0;right:var(--spine-w);bottom:0;background:#000;overflow:hidden;transition:right .22s ease-out}.edit-field .cm-editor{height:100%}.edit-field .cm-editor.cm-focused{outline:none}.edit-body .mode-frame .strategy-pill:disabled{opacity:.35;cursor:default}.help-body{--roster-gap: 0px;--roster-pad: 0px;position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column;padding-right:var(--spine-w)}.help-panel{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.help-panel>.roster-order{position:static;z-index:auto;flex:none}.help-panel>.listing-field{padding-right:.5rem}.help-key{font-family:Share Tech Mono,monospace;color:var(--butter)}.help-does{color:var(--harvestgold)}.help-verb .help-does{color:var(--daybreak)}.help-block-head{margin:.4rem 0 .2rem;color:var(--butter);font-family:var(--face-label);font-size:.68rem;letter-spacing:.08em}.roster-grip{position:absolute;top:-2px;right:-11px;width:20px;height:calc(100% + 4px);cursor:col-resize;touch-action:none;z-index:1}.roster-cap:hover .roster-grip{background:linear-gradient(to right,transparent 9px,#000 9px,#000 11px,transparent 11px)}.roster-grip:hover,.roster-sizing .roster-grip{background:linear-gradient(to right,transparent 8px,var(--harvestgold) 8px,var(--harvestgold) 12px,transparent 12px);filter:brightness(1.35)}@media(pointer:coarse){.roster-grip{background:linear-gradient(to right,transparent 9px,#000 9px,#000 11px,transparent 11px)}}.notes-body{--roster-gap: 0px;--roster-pad: 0px;position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column;padding-right:var(--spine-w)}.notes-panel{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.notes-panel>.roster-order{position:static;z-index:auto;flex:none}.notes-panel>.listing-field{padding-right:.5rem}.notes-tag{font-family:Share Tech Mono,monospace;color:var(--butter)}.notes-text{color:var(--harvestgold);white-space:normal}.notes-row-body .notes-text{color:var(--butter);opacity:.75;padding-left:1.2em;white-space:pre-wrap}.notes-row-internal .notes-text,.notes-row-internal .notes-tag{opacity:.5}.notes-block-head{margin:.4rem 0 .2rem;color:var(--butter);font-family:var(--face-label);font-size:.68rem;letter-spacing:.08em}.build-mismatch-news{display:block;margin-top:.3rem;color:var(--butter);font-size:.85em}.games-body{position:relative;flex:1 1 0;min-height:0;overflow:hidden}.games-field{position:absolute;top:calc(var(--frame-top) + var(--rule-h));left:0;right:var(--spine-w);bottom:0;background:#000;outline:none;transition:right .22s ease-out}.games-canvas{display:block;width:100%;height:100%}.pane-games.games-field-focused .games-field{box-shadow:inset 0 0 0 2px var(--harvestgold)}.pane-tags[data-modality=MR] .tags-body{--harvestgold: var(--daybreak)}.pane-tags[data-modality=CT] .tags-body{--harvestgold: var(--honey)}.pane-tags[data-modality=PT] .tags-body{--harvestgold: var(--tomato, #f77)}.tags-panel{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.tags-panel>.roster-order{position:static;z-index:auto;flex:none}.tags-panel>.listing-field{padding-right:.5rem}.tags-fold{color:var(--harvestgold)}.tags-fold:before{content:"▸"}.listing-group.listing-open>.listing-row>.tags-fold:before{content:"▾"}.tags-fold.tags-fold-none:before{content:""}.tags-group-row{font-weight:700}.tags-tag,.tags-vr{opacity:.7;font-family:monospace}.tags-name,.tags-value-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tags-decoded{opacity:.6}.tags-redacted .tags-phi .tags-value{letter-spacing:.15em;opacity:.6}.tags-note{padding:1rem;opacity:.7}.files-card-thumb.thumb-series{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem}.thumb-series-mark{font-weight:700;letter-spacing:.1em;color:var(--harvestgold)}.thumb-series-text{font-size:.8em;opacity:.8;text-align:center;padding:0 .4rem}@keyframes lcars-breath{0%{filter:brightness(.82)}to{filter:brightness(1.28)}}#header-restore,.mode-strip,.mode-fill{animation:lcars-breath 2.2s ease-in-out infinite alternate}@keyframes lcars-breath-spine{0%{filter:brightness(.45)}to{filter:brightness(1.6)}}.mode-strip{animation:lcars-breath-spine 1.6s ease-in-out infinite alternate}#header-restore{animation-duration:2s}#header-restore:hover,.mode-strip:hover,.mode-fill:hover{animation:none}@media(prefers-reduced-motion:reduce){#drawer.drawer-closed~.bar-panel .bar-10,#header-restore,.mode-strip,.mode-fill,.image-working-fill.image-working-pacing{animation:none!important}}[data-theme=pharos] .left-frame-top,[data-theme=pharos] button.panel-2,[data-theme=pharos] button.panel-3{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-right-radius:0}[data-theme=pharos] button.panel-3{border-top-left-radius:0}.launcher-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;position:relative;padding:0 .6rem .6rem .2rem}.launcher-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(min-content,1fr);overflow-y:auto;gap:.85rem;flex:1 1 auto;min-height:0}.launcher-tile{display:flex;flex-direction:column;gap:.45rem;align-items:stretch;text-align:left;border:none;cursor:pointer;padding:.9rem 1.1rem .8rem;border-radius:8px 28px 28px 8px;background-color:var(--tile-hue);color:#000;overflow:hidden}.launcher-tile-wide{grid-column:span 2}.launcher-tile:hover{filter:brightness(1.08)}.launcher-head{display:flex;align-items:baseline;gap:.7rem}.launcher-name{font-family:var(--face-label);font-weight:700;font-size:1.5rem;letter-spacing:.14em}.launcher-tile-wide .launcher-name{font-size:1.9rem}.launcher-numeral{margin-left:auto;font-family:Share Tech Mono,monospace;font-size:.85rem}.launcher-figure{border:none;border-radius:.8rem;padding:.1rem .7rem;background-color:var(--butter);color:#000;font-family:Share Tech Mono,monospace;font-size:.8rem;cursor:inherit}button.launcher-figure{cursor:pointer}.launcher-figure-errored{background-color:var(--state-error);color:#000}.launcher-rule{display:block;height:3px;background-color:#000}.launcher-about{display:flex;flex-direction:column;gap:.3rem;font-family:var(--face-label);font-size:.95rem;line-height:1.3;letter-spacing:.02em;text-align:left;white-space:normal}.launcher-about-list{display:flex;flex-direction:column;gap:.1rem;padding-left:.6rem;font-family:Share Tech Mono,monospace;font-size:.8rem}.launcher-rows{display:flex;flex-direction:column;gap:.15rem;overflow:hidden}.launcher-row{display:flex;align-items:center;gap:.55rem;border:none;background:none;padding:.12rem .3rem;border-radius:.5rem;color:#000;font-family:Share Tech Mono,monospace;font-size:.85rem;text-align:left;cursor:inherit}button.launcher-row{cursor:pointer}button.launcher-row:hover,.launcher-row-arrived{background-color:color-mix(in srgb,#000 12%,var(--tile-hue))}.launcher-row-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.launcher-dot{flex:none;width:.5rem;height:.5rem;border-radius:50%;background-color:#000}.launcher-dot-errored{background-color:var(--state-error)}.launcher-go{flex:none;font-family:Share Tech Mono,monospace}.launcher-verb{margin-top:auto;align-self:flex-start;background-color:#000;color:var(--tile-hue);font-family:var(--face-label);font-weight:700;font-size:.7rem;letter-spacing:.12em;padding:.22rem .85rem;border-radius:.9rem}.launcher-start{position:absolute;right:.9rem;bottom:-.1rem}.panes-body{overflow:auto;padding:.9rem;min-height:0}.panes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.9rem;align-content:start}.panes-empty{color:var(--honey);font-family:var(--face-data);font-size:.8rem;padding:1.2rem .4rem}.panes-card{display:grid;grid-template-rows:auto auto auto;gap:.4rem;padding:.6rem;border:none;border-radius:.6rem;background-color:color-mix(in srgb,var(--harvestgold) 14%,transparent);text-align:left;cursor:pointer;position:relative}.panes-card:hover{background-color:color-mix(in srgb,var(--harvestgold) 26%,transparent);box-shadow:0 0 8px var(--harvestgold)}.panes-card-figure{display:block;aspect-ratio:4 / 3;max-width:100%;background-color:#000;border-radius:.3rem;overflow:hidden}.panes-card-figure img{width:100%;height:100%;object-fit:contain;display:block}.panes-card-glyph{display:flex;align-items:center;justify-content:center;color:var(--harvestgold);font-size:2.4rem;line-height:1}.panes-card-label{color:var(--daybreak);font-family:var(--face-label);font-weight:700;font-size:.78rem;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panes-card-badges{display:flex;flex-wrap:wrap;gap:.3rem}.panes-card-badge{font-family:var(--face-label);font-size:.56rem;letter-spacing:.12em;color:#000;background-color:var(--harvestgold);border-radius:.5rem;padding:.05rem .45rem}.panes-card-dismiss{position:absolute;top:.5rem;right:.5rem;border:none;border-radius:.5rem;padding:.05rem .45rem;font-family:var(--face-label);font-size:.56rem;letter-spacing:.12em;color:var(--honey);background-color:color-mix(in srgb,var(--october-sunset) 55%,transparent);cursor:pointer;opacity:0}.panes-card:hover .panes-card-dismiss{opacity:1}.panes-card-dismiss:hover{color:#000;background-color:var(--october-sunset)}.ask-bar{display:flex;align-items:center;gap:.6rem;padding:0 .6rem;flex:none;max-height:0;overflow:hidden;border-bottom:2px solid var(--harvestgold);transition:max-height .16s ease-out,padding .16s ease-out}.ask-bar-choose{flex-wrap:wrap;row-gap:.35rem}.ask-bar-choose.ask-bar-shown{max-height:14rem}.ask-bar-shown{max-height:3rem;padding:.35rem .6rem;margin-bottom:.3rem}.ask-bar-glyph{color:var(--harvestgold);font-family:var(--face-label);font-weight:700;font-size:.85rem}.ask-bar-caption{color:var(--butter);font-family:var(--face-label);font-size:.7rem;letter-spacing:.1em;white-space:nowrap;align-self:center}.ask-bar-field{flex:1 1 12em;min-width:0;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.75rem;padding:.1rem .5rem;outline:none}.ask-bar-field:focus{border-color:var(--harvestgold)}.ask-bar-commit,.ask-bar-yes{background-color:var(--harvestgold)}.ask-bar-no,.ask-bar-abandon{background-color:var(--october-sunset)}.ask-bar-choice{background-color:var(--honey)}.ask-bar-held{opacity:.35;cursor:default}.dag-process{align-self:flex-start;margin-top:.6rem}.files-projection .files-mkdir,.files-projection .files-upload{display:none}.pacs-wrote-opens{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.files-table-view{display:flex;flex-direction:column;flex:1 1 0;min-height:0}.files-table-field{position:relative;display:flex;flex-direction:column;flex:1 1 0;min-height:0;padding-right:var(--spine-w);transition:padding-right .22s ease-out;--mode-frame-top: 0px}.files-table-rows{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden;padding-top:calc(var(--rule-h) + .3rem);--roster-gap: .6rem;--roster-pad: .4rem}.files-table-rows>.roster-order{position:sticky;top:0;z-index:2;flex:none;background:#000}.files-table-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-raw-pill,.files-download-pill{background-color:var(--october-sunset)}.gather-series-study{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#header-strip{position:fixed;left:var(--lfw);right:0;height:16px;z-index:40;cursor:ns-resize;background:transparent;touch-action:none}#header-strip:after{content:"";position:absolute;left:50%;top:6px;width:7rem;height:4px;border-radius:2px;transform:translate(-50%);background:color-mix(in srgb,var(--harvestgold) 80%,transparent)}#header-strip:hover:after,#header-strip:active:after{background:var(--harvestgold);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}body[data-header=away] #header-strip,body[data-zoom] #header-strip{display:none}@keyframes grip-breathe{0%{opacity:.45}to{opacity:1}}#header-strip:after{animation:grip-breathe 2.2s ease-in-out infinite alternate}#header-strip:hover:after,#header-strip:active:after{animation:none;opacity:1}.head-menu-pill{display:none}@media(min-width:701px)and (max-width:1100px){#about-rows,.header-face{columns:2}.telemetry-label{min-width:4.5rem;padding:0 .4rem}.telemetry-row{gap:.4rem}}@media(max-width:700px){:root{--lfw: 56px;--elbow-radius: 36px;--elbow-inner: 24px;--elbow-inner-radius: 18px;--left-frame-padding: .4rem;--bar-height: 14px}html{font-size:15px}body{padding:6px 0 0 2px}.wrap{padding:0 4px 0 2px}main{padding:14px 0 6px 8px;min-width:0}.right-frame,.right-frame-top{min-width:0}.left-frame .gutter-word,.left-frame-top .hop,.left-frame .hop-dash,.brand-label{display:none}button[class^=panel-]{padding:.35rem;font-size:.85rem}button.panel-1{min-height:56px}button.panel-lang{font-size:.7rem}.banner{font-size:1.3rem}.head-menu-pill{display:inline-block;margin-left:.6rem;padding:0 .7rem;border:none;border-radius:.7rem;background-color:var(--honey);color:#000;font-family:inherit;font-size:1.1rem;font-weight:700;line-height:1.4rem;vertical-align:middle;cursor:pointer}body:not([data-header]) #header-dag,body[data-header=dag] #header-dag{display:none}body[data-head-menu=open]:not([data-header]) #header-dag,body[data-head-menu=open][data-header=dag] #header-dag{display:block;position:fixed;top:3.4rem;left:8px;right:8px;z-index:60;height:auto;max-height:70vh;padding:.6rem;border:2px solid var(--honey);border-radius:.8rem;background-color:#000;columns:1}body[data-head-menu=open] #pipeline-cycler{display:none}#about-rows{columns:1}.telemetry-label{min-width:6.5rem}.header-face{columns:1}.brand-mark{width:2.6rem}.launcher-body{overflow-y:auto}.launcher-grid{grid-template-columns:1fr;grid-auto-rows:max-content}.launcher-tile>*{flex:none}.launcher-tile-wide{grid-column:auto}.launcher-head{flex-wrap:wrap}.launcher-tile-wide .launcher-name,.launcher-name{font-size:1.4rem}}.build-mismatch-dismiss{flex:none;padding:0 .4rem;border:0;background:none;color:inherit;font:inherit;font-size:1.2em;line-height:1;cursor:pointer}.restart-question{align-items:flex-start}.restart-cuts{margin:.45rem 0 0;padding-left:1.1rem}.restart-cuts-lead{list-style:none;margin-left:-1.1rem}.restart-answers{display:flex;flex:none;gap:.5rem}.restart-yes,.restart-no{padding:.15rem .9rem;border:none;border-radius:.8rem;color:#000;font:inherit;font-weight:700;letter-spacing:inherit;cursor:pointer}.restart-yes{background:var(--butter)}.restart-no{background:var(--orange)}.restart-yes:focus-visible,.restart-no:focus-visible{outline:2px solid var(--butter);outline-offset:2px}.listing-row.listing-cursor{outline:2px solid var(--butter);outline-offset:-2px}body:not([data-composition=chris]) [data-composition=chris]{display:none!important}body:not([data-composition=stratus]) [data-composition=stratus]{display:none!important}.transfer-stack{position:fixed;right:3.5rem;bottom:1.5rem;z-index:50;display:flex;flex-direction:column;gap:.4rem;width:min(40rem,calc(100vw - 4.5rem));pointer-events:none}.transfer-row{pointer-events:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name action" "bar action" "words action";column-gap:.7rem;row-gap:.2rem;padding:.45rem .6rem .45rem .9rem;background:#000000e0;border-left:6px solid var(--orange);border-radius:0 1rem 1rem 0;font-family:var(--face-label);font-size:.8rem;letter-spacing:.05em;color:var(--orange)}.transfer-name{grid-area:name;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-bar{grid-area:bar;height:.45rem;border-radius:.25rem;background:#ffffff1f;overflow:hidden}.transfer-fill{display:block;height:100%;width:0;background:var(--orange);transition:width .6s linear}.transfer-row[data-phase=opening] .transfer-fill,.transfer-row[data-phase=ready] .transfer-fill{width:30%!important;animation:transfer-wait 1.4s ease-in-out infinite alternate}@keyframes transfer-wait{0%{margin-left:0}to{margin-left:70%}}@media(prefers-reduced-motion:reduce){.transfer-row[data-phase=opening] .transfer-fill,.transfer-row[data-phase=ready] .transfer-fill{animation:none}}.transfer-words{grid-area:words;font-size:.72rem;color:var(--harvestgold)}.transfer-row[data-phase=done]{border-left-color:var(--harvestgold)}.transfer-row[data-phase=done] .transfer-fill{background:var(--harvestgold)}.transfer-row[data-phase=failed],.transfer-row[data-phase=cancelled]{border-left-color:var(--mars)}.transfer-row[data-phase=failed] .transfer-words,.transfer-row[data-phase=cancelled] .transfer-words{color:var(--mars)}.transfer-action{grid-area:action;align-self:center;border:none;border-radius:.7rem;padding:.15rem .8rem;background:var(--orange);color:#000;font:inherit;font-weight:700;letter-spacing:.1em;cursor:pointer}.transfer-action:disabled{opacity:.5;cursor:default}.share-sheet{position:fixed;left:50%;top:18%;transform:translate(-50%);z-index:10000;width:min(44rem,calc(100vw - 2rem));max-height:64vh;display:flex;flex-direction:column;gap:.6rem;padding:.8rem 1rem;background:#000;border-left:8px solid var(--orange);border-radius:0 1.2rem 1.2rem 0;box-shadow:0 0 24px #000c;font-family:var(--face-label);color:var(--orange)}.share-head{font-weight:700;letter-spacing:.1em;font-size:.85rem}.share-script{margin:0;overflow:auto;min-height:0;padding:.5rem .7rem;background:#ffffff0f;border-radius:.4rem;color:var(--harvestgold);font-family:var(--face-mono, monospace);font-size:.8rem;white-space:pre;-webkit-user-select:all;user-select:all}.share-pills{display:flex;justify-content:flex-end;gap:.6rem}.share-copy,.share-close{border:none;border-radius:.7rem;padding:.15rem 1rem;background:var(--orange);color:#000;font:inherit;font-weight:700;letter-spacing:.1em;cursor:pointer}.share-sheet[data-copied=yes] .share-lines{background:var(--harvestgold)}.share-sheet[data-copied=no] .share-lines{background:var(--mars)}.view-refused{color:var(--mars)}.view-run:disabled{opacity:.4;cursor:default}.trek-bridge{position:fixed;inset:0;z-index:60;display:grid;grid-template-columns:11rem minmax(0,1fr);grid-template-rows:auto 1rem .5rem 1rem minmax(0,1fr) auto 7rem;column-gap:0;padding:.5rem;box-sizing:border-box;background:#000;color:var(--butter);font-family:var(--face-label);overflow:hidden}.trek-bridge [hidden]{display:none!important}body[data-takeover=trek]{overflow:hidden}body[data-takeover=trek]>*:not(#trek-bridge){visibility:hidden}.tb-gutter{display:contents}.tb-gutter-top{grid-column:1;grid-row:1 / 3;display:flex;flex-direction:column;gap:.35rem;min-height:0}.tb-gutter-body{grid-column:1;grid-row:4 / -1;display:flex;flex-direction:column;gap:.35rem;min-height:0}.tb-block{background:var(--october-sunset);color:#000;min-height:5.5rem;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;padding:0 .8rem .5rem 0}.tb-block-name{font-size:2.4rem;font-weight:700;letter-spacing:.1em;line-height:1}.tb-block-sub{font-size:.7rem;font-weight:700;letter-spacing:.08em}.tb-seed{background:var(--harvestgold);color:#000;font-size:.8rem;font-weight:700;text-align:right;padding:.35rem .8rem;letter-spacing:.06em}.tb-gutter-fill{flex:1 1 0;background:var(--orange);min-height:1rem}.tb-gutter-top .tb-gutter-fill{border-bottom-left-radius:3rem;min-height:2.5rem}.tb-gutter-cap{flex:0 0 2.5rem;background:var(--orange);border-top-left-radius:3rem}.tb-views{display:flex;flex-direction:column;gap:.35rem}.tb-view{border:none;background:var(--harvestgold);color:#000;font-family:var(--face-label);font-weight:700;font-size:.85rem;letter-spacing:.08em;text-align:right;padding:1.3rem .8rem .4rem;opacity:.55;cursor:pointer}.tb-view.tb-view-tactical{background:var(--mars)}.tb-view.tb-view-computer{background:var(--butter)}.tb-view.tb-view-on{background:var(--butter);opacity:1}.tb-leave{border:none;background:var(--mars);color:#000;font-family:var(--face-label);font-weight:700;font-size:.85rem;letter-spacing:.08em;text-align:right;padding:1rem .8rem;border-bottom-left-radius:2.5rem;cursor:pointer}.tb-bar{grid-column:2;display:flex;gap:.35rem;align-items:stretch}.tb-bar-top{grid-row:2}.tb-bar-body{grid-row:3 / 5;align-items:flex-end}.tb-bar-body>span{height:1rem}.tb-bar>span{display:block}.tb-bar .tb-bar-a{flex:0 0 14rem;position:relative;background:var(--orange)}.tb-bar .tb-bar-a:after{content:"";position:absolute;left:0;width:1.6rem;height:1.6rem;background:inherit}.tb-bar .tb-bar-a:before{content:"";position:absolute;left:0;width:1.6rem;height:1.6rem;background:#000;z-index:1}.tb-bar-top .tb-bar-a:after{bottom:100%}.tb-bar-top .tb-bar-a:before{bottom:100%;border-bottom-left-radius:1.6rem}.tb-bar-body .tb-bar-a:after{top:100%}.tb-bar-body .tb-bar-a:before{top:100%;border-top-left-radius:1.6rem}.tb-bar .tb-bar-b{flex:0 0 18rem;background:var(--harvestgold)}.tb-bar .tb-bar-c{flex:1 1 0;background:var(--butter)}.tb-bar .tb-bar-d{flex:0 0 7rem;background:var(--october-sunset);border-radius:0 .35rem .35rem 0}.tb-bar-body .tb-bar-b{flex:1 1 0}.tb-bar-body .tb-bar-c{flex:0 0 9rem;background:var(--october-sunset);border-radius:0 .35rem .35rem 0}.tb-header{grid-column:2;grid-row:1;display:grid;grid-template-columns:12rem repeat(3,minmax(0,1fr));gap:1.2rem;padding:.4rem .6rem .6rem 1.6rem;align-items:start}.tb-head-condition{display:flex;flex-direction:column;gap:.4rem}.tb-condition{border-radius:2rem;padding:.4rem 0;display:flex;flex-direction:column;align-items:center;color:#000;background:var(--harvestgold)}.tb-condition[data-condition=red]{background:var(--mars)}.tb-condition[data-condition=yellow]{background:var(--honey)}.tb-condition[data-condition=green]{background:var(--daybreak)}.tb-condition[data-condition=docked]{background:var(--butter)}.tb-condition-label{font-size:.7rem;font-weight:700;letter-spacing:.2em}.tb-condition-name{font-size:1.7rem;font-weight:700;letter-spacing:.25em;line-height:1}.tb-condition-why{font-size:.75rem;letter-spacing:.08em;text-align:center;color:var(--pumpkin-pie)}.tb-head-section{display:flex;flex-direction:column;gap:.35rem;min-width:0}.tb-head-title{font-size:.7rem;letter-spacing:.2em;color:var(--orange)}.tb-head-grid{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.3rem .5rem;align-items:center}.tb-head-label{background:var(--butter);color:#000;border-radius:.8rem;padding:.05rem .5rem;font-size:.65rem;font-weight:700;text-align:right}.tb-head-value{font-size:.85rem;color:var(--face-data-ink, #fec);font-family:var(--face-data);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-head-value.tb-bad,.tb-bad{color:var(--mars)}.tb-head-value.tb-good,.tb-good{color:var(--daybreak)}.tb-body{grid-column:2;grid-row:5;display:grid;gap:1.2rem;padding:.6rem .6rem .3rem 1.6rem;min-height:0;overflow:hidden}.tb-body[data-view=bridge]{grid-template-columns:17rem minmax(0,1fr) minmax(0,1.2fr)}.tb-body[data-view=bridge]>.tb-view-body{display:none}.tb-body:not([data-view=bridge])>.tb-scans,.tb-body:not([data-view=bridge])>.tb-stations{display:none}.tb-body[data-view=helm],.tb-body[data-view=tactical]{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}.tb-body[data-view=helm]>.tb-view-body:not(.tb-view-helm),.tb-body[data-view=tactical]>.tb-view-body:not(.tb-view-tactical){display:none}.tb-body[data-view=engineering],.tb-body[data-view=computer]{grid-template-columns:minmax(0,1fr)}.tb-body[data-view=engineering]>:not(.tb-view-engineering),.tb-body[data-view=computer]>:not(.tb-view-computer){display:none}.tb-title{font-size:.7rem;letter-spacing:.2em;color:var(--harvestgold)}.tb-note{font-size:.65rem;letter-spacing:.08em;color:var(--october-sunset)}.tb-scans{display:grid;grid-template-rows:auto auto auto minmax(6rem,1fr);align-content:start;gap:.4rem;min-height:0;overflow:auto}.tb-lrs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem}.tb-lrs-cell{border-radius:.6rem;background:#ffaa441a;border:2px solid transparent;display:flex;flex-direction:column;align-items:center;padding:.3rem 0;font-family:var(--face-data)}.tb-lrs-cell.tb-here{border-color:var(--harvestgold);background:#ffaa444d}.tb-lrs-cell.tb-hostile .tb-lrs-code{color:var(--mars)}.tb-lrs-cell.tb-unscanned{background:transparent;border-color:#ffcc991f}.tb-lrs-cell.tb-edge,.tb-lrs-cell.tb-lrs-edge{background:transparent;border-color:#ffcc9914;color:#ffcc9959}.tb-lrs-code{font-size:1.1rem;line-height:1;min-height:1.1rem}.tb-lrs-at{font-size:.6rem;color:var(--october-sunset)}.tb-chart{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,2.4rem));align-content:start;gap:.15rem;height:100%;min-height:0;container-type:size}.tb-quadrant{border:1px solid rgba(255,204,153,.15);border-radius:.4rem;display:flex;align-items:center;justify-content:center;font-family:var(--face-data);font-size:clamp(.45rem,6.5cqh,.75rem);padding:0;min-height:0;color:var(--face-data-ink, #fec);background:#ffaa441a}.tb-quadrant.tb-unscanned{background:transparent;border-color:#ffcc9914}.tb-quadrant.tb-hostile,.tb-quadrant.tb-supernova,.tb-lrs-cell.tb-supernova .tb-lrs-code,.tb-cq.tb-supernova .tb-cq-code{color:var(--mars)}.tb-quadrant.tb-based{border-color:var(--harvestgold)}.tb-quadrant.tb-here{background:var(--butter);color:#000}.tb-srs-section{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:.4rem;min-height:0;overflow:hidden}.tb-srs{display:grid;grid-template-columns:1rem repeat(10,minmax(0,1fr));gap:.15rem;font-family:var(--face-data)}.tb-srs-axis,.tb-srs-corner{font-size:.6rem;color:var(--october-sunset);display:flex;align-items:center;justify-content:center}.tb-scan{display:block;height:100%;width:auto;max-width:100%;max-height:100%;aspect-ratio:1;justify-self:start;font-family:var(--face-data)}.tb-scan-axis{font-size:.32px;fill:var(--october-sunset);text-anchor:middle;dominant-baseline:central;font-family:var(--face-label)}.tb-sector{cursor:pointer;outline:none}.tb-cell{fill:transparent;stroke:#ffcc991f;stroke-width:.02}.tb-cell-dot{fill:#ffcc994d}.tb-sector:focus-visible .tb-cell{stroke:var(--butter);stroke-width:.05}.tb-sector.tb-pressed .tb-cell{stroke:var(--daybreak);stroke-width:.05}.tb-sector-ship .tb-cell{fill:#ffaa4440}.tb-sector-klingon .tb-cell{fill:#f2402a2e}.tb-sector-ship,.tm-icon-ship{color:var(--face-data-ink, #fec)}.tb-sector-klingon,.tm-icon-klingon,.tb-wheel-mark-klingon{color:var(--mars)}.tb-sector-base,.tm-icon-base,.tb-wheel-mark-base{color:var(--harvestgold)}.tb-sector-inhabited,.tm-icon-inhabited{color:var(--daybreak)}.tb-sector-star,.tm-icon-star{color:var(--pumpkin-pie)}.tb-sector-hole,.tm-icon-hole{color:#fc99}.tm-icon-supernova{color:var(--mars)}.tm-defs{position:absolute;width:0;height:0}.tm-icon{width:1em;height:1em;vertical-align:-.15em;display:inline-block}@keyframes tb-star-breathe{0%,to{opacity:.62;transform:scale(.9)}50%{opacity:1;transform:scale(1)}}.tb-sector-star .tm-mark>.tm-symbol{animation:tb-star-breathe 3.6s ease-in-out infinite;animation-delay:var(--tb-breathe, 0s)}@media(prefers-reduced-motion:reduce){.tb-sector-star .tm-mark>.tm-symbol{animation:none}}.tb-ring{fill:none;stroke:var(--daybreak);pointer-events:none;transition:stroke-width .6s ease-out,stroke .6s}.tb-ring-mid{stroke:var(--harvestgold)}.tb-ring-low{stroke:var(--mars)}.tb-ring-down{stroke:#ffcc9980;stroke-dasharray:.06 .06}.tb-ring-docked{stroke:var(--honey);stroke-dasharray:.12 .06}.tb-motion{pointer-events:none}.tb-track{fill:none;stroke:var(--harvestgold);stroke-width:.04;stroke-dasharray:.12 .1;stroke-linecap:round;opacity:.55}.tb-track.tb-hostile{stroke:var(--mars)}.tb-pulse{fill:none;stroke-linecap:round}.tb-pulse-wide{stroke:var(--harvestgold);stroke-width:.16;opacity:.45}.tb-pulse-core{stroke:var(--butter);stroke-width:.05}.tb-pulse-wide.tb-hostile{stroke:var(--mars)}.tb-pulse-core.tb-hostile{stroke:#fff}.tb-beam{stroke:var(--mars);stroke-width:.12;stroke-linecap:round;fill:none;animation:tb-beam-pulse .3s ease-out 3}.tb-beam-core{stroke:var(--butter);stroke-width:.04}.tb-beam.tb-hostile{stroke:var(--daybreak);stroke-width:.1}.tb-beam-core.tb-hostile{stroke:#fff;stroke-width:.03}@keyframes tb-beam-pulse{0%,to{opacity:0}20%,70%{opacity:1}}.tb-burst-halo{fill:url(#tm-halo);animation:tb-bloom var(--tb-ms, .8s) ease-out forwards}.tb-burst-core{fill:var(--butter);animation:tb-core var(--tb-ms, .8s) ease-out forwards}.tb-burst-spikes{transform-box:fill-box;transform-origin:center;animation:tb-spikes var(--tb-ms, .8s) cubic-bezier(.2,.8,.3,1) forwards}.tb-burst-spike{stroke:var(--butter);stroke-width:.045;stroke-linecap:round}.tb-burst-nova .tb-burst-halo,.tb-burst-supernova .tb-burst-halo{fill:url(#tm-halo-nova)}.tb-burst-nova .tb-burst-spike,.tb-burst-supernova .tb-burst-spike{stroke:var(--pumpkin-pie)}.tb-burst-misfire .tb-burst-halo{fill:url(#tm-halo-mars)}.tb-burst-misfire .tb-burst-spike{stroke:var(--mars)}@keyframes tb-bloom{0%{r:.1;opacity:1}to{r:1.6;opacity:0}}@keyframes tb-core{0%{r:.04;opacity:1}30%{r:.32;opacity:1}to{r:.5;opacity:0}}@keyframes tb-spikes{0%{transform:scale(.15);opacity:1}to{transform:scale(1);opacity:0}}.tb-ring-flare{fill:none;stroke:var(--butter);stroke-width:.08;pointer-events:none;animation:tb-ring-flare .9s ease-out forwards}@keyframes tb-ring-flare{0%{r:.46;opacity:1}to{r:1.1;opacity:0}}.tb-photon-halo{fill:url(#tm-photon-halo)}.tb-photon-core{fill:url(#tm-photon-core)}.tb-photon-pulses{transform-box:fill-box;transform-origin:center;animation:tb-photon-spin 1.4s linear infinite}.tb-photon-pulses rect{fill:#ffd27a;opacity:.9;transform-box:fill-box;transform-origin:left center}.tb-photon-pulses g:nth-child(odd) rect{animation:tb-photon-flicker .26s steps(2) infinite}.tb-photon-pulses g:nth-child(2n) rect{animation:tb-photon-flicker .34s steps(2) infinite reverse}.tb-photon-pulses g:nth-child(3n) rect{animation-duration:.42s}@keyframes tb-photon-spin{to{transform:rotate(360deg)}}@keyframes tb-photon-flicker{0%{opacity:.35;transform:scaleX(.6)}to{opacity:1;transform:scaleX(1.25)}}.tb-tail-segment{fill:none;stroke:#ff6a1a;stroke-linecap:round}.tb-scan .tb-sector{transition:opacity .35s}.tb-scan.tb-rescan .tb-sector{opacity:.08}@keyframes tb-lrs-bloom{0%{box-shadow:0 0 0 0 var(--butter)}to{box-shadow:0 0 28px 18px transparent}}@keyframes tb-lrs-bloom-hostile{0%{box-shadow:0 0 0 0 var(--mars)}to{box-shadow:0 0 28px 18px transparent}}.tb-lrs-cell.tb-bloom{animation:tb-lrs-bloom 1s ease-out forwards}.tb-lrs-cell.tb-bloom.tb-bloom-hostile{animation-name:tb-lrs-bloom-hostile}@media(prefers-reduced-motion:reduce){.tb-beam,.tb-burst-halo,.tb-burst-core,.tb-burst-spikes,.tb-ring-flare,.tb-photon-pulses,.tb-photon-pulses rect,.tb-lrs-cell.tb-bloom{animation:none}}.tb-legend{display:flex;flex-wrap:wrap;gap:.25rem .9rem}.tb-legend-item{display:inline-flex;align-items:center;gap:.3rem;font-size:.6rem;letter-spacing:.12em;color:var(--october-sunset)}.tb-legend-item .tm-icon{font-size:.9rem}.tb-legend-glyph{font-family:var(--face-data);color:var(--butter);letter-spacing:0}.tb-ship-pills{align-items:center}.tb-pills{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.tb-pill{border:none;border-radius:.9rem;padding:.25rem .8rem;background:var(--harvestgold);color:#000;font-family:var(--face-label);font-weight:700;font-size:.75rem;letter-spacing:.06em;cursor:pointer}.tb-pill:disabled{opacity:.35;cursor:default}.tb-pill.tb-pill-on{background:var(--butter);outline:2px solid var(--butter)}.tb-pill.tb-grave{background:transparent;color:var(--october-sunset);border:2px solid var(--october-sunset);padding:calc(.25rem - 2px) calc(.8rem - 2px)}.tb-station-tactical .tb-pill.tb-command{background:var(--mars)}.tb-pill.tb-command.tb-barred,.tb-station-tactical .tb-pill.tb-command.tb-barred{background:transparent;color:var(--mars);box-shadow:inset 0 0 0 2px var(--mars)}.tb-commit{background:var(--butter)}.tb-choice{background:var(--honey)}.tb-fire{background:var(--mars);font-size:.9rem;padding:.4rem 1.2rem}.tb-stations{display:flex;flex-direction:column;gap:.8rem;min-height:0;overflow:auto}.tb-station{border-left:6px solid var(--butter);padding-left:.6rem;display:flex;flex-direction:column;gap:.4rem;min-width:0}.tb-station-tactical{border-left-color:var(--mars)}.tb-station-time{border-left-color:var(--harvestgold)}.tb-station-computer{border-left-color:var(--daybreak)}.tb-station-head{display:flex;align-items:baseline;gap:.6rem}.tb-station-name{font-size:1.1rem;letter-spacing:.15em;color:var(--face-data-ink, #fec)}.tb-station-step{font-size:.7rem;letter-spacing:.08em;color:var(--harvestgold)}.tb-station-fill{flex:1 1 0}.tb-controls{display:flex;gap:.8rem;align-items:flex-start}.tb-sliders{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:.35rem;container-type:inline-size}@container (max-width: 24rem){.tb-slider,.tb-slider.tb-local,.tb-view-helm .tb-slider,.tb-view-tactical .tb-slider,.tb-station-time .tb-slider{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label readout" "track track" "commit commit";row-gap:.2rem}.tb-slider>.tb-slider-label{grid-area:label;justify-self:start}.tb-slider>.tb-slider-readout{grid-area:readout}.tb-slider .tb-commit{grid-area:commit;justify-self:end;white-space:nowrap}.tb-slider>.tb-slider-column{grid-area:track}}.tb-slider,.tb-pillrow{display:grid;grid-template-columns:5.5rem minmax(0,1fr) 3.2rem auto;gap:.4rem;align-items:center;opacity:.4}.tb-pillrow{grid-template-columns:5.5rem minmax(0,1fr)}.tb-slider.tb-lit,.tb-pillrow.tb-lit,.tb-wheel.tb-lit{opacity:1}.tb-slider.tb-local{opacity:1;grid-template-columns:5.5rem minmax(0,1fr) 3.2rem}.tb-slider.tb-local .tb-commit{display:none}.tb-slider-label{background:var(--butter);color:#000;border-radius:.8rem;padding:.05rem .5rem;font-size:.65rem;font-weight:700;text-align:right;letter-spacing:.06em}.tb-slider-column{display:flex;flex-direction:column;gap:.05rem;min-width:0}.tb-slider-input{width:100%;min-width:0;margin:0;accent-color:var(--harvestgold)}.tb-slider-ticks{display:flex;justify-content:space-between;font-family:var(--face-data);font-size:.55rem;color:#ffcc9980;padding:0 .3rem;container-type:inline-size}@container (max-width: 12rem){.tb-slider-tick:nth-child(2n):not(:last-child){display:none}}@container (max-width: 6rem){.tb-slider-tick:not(:first-child):not(:last-child){display:none}}.tb-slider-ticks:empty{display:none}.tb-slider-note{font-size:.55rem;letter-spacing:.06em;color:var(--october-sunset);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-slider-note:empty{display:none}.tb-slider-readout{font-family:var(--face-data);font-size:.9rem;color:var(--face-data-ink, #fec);text-align:right}.tb-wheel{display:flex;flex-direction:column;align-items:center;gap:.3rem;opacity:.4;flex:0 0 auto}.tb-wheel-face{touch-action:none;cursor:crosshair}.tb-wheel-rim{fill:#ffaa440f;stroke:var(--butter);stroke-width:3}.tb-station-tactical .tb-wheel-rim{stroke:var(--mars)}.tb-wheel-ring{fill:none;stroke:#ffcc992e;stroke-width:1}.tb-wheel-tick{stroke:var(--harvestgold);stroke-width:1.5}.tb-wheel-tick-major{stroke:var(--harvestgold);stroke-width:3}.tb-wheel-label{fill:var(--butter);font-size:11px;font-family:var(--face-label)}.tb-wheel-needle{stroke:var(--face-data-ink, #fec);stroke-width:4;stroke-linecap:round}.tb-wheel-hub{fill:var(--face-data-ink, #fec)}.tb-wheel-wedge{fill:#f2402a40;stroke:var(--mars);stroke-width:1}.tb-wheel-mark{pointer-events:auto}.tb-wheel-row{display:flex;gap:.5rem;align-items:center}.tb-wheel-readout{font-family:var(--face-data);font-size:1rem;color:var(--face-data-ink, #fec)}.tb-fire-row{display:flex;gap:.8rem;align-items:flex-start;flex-wrap:wrap}.tb-targets{display:grid;grid-template-columns:auto repeat(3,minmax(0,auto));gap:.2rem .6rem;align-items:center;font-family:var(--face-data);font-size:.75rem}.tb-targets>.tb-note{grid-column:1 / -1}.tb-target-head{font-family:var(--face-label);font-size:.6rem;letter-spacing:.15em;color:var(--harvestgold)}.tb-target{border:1px solid var(--mars);border-radius:.6rem;background:transparent;color:var(--mars);font-family:var(--face-data);font-size:.7rem;padding:.15rem .5rem;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem}.tb-target .tm-icon{font-size:1rem}.tb-target-cell{color:var(--face-data-ink, #fec)}.tb-view-body{min-height:0;overflow:auto}.tb-view-helm .tb-controls,.tb-view-tactical .tb-controls{gap:1.4rem}.tb-view-helm .tb-slider,.tb-view-tactical .tb-slider{grid-template-columns:7rem minmax(0,1fr) 4rem auto}.tb-view-helm .tb-pillrow,.tb-view-tactical .tb-pillrow{grid-template-columns:7rem minmax(0,1fr)}.tb-view-helm .tb-station-name,.tb-view-tactical .tb-station-name{font-size:1.5rem}.tb-view-helm .tb-wheel-readout,.tb-view-tactical .tb-wheel-readout{font-size:1.4rem}.tb-panel{display:flex;flex-direction:column;gap:.4rem;min-width:0}.tb-view-engineering{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:1.4rem}.tb-dc{display:grid;grid-template-columns:9rem minmax(0,1fr) 4rem 4rem 3rem;gap:.25rem .6rem;align-items:center;font-size:.7rem;letter-spacing:.04em}.tb-dc-head{font-size:.6rem;letter-spacing:.15em;color:var(--harvestgold)}.tb-dc-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-dc-time,.tb-sys-value,.tb-sys-text{font-family:var(--face-data);font-size:.8rem;color:var(--face-data-ink, #fec);text-align:right;white-space:nowrap}.tb-sys-text{text-align:left;grid-column:2 / -1;white-space:normal}.tb-dc-state{font-weight:700;text-align:right}.tb-bar-track{height:.6rem;border-radius:.3rem;background:#ffcc991a;overflow:hidden}.tb-bar-fill{height:100%;border-radius:.3rem}.tb-bar-ok{background:var(--daybreak)}.tb-bar-down{background:var(--mars)}.tb-systems{display:grid;grid-template-columns:7rem minmax(0,1fr) auto;gap:.35rem .6rem;align-items:center;font-size:.7rem;letter-spacing:.04em}.tb-pips{display:flex;gap:.2rem;flex-wrap:wrap}.tb-pip{width:.6rem;height:.6rem;border-radius:50%;border:1px solid var(--harvestgold)}.tb-pip-on{background:var(--harvestgold)}.tb-since-grid{grid-template-columns:7rem minmax(0,1fr)}.tb-station-time .tb-slider{grid-template-columns:6rem minmax(0,1fr) 3.5rem auto}.tb-in-that-time{display:flex;flex-direction:column;gap:.3rem}.tb-in-that-time .tb-head-value{white-space:normal}.tb-view-computer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:1.4rem}.tb-chart-big{display:grid;grid-template-columns:1.2rem repeat(8,minmax(0,1fr));gap:.25rem}.tb-cq{border:1px solid rgba(255,204,153,.15);border-radius:.6rem;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1.2;padding:.2rem;cursor:pointer;color:var(--face-data-ink, #fec);font-family:var(--face-data)}.tb-cq:not(.tb-unscanned){background:#ffaa441a}.tb-cq.tb-unscanned .tb-cq-code{color:#ffcc9959}.tb-cq.tb-hostile .tb-cq-code{color:var(--mars)}.tb-cq.tb-based{border-color:var(--harvestgold)}.tb-cq.tb-here{background:var(--butter);color:#000}.tb-cq.tb-here .tb-cq-at{color:#000}.tb-cq.tb-pressed{outline:2px solid var(--daybreak)}.tb-cq-code{font-size:1rem;line-height:1.1}.tb-cq-at{font-size:.55rem;color:var(--october-sunset)}.tb-computer-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.4rem}.tb-answer-panel{grid-column:1 / -1}.tb-computer-answer{margin:0;font-family:var(--face-data);font-size:.85rem;color:var(--face-data-ink, #fec);white-space:pre-wrap;max-height:12rem;overflow:auto}.tb-score{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .8rem;font-size:.7rem;letter-spacing:.04em}.tb-score-points{font-family:var(--face-data);text-align:right}.tb-score-total{font-weight:700;color:var(--face-data-ink, #fec);border-top:1px solid rgba(255,204,153,.3);padding-top:.2rem}.tb-ask{grid-column:2;grid-row:6;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;padding:.4rem .6rem .4rem 1.6rem;border-top:3px solid var(--october-sunset)}.tb-ask-label{font-size:.7rem;letter-spacing:.2em;color:var(--mars)}.tb-ask-text{font-size:.95rem;color:var(--face-data-ink, #fec)}.tb-ask-input{background:#0a0804;color:var(--butter);border:1px solid rgba(255,204,153,.3);border-radius:.5rem;padding:.25rem .5rem;font-family:var(--face-data);min-width:12rem}.tb-log-section{grid-column:2;grid-row:7;display:grid;grid-template-columns:7rem minmax(0,1fr);gap:.8rem;border-top:3px solid var(--october-sunset);padding:.4rem .6rem 0 1.6rem;min-height:0}.tb-log-head{display:flex;flex-direction:column;gap:.2rem}.tb-log{overflow-y:auto;font-size:.9rem;letter-spacing:.03em;color:var(--butter);min-height:0}.tb-log-line{white-space:pre-wrap;line-height:1.3}.tb-log-line:empty{min-height:.4rem}.tb-log-line.tb-log-own{color:var(--october-sunset);font-size:.75rem;letter-spacing:.06em}.tb-log-fold-head{cursor:pointer;font-size:.65rem;letter-spacing:.15em;color:var(--october-sunset);list-style:none;line-height:1.6}.tb-log-fold-head::-webkit-details-marker{display:none}.tb-log-fold-head:before{content:"▸ "}.tb-log-fold[open] .tb-log-fold-head:before{content:"▾ "}.tb-log-fold .tb-log-line{padding-left:1rem;opacity:.8}.tb-leave-ask{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:.6rem;align-items:center;background:#000;border:3px solid var(--mars);border-radius:1.5rem;padding:1.2rem 1.8rem;z-index:61}@media(max-width:1100px){.tb-body[data-view=bridge]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tb-body[data-view=bridge]>.tb-stations{grid-column:1 / -1}.tb-body[data-view=helm],.tb-body[data-view=tactical],.tb-view-computer{grid-template-columns:minmax(0,1fr)}.tb-view-engineering{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tb-header{grid-template-columns:12rem repeat(2,minmax(0,1fr))}}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import We,{data as A,normalizers as k,utilities as D,derivations as Ie,constants as hn,sr as yn}from"./dcmjs.es-DfWkgqfk.js";import{bY as Bt,bZ as Yt,dA as Dn,at as Tn,cD as Kt,t as Cn,e as bn,bi as q,cp as $e,cs as Rn}from"./Settings-
|
|
1
|
+
import We,{data as A,normalizers as k,utilities as D,derivations as Ie,constants as hn,sr as yn}from"./dcmjs.es-DfWkgqfk.js";import{bY as Bt,bZ as Yt,dA as Dn,at as Tn,cD as Kt,t as Cn,e as bn,bi as q,cp as $e,cs as Rn}from"./Settings-CiFb_at6.js";import"./cornerstoneEngine-D1k_eGOf.js";import"./Texture-DhflYwlm.js";import{m as Mn,t as Pn}from"./throttle-CjIII7Yf.js";import"./index--MRRVo__.js";import"./refusal-DOpm8I8L.js";import"./_commonjsHelpers-CE1G-McA.js";const R=r=>Array.isArray(r)?r:r!==void 0?[r]:[],Pe=r=>e=>e.ConceptNameCodeSequence.CodeMeaning===r;A.datasetToBlob;const vn=Bt;let Nn=vn;function E(r,e){let t=r.is3DMeasurement,n=r.referencedImageId;if(t)return{x:e[0],y:e[1],z:e[2]};const a=Nn(n,e);return{x:a[0],y:a[1]}}function Q(r,e){return e.map(t=>E(r,t))}const En=Yt;function pe(r,e){let t=r.is3DMeasurement,n=r.referencedImageId;const a=[];if(t){const o=e.GraphicData;for(let s=0;s<o.length;s+=3){const i=[o[s],o[s+1],o[s+2]];a.push(i)}}else{const o=e.GraphicData;for(let s=0;s<o.length;s+=2){const i=En(n,[o[s],o[s+1]]);a.push(i)}}return a}const zt=D.TID1500,st=D.addAccessors,wn=Ie.StructuredReport,An=k.Normalizer,Un=zt.TID1500MeasurementReport,jn=zt.TID1501MeasurementGroup,xn=A.DicomMetaDictionary,Gn={CodingSchemeDesignator:"DCM",CodeValue:"121071"},_n={CodingSchemeDesignator:"SCT",CodeValue:"363698007"},Vn={CodingSchemeDesignator:"SRT",CodeValue:"G-C0E3"},it=(r,e,t)=>{const n=r.ConceptNameCodeSequence;if(!n)return;const a=n.CodingSchemeDesignator,o=n.CodeValue;return a==e.CodingSchemeDesignator&&o==e.CodeValue||t&&a==t.CodingSchemeDesignator&&o==t.CodeValue};function $n(r,e,t){const n=t.getTID300RepresentationArguments(r);return n.ReferencedSOPSequence=e,n.ReferencedFrameOfReferenceUID=n.use3DSpatialCoordinates?r.metadata.FrameOfReferenceUID:null,new t.TID300Representation(n)}function qn(r,e,t){const n=e[r],a=M.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE[r];if(!n||!n.data||!n.data.length||!a)return;const o=n.data.map(s=>$n(s,t,a));return new jn(o)}let M=class ue{static getSetupMeasurementData(e){const t=e.ContentSequence,n=R(t),a=n.find(g=>it(g,Gn)),o=n.filter(g=>it(g,_n,Vn))||[],s=n.find(g=>g.ValueType==="NUM"),i=R(s.ContentSequence).find(g=>g.ValueType==="SCOORD"),c=i.ContentSequence.ReferencedSOPSequence,u=c.ReferencedSOPInstanceUID,l=c.ReferencedFrameNumber,d={sopInstanceUid:u,frameIndex:l||1,complete:!0,finding:a?st(a.ConceptCodeSequence):void 0,findingSites:o.map(g=>st(g.ConceptCodeSequence))};d.finding&&(d.description=d.finding.CodeMeaning);const p=d.findingSites&&d.findingSites[0];return p&&(d.location=p[0]&&p[0].CodeMeaning||p.CodeMeaning),{defaultState:d,findingGroup:a,findingSiteGroups:o,NUMGroup:s,SCOORDGroup:i,ReferencedSOPSequence:c,ReferencedSOPInstanceUID:u,ReferencedFrameNumber:l}}static generateReport(e,t,n){let a=[];const o=Object.keys(e)[0];if(!o)throw new Error("No measurements provided.");const s=t.get("generalSeriesModule",o),i=s.studyInstanceUID,c=s.seriesInstanceUID;Object.keys(e).forEach(m=>{const h=t.get("sopCommonModule",m),O=t.get("frameNumber",m),y=e[m],S=Object.keys(y),b={ReferencedSOPClassUID:h.sopClassUID,ReferencedSOPInstanceUID:h.sopInstanceUID};An.isMultiframeSOPClassUID(h.sopClassUID)&&(b.ReferencedFrameNumber=O);const T=[];S.forEach(v=>{const j=qn(v,y,b);j&&T.push(j)}),a=a.concat(T)});const u=new Un({TID1501MeasurementGroups:a},n),l=new Uint8Array(2);l[1]=1;const d={StudyInstanceUID:i,SeriesInstanceUID:c},p={FileMetaInformationVersion:{Value:[l.buffer],vr:"OB"},TransferSyntaxUID:{Value:["1.2.840.10008.1.2.1"],vr:"UI"},ImplementationClassUID:{Value:[xn.uid()],vr:"UI"},ImplementationVersionName:{Value:["dcmjs"],vr:"SH"}},g={PixelData:"OW"};d._meta=p,d._vrMap=g;const f=new wn([d]),I=u.contentItem(d);return f.dataset=Object.assign(f.dataset,I),f.dataset._meta=p,f.dataset.SpecificCharacterSet="ISO_IR 192",f}static generateToolState(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e.ContentTemplateSequence.TemplateIdentifier!=="1500")throw new Error("This package can currently only interpret DICOM SR TID 1500");const n="Imaging Measurements",a="Measurement Group",o="Tracking Identifier",s=R(e.ContentSequence).find(Pe(n)),i=R(s.ContentSequence).filter(Pe(a)),c={},u=ue.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE,l=[];return Object.keys(u).forEach(d=>{l.push(u[d]),c[d]=[]}),i.forEach(d=>{const f=R(d.ContentSequence).find(m=>m.ConceptNameCodeSequence.CodeMeaning===o).TextValue,I=t.getToolClass?t.getToolClass(d,e,l):l.find(m=>m.isValidCornerstoneTrackingIdentifier(f));if(I){const m=I.getMeasurementData(d);console.log("=== ".concat(I.toolType," ===")),console.log(m),c[I.toolType].push(m)}}),c}static registerTool(e){ue.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE[e.utilityToolType]=e,ue.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE[e.toolType]=e,ue.MEASUREMENT_BY_TOOLTYPE[e.toolType]=e.utilityToolType}};M.MEASUREMENT_BY_TOOLTYPE={};M.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE={};M.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE={};function Fn(r){if(Array.isArray(r))return r}function Ln(r,e){var t=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(t!=null){var n,a,o,s,i=[],c=!0,u=!1;try{if(o=(t=t.call(r)).next,e===0){if(Object(t)!==t)return;c=!1}else for(;!(c=(n=o.call(t)).done)&&(i.push(n.value),i.length!==e);c=!0);}catch(l){u=!0,a=l}finally{try{if(!c&&t.return!=null&&(s=t.return(),Object(s)!==s))return}finally{if(u)throw a}}return i}}function ct(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}function kn(r,e){if(r){if(typeof r=="string")return ct(r,e);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?ct(r,e):void 0}}function Bn(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
2
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function w(r,e){return Fn(r)||Ln(r,e)||kn(r,e)||Bn()}function me(r){"@babel/helpers - typeof";return me=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},me(r)}function Yn(r,e){if(me(r)!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e);if(me(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function Kn(r){var e=Yn(r,"string");return me(e)=="symbol"?e:e+""}function P(r,e,t){return(e=Kn(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var $="cornerstoneTools@^4.0.0";function ut(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function dt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ut(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):ut(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const zn=D.TID300.Length,Qe="Length";let J=class Xt{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,o=t.SCOORDGroup,s=dt(dt({},n),{},{length:a.MeasuredValueSequence.NumericValue,toolType:Xt.toolType,handles:{start:{},end:{},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}});var i=w(o.GraphicData,4);return s.handles.start.x=i[0],s.handles.start.y=i[1],s.handles.end.x=i[2],s.handles.end.y=i[3],s}static getTID300RepresentationArguments(e){const t=e.handles,n=e.finding,a=e.findingSites,o=t.start,s=t.end,i=e.length;return{point1:o,point2:s,distance:i,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:Length",finding:n,findingSites:a||[]}}};J.toolType=Qe;J.utilityToolType=Qe;J.TID300Representation=zn;J.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===Qe};M.registerTool(J);function lt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function pt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?lt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):lt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Xn=D.TID300.Polyline;class _{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.SCOORDGroup,o=t.NUMGroup,s=pt(pt({},n),{},{toolType:_.toolType,handles:{points:[],textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},cachedStats:{area:o?o.MeasuredValueSequence.NumericValue:0},color:void 0,invalidated:!0}),i=a.GraphicData;for(let c=0;c<i.length;c+=2)s.handles.points.push({x:i[c],y:i[c+1]});return s}static getTID300RepresentationArguments(e){const t=e.handles,n=e.finding,a=e.findingSites,o=e.cachedStats,s=o===void 0?{}:o,i=t.points,c=s.area,u=c===void 0?0:c,l=s.perimeter;return{points:i,area:u,perimeter:l===void 0?0:l,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:FreehandRoi",finding:n,findingSites:a||[]}}}_.toolType="FreehandRoi";_.utilityToolType="FreehandRoi";_.TID300Representation=Xn;_.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===_.toolType};M.registerTool(_);const Hn=D.TID300.Bidirectional,Je="Bidirectional",Wn="Long Axis",Qn="Short Axis",Jn="121071",Zn="G-C0E3";let Z=class Ht{static getMeasurementData(e){const t=e.ContentSequence,n=R(t).find(m=>m.ConceptNameCodeSequence.CodeValue===Jn),a=R(t).filter(m=>m.ConceptNameCodeSequence.CodeValue===Zn),o=R(t).find(m=>m.ConceptNameCodeSequence.CodeMeaning===Wn),s=R(o.ContentSequence).find(m=>m.ValueType==="SCOORD"),i=R(t).find(m=>m.ConceptNameCodeSequence.CodeMeaning===Qn),c=R(i.ContentSequence).find(m=>m.ValueType==="SCOORD"),u=s.ContentSequence.ReferencedSOPSequence,l=u.ReferencedSOPInstanceUID,d=u.ReferencedFrameNumber,p=String(o.MeasuredValueSequence.NumericValue),g=String(i.MeasuredValueSequence.NumericValue),f={x:Math.max(s.GraphicData[0],s.GraphicData[2],c.GraphicData[0],c.GraphicData[2]),y:Math.max(s.GraphicData[1],s.GraphicData[3],c.GraphicData[1],c.GraphicData[3])};return{sopInstanceUid:l,frameIndex:d||1,toolType:Ht.toolType,active:!1,handles:{start:{x:s.GraphicData[0],y:s.GraphicData[1],drawnIndependently:!1,allowedOutsideImage:!1,active:!1,highlight:!1,index:0},end:{x:s.GraphicData[2],y:s.GraphicData[3],drawnIndependently:!1,allowedOutsideImage:!1,active:!1,highlight:!1,index:1},perpendicularStart:{x:c.GraphicData[0],y:c.GraphicData[1],drawnIndependently:!1,allowedOutsideImage:!1,active:!1,highlight:!1,index:2},perpendicularEnd:{x:c.GraphicData[2],y:c.GraphicData[3],drawnIndependently:!1,allowedOutsideImage:!1,active:!1,highlight:!1,index:3},textBox:{highlight:!1,hasMoved:!0,active:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0,x:f.x+10,y:f.y+10}},invalidated:!1,isCreating:!1,longestDiameter:p,shortestDiameter:g,toolName:"Bidirectional",visible:!0,finding:n?n.ConceptCodeSequence:void 0,findingSites:a.map(m=>m.ConceptCodeSequence)}}static getTID300RepresentationArguments(e){const t=e.handles,n=t.start,a=t.end,o=t.perpendicularStart,s=t.perpendicularEnd,i=e.shortestDiameter,c=e.longestDiameter,u=e.finding,l=e.findingSites;return{longAxis:{point1:n,point2:a},shortAxis:{point1:o,point2:s},longAxisLength:c,shortAxisLength:i,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:Bidirectional",finding:u,findingSites:l||[]}}};Z.toolType=Je;Z.utilityToolType=Je;Z.TID300Representation=Hn;Z.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===Je};M.registerTool(Z);function gt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function ft(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?gt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):gt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const er=D.TID300.Ellipse,Ze="EllipticalRoi";class B{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,s=t.SCOORDGroup.GraphicData,i=[{x:s[0],y:s[1]},{x:s[2],y:s[3]}],c=[{x:s[4],y:s[5]},{x:s[6],y:s[7]}],u=Math.sqrt(Math.pow(c[0].x-c[1].x,2)+Math.pow(c[0].y-c[1].y,2)),l={x:(c[1].x-c[0].x)/u,y:(c[1].y-c[0].y)/u},d=u/2,p={x:i[0].x+l.x*d,y:i[0].y+l.y*d},g={x:i[1].x-l.x*d,y:i[1].y-l.y*d};return ft(ft({},n),{},{toolType:B.toolType,active:!1,cachedStats:{area:a?a.MeasuredValueSequence.NumericValue:0},handles:{end:{x:p.x,y:p.y,highlight:!1,active:!1},initialRotation:0,start:{x:g.x,y:g.y,highlight:!1,active:!1},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},invalidated:!0,visible:!0})}static getTID300RepresentationArguments(e){const t=e.cachedStats,n=t===void 0?{}:t,a=e.handles,o=e.finding,s=e.findingSites,i=a.start,c=a.end,u=n.area,l=Math.abs(i.x-c.x)/2,d=Math.abs(i.y-c.y)/2,p=[],g={x:(i.x+c.x)/2,y:(i.y+c.y)/2};return l>d?(p.push({x:g.x-l,y:g.y}),p.push({x:g.x+l,y:g.y}),p.push({x:g.x,y:g.y-d}),p.push({x:g.x,y:g.y+d})):(p.push({x:g.x,y:g.y-d}),p.push({x:g.x,y:g.y+d}),p.push({x:g.x-l,y:g.y}),p.push({x:g.x+l,y:g.y})),{area:u,points:p,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:EllipticalRoi",finding:o,findingSites:s||[]}}}B.toolType=Ze;B.utilityToolType=Ze;B.TID300Representation=er;B.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===Ze};M.registerTool(B);function mt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function X(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?mt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):mt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const tr=D.TID300.Circle,et="CircleRoi";class Y{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,s=t.SCOORDGroup.GraphicData,i={x:s[0],y:s[1]},c={x:s[2],y:s[3]};return X(X({},n),{},{toolType:Y.toolType,active:!1,cachedStats:{area:a?a.MeasuredValueSequence.NumericValue:0,radius:0,perimeter:0},handles:{end:X(X({},c),{},{highlight:!1,active:!1}),initialRotation:0,start:X(X({},i),{},{highlight:!1,active:!1}),textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},invalidated:!0,visible:!0})}static getTID300RepresentationArguments(e){const t=e.cachedStats,n=t===void 0?{}:t,a=e.handles,o=e.finding,s=e.findingSites,i=a.start,c=a.end,u=n.area,l=n.radius,d=2*Math.PI*l,p=[];return p.push(i),p.push(c),{area:u,perimeter:d,radius:l,points:p,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:CircleRoi",finding:o,findingSites:s||[]}}}Y.toolType=et;Y.utilityToolType=et;Y.TID300Representation=tr;Y.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===et};M.registerTool(Y);function It(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function St(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?It(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):It(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const nr=D.TID300.Point,tt="ArrowAnnotate",Ot="CORNERSTONEFREETEXT";let ee=class Wt{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.SCOORDGroup;t.findingGroup;const o=a.GraphicData;return St(St({},n),{},{toolType:Wt.toolType,active:!1,handles:{start:{x:o[0],y:o[1],highlight:!0,active:!1},end:{x:o.length==4?o[2]:o[0]+20,y:o.length==4?o[3]:o[1]+20,highlight:!0,active:!1},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},invalidated:!0,visible:!0})}static getTID300RepresentationArguments(e){const t=[e.handles.start,e.handles.end],n=e.findingSites;let a=e.finding;const o={points:t,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:ArrowAnnotate",findingSites:n||[]};return(!a||a.CodeValue!==Ot)&&(a={CodeValue:Ot,CodingSchemeDesignator:"CST4",CodeMeaning:e.label}),o.finding=a,o}};ee.toolType=tt;ee.utilityToolType=tt;ee.TID300Representation=nr;ee.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===tt};M.registerTool(ee);function ht(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function yt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ht(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):ht(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const rr=D.TID300.CobbAngle,nt="CobbAngle";let te=class Qt{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,o=t.SCOORDGroup,s=yt(yt({},n),{},{rAngle:a.MeasuredValueSequence.NumericValue,toolType:Qt.toolType,handles:{start:{},end:{},start2:{highlight:!0,drawnIndependently:!0},end2:{highlight:!0,drawnIndependently:!0},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}});var i=w(o.GraphicData,8);return s.handles.start.x=i[0],s.handles.start.y=i[1],s.handles.end.x=i[2],s.handles.end.y=i[3],s.handles.start2.x=i[4],s.handles.start2.y=i[5],s.handles.end2.x=i[6],s.handles.end2.y=i[7],s}static getTID300RepresentationArguments(e){const t=e.handles,n=e.finding,a=e.findingSites,o=t.start,s=t.end,i=t.start2,c=t.end2,u=e.rAngle;return{point1:o,point2:s,point3:i,point4:c,rAngle:u,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:CobbAngle",finding:n,findingSites:a||[]}}};te.toolType=nt;te.utilityToolType=nt;te.TID300Representation=rr;te.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===nt};M.registerTool(te);function Dt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Tt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Dt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Dt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const ar=D.TID300.Angle,rt="Angle";let ne=class Jt{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,o=t.SCOORDGroup,s=Tt(Tt({},n),{},{rAngle:a.MeasuredValueSequence.NumericValue,toolType:Jt.toolType,handles:{start:{},middle:{},end:{},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}});var i=w(o.GraphicData,8);return s.handles.start.x=i[0],s.handles.start.y=i[1],s.handles.middle.x=i[2],s.handles.middle.y=i[3],s.handles.middle.x=i[4],s.handles.middle.y=i[5],s.handles.end.x=i[6],s.handles.end.y=i[7],s}static getTID300RepresentationArguments(e){const t=e.handles,n=e.finding,a=e.findingSites,o=t.start,s=t.middle,i=t.middle,c=t.end,u=e.rAngle;return{point1:o,point2:s,point3:i,point4:c,rAngle:u,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:Angle",finding:n,findingSites:a||[]}}};ne.toolType=rt;ne.utilityToolType=rt;ne.TID300Representation=ar;ne.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===rt};M.registerTool(ne);function Ct(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function bt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ct(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ct(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const or=D.TID300.Polyline;class V{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.SCOORDGroup,o=t.NUMGroup,s=bt(bt({},n),{},{toolType:V.toolType,handles:{start:{},end:{},textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0},initialRotation:0},cachedStats:{area:o?o.MeasuredValueSequence.NumericValue:0},color:void 0,invalidated:!0});var i=w(a.GraphicData,6);return s.handles.start.x=i[0],s.handles.start.y=i[1],i[2],i[3],s.handles.end.x=i[4],s.handles.end.y=i[5],s}static getTID300RepresentationArguments(e){const t=e.finding,n=e.findingSites,a=e.cachedStats,o=a===void 0?{}:a,s=e.handles,i=s.start,c=s.end,u=[i,{x:i.x,y:c.y},c,{x:c.x,y:i.y}],l=o.area,d=o.perimeter;return{points:u,area:l,perimeter:d,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:RectangleRoi",finding:t,findingSites:n||[]}}}V.toolType="RectangleRoi";V.utilityToolType="RectangleRoi";V.TID300Representation=or;V.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===V.toolType};M.registerTool(V);A.DicomMessage;A.DicomMetaDictionary;k.Normalizer;const we=D.orientation;we.rotateDirectionCosinesInPlane;we.flipImageOrientationPatient;we.flipMatrix2D;we.rotateMatrix902D;D.datasetToBlob;D.BitArray;D.DicomMessage;D.DicomMetaDictionary;k.Normalizer;Ie.Segmentation;hn.EXPLICIT_LITTLE_ENDIAN;var qe;(function(r){r.SEGMENTATION_LOAD_PROGRESS="CORNERSTONE_ADAPTER_SEGMENTATION_LOAD_PROGRESS"})(qe||(qe={}));const Ae=D.orientation;Ae.rotateDirectionCosinesInPlane;Ae.flipImageOrientationPatient;Ae.flipMatrix2D;Ae.rotateMatrix902D;A.BitArray;A.DicomMessage;A.DicomMetaDictionary;k.Normalizer;Ie.Segmentation;const Zt=D.compression;Zt.encode;Zt.decode;A.DicomMessage;A.DicomMetaDictionary;k.Normalizer;const sr={Length:J,FreehandRoi:_,Bidirectional:Z,EllipticalRoi:B,CircleRoi:Y,ArrowAnnotate:ee,MeasurementReport:M,CobbAngle:te,Angle:ne,RectangleRoi:V};var ge="Cornerstone3DTools@^0.1.0";const ir=["PatientName","PatientID","PatientBirthDate","PatientBirthTime","IssuerOfPatientID","OtherPatientIDs","OtherPatientIDsSequence","PatientSex","PatientIdentityRemoved","DeidentificationMethodCodeSequence"],cr=["StudyDate","StudyTime","StudyStatusID","StudyPriorityID","StudyInstanceUID","StudyDescription","AccessionNumber","StudyID","ReferringPhysicianName","TimezoneOffsetFromUTC"],ur=[...ir,...cr];function dr(r){const e={_meta:r._meta,_vrMap:r._vrMap};for(const t of ur){const n=r[t];n!==void 0&&(e[t]=n)}return e}const lr=["SeriesInstanceUID","SeriesNumber","SeriesDescription","Modality","SeriesDate","SeriesTime","_meta","_vrMap"];function pr(r){const e={};for(const t of lr){const n=r[t];n!==void 0&&(e[t]=n)}return e}function gr(r){const e=[];if(!(r!=null&&r.length))return e;const t=r.length;if(t%3!==0)throw new Error("Points array should be divisible by 3 for SCOORD3D, but contents are: ".concat(JSON.stringify(r)," of length ").concat(t));for(let n=0;n<t;n+=3)e.push([r[n],r[n+1],r[n+2]]);return e}const fr="CORNERSTONEFREETEXT",mr="CORNERSTONEJS",en={CodingSchemeDesignator:mr,codeValues:{CORNERSTONEFREETEXT:fr}};function Rt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Mt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Rt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Rt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Fe="none",at="99CS3D",ve={schemeDesignator:at,meaning:"Text Annotation Position",value:"TextPosition"},F={schemeDesignator:at,meaning:"Control Points",value:"ControlPoints"},fe={schemeDesignator:at,meaning:"Spline Type",value:"SplineType"},Ne={schemeDesignator:"DCM",meaning:"Comment",value:"121106"},Ir=new Uint8Array(2);Ir[1]=1;const tn=new Uint8Array(2);tn[1]=2;const Sr="2.25.2470123695996825859949881583571202391.1.0.1",Or="2.25.2470123695996825859949881583571202391.2.0.1",hr=new Uint8Array(2);hr[1]=1;const ot={FileMetaInformationVersion:{Value:[tn.buffer],vr:"OB"},TransferSyntaxUID:{Value:["1.2.840.10008.1.2"],vr:"UI"},ImplementationClassUID:{Value:[Sr],vr:"UI"},ImplementationVersionName:{Value:["cs3d-4.8.4"],vr:"SH"}},yr=Mt(Mt({},ot),{},{ImplementationClassUID:{Value:[Or],vr:"UI"}}),nn=We.sr,x=nn.valueTypes,Pt=nn.coding,Dr=We.adapters.Cornerstone3D;class Tr{constructor(e,t){this.tid300Item=e,this.annotation=t,this.ReferencedSOPSequence=e.ReferencedSOPSequence}contentItem(){var e;const t=this.tid300Item.contentItem();this.fixScoordRelationships(t);const n=this.annotation.data,a=n.label,o=n.handles;return a&&(t.push(this.createQualitativeLabel(a)),this.filterCornerstoneFreeText(t)),o!=null&&(e=o.textBox)!==null&&e!==void 0&&e.hasMoved&&t.push(this.createQualitativeLabelPosition(this.annotation)),t}fixScoordRelationships(e){const t=x.RelationshipTypes.INFERRED_FROM;for(const n of e){const o=n.ContentSequence,s=this.normalizeContentSequence(o);for(const i of s)(i.ValueType==="SCOORD"||i.ValueType==="SCOORD3D")&&(i.RelationshipType==="CONTAINS"||i.RelationshipType==="Contains")&&(i.RelationshipType=t)}}normalizeContentSequence(e){return e?Array.isArray(e)?e:[e]:[]}filterCornerstoneFreeText(e){const t=Dr.CodeScheme.codeValues,n=[t.FREE_TEXT_CODE_VALUE,t.CORNERSTONEFREETEXT];for(let a=0;a<e.length;a++){const o=e[a];if(!o.ConceptCodeSequence)continue;const s=o.ConceptCodeSequence.findIndex(i=>n.includes(i.CodeValue));if(s!==-1){o.ConceptCodeSequence.splice(s,1),o.ConceptCodeSequence.length===0&&e.splice(a,1);return}}}createQualitativeLabel(e){const t=x.RelationshipTypes.CONTAINS;return new x.TextContentItem({name:new Pt.CodedConcept(Ne),relationshipType:t,value:e})}createQualitativeLabelPosition(e){const t=e.data.handles.textBox,n=e.metadata,a=n.referencedImageId,o=n.FrameOfReferenceUID,s=!a,i=E({is3DMeasurement:s,referencedImageId:a},t.worldPosition),c=i.x,u=i.y,l=i.z,d=x.GraphicTypes.POINT,p=x.RelationshipTypes.CONTAINS,g=new Pt.CodedConcept(ve),f=s?new x.Scoord3DContentItem({name:g,relationshipType:p,graphicType:d,graphicData:[c,u,l],frameOfReferenceUID:o}):new x.ScoordContentItem({name:g,relationshipType:p,graphicType:d,graphicData:[c,u]});return f.ContentSequence=[{RelationshipType:x.RelationshipTypes.SELECTED_FROM,ValueType:x.ValueTypes.IMAGE,ReferencedSOPSequence:this.ReferencedSOPSequence}],f}}var z;function vt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function W(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?vt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):vt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Cr=Kt,rn=D.TID1500,Nt=D.addAccessors,br=Ie.StructuredReport,Rr=k.Normalizer,Mr=rn.TID1500MeasurementReport,Pr=rn.TID1501MeasurementGroup,Se=A.DicomMetaDictionary,vr={CodingSchemeDesignator:"DCM",CodeValue:"121071"},Nr={CodingSchemeDesignator:Ne.schemeDesignator,CodeValue:Ne.value},Er={CodingSchemeDesignator:ve.schemeDesignator,CodeValue:ve.value},Ee={CodingSchemeDesignator:F.schemeDesignator,CodeValue:F.value},wr={CodingSchemeDesignator:"SCT",CodeValue:"363698007"},Ar={CodingSchemeDesignator:"SRT",CodeValue:"G-C0E3"};function Et(r){if(r.ValueType!=="SCOORD"&&r.ValueType!=="SCOORD3D")return!1;const e=r.ConceptNameCodeSequence,t=Array.isArray(e)?e[0]:e;return!!t&&t.CodingSchemeDesignator===Ee.CodingSchemeDesignator&&t.CodeValue===Ee.CodeValue}class N{static getTID300ContentItem(e,t,n,a){const o=n.getTID300RepresentationArguments(e,a);o.ReferencedSOPSequence=t,o.use3DSpatialCoordinates&&(o.ReferencedFrameOfReferenceUID=e.metadata.FrameOfReferenceUID);const s=new n.TID300Representation(o);return new Tr(s,e)}static getMeasurementGroup(e,t,n,a){const o=t[e],s=this.measurementAdapterByToolType.get(e);if(!o||!o.data||!o.data.length||!s)return;const i=o.data.map(c=>this.getTID300ContentItem(c,n,s,a));return new Pr(i)}static getCornerstoneLabelFromDefaultState(e){const t=e.findingSites,n=t===void 0?[]:t,a=e.finding,o=e.commentGroup;if(o!=null&&o.TextValue)return o.TextValue;const s=en.codeValues.CORNERSTONEFREETEXT,i=n.find(c=>c.CodeValue===s);if(i)return i.CodeMeaning;if(a&&a.CodeValue===s)return a.CodeMeaning}static generateDatasetMeta(){return ot}static processSCOORDGroup(e){let t=e.SCOORDGroup,n=e.toolType,a=e.sopInstanceUIDToImageIdMap,o=e.metadata;const s=t.ContentSequence.ReferencedSOPSequence,i=s.ReferencedSOPInstanceUID,c=s.ReferencedFrameNumber,u=c===void 0?1:c,l=a["".concat(i,":").concat(u)],d=o.get("imagePlaneModule",l),p=Se.uid();return{SCOORDGroup:t,ReferencedSOPSequence:s,ReferencedSOPInstanceUID:i,ReferencedFrameNumber:u,referencedImageId:l,state:{description:void 0,sopInstanceUid:i,annotation:{data:{annotationUID:p,cachedStats:{},handles:{activeHandleIndex:0,textBox:{hasMoved:!1}}},annotationUID:p,metadata:{toolName:n,referencedImageId:l,FrameOfReferenceUID:d.frameOfReferenceUID}}}}}static processSCOORD3DGroup(e){let t=e.SCOORD3DGroup,n=e.toolType;const a=Se.uid(),o={SCOORD3DGroup:t,FrameOfReferenceUID:t.ReferencedFrameOfReferenceUID,state:{description:void 0,annotation:{annotationUID:a,data:{annotationUID:a,cachedStats:{},handles:{activeHandleIndex:0,textBox:{hasMoved:!1}}},metadata:{toolName:n,FrameOfReferenceUID:t.ReferencedFrameOfReferenceUID}}}};return Dn(gr(t.GraphicData),o.state.annotation.metadata),o}static getSpatialCoordinatesState(e){var t,n;let a=e.NUMGroup,o=e.sopInstanceUIDToImageIdMap,s=e.metadata,i=e.toolType;const c=R(a.ContentSequence),u=(t=c.find(p=>p.ValueType==="SCOORD"&&!Et(p)))!==null&&t!==void 0?t:c.find(p=>p.ValueType==="SCOORD"),l=(n=c.find(p=>p.ValueType==="SCOORD3D"&&!Et(p)))!==null&&n!==void 0?n:c.find(p=>p.ValueType==="SCOORD3D"),d=l&&this.processSCOORD3DGroup({SCOORD3DGroup:l,toolType:i})||u&&this.processSCOORDGroup({SCOORDGroup:u,toolType:i,metadata:s,sopInstanceUIDToImageIdMap:o});if(!d)throw new Error("No spatial coordinates group found.");return d}static processSpatialCoordinatesGroup(e){let t=e.NUMGroup,n=e.sopInstanceUIDToImageIdMap,a=e.metadata,o=e.findingGroup,s=e.findingSiteGroups,i=e.commentGroup,c=e.commentPositionGroup,u=e.controlPointsGroup,l=e.toolType;const d=this.getSpatialCoordinatesState({NUMGroup:t,sopInstanceUIDToImageIdMap:n,metadata:a,toolType:l}),p=d.state,g=d.SCOORDGroup,f=d.ReferencedSOPSequence,I=d.ReferencedSOPInstanceUID,m=d.ReferencedFrameNumber,h=d.SCOORD3DGroup,O=d.FrameOfReferenceUID,y=d.referencedImageId,S=d.textBoxPosition,b=o?Nt(o.ConceptCodeSequence):void 0,T=s.map(v=>Nt(v.ConceptCodeSequence));if(c){p.commentPositionGroup=c;const v=pe({is3DMeasurement:!y,referencedImageId:y},c);p.annotation.data.handles.textBox={hasMoved:!0,worldPosition:v[0]}}if(u){const v=pe({is3DMeasurement:!y,referencedImageId:y},u);p.annotation.data.handles.points=v}return p.finding=b,p.findingSites=T,p.commentGroup=i,p.commentPositionGroup=c,b&&(p.description=b.CodeMeaning),p.annotation.data.label=this.getCornerstoneLabelFromDefaultState(p),{defaultState:p,state:p,NUMGroup:t,scoord:h||g,SCOORDGroup:g,ReferencedSOPSequence:f,ReferencedSOPInstanceUID:I,referencedImageId:y,textBoxPosition:S,ReferencedFrameNumber:m,SCOORD3DGroup:h,FrameOfReferenceUID:O}}static getSetupMeasurementData(e,t,n,a){const o=e.ContentSequence,s=R(o),i=s.find(S=>this.codeValueMatch(S,vr)),c=s.find(S=>this.codeValueMatch(S,Nr)),u=s.find(S=>this.codeValueMatch(S,Er));let l=s.find(S=>this.codeValueMatch(S,Ee));const d=s.find(S=>S.ValueType==="NUM");!l&&d!==null&&d!==void 0&&d.ContentSequence&&(l=R(d.ContentSequence).find(S=>this.codeValueMatch(S,Ee)));const p=s.filter(S=>this.codeValueMatch(S,wr,Ar))||[],g=d||{ContentSequence:s.filter(S=>S.ValueType==="SCOORD"||S.ValueType==="SCOORD3D")},f=this.processSpatialCoordinatesGroup({NUMGroup:g,sopInstanceUIDToImageIdMap:t,metadata:n,findingGroup:i,findingSiteGroups:p,commentGroup:c,commentPositionGroup:u,controlPointsGroup:l,toolType:a}),I=f.state.annotation.metadata.referencedImageId,m=!!f.SCOORD3DGroup,h={referencedImageId:I,is3DMeasurement:m},O=f.SCOORD3DGroup||f.SCOORDGroup,y=pe(h,O);return W(W({},f),{},{is3DMeasurement:m,scoordArgs:h,scoord:O,worldCoords:y})}static generateReferencedSOPSequence(e){let t=e.toolData,n=e.toolTypes,a=e.metadataProvider,o=e.imageId,s=e.sopInstanceUIDsToSeriesInstanceUIDMap,i=e.derivationSourceDatasets;const c=o===Fe?this.getImageIdFromVolume({toolData:t,toolTypes:n}):o,u=a.get("sopCommonModule",c),l=a.get("instance",c),d=u.sopInstanceUID,p=u.sopClassUID,g=l.SeriesInstanceUID;if(s[d]=g,!i.find(m=>m.SeriesInstanceUID===g)){const m=N.generateDerivationSourceDataset(l);i.push(m)}const f=a.get("frameNumber",c),I={ReferencedSOPClassUID:p,ReferencedSOPInstanceUID:d,ReferencedFrameNumber:void 0};return(l&&l.NumberOfFrames&&l.NumberOfFrames>1||Rr.isMultiframeSOPClassUID(p))&&(I.ReferencedFrameNumber=f),I}static getImageIdFromVolume(e){var t,n;let a=e.toolData,o=e.toolTypes;const s=a==null||(t=a[o?.[0]])===null||t===void 0||(t=t.data)===null||t===void 0?void 0:t[0],i=s==null||(n=s.metadata)===null||n===void 0?void 0:n.volumeId,c=Tn.getVolume(i);if(!c)throw new Error("No volume found for ".concat(i));return c.imageIds[0]}static generateReport(e,t,n){var a;let o=[];const s={},i=[],c=N.generateDatasetMeta();let u=!1;Object.keys(e).forEach(g=>{const f=e[g],I=Object.keys(f),m=g===Fe,h=this.generateReferencedSOPSequence({toolData:f,toolTypes:I,metadataProvider:t,imageId:g,sopInstanceUIDsToSeriesInstanceUIDMap:s,derivationSourceDatasets:i});m&&(u=!0);const O=[];I.forEach(y=>{const S=this.getMeasurementGroup(y,f,h,m);S&&O.push(S)}),o=o.concat(O)});const l=new Mr({TID1501MeasurementGroups:o},n),d=new br(i,n),p=l.contentItem(i,W(W({},n),{},{sopInstanceUIDsToSeriesInstanceUIDMap:s}));if(d.dataset=Object.assign(d.dataset,p),d.dataset._meta=c,d.SpecificCharacterSet="ISO_IR 192",(a=d.dataset).InstanceNumber||(a.InstanceNumber=n.InstanceNumber||1),n.predecessorImageId&&Object.assign(d.dataset,t.get(Cr.PREDECESSOR_SEQUENCE,n.predecessorImageId)),u&&(d.dataset.SOPClassUID=Se.sopClassUIDsByName.Comprehensive3DSR,!d.dataset.SOPClassUID))throw new Error("NO sop class defined for Comprehensive3DSR in ".concat(JSON.stringify(Se.sopClassUIDsByName)));return d}static generateToolState(e,t,n,a){if(e.ContentTemplateSequence.TemplateIdentifier!=="1500")throw new Error("This package can currently only interpret DICOM SR TID 1500");const o="Imaging Measurements",s="Measurement Group",i="Tracking Identifier",c="Tracking Unique Identifier",u=e.imageId,l=R(e.ContentSequence).find(Pe(o)),d=R(l.ContentSequence).filter(Pe(s)),p={};return d.forEach(g=>{try{var f;const m=R(g.ContentSequence),O=m.find(T=>T.ConceptNameCodeSequence.CodeMeaning===i).TextValue,y=m.find(T=>T.ConceptNameCodeSequence.CodeMeaning===c),S=y?.UID,b=(a==null||(f=a.getToolClass)===null||f===void 0?void 0:f.call(a,g,e,this.measurementAdapterByToolType))||this.getAdapterForTrackingIdentifier(O)||this.getAdapterForCodeType(g);if(b){var I;const T=b.getMeasurementData(g,t,n,O);T.TrackingUniqueIdentifier=S,T.predecessorImageId=u,console.log("=== ".concat(b.toolType," ===")),console.log(T),p[I=b.toolType]||(p[I]=[]),p[b.toolType].push(T)}}catch(m){console.warn("Unable to generate tool state for",g,m)}}),p}static registerTool(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.toolType;if(this.measurementAdapterByToolType.has(n)){if(!t)throw new Error("The registered tool name ".concat(n," already exists in adapters, use a different toolType or use replace"));typeof t=="function"&&t(this.measurementAdapterByToolType.get(n))}this.measurementAdapterByToolType.set(e.toolType,e),this.measurementAdapterByTrackingIdentifier.set(e.trackingIdentifierTextValue,e)}static registerTrackingIdentifier(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];for(const o of n)this.measurementAdapterByTrackingIdentifier.set(o,e)}static getAdapterForTrackingIdentifier(e){const t=this.measurementAdapterByTrackingIdentifier.get(e);if(t)return t;for(const n of[...this.measurementAdapterByToolType.values()])if(n.isValidCornerstoneTrackingIdentifier(e))return this.measurementAdapterByTrackingIdentifier.set(e,n),n}static getAdapterForCodeType(e){for(const t of this.measurementAdapterByTrackingIdentifier.values())if(t.isValidMeasurement(e))return t}static registerAdapterTypes(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];for(const o of n){this.measurementAdaptersByType.has(o)||this.measurementAdaptersByType.set(o,[]);const s=this.measurementAdaptersByType.get(o);s.indexOf(e)===-1&&s.push(e)}}static getAdaptersForTypes(e,t,n){const a=[];return Oe(a,this.measurementAdaptersByType.get("".concat(e,"-").concat(t,"-").concat(n))),Oe(a,this.measurementAdaptersByType.get("".concat(e,"-").concat(t))),Oe(a,this.measurementAdaptersByType.get(e)),Oe(a,this.measurementAdaptersByType.get(t)),a}}z=N;z.CORNERSTONE_3D_TAG=ge;z.measurementAdapterByToolType=new Map;z.measurementAdaptersByType=new Map;z.measurementAdapterByTrackingIdentifier=new Map;z.codeValueMatch=(r,e,t)=>{const n=r.ConceptNameCodeSequence;if(!n)return;const a=Array.isArray(n)?n[0]:n;if(!a)return;const o=a.CodingSchemeDesignator,s=a.CodeValue;return o==e.CodingSchemeDesignator&&s==e.CodeValue||t&&o==t.CodingSchemeDesignator&&s==t.CodeValue};z.generateDerivationSourceDataset=r=>{const e=dr(r),t=pr(r);return W(W({},e),t)};function Oe(r,e){e!=null&&e.length&&r.push(...e)}class U{static registerType(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=e;t&&(a="".concat(a).concat(a.length?"-":"").concat(t)),n&&(a="".concat(a).concat(a.length?"-":"").concat(n)),N.registerAdapterTypes(this,a)}static getPointsCount(e){const n=e.ValueType==="SCOORD3D"?3:2;return e.GraphicData.length/n}static getGraphicItems(e,t){const n=e.ContentSequence.filter(a=>a.ValueType==="SCOORD"||a.ValueType==="SCOORD3D");return t?n.filter(t):n}static getGraphicItem(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;return this.getGraphicItems(e,n&&(o=>o.ValueType===n))[t]}static getGraphicCode(e){const t=e.ConceptNameCodeSequence,n=t.CodeValue,a=t.CodingSchemeDesignator;return"".concat(a,":").concat(n)}static getGraphicType(e){return e.GraphicType}static isValidMeasurement(e){return!1}static init(e,t,n){if(this.toolType=e,U.toolType)throw new Error("Base adapter tool type set to ".concat(this.toolType," while setting ").concat(e));if(this.parentType=n?.parentType,this.trackingIdentifiers=new Set,this.TID300Representation=t,this.parentType){this.trackingIdentifierTextValue="".concat(ge,":").concat(this.parentType,":").concat(this.toolType);const a="".concat(ge,":").concat(this.toolType);this.trackingIdentifiers.add(a)}else this.trackingIdentifierTextValue="".concat(ge,":").concat(e);this.trackingIdentifiers.add(this.trackingIdentifierTextValue),N.registerTool(this)}static registerLegacy(){this.trackingIdentifiers.add("cornerstoneTools@^4.0.0:".concat(this.toolType))}static registerSubType(e,t,n){const a=Object.create(e);return a.init(t,e.TID300Representation,{parentType:e.parentType||e.toolType,replace:n}),a}static isValidCornerstoneTrackingIdentifier(e){return this.trackingIdentifiers.has(e)?!0:e.includes(":")?e.startsWith(this.trackingIdentifierTextValue):!1}static getMeasurementData(e,t,n,a){const o=N.getSetupMeasurementData(e,t,n,this.toolType),s=o.defaultState,i=o.ReferencedFrameNumber;return s.annotation.data={cachedStats:{},frameNumber:i,seriesLevel:a?.indexOf(":Series")>0},s}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.metadata,a=e.finding,o=e.findingSites,s=n.referencedImageId;return{points:Q({is3DMeasurement:t,referencedImageId:s},e.data.handles.points),trackingIdentifierTextValue:this.trackingIdentifierTextValue,findingSites:o||[],finding:a,ReferencedFrameOfReferenceUID:t?n.FrameOfReferenceUID:null}}static getCachedStats(e,t){const n=t.referencedImageId,a=t.volumeId;return e["imageId:".concat(n)]||e["volumeId:".concat(a)]||{}}}var Le;function wt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function he(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?wt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):wt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Ur=D.TID300.ArrowAnnotate,jr=Yt;class an extends U{static getMeasurementData(e,t,n,a){const o=N.getSetupMeasurementData(e,t,n,this.toolType),s=o.state,i=o.SCOORDGroup,c=o.worldCoords,u=o.referencedImageId,l=o.ReferencedFrameNumber,d=s.annotation.data.label;if(c.length===1&&i){const p=n.get("imagePixelModule",u);let g=10,f=10;if(p){const h=p.columns,O=p.rows;g=h/10,f=O/10}const I=i.GraphicData,m=jr(u,[I[0]+g,I[1]+f]);c.push(m)}return s.annotation.data=he(he({},s.annotation.data),{},{text:d,handles:he(he({},s.annotation.data.handles),{},{arrowFirst:!0,points:c}),frameNumber:l}),s}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.metadata,o=e.findingSites,s=e.finding,i=a.referencedImageId,c={is3DMeasurement:t,referencedImageId:i},u=n.handles,l=u.points,d=u.arrowFirst,p=d?l[0]:l[1],g=d?l[1]:l[0],f=E(c,p),I=E(c,g);return{points:[f,I],trackingIdentifierTextValue:this.trackingIdentifierTextValue,findingSites:o||[],finding:s,ReferencedFrameOfReferenceUID:t?a.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}Le=an;Le.init("ArrowAnnotate",Ur),Le.registerLegacy();var ke;function At(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function ye(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?At(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):At(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const xr=D.TID300.Bidirectional,Gr="Long Axis",_r="Short Axis";class on extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.scoordArgs,i=a.referencedImageId,c=a.ReferencedFrameNumber,u=e.ContentSequence,l=R(u).find(I=>I.ConceptNameCodeSequence.CodeMeaning===Gr),d=R(u).find(I=>I.ConceptNameCodeSequence.CodeMeaning===_r),p=R(l.ContentSequence).find(I=>I.ValueType==="SCOORD3D"||I.ValueType==="SCOORD"),g=R(d.ContentSequence).find(I=>I.ValueType==="SCOORD3D"||I.ValueType==="SCOORD"),f=[];return f.push(...pe(s,p)),f.push(...pe(s,g)),o.annotation.data=ye(ye({},o.annotation.data),{},{handles:ye(ye({},o.annotation.data.handles),{},{points:[f[0],f[1],f[2],f[3]]}),frameNumber:c}),i&&(o.annotation.data.cachedStats={["imageId:".concat(i)]:{length:l.MeasuredValueSequence.NumericValue,width:d.MeasuredValueSequence.NumericValue,unit:l.MeasuredValueSequence.MeasurementUnitsCodeSequence.CodeValue,widthUnit:d.MeasuredValueSequence.MeasurementUnitsCodeSequence.CodeValue}}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,d={is3DMeasurement:t,referencedImageId:l},p=u.points,g=[p[0],p[1]],f=[p[2],p[3]],I=Math.sqrt(Math.pow(g[0][0]-g[1][0],2)+Math.pow(g[0][1]-g[1][1],2)+Math.pow(g[0][2]-g[1][2],2)),m=Math.sqrt(Math.pow(f[0][0]-f[1][0],2)+Math.pow(f[0][1]-f[1][1],2)+Math.pow(f[0][2]-f[1][2],2));let h,O;I>m?(h=g,O=f):(h=f,O=g);const y=E(d,h[0]),S=E(d,h[1]),b=E(d,O[0]),T=E(d,O[1]),v=super.getCachedStats(c,s),j=v.length,re=v.width,ae=v.unit;return{longAxis:{point1:y,point2:S},shortAxis:{point1:b,point2:T},longAxisLength:j,shortAxisLength:re,unit:ae,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}ke=on;ke.init("Bidirectional",xr),ke.registerLegacy();var Be;function Ut(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function De(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ut(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ut(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Vr=D.TID300.CobbAngle;class sn extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.NUMGroup,i=a.worldCoords,c=a.referencedImageId,u=a.ReferencedFrameNumber,l=c?{["imageId:".concat(c)]:{angle:s?s.MeasuredValueSequence.NumericValue:null}}:{};return o.annotation.data=De(De({},o.annotation.data),{},{handles:De(De({},o.annotation.data.handles),{},{points:[i[0],i[1],i[3]]}),cachedStats:l,frameNumber:u}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,d={is3DMeasurement:t,referencedImageId:l},p=E(d,u.points[0]),g=E(d,u.points[1]),f=E(d,u.points[1]),I=E(d,u.points[2]),m=super.getCachedStats(c,s),h=m.angle;return{point1:p,point2:g,point3:f,point4:I,rAngle:h,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}Be=sn;Be.init("Angle",Vr),Be.registerLegacy();var Ye;function jt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Te(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?jt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):jt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const $r=D.TID300.CobbAngle;class Ue extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,Ue.toolType),o=a.state,s=a.NUMGroup,i=a.referencedImageId,c=a.worldCoords,u=a.ReferencedFrameNumber;return o.annotation.data=Te(Te({},o.annotation.data),{},{handles:Te(Te({},o.annotation.data.handles),{},{points:[c[0],c[1],c[2],c[3]]}),frameNumber:u}),i&&(o.annotation.data.cachedStats={["imageId:".concat(i)]:{angle:s?s.MeasuredValueSequence.NumericValue:null}}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,p=Q({is3DMeasurement:t,referencedImageId:l},u.points),g=w(p,4),f=g[0],I=g[1],m=g[2],h=g[3],O=c["imageId:".concat(l)]||{},y=O.angle;return{point1:f,point2:I,point3:m,point4:h,rAngle:y,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}Ye=Ue;Ye.init("CobbAngle",$r),Ye.registerLegacy();const qr="[hnsf'U]",Fr="HU",Lr="mm2",kr="mm²",Br={[qr]:Fr,[Lr]:kr};function cn(r){return r&&(Br[r]||r)}const Ke=new Set(["Mean","Standard Deviation","Maximum","Minimum"]);function je(r,e){const t={};return r.ContentSequence&&r.ContentSequence.forEach(n=>{if(n.ValueType==="NUM"&&n.ConceptNameCodeSequence){var a,o;const s=n.ConceptNameCodeSequence.CodeMeaning,i=(a=n.MeasuredValueSequence)===null||a===void 0?void 0:a.NumericValue,c=(o=n.MeasuredValueSequence)===null||o===void 0||(o=o.MeasurementUnitsCodeSequence)===null||o===void 0?void 0:o.CodeValue;if(i!==void 0&&e){t[e]||(t[e]={});let u="";c&&(u=Yr(s,c)),t[e][s]={value:i,unit:u}}}}),t}function xe(r){const e={};let t="";const n={Mean:"mean","Standard Deviation":"stdDev",Maximum:"max",Minimum:"min",Area:"area",Radius:"radius",Perimeter:"perimeter",Length:"length",Width:"width"},a={mean:"modalityUnit",stdDev:"modalityUnit",max:"modalityUnit",min:"modalityUnit",area:"areaUnit",radius:"radiusUnit",perimeter:"unit",length:"unit",width:"widthUnit"};for(const s of Object.entries(n)){var o=w(s,2);const i=o[0],c=o[1],u=r[i];if(!u)continue;const l=u.value,d=u.unit;if(l==null||(e[c]=l,!d))continue;const p=cn(d);if(!p)continue;Ke.has(i)&&!t&&(t=p);const g=a[c];g?e[g]||(e[g]=p):e["".concat(c,"Unit")]=p}return e.modalityUnit=t,e}function Yr(r,e){if(!e)return"";const t=e.CodeValue,n=e.CodeMeaning;return t==="1"?!Ke.has(r)&&r==="Area"?"".concat(n,"²"):Ke.has(r)?"":n:t}var ze;function xt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function oe(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?xt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):xt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Kr=D.TID300.Circle;class un extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.NUMGroup,i=a.worldCoords,c=a.referencedImageId,u=a.ReferencedFrameNumber,l=o.sopInstanceUid,p=je(e,l)[l]||{};return o.annotation.data=oe(oe({},o.annotation.data),{},{handles:oe(oe({},o.annotation.data.handles),{},{points:i}),frameNumber:u}),c&&(o.annotation.data.cachedStats={["imageId:".concat(c)]:oe({area:s?s.MeasuredValueSequence.NumericValue:0,radius:0,perimeter:0},xe(p))}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,d={is3DMeasurement:t,referencedImageId:l},p=E(d,u.points[0]),g=E(d,u.points[1]),f=super.getCachedStats(c,s),I=f.area,m=f.radius,h=f.max,O=f.min,y=f.stdDev,S=f.mean,b=f.modalityUnit,T=f.radiusUnit,v=f.areaUnit,j=2*Math.PI*m;return{area:I,areaUnit:v,perimeter:j,modalityUnit:b,radiusUnit:T,radius:m,max:h,min:O,stdDev:y,mean:S,points:[p,g],trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}ze=un;ze.init("CircleROI",Kr),ze.registerLegacy();var dn;function Gt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function se(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Gt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Gt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const zr=D.TID300.Ellipse;class Ge extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,Ge.toolType),o=a.state,s=a.NUMGroup,i=a.worldCoords,c=a.referencedImageId,u=a.ReferencedFrameNumber,l=o.sopInstanceUid,p=je(e,l)[l]||{};return o.annotation.data=se(se({},o.annotation.data),{},{handles:se(se({},o.annotation.data.handles),{},{points:i}),frameNumber:u}),o.annotation.data.cachedStats=c?{["imageId:".concat(c)]:se({area:s?s.MeasuredValueSequence.NumericValue:0},xe(p))}:{},o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=n.initialRotation||0,d=s.referencedImageId,p={is3DMeasurement:t,referencedImageId:d};let g,f,I,m;l==90||l==270?(f=u.points[2],g=u.points[3],I=u.points[0],m=u.points[1]):(g=u.points[0],f=u.points[1],I=u.points[2],m=u.points[3]);const h=Math.sqrt((g[0]-f[0])**2+(g[1]-f[1])**2+(g[2]-f[2])**2),O=Math.sqrt((I[0]-m[0])**2+(I[1]-m[1])**2+(I[2]-m[2])**2),y=[];h>O?y.push(g,f,I,m):y.push(I,m,g,f);const S=super.getCachedStats(c,s),b=S.area,T=S.max,v=S.min,j=S.mean,re=S.stdDev,ae=S.modalityUnit,Ve=S.areaUnit,Sn=y.map(On=>E(p,On));return{area:b,areaUnit:Ve,max:T,min:v,mean:j,stdDev:re,modalityUnit:ae,points:Sn,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}dn=Ge;dn.init("EllipticalROI",zr);var de;function _t(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function ie(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?_t(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):_t(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Xr=D.TID300.Polyline;class ln extends U{static isValidMeasurement(e){const t=this.getGraphicItem(e),n=this.getPointsCount(t);return this.getGraphicType(t)==="POLYLINE"&&(n===4||n===5)}static getMeasurementData(e,t,n){var a,o;const s=N.getSetupMeasurementData(e,t,n,this.toolType),i=s.state,c=s.worldCoords,u=s.referencedImageId,l=s.ReferencedFrameNumber,d=c.length===5?c.slice(0,4):c,p=e.ContentSequence.find(T=>T.ValueType==="NUM"&&T.ConceptNameCodeSequence.CodeMeaning==="Area"),g=i.sopInstanceUid,I=je(e,g)[g]||{},m=xe(I),h=p==null||(a=p.MeasuredValueSequence)===null||a===void 0||(a=a[0])===null||a===void 0?void 0:a.MeasurementUnitsCodeSequence,O=h?.CodeValue,y=O?cn(O):m.areaUnit,S=u?{["imageId:".concat(u)]:ie({area:(p==null||(o=p.MeasuredValueSequence)===null||o===void 0||(o=o[0])===null||o===void 0?void 0:o.NumericValue)||0,areaUnit:y},m)}:{},b=[d[0],d[1],d[3],d[2]];return i.annotation.data=ie(ie({},i.annotation.data),{},{handles:ie(ie({},i.annotation.data.handles),{},{points:b}),cachedStats:S,frameNumber:l}),i}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=s.referencedImageId,u=Q({is3DMeasurement:t,referencedImageId:i},n.handles.points),l=super.getCachedStats(n.cachedStats,s),d=l.area,p=l.perimeter,g=l.max,f=l.mean,I=l.stdDev,m=l.areaUnit,h=l.modalityUnit;return{points:[u[0],u[1],u[3],u[2],u[0]],area:d,perimeter:p,max:g,mean:f,stdDev:I,areaUnit:m,modalityUnit:h,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],use3DSpatialCoordinates:t}}}de=ln;de.init("RectangleROI",Xr),de.registerLegacy(),de.registerType("DCM:111030","POLYLINE",4),de.registerType("DCM:111030","POLYLINE",5);var Xe;function Vt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Ce(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Vt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Vt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Hr=D.TID300.Length,Wr="Length";class pn extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.NUMGroup,i=a.worldCoords,c=a.referencedImageId,u=a.ReferencedFrameNumber,l=c?{["imageId:".concat(c)]:{length:s?s.MeasuredValueSequence.NumericValue:0,unit:s.MeasuredValueSequence.MeasurementUnitsCodeSequence.CodeValue}}:{};return o.annotation.data=Ce(Ce({},o.annotation.data),{},{handles:Ce(Ce({},o.annotation.data.handles),{},{points:[i[0],i[1]],activeHandleIndex:0}),cachedStats:l,frameNumber:u}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,d={is3DMeasurement:t,referencedImageId:l},p=E(d,u.points[0]),g=E(d,u.points[1]),f=super.getCachedStats(c,s),I=f.length;return{point1:p,point2:g,distance:I,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],use3DSpatialCoordinates:t}}}Xe=pn;Xe.init(Wr,Hr),Xe.registerLegacy();const G=yn.valueTypes,Qr=D.TID300.Polyline;class Jr extends Qr{contentItem(){const e=super.contentItem(),t=this,n=t.props,a=n.controlPoints,o=n.use3DSpatialCoordinates,s=n.ReferencedSOPSequence,i=n.ReferencedFrameOfReferenceUID,c=n.use3DSpatialCoordinates;if(!(a!=null&&a.length))return e;const u=t.flattenPoints({points:a,use3DSpatialCoordinates:o}),l=G.GraphicTypes.MULTIPOINT,d=c?{RelationshipType:G.RelationshipTypes.CONTAINS,ValueType:"SCOORD3D",ConceptNameCodeSequence:[{CodeValue:F.value,CodingSchemeDesignator:F.schemeDesignator,CodeMeaning:F.meaning}],GraphicType:l,GraphicData:u,ReferencedFrameOfReferenceUID:i,ContentSequence:[{RelationshipType:G.RelationshipTypes.SELECTED_FROM,ValueType:G.ValueTypes.IMAGE,ReferencedSOPSequence:s}]}:{RelationshipType:G.RelationshipTypes.CONTAINS,ValueType:"SCOORD",ConceptNameCodeSequence:[{CodeValue:F.value,CodingSchemeDesignator:F.schemeDesignator,CodeMeaning:F.meaning}],GraphicType:l,GraphicData:u,ContentSequence:[{RelationshipType:G.RelationshipTypes.SELECTED_FROM,ValueType:G.ValueTypes.IMAGE,ReferencedSOPSequence:s}]},p=t.props.splineType,g=e,f=g.find(I=>I.ValueType==="NUM");if(f){const I=f.ContentSequence,m=Array.isArray(I)?I:I?[I]:[];f.ContentSequence=[...m,d]}else g.push(d);if(p){const I={RelationshipType:G.RelationshipTypes.HAS_OBS_CONTEXT,ValueType:"TEXT",ConceptNameCodeSequence:{CodeValue:fe.value,CodingSchemeDesignator:fe.schemeDesignator,CodeMeaning:fe.meaning},TextValue:p},m=g.findIndex(O=>O.RelationshipType===G.RelationshipTypes.HAS_OBS_CONTEXT),h=m>=0?m+2:2;g.splice(h,0,I)}return g}}var K;function $t(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function H(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?$t(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):$t(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}class gn extends U{static getMeasurementData(e,t,n){var a,o,s;const i=N.getSetupMeasurementData(e,t,n,this.toolType),c=i.state,u=i.NUMGroup,l=i.worldCoords,d=i.referencedImageId,p=i.ReferencedFrameNumber,g=Mn(l[l.length-1],l[0]);let f=!0;g<this.closedContourThreshold&&(l.pop(),f=!1);let I=(a=(o=c.annotation.data.handles)===null||o===void 0?void 0:o.points)!==null&&a!==void 0?a:[];f&&I.length===0&&(I=[l[0],l[l.length-1]]);const m=c.sopInstanceUid,O=je(e,m)[m]||{},y={CodingSchemeDesignator:fe.schemeDesignator,CodeValue:fe.value},S=u?R(u.ContentSequence):[],b=R(e.ContentSequence),T=(s=S.find(v=>N.codeValueMatch(v,y)))!==null&&s!==void 0?s:b.find(v=>N.codeValueMatch(v,y));return c.annotation.data=H(H({},c.annotation.data),{},{contour:{polyline:l,closed:!f},handles:H(H({},c.annotation.data.handles),{},{points:I}),frameNumber:p},T&&{spline:{type:T.TextValue}}),d&&(c.annotation.data.cachedStats={["imageId:".concat(d)]:H(H({},!f&&u?{area:u.MeasuredValueSequence.NumericValue}:{}),xe(O))}),c}static getTID300RepresentationArguments(e){var t,n;let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const o=e.data,s=e.finding,i=e.findingSites,c=e.metadata,u=o.handles,l=o.contour,d=l.polyline,g=l.closed!==!0,f=c.referencedImageId,I={is3DMeasurement:a,referencedImageId:f},m=Q(I,d);if(!g){const Ve=m[0];m.push(Ve)}const h=(u==null||(t=u.points)===null||t===void 0?void 0:t.length)&&Q(I,u.points),O=super.getCachedStats(o.cachedStats,c),y=O.area,S=O.areaUnit,b=O.modalityUnit,T=O.perimeter,v=O.mean,j=O.max,re=O.stdDev,ae=O.length;return{points:m,controlPoints:h,area:y,areaUnit:S,perimeter:T??ae,modalityUnit:b,mean:v,max:j,stdDev:re,splineType:(n=o.spline)===null||n===void 0?void 0:n.type,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:s,findingSites:i||[],ReferencedFrameOfReferenceUID:a?c.FrameOfReferenceUID:null,use3DSpatialCoordinates:a}}}K=gn;K.closedContourThreshold=1e-5;K.init("PlanarFreehandROI",Jr),K.registerSubType(K,"LivewireContour"),K.registerSubType(K,"SplineROI");var le;function qt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function be(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?qt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):qt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Zr=D.TID300.Point;class _e extends U{static isValidMeasurement(e){const t=this.getGraphicItem(e);return this.getGraphicType(t)==="POINT"&&this.getPointsCount(t)<=2}static getMeasurementData(e,t,n,a){var o,s;const i=N.getSetupMeasurementData(e,t,n,this.toolType),c=i.state,u=i.NUMGroup,l=i.worldCoords,d=i.referencedImageId,p=i.ReferencedFrameNumber,g=d?{["imageId:".concat(d)]:{value:(o=u==null||(s=u.MeasuredValueSequence)===null||s===void 0?void 0:s.NumericValue)!==null&&o!==void 0?o:null}}:{};return c.annotation.data=be(be({},c.annotation.data),{},{handles:be(be({},c.annotation.data.handles),{},{points:l}),cachedStats:g,frameNumber:p,invalidated:!0}),c}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.metadata,o=e.finding,s=e.findingSites,i=a.referencedImageId,c={is3DMeasurement:t,referencedImageId:i},u=n.handles.points;return{points:Q(c,u===void 0?[]:u),trackingIdentifierTextValue:this.trackingIdentifierTextValue,findingSites:s||[],finding:o,ReferencedFrameOfReferenceUID:t?a.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}le=_e;le.init("Probe",Zr),le.registerLegacy(),le.registerType("DCM:111030","POINT",1),le.registerType("DCM:111030","POINT",2);var fn;function Ft(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Re(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ft(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ft(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const ea=D.TID300.Length,Lt=Bt;class mn extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.worldCoords,i=a.ReferencedFrameNumber;return o.annotation.data=Re(Re({},o.annotation.data),{},{handles:Re(Re({},o.annotation.data.handles),{},{points:s}),frameNumber:i}),o}static getTID300RepresentationArguments(e,t){const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.handles,c=s.referencedImageId;if(!c)throw new Error("UltrasoundDirectionalTool.getTID300RepresentationArguments: referencedImageId is not defined");const u=Lt(c,i.points[0]),l=Lt(c,i.points[1]),d={x:u[0],y:u[1]},p={x:l[0],y:l[1]};return{point1:d,point2:p,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[]}}}fn=mn;fn.init("UltrasoundDirectionalTool",ea);k.SEGImageNormalizer;Ie.Segmentation;A.DicomMessage;A.DicomMetaDictionary;k.Normalizer;Pn(r=>{Cn(bn,qe.SEGMENTATION_LOAD_PROGRESS,{percentComplete:r})},200);function kt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function ce(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?kt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):kt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Me=We.data.DicomMetaDictionary,C=Kt,ta=[C.GENERAL_STUDY,C.PATIENT_STUDY,C.PATIENT],na=[C.GENERAL_SERIES],ra=[C.GENERAL_IMAGE,C.IMAGE_PLANE,C.CINE,C.VOI_LUT,C.MODALITY_LUT,C.SOP_COMMON],He={get:function(r,e,t){var n;return(n=He[r])===null||n===void 0?void 0:n.call(He,e,t)},[C.IMAGE_SOP_INSTANCE_REFERENCE]:function(r){const e=q(C.FRAME_MODULE,r),t=e.sopClassUID,n=e.sopInstanceUID,a=e.frameNumber;return e.numberOfFrames>1?{ReferencedSOPClassUID:t,ReferencedSOPInstanceUID:n,ReferencedFrameNumber:a}:{ReferencedSOPClassUID:e.sopClassUID,ReferencedSOPInstanceUID:e.sopInstanceUID}},[C.REFERENCED_SERIES_REFERENCE]:r=>{const e=q(C.SOP_COMMON,r);return{SeriesInstanceUID:q(C.GENERAL_SERIES,r).seriesInstanceUID,ReferencedInstanceSequence:[{ReferencedSOPClassUID:e.sopClassUID,ReferencedSOPInstanceUID:e.sopInstanceUID}]}},[C.PREDECESSOR_SEQUENCE]:r=>{const e=ce({},q(C.SERIES_DATA,r)),t=q(C.GENERAL_IMAGE,r),n=q(C.GENERAL_STUDY,r);return e.InstanceNumber=1+Number(t.instanceNumber),e.PredecessorDocumentsSequence={StudyInstanceUID:n.studyInstanceUID,ReferencedSeriesSequence:{SeriesInstanceUID:e.SeriesInstanceUID,ReferencedSOPSequence:{ReferencedSOPClassUID:t.sopClassUID,ReferencedSOPInstanceUID:t.sopInstanceUID}}},e},[C.STUDY_DATA]:r=>$e(r,ta),[C.SERIES_DATA]:r=>$e(r,na),[C.IMAGE_DATA]:r=>$e(r,ra),[C.RTSS_INSTANCE_DATA]:r=>{const e=q(C.NEW_INSTANCE_DATA,r);return ce(ce({},e),{},{SeriesNumber:"3201",StructureSetROISequence:[],ROIContourSequence:[],RTROIObservationsSequence:[],ReferencedFrameOfReferenceSequence:[],Modality:"RTSTRUCT",SOPClassUID:"1.2.840.10008.5.1.4.1.1.481.3",PositionReferenceIndicator:"",StructureSetLabel:"",StructureSetName:"",StructureSetDate:Me.date(),StructureSetTime:Me.time()})},[C.NEW_INSTANCE_DATA]:r=>{const e=q(C.STUDY_DATA,r);return ce(ce({},e),{},{SeriesNumber:"50000",InstanceNumber:"1",OperatorsName:"",ReferringPhysicianName:"",SpecificCharacterSet:"ISO_IR 192",Manufacturer:"cs3d",SOPInstanceUID:Me.uid(),SeriesInstanceUID:Me.uid()})},[C.RTSS_CONTOUR]:()=>yr,[C.SR_ANNOTATION]:()=>ot};Rn(He.get,9023);var L;const aa=D.TID300.Point;class In extends _e{static getMeasurementData(e,t,n,a){const o=super.getMeasurementData(e,t,n,a),s=o.annotation.data;return s.isPoint=a.indexOf("Point")!==-1,o}static getTID300RepresentationArguments(e){const t=super.getTID300RepresentationArguments(e),n=e.data;return n.isPoint&&(n.seriesLevel?t.trackingIdentifierTextValue=this.trackingSeriesPointIdentifier:t.trackingIdentifierTextValue=this.trackingPointIdentifier),n.seriesLevel&&(t.trackingIdentifierTextValue=this.trackingSeriesIdentifier),t.points.length||t.points.push({x:0,y:0}),t}}L=In;L.init("KeyImage",aa,{parentType:_e.toolType});L.trackingSeriesIdentifier="".concat(L.trackingIdentifierTextValue,":Series");L.trackingPointIdentifier="".concat(L.trackingIdentifierTextValue,":Point");L.trackingSeriesPointIdentifier="".concat(L.trackingIdentifierTextValue,":SeriesPoint");const oa={BaseAdapter3D:U,Bidirectional:on,CobbAngle:Ue,Angle:sn,Length:pn,CircleROI:un,EllipticalROI:Ge,RectangleROI:ln,ArrowAnnotate:an,Probe:_e,PlanarFreehandROI:gn,UltrasoundDirectional:mn,KeyImage:In,MeasurementReport:N,CodeScheme:en,CORNERSTONE_3D_TAG:ge,COMMENT_CODE:Ne,NO_IMAGE_ID:Fe,TEXT_ANNOTATION_POSITION:ve};A.Colors;A.BitArray;const fa={Cornerstone:sr,Cornerstone3D:oa};export{Fe as NO_IMAGE_ID,fa as adaptersSR};
|