@ramencloud/scguard_widgets 0.1.23 → 0.1.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +2 -2
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -173,7 +173,7 @@ define(["module","@jupyter-widgets/base"],(e,t)=>(()=>{var n,r,i={7449(e,t){"use
173
173
  }
174
174
  `,wje="string"!=typeof bje?vu`
175
175
  animation: ${bje} 3s infinite linear;
176
- `:null,vje=(e,t)=>e.vars?e.vars.palette.LinearProgress[`${t}Bg`]:"light"===e.palette.mode?e.lighten(e.palette[t].main,.62):e.darken(e.palette[t].main,.5),yje=ho("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`color${xo(n.color)}`],t[n.variant]]}})(go(({theme:e})=>({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},variants:[...Object.entries(e.palette).filter(Ao()).map(([t])=>({props:{color:t},style:{backgroundColor:vje(e,t)}})),{props:({ownerState:e})=>"inherit"===e.color&&"buffer"!==e.variant,style:{"&::before":{content:'""',position:"absolute",left:0,top:0,right:0,bottom:0,backgroundColor:"currentColor",opacity:.3}}},{props:{variant:"buffer"},style:{backgroundColor:"transparent"}},{props:{variant:"query"},style:{transform:"rotate(180deg)"}}]}))),xje=ho("span",{name:"MuiLinearProgress",slot:"Dashed"})(go(({theme:e})=>({position:"absolute",marginTop:0,height:"100%",width:"100%",backgroundSize:"10px 10px",backgroundPosition:"0 -23px",variants:[{props:{color:"inherit"},style:{opacity:.3,backgroundImage:"radial-gradient(currentColor 0%, currentColor 16%, transparent 42%)"}},...Object.entries(e.palette).filter(Ao()).map(([t])=>{const n=vje(e,t);return{props:{color:t},style:{backgroundImage:`radial-gradient(${n} 0%, ${n} 16%, transparent 42%)`}}})]})),wje||{animation:`${bje} 3s infinite linear`},go(({theme:e})=>ea(e,{animation:"none"})||hje)),Aje=ho("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(e,t)=>[t.bar,t.bar1]})(go(({theme:e})=>{const t=ea(e,{animation:"none",left:"30%",right:"auto",width:"40%"});return{width:"100%",position:"absolute",left:0,bottom:0,top:0,...ta(e,"transform",{duration:"0.2s",easing:"linear"}),transformOrigin:"left",variants:[{props:{color:"inherit"},style:{backgroundColor:"currentColor"}},...Object.entries(e.palette).filter(Ao()).map(([t])=>({props:{color:t},style:{backgroundColor:(e.vars||e).palette[t].main}})),{props:{variant:"determinate"},style:{...ta(e,"transform",{duration:".4s",easing:"linear"})}},{props:{variant:"buffer"},style:{zIndex:1,...ta(e,"transform",{duration:".4s",easing:"linear"})}},{props:({ownerState:e})=>"indeterminate"===e.variant||"query"===e.variant,style:{width:"auto"}},{props:({ownerState:e})=>"indeterminate"===e.variant||"query"===e.variant,style:pje||{animation:`${dje} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite`}},...t?[{props:({ownerState:e})=>"indeterminate"===e.variant||"query"===e.variant,style:t}]:[]]}})),kje=ho("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(e,t)=>[t.bar,t.bar2]})(go(({theme:e})=>{const t=ea(e,{animation:"none",display:"none"});return{width:"100%",position:"absolute",left:0,bottom:0,top:0,...ta(e,"transform",{duration:"0.2s",easing:"linear"}),transformOrigin:"left",variants:[...Object.entries(e.palette).filter(Ao()).map(([t])=>({props:{color:t},style:{"--LinearProgressBar2-barColor":(e.vars||e).palette[t].main}})),{props:({ownerState:e})=>"buffer"!==e.variant&&"inherit"!==e.color,style:{backgroundColor:"var(--LinearProgressBar2-barColor, currentColor)"}},{props:({ownerState:e})=>"buffer"!==e.variant&&"inherit"===e.color,style:{backgroundColor:"currentColor"}},{props:{color:"inherit"},style:{opacity:.3}},...Object.entries(e.palette).filter(Ao()).map(([t])=>({props:{color:t,variant:"buffer"},style:{backgroundColor:vje(e,t),...ta(e,"transform",{duration:".4s",easing:"linear"})}})),{props:({ownerState:e})=>"indeterminate"===e.variant||"query"===e.variant,style:{width:"auto"}},{props:({ownerState:e})=>"indeterminate"===e.variant||"query"===e.variant,style:mje||{animation:`${gje} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite`}},...t?[{props:({ownerState:e})=>"indeterminate"===e.variant||"query"===e.variant,style:t}]:[]]}})),Sje=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiLinearProgress"}),{className:r,color:i="primary",max:o,min:a,value:s,valueBuffer:l,variant:c="indeterminate",...u}=n,f={...n,color:i,variant:c},h=a??0,d=o??100,p=(e=>{const{classes:t,variant:n,color:r}=e;return X({root:["root",`color${xo(r)}`,n],dashed:["dashed"],bar1:["bar","bar1"],bar2:["bar","bar2","buffer"===n&&`color${xo(r)}`]},fje,t)})(f),g=al(),m={},b={bar1:{},bar2:{}};if(("determinate"===c||"buffer"===c)&&void 0!==s){const e=d-h;let t=(s-h)/e*100-100;g&&(t=-t),b.bar1.transform=e>0?`translateX(${t}%)`:"translateX(-100%)",m["aria-valuenow"]=s,m["aria-valuemin"]=h,m["aria-valuemax"]=d}if("buffer"===c&&void 0!==l){const e=d-h;let t=(l-h)/e*100-100;g&&(t=-t),b.bar2.transform=e>0?`translateX(${t}%)`:"translateX(-100%)"}return(0,bo.jsxs)(yje,{className:G(p.root,r),ownerState:f,role:"progressbar",...m,ref:t,...u,children:["buffer"===c?(0,bo.jsx)(xje,{className:p.dashed,ownerState:f}):null,(0,bo.jsx)(Aje,{className:p.bar1,ownerState:f,style:b.bar1}),"determinate"===c?null:(0,bo.jsx)(kje,{className:p.bar2,ownerState:f,style:b.bar2})]})}),Eje=Sje,Cje=new Intl.NumberFormat("en-US",{style:"percent"});function Oje({value:e,label:t,sx:n}){const r=Math.round(100*e);return V.createElement(Ds,{sx:{display:"flex",alignItems:"center",...n}},V.createElement(Ds,{sx:{minWidth:35}},V.createElement(Ro,{variant:"body2"},Cje.format(e))),V.createElement(Ds,{sx:{flex:"1 1 0",minWidth:"200px",mr:"16px"}},V.createElement(Eje,{variant:"determinate",color:"primary",value:Tje(r,0,100)})),V.createElement(Ds,{sx:{display:"flex",flex:"0 1 auto",minWidth:"0"}},V.createElement(p_,{title:t,childrenStyle:{flex:1}},V.createElement(Ro,{variant:"body2",sx:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}},t))))}function Tje(e,t,n){return Math.min(Math.max(e,t),n)}function _je({value:e,label:t,sx:n,...r}){const i=Math.round(100*e),o=Cje.format(e);return V.createElement(V.Fragment,null,V.createElement(Ds,{sx:{textAlign:"center",...n},...r},V.createElement(Ro,{sx:{fontSize:30,letterSpacing:.17,fontWeight:600,lineHeight:"40.86px"}},o),V.createElement(Eje,{variant:"determinate",value:i,sx:{marginTop:"16px",height:"6px",borderRadius:"8px"}}),V.createElement(Ro,{sx:{fontSize:14,letterSpacing:.17,lineHeight:"20.02px",marginTop:"8px"}},t)))}const Mje=e=>({zIndex:3,color:e.palette.primary.main,position:"absolute",top:0,left:0,bottom:0,right:0,backdropFilter:"blur(2px)",backgroundColor:"rgba(0, 0, 0, 0)"});function Pje({children:e,isOpen:t}){return V.createElement(cD,{sx:Mje,open:t},e)}function Dje({title:e,children:t,sx:n,...r}){return V.createElement(ia,{sx:{padding:"32px 0",background:"white",textAlign:"center",...n},elevation:3,...r},e&&V.createElement(Ro,{sx:{fontSize:20,letterSpacing:.17,fontWeight:600,lineHeight:"27.24px"}},e),V.createElement(Ds,{sx:{px:"35px"}},t))}function Rje({value:e,label:t}){return V.createElement(Pje,{isOpen:1!==e},V.createElement(Dje,{sx:{flexBasis:"320px"}},V.createElement(_je,{label:t,value:e})))}const Ije=vs((0,bo.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"})),Nje=vs((0,bo.jsx)("path",{fillRule:"evenodd",d:"M4 11h16v2H4z"})),$je=yr();const Lje=hr(),jje=$je("div",{name:"MuiStack",slot:"Root"});function Fje(e){return function(e){const{props:t,name:n,defaultTheme:r,themeId:i}=e;let o=$o(r);return i&&(o=o[i]||o),function(e){const{theme:t,name:n,props:r}=e;return t&&t.components&&t.components[n]&&t.components[n].defaultProps?mo(t.components[n].defaultProps,r):r}({theme:o,name:n,props:t})}({props:e,name:"MuiStack",defaultTheme:Lje})}function zje(e,t){const n=V.Children.toArray(e).filter(Boolean);return n.reduce((e,r,i)=>(e.push(r),i<n.length-1&&e.push(V.cloneElement(t,{key:`separator-${i}`})),e),[])}const Bje=({ownerState:e,theme:t})=>{let n={display:"flex",flexDirection:"column",...Zt({theme:t},rn({values:e.direction,breakpoints:t.breakpoints.values}),e=>({flexDirection:e}))};if(e.spacing){const r=xn(t),i=Object.keys(t.breakpoints.values).reduce((t,n)=>(("object"==typeof e.spacing&&null!=e.spacing[n]||"object"==typeof e.direction&&null!=e.direction[n])&&(t[n]=!0),t),{}),o=rn({values:e.direction,base:i}),a=rn({values:e.spacing,base:i});"object"==typeof o&&Object.keys(o).forEach((e,t,n)=>{if(!o[e]){const r=t>0?o[n[t-1]]:"column";o[e]=r}}),n=Ft(n,Zt({theme:t},a,(t,n)=>{return e.useFlexGap?{gap:An(r,t)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${i=n?o[n]:e.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[i]}`]:An(r,t)}};var i}))}return n=function(e,...t){const n=[tn(e),...t].reduce((e,t)=>Ft(e,t),{});return nn(e,n)}(t.breakpoints,n),n};function Wje(e={}){const{createStyledComponent:t=jje,useThemeProps:n=Fje,componentName:r="MuiStack"}=e,i=t(Bje),o=V.forwardRef(function(e,t){const o=n(e),{component:a="div",direction:s="column",spacing:l=0,divider:c,children:u,className:f,useFlexGap:h=!1,...d}=o,p={direction:s,spacing:l,useFlexGap:h},g=X({root:["root"]},e=>Oo(r,e),{});return(0,bo.jsx)(i,{as:a,ownerState:p,ref:t,className:G(g.root,f),...d,children:c?zje(u,c):u})});return o}const qje=Wje({createStyledComponent:ho("div",{name:"MuiStack",slot:"Root"}),useThemeProps:e=>yo({props:e,name:"MuiStack"})}),Hje=vs((0,bo.jsx)("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"})),Uje=ho(ju,{name:"MuiBreadcrumbCollapsed"})(go(({theme:e})=>({display:"flex",marginLeft:`calc(${e.spacing(1)} * 0.5)`,marginRight:`calc(${e.spacing(1)} * 0.5)`,..."light"===e.palette.mode?{backgroundColor:e.palette.grey[100],color:e.palette.grey[700]}:{backgroundColor:e.palette.grey[700],color:e.palette.grey[100]},borderRadius:2,"&:hover, &:focus":{..."light"===e.palette.mode?{backgroundColor:e.palette.grey[200]}:{backgroundColor:e.palette.grey[600]}},"&:active":{boxShadow:e.shadows[0],..."light"===e.palette.mode?{backgroundColor:Nr(e.palette.grey[200],.12)}:{backgroundColor:Nr(e.palette.grey[600],.12)}}}))),Vje=ho(Hje)({width:24,height:16}),Kje=function(e){const{slots:t={},slotProps:n={},...r}=e,{nativeButton:i,...o}=r,a=e;return(0,bo.jsx)("li",{children:(0,bo.jsx)(Uje,{focusRipple:!0,...o,ownerState:a,children:(0,bo.jsx)(Vje,{as:t.CollapsedIcon,ownerState:a,...n.collapsedIcon})})})};function Qje(e){return Oo("MuiBreadcrumbs",e)}const Gje=To("MuiBreadcrumbs",["root","ol","li","separator"]),Xje=ho(Ro,{name:"MuiBreadcrumbs",slot:"Root",overridesResolver:(e,t)=>[{[`& .${Gje.li}`]:t.li},t.root]})({}),Yje=ho("ol",{name:"MuiBreadcrumbs",slot:"Ol"})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"}),Zje=ho("li",{name:"MuiBreadcrumbs",slot:"Separator"})({display:"flex",userSelect:"none",marginLeft:8,marginRight:8});function Jje(e,t,n,r){return e.reduce((i,o,a)=>(a<e.length-1?i=i.concat(o,(0,bo.jsx)(Zje,{"aria-hidden":!0,className:t,ownerState:r,children:n},`separator-${a}`)):i.push(o),i),[])}const eFe=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiBreadcrumbs"}),{children:r,className:i,component:o="nav",slots:a={},slotProps:s={},expandText:l="Show path",itemsAfterCollapse:c=1,itemsBeforeCollapse:u=1,maxItems:f=8,separator:h="/",...d}=n,[p,g]=V.useState(!1),m={...n,component:o,expanded:p,expandText:l,itemsAfterCollapse:c,itemsBeforeCollapse:u,maxItems:f,separator:h},b=(e=>{const{classes:t}=e;return X({root:["root"],li:["li"],ol:["ol"],separator:["separator"]},Qje,t)})(m),w=Rc({elementType:a.CollapsedIcon,externalSlotProps:s.collapsedIcon,ownerState:m}),v=V.useRef(null),y=V.Children.toArray(r).filter(e=>V.isValidElement(e)).map((e,t)=>(0,bo.jsx)("li",{className:b.li,children:e},`child-${t}`));return(0,bo.jsx)(Xje,{ref:t,component:o,color:"textSecondary",className:G(b.root,i),ownerState:m,...d,children:(0,bo.jsx)(Yje,{className:b.ol,ref:v,ownerState:m,children:Jje(p||f&&y.length<=f?y:(e=>u+c>=e.length?e:[...e.slice(0,u),(0,bo.jsx)(Kje,{"aria-label":l,slots:{CollapsedIcon:a.CollapsedIcon},slotProps:{collapsedIcon:w},onClick:()=>{g(!0);const e=v.current.querySelector("a[href],button,[tabindex]");e&&e.focus()}},"ellipsis"),...e.slice(e.length-c,e.length)])(y),b.separator,h,m)})})}),tFe=eFe,nFe=({drillDownItems:e,availableDrillDownFeatures:t,onAdd:n,onRemove:r,disabled:i=!1,disabledTooltip:o})=>{const[a,s]=(0,V.useState)(null),l=()=>{s(null)},c=Boolean(a);return V.createElement(qje,{direction:"row",spacing:1,useFlexGap:!0,sx:{alignItems:"center",flexWrap:"wrap"}},V.createElement(tFe,{sx:{"& .MuiBreadcrumbs-ol":{rowGap:2}},separator:V.createElement(Nje,{fontSize:"small"})},e.map((e,t)=>V.createElement(oI,{key:`${e.featureId}+${t}`,disableHoverListener:!1,title:e.entry?V.createElement(aI,{explanationBlocks:e.entry.feature.explanation.tokens,predictionExecutionTime:e.entry.feature.predictionExecutionTime}):void 0},V.createElement(O_,{label:e.label,onDelete:()=>r(t),deleteIcon:V.createElement(W_,{style:{fontSize:"14px",marginLeft:"12px"}}),sx:{borderRadius:"4px",backgroundColor:"var(--c-blue-50)",color:"var(--c-grey-700)",fontWeight:500,height:"32px","& .MuiChip-label":{paddingRight:"8px"}}}))),V.createElement(hu,{title:i&&o?o:"",disableInteractive:!0},V.createElement("span",null,V.createElement(YO,{variant:"outlined",size:"small",startIcon:V.createElement(Ije,null),onClick:e=>{s(e.currentTarget)},disabled:i,sx:{textTransform:"none",borderStyle:"dashed",borderColor:"var(--c-grey-500)",color:"var(--c-grey-700)",borderRadius:"4px",height:"32px","&:hover":{borderStyle:"dashed",backgroundColor:"rgba(0, 0, 0, 0.04)"}}},"Drill Down")))),V.createElement(PD,{open:c,anchorEl:a,onClose:l,anchorOrigin:{vertical:"bottom",horizontal:"left"},slotProps:{paper:{sx:{p:1,width:"640px"}}}},V.createElement(ENe,{options:t,getOptionLabel:e=>e.id,onChange:(e,t)=>{t&&(n(t.id),l())},renderInput:e=>V.createElement(vR,{...e,label:"Search segments...",size:"small",autoFocus:!0}),renderOption:(e,t)=>V.createElement("li",{...e,key:t.id},V.createElement(Ds,{sx:{display:"flex"}},V.createElement(Ro,{sx:{flex:"0 0 100px",padding:"0 4px 0 0",color:"var(--c-grey-700)",fontWeight:500},variant:"body1"},t.id),V.createElement(Ds,null,V.createElement(aI,{explanationBlocks:t.explanation.tokens,predictionExecutionTime:t.predictionExecutionTime}))))})))},rFe=vs((0,bo.jsx)("path",{d:"M16.01 11H4v2h12.01v3L20 12l-3.99-4z"})),iFe=ho("div",{name:"MuiDivider",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.absolute&&t.absolute,t[n.variant],"vertical"===n.orientation&&t.vertical,n.flexItem&&t.flexItem,n.children&&t.withChildren,"right"===n.textAlign&&"vertical"!==n.orientation&&t.textAlignRight,"left"===n.textAlign&&"vertical"!==n.orientation&&t.textAlignLeft]}})(go(({theme:e})=>({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(e.vars||e).palette.divider,borderBottomWidth:"thin",variants:[{props:{absolute:!0},style:{position:"absolute",bottom:0,left:0,width:"100%"}},{props:{variant:"inset"},style:{marginLeft:72}},{props:{variant:"middle",orientation:"horizontal"},style:{marginLeft:e.spacing(2),marginRight:e.spacing(2)}},{props:{variant:"middle",orientation:"vertical"},style:{marginTop:e.spacing(1),marginBottom:e.spacing(1)}},{props:{orientation:"vertical"},style:{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"}},{props:{flexItem:!0},style:{alignSelf:"stretch",height:"auto"}},{props:({ownerState:e})=>!!e.children,style:{display:"flex",textAlign:"center",border:0,borderTopStyle:"solid",borderLeftStyle:"solid","&::before, &::after":{content:'""',alignSelf:"center"}}},{props:({ownerState:e})=>e.children&&"vertical"!==e.orientation,style:{"&::before, &::after":{width:"100%",borderTop:`thin solid ${(e.vars||e).palette.divider}`,borderTopStyle:"inherit"}}},{props:({ownerState:e})=>"vertical"===e.orientation&&e.children,style:{flexDirection:"column","&::before, &::after":{height:"100%",borderLeft:`thin solid ${(e.vars||e).palette.divider}`,borderLeftStyle:"inherit"}}},{props:({ownerState:e})=>"right"===e.textAlign&&"vertical"!==e.orientation,style:{"&::before":{width:"90%"},"&::after":{width:"10%"}}},{props:({ownerState:e})=>"left"===e.textAlign&&"vertical"!==e.orientation,style:{"&::before":{width:"10%"},"&::after":{width:"90%"}}}]}))),oFe=ho("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.wrapper,"vertical"===n.orientation&&t.wrapperVertical]}})(go(({theme:e})=>({display:"inline-block",paddingLeft:`calc(${e.spacing(1)} * 1.2)`,paddingRight:`calc(${e.spacing(1)} * 1.2)`,whiteSpace:"nowrap",variants:[{props:{orientation:"vertical"},style:{paddingTop:`calc(${e.spacing(1)} * 1.2)`,paddingBottom:`calc(${e.spacing(1)} * 1.2)`}}]}))),aFe=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiDivider"}),{absolute:r=!1,children:i,className:o,orientation:a="horizontal",component:s=(i||"vertical"===a?"div":"hr"),flexItem:l=!1,role:c=("hr"!==s?"separator":void 0),textAlign:u="center",variant:f="fullWidth",...h}=n,d={...n,absolute:r,component:s,flexItem:l,orientation:a,role:c,textAlign:u,variant:f},p=(e=>{const{absolute:t,children:n,classes:r,flexItem:i,orientation:o,textAlign:a,variant:s}=e;return X({root:["root",t&&"absolute",s,"vertical"===o&&"vertical",i&&"flexItem",n&&"withChildren","right"===a&&"vertical"!==o&&"textAlignRight","left"===a&&"vertical"!==o&&"textAlignLeft"],wrapper:["wrapper","vertical"===o&&"wrapperVertical"]},A$e,r)})(d);return(0,bo.jsx)(iFe,{as:s,className:G(p.root,o),role:c,ref:t,ownerState:d,"aria-orientation":"separator"!==c||"hr"===s&&"vertical"!==a?void 0:a,...h,children:i?(0,bo.jsx)(oFe,{className:p.wrapper,ownerState:d,children:i}):null})}),sFe=aFe,lFe=({value:e,notation:t="standard",sx:n})=>V.createElement(Ro,{sx:{fontWeight:600,color:"var(--c-grey-900)",minWidth:"48px",...n}},ca(e,t)),cFe=({children:e})=>V.createElement(Ro,{variant:"caption",sx:{color:"var(--c-grey-300)",fontWeight:600,display:"block",mb:.5}},e),uFe=()=>V.createElement(sFe,{flexItem:!0,sx:{borderColor:"var(--c-grey-700)"}}),fFe=({delta:e,isImproved:t,benchmarkValue:n,currentValue:r,getTooltipColor:i})=>{const o=0===e.value?"#fff":i(t);return V.createElement(Ds,{sx:{display:"flex",alignItems:"center",gap:1}},V.createElement(Ro,{sx:{fontWeight:600,color:o,minWidth:"48px"}},os.isNumber(e.value)&&e.value>0?"+":"",la(e)),V.createElement(Ro,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.5,color:"var(--c-grey-300)"}},V.createElement("span",null,"(",la(n)),V.createElement(rFe,{sx:{fontSize:"1rem"}}),V.createElement("span",null,la(r),")")))},hFe=({predictionMean:e,targetMean:t,useCaseWithBaseline:n,notation:r="standard",sx:i})=>n?V.createElement(Ro,{component:"span",sx:{display:"inline-flex",alignItems:"center",whiteSpace:"nowrap","span:not(:last-child)":{pr:2},color:"var(--c-grey-700)",...i}},"(",V.createElement("span",null,"p: ",ca(e,r)),V.createElement("span",null,"a: ",ca(t,r)),")"):V.createElement(Ro,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.5,whiteSpace:"nowrap",color:"var(--c-grey-700)",...i}},V.createElement("span",null,"(",ca(e,r)),V.createElement(rFe,{sx:{fontSize:"1rem"}}),V.createElement("span",null,ca(t,r),")")),dFe=({useCaseWithBaseline:e,error:t,predictionMean:n,targetMean:r})=>V.createElement(Ds,{sx:{display:"inline-flex",alignItems:"center",gap:1}},V.createElement(lFe,{value:t,sx:{color:"#fff"}}),V.createElement(hFe,{predictionMean:n,targetMean:r,useCaseWithBaseline:e,sx:{color:"var(--c-grey-300)"}})),pFe=({segmentCount:e,populationCount:t,notation:n="standard",sx:r})=>V.createElement(Ro,{sx:{color:"var(--c-grey-700)",...r}},"(",ca(e,n)," /"," ",ca(t,n),")"),gFe=({ratio:e,segmentCount:t,populationCount:n})=>V.createElement(Ds,{sx:{display:"inline-flex",alignItems:"center",gap:1}},V.createElement(lFe,{value:e,sx:{color:"#fff"}}),V.createElement(pFe,{segmentCount:t,populationCount:n,sx:{color:"var(--c-grey-300)"}}));function mFe({title:e,subtitle:t,children:n}){return V.createElement(Ds,{sx:{backgroundColor:"var(--c-table-header-color)",padding:"8px 8px",display:"flex",alignItems:"center",justifyContent:"space-between",minHeight:"44px",mb:3}},V.createElement(Ro,{variant:"body2",sx:{color:"text.secondary",fontWeight:700,letterSpacing:"0.05em",textTransform:"uppercase",paddingLeft:2}},e,t&&V.createElement(Ro,{component:"span",variant:"body2",sx:{fontWeight:700,letterSpacing:"0.05em",textTransform:"none"}}," ",t)),n)}const bFe=V.createContext({});function wFe(e){return Oo("MuiAccordion",e)}const vFe=To("MuiAccordion",["root","heading","rounded","expanded","disabled","gutters","region"]),yFe=ho(ia,{name:"MuiAccordion",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${vFe.region}`]:t.region},t.root,!n.square&&t.rounded,!n.disableGutters&&t.gutters]}})(go(({theme:e})=>{const t={duration:e.transitions.duration.shortest};return{position:"relative",...ta(e,["margin"],t),overflowAnchor:"none","&::before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:(e.vars||e).palette.divider,...ta(e,["opacity","background-color"],t)},"&:first-of-type":{"&::before":{display:"none"}},[`&.${vFe.expanded}`]:{"&::before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&::before":{display:"none"}}},[`&.${vFe.disabled}`]:{backgroundColor:(e.vars||e).palette.action.disabledBackground}}}),go(({theme:e})=>({variants:[{props:e=>!e.square,style:{borderRadius:0,"&:first-of-type":{borderTopLeftRadius:(e.vars||e).shape.borderRadius,borderTopRightRadius:(e.vars||e).shape.borderRadius},"&:last-of-type":{borderBottomLeftRadius:(e.vars||e).shape.borderRadius,borderBottomRightRadius:(e.vars||e).shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}}},{props:e=>!e.disableGutters,style:{[`&.${vFe.expanded}`]:{margin:"16px 0"}}}]}))),xFe=ho("h3",{name:"MuiAccordion",slot:"Heading"})({all:"unset"}),AFe=ho("div",{name:"MuiAccordion",slot:"Region"})({}),kFe=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiAccordion"}),{children:r,className:i,defaultExpanded:o=!1,disabled:a=!1,disableGutters:s=!1,expanded:l,onChange:c,slots:u={},slotProps:f={},...h}=n,[d,p]=Jc({controlled:l,default:o,name:"Accordion",state:"expanded"}),g=V.useCallback(e=>{p(!d),c&&c(e,!d)},[d,c,p]),[m,...b]=V.Children.toArray(r),w=V.useMemo(()=>({expanded:d,disabled:a,disableGutters:s,toggle:g}),[d,a,s,g]),v={...n,disabled:a,disableGutters:s,expanded:d},y=(e=>{const{classes:t,square:n,expanded:r,disabled:i,disableGutters:o}=e;return X({root:["root",!n&&"rounded",r&&"expanded",i&&"disabled",!o&&"gutters"],heading:["heading"],region:["region"]},wFe,t)})(v),x={slots:u,slotProps:f},[A,k]=eu("root",{elementType:yFe,externalForwardedProps:{...x,...h},className:G(y.root,i),shouldForwardComponentProp:!0,ownerState:v,ref:t}),[S,E]=eu("heading",{elementType:xFe,externalForwardedProps:x,className:y.heading,ownerState:v}),[C,O]=eu("transition",{elementType:DT,externalForwardedProps:x,ownerState:v}),[T,_]=eu("region",{elementType:AFe,externalForwardedProps:x,ownerState:v,className:y.region,additionalProps:{"aria-labelledby":m.props.id,id:m.props["aria-controls"],role:"region"}});return(0,bo.jsxs)(A,{...k,children:[(0,bo.jsx)(S,{...E,children:(0,bo.jsx)(bFe.Provider,{value:w,children:m})}),(0,bo.jsx)(C,{in:d,timeout:"auto",...O,children:(0,bo.jsx)(T,{..._,children:b})})]})}),SFe=kFe;function EFe(e){return Oo("MuiAccordionSummary",e)}const CFe=To("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","content","expandIconWrapper"]),OFe=ho(ju,{name:"MuiAccordionSummary",slot:"Root"})(go(({theme:e})=>({display:"flex",width:"100%",minHeight:48,padding:e.spacing(0,2),...ta(e,["min-height","background-color"],{duration:e.transitions.duration.shortest}),[`&.${CFe.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${CFe.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`&:hover:not(.${CFe.disabled})`]:{cursor:"pointer"},variants:[{props:e=>!e.disableGutters,style:{[`&.${CFe.expanded}`]:{minHeight:64}}}]}))),TFe=ho("span",{name:"MuiAccordionSummary",slot:"Content"})(go(({theme:e})=>({display:"flex",textAlign:"start",flexGrow:1,margin:"12px 0",variants:[{props:e=>!e.disableGutters,style:{...ta(e,["margin"],{duration:e.transitions.duration.shortest}),[`&.${CFe.expanded}`]:{margin:"20px 0"}}}]}))),_Fe=ho("span",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper"})(go(({theme:e})=>({display:"flex",color:(e.vars||e).palette.action.active,transform:"rotate(0deg)",...ta(e,"transform",{duration:e.transitions.duration.shortest}),[`&.${CFe.expanded}`]:{transform:"rotate(180deg)"}}))),MFe=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiAccordionSummary"}),{children:r,className:i,expandIcon:o,focusVisibleClassName:a,onClick:s,slots:l,slotProps:c,...u}=n,{disabled:f=!1,disableGutters:h,expanded:d,toggle:p}=V.useContext(bFe),g={...n,expanded:d,disabled:f,disableGutters:h},m=(e=>{const{classes:t,expanded:n,disabled:r,disableGutters:i}=e;return X({root:["root",n&&"expanded",r&&"disabled",!i&&"gutters"],focusVisible:["focusVisible"],content:["content",n&&"expanded"],expandIconWrapper:["expandIconWrapper",n&&"expanded"]},EFe,t)})(g),b={slots:l,slotProps:c},[w,v]=eu("root",{ref:t,shouldForwardComponentProp:!0,className:G(m.root,i),elementType:OFe,externalForwardedProps:{...b,...u},ownerState:g,additionalProps:{focusRipple:!1,disableRipple:!0,internalNativeButton:!0,disabled:f,"aria-expanded":d,focusVisibleClassName:G(m.focusVisible,a)},getSlotProps:e=>({...e,onClick:t=>{e.onClick?.(t),(e=>{p&&p(e),s&&s(e)})(t)}})}),[y,x]=eu("content",{className:m.content,elementType:TFe,externalForwardedProps:b,ownerState:g}),[A,k]=eu("expandIconWrapper",{className:m.expandIconWrapper,elementType:_Fe,externalForwardedProps:b,ownerState:g});return(0,bo.jsxs)(w,{...v,children:[(0,bo.jsx)(y,{...x,children:r}),o&&(0,bo.jsx)(A,{...k,children:o})]})}),PFe=MFe;function DFe(e){return Oo("MuiAccordionDetails",e)}To("MuiAccordionDetails",["root"]);const RFe=ho("div",{name:"MuiAccordionDetails",slot:"Root"})(go(({theme:e})=>({padding:e.spacing(1,2,2)}))),IFe=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiAccordionDetails"}),{className:r,...i}=n,o=n,a=(e=>{const{classes:t}=e;return X({root:["root"]},DFe,t)})(o);return(0,bo.jsx)(RFe,{className:G(a.root,r),ref:t,ownerState:o,...i})}),NFe=IFe;function $Fe({header:e,children:t,placeItems:n="normal",sx:r,contentSx:i,headerSx:o,isAccordion:a=!1,expanded:s,onToggle:l}){const c=V.createElement(Ds,{sx:{display:"grid",placeItems:n,flex:"1 1 auto",minHeight:0,alignItems:"center",...i}},t),u=V.createElement(Ds,{onClick:e=>e.stopPropagation(),sx:{flex:1,display:"flex",height:"100%",minHeight:a?"64px":"auto",alignItems:a?"center":"initial",...o}},"string"==typeof e?V.createElement("h3",{style:{margin:0},className:"grey-label"},e):e);return a?V.createElement(SFe,{elevation:0,disableGutters:!0,expanded:s,onChange:(e,t)=>l?.(t),sx:{borderRadius:1,border:"1px solid var(--c-table-border-color)","&:before":{display:"none"},...r}},V.createElement(PFe,{"data-testid":B.segmentDetails.accordionToggle,expandIcon:V.createElement(jO,{sx:{fontSize:"24px"}}),sx:{px:4,flexDirection:"row","& .MuiAccordionSummary-content":{margin:"0",display:"flex",alignItems:"center",alignSelf:"center",flexGrow:1,cursor:"default"},"& .MuiAccordionSummary-expandIconWrapper":{transform:"rotate(0deg)","&.Mui-expanded":{transform:"rotate(180deg)"}},"&:hover":{boxShadow:"none",zIndex:0}}},u),V.createElement(NFe,{sx:{px:4,pb:4,pt:0}},c)):V.createElement(ia,{variant:"outlined",sx:{p:4,display:"flex",flexDirection:"column",...r}},u,c)}const LFe=vs((0,bo.jsx)("path",{d:"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z"})),jFe=vs((0,bo.jsx)("path",{d:"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8z"})),FFe={success:{color:"var(--c-inversion-aware-success)",bgColor:"var(--c-inversion-aware-success-light)"},error:{color:"var(--c-inversion-aware-error)",bgColor:"var(--c-inversion-aware-error-light)"},default:{color:"var(--c-grey-700)",bgColor:"var(--c-grey-100)"}},zFe=({value:e,colorTheme:t})=>{const{color:n,bgColor:r}=FFe[t],i=os.isNumber(e.value)?e.value:0,o=0===i?"none":i>0?"up":"down",a={value:Math.abs(i),formatter:e.formatter};return V.createElement(jo,{"data-testid":B.changeIndicator,"data-color-theme":t,sx:{display:"flex",alignItems:"center",color:n,bgcolor:r,pr:1,py:.25,borderRadius:.5}},"up"===o&&V.createElement(LFe,{fontSize:"small",sx:{fontSize:"1rem"}}),"down"===o&&V.createElement(jFe,{fontSize:"small",sx:{fontSize:"1rem"}}),V.createElement(Ro,{variant:"body2",component:"span",sx:{fontWeight:600,ml:"none"!==o?.25:1}},V.createElement(jMe,{uiValue:a})))};function BFe({children:e,sx:t,...n}){return V.createElement(ia,{variant:"outlined",sx:{p:4,display:"flex",...t},"data-testid":B.segmentWidget,...n},e)}function WFe({children:e,sx:t,...n}){return V.createElement(m_,{title:e,typographyProps:{variant:"subtitle2",color:"text.secondary",sx:{fontWeight:600,textTransform:"uppercase",...t},...n}},V.createElement("span",null,e))}function qFe({children:e,sx:t,...n}){return V.createElement(m_,{title:e,typographyProps:{sx:{fontSize:"1.5rem",fontWeight:700,...t},...n}},V.createElement("span",null,e))}function HFe({children:e,sx:t,...n}){return V.createElement(m_,{title:e,typographyProps:{variant:"body2",sx:t,...n}},V.createElement("span",null,e))}const UFe={unsetSymbol:"-",nanSymbol:"NaN"},VFe=(e,{notation:t})=>qa.formatNumber(e,{...UFe,notation:t}),KFe=(e,{notation:t})=>qa.formatPercentFromRatio(e,{...UFe,notation:t}),QFe=(e,{notation:t})=>qa.formatPercentPoints(e,{...UFe,notation:t});function GFe({card:e,sx:t}){const{header:n,value:r,delta:i,deltaColor:o,details:a,format:s="number"}=e,l=(e=>DMe(e).with("number",()=>VFe).with("percents",()=>KFe).with("percent_points",()=>QFe).exhaustive())(s),c={value:r,formatter:l},u=os.isNumber(i)?{value:i,formatter:l}:null;return V.createElement(BFe,{sx:{flexDirection:"column",...t}},V.createElement(Ds,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:1}},V.createElement(WFe,null,n),u&&o?V.createElement(zFe,{value:u,colorTheme:o}):null),V.createElement(qFe,null,V.createElement(jMe,{uiValue:c})),V.createElement(HFe,null,a??" "))}const XFe=B.segmentErrorWidget,YFe=e=>"left"===e?"right":"left",ZFe=e=>`rgb(from ${e} r g b / 40%)`,JFe={regression:{baselineLabel:"Global",segmentLabel:"Segment",baselineBarColor:"var(--c-dotdata-blue)",segmentBarColor:"var(--c-dotdata-blue)",predictionType:fs.Regression},"regression-with-baseline":{baselineLabel:"Predicted",segmentLabel:"Actual",baselineBarColor:"var(--c-predicted)",segmentBarColor:"var(--c-actual)",predictionType:fs.Regression},classification:{baselineLabel:"Global",segmentLabel:"Segment",baselineBarColor:"var(--c-dotdata-blue)",segmentBarColor:"var(--c-dotdata-blue)",predictionType:fs.Classification},"classification-with-baseline":{baselineLabel:"Predicted",segmentLabel:"Actual",baselineBarColor:"var(--c-predicted)",segmentBarColor:"var(--c-actual)",predictionType:fs.Classification}};function eze({segmentError:e,leaderboardMode:t,formatSegmentError:n,formatErrorRatio:r,sx:i}){if(!e)return null;const o=JFe[t],a=e=>({value:e,formatter:n}),{error:s,predictionMean:l,targetMean:c}=e,u=(e=>({value:e,formatter:r}))(Math.abs(s)),f=a(l),h=a(c),d=s>=0;return V.createElement(BFe,{sx:{borderLeft:"6px solid var(--c-dotdata-blue)",justifyContent:"space-between",alignItems:"center",gap:4,...i}},V.createElement(tze,{error:u,isUnderestimation:d,baselineLabel:o.baselineLabel,segmentLabel:o.segmentLabel,sx:{width:"30%"}}),V.createElement(nze,{predictionType:o.predictionType,predictionMean:l,targetMean:c,predictionMeanUI:f,targetMeanUI:h,baselineLabel:o.baselineLabel,segmentLabel:o.segmentLabel,baselineBarColor:o.baselineBarColor,segmentBarColor:o.segmentBarColor,sx:{minWidth:400,width:"70%"}}))}function tze({error:e,isUnderestimation:t,baselineLabel:n,segmentLabel:r,sx:i}){const o=t?`${r} higher than ${n.toLowerCase()}`:`${r} lower than ${n.toLowerCase()}`;return V.createElement(Ds,{sx:{display:"flex",flexDirection:"column",...i}},V.createElement(WFe,null,n," vs. ",r),V.createElement(qFe,null,V.createElement(jMe,{uiValue:e})),V.createElement(HFe,null,o))}function nze(e){return V.createElement(Ds,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",gap:1.5,...e.sx}},e.predictionType===fs.Regression?V.createElement(ize,{...e}):V.createElement(rze,{...e}))}function rze({predictionMean:e,targetMean:t,predictionMeanUI:n,targetMeanUI:r,baselineLabel:i,segmentLabel:o,baselineBarColor:a,segmentBarColor:s}){return V.createElement(V.Fragment,null,V.createElement(oze,{label:i,barColor:a,valuePct:100*e,value:n}),V.createElement(oze,{label:o,barColor:s,valuePct:100*t,value:r}))}function ize({predictionMean:e,targetMean:t,predictionMeanUI:n,targetMeanUI:r,baselineLabel:i,segmentLabel:o,baselineBarColor:a,segmentBarColor:s}){const l=Math.max(Math.abs(e),Math.abs(t),Number.EPSILON);if(Math.sign(e)*Math.sign(t)<0)return V.createElement(V.Fragment,null,V.createElement(aze,{label:i,barColor:a,value:e,maxAbs:l,valueUI:n}),V.createElement(aze,{label:o,barColor:s,value:t,maxAbs:l,valueUI:r}));const c=e<0&&t<0;return V.createElement(V.Fragment,null,V.createElement(oze,{label:i,barColor:a,valuePct:Math.abs(e)/l*100,value:n,reversed:c}),V.createElement(oze,{label:o,barColor:s,valuePct:Math.abs(t)/l*100,value:r,reversed:c}))}function oze({label:e,barColor:t,valuePct:n,value:r,reversed:i=!1}){const o=Math.min(Math.max(n,0),100),a=100-o,s=a>=15,l=i?"left":"right",c=YFe(l),u=V.createElement(lze,{label:e,value:r,side:s?c:l}),f=V.createElement(sze,{widthPct:o,color:ZFe(t),labelSide:l,"data-testid":XFe.barFilled},!s&&u),h=a>0&&V.createElement(sze,{widthPct:a,color:"var(--c-grey-200)",opacity:.8,labelSide:c,"data-testid":XFe.barEmpty},s&&u);return V.createElement(uze,{label:e,reversed:i},i?V.createElement(V.Fragment,null,h,f):V.createElement(V.Fragment,null,f,h))}function aze({label:e,barColor:t,value:n,maxAbs:r,valueUI:i}){const o=Math.abs(n)/r*50,a=50-o>=15,s=n>=0?"right":"left",l=YFe(s);return V.createElement(uze,{label:e,mixed:!0,sx:{position:"relative",backgroundColor:"var(--c-grey-200)"}},V.createElement(cze,null),V.createElement(Ds,{"data-testid":XFe.barFilled,sx:{position:"absolute",top:0,bottom:0,width:`${o}%`,[l]:"50%",backgroundColor:ZFe(t),display:"flex",alignItems:"center",justifyContent:"right"===s?"flex-end":"flex-start"}},!a&&V.createElement(lze,{label:e,value:i,side:s})),a&&V.createElement(Ds,{sx:{position:"absolute",top:0,bottom:0,[l]:`${50+o}%`,display:"flex",alignItems:"center"}},V.createElement(lze,{label:e,value:i,side:l})))}function sze({widthPct:e,color:t,opacity:n,labelSide:r,children:i,"data-testid":o}){return V.createElement(Ds,{"data-testid":o,sx:{width:`${e}%`,height:"100%",backgroundColor:t,opacity:n,display:"flex",alignItems:"center",justifyContent:"left"===r?"flex-start":"flex-end"}},i)}function lze({label:e,value:t,side:n}){return V.createElement(Ro,{"data-testid":XFe.value(e),variant:"caption",sx:{fontWeight:"bold",["left"===n?"pl":"pr"]:"4px"}},V.createElement(jMe,{uiValue:t}))}function cze(){return V.createElement(Ds,{sx:{position:"absolute",top:0,bottom:0,left:"50%",width:"1px",backgroundColor:"var(--c-grey-700)",zIndex:1}})}function uze({label:e,children:t,sx:n,reversed:r,mixed:i}){return V.createElement(Ds,{sx:{display:"flex",alignItems:"center",gap:1}},V.createElement(Ro,{"data-testid":XFe.rowLabel(e),variant:"body2",sx:{fontWeight:600,width:55}},e),V.createElement(Ds,{"data-testid":XFe.bar(e,r,i),sx:{flex:1,height:24,borderRadius:"4px",overflow:"hidden",display:"flex",...n}},t))}function fze({segmentSize:e,formatSegmentSizeRatio:t,formatSegmentSizeCount:n,sx:r}){if(!e)return null;const i={value:e.ratio,formatter:t},o={value:e.segmentCount,formatter:n},a={value:e.populationCount,formatter:n};return V.createElement(BFe,{sx:{flexDirection:"column",borderLeft:"6px solid var(--c-dotdata-blue)",...r}},V.createElement(WFe,null,"SEGMENT SIZE"),V.createElement(qFe,null,V.createElement(jMe,{uiValue:i})),V.createElement(HFe,null,V.createElement(jMe,{uiValue:o})," out of"," ",V.createElement(jMe,{uiValue:a})," samples"))}function hze({items:e,visibleItems:t,keyExtractor:n,renderItem:r}){return V.createElement(V.Fragment,null,e.filter(e=>t.some(t=>n(t)===n(e))).map(e=>{const t=n(e);return V.createElement(V.Fragment,{key:t},r(e))}))}const dze=({rows:e,columns:t=12,gap:n=4,sx:r})=>V.createElement(Ds,{sx:{display:"grid",gridTemplateColumns:`repeat(${t}, 1fr)`,gridTemplateRows:`repeat(${e.length}, auto)`,gap:n,width:"100%",...r}},e.map((e,t)=>e.items.map((e,n)=>V.createElement(Ds,{key:e.id??`item-${t}-${n}`,sx:{gridColumn:`span ${e.span}`,minWidth:0,minHeight:0,alignSelf:"start"}},e.content)))),pze=({children:e,onReset:t,FallbackComponent:n})=>{const[r,i]=(0,V.useState)(()=>Math.random());return V.createElement(Sa,{key:r,FallbackComponent:({error:e,resetErrorBoundary:r})=>V.createElement(n,{error:e,handleReset:()=>{i(Math.random()),t?t(r):r()}})},e)},gze=({error:e,header:t="An Unexpected Error Occurred",subheader:n="Try the action again. If the issue persists, copy the error details and send them to our support team.",handleReset:r,resetButtonText:i="Reset"})=>{const o=e?.message||String(e),a=e?.stack||o;return V.createElement(tMe,{sx:{padding:2,alignContent:"start",justifyContent:"center",maxHeight:"400px",gridTemplateRows:"auto auto auto minmax(0, 1fr)"}},V.createElement(Ro,{variant:"h1",component:"h1",sx:{textAlign:"center"}},t),V.createElement(Ro,{variant:"body1",sx:{textAlign:"center"}},n),r&&V.createElement(Ds,{sx:{display:"flex",justifyContent:"center",mt:2}},V.createElement(YO,{variant:"contained",color:"primary",onClick:r},i)),V.createElement(Ds,{sx:{minHeight:0,display:"flex",flexDirection:"column",border:"1px solid",borderColor:"divider",borderRadius:1,overflow:"hidden"}},V.createElement(Ds,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:1,px:1.5,py:.5,backgroundColor:"action.hover"}},V.createElement(Ro,{variant:"subtitle2",sx:{color:"error.main"}},o),V.createElement(kT,{textToCopy:a})),V.createElement(Ds,{sx:{overflow:"auto",px:1.5,py:1}},V.createElement("pre",{style:{margin:0,color:"#d32f2f",whiteSpace:"pre-wrap",wordBreak:"break-word"}},a))))},mze={label:{fontSize:"14px",lineHeight:"20px",fontWeight:400,userSelect:"none"},bold:{fontSize:"14px",lineHeight:"20px",fontWeight:500,userSelect:"none"},grey:{fontSize:"14px",lineHeight:"20px",fontWeight:400,userSelect:"none",color:"var(--c-grey-700)"},table:{fontWeight:600,userSelect:"none",color:"var(--c-grey-700)"}},bze=({variant:e="label",sx:t={},children:n,typographyProps:r={}})=>V.createElement(Ro,{sx:{...mze[e],...t},variant:"table"===e?"subtitle2":void 0,...r},n),wze={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:"1px"},vze=[],yze={};function xze(e,t,n,r,i){return 1===n?Math.min(e+t,i):Math.max(e-t,r)}function Aze(e,t){return e-t}function kze(e,t,n=-1){const r=e.reduce((e,n,r)=>{const i=Math.abs(t-n);return null==e||i<=e.distance?{distance:i,index:r}:e},null)??yze,{index:i}=r;return null==i?i:n>=0&&e[n]===e[i]?n:i}function Sze(e,t){if(null!=t.current&&e.changedTouches){const n=e;for(let e=0;e<n.changedTouches.length;e+=1){const r=n.changedTouches[e];if(r.identifier===t.current)return{x:r.clientX,y:r.clientY}}return!1}return{x:e.clientX,y:e.clientY}}function Eze(e,t,n){return 100*(e-t)/(n-t)}function Cze(e,t,n){const r=e.slice();return r[n]=t,r.sort(Aze)}function Oze(e,t,n,r){const i=ll(e.current),o=sM(i);if(!PP(e.current,o)||Number(o?.getAttribute("data-index"))!==t){const n=e.current?.querySelector(`[type="range"][data-index="${t}"]`);null!=n&&(null==r?n.focus({preventScroll:!0}):n.focus({preventScroll:!0,focusVisible:r}))}n&&n(t)}function Tze(e,t){return"number"==typeof e&&"number"==typeof t?e===t:"object"==typeof e&&"object"==typeof t&&function(e,t,n=(e,t)=>e===t){return e.length===t.length&&e.every((e,r)=>n(e,t[r]))}(e,t)}const _ze={horizontal:{offset:e=>({left:`${e}%`}),leap:e=>({width:`${e}%`})},"horizontal-reverse":{offset:e=>({right:`${e}%`}),leap:e=>({width:`${e}%`})},vertical:{offset:e=>({bottom:`${e}%`}),leap:e=>({height:`${e}%`})}},Mze=e=>e;function Pze(e){const{"aria-labelledby":t,defaultValue:n,disabled:r=!1,disableSwap:i=!1,isRtl:o=!1,marks:a=!1,max:s=100,min:l=0,name:c,onChange:u,onChangeCommitted:f,orientation:h="horizontal",rootRef:d,scale:p=Mze,step:g=1,shiftStep:m=10,tabIndex:b,value:w}=e,v=V.useRef(void 0),y=V.useRef(null),[x,A]=V.useState(-1),[k,S]=V.useState(-1),[E,C]=V.useState(!1),O=V.useRef(0),T=V.useRef(-1),_=V.useRef(!1),M=V.useRef(-1),P=Vc(()=>{null!=y.current&&(cancelAnimationFrame(y.current),y.current=null)}),D=V.useRef(null),[R,I]=Zc({controlled:w,default:n??l,name:"Slider"}),N=Vc((e,t,n)=>{const r="nativeEvent"in e?e.nativeEvent:e,i=new r.constructor(r.type,r);Object.defineProperty(i,"target",{writable:!0,value:{value:t,name:c}}),D.current=t,u?.(i,t,n)}),$=Array.isArray(R),L=V.useMemo(()=>{if("number"==typeof R)return[Ar(R,l,s)];if(null==R)return[l];const e=R.slice().sort(Aze);for(let t=0;t<e.length;t+=1){const n=e[t];e[t]=null==n?l:Ar(n,l,s)}return e},[R,l,s]),j=V.useMemo(()=>{if(!0===a&&null!=g){const e=new Array(Math.floor((s-l)/g)+1);for(let t=0;t<e.length;t+=1)e[t]={value:l+g*t};return e}return Array.isArray(a)?a:vze},[a,g,l,s]),F=V.useMemo(()=>{const e=new Array(j.length);for(let t=0;t<j.length;t+=1)e[t]=j[t].value;return e},[j]),[z,B]=V.useState(-1),W=V.useRef(null),q=Zs(d,W),H=e=>t=>{const n=Number(t.currentTarget.getAttribute("data-index"));Fs(t.target)&&B(n),S(n),e?.onFocus?.(t)},U=e=>t=>{Fs(t.target)||B(-1),S(-1),e?.onBlur?.(t)},K=(e,t)=>{const n=Number(e.currentTarget.getAttribute("data-index")),r=L[n],o=F.indexOf(r);let a=t;if(j&&null==g){const e=F[F.length-1];a=a>=e?e:a<=F[0]?F[0]:a<r?F[o-1]:F[o+1]}if(a=Ar(a,l,s),$){i&&(a=Ar(a,L[n-1]||-1/0,L[n+1]||1/0));const e=a;a=Cze(L,a,n);let t=n;i||(t=a.indexOf(e)),Oze(W,t)}I(a),B(n),u&&!Tze(a,R)&&N(e,a,n),f&&f(e,D.current??a)},Q=e=>t=>{if(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","PageUp","PageDown","Home","End"].includes(t.key)){t.preventDefault();const e=Number(t.currentTarget.getAttribute("data-index")),n=L[e];let r=null;if(null!=g){const e=t.shiftKey?m:g;switch(t.key){case"ArrowUp":r=xze(n,e,1,l,s);break;case"ArrowRight":r=xze(n,e,o?-1:1,l,s);break;case"ArrowDown":r=xze(n,e,-1,l,s);break;case"ArrowLeft":r=xze(n,e,o?1:-1,l,s);break;case"PageUp":r=xze(n,m,1,l,s);break;case"PageDown":r=xze(n,m,-1,l,s);break;case"Home":r=l;break;case"End":r=s}}else if(j){const e=F[F.length-1],i=F.indexOf(n),a=[o?"ArrowLeft":"ArrowRight","ArrowUp","PageUp","End"];[o?"ArrowRight":"ArrowLeft","ArrowDown","PageDown","Home"].includes(t.key)?r=0===i?F[0]:F[i-1]:a.includes(t.key)&&(r=i===F.length-1?e:F[i+1])}null!=r&&K(t,r)}e?.onKeyDown?.(t)};Bs(()=>{const e=sM(ll(W.current));r&&PP(W.current,e)&&null!=e&&"blur"in e&&e.blur()},[r]),r&&-1!==x&&A(-1),r&&-1!==z&&B(-1);const G=V.useRef(void 0);let X=h;o&&"horizontal"===h&&(X+="-reverse");const Y=e=>{const{current:t}=W;if(!t)return null;const{width:n,height:r,bottom:o,left:a}=t.getBoundingClientRect();let c,u;if(c=X.startsWith("vertical")?(o-e.y)/r:(e.x-a)/n,X.includes("-reverse")&&(c=1-c),u=function(e,t,n){return(n-t)*e+t}(c,l,s),g)u=function(e,t,n){const r=Math.round((e-n)/t)*t+n;return Number(r.toFixed(function(e){if(Math.abs(e)<1){const t=e.toExponential().split("e-"),n=t[0].split(".")[1];return(n?n.length:0)+parseInt(t[1],10)}const t=e.toString().split(".")[1];return t?t.length:0}(t)))}(u,g,l);else{const e=kze(F,u);u=F[e]}u=Ar(u,l,s);let f=0;if($){const e=-1!==G.current;f=e?G.current:kze(L,u,T.current),i&&(u=Ar(u,L[f-1]||-1/0,L[f+1]||1/0));const t=u;u=Cze(L,u,f),i&&e||(f=u.indexOf(t),G.current=f)}return{newValue:u,activeIndex:f}},Z=Vc(e=>{if("pointerId"in e&&e.pointerId!==M.current)return;const t=Sze(e,v);if(!t)return;if(O.current+=1,"pointermove"===e.type&&0===e.buttons)return void J(e);const n=Y(t);n&&(Oze(W,n.activeIndex,A,!1),T.current=n.activeIndex,I(n.newValue),!E&&O.current>2&&C(!0),u&&!Tze(n.newValue,R)&&N(e,n.newValue,n.activeIndex))}),J=Vc(e=>{if("pointerId"in e&&e.pointerId!==M.current)return;const t=Sze(e,v);if(C(!1),!t)return;const n=Y(t);A(-1),"touchend"===e.type&&S(-1),n&&f&&f(e,D.current??n.newValue),"pointerType"in e&&W.current?.hasPointerCapture(e.pointerId)&&W.current.releasePointerCapture(e.pointerId),v.current=void 0,M.current=-1,te()}),ee=Vc(e=>{if(r)return;if(_.current){_.current=!1;const t=e.changedTouches[0];return void(null!=t&&(v.current=t.identifier))}const t=e.changedTouches[0];null!=t&&(v.current=t.identifier);const n=Sze(e,v);if(!1!==n){G.current=-1;const t=Y(n);t&&(Oze(W,t.activeIndex,A,!1),T.current=t.activeIndex,I(t.newValue),u&&!Tze(t.newValue,R)&&N(e,t.newValue,t.activeIndex))}O.current=0;const i=ll(W.current);i.addEventListener("touchmove",Z,{passive:!0}),i.addEventListener("touchend",J,{passive:!0})}),te=V.useCallback(()=>{const e=ll(W.current);e.removeEventListener("pointermove",Z),e.removeEventListener("pointerup",J),e.removeEventListener("touchmove",Z),e.removeEventListener("touchend",J)},[J,Z]);V.useEffect(()=>{const e=W.current;if(e)return e.addEventListener("touchstart",ee,{passive:!0}),()=>{e.removeEventListener("touchstart",ee),P(),te()}},[te,ee,P]),V.useEffect(()=>{r&&(te(),P())},[r,te,P]);const ne=Eze($?L[0]:l,l,s),re=Eze(L[L.length-1],l,s)-ne,ie=e=>t=>{e.onMouseLeave?.(t),S(-1)};let oe;return"vertical"===h&&(oe=o?"vertical-rl":"vertical-lr"),{active:x,axis:X,axisProps:_ze,dragging:E,focusedThumbIndex:z,getHiddenInputProps:(n=yze)=>{const i=_c(n),a={onChange:(u=i,e=>{u.onChange?.(e),K(e,e.currentTarget.valueAsNumber)}),onFocus:H(i),onBlur:U(i),onKeyDown:Q(i)};var u;const f={...i,...a};return{tabIndex:b,"aria-labelledby":t,"aria-orientation":h,"aria-valuemax":p(s),"aria-valuemin":p(l),name:c,type:"range",min:e.min,max:e.max,step:null===e.step&&e.marks?"any":e.step??void 0,disabled:r,...n,...f,style:{...wze,direction:o?"rtl":"ltr",width:"100%",height:"100%",writingMode:oe}}},getRootProps:(e=yze)=>{const t=_c(e),n={onPointerDown:(i=t,e=>{if(i.onPointerDown?.(e),"touch"===e.pointerType&&(_.current=!0),r||e.defaultPrevented||0!==e.button)return;const t=Sze(e,v);if(!1!==t){G.current=-1;const n=Y(t);if(n){const t=W.current?.querySelector(`input[type="range"][data-index="${n.activeIndex}"]`),r=ll(W.current),i=null!=t&&t===sM(r);A(n.activeIndex),T.current=n.activeIndex,i?e.preventDefault():(P(),y.current=requestAnimationFrame(()=>{y.current=null,Oze(W,n.activeIndex,void 0,!1)})),I(n.newValue),u&&!Tze(n.newValue,R)&&N(e,n.newValue,n.activeIndex)}}O.current=0,M.current=e.pointerId;const n=ll(W.current);try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}n.addEventListener("pointermove",Z,{passive:!0}),n.addEventListener("pointerup",J)})};var i;const o={...t,...n};return{...e,ref:q,...o}},getThumbProps:(e=yze)=>{const t=_c(e),n={onMouseOver:(r=t,e=>{r.onMouseOver?.(e);const t=Number(e.currentTarget.getAttribute("data-index"));S(t)}),onMouseLeave:ie(t)};var r;return{...e,...t,...n}},marks:j,open:k,range:$,rootRef:q,trackLeap:re,trackOffset:ne,values:L,getThumbStyle:e=>{let t;return $?x===e?t=2:T.current===e&&(t=1):x===e&&(t=1),{pointerEvents:-1!==x&&x!==e?"none":void 0,zIndex:t}}}}function Dze(e){return Oo("MuiSlider",e)}const Rze=To("MuiSlider",["root","active","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","disabled","dragging","focusVisible","mark","markActive","marked","markLabel","markLabelActive","rail","sizeSmall","thumb","track","trackInverted","trackFalse","valueLabel","valueLabelOpen","valueLabelCircle","valueLabelLabel","vertical"]);function Ize(e){return e}const Nze=ho("span",{name:"MuiSlider",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`color${xo(n.color)}`],"medium"!==n.size&&t[`size${xo(n.size)}`],n.marked&&t.marked,"vertical"===n.orientation&&t.vertical,"inverted"===n.track&&t.trackInverted,!1===n.track&&t.trackFalse]}})(go(({theme:e})=>({borderRadius:12,boxSizing:"content-box",display:"inline-block",position:"relative",cursor:"pointer",touchAction:"none",WebkitTapHighlightColor:"transparent","@media print":{colorAdjust:"exact"},[`&.${Rze.disabled}`]:{pointerEvents:"none",cursor:"default",color:(e.vars||e).palette.grey[400]},[`&.${Rze.dragging}`]:{[`& .${Rze.thumb}, & .${Rze.track}`]:{transition:"none"}},variants:[...Object.entries(e.palette).filter(Ao()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}})),{props:{orientation:"horizontal"},style:{height:4,width:"100%",padding:"13px 0","@media (pointer: coarse)":{padding:"20px 0"}}},{props:{orientation:"horizontal",size:"small"},style:{height:2}},{props:{orientation:"horizontal",marked:!0},style:{marginBottom:20}},{props:{orientation:"vertical"},style:{height:"100%",width:4,padding:"0 13px","@media (pointer: coarse)":{padding:"0 20px"}}},{props:{orientation:"vertical",size:"small"},style:{width:2}},{props:{orientation:"vertical",marked:!0},style:{marginRight:44}}]}))),$ze=ho("span",{name:"MuiSlider",slot:"Rail"})({display:"block",position:"absolute",borderRadius:"inherit",backgroundColor:"currentColor",opacity:.38,"@media (forced-colors: active)":{border:"1px solid transparent",boxSizing:"border-box"},variants:[{props:{orientation:"horizontal"},style:{width:"100%",height:"inherit",top:"50%",transform:"translateY(-50%)"}},{props:{orientation:"vertical"},style:{height:"100%",width:"inherit",left:"50%",transform:"translateX(-50%)"}},{props:{track:"inverted"},style:{opacity:1}}]}),Lze=ho("span",{name:"MuiSlider",slot:"Track"})(go(({theme:e})=>({display:"block",position:"absolute",borderRadius:"inherit",border:"1px solid currentColor",backgroundColor:"currentColor",...ta(e,["left","width","bottom","height"],{duration:e.transitions.duration.shortest}),variants:[{props:{size:"small"},style:{"@media (forced-colors: none)":{border:"none"}}},{props:{orientation:"horizontal"},style:{height:"inherit",top:"50%",transform:"translateY(-50%)"}},{props:{orientation:"vertical"},style:{width:"inherit",left:"50%",transform:"translateX(-50%)"}},{props:{track:!1},style:{display:"none"}},...Object.entries(e.palette).filter(Ao()).map(([t])=>({props:{color:t,track:"inverted"},style:{...e.vars?{backgroundColor:e.vars.palette.Slider[`${t}Track`],borderColor:e.vars.palette.Slider[`${t}Track`]}:{backgroundColor:e.lighten(e.palette[t].main,.62),borderColor:e.lighten(e.palette[t].main,.62),...e.applyStyles("dark",{backgroundColor:e.darken(e.palette[t].main,.5)}),...e.applyStyles("dark",{borderColor:e.darken(e.palette[t].main,.5)})}}}))]}))),jze=ho("span",{name:"MuiSlider",slot:"Thumb"})(go(({theme:e})=>({position:"absolute",width:20,height:20,boxSizing:"border-box",borderRadius:"50%",outline:0,backgroundColor:"currentColor",display:"flex",alignItems:"center",justifyContent:"center",...ta(e,["box-shadow","left","bottom"],{duration:e.transitions.duration.shortest}),"@media (forced-colors: active)":{border:"1px solid ButtonBorder"},"&::before":{position:"absolute",content:'""',borderRadius:"inherit",width:"100%",height:"100%",boxShadow:(e.vars||e).shadows[2]},"&::after":{position:"absolute",content:'""',borderRadius:"50%",width:42,height:42,top:"50%",left:"50%",transform:"translate(-50%, -50%)"},[`&.${Rze.disabled}`]:{"&:hover":{boxShadow:"none"}},variants:[{props:{size:"small"},style:{width:12,height:12,"&::before":{boxShadow:"none"}}},{props:{orientation:"horizontal"},style:{top:"50%",transform:"translate(-50%, -50%)"}},{props:{orientation:"vertical"},style:{left:"50%",transform:"translate(-50%, 50%)"}},...Object.entries(e.palette).filter(Ao()).map(([t])=>({props:{color:t},style:{[`&:hover, &.${Rze.focusVisible}`]:{boxShadow:`0px 0px 0px 8px ${e.alpha((e.vars||e).palette[t].main,.16)}`,"@media (hover: none)":{boxShadow:"none"}},[`&.${Rze.active}`]:{boxShadow:`0px 0px 0px 14px ${e.alpha((e.vars||e).palette[t].main,.16)}`}}}))]}))),Fze=ho(function(e){const{children:t,className:n,value:r}=e,i=(e=>{const{open:t}=e;return{offset:G(t&&Rze.valueLabelOpen),circle:Rze.valueLabelCircle,label:Rze.valueLabelLabel}})(e);return t?V.cloneElement(t,{className:t.props.className},(0,bo.jsxs)(V.Fragment,{children:[t.props.children,(0,bo.jsx)("span",{className:G(i.offset,n),"aria-hidden":!0,children:(0,bo.jsx)("span",{className:i.circle,children:(0,bo.jsx)("span",{className:i.label,children:r})})})]})):null},{name:"MuiSlider",slot:"ValueLabel"})(go(({theme:e})=>({zIndex:1,whiteSpace:"nowrap",...e.typography.body2,fontWeight:500,...ta(e,["transform"],{duration:e.transitions.duration.shortest}),position:"absolute",backgroundColor:(e.vars||e).palette.grey[600],borderRadius:2,color:(e.vars||e).palette.common.white,display:"flex",alignItems:"center",justifyContent:"center",padding:"0.25rem 0.75rem",variants:[{props:{orientation:"horizontal"},style:{transform:"translateY(-100%) scale(0)",top:"-10px",transformOrigin:"bottom center","&::before":{position:"absolute",content:'""',width:8,height:8,transform:"translate(-50%, 50%) rotate(45deg)",backgroundColor:"inherit",bottom:0,left:"50%"},[`&.${Rze.valueLabelOpen}`]:{transform:"translateY(-100%) scale(1)"}}},{props:{orientation:"vertical"},style:{transform:"translateY(-50%) scale(0)",right:"30px",top:"50%",transformOrigin:"right center","&::before":{position:"absolute",content:'""',width:8,height:8,transform:"translate(-50%, -50%) rotate(45deg)",backgroundColor:"inherit",right:-8,top:"50%"},[`&.${Rze.valueLabelOpen}`]:{transform:"translateY(-50%) scale(1)"}}},{props:{size:"small"},style:{fontSize:e.typography.pxToRem(12),padding:"0.25rem 0.5rem"}},{props:{orientation:"vertical",size:"small"},style:{right:"20px"}}]}))),zze=ho("span",{name:"MuiSlider",slot:"Mark",shouldForwardProp:e=>uo(e)&&"markActive"!==e,overridesResolver:(e,t)=>{const{markActive:n}=e;return[t.mark,n&&t.markActive]}})(go(({theme:e})=>({position:"absolute",width:2,height:2,borderRadius:1,backgroundColor:"currentColor",variants:[{props:{orientation:"horizontal"},style:{top:"50%",transform:"translate(-1px, -50%)"}},{props:{orientation:"vertical"},style:{left:"50%",transform:"translate(-50%, 1px)"}},{props:{markActive:!0},style:{backgroundColor:(e.vars||e).palette.background.paper,opacity:.8}}]}))),Bze=ho("span",{name:"MuiSlider",slot:"MarkLabel",shouldForwardProp:e=>uo(e)&&"markLabelActive"!==e})(go(({theme:e})=>({...e.typography.body2,color:(e.vars||e).palette.text.secondary,position:"absolute",whiteSpace:"nowrap",variants:[{props:{orientation:"horizontal"},style:{top:30,transform:"translateX(-50%)","@media (pointer: coarse)":{top:40}}},{props:{orientation:"vertical"},style:{left:36,transform:"translateY(50%)","@media (pointer: coarse)":{left:44}}},{props:{markLabelActive:!0},style:{color:(e.vars||e).palette.text.primary}}]}))),Wze=({children:e})=>e,qze=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiSlider"}),r=al(),{"aria-label":i,"aria-valuetext":o,"aria-labelledby":a,color:s="primary",classes:l,className:c,disableSwap:u=!1,disabled:f=!1,getAriaLabel:h,getAriaValueText:d,marks:p=!1,max:g=100,min:m=0,name:b,onChange:w,onChangeCommitted:v,orientation:y="horizontal",shiftStep:x=10,size:A="medium",step:k=1,scale:S=Ize,slotProps:E={},slots:C={},tabIndex:O,track:T="normal",value:_,valueLabelDisplay:M="off",valueLabelFormat:P=Ize,...D}=n,R={...n,isRtl:r,max:g,min:m,classes:l,disabled:f,disableSwap:u,orientation:y,marks:p,color:s,size:A,step:k,shiftStep:x,scale:S,track:T,valueLabelDisplay:M,valueLabelFormat:P},{axisProps:I,getRootProps:N,getHiddenInputProps:$,getThumbProps:L,open:j,active:F,axis:z,focusedThumbIndex:B,range:W,dragging:q,marks:H,values:U,trackOffset:K,trackLeap:Q,getThumbStyle:Y}=Pze({...R,rootRef:t});R.marked=H.length>0&&H.some(e=>e.label),R.dragging=q,R.focusedThumbIndex=B;const Z=(e=>{const{disabled:t,dragging:n,marked:r,orientation:i,track:o,classes:a,color:s,size:l}=e;return X({root:["root",t&&"disabled",n&&"dragging",r&&"marked","vertical"===i&&"vertical","inverted"===o&&"trackInverted",!1===o&&"trackFalse",s&&`color${xo(s)}`,l&&`size${xo(l)}`],rail:["rail"],track:["track"],mark:["mark"],markActive:["markActive"],markLabel:["markLabel"],markLabelActive:["markLabelActive"],valueLabel:["valueLabel"],thumb:["thumb",t&&"disabled"],active:["active"],disabled:["disabled"],focusVisible:["focusVisible"]},Dze,a)})(R),J={slots:C,slotProps:E},[ee,te]=eu("root",{elementType:Nze,getSlotProps:N,externalForwardedProps:{...J,...D},ownerState:R,className:[Z.root,c]}),[ne,re]=eu("rail",{elementType:$ze,externalForwardedProps:J,ownerState:R,className:Z.rail}),[ie,oe]=eu("track",{elementType:Lze,externalForwardedProps:J,additionalProps:{style:{...I[z].offset(K),...I[z].leap(Q)}},ownerState:R,className:Z.track}),[ae,se]=eu("thumb",{elementType:jze,getSlotProps:L,externalForwardedProps:J,ownerState:R,className:Z.thumb}),[le,ce]=eu("valueLabel",{elementType:Fze,externalForwardedProps:J,ownerState:R,className:Z.valueLabel}),[ue,fe]=eu("mark",{elementType:zze,externalForwardedProps:J,ownerState:R,className:Z.mark}),[he,de]=eu("markLabel",{elementType:Bze,externalForwardedProps:J,ownerState:R,className:Z.markLabel}),[pe,ge]=eu("input",{elementType:"input",getSlotProps:$,externalForwardedProps:J,ownerState:R});return(0,bo.jsxs)(ee,{...te,children:[(0,bo.jsx)(ne,{...re}),(0,bo.jsx)(ie,{...oe}),H.filter(e=>e.value>=m&&e.value<=g).map((e,t)=>{const n=Eze(e.value,m,g),r=I[z].offset(n);let i;return i=!1===T?U.includes(e.value):"normal"===T&&(W?e.value>=U[0]&&e.value<=U[U.length-1]:e.value<=U[0])||"inverted"===T&&(W?e.value<=U[0]||e.value>=U[U.length-1]:e.value>=U[0]),(0,bo.jsxs)(V.Fragment,{children:[(0,bo.jsx)(ue,{"data-index":t,...fe,...!Cc(ue)&&{markActive:i},style:{...r,...fe.style},className:G(fe.className,i&&Z.markActive)}),null!=e.label?(0,bo.jsx)(he,{"aria-hidden":!0,"data-index":t,...de,...!Cc(he)&&{markLabelActive:i},style:{...r,...de.style},className:G(Z.markLabel,de.className,i&&Z.markLabelActive),children:e.label}):null]},t)}),U.map((e,t)=>{const n=Eze(e,m,g),r=I[z].offset(n),s="off"===M?Wze:le;return(0,bo.jsx)(s,{...!Cc(s)&&{valueLabelFormat:P,valueLabelDisplay:M,value:"function"==typeof P?P(S(e),t):P,index:t,open:j===t||F===t||"on"===M,disabled:f},...ce,children:(0,bo.jsx)(ae,{"data-index":t,...se,className:G(Z.thumb,se.className,F===t&&Z.active,B===t&&Z.focusVisible),style:{...r,...Y(t),...se.style},children:(0,bo.jsx)(pe,{"data-index":t,"aria-label":h?h(t):i,"aria-valuenow":S(e),"aria-labelledby":a,"aria-valuetext":d?d(S(e),t):o,value:U[t],...ge})})},t)})]})}),Hze=qze,Uze=({value:e,setValue:t,label:n,labelRightSlot:r,min:i,max:o,invertSliderTrack:a,testId:s,layoutConfig:l})=>{const c={SLIDERS_AND_INPUTS_CONTAINER_WIDTH:"315px",SLIDER_INPUT_WIDTH:"68px",SLIDER_DISABLED_INPUT_WIDTH:"39px",INPUTS_CONTAINER_WIDTH:"129px",...l},[u,f]=V.useState(()=>e);function h(n){const r=Number(n);r!==e&&requestAnimationFrame(()=>{t(r)})}return V.useEffect(()=>{u!=e&&f(e)},[e]),V.createElement(Ds,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"}},V.createElement(Ds,{sx:{mr:"24px",display:"flex",alignItems:"center"}},V.createElement(Ro,{className:"grey-label label-bold",variant:"body2",sx:{position:"relative",top:"-3px",fontSize:"14px",fontWeight:500}},n),r??null),V.createElement(Ds,{sx:{display:"flex",justifyContent:"flex-end",alignItems:"center",width:c.SLIDERS_AND_INPUTS_CONTAINER_WIDTH}},V.createElement(Hze,{"data-testid":U(s),size:"small",step:.01,min:i,max:o,value:Vze(u),onChange:(e,t)=>{f(t),h(t)},sx:{display:"flex",flex:1,marginRight:"12px",marginLeft:"12px"},track:a?"inverted":"normal"}),V.createElement(Ds,{sx:{width:c.INPUTS_CONTAINER_WIDTH}},V.createElement(vR,{"data-testid":H(s),value:u,size:"small",variant:"outlined",onChange:function(e){f(e.target.value),h(e.target.value)},sx:{width:c.SLIDER_INPUT_WIDTH,"& input::-webkit-outer-spin-button, & input::-webkit-inner-spin-button":{display:"none"},"& input[type=number]":{MozAppearance:"textfield"}},margin:"none",onBlur:function(){const e=Math.max(i,Math.min(o,Number(u)));f(e),h(e)},slotProps:{htmlInput:{step:.01,min:i,max:o,type:"number"}}}))))};function Vze(e){return Number(e)}const Kze={resetPaginationCallback:null},Qze=(e,t)=>({setResetPaginationCallback:t=>e({resetPaginationCallback:t}),callResetPaginationCallback:()=>{const{resetPaginationCallback:e}=t();e&&e()}}),Gze={nextButton:{"data-testid":B.pagination.nextPageButton},previousButton:{"data-testid":B.pagination.previousPageButton}},Xze=({children:e,style:t,totalCount:n,page:r,rowsPerPage:i,onPageChange:o,onRowsPerPageChange:a,rowsPerPageOptions:s,showFirstButton:l,showLastButton:c,rowHeight:u})=>{const f=Math.ceil(n/i)>=2?i*u:"auto";return V.createElement(V.Fragment,null,V.createElement("div",{style:{width:"100%",minHeight:f,...t}},e),V.createElement(tLe,{slotProps:{select:{native:!0},actions:Gze},component:"div",count:n,page:r,onPageChange:o,rowsPerPage:i,onRowsPerPageChange:a,rowsPerPageOptions:s,showFirstButton:l,showLastButton:c}))};function Yze({defaultRowsPerPage:e=20,rowsPerPageOptions:t=[10,20,50],showFirstButton:n=!0,showLastButton:r=!0,rowHeight:i=36}){const[o,a]=(0,V.useState)(0),[s,l]=(0,V.useState)(e),c=(0,V.useCallback)((e,t)=>{a(t)},[]),u=(0,V.useCallback)(()=>{a(0)},[]),f=(0,V.useCallback)(e=>{l(parseInt(e.target.value,10)),a(0)},[]),h={start:o*s,end:o*s+s},d=(0,V.useCallback)(e=>e.slice(h.start,h.end),[h.start,h.end]),p=(0,V.useCallback)((e={})=>({page:o,rowsPerPage:s,totalCount:e.totalCount??0,onPageChange:(t,n)=>{c(t,n),e.onPageChange?.(t,n)},onRowsPerPageChange:t=>{f(t),e.onRowsPerPageChange?.(t)},rowsPerPageOptions:t,showFirstButton:n,showLastButton:r,rowHeight:i}),[o,s,c,f,t,n,r,i]);return{getPage:d,resetPage:u,PaginationWrapper:Xze,getPaginationProps:p}}function Zze({buttonContent:e,title:t,children:n,buttonProps:r,"data-testid":i}){const[o,a]=V.useState(null),s=()=>{a(null)},l=Boolean(o),c=l?"simple-popover":void 0;return V.createElement(WR,{onClickAway:s},V.createElement("div",null,V.createElement(YO,{"data-testid":i,"aria-describedby":c,onClick:e=>{a(o?null:e.currentTarget)},variant:"outlined",sx:{minWidth:"86px",height:"36px",color:"rgba(54, 65, 82, 1)",padding:"8px 12px",textTransform:"capitalize",border:"solid 1px rgba(227, 232, 239, 1)",borderRadius:"8px",fontSize:"14px",boxShadow:"0px 1px 2px 0px rgba(16, 24, 40, 0.05)"},...r},e),V.createElement(UNe,{id:c,open:l,anchorEl:o,transition:!1,placement:"bottom-start",modifiers:[{name:"flip",enabled:!1},{name:"offset",options:{offset:[0,2]}}]},V.createElement(Ds,{sx:{p:"16px",boxSizing:"border-box"}},V.createElement(Ds,{sx:{display:"flex",justifyContent:"space-between"}},V.createElement(Ro,{variant:"h6",sx:{color:"rgba(81, 87, 99, 1)",fontSize:"16px"}},t),V.createElement(nf,{onClick:s},V.createElement(W_,{"data-testid":`${i}-close`}))),V.createElement(Ds,{sx:{mt:"16px"}},n)))))}const Jze=({searchPhrase:e,onSearchPhraseChange:t,testId:n,placeholder:r="Search",sx:i={}})=>{const o=zo();return V.createElement(vR,{"data-testid":n,sx:{"& .MuiOutlinedInput-root":{"& fieldset":{borderColor:"rgba(205, 213, 223, 1)"},"&:hover fieldset":{borderColor:o.palette.primary.main}},"& .MuiInputBase-input":{height:"36px",padding:"6px 12px",boxSizing:"border-box"},"& .MuiInputBase-input::placeholder":{color:"rgba(154, 164, 178, 1)"},"& .MuiInputBase-input::-webkit-search-cancel-button":{cursor:"pointer"},...i},size:"small",label:r,margin:"none",type:"search",variant:"outlined",value:e,onChange:e=>t(e.target.value)})},eBe=V.createContext(null);function tBe(){return V.useContext(eBe)}const nBe="function"==typeof Symbol&&Symbol.for?Symbol.for("mui.nested"):"__THEME_NESTED__",rBe=function(e){const{children:t,theme:n}=e,r=tBe(),i=V.useMemo(()=>{const e=null===r?{...n}:function(e,t){return"function"==typeof t?t(e):{...e,...t}}(r,n);return null!=e&&(e[nBe]=null!==r),e},[n,r]);return(0,bo.jsx)(eBe.Provider,{value:i,children:t})},iBe={};function oBe(e,t,n,r=!1){return V.useMemo(()=>{const i=e&&t[e]||t;if("function"==typeof n){const o=n(i),a=e?{...t,[e]:o}:o;return r?()=>a:a}return e?{...t,[e]:n}:{...t,...n}},[e,t,n,r])}const aBe=function(e){const{children:t,theme:n,themeId:r}=e,i=Io(iBe),o=tBe()||iBe,a=oBe(r,i,n),s=oBe(r,o,n,!0),l="rtl"===(r?a[r]:a).direction,c=function(e){const t=Io(),n=Xc()||"",{modularCssLayers:r}=e;let i="mui.global, mui.components, mui.theme, mui.custom, mui.sx";return i=r&&null===t?"string"==typeof r?r.replace(/mui(?!\.)/g,i):`@layer ${i};`:"",Bs(()=>{const e=document.querySelector("head");if(!e)return;const t=e.firstChild;if(i){if(t&&t.hasAttribute?.("data-mui-layer-order")&&t.getAttribute("data-mui-layer-order")===n)return;const r=document.createElement("style");r.setAttribute("data-mui-layer-order",n),r.textContent=i,e.prepend(r)}else e.querySelector(`style[data-mui-layer-order="${n}"]`)?.remove()},[i,n]),i?(0,bo.jsx)(nM,{styles:i}):null}(a);return(0,bo.jsx)(rBe,{theme:s,children:(0,bo.jsx)(vt.Provider,{value:a,children:(0,bo.jsx)(sl,{value:l,children:(0,bo.jsxs)(vo,{value:r?a[r].components:a.components,children:[c,t]})})})})};function sBe({theme:e,...t}){const n=co in e?e[co]:void 0;return(0,bo.jsx)(aBe,{...t,themeId:n?co:void 0,theme:n||e})}const lBe="mode",cBe="color-scheme",uBe="data-color-scheme";function fBe(){}({...K}).useSyncExternalStore;const hBe=({key:e,storageWindow:t})=>(t||"undefined"==typeof window||(t=window),{get(n){if("undefined"==typeof window)return;if(!t)return n;let r;try{r=t.localStorage.getItem(e)}catch{}return r||n},set:n=>{if(t)try{t.localStorage.setItem(e,n)}catch{}},subscribe:n=>{if(!t)return fBe;const r=t=>{const r=t.newValue;t.key===e&&n(r)};return t.addEventListener("storage",r),()=>{t.removeEventListener("storage",r)}}});function dBe(){}function pBe(e){if("undefined"!=typeof window&&"function"==typeof window.matchMedia&&"system"===e)return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function gBe(e,t){return"light"===e.mode||"system"===e.mode&&"light"===e.systemMode?t("light"):"dark"===e.mode||"system"===e.mode&&"dark"===e.systemMode?t("dark"):void 0}const mBe="mui-color-scheme",bBe="light",wBe="dark",vBe="mui-mode",{CssVarsProvider:yBe,useColorScheme:xBe,getInitColorSchemeScript:ABe}=function(e){const{themeId:t,theme:n={},modeStorageKey:r=lBe,colorSchemeStorageKey:i=cBe,disableTransitionOnChange:o=!1,defaultColorScheme:a,resolveTheme:s}=e,l={allColorSchemes:[],colorScheme:void 0,darkColorScheme:void 0,lightColorScheme:void 0,mode:void 0,setColorScheme:()=>{},setMode:()=>{},systemMode:void 0},c=V.createContext(void 0),u={},f={},h="string"==typeof a?a:a.light,d="string"==typeof a?a:a.dark;return{CssVarsProvider:function(e){const{children:l,theme:h,modeStorageKey:d=r,colorSchemeStorageKey:p=i,disableTransitionOnChange:g=o,storageManager:m,storageWindow:b=("undefined"==typeof window?void 0:window),documentNode:w=("undefined"==typeof document?void 0:document),colorSchemeNode:v=("undefined"==typeof document?void 0:document.documentElement),disableNestedContext:y=!1,disableStyleSheetGeneration:x=!1,defaultMode:A="system",forceThemeRerender:k=!1,noSsr:S}=e,E=V.useRef(!1),C=tBe(),O=V.useContext(c),T=!!O&&!y,_=V.useMemo(()=>h||("function"==typeof n?n():n),[h]),M=_[t],P=M||_,{colorSchemes:D=u,components:R=f,cssVarPrefix:I}=P,N=Object.keys(D).filter(e=>!!D[e]).join(","),$=V.useMemo(()=>N.split(","),[N]),L="string"==typeof a?a:a.light,j="string"==typeof a?a:a.dark,F=D[L]&&D[j]?A:D[P.defaultColorScheme]?.palette?.mode||P.palette?.mode,{mode:z,setMode:B,systemMode:W,lightColorScheme:q,darkColorScheme:H,colorScheme:U,setColorScheme:K}=function(e){const{defaultMode:t="light",defaultLightColorScheme:n,defaultDarkColorScheme:r,supportedColorSchemes:i=[],modeStorageKey:o=lBe,colorSchemeStorageKey:a=cBe,storageWindow:s=("undefined"==typeof window?void 0:window),storageManager:l=hBe,noSsr:c=!1}=e,u=i.join(","),f=i.length>1,h=V.useMemo(()=>l?.({key:o,storageWindow:s}),[l,o,s]),d=V.useMemo(()=>l?.({key:`${a}-light`,storageWindow:s}),[l,a,s]),p=V.useMemo(()=>l?.({key:`${a}-dark`,storageWindow:s}),[l,a,s]),[g,m]=V.useState(()=>{const e=h?.get(t)||t,i=d?.get(n)||n,o=p?.get(r)||r;return{mode:e,systemMode:pBe(e),lightColorScheme:i,darkColorScheme:o}}),[b,w]=V.useState(c||!f);V.useEffect(()=>{w(!0)},[]);const v=function(e){return gBe(e,t=>"light"===t?e.lightColorScheme:"dark"===t?e.darkColorScheme:void 0)}(g),y=V.useCallback(e=>{m(n=>{if(e===n.mode)return n;const r=e??t;return h?.set(r),{...n,mode:r,systemMode:pBe(r)}})},[h,t]),x=V.useCallback(e=>{e?"string"==typeof e?e&&!u.includes(e)?console.error(`\`${e}\` does not exist in \`theme.colorSchemes\`.`):m(t=>{const n={...t};return gBe(t,t=>{"light"===t&&(d?.set(e),n.lightColorScheme=e),"dark"===t&&(p?.set(e),n.darkColorScheme=e)}),n}):m(t=>{const i={...t},o=null===e.light?n:e.light,a=null===e.dark?r:e.dark;return o&&(u.includes(o)?(i.lightColorScheme=o,d?.set(o)):console.error(`\`${o}\` does not exist in \`theme.colorSchemes\`.`)),a&&(u.includes(a)?(i.darkColorScheme=a,p?.set(a)):console.error(`\`${a}\` does not exist in \`theme.colorSchemes\`.`)),i}):m(e=>(d?.set(n),p?.set(r),{...e,lightColorScheme:n,darkColorScheme:r}))},[u,d,p,n,r]),A=V.useCallback(e=>{"system"===g.mode&&m(t=>{const n=e?.matches?"dark":"light";return t.systemMode===n?t:{...t,systemMode:n}})},[g.mode]),k=V.useRef(A);return k.current=A,V.useEffect(()=>{if("function"!=typeof window.matchMedia||!f)return;const e=(...e)=>k.current(...e),t=window.matchMedia("(prefers-color-scheme: dark)");return t.addListener(e),e(t),()=>{t.removeListener(e)}},[f]),V.useEffect(()=>{if(f){const e=h?.subscribe(e=>{e&&!["light","dark","system"].includes(e)||y(e||t)})||dBe,n=d?.subscribe(e=>{e&&!u.match(e)||x({light:e})})||dBe,r=p?.subscribe(e=>{e&&!u.match(e)||x({dark:e})})||dBe;return()=>{e(),n(),r()}}},[x,y,u,t,s,f,h,d,p]),{...g,mode:b?g.mode:void 0,systemMode:b?g.systemMode:void 0,colorScheme:b?v:void 0,setMode:y,setColorScheme:x}}({supportedColorSchemes:$,defaultLightColorScheme:L,defaultDarkColorScheme:j,modeStorageKey:d,colorSchemeStorageKey:p,defaultMode:F,storageManager:m,storageWindow:b,noSsr:S});let Q=z,G=U;T&&(Q=O.mode,G=O.colorScheme);let X=G||P.defaultColorScheme;P.vars&&!k&&(X=P.defaultColorScheme);const Y=V.useMemo(()=>{const e=P.generateThemeVars?.()||P.vars,t={...P,components:R,colorSchemes:D,cssVarPrefix:I,vars:e};if("function"==typeof t.generateSpacing&&(t.spacing=t.generateSpacing()),X){const e=D[X];e&&"object"==typeof e&&Object.keys(e).forEach(n=>{e[n]&&"object"==typeof e[n]?t[n]={...t[n],...e[n]}:t[n]=e[n]})}return s?s(t):t},[P,X,R,D,I]),Z=P.colorSchemeSelector;Bs(()=>{if(G&&v&&Z&&"media"!==Z){const e=Z;let t=Z;if("class"===e&&(t=".%s"),"data"===e&&(t="[data-%s]"),e?.startsWith("data-")&&!e.includes("%s")&&(t=`[${e}="%s"]`),t.startsWith("."))v.classList.remove(...$.map(e=>t.substring(1).replace("%s",e))),v.classList.add(t.substring(1).replace("%s",G));else{const e=t.replace("%s",G).match(/\[([^\]]+)\]/);if(e){const[t,n]=e[1].split("=");n||$.forEach(e=>{v.removeAttribute(t.replace(G,e))}),v.setAttribute(t,n?n.replace(/"|'/g,""):"")}else v.setAttribute(t,G)}}},[G,Z,v,$]),V.useEffect(()=>{let e;if(g&&E.current&&w){const t=w.createElement("style");t.appendChild(w.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),w.head.appendChild(t),window.getComputedStyle(w.body),e=setTimeout(()=>{w.head.removeChild(t)},1)}return()=>{clearTimeout(e)}},[G,g,w]),V.useEffect(()=>(E.current=!0,()=>{E.current=!1}),[]);const J=V.useMemo(()=>({allColorSchemes:$,colorScheme:G,darkColorScheme:H,lightColorScheme:q,mode:Q,setColorScheme:K,setMode:B,systemMode:W}),[$,G,H,q,Q,K,B,W,Y.colorSchemeSelector]);let ee=!0;(x||!1===P.cssVariables||T&&C?.cssVarPrefix===I)&&(ee=!1);const te=(0,bo.jsxs)(V.Fragment,{children:[(0,bo.jsx)(aBe,{themeId:M?t:void 0,theme:Y,children:l}),ee&&(0,bo.jsx)(eM,{styles:Y.generateStyleSheets?.()||[]})]});return T?te:(0,bo.jsx)(c.Provider,{value:J,children:te})},useColorScheme:()=>V.useContext(c)||l,getInitColorSchemeScript:e=>function(e){const{defaultMode:t="system",defaultLightColorScheme:n="light",defaultDarkColorScheme:r="dark",modeStorageKey:i=lBe,colorSchemeStorageKey:o=cBe,attribute:a=uBe,colorSchemeNode:s="document.documentElement",nonce:l}=e||{};let c="",u=a;if("class"===a&&(u=".%s"),"data"===a&&(u="[data-%s]"),u.startsWith(".")){const e=u.substring(1);c+=`${s}.classList.remove('${e}'.replace('%s', light), '${e}'.replace('%s', dark));\n ${s}.classList.add('${e}'.replace('%s', colorScheme));`}const f=u.match(/\[([^[\]]+)\]/);if(f){const[e,t]=f[1].split("=");t||(c+=`${s}.removeAttribute('${e}'.replace('%s', light));\n ${s}.removeAttribute('${e}'.replace('%s', dark));`),c+=`\n ${s}.setAttribute('${e}'.replace('%s', colorScheme), ${t?`${t}.replace('%s', colorScheme)`:'""'});`}else".%s"!==u&&(c+=`${s}.setAttribute('${u}', colorScheme);`);return(0,bo.jsx)("script",{suppressHydrationWarning:!0,nonce:"undefined"==typeof window?l:"",dangerouslySetInnerHTML:{__html:`(function() {\ntry {\n let colorScheme = '';\n const mode = localStorage.getItem('${i}') || '${t}';\n const dark = localStorage.getItem('${o}-dark') || '${r}';\n const light = localStorage.getItem('${o}-light') || '${n}';\n if (mode === 'system') {\n // handle system mode\n const mql = window.matchMedia('(prefers-color-scheme: dark)');\n if (mql.matches) {\n colorScheme = dark\n } else {\n colorScheme = light\n }\n }\n if (mode === 'light') {\n colorScheme = light;\n }\n if (mode === 'dark') {\n colorScheme = dark;\n }\n if (colorScheme) {\n ${c}\n }\n} catch(e){}})();`}},"mui-color-scheme-init")}({colorSchemeStorageKey:i,defaultLightColorScheme:h,defaultDarkColorScheme:d,modeStorageKey:r,...e})}}({themeId:co,theme:()=>so({cssVariables:!0}),colorSchemeStorageKey:mBe,modeStorageKey:vBe,defaultColorScheme:{light:bBe,dark:wBe},resolveTheme:e=>{const t={...e,typography:Pi(e.palette,e.typography)};return t.unstable_sx=function(e){return lr({sx:e,theme:this})},t}}),kBe=yBe;function SBe({theme:e,...t}){const n=V.useMemo(()=>{if("function"==typeof e)return e;const t=co in e?e[co]:e;return"colorSchemes"in t?null:"vars"in t?e:{...e,vars:null}},[e]);return n?(0,bo.jsx)(sBe,{theme:n,...t}):(0,bo.jsx)(kBe,{theme:e,...t})}var EBe=a(2141),CBe={};CBe.styleTagTransform=fT(),CBe.setAttributes=sT(),CBe.insert=oT().bind(null,"head"),CBe.domAPI=rT(),CBe.insertStyleElement=cT(),tT()(EBe.A,CBe),EBe.A&&EBe.A.locals&&EBe.A.locals;const OBe="dotdata-widget",TBe=({children:e,themeMode:t,theme:n=HR,additionalClasses:r=[]})=>{const i=[OBe,...t?[`dotdata-theme-${t}`]:[],...r].map(e=>e.trim()).filter(e=>!!e).join(" "),o=V.useRef(null);return V.createElement("div",{className:i,ref:o},V.createElement(Oa,{elementRef:o},V.createElement(SBe,{theme:n},e)))};var _Be=a(1579),MBe={};MBe.styleTagTransform=fT(),MBe.setAttributes=sT(),MBe.insert=oT().bind(null,"head"),MBe.domAPI=rT(),MBe.insertStyleElement=cT(),tT()(_Be.A,MBe),_Be.A&&_Be.A.locals&&_Be.A.locals;const PBe=({additionalClasses:e,children:t})=>V.createElement(TBe,{additionalClasses:[...e,"ipywidget"]},V.createElement(pze,{FallbackComponent:({error:e,handleReset:t})=>V.createElement(gze,{error:e,handleReset:t})},t)),DBe=({children:e,model:t,api:n,additionalClasses:r})=>V.createElement(Ya,{model:t},V.createElement("svg",{style:{display:"none"}},V.createElement("defs",null)),n?V.createElement(xa,{api:n},V.createElement(PBe,{additionalClasses:r},e)):V.createElement(PBe,{additionalClasses:r},e));var RBe=a(2055),IBe=a(5873);function NBe(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n,r=0;r<e.length;r++)""!==(n=NBe(e[r]))&&(t+=(t&&" ")+n);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var $Be=a(7121);const LBe=e=>{let t;const n=new Set,r=(e,r)=>{const i="function"==typeof e?e(t):e;if(!Object.is(i,t)){const e=t;t=(null!=r?r:"object"!=typeof i||null===i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,o={setState:r,getState:i,getInitialState:()=>a,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},a=t=e(r,i,o);return o},{useDebugValue:jBe}=V,{useSyncExternalStoreWithSelector:FBe}=$Be,zBe=e=>e;function BBe(e,t=zBe,n){const r=FBe(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return jBe(r),r}const WBe=(e,t)=>{const n=(e=>e?LBe(e):LBe)(e),r=(e,r=t)=>BBe(n,e,r);return Object.assign(r,n),r};function qBe(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}function HBe(){}function UBe(e){return null==e?HBe:function(){return this.querySelector(e)}}function VBe(){return[]}function KBe(e){return null==e?VBe:function(){return this.querySelectorAll(e)}}function QBe(e){return function(){return this.matches(e)}}function GBe(e){return function(t){return t.matches(e)}}var XBe=Array.prototype.find;function YBe(){return this.firstElementChild}var ZBe=Array.prototype.filter;function JBe(){return Array.from(this.children)}function eWe(e){return new Array(e.length)}function tWe(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function nWe(e,t,n,r,i,o){for(var a,s=0,l=t.length,c=o.length;s<c;++s)(a=t[s])?(a.__data__=o[s],r[s]=a):n[s]=new tWe(e,o[s]);for(;s<l;++s)(a=t[s])&&(i[s]=a)}function rWe(e,t,n,r,i,o,a){var s,l,c,u=new Map,f=t.length,h=o.length,d=new Array(f);for(s=0;s<f;++s)(l=t[s])&&(d[s]=c=a.call(l,l.__data__,s,t)+"",u.has(c)?i[s]=l:u.set(c,l));for(s=0;s<h;++s)c=a.call(e,o[s],s,o)+"",(l=u.get(c))?(r[s]=l,l.__data__=o[s],u.delete(c)):n[s]=new tWe(e,o[s]);for(s=0;s<f;++s)(l=t[s])&&u.get(d[s])===l&&(i[s]=l)}function iWe(e){return e.__data__}function oWe(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function aWe(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}tWe.prototype={constructor:tWe,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var sWe="http://www.w3.org/1999/xhtml";const lWe={svg:"http://www.w3.org/2000/svg",xhtml:sWe,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function cWe(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),lWe.hasOwnProperty(t)?{space:lWe[t],local:e}:e}function uWe(e){return function(){this.removeAttribute(e)}}function fWe(e){return function(){this.removeAttributeNS(e.space,e.local)}}function hWe(e,t){return function(){this.setAttribute(e,t)}}function dWe(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function pWe(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function gWe(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function mWe(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function bWe(e){return function(){this.style.removeProperty(e)}}function wWe(e,t,n){return function(){this.style.setProperty(e,t,n)}}function vWe(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function yWe(e,t){return e.style.getPropertyValue(t)||mWe(e).getComputedStyle(e,null).getPropertyValue(t)}function xWe(e){return function(){delete this[e]}}function AWe(e,t){return function(){this[e]=t}}function kWe(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function SWe(e){return e.trim().split(/^|\s+/)}function EWe(e){return e.classList||new CWe(e)}function CWe(e){this._node=e,this._names=SWe(e.getAttribute("class")||"")}function OWe(e,t){for(var n=EWe(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function TWe(e,t){for(var n=EWe(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function _We(e){return function(){OWe(this,e)}}function MWe(e){return function(){TWe(this,e)}}function PWe(e,t){return function(){(t.apply(this,arguments)?OWe:TWe)(this,e)}}function DWe(){this.textContent=""}function RWe(e){return function(){this.textContent=e}}function IWe(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function NWe(){this.innerHTML=""}function $We(e){return function(){this.innerHTML=e}}function LWe(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function jWe(){this.nextSibling&&this.parentNode.appendChild(this)}function FWe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function zWe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===sWe&&t.documentElement.namespaceURI===sWe?t.createElement(e):t.createElementNS(n,e)}}function BWe(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function WWe(e){var t=cWe(e);return(t.local?BWe:zWe)(t)}function qWe(){return null}function HWe(){var e=this.parentNode;e&&e.removeChild(this)}function UWe(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function VWe(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function KWe(e){return function(){var t=this.__on;if(t){for(var n,r=0,i=-1,o=t.length;r<o;++r)n=t[r],e.type&&n.type!==e.type||n.name!==e.name?t[++i]=n:this.removeEventListener(n.type,n.listener,n.options);++i?t.length=i:delete this.__on}}}function QWe(e,t,n){return function(){var r,i=this.__on,o=function(e){return function(t){e.call(this,t,this.__data__)}}(t);if(i)for(var a=0,s=i.length;a<s;++a)if((r=i[a]).type===e.type&&r.name===e.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=n),void(r.value=t);this.addEventListener(e.type,o,n),r={type:e.type,name:e.name,value:t,listener:o,options:n},i?i.push(r):this.__on=[r]}}function GWe(e,t,n){var r=mWe(e),i=r.CustomEvent;"function"==typeof i?i=new i(t,n):(i=r.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function XWe(e,t){return function(){return GWe(this,e,t)}}function YWe(e,t){return function(){return GWe(this,e,t.apply(this,arguments))}}CWe.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var ZWe=[null];function JWe(e,t){this._groups=e,this._parents=t}function eqe(){return new JWe([[document.documentElement]],ZWe)}JWe.prototype=eqe.prototype={constructor:JWe,select:function(e){"function"!=typeof e&&(e=UBe(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a,s=t[i],l=s.length,c=r[i]=new Array(l),u=0;u<l;++u)(o=s[u])&&(a=e.call(o,o.__data__,u,s))&&("__data__"in o&&(a.__data__=o.__data__),c[u]=a);return new JWe(r,this._parents)},selectAll:function(e){e="function"==typeof e?function(e){return function(){return null==(t=e.apply(this,arguments))?[]:Array.isArray(t)?t:Array.from(t);var t}}(e):KBe(e);for(var t=this._groups,n=t.length,r=[],i=[],o=0;o<n;++o)for(var a,s=t[o],l=s.length,c=0;c<l;++c)(a=s[c])&&(r.push(e.call(a,a.__data__,c,s)),i.push(a));return new JWe(r,i)},selectChild:function(e){return this.select(null==e?YBe:function(e){return function(){return XBe.call(this.children,e)}}("function"==typeof e?e:GBe(e)))},selectChildren:function(e){return this.selectAll(null==e?JBe:function(e){return function(){return ZBe.call(this.children,e)}}("function"==typeof e?e:GBe(e)))},filter:function(e){"function"!=typeof e&&(e=QBe(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a=t[i],s=a.length,l=r[i]=[],c=0;c<s;++c)(o=a[c])&&e.call(o,o.__data__,c,a)&&l.push(o);return new JWe(r,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,iWe);var n,r=t?rWe:nWe,i=this._parents,o=this._groups;"function"!=typeof e&&(n=e,e=function(){return n});for(var a=o.length,s=new Array(a),l=new Array(a),c=new Array(a),u=0;u<a;++u){var f=i[u],h=o[u],d=h.length,p=oWe(e.call(f,f&&f.__data__,u,i)),g=p.length,m=l[u]=new Array(g),b=s[u]=new Array(g);r(f,h,m,b,c[u]=new Array(d),p,t);for(var w,v,y=0,x=0;y<g;++y)if(w=m[y]){for(y>=x&&(x=y+1);!(v=b[x])&&++x<g;);w._next=v||null}}return(s=new JWe(s,i))._enter=l,s._exit=c,s},enter:function(){return new JWe(this._enter||this._groups.map(eWe),this._parents)},exit:function(){return new JWe(this._exit||this._groups.map(eWe),this._parents)},join:function(e,t,n){var r=this.enter(),i=this,o=this.exit();return"function"==typeof e?(r=e(r))&&(r=r.selection()):r=r.append(e+""),null!=t&&(i=t(i))&&(i=i.selection()),null==n?o.remove():n(o),r&&i?r.merge(i).order():i},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,o=r.length,a=Math.min(i,o),s=new Array(i),l=0;l<a;++l)for(var c,u=n[l],f=r[l],h=u.length,d=s[l]=new Array(h),p=0;p<h;++p)(c=u[p]||f[p])&&(d[p]=c);for(;l<i;++l)s[l]=n[l];return new JWe(s,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r,i=e[t],o=i.length-1,a=i[o];--o>=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=aWe);for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a,s=n[o],l=s.length,c=i[o]=new Array(l),u=0;u<l;++u)(a=s[u])&&(c[u]=a);c.sort(t)}return new JWe(i,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null},size:function(){let e=0;for(const t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i,o=t[n],a=0,s=o.length;a<s;++a)(i=o[a])&&e.call(i,i.__data__,a,o);return this},attr:function(e,t){var n=cWe(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?fWe:uWe:"function"==typeof t?n.local?gWe:pWe:n.local?dWe:hWe)(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?bWe:"function"==typeof t?vWe:wWe)(e,t,null==n?"":n)):yWe(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?xWe:"function"==typeof t?kWe:AWe)(e,t)):this.node()[e]},classed:function(e,t){var n=SWe(e+"");if(arguments.length<2){for(var r=EWe(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof t?PWe:t?_We:MWe)(n,t))},text:function(e){return arguments.length?this.each(null==e?DWe:("function"==typeof e?IWe:RWe)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?NWe:("function"==typeof e?LWe:$We)(e)):this.node().innerHTML},raise:function(){return this.each(jWe)},lower:function(){return this.each(FWe)},append:function(e){var t="function"==typeof e?e:WWe(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var n="function"==typeof e?e:WWe(e),r=null==t?qWe:"function"==typeof t?t:UBe(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(HWe)},clone:function(e){return this.select(e?VWe:UWe)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var r,i,o=function(e){return e.trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}(e+""),a=o.length;if(!(arguments.length<2)){for(s=t?QWe:KWe,r=0;r<a;++r)this.each(s(o[r],t,n));return this}var s=this.node().__on;if(s)for(var l,c=0,u=s.length;c<u;++c)for(r=0,l=s[c];r<a;++r)if((i=o[r]).type===l.type&&i.name===l.name)return l.value},dispatch:function(e,t){return this.each(("function"==typeof t?YWe:XWe)(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r,i=e[t],o=0,a=i.length;o<a;++o)(r=i[o])&&(yield r)}};const tqe=eqe;function nqe(e){return"string"==typeof e?new JWe([[document.querySelector(e)]],[document.documentElement]):new JWe([[e]],ZWe)}const rqe={passive:!1},iqe={capture:!0,passive:!1};function oqe(e){e.stopImmediatePropagation()}function aqe(e){e.preventDefault(),e.stopImmediatePropagation()}function sqe(e){var t=e.document.documentElement,n=nqe(e).on("dragstart.drag",aqe,iqe);"onselectstart"in t?n.on("selectstart.drag",aqe,iqe):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function lqe(e,t){var n=e.document.documentElement,r=nqe(e).on("dragstart.drag",null);t&&(r.on("click.drag",aqe,iqe),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function cqe(e,t){if(e=function(e){let t;for(;t=e.sourceEvent;)e=t;return e}(e),void 0===t&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}function uqe(e,t,n){var r=new D7;return t=null==t?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var fqe=v7("start","end","cancel","interrupt"),hqe=[];function dqe(e,t,n,r,i,o){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};!function(e,t,n){var r,i=e.__transition;function o(l){var c,u,f,h;if(1!==n.state)return s();for(c in i)if((h=i[c]).name===n.name){if(3===h.state)return uqe(o);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete i[c]):+c<t&&(h.state=6,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete i[c])}if(uqe(function(){3===n.state&&(n.state=4,n.timer.restart(a,n.delay,n.time),a(l))}),n.state=2,n.on.call("start",e,e.__data__,n.index,n.group),2===n.state){for(n.state=3,r=new Array(f=n.tween.length),c=0,u=-1;c<f;++c)(h=n.tween[c].value.call(e,e.__data__,n.index,n.group))&&(r[++u]=h);r.length=u+1}}function a(t){for(var i=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(s),n.state=5,1),o=-1,a=r.length;++o<a;)r[o].call(e,i);5===n.state&&(n.on.call("end",e,e.__data__,n.index,n.group),s())}function s(){for(var r in n.state=6,n.timer.stop(),delete i[t],i)return;delete e.__transition}i[t]=n,n.timer=R7(function(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)},0,n.time)}(e,n,{name:t,index:r,group:i,on:fqe,tween:hqe,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function pqe(e,t){var n=mqe(e,t);if(n.state>0)throw new Error("too late; already scheduled");return n}function gqe(e,t){var n=mqe(e,t);if(n.state>3)throw new Error("too late; already running");return n}function mqe(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function bqe(e,t){var n,r,i,o=e.__transition,a=!0;if(o){for(i in t=null==t?null:t+"",o)(n=o[i]).name===t?(r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete o[i]):a=!1;a&&delete e.__transition}}function wqe(e,t){var n,r;return function(){var i=gqe(this,e),o=i.tween;if(o!==n)for(var a=0,s=(r=n=o).length;a<s;++a)if(r[a].name===t){(r=r.slice()).splice(a,1);break}i.tween=r}}function vqe(e,t,n){var r,i;if("function"!=typeof n)throw new Error;return function(){var o=gqe(this,e),a=o.tween;if(a!==r){i=(r=a).slice();for(var s={name:t,value:n},l=0,c=i.length;l<c;++l)if(i[l].name===t){i[l]=s;break}l===c&&i.push(s)}o.tween=i}}function yqe(e,t,n){var r=e._id;return e.each(function(){var e=gqe(this,r);(e.value||(e.value={}))[t]=n.apply(this,arguments)}),function(e){return mqe(e,r).value[t]}}function xqe(e,t){var n;return("number"==typeof t?fQ:t instanceof PK?nQ:(n=PK(t))?(t=n,nQ):gQ)(e,t)}function Aqe(e){return function(){this.removeAttribute(e)}}function kqe(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Sqe(e,t,n){var r,i,o=n+"";return function(){var a=this.getAttribute(e);return a===o?null:a===r?i:i=t(r=a,n)}}function Eqe(e,t,n){var r,i,o=n+"";return function(){var a=this.getAttributeNS(e.space,e.local);return a===o?null:a===r?i:i=t(r=a,n)}}function Cqe(e,t,n){var r,i,o;return function(){var a,s,l=n(this);if(null!=l)return(a=this.getAttribute(e))===(s=l+"")?null:a===r&&s===i?o:(i=s,o=t(r=a,l));this.removeAttribute(e)}}function Oqe(e,t,n){var r,i,o;return function(){var a,s,l=n(this);if(null!=l)return(a=this.getAttributeNS(e.space,e.local))===(s=l+"")?null:a===r&&s===i?o:(i=s,o=t(r=a,l));this.removeAttributeNS(e.space,e.local)}}function Tqe(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}(e,i)),n}return i._value=t,i}function _qe(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}(e,i)),n}return i._value=t,i}function Mqe(e,t){return function(){pqe(this,e).delay=+t.apply(this,arguments)}}function Pqe(e,t){return t=+t,function(){pqe(this,e).delay=t}}function Dqe(e,t){return function(){gqe(this,e).duration=+t.apply(this,arguments)}}function Rqe(e,t){return t=+t,function(){gqe(this,e).duration=t}}var Iqe=tqe.prototype.constructor;function Nqe(e){return function(){this.style.removeProperty(e)}}var $qe=0;function Lqe(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function jqe(){return++$qe}var Fqe=tqe.prototype;Lqe.prototype=function(e){return tqe().transition(e)}.prototype={constructor:Lqe,select:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=UBe(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var s,l,c=r[a],u=c.length,f=o[a]=new Array(u),h=0;h<u;++h)(s=c[h])&&(l=e.call(s,s.__data__,h,c))&&("__data__"in s&&(l.__data__=s.__data__),f[h]=l,dqe(f[h],t,n,h,f,mqe(s,n)));return new Lqe(o,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=KBe(e));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var l,c=r[s],u=c.length,f=0;f<u;++f)if(l=c[f]){for(var h,d=e.call(l,l.__data__,f,c),p=mqe(l,n),g=0,m=d.length;g<m;++g)(h=d[g])&&dqe(h,t,n,g,d,p);o.push(d),a.push(l)}return new Lqe(o,a,t,n)},selectChild:Fqe.selectChild,selectChildren:Fqe.selectChildren,filter:function(e){"function"!=typeof e&&(e=QBe(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a=t[i],s=a.length,l=r[i]=[],c=0;c<s;++c)(o=a[c])&&e.call(o,o.__data__,c,a)&&l.push(o);return new Lqe(r,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,i=n.length,o=Math.min(r,i),a=new Array(r),s=0;s<o;++s)for(var l,c=t[s],u=n[s],f=c.length,h=a[s]=new Array(f),d=0;d<f;++d)(l=c[d]||u[d])&&(h[d]=l);for(;s<r;++s)a[s]=t[s];return new Lqe(a,this._parents,this._name,this._id)},selection:function(){return new Iqe(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=jqe(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a,s=r[o],l=s.length,c=0;c<l;++c)if(a=s[c]){var u=mqe(a,t);dqe(a,e,n,c,s,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Lqe(r,this._parents,e,n)},call:Fqe.call,nodes:Fqe.nodes,node:Fqe.node,size:Fqe.size,empty:Fqe.empty,each:Fqe.each,on:function(e,t){var n=this._id;return arguments.length<2?mqe(this.node(),n).on.on(e):this.each(function(e,t,n){var r,i,o=function(e){return(e+"").trim().split(/^|\s+/).every(function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e})}(t)?pqe:gqe;return function(){var a=o(this,e),s=a.on;s!==r&&(i=(r=s).copy()).on(t,n),a.on=i}}(n,e,t))},attr:function(e,t){var n=cWe(e),r="transform"===n?SG:xqe;return this.attrTween(e,"function"==typeof t?(n.local?Oqe:Cqe)(n,r,yqe(this,"attr."+e,t)):null==t?(n.local?kqe:Aqe)(n):(n.local?Eqe:Sqe)(n,r,t))},attrTween:function(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw new Error;var r=cWe(e);return this.tween(n,(r.local?Tqe:_qe)(r,t))},style:function(e,t,n){var r="transform"==(e+="")?kG:xqe;return null==t?this.styleTween(e,function(e,t){var n,r,i;return function(){var o=yWe(this,e),a=(this.style.removeProperty(e),yWe(this,e));return o===a?null:o===n&&a===r?i:i=t(n=o,r=a)}}(e,r)).on("end.style."+e,Nqe(e)):"function"==typeof t?this.styleTween(e,function(e,t,n){var r,i,o;return function(){var a=yWe(this,e),s=n(this),l=s+"";return null==s&&(this.style.removeProperty(e),l=s=yWe(this,e)),a===l?null:a===r&&l===i?o:(i=l,o=t(r=a,s))}}(e,r,yqe(this,"style."+e,t))).each(function(e,t){var n,r,i,o,a="style."+t,s="end."+a;return function(){var l=gqe(this,e),c=l.on,u=null==l.value[a]?o||(o=Nqe(t)):void 0;c===n&&i===u||(r=(n=c).copy()).on(s,i=u),l.on=r}}(this._id,e)):this.styleTween(e,function(e,t,n){var r,i,o=n+"";return function(){var a=yWe(this,e);return a===o?null:a===r?i:i=t(r=a,n)}}(e,r,t),n).on("end.style."+e,null)},styleTween:function(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if("function"!=typeof t)throw new Error;return this.tween(r,function(e,t,n){var r,i;function o(){var o=t.apply(this,arguments);return o!==i&&(r=(i=o)&&function(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}(e,o,n)),r}return o._value=t,o}(e,t,null==n?"":n))},text:function(e){return this.tween("text","function"==typeof e?function(e){return function(){var t=e(this);this.textContent=null==t?"":t}}(yqe(this,"text",e)):function(e){return function(){this.textContent=e}}(null==e?"":e+""))},textTween:function(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw new Error;return this.tween(t,function(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&function(e){return function(t){this.textContent=e.call(this,t)}}(r)),t}return r._value=e,r}(e))},remove:function(){return this.on("end.remove",function(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}(this._id))},tween:function(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r,i=mqe(this.node(),n).tween,o=0,a=i.length;o<a;++o)if((r=i[o]).name===e)return r.value;return null}return this.each((null==t?wqe:vqe)(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?Mqe:Pqe)(t,e)):mqe(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?Dqe:Rqe)(t,e)):mqe(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(function(e,t){if("function"!=typeof t)throw new Error;return function(){gqe(this,e).ease=t}}(t,e)):mqe(this.node(),t).ease},easeVarying:function(e){if("function"!=typeof e)throw new Error;return this.each(function(e,t){return function(){var n=t.apply(this,arguments);if("function"!=typeof n)throw new Error;gqe(this,e).ease=n}}(this._id,e))},end:function(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(o,a){var s={value:a},l={value:function(){0===--i&&o()}};n.each(function(){var n=gqe(this,r),i=n.on;i!==e&&((t=(e=i).copy())._.cancel.push(s),t._.interrupt.push(s),t._.end.push(l)),n.on=t}),0===i&&o()})},[Symbol.iterator]:Fqe[Symbol.iterator]};var zqe={time:null,delay:0,duration:250,ease:function(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}};function Bqe(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}tqe.prototype.interrupt=function(e){return this.each(function(){bqe(this,e)})},tqe.prototype.transition=function(e){var t,n;e instanceof Lqe?(t=e._id,e=e._name):(t=jqe(),(n=zqe).time=M7(),e=null==e?null:e+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a,s=r[o],l=s.length,c=0;c<l;++c)(a=s[c])&&dqe(a,e,t,c,s,n||Bqe(a,t));return new Lqe(r,this._parents,e,t)};const Wqe=e=>()=>e;function qqe(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Hqe(e,t,n){this.k=e,this.x=t,this.y=n}Hqe.prototype={constructor:Hqe,scale:function(e){return 1===e?this:new Hqe(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new Hqe(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Uqe=new Hqe(1,0,0);function Vqe(e){e.stopImmediatePropagation()}function Kqe(e){e.preventDefault(),e.stopImmediatePropagation()}function Qqe(e){return!(e.ctrlKey&&"wheel"!==e.type||e.button)}function Gqe(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function Xqe(){return this.__zoom||Uqe}function Yqe(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Zqe(){return navigator.maxTouchPoints||"ontouchstart"in this}function Jqe(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}Hqe.prototype;const eHe=e=>()=>e;function tHe(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:a,y:s,dx:l,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}function nHe(e){return!e.ctrlKey&&!e.button}function rHe(){return this.parentNode}function iHe(e,t){return null==t?{x:e.x,y:e.y}:t}function oHe(){return navigator.maxTouchPoints||"ontouchstart"in this}tHe.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};const aHe=(0,V.createContext)(null),sHe=aHe.Provider,lHe="[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001";function cHe(e,t){const n=(0,V.useContext)(aHe);if(null===n)throw new Error(lHe);return BBe(n,e,t)}const uHe=()=>{const e=(0,V.useContext)(aHe);if(null===e)throw new Error(lHe);return(0,V.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},fHe=e=>e.userSelectionActive?"none":"all";function hHe({position:e,children:t,className:n,style:r,...i}){const o=cHe(fHe),a=`${e}`.split("-");return V.createElement("div",{className:NBe(["react-flow__panel",n,...a]),style:{...r,pointerEvents:o},...i},t)}function dHe({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:V.createElement(hHe,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},V.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}var pHe=(0,V.memo)(({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:a=[2,4],labelBgBorderRadius:s=2,children:l,className:c,...u})=>{const f=(0,V.useRef)(null),[h,d]=(0,V.useState)({x:0,y:0,width:0,height:0}),p=NBe(["react-flow__edge-textwrapper",c]);return(0,V.useEffect)(()=>{if(f.current){const e=f.current.getBBox();d({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),void 0!==n&&n?V.createElement("g",{transform:`translate(${e-h.width/2} ${t-h.height/2})`,className:p,visibility:h.width?"visible":"hidden",...u},i&&V.createElement("rect",{width:h.width+2*a[0],x:-a[0],y:-a[1],height:h.height+2*a[1],className:"react-flow__edge-textbg",style:o,rx:s,ry:s}),V.createElement("text",{className:"react-flow__edge-text",y:h.height/2,dy:"0.3em",ref:f,style:r},n),l):null});const gHe=e=>({width:e.offsetWidth,height:e.offsetHeight}),mHe=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),bHe=(e={x:0,y:0},t)=>({x:mHe(e.x,t[0][0],t[1][0]),y:mHe(e.y,t[0][1],t[1][1])}),wHe=(e,t,n)=>e<t?mHe(Math.abs(e-t),1,50)/50:e>n?-mHe(Math.abs(e-n),1,50)/50:0,vHe=(e,t)=>[20*wHe(e.x,35,t.width-35),20*wHe(e.y,35,t.height-35)],yHe=e=>e.getRootNode?.()||window?.document,xHe=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),AHe=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),kHe=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},SHe=e=>!isNaN(e)&&isFinite(e),EHe=Symbol.for("internals"),CHe=["Enter"," ","Escape"],OHe=(e,t)=>{};function THe(e){const t=(e=>"nativeEvent"in e)(e)?e.nativeEvent:e,n=t.composedPath?.()?.[0]||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n?.nodeName)||n?.hasAttribute("contenteditable")||!!n?.closest(".nokey")}const _He=e=>"clientX"in e,MHe=(e,t)=>{const n=_He(e),r=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:i-(t?.top??0)}},PHe=()=>"undefined"!=typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0,DHe=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:f,markerStart:h,interactionWidth:d=20})=>V.createElement(V.Fragment,null,V.createElement("path",{id:e,style:u,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:h}),d&&V.createElement("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:d,className:"react-flow__edge-interaction"}),i&&SHe(n)&&SHe(r)?V.createElement(pHe,{x:n,y:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c}):null);function RHe(e,t,n){return void 0===n?n:r=>{const i=t().edges.find(t=>t.id===e);i&&n(r,{...i})}}function IHe({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n<e?n+i:n-i,a=Math.abs(r-t)/2;return[o,r<t?r+a:r-a,i,a]}function NHe({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:o,targetControlX:a,targetControlY:s}){const l=.125*e+.375*i+.375*a+.125*n,c=.125*t+.375*o+.375*s+.125*r;return[l,c,Math.abs(l-e),Math.abs(c-t)]}var $He,LHe,jHe,FHe,zHe,BHe;function WHe({pos:e,x1:t,y1:n,x2:r,y2:i}){return e===BHe.Left||e===BHe.Right?[.5*(t+r),n]:[t,.5*(n+i)]}function qHe({sourceX:e,sourceY:t,sourcePosition:n=BHe.Bottom,targetX:r,targetY:i,targetPosition:o=BHe.Top}){const[a,s]=WHe({pos:n,x1:e,y1:t,x2:r,y2:i}),[l,c]=WHe({pos:o,x1:r,y1:i,x2:e,y2:t}),[u,f,h,d]=NHe({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:s,targetControlX:l,targetControlY:c});return[`M${e},${t} C${a},${s} ${l},${c} ${r},${i}`,u,f,h,d]}DHe.displayName="BaseEdge",function(e){e.Strict="strict",e.Loose="loose"}($He||($He={})),function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"}(LHe||(LHe={})),function(e){e.Partial="partial",e.Full="full"}(jHe||(jHe={})),function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"}(FHe||(FHe={})),function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"}(zHe||(zHe={})),function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"}(BHe||(BHe={}));const HHe=(0,V.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=BHe.Bottom,targetPosition:o=BHe.Top,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:d,markerStart:p,interactionWidth:g})=>{const[m,b,w]=qHe({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return V.createElement(DHe,{path:m,labelX:b,labelY:w,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:d,markerStart:p,interactionWidth:g})});HHe.displayName="SimpleBezierEdge";const UHe={[BHe.Left]:{x:-1,y:0},[BHe.Right]:{x:1,y:0},[BHe.Top]:{x:0,y:-1},[BHe.Bottom]:{x:0,y:1}},VHe=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function KHe({sourceX:e,sourceY:t,sourcePosition:n=BHe.Bottom,targetX:r,targetY:i,targetPosition:o=BHe.Top,borderRadius:a=5,centerX:s,centerY:l,offset:c=20}){const[u,f,h,d,p]=function({source:e,sourcePosition:t=BHe.Bottom,target:n,targetPosition:r=BHe.Top,center:i,offset:o}){const a=UHe[t],s=UHe[r],l={x:e.x+a.x*o,y:e.y+a.y*o},c={x:n.x+s.x*o,y:n.y+s.y*o},u=(({source:e,sourcePosition:t=BHe.Bottom,target:n})=>t===BHe.Left||t===BHe.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1})({source:l,sourcePosition:t,target:c}),f=0!==u.x?"x":"y",h=u[f];let d,p,g=[];const m={x:0,y:0},b={x:0,y:0},[w,v,y,x]=IHe({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(a[f]*s[f]===-1){d=i.x??w,p=i.y??v;const e=[{x:d,y:l.y},{x:d,y:c.y}],t=[{x:l.x,y:p},{x:c.x,y:p}];g=a[f]===h?"x"===f?e:t:"x"===f?t:e}else{const i=[{x:l.x,y:c.y}],u=[{x:c.x,y:l.y}];if(g="x"===f?a.x===h?u:i:a.y===h?i:u,t===r){const t=Math.abs(e[f]-n[f]);if(t<=o){const r=Math.min(o-1,o-t);a[f]===h?m[f]=(l[f]>e[f]?-1:1)*r:b[f]=(c[f]>n[f]?-1:1)*r}}if(t!==r){const e="x"===f?"y":"x",t=a[f]===s[e],n=l[e]>c[e],r=l[e]<c[e];(1===a[f]&&(!t&&n||t&&r)||1!==a[f]&&(!t&&r||t&&n))&&(g="x"===f?i:u)}const w={x:l.x+m.x,y:l.y+m.y},v={x:c.x+b.x,y:c.y+b.y};Math.max(Math.abs(w.x-g[0].x),Math.abs(v.x-g[0].x))>=Math.max(Math.abs(w.y-g[0].y),Math.abs(v.y-g[0].y))?(d=(w.x+v.x)/2,p=g[0].y):(d=g[0].x,p=(w.y+v.y)/2)}return[[e,{x:l.x+m.x,y:l.y+m.y},...g,{x:c.x+b.x,y:c.y+b.y},n],d,p,y,x]}({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:o,center:{x:s,y:l},offset:c}),g=u.reduce((e,t,n)=>{let r="";return r=n>0&&n<u.length-1?function(e,t,n,r){const i=Math.min(VHe(e,t)/2,VHe(t,n)/2,r),{x:o,y:a}=t;if(e.x===o&&o===n.x||e.y===a&&a===n.y)return`L${o} ${a}`;if(e.y===a)return`L ${o+i*(e.x<n.x?-1:1)},${a}Q ${o},${a} ${o},${a+i*(e.y<n.y?1:-1)}`;const s=e.x<n.x?1:-1;return`L ${o},${a+i*(e.y<n.y?-1:1)}Q ${o},${a} ${o+i*s},${a}`}(u[n-1],t,u[n+1],a):`${0===n?"M":"L"}${t.x} ${t.y}`,e+r},"");return[g,f,h,d,p]}const QHe=(0,V.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,sourcePosition:f=BHe.Bottom,targetPosition:h=BHe.Top,markerEnd:d,markerStart:p,pathOptions:g,interactionWidth:m})=>{const[b,w,v]=KHe({sourceX:e,sourceY:t,sourcePosition:f,targetX:n,targetY:r,targetPosition:h,borderRadius:g?.borderRadius,offset:g?.offset});return V.createElement(DHe,{path:b,labelX:w,labelY:v,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:d,markerStart:p,interactionWidth:m})});QHe.displayName="SmoothStepEdge";const GHe=(0,V.memo)(e=>V.createElement(QHe,{...e,pathOptions:(0,V.useMemo)(()=>({borderRadius:0,offset:e.pathOptions?.offset}),[e.pathOptions?.offset])}));GHe.displayName="StepEdge";const XHe=(0,V.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:f,markerStart:h,interactionWidth:d})=>{const[p,g,m]=function({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,a,s]=IHe({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,a,s]}({sourceX:e,sourceY:t,targetX:n,targetY:r});return V.createElement(DHe,{path:p,labelX:g,labelY:m,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:f,markerStart:h,interactionWidth:d})});function YHe(e,t){return e>=0?.5*e:25*t*Math.sqrt(-e)}function ZHe({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case BHe.Left:return[t-YHe(t-r,o),n];case BHe.Right:return[t+YHe(r-t,o),n];case BHe.Top:return[t,n-YHe(n-i,o)];case BHe.Bottom:return[t,n+YHe(i-n,o)]}}function JHe({sourceX:e,sourceY:t,sourcePosition:n=BHe.Bottom,targetX:r,targetY:i,targetPosition:o=BHe.Top,curvature:a=.25}){const[s,l]=ZHe({pos:n,x1:e,y1:t,x2:r,y2:i,c:a}),[c,u]=ZHe({pos:o,x1:r,y1:i,x2:e,y2:t,c:a}),[f,h,d,p]=NHe({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:l,targetControlX:c,targetControlY:u});return[`M${e},${t} C${s},${l} ${c},${u} ${r},${i}`,f,h,d,p]}XHe.displayName="StraightEdge";const eUe=(0,V.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=BHe.Bottom,targetPosition:o=BHe.Top,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:d,markerStart:p,pathOptions:g,interactionWidth:m})=>{const[b,w,v]=JHe({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:g?.curvature});return V.createElement(DHe,{path:b,labelX:w,labelY:v,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:d,markerStart:p,interactionWidth:m})});eUe.displayName="BezierEdge";const tUe=(0,V.createContext)(null),nUe=tUe.Provider;tUe.Consumer;const rUe=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,iUe=(e,t)=>void 0===e?"":"string"==typeof e?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join("&")}`,oUe=({x:e,y:t},[n,r,i],o,[a,s])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:a*Math.round(l.x/a),y:s*Math.round(l.y/s)}:l},aUe=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),sUe=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},lUe=(e,t=[0,0])=>{if(0===e.length)return{x:0,y:0,width:0,height:0};const n=e.reduce((e,n)=>{const{x:r,y:i}=sUe(n,t).positionAbsolute;return o=e,a=xHe({x:r,y:i,width:n.width||0,height:n.height||0}),{x:Math.min(o.x,a.x),y:Math.min(o.y,a.y),x2:Math.max(o.x2,a.x2),y2:Math.max(o.y2,a.y2)};var o,a},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return(({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}))(n)},cUe=(e,t,[n,r,i]=[0,0,1],o=!1,a=!1,s=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},c=[];return e.forEach(e=>{const{width:t,height:n,selectable:r=!0,hidden:i=!1}=e;if(a&&!r||i)return!1;const{positionAbsolute:u}=sUe(e,s),f={x:u.x,y:u.y,width:t||0,height:n||0},h=kHe(l,f);(void 0===t||void 0===n||null===t||null===n||o&&h>0||h>=(t||0)*(n||0)||e.dragging)&&c.push(e)}),c},uUe=(e,t)=>{const n=e.map(e=>e.id);return t.filter(e=>n.includes(e.source)||n.includes(e.target))},fUe=(e,t,n,r,i,o=.1)=>{const a=t/(e.width*(1+o)),s=n/(e.height*(1+o)),l=Math.min(a,s),c=mHe(l,r,i);return{x:t/2-(e.x+e.width/2)*c,y:n/2-(e.y+e.height/2)*c,zoom:c}},hUe=(e,t=0)=>e.transition().duration(t);function dUe(e,t,n,r){return(t[n]||[]).reduce((t,i)=>(`${e.id}-${i.id}-${n}`!==r&&t.push({id:i.id||null,type:n,nodeId:e.id,x:(e.positionAbsolute?.x??0)+i.x+i.width/2,y:(e.positionAbsolute?.y??0)+i.y+i.height/2}),t),[])}const pUe={source:null,target:null,sourceHandle:null,targetHandle:null},gUe=()=>({handleDomNode:null,isValid:!1,connection:pUe,endHandle:null});function mUe(e,t,n,r,i,o,a){const s="target"===i,l=a.querySelector(`.react-flow__handle[data-id="${e?.nodeId}-${e?.id}-${e?.type}"]`),c={...gUe(),handleDomNode:l};if(l){const e=bUe(void 0,l),i=l.getAttribute("data-nodeid"),a=l.getAttribute("data-handleid"),u=l.classList.contains("connectable"),f=l.classList.contains("connectableend"),h={source:s?i:n,sourceHandle:s?a:r,target:s?n:i,targetHandle:s?r:a};c.connection=h,u&&f&&(t===$He.Strict?s&&"source"===e||!s&&"target"===e:i!==n||a!==r)&&(c.endHandle={nodeId:i,handleId:a,type:e},c.isValid=o(h))}return c}function bUe(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function wUe(e){e?.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function vUe(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function yUe({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:a,isValidConnection:s,edgeUpdaterType:l,onReconnectEnd:c}){const u=yHe(e.target),{connectionMode:f,domNode:h,autoPanOnConnect:d,connectionRadius:p,onConnectStart:g,panBy:m,getNodes:b,cancelConnection:w}=o();let v,y=0;const{x,y:A}=MHe(e),k=u?.elementFromPoint(x,A),S=bUe(l,k),E=h?.getBoundingClientRect();if(!E||!S)return;let C,O=MHe(e,E),T=!1,_=null,M=!1,P=null;const D=function({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((e,i)=>{if(i[EHe]){const{handleBounds:o}=i[EHe];let a=[],s=[];o&&(a=dUe(i,o,"source",`${t}-${n}-${r}`),s=dUe(i,o,"target",`${t}-${n}-${r}`)),e.push(...a,...s)}return e},[])}({nodes:b(),nodeId:n,handleId:t,handleType:S}),R=()=>{if(!d)return;const[e,t]=vHe(O,E);m({x:e,y:t}),y=requestAnimationFrame(R)};function I(e){const{transform:r}=o();O=MHe(e,E);const{handle:l,validHandleResult:c}=function(e,t,n,r,i,o){const{x:a,y:s}=MHe(e),l=t.elementsFromPoint(a,s).find(e=>e.classList.contains("react-flow__handle"));if(l){const e=l.getAttribute("data-nodeid");if(e){const t=bUe(void 0,l),r=l.getAttribute("data-handleid"),a=o({nodeId:e,id:r,type:t});if(a){const o=i.find(n=>n.nodeId===e&&n.type===t&&n.id===r);return{handle:{id:r,type:t,nodeId:e,x:o?.x||n.x,y:o?.y||n.y},validHandleResult:a}}}}let c=[],u=1/0;if(i.forEach(e=>{const t=Math.sqrt((e.x-n.x)**2+(e.y-n.y)**2);if(t<=r){const n=o(e);t<=u&&(t<u?c=[{handle:e,validHandleResult:n}]:t===u&&c.push({handle:e,validHandleResult:n}),u=t)}}),!c.length)return{handle:null,validHandleResult:gUe()};if(1===c.length)return c[0];const f=c.some(({validHandleResult:e})=>e.isValid),h=c.some(({handle:e})=>"target"===e.type);return c.find(({handle:e,validHandleResult:t})=>h?"target"===e.type:!f||t.isValid)||c[0]}(e,u,oUe(O,r,!1,[1,1]),p,D,e=>mUe(e,f,n,t,i?"target":"source",s,u));if(v=l,T||(R(),T=!0),P=c.handleDomNode,_=c.connection,M=c.isValid,a({connectionPosition:v&&M?aUe({x:v.x,y:v.y},r):O,connectionStatus:vUe(!!v,M),connectionEndHandle:c.endHandle}),!v&&!M&&!P)return wUe(C);_.source!==_.target&&P&&(wUe(C),C=P,P.classList.add("connecting","react-flow__handle-connecting"),P.classList.toggle("valid",M),P.classList.toggle("react-flow__handle-valid",M))}function N(e){(v||P)&&_&&M&&r?.(_),o().onConnectEnd?.(e),l&&c?.(e),wUe(C),w(),cancelAnimationFrame(y),T=!1,M=!1,_=null,P=null,u.removeEventListener("mousemove",I),u.removeEventListener("mouseup",N),u.removeEventListener("touchmove",I),u.removeEventListener("touchend",N)}a({connectionPosition:O,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:S,connectionStartHandle:{nodeId:n,handleId:t,type:S},connectionEndHandle:null}),g?.(e,{nodeId:n,handleId:t,handleType:S}),u.addEventListener("mousemove",I),u.addEventListener("mouseup",N),u.addEventListener("touchmove",I),u.addEventListener("touchend",N)}const xUe=()=>!0,AUe=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),kUe=(0,V.forwardRef)(({type:e="source",position:t=BHe.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:a,onConnect:s,children:l,className:c,onMouseDown:u,onTouchStart:f,...h},d)=>{const p=a||null,g="target"===e,m=uHe(),b=(0,V.useContext)(tUe),{connectOnClick:w,noPanClassName:v}=cHe(AUe,qBe),{connecting:y,clickConnecting:x}=cHe(((e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:a}=r;return{connecting:i?.nodeId===e&&i?.handleId===t&&i?.type===n||o?.nodeId===e&&o?.handleId===t&&o?.type===n,clickConnecting:a?.nodeId===e&&a?.handleId===t&&a?.type===n}})(b,p,e),qBe);b||m.getState().onError?.("010","Handle: No node id found. Make sure to only use a Handle inside a custom Node.");const A=e=>{const{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:r}=m.getState(),i={...t,...e};if(r){const{edges:e,setEdges:t}=m.getState();t(((e,t)=>{if(!e.source||!e.target)return t;let n;var r;return n="id"in(r=e)&&"source"in r&&"target"in r?{...e}:{...e,id:rUe(e)},((e,t)=>t.some(t=>!(t.source!==e.source||t.target!==e.target||t.sourceHandle!==e.sourceHandle&&(t.sourceHandle||e.sourceHandle)||t.targetHandle!==e.targetHandle&&(t.targetHandle||e.targetHandle))))(n,t)?t:t.concat(n)})(i,e))}n?.(i),s?.(i)},k=e=>{if(!b)return;const t=_He(e);i&&(t&&0===e.button||!t)&&yUe({event:e,handleId:p,nodeId:b,onConnect:A,isTarget:g,getState:m.getState,setState:m.setState,isValidConnection:n||m.getState().isValidConnection||xUe}),t?u?.(e):f?.(e)};return V.createElement("div",{"data-handleid":p,"data-nodeid":b,"data-handlepos":t,"data-id":`${b}-${p}-${e}`,className:NBe(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",v,c,{source:!g,target:g,connectable:r,connectablestart:i,connectableend:o,connecting:x,connectionindicator:r&&(i&&!y||o&&y)}]),onMouseDown:k,onTouchStart:k,onClick:w?t=>{const{onClickConnectStart:r,onClickConnectEnd:o,connectionClickStartHandle:a,connectionMode:s,isValidConnection:l}=m.getState();if(!b||!a&&!i)return;if(!a)return r?.(t,{nodeId:b,handleId:p,handleType:e}),void m.setState({connectionClickStartHandle:{nodeId:b,type:e,handleId:p}});const c=yHe(t.target),u=n||l||xUe,{connection:f,isValid:h}=mUe({nodeId:b,id:p,type:e},s,a.nodeId,a.handleId||null,a.type,u,c);h&&A(f),o?.(t),m.setState({connectionClickStartHandle:null})}:void 0,ref:d,...h},l)});kUe.displayName="Handle";var SUe=(0,V.memo)(kUe);const EUe=({data:e,isConnectable:t,targetPosition:n=BHe.Top,sourcePosition:r=BHe.Bottom})=>V.createElement(V.Fragment,null,V.createElement(SUe,{type:"target",position:n,isConnectable:t}),e?.label,V.createElement(SUe,{type:"source",position:r,isConnectable:t}));EUe.displayName="DefaultNode";var CUe=(0,V.memo)(EUe);const OUe=({data:e,isConnectable:t,sourcePosition:n=BHe.Bottom})=>V.createElement(V.Fragment,null,e?.label,V.createElement(SUe,{type:"source",position:n,isConnectable:t}));OUe.displayName="InputNode";var TUe=(0,V.memo)(OUe);const _Ue=({data:e,isConnectable:t,targetPosition:n=BHe.Top})=>V.createElement(V.Fragment,null,V.createElement(SUe,{type:"target",position:n,isConnectable:t}),e?.label);_Ue.displayName="OutputNode";var MUe=(0,V.memo)(_Ue);const PUe=()=>null;PUe.displayName="GroupNode";const DUe=e=>({selectedNodes:e.getNodes().filter(e=>e.selected),selectedEdges:e.edges.filter(e=>e.selected).map(e=>({...e}))}),RUe=e=>e.id;function IUe(e,t){return qBe(e.selectedNodes.map(RUe),t.selectedNodes.map(RUe))&&qBe(e.selectedEdges.map(RUe),t.selectedEdges.map(RUe))}const NUe=(0,V.memo)(({onSelectionChange:e})=>{const t=uHe(),{selectedNodes:n,selectedEdges:r}=cHe(DUe,IUe);return(0,V.useEffect)(()=>{const i={nodes:n,edges:r};e?.(i),t.getState().onSelectionChange.forEach(e=>e(i))},[n,r,e]),null});NUe.displayName="SelectionListener";const $Ue=e=>!!e.onSelectionChange;function LUe({onSelectionChange:e}){const t=cHe($Ue);return e||t?V.createElement(NUe,{onSelectionChange:e}):null}const jUe=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function FUe(e,t){(0,V.useEffect)(()=>{void 0!==e&&t(e)},[e])}function zUe(e,t,n){(0,V.useEffect)(()=>{void 0!==t&&n({[e]:t})},[t])}const BUe=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:a,onClickConnectStart:s,onClickConnectEnd:l,nodesDraggable:c,nodesConnectable:u,nodesFocusable:f,edgesFocusable:h,edgesUpdatable:d,elevateNodesOnSelect:p,minZoom:g,maxZoom:m,nodeExtent:b,onNodesChange:w,onEdgesChange:v,elementsSelectable:y,connectionMode:x,snapGrid:A,snapToGrid:k,translateExtent:S,connectOnClick:E,defaultEdgeOptions:C,fitView:O,fitViewOptions:T,onNodesDelete:_,onEdgesDelete:M,onNodeDrag:P,onNodeDragStart:D,onNodeDragStop:R,onSelectionDrag:I,onSelectionDragStart:N,onSelectionDragStop:$,noPanClassName:L,nodeOrigin:j,rfId:F,autoPanOnConnect:z,autoPanOnNodeDrag:B,onError:W,connectionRadius:q,isValidConnection:H,nodeDragThreshold:U})=>{const{setNodes:K,setEdges:Q,setDefaultNodesAndEdges:G,setMinZoom:X,setMaxZoom:Y,setTranslateExtent:Z,setNodeExtent:J,reset:ee}=cHe(jUe,qBe),te=uHe();return(0,V.useEffect)(()=>{const e=r?.map(e=>({...e,...C}));return G(n,e),()=>{ee()}},[]),zUe("defaultEdgeOptions",C,te.setState),zUe("connectionMode",x,te.setState),zUe("onConnect",i,te.setState),zUe("onConnectStart",o,te.setState),zUe("onConnectEnd",a,te.setState),zUe("onClickConnectStart",s,te.setState),zUe("onClickConnectEnd",l,te.setState),zUe("nodesDraggable",c,te.setState),zUe("nodesConnectable",u,te.setState),zUe("nodesFocusable",f,te.setState),zUe("edgesFocusable",h,te.setState),zUe("edgesUpdatable",d,te.setState),zUe("elementsSelectable",y,te.setState),zUe("elevateNodesOnSelect",p,te.setState),zUe("snapToGrid",k,te.setState),zUe("snapGrid",A,te.setState),zUe("onNodesChange",w,te.setState),zUe("onEdgesChange",v,te.setState),zUe("connectOnClick",E,te.setState),zUe("fitViewOnInit",O,te.setState),zUe("fitViewOnInitOptions",T,te.setState),zUe("onNodesDelete",_,te.setState),zUe("onEdgesDelete",M,te.setState),zUe("onNodeDrag",P,te.setState),zUe("onNodeDragStart",D,te.setState),zUe("onNodeDragStop",R,te.setState),zUe("onSelectionDrag",I,te.setState),zUe("onSelectionDragStart",N,te.setState),zUe("onSelectionDragStop",$,te.setState),zUe("noPanClassName",L,te.setState),zUe("nodeOrigin",j,te.setState),zUe("rfId",F,te.setState),zUe("autoPanOnConnect",z,te.setState),zUe("autoPanOnNodeDrag",B,te.setState),zUe("onError",W,te.setState),zUe("connectionRadius",q,te.setState),zUe("isValidConnection",H,te.setState),zUe("nodeDragThreshold",U,te.setState),FUe(e,K),FUe(t,Q),FUe(g,X),FUe(m,Y),FUe(S,Z),FUe(b,J),null},WUe={display:"none"},qUe={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},HUe="react-flow__node-desc",UUe="react-flow__edge-desc",VUe=e=>e.ariaLiveMessage;function KUe({rfId:e}){const t=cHe(VUe);return V.createElement("div",{id:`react-flow__aria-live-${e}`,"aria-live":"assertive","aria-atomic":"true",style:qUe},t)}function QUe({rfId:e,disableKeyboardA11y:t}){return V.createElement(V.Fragment,null,V.createElement("div",{id:`${HUe}-${e}`,style:WUe},"Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),V.createElement("div",{id:`${UUe}-${e}`,style:WUe},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!t&&V.createElement(KUe,{rfId:e}))}var GUe=(e=null,t={actInsideInputWithModifier:!0})=>{const[n,r]=(0,V.useState)(!1),i=(0,V.useRef)(!1),o=(0,V.useRef)(new Set([])),[a,s]=(0,V.useMemo)(()=>{if(null!==e){const t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.split("+")),n=t.reduce((e,t)=>e.concat(...t),[]);return[t,n]}return[[],[]]},[e]);return(0,V.useEffect)(()=>{const n="undefined"!=typeof document?document:null,l=t?.target||n;if(null!==e){const e=e=>{if(i.current=e.ctrlKey||e.metaKey||e.shiftKey,(!i.current||i.current&&!t.actInsideInputWithModifier)&&THe(e))return!1;const n=YUe(e.code,s);o.current.add(e[n]),XUe(a,o.current,!1)&&(e.preventDefault(),r(!0))},n=e=>{if((!i.current||i.current&&!t.actInsideInputWithModifier)&&THe(e))return!1;const n=YUe(e.code,s);XUe(a,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(e[n]),"Meta"===e.key&&o.current.clear(),i.current=!1},c=()=>{o.current.clear(),r(!1)};return l?.addEventListener("keydown",e),l?.addEventListener("keyup",n),window.addEventListener("blur",c),()=>{l?.removeEventListener("keydown",e),l?.removeEventListener("keyup",n),window.removeEventListener("blur",c)}}},[e,r]),n};function XUe(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function YUe(e,t){return t.includes(e)?"code":"key"}function ZUe(e,t,n,r){const i=e.parentNode||e.parentId;if(!i)return n;const o=t.get(i),a=sUe(o,r);return ZUe(o,t,{x:(n.x??0)+a.x,y:(n.y??0)+a.y,z:(o[EHe]?.z??0)>(n.z??0)?o[EHe]?.z??0:n.z??0},r)}function JUe(e,t,n){e.forEach(r=>{const i=r.parentNode||r.parentId;if(i&&!e.has(i))throw new Error(`Parent node ${i} not found`);if(i||n?.[r.id]){const{x:i,y:o,z:a}=ZUe(r,e,{...r.position,z:r[EHe]?.z??0},t);r.positionAbsolute={x:i,y:o},r[EHe].z=a,n?.[r.id]&&(r[EHe].isParent=!0)}})}function eVe(e,t,n,r){const i=new Map,o={},a=r?1e3:0;return e.forEach(e=>{const n=(SHe(e.zIndex)?e.zIndex:0)+(e.selected?a:0),r=t.get(e.id),s={...e,positionAbsolute:{x:e.position.x,y:e.position.y}},l=e.parentNode||e.parentId;l&&(o[l]=!0);const c=r?.type&&r?.type!==e.type;Object.defineProperty(s,EHe,{enumerable:!1,value:{handleBounds:c?void 0:r?.[EHe]?.handleBounds,z:n}}),i.set(e.id,s)}),JUe(i,n,o),i}function tVe(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:a,d3Zoom:s,d3Selection:l,fitViewOnInitDone:c,fitViewOnInit:u,nodeOrigin:f}=e(),h=t.initial&&!c&&u;if(s&&l&&(h||!t.initial)){const e=n().filter(e=>{const n=t.includeHiddenNodes?e.width&&e.height:!e.hidden;return t.nodes?.length?n&&t.nodes.some(t=>t.id===e.id):n}),c=e.every(e=>e.width&&e.height);if(e.length>0&&c){const n=lUe(e,f),{x:c,y:u,zoom:h}=fUe(n,r,i,t.minZoom??o,t.maxZoom??a,t.padding??.1),d=Uqe.translate(c,u).scale(h);return"number"==typeof t.duration&&t.duration>0?s.transform(hUe(l,t.duration),d):s.transform(l,d),!0}}return!1}function nVe(e,t){return e.forEach(e=>{const n=t.get(e.id);n&&t.set(n.id,{...n,[EHe]:n[EHe],selected:e.selected})}),new Map(t)}function rVe(e,t){return t.map(t=>{const n=e.find(e=>e.id===t.id);return n&&(t.selected=n.selected),t})}function iVe({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:a,onEdgesChange:s,hasDefaultNodes:l,hasDefaultEdges:c}=n();e?.length&&(l&&r({nodeInternals:nVe(e,i)}),a?.(e)),t?.length&&(c&&r({edges:rVe(t,o)}),s?.(t))}const oVe=()=>{},aVe={zoomIn:oVe,zoomOut:oVe,zoomTo:oVe,getZoom:()=>1,setViewport:oVe,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:oVe,fitBounds:oVe,project:e=>e,screenToFlowPosition:e=>e,flowToScreenPosition:e=>e,viewportInitialized:!1},sVe=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection});function lVe(){const e=(()=>{const e=uHe(),{d3Zoom:t,d3Selection:n}=cHe(sVe,qBe),r=(0,V.useMemo)(()=>n&&t?{zoomIn:e=>t.scaleBy(hUe(n,e?.duration),1.2),zoomOut:e=>t.scaleBy(hUe(n,e?.duration),1/1.2),zoomTo:(e,r)=>t.scaleTo(hUe(n,r?.duration),e),getZoom:()=>e.getState().transform[2],setViewport:(r,i)=>{const[o,a,s]=e.getState().transform,l=Uqe.translate(r.x??o,r.y??a).scale(r.zoom??s);t.transform(hUe(n,i?.duration),l)},getViewport:()=>{const[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},fitView:t=>tVe(e.getState,t),setCenter:(r,i,o)=>{const{width:a,height:s,maxZoom:l}=e.getState(),c=void 0!==o?.zoom?o.zoom:l,u=a/2-r*c,f=s/2-i*c,h=Uqe.translate(u,f).scale(c);t.transform(hUe(n,o?.duration),h)},fitBounds:(r,i)=>{const{width:o,height:a,minZoom:s,maxZoom:l}=e.getState(),{x:c,y:u,zoom:f}=fUe(r,o,a,s,l,i?.padding??.1),h=Uqe.translate(c,u).scale(f);t.transform(hUe(n,i?.duration),h)},project:t=>{const{transform:n,snapToGrid:r,snapGrid:i}=e.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),oUe(t,n,r,i)},screenToFlowPosition:t=>{const{transform:n,snapToGrid:r,snapGrid:i,domNode:o}=e.getState();if(!o)return t;const{x:a,y:s}=o.getBoundingClientRect(),l={x:t.x-a,y:t.y-s};return oUe(l,n,r,i)},flowToScreenPosition:t=>{const{transform:n,domNode:r}=e.getState();if(!r)return t;const{x:i,y:o}=r.getBoundingClientRect(),a=aUe(t,n);return{x:a.x+i,y:a.y+o}},viewportInitialized:!0}:aVe,[t,n]);return r})(),t=uHe(),n=(0,V.useCallback)(()=>t.getState().getNodes().map(e=>({...e})),[]),r=(0,V.useCallback)(e=>t.getState().nodeInternals.get(e),[]),i=(0,V.useCallback)(()=>{const{edges:e=[]}=t.getState();return e.map(e=>({...e}))},[]),o=(0,V.useCallback)(e=>{const{edges:n=[]}=t.getState();return n.find(t=>t.id===e)},[]),a=(0,V.useCallback)(e=>{const{getNodes:n,setNodes:r,hasDefaultNodes:i,onNodesChange:o}=t.getState(),a=n(),s="function"==typeof e?e(a):e;if(i)r(s);else if(o){const e=0===s.length?a.map(e=>({type:"remove",id:e.id})):s.map(e=>({item:e,type:"reset"}));o(e)}},[]),s=(0,V.useCallback)(e=>{const{edges:n=[],setEdges:r,hasDefaultEdges:i,onEdgesChange:o}=t.getState(),a="function"==typeof e?e(n):e;i?r(a):o&&o(0===a.length?n.map(e=>({type:"remove",id:e.id})):a.map(e=>({item:e,type:"reset"})))},[]),l=(0,V.useCallback)(e=>{const n=Array.isArray(e)?e:[e],{getNodes:r,setNodes:i,hasDefaultNodes:o,onNodesChange:a}=t.getState();if(o)i([...r(),...n]);else if(a){const e=n.map(e=>({item:e,type:"add"}));a(e)}},[]),c=(0,V.useCallback)(e=>{const n=Array.isArray(e)?e:[e],{edges:r=[],setEdges:i,hasDefaultEdges:o,onEdgesChange:a}=t.getState();o?i([...r,...n]):a&&a(n.map(e=>({item:e,type:"add"})))},[]),u=(0,V.useCallback)(()=>{const{getNodes:e,edges:n=[],transform:r}=t.getState(),[i,o,a]=r;return{nodes:e().map(e=>({...e})),edges:n.map(e=>({...e})),viewport:{x:i,y:o,zoom:a}}},[]),f=(0,V.useCallback)(({nodes:e,edges:n})=>{const{nodeInternals:r,getNodes:i,edges:o,hasDefaultNodes:a,hasDefaultEdges:s,onNodesDelete:l,onEdgesDelete:c,onNodesChange:u,onEdgesChange:f}=t.getState(),h=(e||[]).map(e=>e.id),d=(n||[]).map(e=>e.id),p=i().reduce((e,t)=>{const n=t.parentNode||t.parentId,r=!h.includes(t.id)&&n&&e.find(e=>e.id===n);return("boolean"!=typeof t.deletable||t.deletable)&&(h.includes(t.id)||r)&&e.push(t),e},[]),g=o.filter(e=>"boolean"!=typeof e.deletable||e.deletable),m=g.filter(e=>d.includes(e.id));if(p||m){const e=uUe(p,g),n=[...m,...e],i=n.reduce((e,t)=>(e.includes(t.id)||e.push(t.id),e),[]);if((s||a)&&(s&&t.setState({edges:o.filter(e=>!i.includes(e.id))}),a&&(p.forEach(e=>{r.delete(e.id)}),t.setState({nodeInternals:new Map(r)}))),i.length>0&&(c?.(n),f&&f(i.map(e=>({id:e,type:"remove"})))),p.length>0&&(l?.(p),u)){const e=p.map(e=>({id:e.id,type:"remove"}));u(e)}}},[]),h=(0,V.useCallback)(e=>{const n=SHe((r=e).width)&&SHe(r.height)&&SHe(r.x)&&SHe(r.y);var r;const i=n?null:t.getState().nodeInternals.get(e.id);return n||i?[n?e:AHe(i),i,n]:[null,null,n]},[]),d=(0,V.useCallback)((e,n=!0,r)=>{const[i,o,a]=h(e);return i?(r||t.getState().getNodes()).filter(e=>{if(!(a||e.id!==o.id&&e.positionAbsolute))return!1;const t=AHe(e),r=kHe(t,i);return n&&r>0||r>=i.width*i.height}):[]},[]),p=(0,V.useCallback)((e,t,n=!0)=>{const[r]=h(e);if(!r)return!1;const i=kHe(r,t);return n&&i>0||i>=r.width*r.height},[]);return(0,V.useMemo)(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:a,setEdges:s,addNodes:l,addEdges:c,toObject:u,deleteElements:f,getIntersectingNodes:d,isNodeIntersecting:p}),[e,n,r,i,o,a,s,l,c,u,f,d,p])}const cVe={actInsideInputWithModifier:!1},uVe={position:"absolute",width:"100%",height:"100%",top:0,left:0},fVe=e=>({x:e.x,y:e.y,zoom:e.k}),hVe=(e,t)=>e.target.closest(`.${t}`),dVe=(e,t)=>2===t&&Array.isArray(e)&&e.includes(2),pVe=e=>{const t=e.ctrlKey&&PHe()?10:1;return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*t},gVe=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),mVe=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:a=!1,panOnScrollSpeed:s=.5,panOnScrollMode:l=LHe.Free,zoomOnDoubleClick:c=!0,elementsSelectable:u,panOnDrag:f=!0,defaultViewport:h,translateExtent:d,minZoom:p,maxZoom:g,zoomActivationKeyCode:m,preventScrolling:b=!0,children:w,noWheelClassName:v,noPanClassName:y})=>{const x=(0,V.useRef)(),A=uHe(),k=(0,V.useRef)(!1),S=(0,V.useRef)(!1),E=(0,V.useRef)(null),C=(0,V.useRef)({x:0,y:0,zoom:0}),{d3Zoom:O,d3Selection:T,d3ZoomHandler:_,userSelectionActive:M}=cHe(gVe,qBe),P=GUe(m),D=(0,V.useRef)(0),R=(0,V.useRef)(!1),I=(0,V.useRef)();return function(e){const t=uHe();(0,V.useEffect)(()=>{let n;const r=()=>{if(!e.current)return;const n=gHe(e.current);0!==n.height&&0!==n.width||t.getState().onError?.("004","The React Flow parent container needs a width and a height to render the graph."),t.setState({width:n.width||500,height:n.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}(E),(0,V.useEffect)(()=>{if(E.current){const e=E.current.getBoundingClientRect(),t=function(){var e,t,n,r=Qqe,i=Gqe,o=Jqe,a=Yqe,s=Zqe,l=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,f=CG,h=v7("start","zoom","end"),d=0,p=10;function g(e){e.property("__zoom",Xqe).on("wheel.zoom",A,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",S).filter(s).on("touchstart.zoom",E).on("touchmove.zoom",C).on("touchend.zoom touchcancel.zoom",O).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(e,t){return(t=Math.max(l[0],Math.min(l[1],t)))===e.k?e:new Hqe(t,e.x,e.y)}function b(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new Hqe(e.k,r,i)}function w(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function v(e,t,n,r){e.on("start.zoom",function(){y(this,arguments).event(r).start()}).on("interrupt.zoom end.zoom",function(){y(this,arguments).event(r).end()}).tween("zoom",function(){var e=this,o=arguments,a=y(e,o).event(r),s=i.apply(e,o),l=null==n?w(s):"function"==typeof n?n.apply(e,o):n,c=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),u=e.__zoom,h="function"==typeof t?t.apply(e,o):t,d=f(u.invert(l).concat(c/u.k),h.invert(l).concat(c/h.k));return function(e){if(1===e)e=h;else{var t=d(e),n=c/t[2];e=new Hqe(n,l[0]-t[0]*n,l[1]-t[1]*n)}a.zoom(null,e)}})}function y(e,t,n){return!n&&e.__zooming||new x(e,t)}function x(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=i.apply(e,t),this.taps=0}function A(e,...t){if(r.apply(this,arguments)){var n=y(this,t).event(e),i=this.__zoom,s=Math.max(l[0],Math.min(l[1],i.k*Math.pow(2,a.apply(this,arguments)))),u=cqe(e);if(n.wheel)n.mouse[0][0]===u[0]&&n.mouse[0][1]===u[1]||(n.mouse[1]=i.invert(n.mouse[0]=u)),clearTimeout(n.wheel);else{if(i.k===s)return;n.mouse=[u,i.invert(u)],bqe(this),n.start()}Kqe(e),n.wheel=setTimeout(function(){n.wheel=null,n.end()},150),n.zoom("mouse",o(b(m(i,s),n.mouse[0],n.mouse[1]),n.extent,c))}}function k(e,...t){if(!n&&r.apply(this,arguments)){var i=e.currentTarget,a=y(this,t,!0).event(e),s=nqe(e.view).on("mousemove.zoom",function(e){if(Kqe(e),!a.moved){var t=e.clientX-u,n=e.clientY-f;a.moved=t*t+n*n>d}a.event(e).zoom("mouse",o(b(a.that.__zoom,a.mouse[0]=cqe(e,i),a.mouse[1]),a.extent,c))},!0).on("mouseup.zoom",function(e){s.on("mousemove.zoom mouseup.zoom",null),lqe(e.view,a.moved),Kqe(e),a.event(e).end()},!0),l=cqe(e,i),u=e.clientX,f=e.clientY;sqe(e.view),Vqe(e),a.mouse=[l,this.__zoom.invert(l)],bqe(this),a.start()}}function S(e,...t){if(r.apply(this,arguments)){var n=this.__zoom,a=cqe(e.changedTouches?e.changedTouches[0]:e,this),s=n.invert(a),l=n.k*(e.shiftKey?.5:2),f=o(b(m(n,l),a,s),i.apply(this,t),c);Kqe(e),u>0?nqe(this).transition().duration(u).call(v,f,a,e):nqe(this).call(g.transform,f,a,e)}}function E(n,...i){if(r.apply(this,arguments)){var o,a,s,l,c=n.touches,u=c.length,f=y(this,i,n.changedTouches.length===u).event(n);for(Vqe(n),a=0;a<u;++a)l=[l=cqe(s=c[a],this),this.__zoom.invert(l),s.identifier],f.touch0?f.touch1||f.touch0[2]===l[2]||(f.touch1=l,f.taps=0):(f.touch0=l,o=!0,f.taps=1+!!e);e&&(e=clearTimeout(e)),o&&(f.taps<2&&(t=l[0],e=setTimeout(function(){e=null},500)),bqe(this),f.start())}}function C(e,...t){if(this.__zooming){var n,r,i,a,s=y(this,t).event(e),l=e.changedTouches,u=l.length;for(Kqe(e),n=0;n<u;++n)i=cqe(r=l[n],this),s.touch0&&s.touch0[2]===r.identifier?s.touch0[0]=i:s.touch1&&s.touch1[2]===r.identifier&&(s.touch1[0]=i);if(r=s.that.__zoom,s.touch1){var f=s.touch0[0],h=s.touch0[1],d=s.touch1[0],p=s.touch1[1],g=(g=d[0]-f[0])*g+(g=d[1]-f[1])*g,w=(w=p[0]-h[0])*w+(w=p[1]-h[1])*w;r=m(r,Math.sqrt(g/w)),i=[(f[0]+d[0])/2,(f[1]+d[1])/2],a=[(h[0]+p[0])/2,(h[1]+p[1])/2]}else{if(!s.touch0)return;i=s.touch0[0],a=s.touch0[1]}s.zoom("touch",o(b(r,i,a),s.extent,c))}}function O(e,...r){if(this.__zooming){var i,o,a=y(this,r).event(e),s=e.changedTouches,l=s.length;for(Vqe(e),n&&clearTimeout(n),n=setTimeout(function(){n=null},500),i=0;i<l;++i)o=s[i],a.touch0&&a.touch0[2]===o.identifier?delete a.touch0:a.touch1&&a.touch1[2]===o.identifier&&delete a.touch1;if(a.touch1&&!a.touch0&&(a.touch0=a.touch1,delete a.touch1),a.touch0)a.touch0[1]=this.__zoom.invert(a.touch0[0]);else if(a.end(),2===a.taps&&(o=cqe(o,this),Math.hypot(t[0]-o[0],t[1]-o[1])<p)){var c=nqe(this).on("dblclick.zoom");c&&c.apply(this,arguments)}}}return g.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property("__zoom",Xqe),e!==i?v(e,t,n,r):i.interrupt().each(function(){y(this,arguments).event(r).start().zoom(null,"function"==typeof t?t.apply(this,arguments):t).end()})},g.scaleBy=function(e,t,n,r){g.scaleTo(e,function(){return this.__zoom.k*("function"==typeof t?t.apply(this,arguments):t)},n,r)},g.scaleTo=function(e,t,n,r){g.transform(e,function(){var e=i.apply(this,arguments),r=this.__zoom,a=null==n?w(e):"function"==typeof n?n.apply(this,arguments):n,s=r.invert(a),l="function"==typeof t?t.apply(this,arguments):t;return o(b(m(r,l),a,s),e,c)},n,r)},g.translateBy=function(e,t,n,r){g.transform(e,function(){return o(this.__zoom.translate("function"==typeof t?t.apply(this,arguments):t,"function"==typeof n?n.apply(this,arguments):n),i.apply(this,arguments),c)},null,r)},g.translateTo=function(e,t,n,r,a){g.transform(e,function(){var e=i.apply(this,arguments),a=this.__zoom,s=null==r?w(e):"function"==typeof r?r.apply(this,arguments):r;return o(Uqe.translate(s[0],s[1]).scale(a.k).translate("function"==typeof t?-t.apply(this,arguments):-t,"function"==typeof n?-n.apply(this,arguments):-n),e,c)},r,a)},x.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return 1===++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(e,t){return this.mouse&&"mouse"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&"touch"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&"touch"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit("zoom"),this},end:function(){return 0===--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(e){var t=nqe(this.that).datum();h.call(e,this.that,new qqe(e,{sourceEvent:this.sourceEvent,target:g,type:e,transform:this.that.__zoom,dispatch:h}),t)}},g.wheelDelta=function(e){return arguments.length?(a="function"==typeof e?e:Wqe(+e),g):a},g.filter=function(e){return arguments.length?(r="function"==typeof e?e:Wqe(!!e),g):r},g.touchable=function(e){return arguments.length?(s="function"==typeof e?e:Wqe(!!e),g):s},g.extent=function(e){return arguments.length?(i="function"==typeof e?e:Wqe([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),g):i},g.scaleExtent=function(e){return arguments.length?(l[0]=+e[0],l[1]=+e[1],g):[l[0],l[1]]},g.translateExtent=function(e){return arguments.length?(c[0][0]=+e[0][0],c[1][0]=+e[1][0],c[0][1]=+e[0][1],c[1][1]=+e[1][1],g):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},g.constrain=function(e){return arguments.length?(o=e,g):o},g.duration=function(e){return arguments.length?(u=+e,g):u},g.interpolate=function(e){return arguments.length?(f=e,g):f},g.on=function(){var e=h.on.apply(h,arguments);return e===h?g:e},g.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,g):Math.sqrt(d)},g.tapDistance=function(e){return arguments.length?(p=+e,g):p},g}().scaleExtent([p,g]).translateExtent(d),n=nqe(E.current).call(t),r=Uqe.translate(h.x,h.y).scale(mHe(h.zoom,p,g)),i=[[0,0],[e.width,e.height]],o=t.constrain()(r,i,d);t.transform(n,o),t.wheelDelta(pVe),A.setState({d3Zoom:t,d3Selection:n,d3ZoomHandler:n.on("wheel.zoom"),transform:[o.x,o.y,o.k],domNode:E.current.closest(".react-flow")})}},[]),(0,V.useEffect)(()=>{T&&O&&(!a||P||M?void 0!==_&&T.on("wheel.zoom",function(e,t){if(!b&&"wheel"===e.type&&!e.ctrlKey||hVe(e,v))return null;e.preventDefault(),_.call(this,e,t)},{passive:!1}):T.on("wheel.zoom",r=>{if(hVe(r,v))return!1;r.preventDefault(),r.stopImmediatePropagation();const i=T.property("__zoom").k||1;if(r.ctrlKey&&o){const e=cqe(r),t=pVe(r),n=i*Math.pow(2,t);return void O.scaleTo(T,n,e,r)}const a=1===r.deltaMode?20:1;let c=l===LHe.Vertical?0:r.deltaX*a,u=l===LHe.Horizontal?0:r.deltaY*a;!PHe()&&r.shiftKey&&l!==LHe.Vertical&&(c=r.deltaY*a,u=0),O.translateBy(T,-c/i*s,-u/i*s,{internal:!0});const f=fVe(T.property("__zoom")),{onViewportChangeStart:h,onViewportChange:d,onViewportChangeEnd:p}=A.getState();clearTimeout(I.current),R.current||(R.current=!0,t?.(r,f),h?.(f)),R.current&&(e?.(r,f),d?.(f),I.current=setTimeout(()=>{n?.(r,f),p?.(f),R.current=!1},150))},{passive:!1}))},[M,a,l,T,O,_,P,o,b,v,t,e,n]),(0,V.useEffect)(()=>{O&&O.on("start",e=>{if(!e.sourceEvent||e.sourceEvent.internal)return null;D.current=e.sourceEvent?.button;const{onViewportChangeStart:n}=A.getState(),r=fVe(e.transform);k.current=!0,C.current=r,"mousedown"===e.sourceEvent?.type&&A.setState({paneDragging:!0}),n?.(r),t?.(e.sourceEvent,r)})},[O,t]),(0,V.useEffect)(()=>{O&&(M&&!k.current?O.on("zoom",null):M||O.on("zoom",t=>{const{onViewportChange:n}=A.getState();if(A.setState({transform:[t.transform.x,t.transform.y,t.transform.k]}),S.current=!(!r||!dVe(f,D.current??0)),(e||n)&&!t.sourceEvent?.internal){const r=fVe(t.transform);n?.(r),e?.(t.sourceEvent,r)}}))},[M,O,e,f,r]),(0,V.useEffect)(()=>{O&&O.on("end",e=>{if(!e.sourceEvent||e.sourceEvent.internal)return null;const{onViewportChangeEnd:t}=A.getState();if(k.current=!1,A.setState({paneDragging:!1}),r&&dVe(f,D.current??0)&&!S.current&&r(e.sourceEvent),S.current=!1,(n||t)&&(i=C.current,o=e.transform,i.x!==o.x||i.y!==o.y||i.zoom!==o.k)){const r=fVe(e.transform);C.current=r,clearTimeout(x.current),x.current=setTimeout(()=>{t?.(r),n?.(e.sourceEvent,r)},a?150:0)}var i,o})},[O,a,f,n,r]),(0,V.useEffect)(()=>{O&&O.filter(e=>{const t=P||i,n=o&&e.ctrlKey;if((!0===f||Array.isArray(f)&&f.includes(1))&&1===e.button&&"mousedown"===e.type&&(hVe(e,"react-flow__node")||hVe(e,"react-flow__edge")))return!0;if(!(f||t||a||c||o))return!1;if(M)return!1;if(!c&&"dblclick"===e.type)return!1;if(hVe(e,v)&&"wheel"===e.type)return!1;if(hVe(e,y)&&("wheel"!==e.type||a&&"wheel"===e.type&&!P))return!1;if(!o&&e.ctrlKey&&"wheel"===e.type)return!1;if(!t&&!a&&!n&&"wheel"===e.type)return!1;if(!f&&("mousedown"===e.type||"touchstart"===e.type))return!1;if(Array.isArray(f)&&!f.includes(e.button)&&"mousedown"===e.type)return!1;const r=Array.isArray(f)&&f.includes(e.button)||!e.button||e.button<=1;return(!e.ctrlKey||"wheel"===e.type)&&r})},[M,O,i,o,a,c,f,u,P]),V.createElement("div",{className:"react-flow__renderer",ref:E,style:uVe},w)},bVe=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function wVe(){const{userSelectionActive:e,userSelectionRect:t}=cHe(bVe,qBe);return e&&t?V.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function vVe(e,t){const n=t.parentNode||t.parentId,r=e.find(e=>e.id===n);if(r){const e=t.position.x+t.width-r.width,n=t.position.y+t.height-r.height;if(e>0||n>0||t.position.x<0||t.position.y<0){if(r.style={...r.style}||{},r.style.width=r.style.width??r.width,r.style.height=r.style.height??r.height,e>0&&(r.style.width+=e),n>0&&(r.style.height+=n),t.position.x<0){const e=Math.abs(t.position.x);r.position.x=r.position.x-e,r.style.width+=e,t.position.x=0}if(t.position.y<0){const e=Math.abs(t.position.y);r.position.y=r.position.y-e,r.style.height+=e,t.position.y=0}r.width=r.style.width,r.height=r.style.height}}}function yVe(e,t){if(e.some(e=>"reset"===e.type))return e.filter(e=>"reset"===e.type).map(e=>e.item);const n=e.filter(e=>"add"===e.type).map(e=>e.item);return t.reduce((t,n)=>{const r=e.filter(e=>e.id===n.id);if(0===r.length)return t.push(n),t;const i={...n};for(const e of r)if(e)switch(e.type){case"select":i.selected=e.selected;break;case"position":void 0!==e.position&&(i.position=e.position),void 0!==e.positionAbsolute&&(i.positionAbsolute=e.positionAbsolute),void 0!==e.dragging&&(i.dragging=e.dragging),i.expandParent&&vVe(t,i);break;case"dimensions":void 0!==e.dimensions&&(i.width=e.dimensions.width,i.height=e.dimensions.height),void 0!==e.updateStyle&&(i.style={...i.style||{},...e.dimensions}),"boolean"==typeof e.resizing&&(i.resizing=e.resizing),i.expandParent&&vVe(t,i);break;case"remove":return t}return t.push(i),t},n)}function xVe(e,t){return yVe(e,t)}const AVe=(e,t)=>({id:e,type:"select",selected:t});function kVe(e,t){return e.reduce((e,n)=>{const r=t.includes(n.id);return!n.selected&&r?(n.selected=!0,e.push(AVe(n.id,!0))):n.selected&&!r&&(n.selected=!1,e.push(AVe(n.id,!1))),e},[])}const SVe=(e,t)=>n=>{n.target===t.current&&e?.(n)},EVe=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),CVe=(0,V.memo)(({isSelecting:e,selectionMode:t=jHe.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:a,onPaneScroll:s,onPaneMouseEnter:l,onPaneMouseMove:c,onPaneMouseLeave:u,children:f})=>{const h=(0,V.useRef)(null),d=uHe(),p=(0,V.useRef)(0),g=(0,V.useRef)(0),m=(0,V.useRef)(),{userSelectionActive:b,elementsSelectable:w,dragging:v}=cHe(EVe,qBe),y=()=>{d.setState({userSelectionActive:!1,userSelectionRect:null}),p.current=0,g.current=0},x=e=>{o?.(e),d.getState().resetSelectedElements(),d.setState({nodesSelectionActive:!1})},A=s?e=>s(e):void 0,k=w&&(e||b);return V.createElement("div",{className:NBe(["react-flow__pane",{dragging:v,selection:e}]),onClick:k?void 0:SVe(x,h),onContextMenu:SVe(e=>{Array.isArray(n)&&n?.includes(2)?e.preventDefault():a?.(e)},h),onWheel:SVe(A,h),onMouseEnter:k?void 0:l,onMouseDown:k?t=>{const{resetSelectedElements:n,domNode:i}=d.getState();if(m.current=i?.getBoundingClientRect(),!w||!e||0!==t.button||t.target!==h.current||!m.current)return;const{x:o,y:a}=MHe(t,m.current);n(),d.setState({userSelectionRect:{width:0,height:0,startX:o,startY:a,x:o,y:a}}),r?.(t)}:void 0,onMouseMove:k?n=>{const{userSelectionRect:r,nodeInternals:i,edges:o,transform:a,onNodesChange:s,onEdgesChange:l,nodeOrigin:c,getNodes:u}=d.getState();if(!e||!m.current||!r)return;d.setState({userSelectionActive:!0,nodesSelectionActive:!1});const f=MHe(n,m.current),h=r.startX??0,b=r.startY??0,w={...r,x:f.x<h?f.x:h,y:f.y<b?f.y:b,width:Math.abs(f.x-h),height:Math.abs(f.y-b)},v=u(),y=cUe(i,w,a,t===jHe.Partial,!0,c),x=uUe(y,o).map(e=>e.id),A=y.map(e=>e.id);if(p.current!==A.length){p.current=A.length;const e=kVe(v,A);e.length&&s?.(e)}if(g.current!==x.length){g.current=x.length;const e=kVe(o,x);e.length&&l?.(e)}d.setState({userSelectionRect:w})}:c,onMouseUp:k?e=>{if(0!==e.button)return;const{userSelectionRect:t}=d.getState();!b&&t&&e.target===h.current&&x?.(e),d.setState({nodesSelectionActive:p.current>0}),y(),i?.(e)}:void 0,onMouseLeave:k?e=>{b&&(d.setState({nodesSelectionActive:p.current>0}),i?.(e)),y()}:u,ref:h,style:uVe},f,V.createElement(wVe,null))});function OVe(e,t){const n=e.parentNode||e.parentId;if(!n)return!1;const r=t.get(n);return!!r&&(!!r.selected||OVe(r,t))}function TVe(e,t,n){let r=e;do{if(r?.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function _Ve(e,t,n,r){return Array.from(e.values()).filter(n=>(n.selected||n.id===r)&&(!n.parentNode||n.parentId||!OVe(n,e))&&(n.draggable||t&&void 0===n.draggable)).map(e=>({id:e.id,position:e.position||{x:0,y:0},positionAbsolute:e.positionAbsolute||{x:0,y:0},distance:{x:n.x-(e.positionAbsolute?.x??0),y:n.y-(e.positionAbsolute?.y??0)},delta:{x:0,y:0},extent:e.extent,parentNode:e.parentNode||e.parentId,parentId:e.parentNode||e.parentId,width:e.width,height:e.height,expandParent:e.expandParent}))}function MVe(e,t,n,r,i=[0,0],o){const a=function(e,t){return t&&"parent"!==t?[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]:t}(e,e.extent||r);let s=a;const l=e.parentNode||e.parentId;if("parent"!==e.extent||e.expandParent){if(e.extent&&l&&"parent"!==e.extent){const t=n.get(l),{x:r,y:o}=sUe(t,i).positionAbsolute;s=[[e.extent[0][0]+r,e.extent[0][1]+o],[e.extent[1][0]+r,e.extent[1][1]+o]]}}else if(l&&e.width&&e.height){const t=n.get(l),{x:r,y:o}=sUe(t,i).positionAbsolute;s=t&&SHe(r)&&SHe(o)&&SHe(t.width)&&SHe(t.height)?[[r+e.width*i[0],o+e.height*i[1]],[r+t.width-e.width+e.width*i[0],o+t.height-e.height+e.height*i[1]]]:s}else o?.("005","Only child nodes can use a parent extent."),s=a;let c={x:0,y:0};if(l){const e=n.get(l);c=sUe(e,i).positionAbsolute}const u=s&&"parent"!==s?bHe(t,s):t;return{position:{x:u.x-c.x,y:u.y-c.y},positionAbsolute:u}}function PVe({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(e=>({...n.get(e.id),position:e.position,positionAbsolute:e.positionAbsolute}));return[e?r.find(t=>t.id===e):r[0],r]}CVe.displayName="Pane";const DVe=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),a=t.getBoundingClientRect(),s=a.width*r[0],l=a.height*r[1];return o.map(e=>{const t=e.getBoundingClientRect();return{id:e.getAttribute("data-handleid"),position:e.getAttribute("data-handlepos"),x:(t.left-a.left-s)/n,y:(t.top-a.top-l)/n,...gHe(e)}})};function RVe(e,t,n){return void 0===n?n:r=>{const i=t().nodeInternals.get(e);i&&n(r,{...i})}}function IVe({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:a,nodeInternals:s,onError:l}=t.getState(),c=s.get(e);c?(t.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&a)&&(o({nodes:[c],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):i([e])):l?.("012",(e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`)(e))}function NVe(e){return(t,n,r)=>e?.(t,r)}function $Ve({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:a}){const s=uHe(),[l,c]=(0,V.useState)(!1),u=(0,V.useRef)([]),f=(0,V.useRef)({x:null,y:null}),h=(0,V.useRef)(0),d=(0,V.useRef)(null),p=(0,V.useRef)({x:0,y:0}),g=(0,V.useRef)(null),m=(0,V.useRef)(!1),b=(0,V.useRef)(!1),w=(0,V.useRef)(!1),v=function(){const e=uHe(),t=(0,V.useCallback)(({sourceEvent:t})=>{const{transform:n,snapGrid:r,snapToGrid:i}=e.getState(),o=t.touches?t.touches[0].clientX:t.clientX,a=t.touches?t.touches[0].clientY:t.clientY,s={x:(o-n[0])/n[2],y:(a-n[1])/n[2]};return{xSnapped:i?r[0]*Math.round(s.x/r[0]):s.x,ySnapped:i?r[1]*Math.round(s.y/r[1]):s.y,...s}},[]);return t}();return(0,V.useEffect)(()=>{if(e?.current){const l=nqe(e.current),y=({x:e,y:t})=>{const{nodeInternals:n,onNodeDrag:r,onSelectionDrag:o,updateNodePositions:a,nodeExtent:l,snapGrid:h,snapToGrid:d,nodeOrigin:p,onError:m}=s.getState();f.current={x:e,y:t};let b=!1,w={x:0,y:0,x2:0,y2:0};if(u.current.length>1&&l){const e=lUe(u.current,p);w=xHe(e)}if(u.current=u.current.map(r=>{const i={x:e-r.distance.x,y:t-r.distance.y};d&&(i.x=h[0]*Math.round(i.x/h[0]),i.y=h[1]*Math.round(i.y/h[1]));const o=[[l[0][0],l[0][1]],[l[1][0],l[1][1]]];u.current.length>1&&l&&!r.extent&&(o[0][0]=r.positionAbsolute.x-w.x+l[0][0],o[1][0]=r.positionAbsolute.x+(r.width??0)-w.x2+l[1][0],o[0][1]=r.positionAbsolute.y-w.y+l[0][1],o[1][1]=r.positionAbsolute.y+(r.height??0)-w.y2+l[1][1]);const a=MVe(r,i,n,o,p,m);return b=b||r.position.x!==a.position.x||r.position.y!==a.position.y,r.position=a.position,r.positionAbsolute=a.positionAbsolute,r}),!b)return;a(u.current,!0,!0),c(!0);const v=i?r:NVe(o);if(v&&g.current){const[e,t]=PVe({nodeId:i,dragItems:u.current,nodeInternals:n});v(g.current,e,t)}},x=()=>{if(!d.current)return;const[e,t]=vHe(p.current,d.current);if(0!==e||0!==t){const{transform:n,panBy:r}=s.getState();f.current.x=(f.current.x??0)-e/n[2],f.current.y=(f.current.y??0)-t/n[2],r({x:e,y:t})&&y(f.current)}h.current=requestAnimationFrame(x)},A=t=>{const{nodeInternals:n,multiSelectionActive:r,nodesDraggable:l,unselectNodesAndEdges:c,onNodeDragStart:h,onSelectionDragStart:d}=s.getState();b.current=!0;const p=i?h:NVe(d);a&&o||r||!i||n.get(i)?.selected||c(),i&&o&&a&&IVe({id:i,store:s,nodeRef:e});const g=v(t);if(f.current=g,u.current=_Ve(n,l,g,i),p&&u.current){const[e,r]=PVe({nodeId:i,dragItems:u.current,nodeInternals:n});p(t.sourceEvent,e,r)}};if(!t){const t=function(){var e,t,n,r,i=nHe,o=rHe,a=iHe,s=oHe,l={},c=v7("start","drag","end"),u=0,f=0;function h(e){e.on("mousedown.drag",d).filter(s).on("touchstart.drag",m).on("touchmove.drag",b,rqe).on("touchend.drag touchcancel.drag",w).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(a,s){if(!r&&i.call(this,a,s)){var l=v(this,o.call(this,a,s),a,s,"mouse");l&&(nqe(a.view).on("mousemove.drag",p,iqe).on("mouseup.drag",g,iqe),sqe(a.view),oqe(a),n=!1,e=a.clientX,t=a.clientY,l("start",a))}}function p(r){if(aqe(r),!n){var i=r.clientX-e,o=r.clientY-t;n=i*i+o*o>f}l.mouse("drag",r)}function g(e){nqe(e.view).on("mousemove.drag mouseup.drag",null),lqe(e.view,n),aqe(e),l.mouse("end",e)}function m(e,t){if(i.call(this,e,t)){var n,r,a=e.changedTouches,s=o.call(this,e,t),l=a.length;for(n=0;n<l;++n)(r=v(this,s,e,t,a[n].identifier,a[n]))&&(oqe(e),r("start",e,a[n]))}}function b(e){var t,n,r=e.changedTouches,i=r.length;for(t=0;t<i;++t)(n=l[r[t].identifier])&&(aqe(e),n("drag",e,r[t]))}function w(e){var t,n,i=e.changedTouches,o=i.length;for(r&&clearTimeout(r),r=setTimeout(function(){r=null},500),t=0;t<o;++t)(n=l[i[t].identifier])&&(oqe(e),n("end",e,i[t]))}function v(e,t,n,r,i,o){var s,f,d,p=c.copy(),g=cqe(o||n,t);if(null!=(d=a.call(e,new tHe("beforestart",{sourceEvent:n,target:h,identifier:i,active:u,x:g[0],y:g[1],dx:0,dy:0,dispatch:p}),r)))return s=d.x-g[0]||0,f=d.y-g[1]||0,function n(o,a,c){var m,b=g;switch(o){case"start":l[i]=n,m=u++;break;case"end":delete l[i],--u;case"drag":g=cqe(c||a,t),m=u}p.call(o,e,new tHe(o,{sourceEvent:a,subject:d,target:h,identifier:i,active:m,x:g[0]+s,y:g[1]+f,dx:g[0]-b[0],dy:g[1]-b[1],dispatch:p}),r)}}return h.filter=function(e){return arguments.length?(i="function"==typeof e?e:eHe(!!e),h):i},h.container=function(e){return arguments.length?(o="function"==typeof e?e:eHe(e),h):o},h.subject=function(e){return arguments.length?(a="function"==typeof e?e:eHe(e),h):a},h.touchable=function(e){return arguments.length?(s="function"==typeof e?e:eHe(!!e),h):s},h.on=function(){var e=c.on.apply(c,arguments);return e===c?h:e},h.clickDistance=function(e){return arguments.length?(f=(e=+e)*e,h):Math.sqrt(f)},h}().on("start",e=>{const{domNode:t,nodeDragThreshold:n}=s.getState();0===n&&A(e),w.current=!1;const r=v(e);f.current=r,d.current=t?.getBoundingClientRect()||null,p.current=MHe(e.sourceEvent,d.current)}).on("drag",e=>{const t=v(e),{autoPanOnNodeDrag:n,nodeDragThreshold:r}=s.getState();if("touchmove"===e.sourceEvent.type&&e.sourceEvent.touches.length>1&&(w.current=!0),!w.current){if(!m.current&&b.current&&n&&(m.current=!0,x()),!b.current){const n=t.xSnapped-(f?.current?.x??0),i=t.ySnapped-(f?.current?.y??0);Math.sqrt(n*n+i*i)>r&&A(e)}(f.current.x!==t.xSnapped||f.current.y!==t.ySnapped)&&u.current&&b.current&&(g.current=e.sourceEvent,p.current=MHe(e.sourceEvent,d.current),y(t))}}).on("end",e=>{if(b.current&&!w.current&&(c(!1),m.current=!1,b.current=!1,cancelAnimationFrame(h.current),u.current)){const{updateNodePositions:t,nodeInternals:n,onNodeDragStop:r,onSelectionDragStop:o}=s.getState(),a=i?r:NVe(o);if(t(u.current,!1,!1),a){const[t,r]=PVe({nodeId:i,dragItems:u.current,nodeInternals:n});a(e.sourceEvent,t,r)}}}).filter(t=>{const i=t.target;return!t.button&&(!n||!TVe(i,`.${n}`,e))&&(!r||TVe(i,r,e))});return l.call(t),()=>{l.on(".drag",null)}}l.on(".drag",null)}},[e,t,n,r,o,s,i,a,v]),l}function LVe(){const e=uHe(),t=(0,V.useCallback)(t=>{const{nodeInternals:n,nodeExtent:r,updateNodePositions:i,getNodes:o,snapToGrid:a,snapGrid:s,onError:l,nodesDraggable:c}=e.getState(),u=o().filter(e=>e.selected&&(e.draggable||c&&void 0===e.draggable)),f=a?s[0]:5,h=a?s[1]:5,d=t.isShiftPressed?4:1,p=t.x*f*d,g=t.y*h*d,m=u.map(e=>{if(e.positionAbsolute){const t={x:e.positionAbsolute.x+p,y:e.positionAbsolute.y+g};a&&(t.x=s[0]*Math.round(t.x/s[0]),t.y=s[1]*Math.round(t.y/s[1]));const{positionAbsolute:i,position:o}=MVe(e,t,n,r,void 0,l);e.position=o,e.positionAbsolute=i}return e});i(m,!0,!1)},[]);return t}const jVe={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var FVe=e=>{const t=({id:t,type:n,data:r,xPos:i,yPos:o,xPosOrigin:a,yPosOrigin:s,selected:l,onClick:c,onMouseEnter:u,onMouseMove:f,onMouseLeave:h,onContextMenu:d,onDoubleClick:p,style:g,className:m,isDraggable:b,isSelectable:w,isConnectable:v,isFocusable:y,selectNodesOnDrag:x,sourcePosition:A,targetPosition:k,hidden:S,resizeObserver:E,dragHandle:C,zIndex:O,isParent:T,noDragClassName:_,noPanClassName:M,initialized:P,disableKeyboardA11y:D,ariaLabel:R,rfId:I,hasHandleBounds:N})=>{const $=uHe(),L=(0,V.useRef)(null),j=(0,V.useRef)(null),F=(0,V.useRef)(A),z=(0,V.useRef)(k),B=(0,V.useRef)(n),W=w||b||c||u||f||h,q=LVe(),H=RVe(t,$.getState,u),U=RVe(t,$.getState,f),K=RVe(t,$.getState,h),Q=RVe(t,$.getState,d),G=RVe(t,$.getState,p);(0,V.useEffect)(()=>()=>{j.current&&(E?.unobserve(j.current),j.current=null)},[]),(0,V.useEffect)(()=>{if(L.current&&!S){const e=L.current;P&&N&&j.current===e||(j.current&&E?.unobserve(j.current),E?.observe(e),j.current=e)}},[S,P,N]),(0,V.useEffect)(()=>{const e=B.current!==n,r=F.current!==A,i=z.current!==k;L.current&&(e||r||i)&&(e&&(B.current=n),r&&(F.current=A),i&&(z.current=k),$.getState().updateNodeDimensions([{id:t,nodeElement:L.current,forceUpdate:!0}]))},[t,n,A,k]);const X=$Ve({nodeRef:L,disabled:S||!b,noDragClassName:_,handleSelector:C,nodeId:t,isSelectable:w,selectNodesOnDrag:x});return S?null:V.createElement("div",{className:NBe(["react-flow__node",`react-flow__node-${n}`,{[M]:b},m,{selected:l,selectable:w,parent:T,dragging:X}]),ref:L,style:{zIndex:O,transform:`translate(${a}px,${s}px)`,pointerEvents:W?"all":"none",visibility:P?"visible":"hidden",...g},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:H,onMouseMove:U,onMouseLeave:K,onContextMenu:Q,onClick:e=>{const{nodeDragThreshold:n}=$.getState();if(w&&(!x||!b||n>0)&&IVe({id:t,store:$,nodeRef:L}),c){const n=$.getState().nodeInternals.get(t);n&&c(e,{...n})}},onDoubleClick:G,onKeyDown:y?e=>{if(!THe(e)&&!D)if(CHe.includes(e.key)&&w){const n="Escape"===e.key;IVe({id:t,store:$,unselect:n,nodeRef:L})}else b&&l&&Object.prototype.hasOwnProperty.call(jVe,e.key)&&($.setState({ariaLiveMessage:`Moved selected node ${e.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~i}, y: ${~~o}`}),q({x:jVe[e.key].x,y:jVe[e.key].y,isShiftPressed:e.shiftKey}))}:void 0,tabIndex:y?0:void 0,role:y?"button":void 0,"aria-describedby":D?void 0:`${HUe}-${I}`,"aria-label":R},V.createElement(nUe,{value:t},V.createElement(e,{id:t,data:r,type:n,xPos:i,yPos:o,selected:l,isConnectable:v,sourcePosition:A,targetPosition:k,dragging:X,dragHandle:C,zIndex:O})))};return t.displayName="NodeWrapper",(0,V.memo)(t)};const zVe=e=>{const t=e.getNodes().filter(e=>e.selected);return{...lUe(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};var BVe=(0,V.memo)(function({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=uHe(),{width:i,height:o,x:a,y:s,transformString:l,userSelectionActive:c}=cHe(zVe,qBe),u=LVe(),f=(0,V.useRef)(null);if((0,V.useEffect)(()=>{n||f.current?.focus({preventScroll:!0})},[n]),$Ve({nodeRef:f}),c||!i||!o)return null;const h=e?t=>{const n=r.getState().getNodes().filter(e=>e.selected);e(t,n)}:void 0;return V.createElement("div",{className:NBe(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l}},V.createElement("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:h,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(jVe,e.key)&&u({x:jVe[e.key].x,y:jVe[e.key].y,isShiftPressed:e.shiftKey})},style:{width:i,height:o,top:s,left:a}}))});const WVe=e=>e.nodesSelectionActive,qVe=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,deleteKeyCode:s,onMove:l,onMoveStart:c,onMoveEnd:u,selectionKeyCode:f,selectionOnDrag:h,selectionMode:d,onSelectionStart:p,onSelectionEnd:g,multiSelectionKeyCode:m,panActivationKeyCode:b,zoomActivationKeyCode:w,elementsSelectable:v,zoomOnScroll:y,zoomOnPinch:x,panOnScroll:A,panOnScrollSpeed:k,panOnScrollMode:S,zoomOnDoubleClick:E,panOnDrag:C,defaultViewport:O,translateExtent:T,minZoom:_,maxZoom:M,preventScrolling:P,onSelectionContextMenu:D,noWheelClassName:R,noPanClassName:I,disableKeyboardA11y:N})=>{const $=cHe(WVe),L=GUe(f),j=GUe(b),F=j||C,z=j||A,B=L||h&&!0!==F;return(({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=uHe(),{deleteElements:r}=lVe(),i=GUe(e,cVe),o=GUe(t);(0,V.useEffect)(()=>{if(i){const{edges:e,getNodes:t}=n.getState(),i=t().filter(e=>e.selected),o=e.filter(e=>e.selected);r({nodes:i,edges:o}),n.setState({nodesSelectionActive:!1})}},[i]),(0,V.useEffect)(()=>{n.setState({multiSelectionActive:o})},[o])})({deleteKeyCode:s,multiSelectionKeyCode:m}),V.createElement(mVe,{onMove:l,onMoveStart:c,onMoveEnd:u,onPaneContextMenu:o,elementsSelectable:v,zoomOnScroll:y,zoomOnPinch:x,panOnScroll:z,panOnScrollSpeed:k,panOnScrollMode:S,zoomOnDoubleClick:E,panOnDrag:!L&&F,defaultViewport:O,translateExtent:T,minZoom:_,maxZoom:M,zoomActivationKeyCode:w,preventScrolling:P,noWheelClassName:R,noPanClassName:I},V.createElement(CVe,{onSelectionStart:p,onSelectionEnd:g,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,panOnDrag:F,isSelecting:!!B,selectionMode:d},e,$&&V.createElement(BVe,{onSelectionContextMenu:D,noPanClassName:I,disableKeyboardA11y:N})))};qVe.displayName="FlowRenderer";var HVe=(0,V.memo)(qVe);function UVe(e){const t={input:FVe(e.input||TUe),default:FVe(e.default||CUe),output:FVe(e.output||MUe),group:FVe(e.group||PUe)},n=Object.keys(e).filter(e=>!["input","default","output","group"].includes(e)).reduce((t,n)=>(t[n]=FVe(e[n]||CUe),t),{});return{...t,...n}}const VVe=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),KVe=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:a}=cHe(VVe,qBe),s=(u=e.onlyRenderVisibleElements,cHe((0,V.useCallback)(e=>u?cUe(e.nodeInternals,{x:0,y:0,width:e.width,height:e.height},e.transform,!0):e.getNodes(),[u]))),l=(0,V.useRef)(),c=(0,V.useMemo)(()=>{if("undefined"==typeof ResizeObserver)return null;const e=new ResizeObserver(e=>{const t=e.map(e=>({id:e.target.getAttribute("data-id"),nodeElement:e.target,forceUpdate:!0}));o(t)});return l.current=e,e},[]);var u;return(0,V.useEffect)(()=>()=>{l?.current?.disconnect()},[]),V.createElement("div",{className:"react-flow__nodes",style:uVe},s.map(o=>{let s=o.type||"default";e.nodeTypes[s]||(a?.("003",(e=>`Node type "${e}" not found. Using fallback type "default".`)(s)),s="default");const l=e.nodeTypes[s]||e.nodeTypes.default,u=!!(o.draggable||t&&void 0===o.draggable),f=!!(o.selectable||i&&void 0===o.selectable),h=!!(o.connectable||n&&void 0===o.connectable),d=!!(o.focusable||r&&void 0===o.focusable),p=e.nodeExtent?bHe(o.positionAbsolute,e.nodeExtent):o.positionAbsolute,g=p?.x??0,m=p?.y??0,b=(({x:e,y:t,width:n,height:r,origin:i})=>n&&r?i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]}:{x:e,y:t})({x:g,y:m,width:o.width??0,height:o.height??0,origin:e.nodeOrigin});return V.createElement(l,{key:o.id,id:o.id,className:o.className,style:o.style,type:s,data:o.data,sourcePosition:o.sourcePosition||BHe.Bottom,targetPosition:o.targetPosition||BHe.Top,hidden:o.hidden,xPos:g,yPos:m,xPosOrigin:b.x,yPosOrigin:b.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!o.selected,isDraggable:u,isSelectable:f,isConnectable:h,isFocusable:d,resizeObserver:c,dragHandle:o.dragHandle,zIndex:o[EHe]?.z??0,isParent:!!o[EHe]?.isParent,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!o.width&&!!o.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:o.ariaLabel,hasHandleBounds:!!o[EHe]?.handleBounds})}))};KVe.displayName="NodeRenderer";var QVe=(0,V.memo)(KVe);const GVe=(e,t,n)=>n===BHe.Left?e-t:n===BHe.Right?e+t:e,XVe=(e,t,n)=>n===BHe.Top?e-t:n===BHe.Bottom?e+t:e,YVe="react-flow__edgeupdater",ZVe=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:a,type:s})=>V.createElement("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:a,className:NBe([YVe,`${YVe}-${s}`]),cx:GVe(t,r,e),cy:XVe(n,r,e),r,stroke:"transparent",fill:"transparent"}),JVe=()=>!0;var eKe=e=>{const t=({id:t,className:n,type:r,data:i,onClick:o,onEdgeDoubleClick:a,selected:s,animated:l,label:c,labelStyle:u,labelShowBg:f,labelBgStyle:h,labelBgPadding:d,labelBgBorderRadius:p,style:g,source:m,target:b,sourceX:w,sourceY:v,targetX:y,targetY:x,sourcePosition:A,targetPosition:k,elementsSelectable:S,hidden:E,sourceHandleId:C,targetHandleId:O,onContextMenu:T,onMouseEnter:_,onMouseMove:M,onMouseLeave:P,reconnectRadius:D,onReconnect:R,onReconnectStart:I,onReconnectEnd:N,markerEnd:$,markerStart:L,rfId:j,ariaLabel:F,isFocusable:z,isReconnectable:B,pathOptions:W,interactionWidth:q,disableKeyboardA11y:H})=>{const U=(0,V.useRef)(null),[K,Q]=(0,V.useState)(!1),[G,X]=(0,V.useState)(!1),Y=uHe(),Z=(0,V.useMemo)(()=>`url('#${iUe(L,j)}')`,[L,j]),J=(0,V.useMemo)(()=>`url('#${iUe($,j)}')`,[$,j]);if(E)return null;const ee=RHe(t,Y.getState,a),te=RHe(t,Y.getState,T),ne=RHe(t,Y.getState,_),re=RHe(t,Y.getState,M),ie=RHe(t,Y.getState,P),oe=(e,n)=>{if(0!==e.button)return;const{edges:r,isValidConnection:i}=Y.getState(),o=n?b:m,a=(n?O:C)||null,s=n?"target":"source",l=i||JVe,c=n,u=r.find(e=>e.id===t);X(!0),I?.(e,u,s),yUe({event:e,handleId:a,nodeId:o,onConnect:e=>R?.(u,e),isTarget:c,getState:Y.getState,setState:Y.setState,isValidConnection:l,edgeUpdaterType:s,onReconnectEnd:e=>{X(!1),N?.(e,u,s)}})},ae=()=>Q(!0),se=()=>Q(!1),le=!S&&!o;return V.createElement("g",{className:NBe(["react-flow__edge",`react-flow__edge-${r}`,n,{selected:s,animated:l,inactive:le,updating:K}]),onClick:e=>{const{edges:n,addSelectedEdges:r,unselectNodesAndEdges:i,multiSelectionActive:a}=Y.getState(),s=n.find(e=>e.id===t);s&&(S&&(Y.setState({nodesSelectionActive:!1}),s.selected&&a?(i({nodes:[],edges:[s]}),U.current?.blur()):r([t])),o&&o(e,s))},onDoubleClick:ee,onContextMenu:te,onMouseEnter:ne,onMouseMove:re,onMouseLeave:ie,onKeyDown:z?e=>{if(!H&&CHe.includes(e.key)&&S){const{unselectNodesAndEdges:n,addSelectedEdges:r,edges:i}=Y.getState();"Escape"===e.key?(U.current?.blur(),n({edges:[i.find(e=>e.id===t)]})):r([t])}}:void 0,tabIndex:z?0:void 0,role:z?"button":"img","data-testid":`rf__edge-${t}`,"aria-label":null===F?void 0:F||`Edge from ${m} to ${b}`,"aria-describedby":z?`${UUe}-${j}`:void 0,ref:U},!G&&V.createElement(e,{id:t,source:m,target:b,selected:s,animated:l,label:c,labelStyle:u,labelShowBg:f,labelBgStyle:h,labelBgPadding:d,labelBgBorderRadius:p,data:i,style:g,sourceX:w,sourceY:v,targetX:y,targetY:x,sourcePosition:A,targetPosition:k,sourceHandleId:C,targetHandleId:O,markerStart:Z,markerEnd:J,pathOptions:W,interactionWidth:q}),B&&V.createElement(V.Fragment,null,("source"===B||!0===B)&&V.createElement(ZVe,{position:A,centerX:w,centerY:v,radius:D,onMouseDown:e=>oe(e,!0),onMouseEnter:ae,onMouseOut:se,type:"source"}),("target"===B||!0===B)&&V.createElement(ZVe,{position:k,centerX:y,centerY:x,radius:D,onMouseDown:e=>oe(e,!1),onMouseEnter:ae,onMouseOut:se,type:"target"})))};return t.displayName="EdgeWrapper",(0,V.memo)(t)};function tKe(e){const t={default:eKe(e.default||eUe),straight:eKe(e.bezier||XHe),step:eKe(e.step||GHe),smoothstep:eKe(e.step||QHe),simplebezier:eKe(e.simplebezier||HHe)},n=Object.keys(e).filter(e=>!["default","bezier"].includes(e)).reduce((t,n)=>(t[n]=eKe(e[n]||eUe),t),{});return{...t,...n}}function nKe(e,t,n=null){const r=(n?.x||0)+t.x,i=(n?.y||0)+t.y,o=n?.width||t.width,a=n?.height||t.height;switch(e){case BHe.Top:return{x:r+o/2,y:i};case BHe.Right:return{x:r+o,y:i+a/2};case BHe.Bottom:return{x:r+o/2,y:i+a};case BHe.Left:return{x:r,y:i+a/2}}}function rKe(e,t){return e?1!==e.length&&t?t&&e.find(e=>e.id===t)||null:e[0]:null}function iKe(e){const t=e?.[EHe]?.handleBounds||null,n=t&&e?.width&&e?.height&&void 0!==e?.positionAbsolute?.x&&void 0!==e?.positionAbsolute?.y;return[{x:e?.positionAbsolute?.x||0,y:e?.positionAbsolute?.y||0,width:e?.width||0,height:e?.height||0},t,!!n]}const oKe=[{level:0,isMaxLevel:!0,edges:[]}];const aKe={[zHe.Arrow]:({color:e="none",strokeWidth:t=1})=>V.createElement("polyline",{style:{stroke:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),[zHe.ArrowClosed]:({color:e="none",strokeWidth:t=1})=>V.createElement("polyline",{style:{stroke:e,fill:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},sKe=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:a,orient:s="auto-start-reverse"})=>{const l=function(e){const t=uHe();return(0,V.useMemo)(()=>Object.prototype.hasOwnProperty.call(aKe,e)?aKe[e]:(t.getState().onError?.("009",(e=>`Marker type "${e}" doesn't exist.`)(e)),null),[e])}(t);return l?V.createElement("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:s,refX:"0",refY:"0"},V.createElement(l,{color:n,strokeWidth:a})):null},lKe=({defaultColor:e,rfId:t})=>{const n=cHe((0,V.useCallback)((({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((n,i)=>([i.markerStart,i.markerEnd].forEach(i=>{if(i&&"object"==typeof i){const o=iUe(i,t);r.includes(o)||(n.push({id:o,color:i.color||e,...i}),r.push(o))}}),n),[]).sort((e,t)=>e.id.localeCompare(t.id))})({defaultColor:e,rfId:t}),[e,t]),(e,t)=>!(e.length!==t.length||e.some((e,n)=>e.id!==t[n].id)));return V.createElement("defs",null,n.map(e=>V.createElement(sKe,{id:e.id,key:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient})))};lKe.displayName="MarkerDefinitions";var cKe=(0,V.memo)(lKe);const uKe=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),fKe=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeContextMenu:a,onEdgeMouseEnter:s,onEdgeMouseMove:l,onEdgeMouseLeave:c,onEdgeClick:u,onEdgeDoubleClick:f,onReconnect:h,onReconnectStart:d,onReconnectEnd:p,reconnectRadius:g,children:m,disableKeyboardA11y:b})=>{const{edgesFocusable:w,edgesUpdatable:v,elementsSelectable:y,width:x,height:A,connectionMode:k,nodeInternals:S,onError:E}=cHe(uKe,qBe),C=function(e,t,n){const r=cHe((0,V.useCallback)(n=>e?n.edges.filter(e=>{const r=t.get(e.source),i=t.get(e.target);return r?.width&&r?.height&&i?.width&&i?.height&&function({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:a,height:s,transform:l}){const c={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);const u=xHe({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:a/l[2],height:s/l[2]}),f=Math.max(0,Math.min(u.x2,c.x2)-Math.max(u.x,c.x)),h=Math.max(0,Math.min(u.y2,c.y2)-Math.max(u.y,c.y));return Math.ceil(f*h)>0}({sourcePos:r.positionAbsolute||{x:0,y:0},targetPos:i.positionAbsolute||{x:0,y:0},sourceWidth:r.width,sourceHeight:r.height,targetWidth:i.width,targetHeight:i.height,width:n.width,height:n.height,transform:n.transform})}):n.edges,[e,t]));return function(e,t,n=!1){let r=-1;const i=e.reduce((e,i)=>{const o=SHe(i.zIndex);let a=o?i.zIndex:0;if(n){const e=t.get(i.target),n=t.get(i.source),r=i.selected||e?.selected||n?.selected,s=Math.max(n?.[EHe]?.z||0,e?.[EHe]?.z||0,1e3);a=(o?i.zIndex:0)+(r?s:0)}return e[a]?e[a].push(i):e[a]=[i],r=a>r?a:r,e},{}),o=Object.entries(i).map(([e,t])=>{const n=+e;return{edges:t,level:n,isMaxLevel:n===r}});return 0===o.length?oKe:o}(r,t,n)}(t,S,n);return x?V.createElement(V.Fragment,null,C.map(({level:t,edges:n,isMaxLevel:m})=>V.createElement("svg",{key:t,style:{zIndex:t},width:x,height:A,className:"react-flow__edges react-flow__container"},m&&V.createElement(cKe,{defaultColor:e,rfId:r}),V.createElement("g",null,n.map(e=>{const[t,n,m]=iKe(S.get(e.source)),[x,A,C]=iKe(S.get(e.target));if(!m||!C)return null;let O=e.type||"default";i[O]||(E?.("011",(e=>`Edge type "${e}" not found. Using fallback type "default".`)(O)),O="default");const T=i[O]||i.default,_=k===$He.Strict?A.target:(A.target??[]).concat(A.source??[]),M=rKe(n.source,e.sourceHandle),P=rKe(_,e.targetHandle),D=M?.position||BHe.Bottom,R=P?.position||BHe.Top,I=!!(e.focusable||w&&void 0===e.focusable),N=e.reconnectable||e.updatable,$=void 0!==h&&(N||v&&void 0===N);if(!M||!P)return E?.("008",((e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`)(M,e)),null;const{sourceX:L,sourceY:j,targetX:F,targetY:z}=((e,t,n,r,i,o)=>{const a=nKe(n,e,t),s=nKe(o,r,i);return{sourceX:a.x,sourceY:a.y,targetX:s.x,targetY:s.y}})(t,M,D,x,P,R);return V.createElement(T,{key:e.id,id:e.id,className:NBe([e.className,o]),type:O,data:e.data,selected:!!e.selected,animated:!!e.animated,hidden:!!e.hidden,label:e.label,labelStyle:e.labelStyle,labelShowBg:e.labelShowBg,labelBgStyle:e.labelBgStyle,labelBgPadding:e.labelBgPadding,labelBgBorderRadius:e.labelBgBorderRadius,style:e.style,source:e.source,target:e.target,sourceHandleId:e.sourceHandle,targetHandleId:e.targetHandle,markerEnd:e.markerEnd,markerStart:e.markerStart,sourceX:L,sourceY:j,targetX:F,targetY:z,sourcePosition:D,targetPosition:R,elementsSelectable:y,onContextMenu:a,onMouseEnter:s,onMouseMove:l,onMouseLeave:c,onClick:u,onEdgeDoubleClick:f,onReconnect:h,onReconnectStart:d,onReconnectEnd:p,reconnectRadius:g,rfId:r,ariaLabel:e.ariaLabel,isFocusable:I,isReconnectable:$,pathOptions:"pathOptions"in e?e.pathOptions:void 0,interactionWidth:e.interactionWidth,disableKeyboardA11y:b})})))),m):null};fKe.displayName="EdgeRenderer";var hKe=(0,V.memo)(fKe);const dKe=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function pKe({children:e}){const t=cHe(dKe);return V.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:t}},e)}const gKe={[BHe.Left]:BHe.Right,[BHe.Right]:BHe.Left,[BHe.Top]:BHe.Bottom,[BHe.Bottom]:BHe.Top},mKe=({nodeId:e,handleType:t,style:n,type:r=FHe.Bezier,CustomComponent:i,connectionStatus:o})=>{const{fromNode:a,handleId:s,toX:l,toY:c,connectionMode:u}=cHe((0,V.useCallback)(t=>({fromNode:t.nodeInternals.get(e),handleId:t.connectionHandleId,toX:(t.connectionPosition.x-t.transform[0])/t.transform[2],toY:(t.connectionPosition.y-t.transform[1])/t.transform[2],connectionMode:t.connectionMode}),[e]),qBe),f=a?.[EHe]?.handleBounds;let h=f?.[t];if(u===$He.Loose&&(h=h||f?.["source"===t?"target":"source"]),!a||!h)return null;const d=s?h.find(e=>e.id===s):h[0],p=d?d.x+d.width/2:(a.width??0)/2,g=d?d.y+d.height/2:a.height??0,m=(a.positionAbsolute?.x??0)+p,b=(a.positionAbsolute?.y??0)+g,w=d?.position,v=w?gKe[w]:null;if(!w||!v)return null;if(i)return V.createElement(i,{connectionLineType:r,connectionLineStyle:n,fromNode:a,fromHandle:d,fromX:m,fromY:b,toX:l,toY:c,fromPosition:w,toPosition:v,connectionStatus:o});let y="";const x={sourceX:m,sourceY:b,sourcePosition:w,targetX:l,targetY:c,targetPosition:v};return r===FHe.Bezier?[y]=JHe(x):r===FHe.Step?[y]=KHe({...x,borderRadius:0}):r===FHe.SmoothStep?[y]=KHe(x):r===FHe.SimpleBezier?[y]=qHe(x):y=`M${m},${b} ${l},${c}`,V.createElement("path",{d:y,fill:"none",className:"react-flow__connection-path",style:n})};mKe.displayName="ConnectionLine";const bKe=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function wKe({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:a,width:s,height:l,connectionStatus:c}=cHe(bKe,qBe);return i&&o&&s&&a?V.createElement("svg",{style:e,width:s,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container"},V.createElement("g",{className:NBe(["react-flow__connection",c])},V.createElement(mKe,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:c}))):null}function vKe(e,t){return(0,V.useRef)(null),uHe(),(0,V.useMemo)(()=>t(e),[e])}const yKe=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:a,onEdgeClick:s,onNodeDoubleClick:l,onEdgeDoubleClick:c,onNodeMouseEnter:u,onNodeMouseMove:f,onNodeMouseLeave:h,onNodeContextMenu:d,onSelectionContextMenu:p,onSelectionStart:g,onSelectionEnd:m,connectionLineType:b,connectionLineStyle:w,connectionLineComponent:v,connectionLineContainerStyle:y,selectionKeyCode:x,selectionOnDrag:A,selectionMode:k,multiSelectionKeyCode:S,panActivationKeyCode:E,zoomActivationKeyCode:C,deleteKeyCode:O,onlyRenderVisibleElements:T,elementsSelectable:_,selectNodesOnDrag:M,defaultViewport:P,translateExtent:D,minZoom:R,maxZoom:I,preventScrolling:N,defaultMarkerColor:$,zoomOnScroll:L,zoomOnPinch:j,panOnScroll:F,panOnScrollSpeed:z,panOnScrollMode:B,zoomOnDoubleClick:W,panOnDrag:q,onPaneClick:H,onPaneMouseEnter:U,onPaneMouseMove:K,onPaneMouseLeave:Q,onPaneScroll:G,onPaneContextMenu:X,onEdgeContextMenu:Y,onEdgeMouseEnter:Z,onEdgeMouseMove:J,onEdgeMouseLeave:ee,onReconnect:te,onReconnectStart:ne,onReconnectEnd:re,reconnectRadius:ie,noDragClassName:oe,noWheelClassName:ae,noPanClassName:se,elevateEdgesOnSelect:le,disableKeyboardA11y:ce,nodeOrigin:ue,nodeExtent:fe,rfId:he})=>{const de=vKe(e,UVe),pe=vKe(t,tKe);return function(e){const t=lVe(),n=(0,V.useRef)(!1);(0,V.useEffect)(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}(o),V.createElement(HVe,{onPaneClick:H,onPaneMouseEnter:U,onPaneMouseMove:K,onPaneMouseLeave:Q,onPaneContextMenu:X,onPaneScroll:G,deleteKeyCode:O,selectionKeyCode:x,selectionOnDrag:A,selectionMode:k,onSelectionStart:g,onSelectionEnd:m,multiSelectionKeyCode:S,panActivationKeyCode:E,zoomActivationKeyCode:C,elementsSelectable:_,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:L,zoomOnPinch:j,zoomOnDoubleClick:W,panOnScroll:F,panOnScrollSpeed:z,panOnScrollMode:B,panOnDrag:q,defaultViewport:P,translateExtent:D,minZoom:R,maxZoom:I,onSelectionContextMenu:p,preventScrolling:N,noDragClassName:oe,noWheelClassName:ae,noPanClassName:se,disableKeyboardA11y:ce},V.createElement(pKe,null,V.createElement(hKe,{edgeTypes:pe,onEdgeClick:s,onEdgeDoubleClick:c,onlyRenderVisibleElements:T,onEdgeContextMenu:Y,onEdgeMouseEnter:Z,onEdgeMouseMove:J,onEdgeMouseLeave:ee,onReconnect:te,onReconnectStart:ne,onReconnectEnd:re,reconnectRadius:ie,defaultMarkerColor:$,noPanClassName:se,elevateEdgesOnSelect:!!le,disableKeyboardA11y:ce,rfId:he},V.createElement(wKe,{style:w,type:b,component:v,containerStyle:y})),V.createElement("div",{className:"react-flow__edgelabel-renderer"}),V.createElement(QVe,{nodeTypes:de,onNodeClick:a,onNodeDoubleClick:l,onNodeMouseEnter:u,onNodeMouseMove:f,onNodeMouseLeave:h,onNodeContextMenu:d,selectNodesOnDrag:M,onlyRenderVisibleElements:T,noPanClassName:se,noDragClassName:oe,disableKeyboardA11y:ce,nodeOrigin:ue,nodeExtent:fe,rfId:he})))};yKe.displayName="GraphView";var xKe=(0,V.memo)(yKe);const AKe=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],kKe={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:AKe,nodeExtent:AKe,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:$He.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:OHe,isValidConnection:void 0},SKe=({children:e})=>{const t=(0,V.useRef)(null);return t.current||(t.current=(n=(e,t)=>({...kKe,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:eVe(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(e=>({...r,...e}))})},setDefaultNodesAndEdges:(n,r)=>{const i=void 0!==n,o=void 0!==r,a=i?eVe(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:a,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:a,fitViewOnInitOptions:s,domNode:l,nodeOrigin:c}=t(),u=l?.querySelector(".react-flow__viewport");if(!u)return;const f=window.getComputedStyle(u),{m22:h}=new window.DOMMatrixReadOnly(f.transform),d=n.reduce((e,t)=>{const n=i.get(t.id);if(n?.hidden)i.set(n.id,{...n,[EHe]:{...n[EHe],handleBounds:void 0}});else if(n){const r=gHe(t.nodeElement);r.width&&r.height&&(n.width!==r.width||n.height!==r.height||t.forceUpdate)&&(i.set(n.id,{...n,[EHe]:{...n[EHe],handleBounds:{source:DVe(".source",t.nodeElement,h,c),target:DVe(".target",t.nodeElement,h,c)}},...r}),e.push({id:n.id,type:"dimensions",dimensions:r}))}return e},[]);JUe(i,c);const p=a||o&&!a&&tVe(t,{initial:!0,...s});e({nodeInternals:new Map(i),fitViewOnInitDone:p}),d?.length>0&&r?.(d)},updateNodePositions:(e,n=!0,r=!1)=>{const{triggerNodeChanges:i}=t(),o=e.map(e=>{const t={id:e.id,type:"position",dragging:r};return n&&(t.positionAbsolute=e.positionAbsolute,t.position=e.position),t});i(o)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:a,getNodes:s,elevateNodesOnSelect:l}=t();if(n?.length){if(o){const t=eVe(xVe(n,s()),i,a,l);e({nodeInternals:t})}r?.(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let a,s=null;r?a=n.map(e=>AVe(e,!0)):(a=kVe(o(),n),s=kVe(i,[])),iVe({changedNodes:a,changedEdges:s,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let a,s=null;r?a=n.map(e=>AVe(e,!0)):(a=kVe(i,n),s=kVe(o(),[])),iVe({changedNodes:s,changedEdges:a,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),a=r||i,s=(n||o()).map(e=>(e.selected=!1,AVe(e.id,!1)));iVe({changedNodes:s,changedEdges:a.map(e=>AVe(e.id,!1)),get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r?.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r?.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{t().d3Zoom?.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),i=r().filter(e=>e.selected).map(e=>AVe(e.id,!1)),o=n.filter(e=>e.selected).map(e=>AVe(e.id,!1));iVe({changedNodes:i,changedEdges:o,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(e=>{e.positionAbsolute=bHe(e.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:e=>{const{transform:n,width:r,height:i,d3Zoom:o,d3Selection:a,translateExtent:s}=t();if(!o||!a||!e.x&&!e.y)return!1;const l=Uqe.translate(n[0]+e.x,n[1]+e.y).scale(n[2]),c=[[0,0],[r,i]],u=o?.constrain()(l,c,s);return o.transform(a,u),n[0]!==u.x||n[1]!==u.y||n[2]!==u.k},cancelConnection:()=>e({connectionNodeId:kKe.connectionNodeId,connectionHandleId:kKe.connectionHandleId,connectionHandleType:kKe.connectionHandleType,connectionStatus:kKe.connectionStatus,connectionStartHandle:kKe.connectionStartHandle,connectionEndHandle:kKe.connectionEndHandle}),reset:()=>e({...kKe})}),r=Object.is,n?WBe(n,r):WBe)),V.createElement(sHe,{value:t.current},e);var n,r};SKe.displayName="ReactFlowProvider";const EKe=({children:e})=>(0,V.useContext)(aHe)?V.createElement(V.Fragment,null,e):V.createElement(SKe,null,e);EKe.displayName="ReactFlowWrapper";const CKe={input:TUe,default:CUe,output:MUe,group:PUe},OKe={default:eUe,straight:XHe,step:GHe,smoothstep:QHe,simplebezier:HHe},TKe=[0,0],_Ke=[15,15],MKe={x:0,y:0,zoom:1},PKe={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},DKe=(0,V.forwardRef)(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=CKe,edgeTypes:a=OKe,onNodeClick:s,onEdgeClick:l,onInit:c,onMove:u,onMoveStart:f,onMoveEnd:h,onConnect:d,onConnectStart:p,onConnectEnd:g,onClickConnectStart:m,onClickConnectEnd:b,onNodeMouseEnter:w,onNodeMouseMove:v,onNodeMouseLeave:y,onNodeContextMenu:x,onNodeDoubleClick:A,onNodeDragStart:k,onNodeDrag:S,onNodeDragStop:E,onNodesDelete:C,onEdgesDelete:O,onSelectionChange:T,onSelectionDragStart:_,onSelectionDrag:M,onSelectionDragStop:P,onSelectionContextMenu:D,onSelectionStart:R,onSelectionEnd:I,connectionMode:N=$He.Strict,connectionLineType:$=FHe.Bezier,connectionLineStyle:L,connectionLineComponent:j,connectionLineContainerStyle:F,deleteKeyCode:z="Backspace",selectionKeyCode:B="Shift",selectionOnDrag:W=!1,selectionMode:q=jHe.Full,panActivationKeyCode:H="Space",multiSelectionKeyCode:U=(PHe()?"Meta":"Control"),zoomActivationKeyCode:K=(PHe()?"Meta":"Control"),snapToGrid:Q=!1,snapGrid:G=_Ke,onlyRenderVisibleElements:X=!1,selectNodesOnDrag:Y=!0,nodesDraggable:Z,nodesConnectable:J,nodesFocusable:ee,nodeOrigin:te=TKe,edgesFocusable:ne,edgesUpdatable:re,elementsSelectable:ie,defaultViewport:oe=MKe,minZoom:ae=.5,maxZoom:se=2,translateExtent:le=AKe,preventScrolling:ce=!0,nodeExtent:ue,defaultMarkerColor:fe="#b1b1b7",zoomOnScroll:he=!0,zoomOnPinch:de=!0,panOnScroll:pe=!1,panOnScrollSpeed:ge=.5,panOnScrollMode:me=LHe.Free,zoomOnDoubleClick:be=!0,panOnDrag:we=!0,onPaneClick:ve,onPaneMouseEnter:ye,onPaneMouseMove:xe,onPaneMouseLeave:Ae,onPaneScroll:ke,onPaneContextMenu:Se,children:Ee,onEdgeContextMenu:Ce,onEdgeDoubleClick:Oe,onEdgeMouseEnter:Te,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,onEdgeUpdate:Pe,onEdgeUpdateStart:De,onEdgeUpdateEnd:Re,onReconnect:Ie,onReconnectStart:Ne,onReconnectEnd:$e,reconnectRadius:Le=10,edgeUpdaterRadius:je=10,onNodesChange:Fe,onEdgesChange:ze,noDragClassName:Be="nodrag",noWheelClassName:We="nowheel",noPanClassName:qe="nopan",fitView:He=!1,fitViewOptions:Ue,connectOnClick:Ve=!0,attributionPosition:Ke,proOptions:Qe,defaultEdgeOptions:Ge,elevateNodesOnSelect:Xe=!0,elevateEdgesOnSelect:Ye=!1,disableKeyboardA11y:Ze=!1,autoPanOnConnect:Je=!0,autoPanOnNodeDrag:et=!0,connectionRadius:tt=20,isValidConnection:nt,onError:rt,style:it,id:ot,nodeDragThreshold:at,...st},lt)=>{const ct=ot||"1";return V.createElement("div",{...st,style:{...it,...PKe},ref:lt,className:NBe(["react-flow",i]),"data-testid":"rf__wrapper",id:ot},V.createElement(EKe,null,V.createElement(xKe,{onInit:c,onMove:u,onMoveStart:f,onMoveEnd:h,onNodeClick:s,onEdgeClick:l,onNodeMouseEnter:w,onNodeMouseMove:v,onNodeMouseLeave:y,onNodeContextMenu:x,onNodeDoubleClick:A,nodeTypes:o,edgeTypes:a,connectionLineType:$,connectionLineStyle:L,connectionLineComponent:j,connectionLineContainerStyle:F,selectionKeyCode:B,selectionOnDrag:W,selectionMode:q,deleteKeyCode:z,multiSelectionKeyCode:U,panActivationKeyCode:H,zoomActivationKeyCode:K,onlyRenderVisibleElements:X,selectNodesOnDrag:Y,defaultViewport:oe,translateExtent:le,minZoom:ae,maxZoom:se,preventScrolling:ce,zoomOnScroll:he,zoomOnPinch:de,zoomOnDoubleClick:be,panOnScroll:pe,panOnScrollSpeed:ge,panOnScrollMode:me,panOnDrag:we,onPaneClick:ve,onPaneMouseEnter:ye,onPaneMouseMove:xe,onPaneMouseLeave:Ae,onPaneScroll:ke,onPaneContextMenu:Se,onSelectionContextMenu:D,onSelectionStart:R,onSelectionEnd:I,onEdgeContextMenu:Ce,onEdgeDoubleClick:Oe,onEdgeMouseEnter:Te,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,onReconnect:Ie??Pe,onReconnectStart:Ne??De,onReconnectEnd:$e??Re,reconnectRadius:Le??je,defaultMarkerColor:fe,noDragClassName:Be,noWheelClassName:We,noPanClassName:qe,elevateEdgesOnSelect:Ye,rfId:ct,disableKeyboardA11y:Ze,nodeOrigin:te,nodeExtent:ue}),V.createElement(BUe,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:d,onConnectStart:p,onConnectEnd:g,onClickConnectStart:m,onClickConnectEnd:b,nodesDraggable:Z,nodesConnectable:J,nodesFocusable:ee,edgesFocusable:ne,edgesUpdatable:re,elementsSelectable:ie,elevateNodesOnSelect:Xe,minZoom:ae,maxZoom:se,nodeExtent:ue,onNodesChange:Fe,onEdgesChange:ze,snapToGrid:Q,snapGrid:G,connectionMode:N,translateExtent:le,connectOnClick:Ve,defaultEdgeOptions:Ge,fitView:He,fitViewOptions:Ue,onNodesDelete:C,onEdgesDelete:O,onNodeDragStart:k,onNodeDrag:S,onNodeDragStop:E,onSelectionDrag:M,onSelectionDragStart:_,onSelectionDragStop:P,noPanClassName:qe,nodeOrigin:te,rfId:ct,autoPanOnConnect:Je,autoPanOnNodeDrag:et,onError:rt,connectionRadius:tt,isValidConnection:nt,nodeDragThreshold:at}),V.createElement(LUe,{onSelectionChange:T}),Ee,V.createElement(dHe,{proOptions:Qe,position:Ke}),V.createElement(QUe,{rfId:ct,disableKeyboardA11y:Ze})))});DKe.displayName="ReactFlow";const RKe=e=>e.domNode?.querySelector(".react-flow__edgelabel-renderer");function IKe({children:e}){const t=cHe(RKe);return t?(0,Ic.createPortal)(e,t):null}function NKe(e){return t=>{const[n,r]=(0,V.useState)(t),i=(0,V.useCallback)(t=>r(n=>e(t,n)),[]);return[n,r,i]}}const $Ke=NKe(xVe),LKe=NKe(function(e,t){return yVe(e,t)}),jKe={includeHiddenNodes:!1};function FKe({position:e,x:t,y:n,children:r}){const i={center:"translate(-50%, -50%)",[BHe.Top]:"translate(-50%, -100%)",[BHe.Bottom]:"translate(-50%, 0)",[BHe.Left]:"translate(-100%, -50%)",[BHe.Right]:"translate(0, -50%)"};return V.createElement("div",{style:{position:"absolute",transform:`${i[e]} translate(${t}px,${n}px)`},className:"nodrag nopan"},r)}var zKe=a(6743);const BKe=new(a.n(zKe)());function WKe({hasLayoutedCallback:e,elkOptions:t}){const{getNodes:n,setNodes:r,getEdges:i,setEdges:o,fitView:a}=lVe(),s=Qa(()=>{e?.(),a({maxZoom:1.2})});return(0,V.useEffect)(()=>{(e=>{const a={"elk.direction":e,...t};((e,t,n={})=>{const r=t.map(e=>({...e,sources:[e.source],targets:[e.target]})),i={id:"root",layoutOptions:n,children:e.map(e=>({...e,width:e.width??0,height:e.height??0})),edges:r};return BKe.layout(i).then(e=>{const t={};return{nodes:e.children?.map(e=>{const n={...e,position:{x:e.x,y:e.y}};return t[e.id]=n,n}),edges:e.edges?.map(e=>{const t=e.sources?.at(0),n=e.targets?.at(0);return pa(t,"sourceNodeId"),pa(n,"targetNodeId"),{...e,source:t,target:n}})}})})(n(),i(),a).then(({nodes:e=[],edges:t=[]})=>{r([...e]),o([...t]),s()}).catch(console.error)})("RIGHT")},[]),null}const qKe=V.forwardRef(({children:e},t)=>V.createElement(Ds,{ref:t,sx:{height:"100%"}},e));function HKe({data:e,id:t,children:n}){const r=function(){const e=uHe();return(0,V.useCallback)(t=>{const{domNode:n,updateNodeDimensions:r}=e.getState(),i=(Array.isArray(t)?t:[t]).reduce((e,t)=>{const r=n?.querySelector(`.react-flow__node[data-id="${t}"]`);return r&&e.push({id:t,nodeElement:r,forceUpdate:!0}),e},[]);requestAnimationFrame(()=>r(i))},[])}(),{handles:i}=e;return(0,V.useEffect)(()=>{r(t)},[i,t,r]),V.createElement(V.Fragment,null,n,i.map(({id:e,type:t,position:n,x:r,y:i})=>{const o={left:r,top:i,background:"transparent",border:"none",pointerEvents:"none",minWidth:"1px",minHeight:"1px",transform:[BHe.Right,BHe.Bottom].includes(n??BHe.Bottom)?"translate(-100%, -100%)":"none"};return V.createElement(SUe,{key:e,id:e,type:t,position:n??BHe.Bottom,style:o})}))}function UKe(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}function VKe(){return V.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},V.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function KKe(){return V.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},V.createElement("path",{d:"M0 0h32v4.2H0z"}))}function QKe(){return V.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},V.createElement("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"}))}function GKe(){return V.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},V.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"}))}function XKe(){return V.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},V.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"}))}const YKe=({children:e,className:t,...n})=>V.createElement("button",{type:"button",className:NBe(["react-flow__controls-button",t]),...n},e);YKe.displayName="ControlButton";const ZKe=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),JKe=({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:o,onZoomOut:a,onFitView:s,onInteractiveChange:l,className:c,children:u,position:f="bottom-left"})=>{const h=uHe(),[d,p]=(0,V.useState)(!1),{isInteractive:g,minZoomReached:m,maxZoomReached:b}=cHe(ZKe,UKe),{zoomIn:w,zoomOut:v,fitView:y}=lVe();return(0,V.useEffect)(()=>{p(!0)},[]),d?V.createElement(hHe,{className:NBe(["react-flow__controls",c]),position:f,style:e,"data-testid":"rf__controls"},t&&V.createElement(V.Fragment,null,V.createElement(YKe,{onClick:()=>{w(),o?.()},className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:b},V.createElement(VKe,null)),V.createElement(YKe,{onClick:()=>{v(),a?.()},className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:m},V.createElement(KKe,null))),n&&V.createElement(YKe,{className:"react-flow__controls-fitview",onClick:()=>{y(i),s?.()},title:"fit view","aria-label":"fit view"},V.createElement(QKe,null)),r&&V.createElement(YKe,{className:"react-flow__controls-interactive",onClick:()=>{h.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),l?.(!g)},title:"toggle interactivity","aria-label":"toggle interactivity"},g?V.createElement(XKe,null):V.createElement(GKe,null)),u):null};JKe.displayName="Controls";var eQe,tQe=(0,V.memo)(JKe);function nQe(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}function rQe({color:e,dimensions:t,lineWidth:n}){return V.createElement("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function iQe({color:e,radius:t}){return V.createElement("circle",{cx:t,cy:t,r:t,fill:e})}!function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"}(eQe||(eQe={}));const oQe={[eQe.Dots]:"#91919a",[eQe.Lines]:"#eee",[eQe.Cross]:"#e2e2e2"},aQe={[eQe.Dots]:1,[eQe.Lines]:1,[eQe.Cross]:6},sQe=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function lQe({id:e,variant:t=eQe.Dots,gap:n=20,size:r,lineWidth:i=1,offset:o=2,color:a,style:s,className:l}){const c=(0,V.useRef)(null),{transform:u,patternId:f}=cHe(sQe,nQe),h=a||oQe[t],d=r||aQe[t],p=t===eQe.Dots,g=t===eQe.Cross,m=Array.isArray(n)?n:[n,n],b=[m[0]*u[2]||1,m[1]*u[2]||1],w=d*u[2],v=g?[w,w]:b,y=p?[w/o,w/o]:[v[0]/o,v[1]/o];return V.createElement("svg",{className:NBe(["react-flow__background",l]),style:{...s,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:c,"data-testid":"rf__background"},V.createElement("pattern",{id:f+e,x:u[0]%b[0],y:u[1]%b[1],width:b[0],height:b[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${y[0]},-${y[1]})`},p?V.createElement(iQe,{color:h,radius:w/o}):V.createElement(rQe,{dimensions:v,color:h,lineWidth:i})),V.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${f+e})`}))}lQe.displayName="Background";var cQe=(0,V.memo)(lQe);const uQe=vs((0,bo.jsx)("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8m-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91"}));var fQe=a(9671),hQe={};hQe.styleTagTransform=fT(),hQe.setAttributes=sT(),hQe.insert=oT().bind(null,"head"),hQe.domAPI=rT(),hQe.insertStyleElement=cT(),tT()(fQe.A,hQe),fQe.A&&fQe.A.locals&&fQe.A.locals;const dQe=e=>{const{fitView:t,setViewport:n}=lVe(),r=Qa(()=>{const{x:r=0,y:i=0,zoom:o=1}=e||{};n({x:r,y:i,zoom:o}),t({maxZoom:1.2})});return r};function pQe(e){return Number.isNaN(e)?0:e}var gQe,mQe,bQe,wQe;function vQe(e,t){const n=e.id,r=t[n];pa(r,`Node ${n} does not exist`);const i=e.data.handles.map(e=>{const{sourceId:i,targetId:o}=e;if(i!==n&&o!==n)throw new Error(`Handle ${e.id} does not belong to table ${n}`);const a=i===n?o:i,s=t[a];pa(s,`Node ${a} does not exist`);const l=function(e,t){const n=gQe.fromNode(e),r=function(e,t){const n=e.width/2,r=e.height/2,i=e.x+n,o=e.y+r,a=t.x+t.width/2,s=t.y+t.height/2,l=(a-i)/(2*n)-(s-o)/(2*r),c=(a-i)/(2*n)+(s-o)/(2*r),u=1/(Math.abs(l)+Math.abs(c)),f=u*l,h=u*c,d=r*(-f+h)+o;return{x:pQe(n*(f+h)+i),y:pQe(d)}}(n,gQe.fromNode(t)),i=function(e,t){const n=Math.round(e.x),r=Math.round(e.y),i=Math.round(t.x),o=Math.round(t.y);return i<=n+1?BHe.Left:i>=n+e.width-1?BHe.Right:o<=r+1?BHe.Top:o>=e.y+e.height-1?BHe.Bottom:BHe.Top}(n,r);return{position:i,x:r.x-n.x,y:r.y-n.y}}(r,s);return{...e,...l}});if(!r)throw new Error(`Node ${n} does not exist`);const o=(0,$R.groupBy)(i,e=>e.position??BHe.Top);return Object.entries(o).map(([e,t])=>function(e,t,n){const{width:r,height:i}=n,o=e.length,a=[BHe.Top,BHe.Bottom].includes(t)?r:i,s=[BHe.Top,BHe.Bottom].includes(t)?e.sort((e,t)=>e.x-t.x):e.sort((e,t)=>e.y-t.y),l=a/(o+1);return s.map((e,n)=>{const r=n+1;return{...e,x:[BHe.Top,BHe.Bottom].includes(t)?r*l:e.x,y:[BHe.Left,BHe.Right].includes(t)?r*l:e.y}})}(t,e,gQe.fromNode(r))).flat()}function yQe(e){const{nodes:t,edges:n,nodeTypes:r,edgeTypes:i,onEdgeMouseEnter:o,onEdgeMouseLeave:a,onNodeMouseEnter:s,onNodeMouseLeave:l,onNodeClick:c,elkOptions:u,sx:f={}}=e,{shouldDisplayPanel:h,panelContent:d}="shouldDisplayPanel"in e?e:{shouldDisplayPanel:!1,panelContent:null},p=function(e=jKe){const t=cHe((e=>t=>0!==t.nodeInternals.size&&t.getNodes().filter(t=>!!e.includeHiddenNodes||!t.hidden).every(e=>void 0!==e[EHe]?.handleBounds))(e));return t}(),[g,m,b]=$Ke(t),[w]=LKe(n),{saveFlowToRestore:v,restoreSavedFlow:y}=function(){const[e,t]=(0,V.useState)(null),{setNodes:n,setEdges:r,toObject:i}=lVe(),o=Qa(()=>t(i())),a=dQe(e?.viewport);return{saveFlowToRestore:o,restoreSavedFlow:Qa(()=>{e&&(n(e.nodes||[]),r(e.edges||[]),a())})}}(),x=(0,V.useMemo)(()=>(0,$R.throttle)(()=>{m(e=>{const t=function(e){const t=e.filter(e=>e.data.handles.length>0),n=(0,$R.keyBy)(t,e=>e.id);return t.reduce((e,t)=>{const r=vQe(t,n);return e[t.id]=r,e},{})}(e);return e.map(e=>{const n=t[e.id];return n&&!(0,$R.isEqual)(n,e.data.handles)?{...e,data:{...e.data,handles:n}}:e})})},20),[m]),A=(0,V.useCallback)(e=>{b(e),e.some(e=>"position"===e.type)&&x()},[b,x]),k=GUe("Control"),S=GUe("Meta"),E=dQe(),C=Va(E);return V.createElement(Ds,{sx:{width:"100%",display:"flex",overflow:"hidden",height:800,...f}},V.createElement(DKe,{ref:C,preventScrolling:k||S,minZoom:.1,nodes:g,edges:w,onNodesChange:A,nodeTypes:r,edgeTypes:i,onNodeClick:(e,t)=>c?.(t),onEdgeMouseEnter:(e,t)=>o?.(t),onEdgeMouseLeave:(e,t)=>a?.(t),onNodeMouseEnter:(e,t)=>s?.(t),onNodeMouseLeave:(e,t)=>l?.(t)},V.createElement(tQe,null,V.createElement(YKe,{onClick:y},V.createElement(uQe,{sx:{fontSize:"16px",maxWidth:"16px !important",maxHeight:"16px !important"}}))),V.createElement(cQe,{variant:eQe.Dots,gap:12,size:1}),p&&V.createElement(WKe,{elkOptions:u,hasLayoutedCallback:()=>{x(),v()}})),h&&d)}function xQe(e,t){return{id:`${e.id}_${t}`,x:1,y:1,type:t,position:null,sourceId:e.source,targetId:e.target}}!function(e){e.fromNode=function(e){return pa(e.width,"attempting layout on node without width"),pa(e.height,"attempting layout on node without height"),{x:e.position.x,y:e.position.y,width:e.width,height:e.height}}}(gQe||(gQe={})),function(e){e.createIffNode=function(e){return{...e,position:{x:1,y:1},data:{handles:[]}}}}(mQe||(mQe={})),function(e){e.createIffEdge=function(e,t,n){const r=`${e}_${t}_${ba(6)}`;return{id:r,source:e,target:t,sourceHandle:r+"_source",targetHandle:r+"_target",type:n}}}(bQe||(bQe={})),function(e){e.createHandles=function(e){return[xQe(e,"source"),xQe(e,"target")]}}(wQe||(wQe={}));var AQe=a(781),kQe={};kQe.styleTagTransform=fT(),kQe.setAttributes=sT(),kQe.insert=oT().bind(null,"head"),kQe.domAPI=rT(),kQe.insertStyleElement=cT(),tT()(AQe.A,kQe),AQe.A&&AQe.A.locals&&AQe.A.locals;const SQe={highlightedTablesColumns:{},highlightedEdgesIds:[]},EQe=(e,t)=>{switch(t.type){case"node activated":return{...e,panelState:"open",activeNodeId:t.payload};case"panel close requested":return"open"===e.panelState?{...e,panelState:"waiting for close animation"}:e;case"closing animation finished":return"waiting for close animation"===e.panelState?{...e,panelState:"closed",activeNodeId:null}:e;default:return e}},CQe=V.createContext({tableFlowData:{},edgeFlowData:{},hoveredEdgeId:null,setHoveredEdgeId:$R.noop,hoveredNodeId:null,setHoveredNodeId:$R.noop,highlightState:SQe,adbPanelState:{activeNodeId:null,panelState:"closed"},dispatchPanelAction:$R.noop});function OQe({tableFlowData:e,edgeFlowData:t,children:n}){const[r,i]=V.useState(null),[o,a]=V.useState(null),[s,l]=V.useReducer(EQe,{activeNodeId:null,panelState:"closed"}),c=(0,V.useMemo)(()=>r?{hoveredEdgeId:r,tableFlowData:e,edgeFlowData:t}:o?{hoveredNodeId:o,tableFlowData:e,edgeFlowData:t}:null,[r,o,e,t]),u=(0,V.useMemo)(()=>c?function(e){if("hoveredEdgeId"in e){const{hoveredEdgeId:t,edgeFlowData:n}=e;return function(e){const t={};return t[e.sourceTableId]=e.er.src.key,t[e.targetTableId]=e.er.dst.key,{highlightedTablesColumns:t,highlightedEdgesIds:[e.id]}}(ga(n[t],"edgeFlowData must have hoveredEdgeId"))}if("hoveredNodeId"in e){const{hoveredNodeId:t,tableFlowData:n,edgeFlowData:r}=e;return function(e,t){const n=t.filter(t=>t.targetTableId===e.id||t.sourceTableId===e.id),r={};for(const e of n)r[e.sourceTableId]=r[e.sourceTableId]?[...r[e.sourceTableId]??[],...e.er.src.key]:e.er.src.key,r[e.targetTableId]=r[e.targetTableId]?[...r[e.targetTableId]??[],...e.er.dst.key]:e.er.dst.key;return{highlightedTablesColumns:r,highlightedEdgesIds:n.map(e=>e.id)}}(ga(n[t],"tableFlowData must have hoveredNodeId"),Object.values(r))}throw new Error("getHighlightedTablesColumnsAndHighlightedEdgesIds requires either edge or node to be passed in args.params")}(c):SQe,[c]),f=V.useMemo(()=>({tableFlowData:e,edgeFlowData:t,hoveredEdgeId:r,setHoveredEdgeId:i,hoveredNodeId:o,setHoveredNodeId:a,highlightState:u,adbPanelState:s,dispatchPanelAction:l}),[r,i,o,a,e,t,u,s,l]);return V.createElement(CQe.Provider,{value:f},n({setHoveredEdgeId:i,setHoveredNodeId:a,hoveredEdgeId:r,adbPanelState:s,dispatchPanelAction:l}))}function TQe(){return V.useContext(CQe)}function _Qe({cardinality:e,shouldDisplayCardinality:t}){const n={padding:"0px",border:"solid 1px "+(t?"#0086CC":"#b1b1b7"),transition:"all 50ms ease",width:t?"1.4em":"5px",height:t?"1.4em":"5px",display:"flex",justifyContent:"center",alignItems:"center",background:"white",borderRadius:t?"3px":"100%",fontSize:12};return V.createElement(ia,{elevation:0,sx:n},V.createElement(oD,{in:t,timeout:50},V.createElement(Ro,{sx:{fontSize:"inherit"}},e)))}const MQe={visibility:"hidden"},PQe={};function DQe(e,t,n,r){var i;const o=function(e,t,n,r=PQe){const{resetInlineTransform:i=!0}=r,o=n&&n.getBoundingClientRect(),a=NP(t);let s,l;if(i){const e=t.style.transform,n=t.style.transition;t.style.transition="",t.style.transform="",s=t.getBoundingClientRect(),l=a.getComputedStyle(t).getPropertyValue("transform"),t.style.transform=e,t.style.transition=n}else s=t.getBoundingClientRect(),l=a.getComputedStyle(t).getPropertyValue("transform");const{offsetX:c,offsetY:u}=function(e){if(!e||"none"===e)return Ho;const t=function(e){const t=e.match(/^(matrix|matrix3d|translate|translate3d|translateX|translateY)\((.+)\)$/);return t?{type:t[1],values:t[2].split(",").map(Go)}:null}(e);if(!t)return Ho;const{type:n,values:r}=t,i=Qo[n];return i?{offsetX:Xo(r,i[0]),offsetY:Xo(r,i[1])}:Ho}(l);return"left"===e?o?`translateX(${o.right+c-s.left}px)`:`translateX(${a.innerWidth+c-s.left}px)`:"right"===e?o?`translateX(-${s.right-o.left-c}px)`:`translateX(-${s.left+s.width-c}px)`:"up"===e?o?`translateY(${o.bottom+u-s.top}px)`:`translateY(${a.innerHeight+u-s.top}px)`:o?`translateY(-${s.top-o.top+s.height-u}px)`:`translateY(-${s.top+s.height-u}px)`}(e,t,"function"==typeof(i=n)?i():i,r);o&&(t.style.transform=o)}const RQe=V.forwardRef(function(e,t){const n=zo(),r={enter:n.transitions.easing.easeOut,exit:n.transitions.easing.sharp},i={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{addEndListener:o,appear:a=!0,children:s,container:l,disablePrefersReducedMotion:c=!1,direction:u="down",easing:f=r,in:h,onEnter:d,onEntered:p,onEntering:g,onExit:m,onExited:b,onExiting:w,style:v,timeout:y=i,...x}=e,A=Ys(n.motion.reducedMotion,c),k=V.useRef(null),S=V.useRef(!1),E=Js(zs(s),k,t),C=Yo(k,(e,t)=>{DQe(u,e,l),A.shouldReduceMotion||qo(e),d&&d(e,t)}),O=Yo(k,(e,t)=>{const r=Jo({timeout:y,style:v,easing:f},{mode:"enter"}),i=A.getTransitionTiming({duration:r.duration,delay:r.delay});e.style.transition=n.transitions.create("transform",{duration:i.duration,easing:r.easing,delay:i.delay}),e.style.transform="none",g&&g(e,t)}),T=Yo(k,p),_=Yo(k,w),M=Yo(k,e=>{const t=Jo({timeout:y,style:v,easing:f},{mode:"exit"}),r=A.getTransitionTiming({duration:t.duration,delay:t.delay});e.style.transition=n.transitions.create("transform",{duration:r.duration,easing:t.easing,delay:r.delay});const i="string"==typeof(o=e.style.transform)&&/^translate\(.+,\s*.+\)$/.test(o);var o;S.current=i,DQe(u,e,l,{resetInlineTransform:!i}),m&&m(e)}),P=Yo(k,e=>{S.current=!1,e.style.transition="",b&&b(e)}),D=o?e=>{o(k.current,e)}:void 0,R=V.useCallback(()=>{k.current&&DQe(u,k.current,l)},[u,l]);return V.useEffect(()=>{if(h||"down"===u||"right"===u)return;const e=QP(()=>{k.current&&DQe(u,k.current,l)}),t=NP(k.current);return t.addEventListener("resize",e),()=>{e.clear(),t.removeEventListener("resize",e)}},[u,h,l]),V.useEffect(()=>{h||S.current||R()},[h,R]),(0,bo.jsx)(qs,{nodeRef:k,onEnter:C,onEntered:T,onEntering:O,onExit:M,onExited:P,onExiting:_,addEndListener:D,appear:a,in:h,reduceMotion:A.shouldReduceMotion,timeout:y,...x,children:(e,{ownerState:t,...n})=>{let r;return r="exited"!==e||h?v&&s.props.style?{...v,...s.props.style}:v||s.props.style:v||s.props.style?{visibility:"hidden",...v,...s.props.style}:MQe,V.cloneElement(s,{ref:E,style:r,...n})}})}),IQe=RQe,NQe=Wje(),$Qe=({children:e})=>V.createElement(qje,{direction:"column",sx:{gap:"6px",width:"100%"}},e),LQe=({children:e})=>V.createElement(Ro,{variant:"subtitle2"},e),jQe=({maxHeight:e=150,children:t})=>V.createElement(Ds,{sx:{maxHeight:`${e}px`,overflowY:"auto",padding:"6px 12px",borderRadius:"6px",border:"1px solid #CDD5DF"}},t),FQe=({children:e})=>V.createElement(Ds,{sx:{display:"grid",width:"100%",gridTemplateColumns:"1fr fit-content(50%)",gap:"8px",alignItems:"center"}},e),zQe=({variant:e="online",color:t="text.primary",children:n})=>"multiline"===e?V.createElement(Ro,{variant:"body1"},n):V.createElement(m_,{title:n,typographyProps:{variant:"body1",color:t}},V.createElement(V.Fragment,null,n)),BQe=({availability:e})=>V.createElement($Qe,null,V.createElement(LQe,null,"Data Availability"),V.createElement(jQe,null,V.createElement(FQe,null,V.createElement(zQe,null,e?.column??"-"),V.createElement(zQe,{color:"text.secondary"},e?.lead_time??"-")))),WQe=({table:e})=>{let t=V.createElement(Ds,{sx:{display:"flex"}},V.createElement(zQe,null,"-"));if(e.disabled_columns&&e.disabled_columns.length>0){const n=(0,$R.keyBy)(e.columns,"column_name");t=e.disabled_columns.map(t=>{const r=n[t];return pa(r,`Column ${t} not found in table ${e.table_name}`),V.createElement(FQe,{key:r.column_name},V.createElement(zQe,null,r.column_name),V.createElement(zQe,{color:"text.secondary"},r.dtype))})}return V.createElement($Qe,null,V.createElement(LQe,null,"Disabled Columns"),V.createElement(jQe,null,t))},qQe=vs((0,bo.jsx)("path",{d:"M10 10.02h5V21h-5zM17 21h3c1.1 0 2-.9 2-2v-9h-5zm3-18H5c-1.1 0-2 .9-2 2v3h19V5c0-1.1-.9-2-2-2M3 19c0 1.1.9 2 2 2h3V10H3z"})),HQe=({tableName:e,onClose:t,rightSlot:n})=>V.createElement(Ds,{sx:{display:"flex",alignItems:"flex-end",gap:"16px"}},V.createElement(Ds,{sx:{display:"flex",alignItems:"center",gap:"16px",minWidth:"0",flex:"1"}},V.createElement(Ds,{sx:e=>({display:"flex",padding:"10px",borderRadius:"8px",border:`1px solid ${e.palette.grey[200]}`})},V.createElement(qQe,{sx:{width:"18px",height:"18px"}})),V.createElement(m_,{title:e,typographyProps:{variant:"h6"}},V.createElement("span",{"data-testid":S.nodeDetailsHeader},e)),n),V.createElement(nf,{"data-testid":S.nodeDetailsCloseButton,sx:{marginLeft:"auto",flex:"0 0 auto",alignSelf:"flex-start",padding:"8px"},size:"small",onClick:t},V.createElement(W_,{sx:{width:"20px",height:"20px"}})));HQe.RightSlot=({children:e})=>V.createElement(Ds,{sx:{marginLeft:"auto"}},e);const UQe=({predictionTimes:e})=>V.createElement($Qe,null,V.createElement(LQe,null,"Prediction Target Time"),V.createElement(jQe,null,V.createElement(FQe,null,V.createElement(zQe,null,e?.prediction_target_time??"-"),V.createElement(zQe,{color:"text.secondary"},e?.prediction_lead_time??"-")))),VQe=({primaryKey:e})=>{const t=e&&e.length>0?e.join(", "):"-";return V.createElement($Qe,null,V.createElement(LQe,null,"Primary Key"),V.createElement(jQe,null,V.createElement(zQe,null,t)))},KQe=({label:e,value:t,variant:n="multiline"})=>V.createElement($Qe,null,V.createElement(LQe,null,e),V.createElement(jQe,null,V.createElement(zQe,{variant:n},t))),QQe=({tableData:e,onClosePanel:t})=>(V.useEffect(()=>{const e=e=>{"Escape"===e.key&&t()};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[t]),V.createElement(V.Fragment,null,V.createElement(HQe,{tableName:e.table.table_name,onClose:t}),V.createElement(NQe,{spacing:"24px",sx:{pt:"24px"}},V.createElement(KQe,{label:"Description",value:e.table.description??"-"}),V.createElement(BQe,{availability:e.table.availability}),V.createElement(WQe,{table:e.table})))),GQe="#c5e1f0",XQe="rgb(37, 173, 13)",YQe=()=>V.createElement(jo,{sx:{display:"inline-flex",alignItems:"center",color:"white",bgcolor:XQe,fontSize:"10px",borderRadius:"0.4em",padding:"0 5px",textTransform:"uppercase",fontWeight:"700",height:"1.6em",lineHeight:"normal",letterSpacing:"0.05px"}},"target"),ZQe=({tableData:e,onClosePanel:t})=>V.createElement(V.Fragment,null,V.createElement(HQe,{tableName:e.table.table_name,onClose:t,rightSlot:V.createElement(HQe.RightSlot,null,V.createElement(YQe,null))}),V.createElement(NQe,{spacing:"24px","data-testid":S.targetTableContent,sx:{pt:"24px"}},V.createElement(KQe,{label:"Description",value:e.table.description??"-"}),V.createElement(VQe,{primaryKey:e.target.primary_key}),V.createElement(KQe,{variant:"online",label:"Prediction Type",value:e.target.prediction_type??"-"}),V.createElement(KQe,{variant:"online",label:"Target Column",value:e.target.target_column??"-"}),V.createElement(UQe,{predictionTimes:e.target.prediction_times}))),JQe=({tableData:e,onClosePanel:t})=>{if(V.useEffect(()=>{const e=e=>{"Escape"===e.key&&t()};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[t]),!e)return null;const n=DMe(e).with({kind:"target"},e=>V.createElement(ZQe,{tableData:e,onClosePanel:t})).with({kind:"source"},e=>V.createElement(QQe,{tableData:e,onClosePanel:t})).exhaustive();return V.createElement(Ds,{"data-testid":S.nodeDetails,sx:{height:"100%",paddingTop:1,paddingBottom:1,boxSizing:"border-box"}},V.createElement(ia,{sx:{height:"100%",boxSizing:"border-box",width:"min(90vw, 400px)",padding:"24px 24px 0 24px"}},n))},eGe=()=>{const{adbPanelState:e,dispatchPanelAction:t,tableFlowData:n}=TQe();if("closed"===e.panelState)return null;const r=n[e.activeNodeId??""]??null,i="open"===e.panelState;return V.createElement(IQe,{direction:"left",in:i,mountOnEnter:!0,unmountOnExit:!0,onExited:()=>{t({type:"closing animation finished"})}},V.createElement(qKe,null,V.createElement(JQe,{tableData:r,onClosePanel:()=>{t({type:"panel close requested"})}})))},tGe=["availabilityColumns","erColumns","otherColumns"],nGe=["primaryKeyColumns","predictionTargetTimeColumn","targetColumn","erColumns","otherColumns","systemColumns"];function rGe({table_name:e,columns:t},n,r){const i=n.primary_key??[],o=oGe(n._target_column_origin),a=oGe(n.prediction_times?.prediction_target_time),s=Array.from(r[e]??[]),l=aGe(t,o,i,o,a,s),[c,u]=function(e){const t=["__sample","__target"],n=e.filter(e=>t.includes(e));return[(0,$R.difference)(e,n),n]}(l);return{primaryKeyColumns:i,predictionTargetTimeColumn:a,targetColumn:o,erColumns:s,systemColumns:u,otherColumns:c}}function iGe({table_name:e,availability:t,columns:n},r){const i=Array.from(r[e]??[]),o=oGe(t?.column);return{erColumns:i,availabilityColumns:o,otherColumns:aGe(n,o,i)}}function oGe(e){return e?[e]:[]}function aGe(e,...t){return(0,$R.difference)(e.map(function(e){return e.column_name}),t.flat(),"column_name")}var sGe,lGe;function cGe(e){const t=e.src.key.join(", "),n=e.dst.key.join(", ");return t!==n?`${t} — ${n}`:t}!function(e){e.isTargetTableData=function(e){return"target"===e.kind},e.isSourceTableData=function(e){return"source"===e.kind}}(sGe||(sGe={})),function(e){e.createAdbTableFlowData=function(e,t,n){return e.table_name===t?.table_name?{kind:"target",table:e,id:e.table_name,target:t,columnsGroupsConfig:rGe(e,t,n)}:{kind:"source",id:e.table_name,table:e,columnsGroupsConfig:iGe(e,n)}}}(sGe||(sGe={})),function(e){e.createAdbErFlowData=function(e,t,n,r){return{id:e,er:r,sourceTableId:t,targetTableId:n,label:cGe(r)}}}(lGe||(lGe={}));const uGe=ho(({isHighlighted:e,...t})=>V.createElement("button",{...t}))(({isHighlighted:e,theme:t})=>({...t.typography.body1,fontWeight:400,paddingTop:3,paddingBottom:3,display:"flex",alignItems:"center",paddingInline:"8px",border:"none",background:e?GQe:"transparent",cursor:"pointer"}));function fGe({otherColumnsCount:e,isHighlighted:t}){if(!e)return null;const n=1===e?`${e} more column...`:`${e} more columns...`;return V.createElement(uGe,{"data-testid":S.tableMoreButton,isHighlighted:t},n)}function hGe({columnName:e,columnType:t,isHighlighted:n,type:r="normal"}){const i="target"===r?{fontWeight:600}:{fontWeight:"normal"};return V.createElement(Ds,{"data-testid":S.getTableCell(e),sx:{px:"8px",py:"3px",display:"flex",alignItems:"center",gap:"8px",boxSizing:"border-box",justifyContent:"space-between",bgcolor:n?GQe:void 0}},"target"===r&&V.createElement("div",{style:{backgroundColor:XQe,width:"4px",alignSelf:"stretch",marginRight:"-6px",marginLeft:"-8px"}}),V.createElement(p_,{title:e,childrenStyle:{flex:1}},V.createElement(Ro,{variant:"body1",sx:{fontWeight:i.fontWeight,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",lineHeight:1.5}},e)),V.createElement(Ro,{variant:"body1",sx:{fontWeight:i.fontWeight,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",lineHeight:1.5}},t))}function dGe({table:e,highlightedColumns:t,displayedColumnsNames:n,target:r}){const i=e.columns,o=(0,$R.keyBy)(i,"column_name"),a=i.length-n.length,s=e=>r&&e===r._target_column_origin?"target":"normal";return V.createElement(Ds,{className:"adb-table-body",sx:{display:"flex",flexDirection:"column"}},n.map(e=>o[e]&&V.createElement(hGe,{key:e,columnName:e,columnType:o[e].dtype,isHighlighted:t?.includes(e),type:s(e)})),V.createElement(fGe,{otherColumnsCount:a}))}function pGe({tableName:e,isTarget:t,children:n}){return V.createElement(Ds,{sx:{bgcolor:"#5c5f61",p:"8px",display:"flex",alignItems:"center"}},V.createElement(p_,{title:e,childrenStyle:{marginRight:"auto"}},V.createElement(Ro,{variant:"body1",sx:{color:"white",lineHeight:"1.5",overflow:"hidden",textOverflow:"ellipsis",fontWeight:"500",textWrap:"nowrap"}},e)),t&&V.createElement(Ds,{"data-testid":S.targetLabel,sx:{display:"inline-flex",alignItems:"center",color:"white",bgcolor:XQe,fontSize:"10px",borderRadius:"0.4em",padding:"0 5px",textTransform:"uppercase",fontWeight:"700",height:"1.6em",lineHeight:"normal",letterSpacing:"0.05px"}},"target"),n)}function gGe({table:e,highlightedColumns:t,displayedColumnsNames:n,target:r,isSelected:i=!1}){return V.createElement(Ds,{sx:{width:"240px",bgcolor:"#FAFAFA",borderRadius:"4px",overflow:"hidden",border:i?"1px solid #4fc3f7":"1px solid #b1b1b7",cursor:"pointer"}},V.createElement(pGe,{tableName:e.table_name,isTarget:!!r}),V.createElement(dGe,{table:e,target:r,highlightedColumns:t,displayedColumnsNames:n}))}function mGe({id:e}){const{hoveredEdgeId:t,hoveredNodeId:n,tableFlowData:r,highlightState:i,adbPanelState:o}=TQe(),a=i.highlightedTablesColumns[e],s=r[e];pa(s,"Table flow data not found");const l=sGe.isTargetTableData(s)?s.target:null,c=!!t||!!n,u=!(0,$R.isEmpty)(i.highlightedTablesColumns),f=c&&u&&!a?"opacity(0.5)":"",h=o.activeNodeId===e,d=(e=>{if(sGe.isSourceTableData(e))return bGe({columnsGroupsConfig:e.columnsGroupsConfig,columnsGroupsOrder:tGe});if(sGe.isTargetTableData(e))return bGe({columnsGroupsConfig:e.columnsGroupsConfig,columnsGroupsOrder:nGe});throw new Error("Unknown table data type")})(s);return V.createElement("div",{style:{filter:f}},V.createElement(gGe,{isSelected:h,table:s.table,target:l,highlightedColumns:a,displayedColumnsNames:d}))}function bGe({columnsGroupsConfig:e,columnsGroupsOrder:t,minimalAmountOfColumns:n=10}){const r=t.filter(e=>"otherColumns"!==e),i=(0,$R.chain)(r).map(t=>e[t]).flatten().uniq().value().length;if(i>=n)return wGe(e,r);const o=n-i,a=e.otherColumns.slice(0,o);return wGe({...e,otherColumns:a},t)}function wGe(e,t){return(0,$R.chain)(t).map(t=>e[t]).filter(_a).flatten().uniq().value()}const vGe=(0,V.memo)(({er:e,open:t,children:n})=>V.createElement(hu,{"data-testid":S.edgeDetails,open:t,title:e&&V.createElement(Ds,{sx:{padding:"8px"}},V.createElement(Ds,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"}},V.createElement(Ro,{variant:"body2",sx:{mr:"20px"}},e.src.table_name),V.createElement(Ro,{variant:"body2",sx:{ml:"20px"}},e.dst.table_name)),V.createElement("br",null),(0,$R.zip)(e.src.key,e.dst.key).map(([e,t],n)=>V.createElement(Ds,{key:n,sx:{display:"flex",justifyContent:"space-between"}},V.createElement(Ds,{component:"span",sx:{mr:"20px"}},e),V.createElement(Ds,{component:"span",sx:{ml:"20px"}},t)))),followCursor:!0,slotProps:{tooltip:{sx:{padding:"0px"}},transition:{exit:!1}}},n));function yGe(e){const{edges:t,nodes:n,erIdMap:r}=function(e){const t=[],n=new Map,r=new Map,i=e.entity_relationships;for(const e of i){const i=e.src.table_name,o=e.dst.table_name,a=n.get(i)??mQe.createIffNode({id:i,type:"adbTable"}),s=n.get(o)??mQe.createIffNode({id:o,type:"adbTable"}),l=bQe.createIffEdge(i,o,"adbEdge");r.set(l.id,e);const[c,u]=wQe.createHandles(l);a.data.handles.push(c),s.data.handles.push(u),t.push(l),n.set(a.id,a),n.set(s.id,s)}for(const t of e.tables)if(!n.get(t.table_name)){const e=mQe.createIffNode({id:t.table_name,type:"adbTable"});n.set(e.id,e)}return{edges:t,nodes:[...n.values()],erIdMap:r}}(e),{flowDataEdges:i,flowDataNodes:o}=function(e,t,n){const r=function(e){const t={};return e.reduce((e,t)=>{n(t.src.table_name),n(t.dst.table_name),function(e,t){if(e.length!==t.length)throw new Error(`Expected arrays to be of equal length: ${e.length} !== ${t.length}`)}(t.src.key,t.dst.key);for(const[n,r]of(0,$R.zip)(t.src.key,t.dst.key))e[t.src.table_name]?.add(n),e[t.dst.table_name]?.add(r);return e},t);function n(e){t[e]||(t[e]=new Set)}}(e.entity_relationships),i=(0,$R.keyBy)(e.tables,"table_name"),o=new Map,a=[];for(const s of t){const t=s.source,l=s.target,c=o.get(t)??sGe.createAdbTableFlowData(ga(i[t],"tablesMap must have sourceId"),e.target,r),u=o.get(l)??sGe.createAdbTableFlowData(ga(i[l],"tablesMap must have targetId"),e.target,r),f=n.get(s.id);pa(f,"edge must have a corresponding er");const h=lGe.createAdbErFlowData(s.id,t,l,f);a.push(h),o.set(c.id,c),o.set(u.id,u)}for(const t of e.tables)if(!o.get(t.table_name)){const n=sGe.createAdbTableFlowData(t,e.target,r);o.set(n.id,n)}return{flowDataEdges:(0,$R.keyBy)(a,"id"),flowDataNodes:Object.fromEntries(o)}}(e,t,r);return{edges:t,nodes:n,flowDataEdges:i,flowDataNodes:o}}const xGe={adbTable:e=>V.createElement(HKe,{...e},V.createElement(mGe,{...e}))},AGe={adbEdge:function({id:e,sourceX:t,sourceY:n,targetX:r,targetY:i,sourcePosition:o,targetPosition:a}){const{hoveredEdgeId:s,hoveredNodeId:l,edgeFlowData:c,highlightState:u}=TQe(),f=c[e],h=u.highlightedEdgesIds.includes(e);pa(f,"AdbEdge - data");const[d]=KHe({sourceX:t,sourceY:n,targetX:r,targetY:i,sourcePosition:o,targetPosition:a,offset:10}),p=(()=>{const e={};return h?e.stroke="#0086CC":(s||l)&&(e.filter="opacity(0.5)"),e})();return V.createElement(V.Fragment,null,V.createElement(DHe,{path:d,style:p}),V.createElement(IKe,null,V.createElement(FKe,{position:a,x:r,y:i},V.createElement(_Qe,{shouldDisplayCardinality:!!h,cardinality:f?.er.dst.cardinality??"-"}))),V.createElement(IKe,null,V.createElement(FKe,{position:o,x:t,y:n},V.createElement(_Qe,{shouldDisplayCardinality:!!h,cardinality:f.er.src.cardinality??"-"}))))}},kGe={"elk.algorithm":"layered","elk.spacing.nodeNode":"80","elk.edgeRouting":"ORTHOGONAL","elk.layered.spacing.nodeNodeBetweenLayers":"100","layered.nodePlacement.strategy":"NETWORK_SIMPLEX"};function SGe({value:e}){const{edges:t,nodes:n,flowDataEdges:r,flowDataNodes:i}=(0,V.useMemo)(()=>yGe(e),[e]);return V.createElement(OQe,{edgeFlowData:r,tableFlowData:i},({setHoveredEdgeId:e,setHoveredNodeId:i,hoveredEdgeId:o,adbPanelState:a,dispatchPanelAction:s})=>{const l="open"===a.panelState||"waiting for close animation"===a.panelState;return V.createElement(vGe,{open:!!o,er:r[o??""]?.er},V.createElement("div",null,V.createElement(SKe,null,V.createElement(yQe,{nodes:n,edges:t,nodeTypes:xGe,edgeTypes:AGe,shouldDisplayPanel:l,panelContent:V.createElement(eGe,null),onEdgeMouseEnter:t=>{return n=t.id,void e(n);var n},onEdgeMouseLeave:()=>{e(null)},onNodeMouseEnter:e=>{return t=e.id,void i(t);var t},onNodeMouseLeave:()=>{i(null)},onNodeClick:e=>{var t;(t=e.id)!==a.activeNodeId?s({type:"node activated",payload:t}):s({type:"panel close requested"})},elkOptions:kGe}))))})}function EGe(){const[e]=Za("value");return V.createElement(SGe,{value:e})}const CGe={value:{tables:[],entity_relationships:[],target:null}};class OGe extends RBe.DOMWidgetModel{defaults(){return{...super.defaults(),_model_name:"AdbWidgetModel",_model_module:y,_model_module_version:v,_view_name:"AdbWidgetView",_view_module:y,_view_module_version:v,_module_version:v,...CGe}}static serializers={...RBe.DOMWidgetModel.serializers}}class TGe extends RBe.DOMWidgetView{render(){try{const e=V.createElement(DBe,{additionalClasses:["adb-widget"],model:this.model},V.createElement(EGe,null));IBe.createRoot(this.el).render(e)}catch(e){console.error("AdbWidgetView",e)}}}const _Ge=({alert:e})=>{const t=ha();return V.createElement(Ts,{type:e.type,title:e.header,msg:e.msg&&d_({msg:e.msg},t)("msg"),sx:{maxWidth:"900px"}})},MGe=()=>V.createElement(Ds,{"data-testid":P},V.createElement(_Ge,{alert:{header:"Nothing to show",type:oa.SUCCESS,msg:null}})),PGe=(0,V.createContext)(void 0),DGe=({children:e,transformationApi:t})=>V.createElement(PGe.Provider,{value:t},e),RGe=[oa.ERROR,oa.WARNING,oa.INFO],IGe={[oa.INFO]:{message:"Information",color:"textPrimary"},[oa.WARNING]:{message:"Warning",color:"warning.main"},[oa.ERROR]:{message:"Critical Error",color:"error.main"},[oa.SUCCESS]:{message:"No Issues",color:"textPrimary"}};var NGe;!function(e){e.ADDED="added",e.IGNORED="ignored",e.NEEDS_REVIEW="needs_review"}(NGe||(NGe={}));const $Ge=["id","details","status"],LGe=({sx:e={},onClick:t,children:n,testId:r})=>V.createElement(YO,{variant:"outlined",sx:{backgroundColor:"#F8FAFC",textTransform:"none",color:"#202939",borderColor:"#CDD5DF",...e},size:"small",onClick:t,"data-testid":r},n),jGe=(e,t)=>"function"==typeof e?{...t,accessorFn:e}:{...t,accessorKey:e},FGe=e=>e,zGe=({data:e,hasStatusProperty:t,updateStatus:n})=>{const r=ha(),i=(0,V.useMemo)(()=>e.columns.filter(e=>!$Ge.includes(e)).map(e=>FGe({header:e,cell:({row:t})=>V.createElement(m_,{title:t.original[e]?.toString()||"null"},V.createElement("span",null,t.original[e]?.toString()||"null"))})),[e.columns]),o=(0,V.useMemo)(()=>[FGe({header:"",id:"expander",meta:{gridColumnSize:"34px",align:"center"},cell:({row:e})=>e.original.details?V.createElement(nf,{"aria-label":e.getIsExpanded()?"Collapse row":"Expand row","data-testid":N(e.original.id),size:"small",onClick:()=>{e.toggleExpanded()}},e.getIsExpanded()?V.createElement(FO,null):V.createElement(jO,null)):null}),...i,...t?[jGe("status",{header:"Status",cell:({row:e})=>V.createElement(V.Fragment,null,e.original.status&&V.createElement(BGe,{status:e.original.status,"data-testid":$(e.original.id)})),meta:{gridColumnSize:"120px"}}),jGe("actions",{header:"Actions",cell:({row:e})=>V.createElement(V.Fragment,null,e.original.status&&V.createElement(WGe,{transformationId:e.original.id,status:e.original.status,onStatusChange:n})),meta:{gridColumnSize:"160px"}})]:[]],[i,t,n]);return V.createElement(sje,{data:e.rows,columns:o,pagination:{initialPageSize:10,pageSizeOptions:[5,10,25,50]},sx:{cell:{minHeight:"38px"}},rowDetails:{getRowCanExpand:e=>!!e.original.details,renderExpandedContent:(e,t)=>{return V.createElement(Ro,{component:"div",variant:"body1","data-testid":j(t.original.id),sx:{p:4,mr:"250px"}},t.original.details&&(n=t.original.details,i=t.original.id,d_({details:n},r)("details",{code_block:(e,t)=>V.createElement(yT,{sx:{maxWidth:"900px"},isCopyButtonEnabled:r?.areNavigatorClipboardWritePermissionsGranted,code:Pa(qT(e,t)),"data-testid":F(i)})})));var n,i}}})},BGe=({status:e,...t})=>V.createElement("span",{...t},e===NGe.NEEDS_REVIEW&&V.createElement(O_,{label:"Needs Review",color:"warning",variant:"outlined",size:"small"}),e===NGe.ADDED&&V.createElement(O_,{label:"Added",color:"success",variant:"outlined",size:"small"}),e===NGe.IGNORED&&V.createElement(O_,{label:"Ignored",color:"default",variant:"outlined",size:"small"})),WGe=({transformationId:e,status:t,onStatusChange:n})=>{const{triggerAction:r,isBusy:i}=Ua(n);return V.createElement(Ds,{sx:{display:"flex",gap:2,padding:1,flex:"1 0 auto"}},i?V.createElement(Ds,{sx:{display:"flex",alignItems:"center",marginLeft:"auto",marginRight:"auto"}},V.createElement(Xu,{size:16})):t===NGe.NEEDS_REVIEW?V.createElement(V.Fragment,null,V.createElement(LGe,{testId:L(e,"add"),onClick:()=>r(e,NGe.ADDED)},"Add"),V.createElement(LGe,{testId:L(e,"ignore"),onClick:()=>r(e,NGe.IGNORED)},"Ignore")):V.createElement(LGe,{testId:L(e,"undo"),onClick:()=>r(e,NGe.NEEDS_REVIEW)},"Undo"))},qGe=({section:e,sx:t})=>{const{data:n,status:r,msg:i,header:o,hasStatuses:a}=e,s=(()=>{const e=(0,V.useContext)(PGe);if(e)return e;throw new Error("useTransformation() can only be used within TransformationProvider")})(),l=ha(),{triggerAction:c,isBusy:u}=Ua(s.updateTransformationStatuses);function f(e){const t={};n.rows.forEach(n=>{t[n.id]=e}),c({transformations:t})}const h=(0,V.useMemo)(()=>a?{columns:n.columns,rows:n.rows.map(e=>({...e,status:s.transformationStatuses[e.id]??NGe.NEEDS_REVIEW}))}:n,[n,a,s.transformationStatuses]);return V.createElement(ia,{variant:"outlined","data-testid":R(a?"required":"optional"),sx:{...t,display:"flex",flexDirection:"column",padding:3}},V.createElement(tMe,{variant:"row",gap:6,sx:{mb:2,ml:1,gridTemplateColumns:"auto 250px"}},V.createElement(Os,{type:r,title:o},i&&d_({msg:i},l)("msg")),a&&V.createElement(Ds,{sx:{display:"flex",gap:3,justifyContent:"flex-end",alignItems:"end"}},u?V.createElement(Xu,{size:16}):V.createElement(V.Fragment,null,V.createElement(LGe,{testId:I("add-all"),onClick:()=>f(NGe.ADDED)},"Add all"),V.createElement(LGe,{testId:I("ignore-all"),onClick:()=>f(NGe.IGNORED)},"Ignore all"),V.createElement(LGe,{testId:I("undo-all"),onClick:()=>f(NGe.NEEDS_REVIEW)},"Undo all")))),V.createElement(Ds,null,V.createElement(zGe,{data:h,hasStatusProperty:a,updateStatus:(e,t)=>s.updateTransformationStatuses({transformations:{[e]:t}})})))},HGe=({section:e})=>"table"===e.type?V.createElement(Ds,{sx:{minWidth:"500px"}},V.createElement("h3",{className:"grey-label"},e.header),V.createElement(xPe,{data:e.data,config:{size:"small"},"data-testid":_})):"chart"===e.type?V.createElement(Ds,{sx:{minWidth:"500px"}},V.createElement("h3",{className:"grey-label"},e.header),V.createElement(eMe,{vegaSpec:e.chartConfig,"data-testid":M})):"transformation"===e.type?V.createElement(qGe,{section:e,sx:{width:"100%"}}):V.createElement(_Ge,{alert:{header:"Unknown section type",type:oa.ERROR,msg:null}}),UGe=({duration_s:e,sx:t={}})=>V.createElement(Ro,{variant:"body2",sx:{ml:"auto",color:"#757575",...t}},(e=>{!function(e){if(e<0)throw new Error("Argument `seconds` must be a non-negative number")}(e);const t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60),i=Number((e%60).toFixed(1)),o=[];return t>0&&o.push(`${t}d`),n>0&&o.push(`${n}h`),0===t&&r>0&&o.length<2&&o.push(`${r}m`),0===t&&0===n&&i>0&&o.length<2&&o.push(`${i}s`),0===o.length&&o.push(`${i}s`),o.join(" ")})(e)),VGe=vs((0,bo.jsx)("path",{d:"M19 13H5v-2h14z"}));function KGe(e,t){const n=(0,$R.countBy)(e.alerts,"type"),r=function(e,t){const n=(e.filter(e=>"transformation"===e.type).map(e=>{const n=e.data.rows.filter(n=>!(!(0,$R.isEmpty)(t)&&e.hasStatuses)||t[n.id]!==NGe.IGNORED);return{type:e.status,count:n.length}})??[]).reduce((e,{type:t,count:n})=>(e[t]=(e[t]||0)+n,e),{});return n}(e.details??[],t),i=(0,$R.mergeWith)({},n,r,(e,t)=>(e||0)+(t||0));return(0,$R.isEmpty)(i)?null:i}function QGe(e){return 0===Object.keys(e).length||1===Object.keys(e).length&&(e[oa.SUCCESS]??0)>0}const GGe="42px",XGe=({alertsMap:e,disabled:t})=>{const n=[...RGe].reverse();return t?V.createElement(O_,{icon:V.createElement(VGe,{sx:{fontSize:"1rem"}}),color:"default",size:"small",variant:"outlined","data-testid":C("disabled"),sx:{minWidth:GGe,justifyContent:"center",alignItems:"center"}}):!e||QGe(e)?V.createElement(O_,{icon:V.createElement(B_,{sx:{fontSize:"1rem"}}),color:oa.SUCCESS,size:"small",variant:"outlined","data-testid":C(oa.SUCCESS),sx:{minWidth:GGe,justifyContent:"center",alignItems:"center"}}):V.createElement(Ds,{sx:{display:"flex",alignItems:"center",gap:1}},n.map(t=>{const n=e[t]??0,r=n>999;return n>0?V.createElement(O_,{key:t,icon:V.createElement(As,{type:t,sx:{fontSize:"1rem"}}),color:t,size:"small",variant:"outlined","data-testid":C(t),sx:{minWidth:GGe},label:V.createElement(Ro,{"data-testid":O(t),sx:{fontSize:"0.875rem"}},r?"999+":n)}):null}))},YGe=({alertsMap:e,disabled:t})=>{if(t)return V.createElement(Ro,{color:"textSecondary","data-testid":E},"N/A");if(!e||QGe(e))return V.createElement(Ro,{color:IGe.success.color,"data-testid":E},IGe.success.message);for(const t of RGe)if(e[t]&&(e[t]??0)>0)return V.createElement(Ro,{color:IGe[t].color,"data-testid":E},IGe[t].message)};function ZGe({checks:e,transformationApi:t}){const n=e.map((e,n)=>V.createElement(SFe,{key:n,"data-testid":T},V.createElement(PFe,{expandIcon:V.createElement(Fo,null)},V.createElement(tMe,{variant:"row",gap:2,sx:{width:"100%",gridTemplateColumns:"350px auto auto",alignItems:"center"}},V.createElement(Ds,{sx:{display:"inline-flex"}},V.createElement(m_,{title:e.title},V.createElement("span",null,e.title))),V.createElement(Ds,{sx:{display:"flex",alignItems:"center",gap:1}},V.createElement(XGe,{alertsMap:KGe(e,t.transformationStatuses),disabled:e.disabled}),V.createElement(YGe,{alertsMap:KGe(e,t.transformationStatuses),disabled:e.disabled})),V.createElement(UGe,{duration_s:e.duration_s,sx:{ml:"auto"}}))),V.createElement(NFe,{sx:{pt:4}},(e=>!(e.alerts&&0!==e.alerts.length||e.details&&0!==e.details.length))(e)&&V.createElement(MGe,null),V.createElement(tMe,{variant:"column",gap:4,sx:{maxWidth:1500}},e.alerts&&e.alerts.length>0&&e.alerts.map((e,t)=>V.createElement(_Ge,{key:t,alert:e})),e.details&&e.details.length>0&&V.createElement(Ds,{sx:{display:"flex",rowGap:4,columnGap:12,flexWrap:"wrap"},className:"check-data-grid"},e.details.map((e,t)=>V.createElement(HGe,{key:t,section:e})))))));return 0===n.length?null:V.createElement(DGe,{transformationApi:t},n)}function JGe({getTransformationResult:e}){const t=ha(),[n,r]=(0,V.useState)(null),[i,o]=(0,V.useState)(!0);return(0,V.useEffect)(()=>{o(!0),e().then(e=>{r(e),o(!1)})},[e]),i?V.createElement(t$,null):n?V.createElement(Ds,{"data-testid":D,sx:{maxWidth:"900px",m:2}},d_({content:n},t)("content")):null}const eXe=({checks:e,transformationApi:t,getTransformationResult:n})=>V.createElement(x$e,{tabs:[{title:"Checks",view:V.createElement(ZGe,{checks:e,transformationApi:t})},{title:"Code Preview",view:V.createElement(JGe,{getTransformationResult:n})}]});function tXe(){const[e]=Za("checks"),[t]=Za("transformation_statuses"),n=Ea("update_transformation_statuses"),r=Ea("get_transformation_result");return V.createElement(eXe,{checks:e,transformationApi:{transformationStatuses:t,updateTransformationStatuses:n},getTransformationResult:r})}const nXe={checks:[],transformation_statuses:{}};class rXe extends RBe.DOMWidgetModel{defaults(){return{...super.defaults(),_model_name:"ScgCheckDataWidgetModel",_model_module:y,_model_module_version:v,_view_name:"ScgCheckDataWidgetView",_view_module:y,_view_module_version:v,_module_version:v,...nXe}}static serializers={...RBe.DOMWidgetModel.serializers}}class iXe extends RBe.DOMWidgetView{backendApi=new va(this);render(){Promise.all([da()]).then(([e])=>{try{const t=V.createElement(DBe,{model:this.model,api:this.backendApi,additionalClasses:["check-data-widget"]},V.createElement(fa,{areNavigatorClipboardWritePermissionsGranted:e,environment:"notebook"},V.createElement(tXe,null)));IBe.createRoot(this.el).render(t)}catch(e){console.error("CheckDataView",e)}})}}const oXe=(0,V.createContext)(null),aXe=({children:e})=>{const t=(0,V.useRef)(new Set),n=(0,V.useRef)(new Set),r=(0,V.useCallback)(e=>(t.current.add(e),()=>{t.current.delete(e)}),[]),i=(0,V.useCallback)(e=>(n.current.add(e),()=>{n.current.delete(e)}),[]),o=(0,V.useCallback)(()=>{t.current.forEach(e=>e())},[]),a=(0,V.useCallback)(()=>{n.current.forEach(e=>e())},[]);return V.createElement(oXe.Provider,{value:(0,V.useMemo)(()=>({subscribeToShow:r,subscribeToHide:i,triggerShow:o,triggerHide:a}),[r,i,o,a])},e)},sXe=()=>{const e=(0,V.useContext)(oXe);if(!e)throw new Error("useDataDictionaryPreview must be used within a DataDictionaryPreviewProvider");return e},lXe=({dictionaryKey:e,valueEntriesLength:t})=>V.createElement(tMe,{variant:"row-right",gap:1,sx:{alignItems:"center"}},V.createElement(m_,{title:e.name,typographyProps:{variant:"subtitle1",sx:{fontWeight:"bold"}}},V.createElement("span",null,e.name)),V.createElement(Ro,{variant:"body2",sx:{color:"text.secondary"}},"(",t," values)")),cXe=({values:e})=>V.createElement(Ds,{sx:{display:"grid",gridTemplateColumns:"fit-content(150px) 1fr",gridAutoRows:"max-content",alignItems:"center",columnGap:4,width:"100%",maxHeight:"240px",paddingRight:1,overflowY:"auto"}},e.map(e=>V.createElement(V.Fragment,{key:e.value},V.createElement(m_,{sx:{fontWeight:500},title:e.value},V.createElement("span",null,e.value)),V.createElement(m_,{typographyProps:{variant:"caption",sx:{textAlign:"right"}},sx:{color:"text.secondary"},title:e.alias},V.createElement("span",null,"(",e.alias,")"))))),uXe=({dataDictionary:e,searchQuery:t})=>{const n=(0,V.useMemo)(()=>Object.values(e),[e]),r=(0,V.useMemo)(()=>{const e=t.trim().toLowerCase();return e?Object.values(n).filter(t=>t.name.toLowerCase().includes(e)||Object.values(t.values).some(t=>t.value.toLowerCase().includes(e)||t.alias.toLowerCase().includes(e))):n},[t,n]);return V.createElement(Ds,{sx:{overflow:"auto"}},0===r.length&&V.createElement(Ds,{sx:{padding:4,textAlign:"center",color:"text.secondary"}},V.createElement(Ro,{variant:"body1"},t?`No dictionary entries found for "${t}"`:"No dictionary entries available")),n.map(e=>{const t=r.some(t=>t.id===e.id);return V.createElement(Ds,{key:e.id,sx:{"&:first-of-type":{paddingTop:0},padding:t?3:0,paddingBottom:0,visibility:t?"visible":"hidden",height:t?"auto":0,overflow:"hidden"}},V.createElement(fXe,{dataDictionaryKey:e}))}))},fXe=V.memo(({dataDictionaryKey:e})=>{const{subscribeToHide:t}=sXe(),[n,r]=(0,V.useState)(5),i=(0,V.useMemo)(()=>Object.values(e.values),[e.values]),o=(0,V.useMemo)(()=>i.slice(0,n),[i,n]),a=i.length>n;(0,V.useEffect)(()=>{const e=t(()=>{r(5)});return()=>e()},[t,i.length]);const s=(0,V.useCallback)(()=>{r(i.length)},[i.length]);return V.createElement(tMe,{variant:"column",gap:0},V.createElement(lXe,{dictionaryKey:e,valueEntriesLength:i.length}),V.createElement(cXe,{values:o}),a&&V.createElement(uje,{position:"left"},a&&V.createElement(YO,{size:"small",onClick:s},"more")))}),hXe=vs((0,bo.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"})),dXe=e=>{let t;const n=new Set,r=(e,r)=>{const i="function"==typeof e?e(t):e;if(!Object.is(i,t)){const e=t;t=(null!=r?r:"object"!=typeof i||null===i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,o={setState:r,getState:i,getInitialState:()=>a,subscribe:e=>(n.add(e),()=>n.delete(e))},a=t=e(r,i,o);return o},pXe=e=>e;function gXe(e,t=pXe){const n=V.useSyncExternalStore(e.subscribe,V.useCallback(()=>t(e.getState()),[e,t]),V.useCallback(()=>t(e.getInitialState()),[e,t]));return V.useDebugValue(n),n}const mXe=e=>{const t=(e=>e?dXe(e):dXe)(e),n=e=>gXe(t,e);return Object.assign(n,t),n},bXe=e=>e?mXe(e):mXe,wXe=(e,t)=>`${e}-${t}`,vXe=(0,V.createContext)(null),yXe=e=>{const t=(0,V.useContext)(vXe);if(!t)throw new Error("Missing DataDictionaryMatchingStoreContext.Provider in the tree");return gXe(t,e)},xXe=(e,t)=>{const n=yXe(e=>e.loadTableColumnMatchingStats),r=yXe(((e,t)=>n=>{const r=wXe(e,t);return n.tableColumnMatchingStats[r]})(e,t));return{stats:r,loadStats:n}},AXe=vs((0,bo.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12z"})),kXe=vs((0,bo.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"})),SXe=({isMatched:e})=>V.createElement(tMe,null,e?V.createElement(kXe,{sx:{color:"var(--c-inversion-aware-success)",fontSize:"16px"}}):V.createElement(AXe,{sx:{color:"var(--c-inversion-aware-error)",fontSize:"16px"}})),EXe=e=>32*e+32+2,CXe=({valueMatchings:e,dataDictionaryValues:t})=>{const[n,r]=(0,V.useState)(!1),i=(0,V.useMemo)(()=>e.map(e=>{const n=t[e.dictionaryValueId||""];return{dataDictionaryValueId:e.dictionaryValueId||"-",value:(0,$R.isNull)(e.value)?"null":e.value,count:e.count,alias:n?.alias||"-",description:n?.description||"-"}}),[e,t]),o=(0,V.useMemo)(()=>[{accessorKey:"dataDictionaryValueId",header:"",cell:e=>V.createElement(SXe,{isMatched:"-"!==e.getValue()}),meta:{gridColumnSize:"40px",align:"center"}},{accessorKey:"value",header:"Value",meta:{gridColumnSize:"auto"}},{accessorKey:"count",header:"Count",enableSorting:!0,id:"count",meta:{gridColumnSize:"auto",align:"right",controlSorting:!1}},{accessorKey:"alias",header:"Alias",meta:{gridColumnSize:"auto"}},{accessorKey:"description",header:"Description",meta:{gridColumnSize:"auto"}}],[]),a=(0,V.useMemo)(()=>n?i:i.slice(0,3),[i,n]);return V.createElement(Ds,null,V.createElement(Ds,{sx:{display:"grid",gridTemplateRows:"1fr ",maxHeight:n?`${EXe(10)}px`:`${EXe(3)}px`}},V.createElement(sje,{emptyMessageElements:{noData:"No Matches Found"},data:a,columns:o,tableOptions:{initialState:{sorting:[{id:"count",desc:!0}]}},sx:{container:{height:"100%"},header:{minHeight:"32px"},cell:{height:"32px",whiteSpace:"nowrap"},emptyMessageSx:{height:"80px"}}})),i.length>3&&V.createElement(YO,{variant:"text",size:"small",onClick:()=>r(!n)},n?"less":"more"))},OXe=e=>{const t="function"==typeof e.children?e.children({placement:e.placement||"bottom"}):e.children;return V.createElement(UNe,{...e},t)};function TXe({dictionaryKeyId:e,tableName:t,columnName:n,dataDictionary:r,onDictionaryKeyChange:i,isPossibleMatch:o}){const[a,s]=Ka(e),{stats:l,loadStats:c}=xXe(t,n),{triggerAction:u,isBusy:f}=Ua(c),[h,d]=(0,V.useState)(!1),p=(0,V.useCallback)(()=>{u({tableName:t,columnName:n}),d(!0)},[u,t,n]),g=(0,V.useCallback)(()=>{d(!1)},[]),m=(0,V.useMemo)(()=>{if(!a)return null;if(!l)return{dictionaryKeyId:a,handledColumnValuesRatio:NaN,utilizedDictKeysRatio:NaN};const e=l?.find(e=>e.dictionaryKeyId===a);return e??null},[l,a]);return V.createElement(iP,{variant:"outlined",size:"small",fullWidth:!0,sx:{margin:0,display:"flex",flexFlow:"row nowrap",alignItems:"stretch",gap:2,"& .MuiFormControl-root":{marginY:0},"& .MuiFormControl-root .MuiInputBase-root":{padding:1}}},V.createElement(ENe,{disabled:!o,blurOnSelect:!0,open:h&&!!l&&!f,onOpen:p,onClose:g,value:m,onChange:(e,t)=>{s(t?.dictionaryKeyId??null),i({newDataDictionaryKeyId:t?.dictionaryKeyId??null})},isOptionEqualToValue:(e,t)=>e.dictionaryKeyId===t.dictionaryKeyId,getOptionKey:e=>e.dictionaryKeyId,options:l||[],getOptionLabel:e=>r[e.dictionaryKeyId]?.name??"",renderOption:({key:e,...t},n)=>V.createElement("li",{key:e,...t,style:{display:"grid",gridTemplateColumns:"subgrid",gridColumn:"1 / -1",paddingTop:0,paddingBottom:0}},V.createElement(Ro,{variant:"body2",sx:{width:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},r[n.dictionaryKeyId]?.name),V.createElement(Ro,{sx:{textAlign:"right"}},qa.formatPercentFromRatio(n.handledColumnValuesRatio)),V.createElement(Ro,{sx:{textAlign:"right"}},qa.formatPercentFromRatio(n.utilizedDictKeysRatio))),renderInput:e=>V.createElement(vR,{...e,size:"small",variant:"outlined",placeholder:"Select dictionary key"}),disableClearable:!1,fullWidth:!0,slots:{popper:OXe},slotProps:{listbox:{component:(0,V.memo)((0,V.forwardRef)(({children:e,...t},n)=>V.createElement(Ds,{...t,sx:{display:"grid",gridTemplateColumns:"1fr auto auto",columnGap:2},ref:n},V.createElement(Ro,{variant:"body2",sx:{paddingLeft:4}},"Name"),V.createElement(Ro,{variant:"body2",sx:{textAlign:"right"}},"Coverage"),V.createElement(Ro,{variant:"body2",sx:{textAlign:"right",paddingRight:4}},"Utilization"),e)))}}}))}const _Xe=({isPossibleMatch:e,dictionaryKeyId:t,tableName:n,columnName:r,dataDictionary:i,onTogglePossibleMatch:o,onDictionaryKeyChange:a})=>{const s=`no-matched-${n}-${r}`;return V.createElement(tMe,{gap:2},V.createElement(bze,{variant:"table"},"Dictionary Column"),V.createElement(TXe,{isPossibleMatch:e,dictionaryKeyId:t,tableName:n,columnName:r,dataDictionary:i,onDictionaryKeyChange:async({newDataDictionaryKeyId:e})=>{await a(e??null)}}),V.createElement(tMe,{variant:"row-left",gap:1,sx:{alignItems:"center"}},V.createElement(BN,{id:s,sx:{padding:"0px"},checked:!e,onChange:()=>{o(!e)}}),V.createElement(Ro,{component:"label",htmlFor:s,variant:"body2",sx:{cursor:"pointer",userSelect:"none"}},"No matched column")))},MXe=({handledColumnValuesRatio:e,utilizedDictKeysRatio:t,sx:n={}})=>V.createElement(Ds,{sx:{display:"grid",gridTemplateColumns:"auto auto",gridTemplateRows:"auto auto",justifyItems:"start",gap:4,rowGap:2,...n}},V.createElement(bze,{variant:"table"},"Values Coverage"),V.createElement(bze,{variant:"table"},"Dictionary Utilization"),V.createElement(Ro,{variant:"body2"},qa.formatPercentFromRatio(e??null,{unsetSymbol:"-"})),V.createElement(Ro,{variant:"body2"},qa.formatPercentFromRatio(t??null,{unsetSymbol:"-"}))),PXe=vs((0,bo.jsx)("path",{d:"M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"})),DXe=({isFirst:e,isLast:t,onPrevious:n,onNext:r})=>V.createElement(uje,{position:"right"},V.createElement(tMe,{variant:"row",gap:2},V.createElement(YO,{disabled:e,startIcon:V.createElement(PXe,null),variant:"outlined",onClick:n},"Back"),V.createElement(YO,{variant:"contained",color:"primary",onClick:()=>r(t)},t?"Finish":"Confirm"))),RXe=({reviewState:e})=>{const t=(()=>{switch(e){case"match":return{label:"Matched",color:"success",variant:"outlined"};case"no-match":return{label:"No Match",color:"default",variant:"outlined"};case"not-reviewed":return{label:"Needs Review",color:"warning",variant:"outlined"};default:return{label:"Unknown",color:"default",variant:"outlined"}}})();return V.createElement(O_,{...t,size:"small"})};function IXe(e){return e.isPossibleMatch?e.acceptedByUser?e.dictionaryKeyId?"match":"no-match":"not-reviewed":"no-match"}const NXe=(e,t)=>"function"==typeof e?{...t,accessorFn:e}:{...t,accessorKey:e},$Xe=e=>e,LXe=(0,V.memo)(({columnMatching:e,dataDictionaryValues:t,tableName:n,columnName:r,dataDictionary:i,detailsActions:o,setTableColumnMatchingDataDictionaryKey:a})=>{const{stats:s,loadStats:l}=xXe(n,r),[c,u]=(0,V.useState)(!0),f=(0,V.useMemo)(()=>s?.find(t=>t.dictionaryKeyId===e.dictionaryKeyId),[s,e.dictionaryKeyId]);return(0,V.useLayoutEffect)(()=>{s||l({tableName:n,columnName:r})},[n,r,l,s]),(0,V.useEffect)(()=>{!e.dictionaryKeyId&&e.isPossibleMatch&&c&&s&&s[0]?.dictionaryKeyId&&a({table:n,column:r,newDataDictionaryKeyId:s[0].dictionaryKeyId,isPossibleMatch:!0})},[e.dictionaryKeyId,n,r,s,a,e.isPossibleMatch,c]),V.createElement(tMe,{sx:{gridTemplateRows:"auto 1fr auto"},gap:4},V.createElement(tMe,{variant:"row",gap:3,sx:{gridTemplateColumns:"1fr 1fr",alignItems:"start"}},V.createElement(_Xe,{isPossibleMatch:e.isPossibleMatch,dictionaryKeyId:e.dictionaryKeyId,tableName:n,columnName:r,dataDictionary:i,onTogglePossibleMatch:async e=>{u(!1),await a({table:n,column:r,newDataDictionaryKeyId:null,isPossibleMatch:e})},onDictionaryKeyChange:async e=>{u(!1),await a({table:n,column:r,newDataDictionaryKeyId:e,isPossibleMatch:!0})}}),V.createElement(MXe,{sx:{justifySelf:"end"},handledColumnValuesRatio:f?.handledColumnValuesRatio,utilizedDictKeysRatio:f?.utilizedDictKeysRatio})),V.createElement(CXe,{valueMatchings:e.valueMatchings,dataDictionaryValues:t}),V.createElement(tMe,{variant:"row-right"},o))}),jXe=()=>V.createElement(ST,{message:"No Matches Found",subMessage:"Check that you have selected the correct table and its matching data dictionary."});const FXe=(0,V.memo)(({dataDictionary:e,onClose:t,sx:n})=>{const[r,i]=(0,V.useState)(""),o=(0,V.useDeferredValue)(r);return V.createElement(tMe,{gap:2,sx:{height:"100%",gridTemplateRows:"auto auto 1fr",...n}},V.createElement(tMe,{variant:"row-right",sx:{paddingInline:3}},V.createElement(Ro,{variant:"h6"},"Dictionary"),t&&V.createElement(nf,{onClick:t,sx:{color:"text.secondary"}},V.createElement(W_,null))),V.createElement(Ds,{sx:{paddingInline:3}},V.createElement(Jze,{placeholder:"Search dictionary entries...",searchPhrase:r,onSearchPhraseChange:i,sx:{width:"100%"}})),V.createElement(uXe,{dataDictionary:e,searchQuery:o}))}),zXe=(0,V.memo)(({tableName:e,columnMatches:t,dataDictionary:n,dataDictionaryValues:r,setTableColumnMatchingDataDictionaryKey:i,setTableColumnMatchingAcceptedByUser:o,sx:a={}})=>{const s=(0,V.useMemo)(()=>function(e,t){return t.map(t=>function(e,t){return{tableName:e,column:t.column,dictionaryKeyId:t.dictionaryKeyId,columnMatching:t,reviewState:IXe(t)}}(e,t))}(e,t),[t,e]),l=(0,V.useMemo)(()=>[$Xe({header:"",id:"expander",meta:{gridColumnSize:"40px",align:"center"},cell:({row:e})=>e.original.columnMatching?V.createElement(nf,{"aria-label":e.getIsExpanded()?"Collapse row":"Expand row",size:"small",onClick:()=>{e.toggleExpanded()}},e.getIsExpanded()?V.createElement(FO,null):V.createElement(jO,null)):null}),NXe(e=>e.column,{header:"Column",id:"column",cell:({row:e})=>V.createElement(m_,{title:e.original.column},V.createElement("span",null,e.original.column)),meta:{gridColumnSize:"minmax(160px, 1fr)"}}),NXe(e=>e.dictionaryKeyId,{header:"Dictionary Column",id:"dictionaryKeyId",cell:({row:e})=>{const{dictionaryKeyId:t,columnMatching:r}=e.original;if(t){const e=n[t]?.name;return V.createElement(m_,{title:e},V.createElement("span",null,e))}return r.isPossibleMatch?null:V.createElement(Ro,{sx:{color:"var(--c-inversion-aware-neutral)"}},"(No matched column)")},meta:{gridColumnSize:"minmax(160px, 1fr)"}}),NXe(e=>e.columnMatching.valueMatchings.sort((e,t)=>t.count-e.count).slice(0,100).map(({value:e})=>(0,$R.isNull)(e)?"null":e).join(", "),{header:"Examples",id:"examples",meta:{gridColumnSize:"1.5fr",align:"left"},cell:({getValue:e})=>V.createElement(m_,{title:e()},V.createElement("span",null,e()))}),NXe(e=>e.reviewState,{meta:{gridColumnSize:"110px"},header:"Status",id:"reviewState",cell:({getValue:e})=>V.createElement(RXe,{reviewState:e()})})],[n]),c=(0,V.useMemo)(()=>t.every(e=>!e.acceptedByUser),[t]);return V.createElement(tMe,{sx:{gap:2,...a}},V.createElement(sje,{emptyMessageElements:{noData:V.createElement(jXe,null)},initialTableState:{expanded:{0:c}},data:s,columns:l,pagination:{initialPageSize:10,pageSizeOptions:[5,10,25]},rowDetails:{getRowCanExpand:e=>!!e.original.columnMatching,renderExpandedContent:(t,a)=>V.createElement(Ds,{sx:{p:5}},V.createElement(LXe,{columnMatching:a.original.columnMatching,dataDictionaryValues:r,tableName:e,columnName:a.original.column,dataDictionary:n,setTableColumnMatchingDataDictionaryKey:i,detailsActions:V.createElement(DXe,{isFirst:0===a.index,isLast:a.index===t.getRowCount()-1,onPrevious:()=>{((e,t)=>{const n=t.index;if(0===n)return;const r=e.getPrePaginationRowModel().rows[n-1];if(r){e.setExpanded(()=>({[r.id]:!0}));const t=e.getState().pagination;t&&r.index<t.pageSize*t.pageIndex&&e.previousPage()}})(t,a)},onNext:n=>{o({tableName:e,columnName:a.original.column,acceptedByUser:null!==a.original.columnMatching.dictionaryKeyId}),n?t.setExpanded(()=>({[a.id]:!1})):lje(t,a)},onSkip:n=>{i({table:e,column:a.original.column,newDataDictionaryKeyId:null,isPossibleMatch:!1}),n?t.setExpanded(()=>({[a.id]:!1})):lje(t,a)}})}))}}))}),BXe={mt:2},WXe=(qXe=({tableDataDictionaryMatchings:e,dataDictionaryDTO:t,setTableColumnMatchingDataDictionaryKey:n,getTableColumnMatchingStats:r,setTableColumnMatchingAcceptedByUser:i})=>{const o=HXe({backendState:{tableColumnMatchingStats:{}},api:{getTableColumnMatchingStats:r}}),{triggerShow:a,triggerHide:s}=sXe(),l=function(e){return(0,V.useMemo)(()=>function(e){return Object.entries(e).reduce((e,[t,n])=>(e[t]={...n,id:t},e),{})}(e),[e])}(t),c=function(e){return(0,V.useMemo)(()=>function(e){const t={};return Object.entries(e).forEach(([e,n])=>{Object.entries(n.values).forEach(([n,r])=>{t[n]={...r,dataDictionaryKeyId:e}})}),t}(e),[e])}(l),[u,f]=(0,V.useState)(!1),h=(0,V.useRef)(null),d=(0,V.useMemo)(()=>({paddingTop:2}),[]),p=(0,V.useCallback)(()=>{b(!1),f(!0),a()},[a]),g=(0,V.useCallback)(()=>{f(!1),s()},[s]);if(!e?.length)return V.createElement(Ds,{sx:{p:3,textAlign:"center"}},V.createElement(Ro,{variant:"body1"},"No dictionary matching data available."));const[m,b]=(0,V.useState)(!0);return V.createElement(vXe.Provider,{value:o},V.createElement(Ds,{ref:h,sx:{position:"relative",overflow:"hidden",minHeight:u?"800px":"auto",maxWidth:"1200px"}},V.createElement(tMe,{sx:{gap:2}},V.createElement(uje,{position:"right"},V.createElement(YO,{variant:"outlined",startIcon:V.createElement(hXe,{sx:{color:"rgba(83, 73, 73, 0.6)"}}),onClick:p,sx:{alignSelf:"flex-start",color:"text.secondary",borderColor:"divider"}},"Open Data Dictionary"))),V.createElement(tMe,{sx:{mt:2}},e.map(e=>V.createElement(tMe,{key:e.tableName},V.createElement(uje,{position:"middle"},V.createElement(Ro,{variant:"body1"},e.tableName)),V.createElement(zXe,{sx:BXe,tableName:e.tableName,columnMatches:e.tableColumnDataDictionaryKeyMatchings,dataDictionaryValues:c,setTableColumnMatchingDataDictionaryKey:n,dataDictionary:l,setTableColumnMatchingAcceptedByUser:i})))),V.createElement(IQe,{direction:"left",in:u,container:h.current,onExited:()=>{b(!0)}},V.createElement(ia,{elevation:2,sx:e=>({position:"absolute",top:0,right:0,width:"35%",height:"calc(100% - 8px)",zIndex:e.zIndex.drawer,overflow:"auto",p:0,contentVisibility:m&&!u?"hidden":"auto",transition:"content-visibility 0.3s ease-in-out"})},V.createElement(FXe,{sx:d,dataDictionary:l,onClose:g})))))},e=>V.createElement(aXe,null,V.createElement(qXe,{...e})));var qXe;const HXe=({backendState:e,api:t})=>{const n=(0,V.useRef)(null);return null===n.current&&(n.current=function(e,t){return bXe((n,r)=>({...e,loadTableColumnMatchingStats:async e=>{const i=wXe(e.tableName,e.columnName);if(r().tableColumnMatchingStats[i])return;const o=await t.getTableColumnMatchingStats(e);o.sort((e,t)=>t.fScore-e.fScore),n(e=>({...e,tableColumnMatchingStats:{...e.tableColumnMatchingStats,[i]:o}}))}}))}(e,t)),n.current},UXe=()=>{const[e]=Za("table_dict_matchings"),[t]=Za("data_dictionary"),n=Ea("set_column_matching_dictionary_key"),r=Ea("get_table_column_matching_stats"),i=Ea("set_column_matching_accepted_by_user"),o=(0,V.useCallback)(async({table:e,column:t,newDataDictionaryKeyId:r,isPossibleMatch:i})=>{await n({tableName:e,columnName:t,dictionaryKeyId:r,isPossibleMatch:i})},[n]),a=(0,V.useCallback)(async({tableName:e,columnName:t,acceptedByUser:n})=>{await i({tableName:e,columnName:t,acceptedByUser:n})},[i]);return V.createElement(WXe,{tableDataDictionaryMatchings:e,dataDictionaryDTO:t,setTableColumnMatchingDataDictionaryKey:o,getTableColumnMatchingStats:r,setTableColumnMatchingAcceptedByUser:a})},VXe={table_dict_matchings:[],data_dictionary:{}};class KXe extends RBe.DOMWidgetModel{defaults(){return{...super.defaults(),_model_name:"ScgDataDictionaryMatchingModel",_model_module:y,_model_module_version:v,_view_name:"ScgDataDictionaryMatchingView",_view_module:y,_view_module_version:v,_module_version:v,...VXe}}static serializers={...RBe.DOMWidgetModel.serializers}}class QXe extends RBe.DOMWidgetView{backendApi=new va(this);render(){try{const e=V.createElement(DBe,{additionalClasses:["data-dictionary-matching-widget"],model:this.model,api:this.backendApi},V.createElement(UXe,null));IBe.createRoot(this.el).render(e)}catch(e){console.error("DataDictionaryMatchingView",e)}}}const GXe=({data:e})=>V.createElement(Ds,{sx:{maxHeight:400,overflowY:"auto",width:"100%"}},V.createElement(xPe,{data:e,config:{size:"small"}})),XXe=({data:e})=>V.createElement(eMe,{sx:{width:"100%"},vegaSpec:e}),YXe=({data:e})=>V.createElement(Ts,{...e}),ZXe=["string","altair","dataframe"],JXe=({grid:e})=>{const t=e.map((e,t)=>({id:`row-${t}`,items:e.map((e,n)=>({span:e.span,id:`item-${t}-${n}`,content:ZXe.includes(e.type)?V.createElement(v_,{label:e.header,placeItems:e.placeItems??"center"},eYe(e)):eYe(e)}))}));return V.createElement(dze,{sx:{marginTop:4},rows:t})},eYe=e=>DMe(e).with({type:"dataframe"},({content:e})=>V.createElement(GXe,{data:e})).with({type:"altair"},({content:e})=>V.createElement(XXe,{data:e})).with({type:"string"},({content:e})=>V.createElement(Ds,{sx:{maxHeight:400,overflowY:"auto",width:"100%",whiteSpace:"pre-wrap",wordBreak:"break-word"}},d_({content:e})("content"))).with({type:"banner"},({content:e})=>V.createElement(YXe,{data:e})).with({type:"blank"},()=>V.createElement(V.Fragment,null)).with({type:"code"},({content:e})=>V.createElement(yT,{sx:{width:"100%",margin:"0"},code:e,isCopyButtonEnabled:!0,initialMaxHeight:"400px"})).otherwise(()=>V.createElement(Ro,{color:"error"},"Unknown content type or invalid data")),tYe={activeSorterConfig:null,sortType:"desc",segmentSizeValue:0,segmentErrorValue:0,explanationSearch:"",showStarredOnly:!1,showNewOnly:!1,showHiddenFeatures:!1,...Kze},nYe=vs((0,bo.jsx)("path",{d:"M6 6h12v12H6z"})),rYe={checkbox:{width:36},detailsToggle:{width:0},label:{flex:"0 0 130px"},explanation:{flex:"1 1 0",minWidth:20},actions:{flex:"0 0 auto"}},iYe=V.createContext({visibleFeatures:[],lastSearchedPhrase:null,searchProgress:null,page:0,rowsPerPage:10,isFinalPage:!1,totalCount:null,onPageChange:$R.noop,searchPhrase:"",onSearch:$R.noop,refreshSearch:$R.noop});function oYe({searchPhrase:e,searchInFeatureSpace:t,searchProgress:n,children:r}){const[i,o]=(0,V.useState)(null);(0,V.useEffect)(()=>{""===e.trim()&&o(null)},[e]);const{visibleFeatures:a,page:s,rowsPerPage:l,onPageChange:c,isFinalPage:u,totalCount:f,refreshSearch:h}=function(e,t){const[n,r]=(0,V.useState)([]),[i,o]=(0,V.useState)({}),[a,s]=(0,V.useState)(0),l=(0,V.useRef)(t),c=(0,V.useRef)(e),u=(0,V.useRef)(n);c.current=e,u.current=n;const f=(0,V.useCallback)(()=>{r([]),o({}),s(0)},[]),h=(0,V.useCallback)(e=>{f(),c.current(e,0,10).then(e=>{r([e.candidateFeatures]),o({0:e.finalPage})})},[f]);(0,V.useEffect)(()=>null===t?(f(),void(l.current=null)):t!==l.current?(l.current=t,void h(t)):void(void 0===u.current[a]&&c.current(t,a,10).then(e=>{r(t=>{const n=[...t];return n[a]=e.candidateFeatures,n}),o(t=>({...t,[a]:e.finalPage}))})),[t,a,f,h]);const d=(0,V.useCallback)(()=>{const e=l.current;null!==e&&h(e)},[h]),p=(0,V.useMemo)(()=>{const e=n[a];return void 0!==e?e:a>0?n[a-1]??[]:[]},[n,a]),g=!0===i[a],m=(0,V.useMemo)(()=>{for(const[e,t]of Object.entries(i))if(t){const t=Number(e),r=n[t];if(r)return 10*t+r.length}return null},[i,n]),b=(0,V.useCallback)((e,t)=>{s(t)},[]);return{visibleFeatures:p,page:a,rowsPerPage:10,onPageChange:b,isFinalPage:g,totalCount:m,refreshSearch:d}}(t,i),d=(0,V.useCallback)(()=>o(e),[e]),p=(0,V.useMemo)(()=>({visibleFeatures:a,lastSearchedPhrase:i,searchProgress:n,page:s,rowsPerPage:l,isFinalPage:u,totalCount:f,onPageChange:c,searchPhrase:e,onSearch:d,refreshSearch:h}),[a,i,n,s,l,u,f,c,e,d,h]);return V.createElement(iYe.Provider,{value:p},r)}function aYe(){return V.useContext(iYe)}const sYe=V.createContext({selectedFeatureIds:new Set,onToggleFeature:$R.noop,onClearSelection:$R.noop,onAddToLeaderboard:()=>Promise.resolve()});function lYe({onAddToLeaderboard:e,children:t}){const[n,r]=(0,V.useState)(new Set),i=(0,V.useCallback)(e=>{r(t=>{const n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),o=(0,V.useCallback)(()=>{r(new Set)},[]),a=(0,V.useMemo)(()=>({selectedFeatureIds:n,onToggleFeature:i,onClearSelection:o,onAddToLeaderboard:e}),[n,i,o,e]);return V.createElement(sYe.Provider,{value:a},t)}function cYe(){return V.useContext(sYe)}function uYe(){const{onSearch:e,refreshSearch:t}=aYe(),{selectedFeatureIds:n,onAddToLeaderboard:r,onClearSelection:i}=cYe(),o=(0,V.useCallback)(e=>{r(e).then(()=>{i(),t()})},[r,i,t]),a=(0,V.useCallback)(()=>{o([...n])},[o,n]),s=(0,V.useCallback)(()=>{i(),e()},[i,e]);return{addToLeaderboard:o,addCheckedToLeaderboard:a,handleSearch:s}}const fYe=({feature:e,isChecked:t,onCheckboxClick:n,onSelect:r})=>V.createElement(HN,{isExpanded:!1,isChecked:t,onSelectCheckBoxClick:n,labelNode:V.createElement(EN,{feature:e,hasCopyButton:!0}),explanationNode:V.createElement(kN,{feature:e}),actionsNode:V.createElement(hu,{title:"Add to Leaderboard"},V.createElement(nf,{color:"primary",size:"small",onClick:()=>r(e.id),"data-testid":z.candidateAddToLeaderboardRow},V.createElement(Ije,{sx:{fontSize:18}})))});function hYe({features:e}){const{selectedFeatureIds:t,onToggleFeature:n}=cYe(),{addToLeaderboard:r}=uYe();return V.createElement(KN,null,e.map(e=>V.createElement(fYe,{key:e.id,feature:e,isChecked:t.has(e.id),onCheckboxClick:()=>n(e.id),onSelect:e=>r([e])})))}function dYe(){const{visibleFeatures:e,searchProgress:t,isFinalPage:n,page:r,rowsPerPage:i,onPageChange:o,totalCount:a}=aYe(),s=0===e.length&&n,l=0===r&&n?38*e.length:38*i,c=s?V.createElement(LT,{message:"No features to display"}):V.createElement(V.Fragment,null,V.createElement(Ds,{sx:{height:l,overflow:"auto"}},V.createElement(hYe,{features:e})),!s&&V.createElement(Ds,{sx:{display:"flex",alignItems:"center",flexWrap:"wrap",justifyContent:"flex-end",gap:0}},V.createElement(Ro,{variant:"body2",sx:{mr:8,display:"flex"},component:"div"},V.createElement(Ds,null,"Rows per page:")," ",V.createElement(Ds,{sx:{pl:4}},"10")),V.createElement(tLe,{component:"div",count:a??-1,page:r,onPageChange:o,rowsPerPage:i,rowsPerPageOptions:[i],showFirstButton:!0,showLastButton:!0,labelRowsPerPage:null,slotProps:{select:{native:!0},actions:{...Gze,lastButton:null===a?{disabled:!0}:void 0}},sx:{display:"flex",alignItems:"center",overflow:"visible"},labelDisplayedRows:({from:e,to:t})=>null!==a?`${e}-${t} of ${a}`:`${e}-${t} of many`})));return V.createElement(Ds,{sx:{position:"relative",minHeight:150}},t&&V.createElement(Rje,{value:t.value,label:t.label}),c)}const pYe=R_();function gYe(){return V.createElement(D_,{config:rYe},V.createElement(Ds,{sx:{display:"flex",alignItems:"center",marginInline:"10px 4px",fontSize:"12px",fontWeight:"bold",color:"var(--c-grey-600)"}},V.createElement(VN,{columnName:"checkbox"},V.createElement("span",null)),V.createElement(VN,{columnName:"detailsToggle"},V.createElement("span",null)),V.createElement(pYe,{columnName:"label"},V.createElement("span",null,"Feature ID")),V.createElement(pYe,{columnName:"explanation"},V.createElement("span",null,"Explanation")),V.createElement(pYe,{columnName:"actions"})))}function mYe(){return V.createElement(V.Fragment,null,V.createElement(gYe,null),V.createElement(D_,{config:rYe},V.createElement(dYe,null)))}const bYe=vs((0,bo.jsx)("path",{d:"M8 5v14l11-7z"})),wYe=vs((0,bo.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}));function vYe({onClick:e,disabled:t=!1,reload:n=!1}){return n?V.createElement(YO,{sx:{textTransform:"none"},variant:"outlined",size:"small",color:"warning",startIcon:V.createElement(wYe,null),disabled:t,onClick:e,"data-testid":z.candidateSearchButton},"Update results"):V.createElement(YO,{sx:{textTransform:"none"},variant:"outlined",size:"small",color:"primary",endIcon:V.createElement(bYe,null),disabled:t,onClick:e,"data-testid":z.candidateSearchButton},"Search in Feature Space")}function yYe({customContent:e}){const{lastSearchedPhrase:t,searchPhrase:n}=aYe(),{selectedFeatureIds:r}=cYe(),{addCheckedToLeaderboard:i,handleSearch:o}=uYe(),a=""!==n.trim(),s=a&&n!==t,l=a||null!==t,c=r.size>0,u=null!==t;return l?e?V.createElement(V.Fragment,null,V.createElement(mFe,{title:"Feature Space"}),e):V.createElement(V.Fragment,null,V.createElement(mFe,{title:"Feature Space"},V.createElement(Ds,{sx:{display:"flex",alignItems:"center",gap:1}},u&&c&&V.createElement(YO,{startIcon:V.createElement(Ije,{sx:{fontSize:18}}),sx:{textTransform:"none"},variant:"contained",size:"small",onClick:i,"data-testid":z.candidateAddToLeaderboardHeader},"Add to Leaderboard"),u&&s&&V.createElement(vYe,{onClick:o,reload:!0}))),!u&&s&&V.createElement(Ds,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",py:6,px:2,textAlign:"center"}},V.createElement(Ro,{variant:"h6",sx:{color:"text.secondary",mb:6,maxWidth:500}},"Search the Feature Space to find matches among all explored features"),V.createElement(vYe,{onClick:o})),u&&V.createElement(mYe,null)):null}function xYe({onAddToLeaderboard:e,searchPhrase:t,searchInFeatureSpace:n,customContent:r,searchProgress:i}){return V.createElement(lYe,{onAddToLeaderboard:e},V.createElement(oYe,{searchPhrase:t,searchInFeatureSpace:n,searchProgress:i},V.createElement(yYe,{customContent:r})))}const AYe=e=>Symbol.iterator in e,kYe=e=>"entries"in e,SYe=(e,t)=>{const n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(const[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0};function EYe(e){const t=V.useRef(void 0);return n=>{const r=e(n);return i=t.current,o=r,Object.is(i,o)||"object"==typeof i&&null!==i&&"object"==typeof o&&null!==o&&Object.getPrototypeOf(i)===Object.getPrototypeOf(o)&&(AYe(i)&&AYe(o)?kYe(i)&&kYe(o)?SYe(i,o):((e,t)=>{const n=e[Symbol.iterator](),r=t[Symbol.iterator]();let i=n.next(),o=r.next();for(;!i.done&&!o.done;){if(!Object.is(i.value,o.value))return!1;i=n.next(),o=r.next()}return!!i.done&&!!o.done})(i,o):SYe({entries:()=>Object.entries(i)},{entries:()=>Object.entries(o)}))?t.current:t.current=r;var i,o}}const CYe=({item:e})=>{const t=uZe(),{formatSegmentError:n,formatErrorRatio:r,formatErrorDelta:i}=kZe(),o=SZe(),{compactRowWidthThreshold:a,segmentErrorColumn:s}=EZe(),l=`@container ${M_} (max-width: ${a}px)`;if(!e.segmentBenchmarkError)return null;const c=e=>({value:e,formatter:n}),u=e=>({value:e,formatter:r}),f=u(e.segmentError.error),h=c(e.segmentError.predictionMean),d=c(e.segmentError.targetMean),p=u(e.segmentBenchmarkError.error),g=c(e.segmentBenchmarkError.predictionMean),m=c(e.segmentBenchmarkError.targetMean),b=(e=>({value:e,formatter:i}))(o(e)),w=Math.abs(e.segmentError.error)<Math.abs(e.segmentBenchmarkError.error),v=V.createElement(qje,{spacing:1,sx:{p:.5,minWidth:"240px"}},V.createElement(Ds,null,V.createElement(cFe,null,"BENCHMARK"),V.createElement(dFe,{useCaseWithBaseline:t,error:p,predictionMean:g,targetMean:m})),V.createElement(uFe,null),V.createElement(Ds,null,V.createElement(cFe,null,"CURRENT"),V.createElement(dFe,{useCaseWithBaseline:t,error:f,predictionMean:h,targetMean:d})),V.createElement(uFe,null),V.createElement(Ds,null,V.createElement(cFe,null,"DELTA"),V.createElement(fFe,{delta:b,isImproved:w,benchmarkValue:p,currentValue:f,getTooltipColor:e=>e?"var(--c-green-300)":"var(--c-red-300)"})));return V.createElement(hu,{title:v,arrow:!0,placement:"top"},V.createElement(Ds,{sx:{display:"inline-flex",alignItems:"center",gap:1.5,width:"100%",cursor:"pointer"}},V.createElement(Ds,{component:"span",sx:{display:"inline-flex",flexShrink:0}},V.createElement(lFe,{value:f,notation:"compact",sx:{minWidth:`${s.errorRatioMinWidth}px`}})),V.createElement(Ds,{sx:{display:"inline-flex",[l]:{display:"none"}}},V.createElement(hFe,{predictionMean:h,targetMean:d,useCaseWithBaseline:t,notation:"compact"})),V.createElement(Ds,{sx:{ml:"auto"}},V.createElement(zFe,{value:b,colorTheme:0===b.value?"default":w?"success":"error"}))))},OYe=({item:e})=>e.segmentBenchmarkError?V.createElement(CYe,{item:e}):V.createElement(TYe,{item:e}),TYe=({item:e})=>{const t=uZe(),{formatSegmentError:n,formatErrorRatio:r}=kZe(),{compactRowWidthThreshold:i,segmentErrorColumn:o}=EZe(),a=`@container ${M_} (max-width: ${i}px)`,s=e=>({value:e,formatter:n}),l=(e=>({value:e,formatter:r}))(e.segmentError.error),c=s(e.segmentError.predictionMean),u=s(e.segmentError.targetMean);return V.createElement(hu,{title:V.createElement(qje,{sx:{p:.5}},V.createElement(dFe,{useCaseWithBaseline:t,error:l,predictionMean:c,targetMean:u})),arrow:!0,placement:"top",disableInteractive:!0},V.createElement(Ds,{sx:{display:"inline-flex",width:"100%",alignItems:"center",gap:2}},V.createElement(Ds,{component:"span",sx:{display:"inline-flex",flexShrink:0}},V.createElement(lFe,{value:l,notation:"compact",sx:{minWidth:`${o.errorRatioMinWidth}px`}})),V.createElement(Ds,{sx:{display:"inline-flex",[a]:{display:"none"}}},V.createElement(hFe,{predictionMean:c,targetMean:u,useCaseWithBaseline:t,notation:"compact"}))))},_Ye=({item:e})=>{const{compactRowWidthThreshold:t}=EZe(),{formatSegmentSizeRatio:n,formatSegmentSizeCount:r}=kZe(),i=`@container ${M_} (max-width: ${t}px)`;if(!e.segmentBenchmarkSize)return null;const o=e=>({value:e,formatter:n}),a=e=>({value:e,formatter:r}),s=o(e.segmentSize.ratio),l=a(e.segmentSize.segmentCount),c=a(e.segmentSize.populationCount),u=o(e.segmentBenchmarkSize.ratio),f=a(e.segmentBenchmarkSize.segmentCount),h=a(e.segmentBenchmarkSize.populationCount),d=o(e.segmentSize.ratio-e.segmentBenchmarkSize.ratio),p=Math.abs(e.segmentSize.ratio)<Math.abs(e.segmentBenchmarkSize.ratio),g=V.createElement(qje,{spacing:1,sx:{p:.5,minWidth:"220px"}},V.createElement(Ds,null,V.createElement(cFe,null,"BENCHMARK"),V.createElement(gFe,{ratio:u,segmentCount:f,populationCount:h})),V.createElement(uFe,null),V.createElement(Ds,null,V.createElement(cFe,null,"CURRENT"),V.createElement(gFe,{ratio:s,segmentCount:l,populationCount:c})),V.createElement(uFe,null),V.createElement(Ds,null,V.createElement(cFe,null,"DELTA"),V.createElement(fFe,{delta:d,isImproved:p,benchmarkValue:u,currentValue:s,getTooltipColor:e=>e?"var(--c-green-300)":"var(--c-red-300)"})));return V.createElement(hu,{title:g,arrow:!0,placement:"top"},V.createElement(Ds,{sx:{display:"inline-flex",alignItems:"center",gap:1.5,width:"100%",cursor:"pointer"}},V.createElement(lFe,{value:s}),V.createElement(Ds,{sx:{display:"inline-flex",[i]:{display:"none"}}},V.createElement(pFe,{segmentCount:l,populationCount:c,notation:"compact"})),V.createElement(Ds,{sx:{ml:"auto"}},V.createElement(zFe,{value:d,colorTheme:0===d.value?"default":p?"success":"error"}))))},MYe=({item:e})=>e.segmentBenchmarkSize?V.createElement(_Ye,{item:e}):V.createElement(PYe,{item:e}),PYe=({item:e})=>{const{compactRowWidthThreshold:t}=EZe(),{formatSegmentSizeRatio:n,formatSegmentSizeCount:r}=kZe(),i=`@container ${M_} (max-width: ${t}px)`,o={value:e.segmentSize.ratio,formatter:n},a={value:e.segmentSize.segmentCount,formatter:r},s={value:e.segmentSize.populationCount,formatter:r};return V.createElement(hu,{title:V.createElement(qje,{sx:{p:.5}},V.createElement(gFe,{ratio:o,segmentCount:a,populationCount:s})),arrow:!0,placement:"top",disableInteractive:!0},V.createElement(Ds,{sx:{display:"inline-flex",width:"100%",alignItems:"center",gap:2}},V.createElement(Ds,{component:"span",sx:{display:"inline-flex"}},V.createElement(lFe,{value:o})),V.createElement(Ds,{sx:{display:"inline-flex",[i]:{display:"none"}}},V.createElement(pFe,{segmentCount:a,populationCount:s,notation:"compact"}))))},DYe=["segmentSize","segmentError"];function RYe(e){return{segmentSize:{id:"segmentSize",label:"Segment Size",valueGetter:e=>e.segmentSize.ratio,valuePresenter:e=>V.createElement(MYe,{item:e}),comparator:e=>(t,n)=>"desc"===e?n.segmentSize.ratio-t.segmentSize.ratio:t.segmentSize.ratio-n.segmentSize.ratio,filter:{min:0,max:1,defaultValue:()=>95,valueGetter:e=>e.segmentSize.ratio,label:"Segment Size:",invertSliderTrack:!0}},segmentError:{id:"segmentError",label:e,valueGetter:e=>e.segmentError.error,valuePresenter:e=>V.createElement(OYe,{item:e}),comparator:e=>(t,n)=>"desc"===e?n.segmentError.error-t.segmentError.error:t.segmentError.error-n.segmentError.error,filter:{min:0,max:1,defaultValue:()=>.95,valueGetter:e=>Math.abs(e.segmentError.error),label:`${e}:`,invertSliderTrack:!0}}}}var IYe;!function(e){e.isSegmentComparisonMetric=function(e){return DYe.includes(e)}}(IYe||(IYe={}));const NYe=(e,{notation:t})=>qa.formatNumber(e,{notation:t}),$Ye=(e,{notation:t})=>qa.formatPercentFromRatio(e,{notation:t}),LYe=(e,{notation:t})=>qa.formatPercentPoints(e,{notation:t}),jYe={formatSegmentSizeRatio:$Ye,formatSegmentSizeCount:NYe},FYe={regression:{...jYe,formatSegmentError:NYe,formatErrorRatio:NYe,formatErrorDelta:$Ye},"regression-with-baseline":{...jYe,formatSegmentError:NYe,formatErrorRatio:NYe,formatErrorDelta:$Ye},classification:{...jYe,formatSegmentError:$Ye,formatErrorRatio:LYe,formatErrorDelta:LYe},"classification-with-baseline":{...jYe,formatSegmentError:$Ye,formatErrorRatio:LYe,formatErrorDelta:LYe}},zYe={regression:BYe,"regression-with-baseline":BYe,classification:WYe,"classification-with-baseline":WYe};function BYe(e){const t=e.segmentBenchmarkError?.error??0,n=e.segmentError.error-t;return 0===t?0===n?0:1/0:n/Math.abs(t)}function WYe(e){const t=e.segmentBenchmarkError?.error??0;return e.segmentError.error-t}const qYe="Segment Error",HYe={regression:{segmentErrorLabel:hs.Regression},"regression-with-baseline":{segmentErrorLabel:qYe},classification:{segmentErrorLabel:hs.Classification},"classification-with-baseline":{segmentErrorLabel:qYe}},UYe=1250,VYe=210,KYe=105,QYe={regression:{segmentSizeColumn:{flexBasis:VYe,minWidth:KYe},segmentErrorColumn:{flexBasis:220,minWidth:91,errorRatioMinWidth:68},compactRowWidthThreshold:UYe},classification:{segmentSizeColumn:{flexBasis:VYe,minWidth:KYe},segmentErrorColumn:{flexBasis:220,minWidth:91,errorRatioMinWidth:68},compactRowWidthThreshold:UYe},"regression-with-baseline":{segmentSizeColumn:{flexBasis:VYe,minWidth:KYe},segmentErrorColumn:{flexBasis:240,minWidth:91,errorRatioMinWidth:68},compactRowWidthThreshold:UYe},"classification-with-baseline":{segmentSizeColumn:{flexBasis:VYe,minWidth:KYe},segmentErrorColumn:{flexBasis:240,minWidth:91,errorRatioMinWidth:68},compactRowWidthThreshold:UYe}},GYe=1400,XYe=280,YYe=150,ZYe=165,JYe={regression:{segmentSizeColumn:{flexBasis:XYe,minWidth:YYe},segmentErrorColumn:{flexBasis:300,minWidth:ZYe,errorRatioMinWidth:68},compactRowWidthThreshold:GYe},classification:{segmentSizeColumn:{flexBasis:XYe,minWidth:YYe},segmentErrorColumn:{flexBasis:300,minWidth:ZYe,errorRatioMinWidth:68},compactRowWidthThreshold:GYe},"regression-with-baseline":{segmentSizeColumn:{flexBasis:XYe,minWidth:YYe},segmentErrorColumn:{flexBasis:315,minWidth:ZYe,errorRatioMinWidth:68},compactRowWidthThreshold:GYe},"classification-with-baseline":{segmentSizeColumn:{flexBasis:XYe,minWidth:YYe},segmentErrorColumn:{flexBasis:315,minWidth:ZYe,errorRatioMinWidth:68},compactRowWidthThreshold:GYe}},eZe=(0,V.createContext)(null),tZe=(0,V.createContext)(void 0),nZe=({children:e,loadFeatureHistogramStaticChart:t,loadFeatureHistogramInteractiveChart:n,loadSegmentDistributionChart:r,loadSegmentTrendChart:i,initialHistogramCache:o})=>{const[a,s]=(0,V.useState)(()=>o??{}),l=(0,V.useRef)(new Set),[c,u]=(0,V.useState)({}),[f,h]=(0,V.useState)({}),d=(0,V.useCallback)(()=>{l.current.clear(),s({})},[]),p=(0,V.useCallback)(({featureId:e})=>l.current.has(e)||null===a[e]||a[e]?.[ds.FeatureDistributionStatic]?Promise.resolve():(l.current.add(e),t({featureId:e}).then(t=>{const n=t?{[ds.FeatureDistributionStatic]:t,[ds.FeatureDistributionInteractive]:void 0}:t;s(t=>({...t,[e]:n}))}).finally(()=>{l.current.delete(e)})),[t,a]),g=(0,V.useCallback)(({featureId:e})=>l.current.has(e)||Ma(a[e])||void 0!==a[e][ds.FeatureDistributionInteractive]?Promise.resolve():(l.current.add(e),n({featureId:e}).then(t=>{const n=a[e];Ma(n)||s(r=>({...r,[e]:{...n,[ds.FeatureDistributionInteractive]:t}}))}).finally(()=>{l.current.delete(e)})),[n,a]),m=(0,V.useCallback)(({featureId:e})=>e in c?Promise.resolve():r({featureId:e}).then(t=>u(n=>({...n,[e]:t??null}))),[r,c]),b=(0,V.useCallback)(({featureId:e})=>e in f?Promise.resolve():i({featureId:e}).then(t=>h(n=>({...n,[e]:t??null}))),[i,f]);return V.createElement(tZe.Provider,{value:(0,V.useMemo)(()=>({loadedFeatureHistogramCharts:a,clearHistogramChartCache:d,loadFeatureHistogramStaticChart:p,loadFeatureHistogramInteractiveChart:g,loadedSegmentDistributionCharts:c,loadSegmentDistributionChart:m,loadedSegmentTrendCharts:f,loadSegmentTrendChart:b}),[a,d,p,g,c,m,f,b])},e)},rZe=()=>{const e=(0,V.useContext)(tZe);if(e)return e;throw new Error("useSegmentLeaderboardChartsCache() can only be used within SegmentLeaderboardChartsCacheProvider")},iZe=(0,V.createContext)(null),oZe=e=>{const t=(0,V.useContext)(iZe);if(!t)throw new Error("Missing SegmentLeaderboardStoreContext.Provider in the tree");return gXe(t,e)};var aZe,sZe;!function(e){e[e.NO_DATA=0]="NO_DATA",e[e.NO_RESULTS=1]="NO_RESULTS",e[e.HAS_DATA=2]="HAS_DATA"}(aZe||(aZe={})),function(e){e.None="none",e.Edit="edit",e.Copy="copy",e.Code="code",e.Details="details"}(sZe||(sZe={}));const lZe=e=>!_a(e.isAssessed)||e.isAssessed;const cZe=e=>{const t=(0,V.useContext)(eZe);if(!t)throw new Error("Missing useSegmentLeaderboardBackendStore.Provider in the tree");return gXe(t,e)},uZe=()=>cZe(e=>e.value.useCaseWithBaseline),fZe=()=>cZe(e=>e.value.useCaseWithBaseline),hZe=()=>cZe(e=>_a(e.value.predictionTime)),dZe=()=>{const{segmentErrorLabel:e}=AZe();return RYe(e)},pZe=()=>{const e=cZe(e=>e.addDrillDown),{clearHistogramChartCache:t}=rZe();return async n=>{t(),await e(n)}},gZe=e=>e.value.allEntries,mZe=()=>cZe(EYe(gZe)),bZe=()=>{const e=mZe();return(0,V.useMemo)(()=>(0,$R.keyBy)(e.flat(),e=>e.feature.id),[e])},wZe=()=>{const e=mZe();return e[0]?.[0]},vZe=()=>cZe(e=>e.activeDrillDowns).length>0,yZe=()=>{const e=wZe();return Boolean(e?.segmentBenchmarkSize||e?.segmentBenchmarkError||e?.status===ps.New)},xZe=()=>function({predictionType:e,withBaseline:t}){if(e===fs.Regression)return t?"regression-with-baseline":"regression";if(e===fs.Classification)return t?"classification-with-baseline":"classification";throw new Error(`Invalid leaderboard mode detected: predictionType=${e}`)}({predictionType:cZe(e=>e.value.predictionType),withBaseline:uZe()}),AZe=()=>{return e=xZe(),HYe[e];var e},kZe=()=>{return e=xZe(),FYe[e];var e},SZe=()=>{return e=xZe(),zYe[e];var e},EZe=()=>function({formatMode:e,isComparisonMode:t}){return(t?JYe:QYe)[e]}({formatMode:xZe(),isComparisonMode:yZe()}),CZe=()=>{const e=mZe(),t=oZe(e=>e.explanationSearch),n=cZe(e=>e.nullRatio),r=cZe(e=>e.maxCollinearity),i=oZe(e=>e.segmentSizeValue),o=oZe(e=>e.segmentErrorValue),{segmentErrorLabel:a}=AZe(),s=oZe(e=>e.showStarredOnly),l=oZe(e=>e.showNewOnly),c=oZe(e=>e.showHiddenFeatures),u=cZe(e=>e.starredFeatures),f=cZe(e=>e.hiddenFeatures);return(0,V.useMemo)(()=>function(e,t,n,r,i,o,a,s,l,c,u,f){const h=RYe(a),d=(e=>t=>!lZe(t)||_a(t.stats[is.NullRatio])&&t.stats[is.NullRatio]<=e)(r),p=(e=>t=>!lZe(t)||!os.isNumber(t.maxAbsCorrelationOfSimplerFeature)||t.maxAbsCorrelationOfSimplerFeature<=e)(t),g=function(...e){return t=>e.reduce((e,t)=>t(e),t)}(Na(d),Na(e=>!s||l.includes(e.feature.id)),Na(e=>!c||e.status===ps.New),Na(e=>u||!f.includes(e.feature.id)),Na(e=>{const t=n.trim().split(/\s+/).filter(Boolean).map(e=>e.toLowerCase());if(0===t.length)return!0;const r=[(ns.getExplanation(e.feature).value??"").toLowerCase(),(e.feature.id??"").toLowerCase()].join(" ");return t.every(e=>r.includes(e))}),Na(p),Na(e=>!(lZe(e)&&os.isNumber(h.segmentSize.valueGetter(e))&&_a(h.segmentSize.valueGetter(e)))||h.segmentSize.filter.valueGetter(e)>=i),Na(e=>!(lZe(e)&&os.isNumber(h.segmentError.valueGetter(e))&&_a(h.segmentError.valueGetter(e)))||h.segmentError.filter.valueGetter(e)>=o));return e.reduce(g((e,t)=>e.concat([t])),[])}(e.flat(),r,t,n,i,o,a,s,u,l,c,f),[e,r,t,n,i,o,a,s,u,l,c,f])},OZe=e=>cZe(t=>t.progress?.type===e?t.progress:null);function TZe(){const e=oZe(e=>e.explanationSearch),t=cZe(e=>e.searchInFeatureSpace),n=cZe(e=>e.selectFeatures),r=vZe(),i=yZe(),o=OZe("feature_search"),a=r?_Ze("Searching Feature Space in Drill Down mode is not available."):i?_Ze("Searching Feature Space in Comparison Mode is not available"):void 0;return V.createElement(Ds,{sx:{mt:10}},V.createElement(xYe,{onAddToLeaderboard:n,searchPhrase:e,searchInFeatureSpace:t,customContent:a,searchProgress:o}))}function _Ze(e){return V.createElement(Ds,{sx:{display:"flex",alignItems:"center",justifyContent:"center",py:6,px:2}},V.createElement(Ro,{variant:"h6",sx:{color:"text.secondary"}},e))}const MZe=(0,V.createContext)(void 0),PZe=({children:e,updateFeature:t,copyFeature:n,getFeatureDefinitionCode:r,saveUserExplanation:i,domainDictionaryApi:o,loadFeatureEncodingTable:a,loadFeatureLineage:s,loadCustomTab:l,initialFeatureLineagesCache:c,initialEncodingTablesCache:u})=>{const[f,h]=(0,V.useState)(()=>u??{}),[d,p]=(0,V.useState)(()=>c??{}),g=(0,V.useCallback)(({featureId:e})=>e in f?Promise.resolve():a({featureId:e}).then(t=>h(n=>({...n,[e]:t}))),[a,f]),m=(0,V.useCallback)(({featureId:e})=>e in d?Promise.resolve():s({featureId:e}).then(t=>p(n=>({...n,[e]:t}))),[s,d]);return V.createElement(MZe.Provider,{value:(0,V.useMemo)(()=>({updateFeature:t,copyFeature:n,getFeatureDefinitionCode:r,saveUserExplanation:i,loadFeatureEncodingTable:g,loadedFeatureEncodingTables:f,loadFeatureLineage:m,loadedFeatureLineages:d,loadCustomTab:l}),[t,n,r,i,g,f,m,d,l])},V.createElement(j_,{value:o},e))},DZe=()=>{const e=(0,V.useContext)(MZe);if(e)return e;throw new Error("useSegmentLeaderboard() can only be used within SegmentLeaderboardProvider")};function RZe(){const e=cZe(e=>e.calculationStatus),[t,n]=V.useState([]);(0,V.useEffect)(()=>{const t={time:new Date(e?.timestamp??Date.now()),value:e?.lift??0,label:e?.label??""};n(e=>[...e,t])},[e]);const{labelData:r,gridValues:i}=(0,V.useMemo)(()=>{const e=t.length;let n;if(e<=10)n=t;else{const r=Math.ceil(e/10);n=t.filter((t,n)=>{const i=n+1;return 1===i||i===e||i%r===0})}const r=n.map(e=>e.time.getTime());return{labelData:n,gridValues:r}},[t]),o={$schema:"https://vega.github.io/schema/vega-lite/v5.json",description:"A clean line chart with a sparse grid aligned to the custom labels.",width:"container",autosize:{type:"fit",contains:"padding"},layer:[{data:{values:t},mark:{type:"line",strokeWidth:2,color:"#84cc16"},encoding:{x:{field:"time",type:"temporal",axis:{title:null,labels:!1,ticks:!1,domain:!1,grid:!0,values:i}},y:{field:"value",type:"quantitative",title:"Lift",axis:{titleColor:"#9ca3af",labelColor:"#9ca3af"}}}},{data:{values:r},mark:{type:"text",align:"center",dy:15},encoding:{x:{field:"time",type:"temporal"},y:{value:150},text:{field:"label",type:"nominal"},color:{value:"#9ca3af"}}}],config:{background:"transparent"}};return V.createElement(eMe,{vegaSpec:o,sx:{width:"100%"}})}const IZe={display:"flex",flexWrap:"wrap",gap:3,width:"100%",p:2,backgroundColor:"var(--c-leaderboard-background)"},NZe={minHeight:341,minWidth:800},$Ze=({customScoreChart:e,temporalDistributionChart:t,adbData:n})=>{const[r,i]=(0,V.useState)(!1),[o,a]=(0,V.useState)(null),s=(0,V.useMemo)(()=>{const r=[];return e&&r.push({id:"score",label:"Baseline Performance"}),t&&r.push({id:"temporal",label:"Trend"}),n&&r.push({id:"topology",label:"Data Topology"}),r},[e,t,n]);(0,V.useEffect)(()=>{const e=s.some(e=>e.id===o);!(s.length>0)||o&&e||a(s[0]?.id??null)},[s,o]);const l=e&&V.createElement(Ds,{sx:IZe},V.createElement($Fe,{header:"Baseline Performance",sx:NZe,contentSx:{alignItems:"baseline"},headerSx:{marginBottom:6}},V.createElement(cMe,{histogramCharts:e,detailedHistogramAvailable:!0,sx:{marginTop:-12,marginRight:4}}))),c=t&&V.createElement(Ds,{sx:IZe},V.createElement($Fe,{header:"Trend",sx:NZe,contentSx:{alignItems:"baseline"},headerSx:{marginBottom:6}},V.createElement(eMe,{vegaSpec:t,sx:{height:"300px"}}))),u=n&&V.createElement(SGe,{value:n});if(0===s.length)return null;const f=r?V.createElement(g$e,{value:o,onChange:(e,t)=>{a(t)},sx:{minHeight:"64px","& .MuiTab-root":{minHeight:"64px"}}},s.map(e=>V.createElement(y$e,{key:e.id,value:e.id,label:e.label}))):V.createElement("h3",{className:"grey-label",style:{margin:0}},"Data & Configuration");return V.createElement($Fe,{isAccordion:!0,expanded:r,onToggle:i,header:f,sx:{width:"100%"}},V.createElement(Ds,{sx:{pt:1}},"score"===o&&l,"temporal"===o&&c,"topology"===o&&u))},LZe=vs((0,bo.jsx)("path",{d:"M10 18h4v-2h-4zM3 6v2h18V6zm3 7h12v-2H6z"}));function jZe(e){return Oo("MuiSwitch",e)}const FZe=To("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),zZe=ho("span",{name:"MuiSwitch",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.edge&&t[`edge${xo(n.edge)}`],t[`size${xo(n.size)}`]]}})({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"},variants:[{props:{edge:"start"},style:{marginLeft:-8}},{props:{edge:"end"},style:{marginRight:-8}},{props:{size:"small"},style:{width:40,height:24,padding:7,[`& .${FZe.thumb}`]:{width:16,height:16},[`& .${FZe.switchBase}`]:{padding:4,[`&.${FZe.checked}`]:{transform:"translateX(16px)"}}}}]}),BZe=ho(MN,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.switchBase,{[`& .${FZe.input}`]:t.input},"default"!==n.color&&t[`color${xo(n.color)}`]]}})(go(({theme:e})=>({position:"absolute",top:0,left:0,zIndex:1,color:e.vars?e.vars.palette.Switch.defaultColor:`${"light"===e.palette.mode?e.palette.common.white:e.palette.grey[300]}`,...ta(e,["left","transform"],{duration:e.transitions.duration.shortest}),[`&.${FZe.checked}`]:{transform:"translateX(20px)"},[`&.${FZe.disabled}`]:{color:e.vars?e.vars.palette.Switch.defaultDisabledColor:`${"light"===e.palette.mode?e.palette.grey[100]:e.palette.grey[600]}`},[`&.${FZe.checked} + .${FZe.track}`]:{opacity:.5},[`&.${FZe.disabled} + .${FZe.track}`]:{opacity:e.vars?e.vars.opacity.switchTrackDisabled:""+("light"===e.palette.mode?.12:.2)},[`& .${FZe.input}`]:{left:"-100%",width:"300%"}})),go(({theme:e})=>({"&:hover":{backgroundColor:e.alpha((e.vars||e).palette.action.active,(e.vars||e).palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[...Object.entries(e.palette).filter(Ao(["light"])).map(([t])=>({props:{color:t},style:{[`&.${FZe.checked}`]:{color:(e.vars||e).palette[t].main,"&:hover":{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${FZe.disabled}`]:{color:e.vars?e.vars.palette.Switch[`${t}DisabledColor`]:`${"light"===e.palette.mode?e.lighten(e.palette[t].main,.62):e.darken(e.palette[t].main,.55)}`}},[`&.${FZe.checked} + .${FZe.track}`]:{backgroundColor:(e.vars||e).palette[t].main}}}))]}))),WZe=ho("span",{name:"MuiSwitch",slot:"Track"})(go(({theme:e})=>({height:"100%",width:"100%",borderRadius:7,zIndex:-1,...ta(e,["opacity","background-color"],{duration:e.transitions.duration.shortest}),"@media (forced-colors: active)":{boxSizing:"border-box",border:"1px solid ButtonBorder"},backgroundColor:e.vars?e.vars.palette.common.onBackground:`${"light"===e.palette.mode?e.palette.common.black:e.palette.common.white}`,opacity:e.vars?e.vars.opacity.switchTrack:""+("light"===e.palette.mode?.38:.3)}))),qZe=ho("span",{name:"MuiSwitch",slot:"Thumb"})(go(({theme:e})=>({boxShadow:(e.vars||e).shadows[1],backgroundColor:"currentColor",boxSizing:"border-box",border:"1px solid transparent",width:20,height:20,borderRadius:"50%"}))),HZe=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiSwitch"}),{className:r,color:i="primary",edge:o=!1,size:a="medium",sx:s,slots:l={},slotProps:c={},...u}=n,f={...n,color:i,edge:o,size:a},h=(e=>{const{classes:t,edge:n,size:r,color:i,checked:o,disabled:a}=e,s=X({root:["root",n&&`edge${xo(n)}`,`size${xo(r)}`],switchBase:["switchBase",`color${xo(i)}`,o&&"checked",a&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},jZe,t);return{...t,...s}})(f),d=c.input,p={slots:l,slotProps:c},[g,m]=eu("root",{className:G(h.root,r),elementType:zZe,externalForwardedProps:p,ownerState:f,additionalProps:{sx:s}}),[b,w]=eu("thumb",{className:h.thumb,elementType:qZe,externalForwardedProps:p,ownerState:f}),v=(0,bo.jsx)(b,{...w}),[y,x]=eu("track",{className:h.track,elementType:WZe,externalForwardedProps:p,ownerState:f});return(0,bo.jsxs)(g,{...m,children:[(0,bo.jsx)(BZe,{type:"checkbox",icon:v,checkedIcon:v,ref:t,ownerState:f,...u,classes:{...h,root:h.switchBase},slots:{...l.switchBase&&{root:l.switchBase},...l.input&&{input:l.input}},slotProps:{...c.switchBase&&{root:"function"==typeof c.switchBase?c.switchBase(f):c.switchBase},input:kD("function"==typeof d?d(f):d,{role:"switch"})}}),(0,bo.jsx)(y,{...x})]})}),UZe=HZe;function VZe(){const{maxCollinearity:e,setMaxCollinearity:t,nullRatio:n,setNullRatio:r}=cZe(EYe(e=>({maxCollinearity:e.maxCollinearity,setMaxCollinearity:e.setMaxCollinearity,nullRatio:e.nullRatio,setNullRatio:e.setNullRatio}))),i=dZe(),o=i.segmentSize,a=i.segmentError,s=oZe(e=>e.segmentSizeValue),l=oZe(e=>e.setSegmentSizeValue),c=oZe(e=>e.segmentErrorValue),u=oZe(e=>e.setSegmentErrorValue),f=oZe(e=>e.showHiddenFeatures),h=oZe(e=>e.setShowHiddenFeatures);return V.createElement(Zze,{"data-testid":W,buttonContent:V.createElement(V.Fragment,null,V.createElement(LZe,{sx:{marginRight:"6px"}})," Filters"),title:"Filters"},V.createElement(Ds,null,V.createElement(Ds,{sx:{mt:"16px"}},V.createElement(Uze,{testId:"Max collinearity",value:e,setValue:t,label:"Max correlation",labelRightSlot:V.createElement(hDe,{filterName:"maxCollinearity"},V.createElement($T,null)),min:0,max:1})),V.createElement(Ds,{sx:{mt:"16px"}},V.createElement(Uze,{testId:"Null ratio",value:n,setValue:r,label:"Null ratio",labelRightSlot:V.createElement(hDe,{filterName:"nullRatio"},V.createElement($T,null)),min:0,max:1}))),V.createElement(Ds,{sx:{mt:"16px"}},V.createElement(Uze,{testId:o.id,invertSliderTrack:o.filter.invertSliderTrack,value:s,setValue:l,label:o.label,min:o.filter.min,max:o.filter.max})),V.createElement(Ds,{sx:{mt:"16px"}},V.createElement(Uze,{testId:a.id,invertSliderTrack:a.filter.invertSliderTrack,value:c,setValue:u,label:a.label,min:a.filter.min,max:a.filter.max})),V.createElement(Ds,{sx:{mt:"16px",display:"flex",alignItems:"center"}},V.createElement(Ro,{className:"grey-label label-bold",variant:"body2",sx:{position:"relative",top:"-3px",fontSize:"14px",fontWeight:500,mr:13}},"Show Hidden"),V.createElement(UZe,{checked:f,onChange:(e,t)=>h(t)})))}const KZe=()=>{const e=oZe(e=>e.showStarredOnly),t=oZe(e=>e.setShowStarredOnly);return V.createElement(O_,{size:"medium",icon:e?V.createElement(jPe,null):V.createElement(FPe,null),label:"Starred",onClick:()=>t(!e),variant:"outlined",sx:{backgroundColor:e?"var(--c-inversion-aware-warning-light)":"white","& .MuiChip-icon":{color:"var(--c-inversion-aware-warning)",mx:1},"& .MuiChip-label":{fontWeight:500,color:"var(--c-grey-700)",mr:2}}})},QZe=()=>{const e=oZe(e=>e.setExplanationSearch),t=mZe().flat().map(e=>e.feature),n=(()=>{const e=bZe(),t=cZe(e=>e.activeDrillDowns);return(0,V.useMemo)(()=>t.map(({featureId:t,label:n})=>({featureId:t,label:n,entry:e[t]})),[e,t])})(),r=pZe(),i=(()=>{const e=cZe(e=>e.removeDrillDown),{clearHistogramChartCache:t}=rZe();return async n=>{t(),await e(n)}})(),o=yZe(),a=o?"Drill Down in Comparison Mode is not available":void 0,[s,l]=(0,V.useState)(()=>"");return V.createElement(Ds,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",p:2}},V.createElement(tMe,{variant:"row",gap:3,sx:{alignItems:"center"}},n&&V.createElement(nFe,{drillDownItems:n,availableDrillDownFeatures:t,onAdd:r,onRemove:i,disabled:o,disabledTooltip:a}),V.createElement(KZe,null)),V.createElement(tMe,{variant:"row",gap:1,sx:{marginLeft:"auto",alignItems:"center"}},V.createElement(VZe,null),V.createElement(Jze,{testId:q,placeholder:"Search feature",sx:{width:"275px"},searchPhrase:s,onSearchPhraseChange:t=>{l(t),e(t)}})))},GZe=R_(),XZe=vs((0,bo.jsx)("path",{d:"m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"})),YZe=vs((0,bo.jsx)("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z"})),ZZe=vs((0,bo.jsx)("path",{d:"M18 2H9c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h9c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m0 14H9V4h9zM3 15v-2h2v2zm0-5.5h2v2H3zM10 20h2v2h-2zm-7-1.5v-2h2v2zM5 22c-1.1 0-2-.9-2-2h2zm3.5 0h-2v-2h2zm5 0v-2h2c0 1.1-.9 2-2 2M5 6v2H3c0-1.1.9-2 2-2"})),JZe=vs((0,bo.jsx)("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"})),eJe="data:image/x-icon;base64,AAABAAUAEBAAAAEAIABoBAAAVgAAABgYAAABACAAiAkAAL4EAAAgIAAAAQAgAKgQAABGDgAAMDAAAAEAIACoJQAA7h4AAAAAAAABACAAmiQAAJZEAAAoAAAAEAAAACAAAAABACAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAxMTEAMXFxQvp6emO7e3ttO3t7bLt7e2y7e3tsu3t7bLt7e2y7e3tsu3t7bLt7e2y7e3ttOnp6Y7FxcULxMTEANPT0wDU1NQQ+vr6zP/////////////////////////////////////////////////////6+vrM1NTUENPT0wDT09MA1NTUEPv7+8z//////P3///T5/v/0+P7/9Pj+//T4/v/0+P7/9Pn+//z9////////+/v7zNTU1BDT09MA09PTANTU1BD7+/vM/////8ff+/8/kPP/OIzz/zqO8/86jvP/OIzz/z+Q8//H3/z///////v7+8zU1NQQ09PTANPT0wDU1NQQ+/v7zP////+00/r/GXnw/zyO8/8Da+//BGvv/zyP8/8ZefD/tdT6///////7+/vM1NTUENPT0wDT09MA1NTUEPv7+8z/////s9P6/yqE8v/U5vz/hLj3/4W59//U5vz/KoTy/7TU+v//////+/v7zNXV1RDT09MA09PTANTU1BD7+/vM/////7TT+v8phPL/5O/9////////////5O/9/ymD8v+01Pr///////v7+8zV1dUQ09PTANPT0wDU1NQQ+/v7zP////+00/r/KIPx/9vq/f/3+v7/9/r+/9vq/f8og/H/tNT6///////6+vrM1dXVENPT0wDT09MA1dXVEPv7+8z/////tdX6/w908P84jPP/P5Dz/z+Q8/84jPP/D3Xw/7XU+f////3/+Pj4zNPT0xDS0tIA09PTANXV1RD7+/vM/////+Tv/f+iyfn/ncf5/53G+f+dxvn/nMb4/6HI+P/h7Pr/+vr5//Ly8sPKysoMycnJANTU1ADV1dUQ+/v7zP/////////////////////////////+///+/P/9+/n/9vX1/+7u7v/j4+OQAAAAAKurqwDU1NQA1dXVEPv7+8z//////////////////////v7+//z8/P/09PT/6Ojo/93d3f/R0dHJxcXFJ8vLywAiIiIA1NTUANXV1RD7+/vM/////////////////v7+//39/f/29vb/8PDw/+7u7v/b29vDvb29K+Li4gBwcHAAAAAAANPT0wDU1NQQ+fn5zP7+/v/+/v7//f39//z8/P/5+fn/8PDw/+rq6v/t7e292dnZJurq6gCjo6MAAAAAAAAAAADOzs4A0NDQEPT09Mz4+Pj/+Pj4//j4+P/29vb/8fHx/+Xl5f/Y2Ni019fXIejo6AB2dnYAAAAAAAAAAAAAAAAAy8vLAMzMzA3p6emq7e3t2O3t7dXs7OzV6enp1uPj48/U1NSWvb29H8XFxQCGhoYAAAAAAAAAAAAAAAAAAAAAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAwAAgAMAAIAHAACADwAAgB8AAIA/AAAoAAAAGAAAADAAAAABACAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIuLiwCNjY0G1NTUYtjY2IXY2NiD2NjYg9jY2IPY2NiD2NjYg9jY2IPY2NiD2NjYg9jY2IPY2NiD2NjYg9jY2IPY2NiD2NjYg9jY2IXU1NRijIyMBouLiwAAAAAAAAAAAKqqqgCqqqoL9/f3wP7+/v/+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v/39/fAqqqqC6qqqgAAAAAAAAAAAKurqwCrq6sL9/f3wP/////////////////////////////////////////////////////////////////////////////////////39/fAq6urC6urqwAAAAAAAAAAAKurqwCrq6sL9/f3wP/////////////////////////////////////////////////////////////////////////////////////4+PjAq6urC6urqwAAAAAAAAAAAKurqwCrq6sL9/f3wP//////////+vz//8be+/+31vv/uNb7/7jW+/+41vv/uNb7/7jW+/+41vv/t9b7/8be+//7/P/////////////4+PjAq6urC6urqwAAAAAAAAAAAKurqwCrq6sL9/f3wP//////////7/b+/ziM8v8Dbu//BW/v/wdw7/8HcO//B3Dv/wdw7/8Fb+//A27v/zmM8//w9v7////////////4+PjAq6urC6urqwAAAAAAAAAAAKurqwCrq6sL9/f3wP//////////7/b+/zGI8v8Mc/D/KIPx/wFr7/8Aa+//AGvv/wFr7/8og/H/DHPw/zKJ8v/v9v7////////////39/fAq6urC6urqwAAAAAAAAAAAKurqwCrq6sL9/f3wP//////////7/b+/zCI8v8kgPH/xt77/1+j9f8Fbu//Bm7v/2Cj9f/G3vv/I4Dx/zGI8v/v9v7////////////4+PjAq6urC6urqwAAAAAAAAAAAKurqwCqqqoL9/f3wP//////////7/b+/zCI8v8jgPH/5/H9//X5/v+Pvvj/kL/4//X5/v/m8f3/In/x/zGI8v/v9v7////////////4+PjAq6urC6urqwAAAAAAAAAAAKurqwCqqqoL9/f3wP//////////7/b+/zCI8v8jgPH/5vH9///////+/v///v7////////m8P3/In/x/zGI8v/v9v7////////////4+PjAq6urC6urqwAAAAAAAAAAAKurqwCqqqoL9/f3wP//////////7/b+/zCI8v8jgPH/5vH9///////////////////////m8P3/In/x/zGI8v/v9v7////////////4+PjAq6urC6urqwAAAAAAAAAAAKurqwCqqqoL+Pj4wP//////////7/b+/zCI8v8igPH/4+/9//3+///8/f///P3///3+///j7v3/IX/x/zGI8v/v9v7////////////39/fAq6urC6urqwAAAAAAAAAAAKurqwCrq6sL+Pj4wP//////////7/b+/zGI8v8JcO//SJX0/1Ca9P9QmvT/UJr0/1Ga9P9IlfT/CHDv/zKI8v/u9f3//v7+//39/f/29vbAqqqqC6qqqgAAAAAAAAAAAKurqwCrq6sL+Pj4wP//////////8ff+/0iW9P8YevH/GHnw/xd58P8XefD/F3nw/xd58P8YefD/GHrw/0mV8//v9fz//Pz8//v7+//z8/O/p6enC6enpwAAAAAAAAAAAKurqwCrq6sL+Pj4wP///////////f7//+Pv/f/c6/3/3Ov9/9zr/f/c6/3/3Ov9/9zq/P/b6vz/2un7/+Hs+v/4+fr/+Pj4//b29v/t7e2te3t7BY+PjwAAAAAAAAAAAKurqwCrq6sL+Pj4wP/////////////////////////////////////////////+/////v///v3//fz7//v6+f/29vb/8/Pz/+7u7v/g4OB7////AD8/PwAAAAAAAAAAAKysrACrq6sL+Pj4wP/////////////////////////////////////+/v7//v7+//z8/P/5+fn/9PT0//Dw8P/t7e3/5ubm/9ra2trIyMgq0NDQAAAAAAAAAAAAAAAAAKysrACrq6sL+Pj4wP////////////////////////////////7+/v/+/v7//Pz8//f39//v7+//5eXl/9zc3P/V1dX/ycnJ47i4uE7///8AkpKSAAAAAAAAAAAAAAAAAKysrACrq6sL+Pj4wP////////////////////////////////7+/v/9/f3/+fn5//Hx8f/w8PD/7u7u/+Tk5P/W1tbevr6+SgAAAACLi4sAAAAAAAAAAAAAAAAAAAAAAKysrACrq6sL9/f3wP///////////////////////////v7+//39/f/7+/v/9vb2/+zs7P/x8fH/+vr6/+rq6tnU1NRC////AKysrAAAAAAAAAAAAAAAAAAAAAAAAAAAAKurqwCrq6sL9vb2wP39/f/9/f3//f39//39/f/9/f3//Pz8//v7+//39/f/8fHx/+jo6P/p6en/6urq09LS0jz///8Ak5OTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKmpqQCoqKgL8/PzwPr6+v/6+vr/+vr6//r6+v/5+fn/+Pj4//b29v/y8vL/7Ozs/9/f3//a2trO1dXVNf///wCLi4sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKWlpQClpaUL7e3twPT09P/z8/P/8/Pz//Pz8//y8vL/8fHx/+7u7v/q6ur/4ODg/c7OzsPAwMAv1tbWAIeHhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK2trQCtra0I4+Pjjejo6L/o6Oi86OjovOjo6Lzn5+e85eXlvOLi4rvb29uuzs7Oera2tiHm5uYAdXV1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAADAMAAAwDAAAMAwAADAMAAAwDAAAMAwAADAMAAAwDAAAMAwAADAMAAAwDAAAMAwAADAMAAAwDAAAMAwAAHAMAABwDAAA8AwAAfAMAAPwDAAH8AwAD/AMAB/wDAA/8AKAAAACAAAABAAAAAAQAgAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARUVFAD4+PgOysrI9t7e3Wra2tlm2trZZtra2Wba2tlm2trZZtra2Wba2tlm2trZZtra2Wba2tlm2trZZtra2Wba2tlm2trZZtra2Wba2tlm2trZZtra2Wba2tlm2trZZt7e3WrKysj09PT0DRUVFAAAAAAAAAAAAAAAAAAAAAABycnIAZGRkB/Dw8Kv7+/v4+/v79Pv7+/T7+/v0+/v79Pv7+/T7+/v0+/v79Pv7+/T7+/v0+/v79Pv7+/T7+/v0+/v79Pv7+/T7+/v0+/v79Pv7+/T7+/v0+/v79Pv7+/T7+/v48PDwq2VlZQdycnIAAAAAAAAAAAAAAAAAAAAAAHV1dQBnZ2cI9PT0tP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////09PS0Z2dnCHV1dQAAAAAAAAAAAAAAAAAAAAAAdXV1AGdnZwj09PS0//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////T09LRnZ2cIdXV1AAAAAAAAAAAAAAAAAAAAAAB1dXUAZ2dnCPT09LT/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9PT0tGdnZwh1dXUAAAAAAAAAAAAAAAAAAAAAAHV1dQBnZ2cI9PT0tP///////////////////////////v////7////+/////v////7////+/////v////7////+/////v////7////+///////////////////////////////09PS0Z2dnCHV1dQAAAAAAAAAAAAAAAAAAAAAAdXV1AGdnZwj09PS0/////////////////////6/R+v9cofX/XqL1/16i9f9eovX/XqL1/16i9f9eovX/XqL1/16i9f9eovX/XqL1/1yh9f+w0fr///////////////////////T09LRnZ2cIdXV1AAAAAAAAAAAAAAAAAAAAAAB1dXUAZ2dnCPT09LT/////////////////////f7T3/wBo7/8Aae//AGnv/wBp7/8Aae//AGnv/wBp7/8Aae//AGnv/wBp7/8Aae//AGjv/4G19///////////////////////9PT0tGdnZwh1dXUAAAAAAAAAAAAAAAAAAAAAAHV1dQBnZ2cI9PT0tP////////////////////+Atvf/AGrv/wty8P8WePD/AGvv/wBs7/8AbO//AGzv/wBs7/8Aa+//Fnjw/wty8P8Aau//gbb3///////////////////////09PS0Z2dnCHV1dQAAAAAAAAAAAAAAAAAAAAAAdXV1AGdnZwj09PS0/////////////////////4C29/8Aae//KIPy/7HS+v9AkfP/AWvv/wBs7/8AbO//AWvv/0GS8/+x0vr/J4Lx/wBp7/+Btvf///////////////////////T09LRnZ2cIdXV1AAAAAAAAAAAAAAAAAAAAAAB1dXUAZ2dnCPT09LT/////////////////////gLb3/wBp7/8og/L/6fL+/+fx/f9pqPb/CHDv/whw7/9qqfb/5/H+/+jy/v8ng/H/AGnv/4G29///////////////////////9PT0tGdnZwh1dXUAAAAAAAAAAAAAAAAAAAAAAHV1dQBmZmYI9PT0tP////////////////////+Atvf/AGnv/yiD8v/o8v7///////b6/v+bxfn/nMb5//f6/v//////5/H9/yeD8f8Aae//gbb3///////////////////////09PS0Z2dnCHV1dQAAAAAAAAAAAAAAAAAAAAAAdXV1AGZmZgj09PS0/////////////////////4C29/8Aae//KIPy/+jy/v/////////////////////////////////n8f3/J4Px/wBp7/+Btvf///////////////////////T09LRnZ2cIdXV1AAAAAAAAAAAAAAAAAAAAAAB1dXUAZmZmCPT09LT/////////////////////gLb3/wBp7/8og/L/6PL+/////////////////////////////////+fx/f8ng/H/AGnv/4G29///////////////////////9PT0tGdnZwh1dXUAAAAAAAAAAAAAAAAAAAAAAHV1dQBmZmYI9PT0tP////////////////////+Atvf/AGnv/yiD8v/o8v7/////////////////////////////////5/H9/yeD8f8Aae//gbb3///////////////////////09PS0Z2dnCHV1dQAAAAAAAAAAAAAAAAAAAAAAdXV1AGZmZgj09PS0/////////////////////4C29/8Aae//KIPy/+jy/v/////////////////////////////////n8f3/J4Px/wBp7/+Btvf///////7+/v/+/v7///////T09LRnZ2cIdXV1AAAAAAAAAAAAAAAAAAAAAAB1dXUAZ2dnCPT09LT/////////////////////gLb3/wBp7/8QdfD/XaL1/2en9v9np/X/Z6f1/2en9f9np/X/Z6f2/12h9f8QdfD/AGrv/4G29/////7//v7+//39/f/+/v7/8vLytGdnZwh1dXUAAAAAAAAAAAAAAAAAAAAAAHV1dQBnZ2cI9PT0tP////////////////////9/tPf/AGjv/wBp7/8AZ+7/AGfu/wBn7v8AZ+7/AGfu/wBn7v8AZ+7/AGfv/wBp7/8AaO//gLX2/////f/9/f3//Pz8//z8/P/x8fGzZmZmCHV1dQAAAAAAAAAAAAAAAAAAAAAAdXV1AGdnZwj09PS0/////////////////////6nN+v9RmvT/U5z0/1Oc9P9TnPT/U5z0/1Oc9P9TnPT/U5z0/1Ob9P9Tm/T/U5v0/1Ca8/+pzPj//v38//v7+//6+vr/+fn5/+3t7a1LS0sGaWlpAAAAAAAAAAAAAAAAAAAAAAB1dXUAZ2dnCPT09LT//////////////////////f7///z9///8/f///P3///z9///8/f///P3///z9///7/P7/+/z+//r8/f/6+/3/+fr8//r6+//6+vr/+Pj4//b29v/19fX/5ubmlAAAAAA3NzcAAAAAAAAAAAAAAAAAAAAAAHV1dQBnZ2cI9PT0s////////////////////////////////////////////////////////////v7+//7+/v/+/f3//f39//z8/P/7+/r/+fn5//f39//09PT/8fHx/+3t7f3a2tpj////AAUFBQAAAAAAAAAAAAAAAAAAAAAAdnZ2AGdnZwj09PSz//////////////////////////////////////////////////////7+/v/+/v7//f39//39/f/7+/v/+Pj4//b29v/z8/P/8fHx/+7u7v/p6en/3d3d2MHBwSPR0dEAAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnYAZ2dnCPT09LP////////////////////////////////////////////////+/v7//v7+//39/f/8/Pz/+fn5//X19f/w8PD/7Ozs/+np6f/m5ub/4ODg/9PT0/TCwsJn////AIqKigAAAAAAAAAAAAAAAAAAAAAAAAAAAHZ2dgBnZ2cI9PT0s/////////////////////////////////////////////////7+/v/9/f3//f39//n5+f/z8/P/7Ozs/+Tk5P/c3Nz/1dXV/87Ozv/ExMTzs7OzdYWFhQaXl5cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdnZ2AGdnZwj09PSz///////////////////////////////////////////+/v7//v7+//39/f/7+/v/9fX1/+7u7v/v7+//6+vr/+Li4v/c3Nz/1NTU8MDAwG6CgoIFnZ2dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnYAZ2dnCPT09LP//////////////////////////////////////v7+//7+/v/9/f3//Pz8//j4+P/y8vL/6+vr//b29v/+/v7/+Pj4/+rq6uzT09Nli4uLBK6urgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZ2dgBoaGgI9PT0s//////+/v7//v7+//7+/v/+/v7//v7+//7+/v/9/f3//f39//z8/P/6+vr/9fX1/+/v7//n5+f/8fHx//j4+P/p6enp0dHRXmZmZgOhoaEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXV1AGdnZwjy8vKz/f39//39/f/9/f3//f39//39/f/9/f3//Pz8//z8/P/7+/v/+fn5//b29v/y8vL/7Ozs/+Li4v/r6+v/6enp5dHR0VY9PT0Bn5+fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0dHQAZmZmCPDw8LP7+/v/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+fn5//j4+P/29vb/8/Pz/+7u7v/n5+f/29vb/9/f3+HT09NPAAAAAZmZmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJycgBkZGQI7Ozss/f39//39/f/9/f3//f39//39/f/9/f3//b29v/19fX/8/Pz//Hx8f/t7e3/6Ojo/93d3f/Nzc3cyMjISAAAAACYmJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdHR0AGdnZwfm5uaz8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/7+/v/+7u7v/s7Oz/6enp/+Tk5P/b29v3y8vLw7W1tT7///8AmJiYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACGhoYAe3t7BN7e3m/k5OSj5OTkoeTk5KHk5OSh5OTkoeTk5KHj4+Oh4uLiod/f36Hb29ud1dXVicnJyVqvr68Z////AG9vbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAD+AAAA/gAAAP4AAAH+AAAB/gAAA/4AAAf+AAAP/gAAH/4AAD/+AAD//gAB//4AA//ygAAAAwAAAAYAAAAAEAIAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAIvLy8SMTExIS4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iMTExIS8vLxIAAAACAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgoKAAAAAAPX19dy6enpxOjo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6enpxNfX13IAAAADCgoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////P3//6jN+v+Dt/f/hbj3/4W49/+FuPf/hbj3/4W49/+FuPf/hbj3/4W49/+FuPf/hbj3/4W49/+FuPf/hbj3/4W49/+FuPf/hbj3/4O39/+pzfr//P3//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+Pv//0mV9P8AaO//AGrv/wBq7/8Aau//AGrv/wBq7/8Aau//AGrv/wBq7/8Aau//AGrv/wBq7/8Aau//AGrv/wBq7/8Aau//AGrv/wBo7/9MlvT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGzv/wBs7/8AbO//AGzv/wBs7/8AbO//AGzv/wBs7/8AbO//AGzv/wBs7/8AbO//AGzv/wBs7/8AbO//AGzv/wBq7/9Ml/T/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGzv/wNu7/8Ebe//AGvv/wBs7/8AbO//AGzv/wBs7/8AbO//AGzv/wBs7/8AbO//AGvv/wRt7/8Dbu//AGzv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGvv/yaB8f92sPb/FXfw/wBq7/8AbO//AGzv/wBs7/8AbO//AGzv/wBs7/8Aau//Fnjw/3ew9v8kgfH/AGvv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/p8v7/ttX6/y6G8v8Aau//AGzv/wBs7/8AbO//AGzv/wBq7/8vh/L/t9X6/+jx/v8thfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r8/7//////9jo/f9UnPT/BG3v/wBr7/8Aa+//BG3v/1Wd9P/Z6f3//////+rz/v8shfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r8/7////////////v9v7/gLb3/xB08P8QdfD/grf3//D2/v///////////+rz/v8shfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r8/7/////////////////+/3//7LS+v+z0/r/+/3//////////////////+rz/v8shfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r8/7//////////////////////////////////////////////////////+rz/v8shfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r8/7//////////////////////////////////////////////////////+rz/v8shfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r8/7//////////////////////////////////////////////////////+rz/v8shfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r8/7//////////////////////////////////////////////////////+rz/v8shfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r8/7//////////////////////////////////////////////////////+rz/v8shfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r9P7//////////////////////////////////////////////////////+rz/v8shfL/AGrv/wBq7/9Ml/T/+fv+/////v/+/v7//v7+//7+/v/+/v7//v7+/+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGvv/xp78f+Huff/k8D4/5LA+P+SwPj/ksD4/5LA+P+SwPj/ksD4/5LA+P+SwPj/k8D4/4a59/8ZevH/AGvv/wBq7/9Ml/T/+fv+//7+/v/+/v7//v7+//7+/v/9/f3//v7+/+np6ZgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGzv/wBs7/8Aa+//AGvv/wBr7/8Aa+//AGvv/wBr7/8Aa+//AGvv/wBr7/8Aa+//AGvv/wBr7/8AbO//AGzv/wBq7/9Ml/P/+Pv9//7+/f/9/f3//f39//39/f/9/f3//f39/+np6ZgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qW9P8Aae//AGvv/wBr7/8Aa+//AGvv/wBr7/8Aa+//AGvv/wBr7/8Aa+//AGvv/wBr7/8Aa+//AGvv/wBr7/8Aa+//AGvv/wBp7/9Ml/P/+Pr9//39/f/9/f3//Pz8//v7+//7+/v/+/v7/+fn55cAAAADDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fz//1yg9f8VePD/GXrx/xl68f8ZevH/GXrx/xl68f8ZevH/GXrx/xl68f8ZevH/GXrx/xl68f8ZevD/GXrw/xl68P8ZevD/GXrw/xV48P9dofT/+Pr8//z8/P/7+/v/+/v7//r6+v/6+vr/+fn5/+Tk5JEAAAACCgoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////v7//+Pv/f/X6Pz/2Oj9/9jo/f/Y6P3/2Oj9/9jo/f/Y6P3/2Oj9/9jo/f/Y6P3/2Oj8/9fo/P/X6Pz/1+f8/9fn/P/W5/v/1uf7/9Xm+//h7Pv/+/v7//v7+//6+vr/+fn5//j4+P/39/f/9vb2/9/f33////8ABQUFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////////////////////////////////////////////////////////////////////////////v////7////+/////f///v3///79//79/P/9/Pv/+vr6//n5+f/4+Pj/9/f3//X19f/09PT/8fHx/NTU1GH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY///////////////////////////////////////////////////////////////////////////////////////////+/v7//v7+//7+/v/+/v7//f39//39/f/8/Pz/+/v7//v7+//6+vr/+fn5//f39//19fX/9PT0//Ly8v/w8PD/6urq68HBwTf///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqX//////////////////////////////////////////////////////////////////////////////////////7+/v/+/v7//v7+//7+/v/9/f3//f39//z8/P/7+/v/+vr6//n5+f/39/f/9fX1//T09P/y8vL/8PDw/+3t7f/p6en/3d3dvJCQkBDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATr6+uX/////////////////////////////////////////////////////////////////////////////////v7+//7+/v/+/v7//v7+//39/f/9/f3//Pz8//r6+v/4+Pj/9vb2//T09P/y8vL/8fHx/+/v7//t7e3/6+vr/+bm5v/d3d35x8fHZP///wAnJycAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATr6+uX/////////////////////////////////////////////////////////////////////////////////v7+//7+/v/+/v7//f39//39/f/7+/v/+Pj4//X19f/y8vL/8PDw/+7u7v/s7Oz/6urq/+jo6P/l5eX/4eHh/9fX1//GxsaumpqaEbm5uQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATr6+uX///////////////////////////////////////////////////////////////////////////+/v7//v7+//7+/v/9/f3//f39//v7+//39/f/8/Pz//Dw8P/s7Oz/6Ojo/+Xl5f/i4uL/4ODg/9zc3P/X19f/zMzM/7q6usKenp4oxMTEAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATr6+uX//////////////////////////////////////////////////////////////////////7+/v/+/v7//v7+//39/f/9/f3/+/v7//j4+P/z8/P/7+/v/+np6f/k5OT/3d3d/9jY2P/T09P/zc3N/8bGxv/AwMD/tLS0vZaWlinNzc0AOTk5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATr6+uX//////////////////////////////////////////////////////////////////////7+/v/+/v7//f39//39/f/8/Pz/+fn5//X19f/w8PD/7Ozs/+zs7P/k5OT/29vb/9XV1f/S0tL/0dHR/9LS0v/Gxsa2p6enJNnZ2QAyMjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATr6+uX/////////////////////////////////////////////////////////////////v7+//7+/v/9/f3//f39//z8/P/6+vr/9/f3//Ly8v/t7e3/7Ozs//z8/P/9/f3/+vr6//f39//z8/P/6urq/tXV1a+tra0f2NjYAC8vLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATr6+uX////////////////////////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",tJe=()=>V.createElement(Ds,{component:"img",src:eJe,alt:"",sx:{width:16,height:16,display:"block"}});function nJe({featureId:e,runId:t,onExport:n}){return V.createElement(YO,{variant:"outlined",startIcon:V.createElement(tJe,null),onClick:()=>n({feature_id:e,run_id:t})},V.createElement(p_,{title:"Create notebook"},V.createElement("span",null,"Analyze in Notebook")))}const rJe=()=>V.createElement(Ds,{component:"img",src:eJe,alt:"",sx:{width:16,height:16,display:"block"}});function iJe({featureId:e,runId:t,exportedInfo:n,onExport:r}){const i=`${n.notebook_path} · ${new Date(n.created_at).toLocaleString()}`;return V.createElement(YO,{variant:"contained",startIcon:V.createElement(rJe,null),onClick:()=>r({feature_id:e,run_id:t})},V.createElement(p_,{title:i},V.createElement("span",null,"Open in notebook")))}function oJe({featureId:e,runId:t,onExport:n,exportedInfo:r}){return r?V.createElement(iJe,{featureId:e,runId:t,exportedInfo:r,onExport:n}):V.createElement(nJe,{featureId:e,runId:t,onExport:n})}const aJe={display:"flex",gap:"12px"},sJe={flex:"1 1 0",maxWidth:"33%",minWidth:200},lJe={flex:"3 1 0",maxWidth:"77%",minWidth:600},cJe={flex:"1 1 0",maxWidth:"33%",minWidth:200};function uJe(e,t){return e>=3?"33%":2===e?"50%":t?"33%":"50%"}function fJe(e){const[t,n]=V.useState(null),r=V.useCallback(e=>{e.current&&n(e.current.offsetWidth)},[]),i=Va(r),{formatSegmentSizeRatio:o,formatSegmentSizeCount:a,formatSegmentError:s,formatErrorRatio:l}=kZe(),c=xZe(),u=null===t||t>=1048,f=e.customMetricCards??[];let h,d;u?(h=f[0],d=f.slice(1)):(h=void 0,d=f);const p=function(e,t){if(0===e.length)return[];const n=Math.ceil(e.length/t),r=Math.ceil(e.length/n),i=[];for(let t=0;t<e.length;t+=r)i.push(e.slice(t,t+r));return i}(d,u?5:4);return V.createElement(Ds,{ref:i,sx:{display:"flex",flexDirection:"column",gap:"12px"}},V.createElement(Ds,{sx:aJe},V.createElement(fze,{segmentSize:e.segmentSize,formatSegmentSizeRatio:o,formatSegmentSizeCount:a,sx:sJe}),V.createElement(eze,{segmentError:e.segmentError,leaderboardMode:c,formatSegmentError:s,formatErrorRatio:l,sx:lJe}),h&&V.createElement(GFe,{card:h,sx:{...cJe}})),p.map((e,t)=>V.createElement(Ds,{key:t,sx:aJe},e.map((t,n)=>V.createElement(GFe,{card:t,key:n,sx:{...cJe,maxWidth:uJe(e.length,u)}})))))}const hJe=355,dJe=1500,pJe=1e3;function gJe(e){return V.createElement(tMe,{variant:"column",gap:4,sx:{...e.sx,width:"100%",maxWidth:dJe,minWidth:pJe,boxSizing:"border-box"}},V.createElement(LPe,{segmentDescription:e.segment}),e.info,V.createElement(uMe,{insights:e.insights}),V.createElement(fJe,{segmentSize:e.segmentSize,segmentError:e.segmentError,customMetricCards:e.customMetricCards}),V.createElement(tMe,{variant:"row",gap:4,sx:{alignItems:"start"}},V.createElement($Fe,{header:"Distribution",sx:{minHeight:hJe,minWidth:700},contentSx:{alignItems:"baseline"},headerSx:{marginBottom:6}},V.createElement(cMe,{detailedHistogramAvailable:e.detailedHistogramAvailable,histogramCharts:e.histogramCharts,sx:{marginTop:-12,marginRight:4}})),V.createElement($Fe,{header:"Missing Values",placeItems:"start center",sx:{minHeight:hJe}},V.createElement($Pe,{stats:e.stats,mode:e.leaderboardMode}))),"topCorrelatedFeatures"in e&&V.createElement($Fe,{header:"Correlated Features"},V.createElement(XN,{topCorrelatedFeatures:e.topCorrelatedFeatures,featureEntryMap:e.featureEntryMap,isComparisonMode:e.isComparisonMode})))}function mJe(e){return V.createElement(tMe,{variant:"column",gap:4,sx:{...e.sx,width:"100%",maxWidth:dJe,minWidth:pJe,boxSizing:"border-box"}},V.createElement(LPe,{segmentDescription:e.segment}),V.createElement($Fe,{header:"Distribution",sx:{minHeight:hJe,width:700}},e.segmentDistributionChart&&V.createElement(eMe,{vegaSpec:e.segmentDistributionChart,sx:{width:"100%"}})))}function bJe(e){return V.createElement(tMe,{variant:"column",gap:4,sx:{...e.sx,width:"100%",maxWidth:dJe,minWidth:pJe,boxSizing:"border-box"}},V.createElement(LPe,{segmentDescription:e.segment}),V.createElement($Fe,{header:"Trend",sx:{minHeight:hJe,width:700}},e.segmentTrendChart&&V.createElement(eMe,{vegaSpec:e.segmentTrendChart,sx:{width:"100%"}})))}function wJe(e){const t=bZe(),n=yZe(),r=xZe(),i=fZe(),o=hZe(),{loadCustomTab:a}=DZe(),s=cZe(e=>e.dotDataLabApi?.exportFeatureDefinition),l=cZe(e=>e.dotDataLabState?.exportedNotebooks),c=cZe(e=>e.dotDataLabState?.run_id),u=l?.[e.entry.feature.id],f=e.entry.customDetailTabs?e.entry.customDetailTabs.map(t=>({title:t.tabName,loadView:()=>a({tabId:t.id,featureId:e.entry.feature.id}).then(e=>e?V.createElement(JXe,{grid:e.grid}):V.createElement(Ds,null,"No data available"))})):[],h=(0,V.useMemo)(()=>e.entry.topCorrelatedFeatures?.map(([e,t])=>[vJe(e)?e.id:e,t])??[],[e.entry.topCorrelatedFeatures]),d=e.entry.leakageDetectionInfo?V.createElement(NMe,{leakageDetectionInfo:e.entry.leakageDetectionInfo,featureName:e.entry.feature.id}):null,p=lZe(e.entry)?{title:"Overview",view:V.createElement(gJe,{sx:{marginTop:4},info:d,stats:e.entry.stats,leaderboardMode:r,detailedHistogramAvailable:e.entry.detailedHistogramAvailable??!1,histogramCharts:e.entry?.histogram_charts,topCorrelatedFeatures:h,featureEntryMap:t,isComparisonMode:n,segment:e.entry.segment,populationCount:e.entry.segmentSize.populationCount,segmentSize:e.entry.segmentSize,segmentError:e.entry.segmentError,segmentValues:e.entry.segmentValues,insights:e.entry.insights,customMetricCards:e.entry.customMetricCards})}:null,g=i?{title:"Segment",view:V.createElement(mJe,{sx:{marginTop:4},segment:e.entry.segment,segmentDistributionChart:e.entry.segment_distribution_chart})}:null,m=o?{title:"Trend",view:V.createElement(bJe,{sx:{marginTop:4},segment:e.entry.segment,segmentTrendChart:e.entry.segment_trend_chart})}:null;return V.createElement(x$e,{"data-testid":z.featureDetails,tabs:[...p?[p]:[],...g?[g]:[],...m?[m]:[],...f],rightSlot:s&&c?V.createElement(oJe,{featureId:e.entry.feature.id,runId:c,onExport:s,exportedInfo:u}):void 0})}function vJe(e){return"string"!=typeof e}function yJe(e){return Oo("MuiSkeleton",e)}To("MuiSkeleton",["root","text","rectangular","rounded","circular","pulse","wave","withChildren","fitContent","heightAuto"]);const xJe=yu`
176
+ `:null,vje=(e,t)=>e.vars?e.vars.palette.LinearProgress[`${t}Bg`]:"light"===e.palette.mode?e.lighten(e.palette[t].main,.62):e.darken(e.palette[t].main,.5),yje=ho("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`color${xo(n.color)}`],t[n.variant]]}})(go(({theme:e})=>({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},variants:[...Object.entries(e.palette).filter(Ao()).map(([t])=>({props:{color:t},style:{backgroundColor:vje(e,t)}})),{props:({ownerState:e})=>"inherit"===e.color&&"buffer"!==e.variant,style:{"&::before":{content:'""',position:"absolute",left:0,top:0,right:0,bottom:0,backgroundColor:"currentColor",opacity:.3}}},{props:{variant:"buffer"},style:{backgroundColor:"transparent"}},{props:{variant:"query"},style:{transform:"rotate(180deg)"}}]}))),xje=ho("span",{name:"MuiLinearProgress",slot:"Dashed"})(go(({theme:e})=>({position:"absolute",marginTop:0,height:"100%",width:"100%",backgroundSize:"10px 10px",backgroundPosition:"0 -23px",variants:[{props:{color:"inherit"},style:{opacity:.3,backgroundImage:"radial-gradient(currentColor 0%, currentColor 16%, transparent 42%)"}},...Object.entries(e.palette).filter(Ao()).map(([t])=>{const n=vje(e,t);return{props:{color:t},style:{backgroundImage:`radial-gradient(${n} 0%, ${n} 16%, transparent 42%)`}}})]})),wje||{animation:`${bje} 3s infinite linear`},go(({theme:e})=>ea(e,{animation:"none"})||hje)),Aje=ho("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(e,t)=>[t.bar,t.bar1]})(go(({theme:e})=>{const t=ea(e,{animation:"none",left:"30%",right:"auto",width:"40%"});return{width:"100%",position:"absolute",left:0,bottom:0,top:0,...ta(e,"transform",{duration:"0.2s",easing:"linear"}),transformOrigin:"left",variants:[{props:{color:"inherit"},style:{backgroundColor:"currentColor"}},...Object.entries(e.palette).filter(Ao()).map(([t])=>({props:{color:t},style:{backgroundColor:(e.vars||e).palette[t].main}})),{props:{variant:"determinate"},style:{...ta(e,"transform",{duration:".4s",easing:"linear"})}},{props:{variant:"buffer"},style:{zIndex:1,...ta(e,"transform",{duration:".4s",easing:"linear"})}},{props:({ownerState:e})=>"indeterminate"===e.variant||"query"===e.variant,style:{width:"auto"}},{props:({ownerState:e})=>"indeterminate"===e.variant||"query"===e.variant,style:pje||{animation:`${dje} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite`}},...t?[{props:({ownerState:e})=>"indeterminate"===e.variant||"query"===e.variant,style:t}]:[]]}})),kje=ho("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(e,t)=>[t.bar,t.bar2]})(go(({theme:e})=>{const t=ea(e,{animation:"none",display:"none"});return{width:"100%",position:"absolute",left:0,bottom:0,top:0,...ta(e,"transform",{duration:"0.2s",easing:"linear"}),transformOrigin:"left",variants:[...Object.entries(e.palette).filter(Ao()).map(([t])=>({props:{color:t},style:{"--LinearProgressBar2-barColor":(e.vars||e).palette[t].main}})),{props:({ownerState:e})=>"buffer"!==e.variant&&"inherit"!==e.color,style:{backgroundColor:"var(--LinearProgressBar2-barColor, currentColor)"}},{props:({ownerState:e})=>"buffer"!==e.variant&&"inherit"===e.color,style:{backgroundColor:"currentColor"}},{props:{color:"inherit"},style:{opacity:.3}},...Object.entries(e.palette).filter(Ao()).map(([t])=>({props:{color:t,variant:"buffer"},style:{backgroundColor:vje(e,t),...ta(e,"transform",{duration:".4s",easing:"linear"})}})),{props:({ownerState:e})=>"indeterminate"===e.variant||"query"===e.variant,style:{width:"auto"}},{props:({ownerState:e})=>"indeterminate"===e.variant||"query"===e.variant,style:mje||{animation:`${gje} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite`}},...t?[{props:({ownerState:e})=>"indeterminate"===e.variant||"query"===e.variant,style:t}]:[]]}})),Sje=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiLinearProgress"}),{className:r,color:i="primary",max:o,min:a,value:s,valueBuffer:l,variant:c="indeterminate",...u}=n,f={...n,color:i,variant:c},h=a??0,d=o??100,p=(e=>{const{classes:t,variant:n,color:r}=e;return X({root:["root",`color${xo(r)}`,n],dashed:["dashed"],bar1:["bar","bar1"],bar2:["bar","bar2","buffer"===n&&`color${xo(r)}`]},fje,t)})(f),g=al(),m={},b={bar1:{},bar2:{}};if(("determinate"===c||"buffer"===c)&&void 0!==s){const e=d-h;let t=(s-h)/e*100-100;g&&(t=-t),b.bar1.transform=e>0?`translateX(${t}%)`:"translateX(-100%)",m["aria-valuenow"]=s,m["aria-valuemin"]=h,m["aria-valuemax"]=d}if("buffer"===c&&void 0!==l){const e=d-h;let t=(l-h)/e*100-100;g&&(t=-t),b.bar2.transform=e>0?`translateX(${t}%)`:"translateX(-100%)"}return(0,bo.jsxs)(yje,{className:G(p.root,r),ownerState:f,role:"progressbar",...m,ref:t,...u,children:["buffer"===c?(0,bo.jsx)(xje,{className:p.dashed,ownerState:f}):null,(0,bo.jsx)(Aje,{className:p.bar1,ownerState:f,style:b.bar1}),"determinate"===c?null:(0,bo.jsx)(kje,{className:p.bar2,ownerState:f,style:b.bar2})]})}),Eje=Sje,Cje=new Intl.NumberFormat("en-US",{style:"percent"});function Oje({value:e,label:t,sx:n}){const r=Math.round(100*e);return V.createElement(Ds,{sx:{display:"flex",alignItems:"center",...n}},V.createElement(Ds,{sx:{minWidth:35}},V.createElement(Ro,{variant:"body2"},Cje.format(e))),V.createElement(Ds,{sx:{flex:"1 1 0",minWidth:"200px",mr:"16px"}},V.createElement(Eje,{variant:"determinate",color:"primary",value:Tje(r,0,100)})),V.createElement(Ds,{sx:{display:"flex",flex:"0 1 auto",minWidth:"0"}},V.createElement(p_,{title:t,childrenStyle:{flex:1}},V.createElement(Ro,{variant:"body2",sx:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}},t))))}function Tje(e,t,n){return Math.min(Math.max(e,t),n)}function _je({value:e,label:t,sx:n,...r}){const i=Math.round(100*e),o=Cje.format(e);return V.createElement(V.Fragment,null,V.createElement(Ds,{sx:{textAlign:"center",...n},...r},V.createElement(Ro,{sx:{fontSize:30,letterSpacing:.17,fontWeight:600,lineHeight:"40.86px"}},o),V.createElement(Eje,{variant:"determinate",value:i,sx:{marginTop:"16px",height:"6px",borderRadius:"8px"}}),V.createElement(Ro,{sx:{fontSize:14,letterSpacing:.17,lineHeight:"20.02px",marginTop:"8px"}},t)))}const Mje=e=>({zIndex:3,color:e.palette.primary.main,position:"absolute",top:0,left:0,bottom:0,right:0,backdropFilter:"blur(2px)",backgroundColor:"rgba(0, 0, 0, 0)"});function Pje({children:e,isOpen:t}){return V.createElement(cD,{sx:Mje,open:t},e)}function Dje({title:e,children:t,sx:n,...r}){return V.createElement(ia,{sx:{padding:"32px 0",background:"white",textAlign:"center",...n},elevation:3,...r},e&&V.createElement(Ro,{sx:{fontSize:20,letterSpacing:.17,fontWeight:600,lineHeight:"27.24px"}},e),V.createElement(Ds,{sx:{px:"35px"}},t))}function Rje({value:e,label:t}){return V.createElement(Pje,{isOpen:1!==e},V.createElement(Dje,{sx:{flexBasis:"320px"}},V.createElement(_je,{label:t,value:e})))}const Ije=vs((0,bo.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"})),Nje=vs((0,bo.jsx)("path",{fillRule:"evenodd",d:"M4 11h16v2H4z"})),$je=yr();const Lje=hr(),jje=$je("div",{name:"MuiStack",slot:"Root"});function Fje(e){return function(e){const{props:t,name:n,defaultTheme:r,themeId:i}=e;let o=$o(r);return i&&(o=o[i]||o),function(e){const{theme:t,name:n,props:r}=e;return t&&t.components&&t.components[n]&&t.components[n].defaultProps?mo(t.components[n].defaultProps,r):r}({theme:o,name:n,props:t})}({props:e,name:"MuiStack",defaultTheme:Lje})}function zje(e,t){const n=V.Children.toArray(e).filter(Boolean);return n.reduce((e,r,i)=>(e.push(r),i<n.length-1&&e.push(V.cloneElement(t,{key:`separator-${i}`})),e),[])}const Bje=({ownerState:e,theme:t})=>{let n={display:"flex",flexDirection:"column",...Zt({theme:t},rn({values:e.direction,breakpoints:t.breakpoints.values}),e=>({flexDirection:e}))};if(e.spacing){const r=xn(t),i=Object.keys(t.breakpoints.values).reduce((t,n)=>(("object"==typeof e.spacing&&null!=e.spacing[n]||"object"==typeof e.direction&&null!=e.direction[n])&&(t[n]=!0),t),{}),o=rn({values:e.direction,base:i}),a=rn({values:e.spacing,base:i});"object"==typeof o&&Object.keys(o).forEach((e,t,n)=>{if(!o[e]){const r=t>0?o[n[t-1]]:"column";o[e]=r}}),n=Ft(n,Zt({theme:t},a,(t,n)=>{return e.useFlexGap?{gap:An(r,t)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${i=n?o[n]:e.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[i]}`]:An(r,t)}};var i}))}return n=function(e,...t){const n=[tn(e),...t].reduce((e,t)=>Ft(e,t),{});return nn(e,n)}(t.breakpoints,n),n};function Wje(e={}){const{createStyledComponent:t=jje,useThemeProps:n=Fje,componentName:r="MuiStack"}=e,i=t(Bje),o=V.forwardRef(function(e,t){const o=n(e),{component:a="div",direction:s="column",spacing:l=0,divider:c,children:u,className:f,useFlexGap:h=!1,...d}=o,p={direction:s,spacing:l,useFlexGap:h},g=X({root:["root"]},e=>Oo(r,e),{});return(0,bo.jsx)(i,{as:a,ownerState:p,ref:t,className:G(g.root,f),...d,children:c?zje(u,c):u})});return o}const qje=Wje({createStyledComponent:ho("div",{name:"MuiStack",slot:"Root"}),useThemeProps:e=>yo({props:e,name:"MuiStack"})}),Hje=vs((0,bo.jsx)("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"})),Uje=ho(ju,{name:"MuiBreadcrumbCollapsed"})(go(({theme:e})=>({display:"flex",marginLeft:`calc(${e.spacing(1)} * 0.5)`,marginRight:`calc(${e.spacing(1)} * 0.5)`,..."light"===e.palette.mode?{backgroundColor:e.palette.grey[100],color:e.palette.grey[700]}:{backgroundColor:e.palette.grey[700],color:e.palette.grey[100]},borderRadius:2,"&:hover, &:focus":{..."light"===e.palette.mode?{backgroundColor:e.palette.grey[200]}:{backgroundColor:e.palette.grey[600]}},"&:active":{boxShadow:e.shadows[0],..."light"===e.palette.mode?{backgroundColor:Nr(e.palette.grey[200],.12)}:{backgroundColor:Nr(e.palette.grey[600],.12)}}}))),Vje=ho(Hje)({width:24,height:16}),Kje=function(e){const{slots:t={},slotProps:n={},...r}=e,{nativeButton:i,...o}=r,a=e;return(0,bo.jsx)("li",{children:(0,bo.jsx)(Uje,{focusRipple:!0,...o,ownerState:a,children:(0,bo.jsx)(Vje,{as:t.CollapsedIcon,ownerState:a,...n.collapsedIcon})})})};function Qje(e){return Oo("MuiBreadcrumbs",e)}const Gje=To("MuiBreadcrumbs",["root","ol","li","separator"]),Xje=ho(Ro,{name:"MuiBreadcrumbs",slot:"Root",overridesResolver:(e,t)=>[{[`& .${Gje.li}`]:t.li},t.root]})({}),Yje=ho("ol",{name:"MuiBreadcrumbs",slot:"Ol"})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"}),Zje=ho("li",{name:"MuiBreadcrumbs",slot:"Separator"})({display:"flex",userSelect:"none",marginLeft:8,marginRight:8});function Jje(e,t,n,r){return e.reduce((i,o,a)=>(a<e.length-1?i=i.concat(o,(0,bo.jsx)(Zje,{"aria-hidden":!0,className:t,ownerState:r,children:n},`separator-${a}`)):i.push(o),i),[])}const eFe=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiBreadcrumbs"}),{children:r,className:i,component:o="nav",slots:a={},slotProps:s={},expandText:l="Show path",itemsAfterCollapse:c=1,itemsBeforeCollapse:u=1,maxItems:f=8,separator:h="/",...d}=n,[p,g]=V.useState(!1),m={...n,component:o,expanded:p,expandText:l,itemsAfterCollapse:c,itemsBeforeCollapse:u,maxItems:f,separator:h},b=(e=>{const{classes:t}=e;return X({root:["root"],li:["li"],ol:["ol"],separator:["separator"]},Qje,t)})(m),w=Rc({elementType:a.CollapsedIcon,externalSlotProps:s.collapsedIcon,ownerState:m}),v=V.useRef(null),y=V.Children.toArray(r).filter(e=>V.isValidElement(e)).map((e,t)=>(0,bo.jsx)("li",{className:b.li,children:e},`child-${t}`));return(0,bo.jsx)(Xje,{ref:t,component:o,color:"textSecondary",className:G(b.root,i),ownerState:m,...d,children:(0,bo.jsx)(Yje,{className:b.ol,ref:v,ownerState:m,children:Jje(p||f&&y.length<=f?y:(e=>u+c>=e.length?e:[...e.slice(0,u),(0,bo.jsx)(Kje,{"aria-label":l,slots:{CollapsedIcon:a.CollapsedIcon},slotProps:{collapsedIcon:w},onClick:()=>{g(!0);const e=v.current.querySelector("a[href],button,[tabindex]");e&&e.focus()}},"ellipsis"),...e.slice(e.length-c,e.length)])(y),b.separator,h,m)})})}),tFe=eFe,nFe=({drillDownItems:e,availableDrillDownFeatures:t,onAdd:n,onRemove:r,disabled:i=!1,disabledTooltip:o})=>{const[a,s]=(0,V.useState)(null),l=()=>{s(null)},c=Boolean(a);return V.createElement(qje,{direction:"row",spacing:1,useFlexGap:!0,sx:{alignItems:"center",flexWrap:"wrap"}},V.createElement(tFe,{sx:{"& .MuiBreadcrumbs-ol":{rowGap:2}},separator:V.createElement(Nje,{fontSize:"small"})},e.map((e,t)=>V.createElement(oI,{key:`${e.featureId}+${t}`,disableHoverListener:!1,title:e.entry?V.createElement(aI,{explanationBlocks:e.entry.feature.explanation.tokens,predictionExecutionTime:e.entry.feature.predictionExecutionTime}):void 0},V.createElement(O_,{label:e.label,onDelete:()=>r(t),deleteIcon:V.createElement(W_,{style:{fontSize:"14px",marginLeft:"12px"}}),sx:{borderRadius:"4px",backgroundColor:"var(--c-blue-50)",color:"var(--c-grey-700)",fontWeight:500,height:"32px","& .MuiChip-label":{paddingRight:"8px"}}}))),V.createElement(hu,{title:i&&o?o:"",disableInteractive:!0},V.createElement("span",null,V.createElement(YO,{variant:"outlined",size:"small",startIcon:V.createElement(Ije,null),onClick:e=>{s(e.currentTarget)},disabled:i,sx:{textTransform:"none",borderStyle:"dashed",borderColor:"var(--c-grey-500)",color:"var(--c-grey-700)",borderRadius:"4px",height:"32px","&:hover":{borderStyle:"dashed",backgroundColor:"rgba(0, 0, 0, 0.04)"}}},"Drill Down")))),V.createElement(PD,{open:c,anchorEl:a,onClose:l,anchorOrigin:{vertical:"bottom",horizontal:"left"},slotProps:{paper:{sx:{p:1,width:"640px"}}}},V.createElement(ENe,{options:t,getOptionLabel:e=>e.id,onChange:(e,t)=>{t&&(n(t.id),l())},renderInput:e=>V.createElement(vR,{...e,label:"Search segments...",size:"small",autoFocus:!0}),renderOption:(e,t)=>V.createElement("li",{...e,key:t.id},V.createElement(Ds,{sx:{display:"flex"}},V.createElement(Ro,{sx:{flex:"0 0 100px",padding:"0 4px 0 0",color:"var(--c-grey-700)",fontWeight:500},variant:"body1"},t.id),V.createElement(Ds,null,V.createElement(aI,{explanationBlocks:t.explanation.tokens,predictionExecutionTime:t.predictionExecutionTime}))))})))},rFe=vs((0,bo.jsx)("path",{d:"M16.01 11H4v2h12.01v3L20 12l-3.99-4z"})),iFe=ho("div",{name:"MuiDivider",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.absolute&&t.absolute,t[n.variant],"vertical"===n.orientation&&t.vertical,n.flexItem&&t.flexItem,n.children&&t.withChildren,"right"===n.textAlign&&"vertical"!==n.orientation&&t.textAlignRight,"left"===n.textAlign&&"vertical"!==n.orientation&&t.textAlignLeft]}})(go(({theme:e})=>({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(e.vars||e).palette.divider,borderBottomWidth:"thin",variants:[{props:{absolute:!0},style:{position:"absolute",bottom:0,left:0,width:"100%"}},{props:{variant:"inset"},style:{marginLeft:72}},{props:{variant:"middle",orientation:"horizontal"},style:{marginLeft:e.spacing(2),marginRight:e.spacing(2)}},{props:{variant:"middle",orientation:"vertical"},style:{marginTop:e.spacing(1),marginBottom:e.spacing(1)}},{props:{orientation:"vertical"},style:{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"}},{props:{flexItem:!0},style:{alignSelf:"stretch",height:"auto"}},{props:({ownerState:e})=>!!e.children,style:{display:"flex",textAlign:"center",border:0,borderTopStyle:"solid",borderLeftStyle:"solid","&::before, &::after":{content:'""',alignSelf:"center"}}},{props:({ownerState:e})=>e.children&&"vertical"!==e.orientation,style:{"&::before, &::after":{width:"100%",borderTop:`thin solid ${(e.vars||e).palette.divider}`,borderTopStyle:"inherit"}}},{props:({ownerState:e})=>"vertical"===e.orientation&&e.children,style:{flexDirection:"column","&::before, &::after":{height:"100%",borderLeft:`thin solid ${(e.vars||e).palette.divider}`,borderLeftStyle:"inherit"}}},{props:({ownerState:e})=>"right"===e.textAlign&&"vertical"!==e.orientation,style:{"&::before":{width:"90%"},"&::after":{width:"10%"}}},{props:({ownerState:e})=>"left"===e.textAlign&&"vertical"!==e.orientation,style:{"&::before":{width:"10%"},"&::after":{width:"90%"}}}]}))),oFe=ho("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.wrapper,"vertical"===n.orientation&&t.wrapperVertical]}})(go(({theme:e})=>({display:"inline-block",paddingLeft:`calc(${e.spacing(1)} * 1.2)`,paddingRight:`calc(${e.spacing(1)} * 1.2)`,whiteSpace:"nowrap",variants:[{props:{orientation:"vertical"},style:{paddingTop:`calc(${e.spacing(1)} * 1.2)`,paddingBottom:`calc(${e.spacing(1)} * 1.2)`}}]}))),aFe=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiDivider"}),{absolute:r=!1,children:i,className:o,orientation:a="horizontal",component:s=(i||"vertical"===a?"div":"hr"),flexItem:l=!1,role:c=("hr"!==s?"separator":void 0),textAlign:u="center",variant:f="fullWidth",...h}=n,d={...n,absolute:r,component:s,flexItem:l,orientation:a,role:c,textAlign:u,variant:f},p=(e=>{const{absolute:t,children:n,classes:r,flexItem:i,orientation:o,textAlign:a,variant:s}=e;return X({root:["root",t&&"absolute",s,"vertical"===o&&"vertical",i&&"flexItem",n&&"withChildren","right"===a&&"vertical"!==o&&"textAlignRight","left"===a&&"vertical"!==o&&"textAlignLeft"],wrapper:["wrapper","vertical"===o&&"wrapperVertical"]},A$e,r)})(d);return(0,bo.jsx)(iFe,{as:s,className:G(p.root,o),role:c,ref:t,ownerState:d,"aria-orientation":"separator"!==c||"hr"===s&&"vertical"!==a?void 0:a,...h,children:i?(0,bo.jsx)(oFe,{className:p.wrapper,ownerState:d,children:i}):null})}),sFe=aFe,lFe=({value:e,notation:t="standard",sx:n})=>V.createElement(Ro,{sx:{fontWeight:600,color:"var(--c-grey-900)",minWidth:"48px",...n}},ca(e,t)),cFe=({children:e})=>V.createElement(Ro,{variant:"caption",sx:{color:"var(--c-grey-300)",fontWeight:600,display:"block",mb:.5}},e),uFe=()=>V.createElement(sFe,{flexItem:!0,sx:{borderColor:"var(--c-grey-700)"}}),fFe=({delta:e,isImproved:t,benchmarkValue:n,currentValue:r,getTooltipColor:i})=>{const o=0===e.value?"#fff":i(t);return V.createElement(Ds,{sx:{display:"flex",alignItems:"center",gap:1}},V.createElement(Ro,{sx:{fontWeight:600,color:o,minWidth:"48px"}},os.isNumber(e.value)&&e.value>0?"+":"",la(e)),V.createElement(Ro,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.5,color:"var(--c-grey-300)"}},V.createElement("span",null,"(",la(n)),V.createElement(rFe,{sx:{fontSize:"1rem"}}),V.createElement("span",null,la(r),")")))},hFe=({predictionMean:e,targetMean:t,useCaseWithBaseline:n,notation:r="standard",sx:i})=>n?V.createElement(Ro,{component:"span",sx:{display:"inline-flex",alignItems:"center",whiteSpace:"nowrap","span:not(:last-child)":{pr:2},color:"var(--c-grey-700)",...i}},"(",V.createElement("span",null,"p: ",ca(e,r)),V.createElement("span",null,"a: ",ca(t,r)),")"):V.createElement(Ro,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.5,whiteSpace:"nowrap",color:"var(--c-grey-700)",...i}},V.createElement("span",null,"(",ca(e,r)),V.createElement(rFe,{sx:{fontSize:"1rem"}}),V.createElement("span",null,ca(t,r),")")),dFe=({useCaseWithBaseline:e,error:t,predictionMean:n,targetMean:r})=>V.createElement(Ds,{sx:{display:"inline-flex",alignItems:"center",gap:1}},V.createElement(lFe,{value:t,sx:{color:"#fff"}}),V.createElement(hFe,{predictionMean:n,targetMean:r,useCaseWithBaseline:e,sx:{color:"var(--c-grey-300)"}})),pFe=({segmentCount:e,populationCount:t,notation:n="standard",sx:r})=>V.createElement(Ro,{sx:{color:"var(--c-grey-700)",...r}},"(",ca(e,n)," /"," ",ca(t,n),")"),gFe=({ratio:e,segmentCount:t,populationCount:n})=>V.createElement(Ds,{sx:{display:"inline-flex",alignItems:"center",gap:1}},V.createElement(lFe,{value:e,sx:{color:"#fff"}}),V.createElement(pFe,{segmentCount:t,populationCount:n,sx:{color:"var(--c-grey-300)"}}));function mFe({title:e,subtitle:t,children:n}){return V.createElement(Ds,{sx:{backgroundColor:"var(--c-table-header-color)",padding:"8px 8px",display:"flex",alignItems:"center",justifyContent:"space-between",minHeight:"44px",mb:3}},V.createElement(Ro,{variant:"body2",sx:{color:"text.secondary",fontWeight:700,letterSpacing:"0.05em",textTransform:"uppercase",paddingLeft:2}},e,t&&V.createElement(Ro,{component:"span",variant:"body2",sx:{fontWeight:700,letterSpacing:"0.05em",textTransform:"none"}}," ",t)),n)}const bFe=V.createContext({});function wFe(e){return Oo("MuiAccordion",e)}const vFe=To("MuiAccordion",["root","heading","rounded","expanded","disabled","gutters","region"]),yFe=ho(ia,{name:"MuiAccordion",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${vFe.region}`]:t.region},t.root,!n.square&&t.rounded,!n.disableGutters&&t.gutters]}})(go(({theme:e})=>{const t={duration:e.transitions.duration.shortest};return{position:"relative",...ta(e,["margin"],t),overflowAnchor:"none","&::before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:(e.vars||e).palette.divider,...ta(e,["opacity","background-color"],t)},"&:first-of-type":{"&::before":{display:"none"}},[`&.${vFe.expanded}`]:{"&::before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&::before":{display:"none"}}},[`&.${vFe.disabled}`]:{backgroundColor:(e.vars||e).palette.action.disabledBackground}}}),go(({theme:e})=>({variants:[{props:e=>!e.square,style:{borderRadius:0,"&:first-of-type":{borderTopLeftRadius:(e.vars||e).shape.borderRadius,borderTopRightRadius:(e.vars||e).shape.borderRadius},"&:last-of-type":{borderBottomLeftRadius:(e.vars||e).shape.borderRadius,borderBottomRightRadius:(e.vars||e).shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}}},{props:e=>!e.disableGutters,style:{[`&.${vFe.expanded}`]:{margin:"16px 0"}}}]}))),xFe=ho("h3",{name:"MuiAccordion",slot:"Heading"})({all:"unset"}),AFe=ho("div",{name:"MuiAccordion",slot:"Region"})({}),kFe=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiAccordion"}),{children:r,className:i,defaultExpanded:o=!1,disabled:a=!1,disableGutters:s=!1,expanded:l,onChange:c,slots:u={},slotProps:f={},...h}=n,[d,p]=Jc({controlled:l,default:o,name:"Accordion",state:"expanded"}),g=V.useCallback(e=>{p(!d),c&&c(e,!d)},[d,c,p]),[m,...b]=V.Children.toArray(r),w=V.useMemo(()=>({expanded:d,disabled:a,disableGutters:s,toggle:g}),[d,a,s,g]),v={...n,disabled:a,disableGutters:s,expanded:d},y=(e=>{const{classes:t,square:n,expanded:r,disabled:i,disableGutters:o}=e;return X({root:["root",!n&&"rounded",r&&"expanded",i&&"disabled",!o&&"gutters"],heading:["heading"],region:["region"]},wFe,t)})(v),x={slots:u,slotProps:f},[A,k]=eu("root",{elementType:yFe,externalForwardedProps:{...x,...h},className:G(y.root,i),shouldForwardComponentProp:!0,ownerState:v,ref:t}),[S,E]=eu("heading",{elementType:xFe,externalForwardedProps:x,className:y.heading,ownerState:v}),[C,O]=eu("transition",{elementType:DT,externalForwardedProps:x,ownerState:v}),[T,_]=eu("region",{elementType:AFe,externalForwardedProps:x,ownerState:v,className:y.region,additionalProps:{"aria-labelledby":m.props.id,id:m.props["aria-controls"],role:"region"}});return(0,bo.jsxs)(A,{...k,children:[(0,bo.jsx)(S,{...E,children:(0,bo.jsx)(bFe.Provider,{value:w,children:m})}),(0,bo.jsx)(C,{in:d,timeout:"auto",...O,children:(0,bo.jsx)(T,{..._,children:b})})]})}),SFe=kFe;function EFe(e){return Oo("MuiAccordionSummary",e)}const CFe=To("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","content","expandIconWrapper"]),OFe=ho(ju,{name:"MuiAccordionSummary",slot:"Root"})(go(({theme:e})=>({display:"flex",width:"100%",minHeight:48,padding:e.spacing(0,2),...ta(e,["min-height","background-color"],{duration:e.transitions.duration.shortest}),[`&.${CFe.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${CFe.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`&:hover:not(.${CFe.disabled})`]:{cursor:"pointer"},variants:[{props:e=>!e.disableGutters,style:{[`&.${CFe.expanded}`]:{minHeight:64}}}]}))),TFe=ho("span",{name:"MuiAccordionSummary",slot:"Content"})(go(({theme:e})=>({display:"flex",textAlign:"start",flexGrow:1,margin:"12px 0",variants:[{props:e=>!e.disableGutters,style:{...ta(e,["margin"],{duration:e.transitions.duration.shortest}),[`&.${CFe.expanded}`]:{margin:"20px 0"}}}]}))),_Fe=ho("span",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper"})(go(({theme:e})=>({display:"flex",color:(e.vars||e).palette.action.active,transform:"rotate(0deg)",...ta(e,"transform",{duration:e.transitions.duration.shortest}),[`&.${CFe.expanded}`]:{transform:"rotate(180deg)"}}))),MFe=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiAccordionSummary"}),{children:r,className:i,expandIcon:o,focusVisibleClassName:a,onClick:s,slots:l,slotProps:c,...u}=n,{disabled:f=!1,disableGutters:h,expanded:d,toggle:p}=V.useContext(bFe),g={...n,expanded:d,disabled:f,disableGutters:h},m=(e=>{const{classes:t,expanded:n,disabled:r,disableGutters:i}=e;return X({root:["root",n&&"expanded",r&&"disabled",!i&&"gutters"],focusVisible:["focusVisible"],content:["content",n&&"expanded"],expandIconWrapper:["expandIconWrapper",n&&"expanded"]},EFe,t)})(g),b={slots:l,slotProps:c},[w,v]=eu("root",{ref:t,shouldForwardComponentProp:!0,className:G(m.root,i),elementType:OFe,externalForwardedProps:{...b,...u},ownerState:g,additionalProps:{focusRipple:!1,disableRipple:!0,internalNativeButton:!0,disabled:f,"aria-expanded":d,focusVisibleClassName:G(m.focusVisible,a)},getSlotProps:e=>({...e,onClick:t=>{e.onClick?.(t),(e=>{p&&p(e),s&&s(e)})(t)}})}),[y,x]=eu("content",{className:m.content,elementType:TFe,externalForwardedProps:b,ownerState:g}),[A,k]=eu("expandIconWrapper",{className:m.expandIconWrapper,elementType:_Fe,externalForwardedProps:b,ownerState:g});return(0,bo.jsxs)(w,{...v,children:[(0,bo.jsx)(y,{...x,children:r}),o&&(0,bo.jsx)(A,{...k,children:o})]})}),PFe=MFe;function DFe(e){return Oo("MuiAccordionDetails",e)}To("MuiAccordionDetails",["root"]);const RFe=ho("div",{name:"MuiAccordionDetails",slot:"Root"})(go(({theme:e})=>({padding:e.spacing(1,2,2)}))),IFe=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiAccordionDetails"}),{className:r,...i}=n,o=n,a=(e=>{const{classes:t}=e;return X({root:["root"]},DFe,t)})(o);return(0,bo.jsx)(RFe,{className:G(a.root,r),ref:t,ownerState:o,...i})}),NFe=IFe;function $Fe({header:e,children:t,placeItems:n="normal",sx:r,contentSx:i,headerSx:o,isAccordion:a=!1,expanded:s,onToggle:l}){const c=V.createElement(Ds,{sx:{display:"grid",placeItems:n,flex:"1 1 auto",minHeight:0,alignItems:"center",...i}},t),u=V.createElement(Ds,{onClick:e=>e.stopPropagation(),sx:{flex:1,display:"flex",height:"100%",minHeight:a?"64px":"auto",alignItems:a?"center":"initial",...o}},"string"==typeof e?V.createElement("h3",{style:{margin:0},className:"grey-label"},e):e);return a?V.createElement(SFe,{elevation:0,disableGutters:!0,expanded:s,onChange:(e,t)=>l?.(t),sx:{borderRadius:1,border:"1px solid var(--c-table-border-color)","&:before":{display:"none"},...r}},V.createElement(PFe,{"data-testid":B.segmentDetails.accordionToggle,expandIcon:V.createElement(jO,{sx:{fontSize:"24px"}}),sx:{px:4,flexDirection:"row","& .MuiAccordionSummary-content":{margin:"0",display:"flex",alignItems:"center",alignSelf:"center",flexGrow:1,cursor:"default"},"& .MuiAccordionSummary-expandIconWrapper":{transform:"rotate(0deg)","&.Mui-expanded":{transform:"rotate(180deg)"}},"&:hover":{boxShadow:"none",zIndex:0}}},u),V.createElement(NFe,{sx:{px:4,pb:4,pt:0}},c)):V.createElement(ia,{variant:"outlined",sx:{p:4,display:"flex",flexDirection:"column",...r}},u,c)}const LFe=vs((0,bo.jsx)("path",{d:"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z"})),jFe=vs((0,bo.jsx)("path",{d:"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8z"})),FFe={success:{color:"var(--c-inversion-aware-success)",bgColor:"var(--c-inversion-aware-success-light)"},error:{color:"var(--c-inversion-aware-error)",bgColor:"var(--c-inversion-aware-error-light)"},default:{color:"var(--c-grey-700)",bgColor:"var(--c-grey-100)"}},zFe=({value:e,colorTheme:t})=>{const{color:n,bgColor:r}=FFe[t],i=os.isNumber(e.value)?e.value:0,o=0===i?"none":i>0?"up":"down",a={value:Math.abs(i),formatter:e.formatter};return V.createElement(jo,{"data-testid":B.changeIndicator,"data-color-theme":t,sx:{display:"flex",alignItems:"center",color:n,bgcolor:r,pr:1,py:.25,borderRadius:.5}},"up"===o&&V.createElement(LFe,{fontSize:"small",sx:{fontSize:"1rem"}}),"down"===o&&V.createElement(jFe,{fontSize:"small",sx:{fontSize:"1rem"}}),V.createElement(Ro,{variant:"body2",component:"span",sx:{fontWeight:600,ml:"none"!==o?.25:1}},V.createElement(jMe,{uiValue:a})))};function BFe({children:e,sx:t,...n}){return V.createElement(ia,{variant:"outlined",sx:{p:4,display:"flex",...t},"data-testid":B.segmentWidget,...n},e)}function WFe({children:e,sx:t,...n}){return V.createElement(m_,{title:e,typographyProps:{variant:"subtitle2",color:"text.secondary",sx:{fontWeight:600,textTransform:"uppercase",...t},...n}},V.createElement("span",null,e))}function qFe({children:e,sx:t,...n}){return V.createElement(m_,{title:e,typographyProps:{sx:{fontSize:"1.5rem",fontWeight:700,...t},...n}},V.createElement("span",null,e))}function HFe({children:e,sx:t,...n}){return V.createElement(m_,{title:e,typographyProps:{variant:"body2",sx:t,...n}},V.createElement("span",null,e))}const UFe={unsetSymbol:"-",nanSymbol:"NaN"},VFe=(e,{notation:t})=>qa.formatNumber(e,{...UFe,notation:t}),KFe=(e,{notation:t})=>qa.formatPercentFromRatio(e,{...UFe,notation:t}),QFe=(e,{notation:t})=>qa.formatPercentPoints(e,{...UFe,notation:t});function GFe({card:e,sx:t}){const{header:n,value:r,delta:i,deltaColor:o,details:a,format:s="number"}=e,l=(e=>DMe(e).with("number",()=>VFe).with("percents",()=>KFe).with("percent_points",()=>QFe).exhaustive())(s),c={value:r,formatter:l},u=os.isNumber(i)?{value:i,formatter:l}:null;return V.createElement(BFe,{sx:{flexDirection:"column",...t}},V.createElement(Ds,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:1}},V.createElement(WFe,null,n),u&&o?V.createElement(zFe,{value:u,colorTheme:o}):null),V.createElement(qFe,null,V.createElement(jMe,{uiValue:c})),V.createElement(HFe,null,a??" "))}const XFe=B.segmentErrorWidget,YFe=e=>"left"===e?"right":"left",ZFe=e=>`rgb(from ${e} r g b / 40%)`,JFe={regression:{baselineLabel:"Global",segmentLabel:"Segment",baselineBarColor:"var(--c-dotdata-blue)",segmentBarColor:"var(--c-dotdata-blue)",predictionType:fs.Regression},"regression-with-baseline":{baselineLabel:"Predicted",segmentLabel:"Actual",baselineBarColor:"var(--c-predicted)",segmentBarColor:"var(--c-actual)",predictionType:fs.Regression},classification:{baselineLabel:"Global",segmentLabel:"Segment",baselineBarColor:"var(--c-dotdata-blue)",segmentBarColor:"var(--c-dotdata-blue)",predictionType:fs.Classification},"classification-with-baseline":{baselineLabel:"Predicted",segmentLabel:"Actual",baselineBarColor:"var(--c-predicted)",segmentBarColor:"var(--c-actual)",predictionType:fs.Classification}};function eze({segmentError:e,leaderboardMode:t,formatSegmentError:n,formatErrorRatio:r,sx:i}){if(!e)return null;const o=JFe[t],a=e=>({value:e,formatter:n}),{error:s,predictionMean:l,targetMean:c}=e,u=(e=>({value:e,formatter:r}))(Math.abs(s)),f=a(l),h=a(c),d=s>=0;return V.createElement(BFe,{sx:{borderLeft:"6px solid var(--c-dotdata-blue)",justifyContent:"space-between",alignItems:"center",gap:4,...i}},V.createElement(tze,{error:u,isUnderestimation:d,baselineLabel:o.baselineLabel,segmentLabel:o.segmentLabel,sx:{width:"30%"}}),V.createElement(nze,{predictionType:o.predictionType,predictionMean:l,targetMean:c,predictionMeanUI:f,targetMeanUI:h,baselineLabel:o.baselineLabel,segmentLabel:o.segmentLabel,baselineBarColor:o.baselineBarColor,segmentBarColor:o.segmentBarColor,sx:{minWidth:400,width:"70%"}}))}function tze({error:e,isUnderestimation:t,baselineLabel:n,segmentLabel:r,sx:i}){const o=t?`${r} higher than ${n.toLowerCase()}`:`${r} lower than ${n.toLowerCase()}`;return V.createElement(Ds,{sx:{display:"flex",flexDirection:"column",...i}},V.createElement(WFe,null,n," vs. ",r),V.createElement(qFe,null,V.createElement(jMe,{uiValue:e})),V.createElement(HFe,null,o))}function nze(e){return V.createElement(Ds,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",gap:1.5,...e.sx}},e.predictionType===fs.Regression?V.createElement(ize,{...e}):V.createElement(rze,{...e}))}function rze({predictionMean:e,targetMean:t,predictionMeanUI:n,targetMeanUI:r,baselineLabel:i,segmentLabel:o,baselineBarColor:a,segmentBarColor:s}){return V.createElement(V.Fragment,null,V.createElement(oze,{label:i,barColor:a,valuePct:100*e,value:n}),V.createElement(oze,{label:o,barColor:s,valuePct:100*t,value:r}))}function ize({predictionMean:e,targetMean:t,predictionMeanUI:n,targetMeanUI:r,baselineLabel:i,segmentLabel:o,baselineBarColor:a,segmentBarColor:s}){const l=Math.max(Math.abs(e),Math.abs(t),Number.EPSILON);if(Math.sign(e)*Math.sign(t)<0)return V.createElement(V.Fragment,null,V.createElement(aze,{label:i,barColor:a,value:e,maxAbs:l,valueUI:n}),V.createElement(aze,{label:o,barColor:s,value:t,maxAbs:l,valueUI:r}));const c=e<0&&t<0;return V.createElement(V.Fragment,null,V.createElement(oze,{label:i,barColor:a,valuePct:Math.abs(e)/l*100,value:n,reversed:c}),V.createElement(oze,{label:o,barColor:s,valuePct:Math.abs(t)/l*100,value:r,reversed:c}))}function oze({label:e,barColor:t,valuePct:n,value:r,reversed:i=!1}){const o=Math.min(Math.max(n,0),100),a=100-o,s=a>=15,l=i?"left":"right",c=YFe(l),u=V.createElement(lze,{label:e,value:r,side:s?c:l}),f=V.createElement(sze,{widthPct:o,color:ZFe(t),labelSide:l,"data-testid":XFe.barFilled},!s&&u),h=a>0&&V.createElement(sze,{widthPct:a,color:"var(--c-grey-200)",opacity:.8,labelSide:c,"data-testid":XFe.barEmpty},s&&u);return V.createElement(uze,{label:e,reversed:i},i?V.createElement(V.Fragment,null,h,f):V.createElement(V.Fragment,null,f,h))}function aze({label:e,barColor:t,value:n,maxAbs:r,valueUI:i}){const o=Math.abs(n)/r*50,a=50-o>=15,s=n>=0?"right":"left",l=YFe(s);return V.createElement(uze,{label:e,mixed:!0,sx:{position:"relative",backgroundColor:"var(--c-grey-200)"}},V.createElement(cze,null),V.createElement(Ds,{"data-testid":XFe.barFilled,sx:{position:"absolute",top:0,bottom:0,width:`${o}%`,[l]:"50%",backgroundColor:ZFe(t),display:"flex",alignItems:"center",justifyContent:"right"===s?"flex-end":"flex-start"}},!a&&V.createElement(lze,{label:e,value:i,side:s})),a&&V.createElement(Ds,{sx:{position:"absolute",top:0,bottom:0,[l]:`${50+o}%`,display:"flex",alignItems:"center"}},V.createElement(lze,{label:e,value:i,side:l})))}function sze({widthPct:e,color:t,opacity:n,labelSide:r,children:i,"data-testid":o}){return V.createElement(Ds,{"data-testid":o,sx:{width:`${e}%`,height:"100%",backgroundColor:t,opacity:n,display:"flex",alignItems:"center",justifyContent:"left"===r?"flex-start":"flex-end"}},i)}function lze({label:e,value:t,side:n}){return V.createElement(Ro,{"data-testid":XFe.value(e),variant:"caption",sx:{fontWeight:"bold",["left"===n?"pl":"pr"]:"4px"}},V.createElement(jMe,{uiValue:t}))}function cze(){return V.createElement(Ds,{sx:{position:"absolute",top:0,bottom:0,left:"50%",width:"1px",backgroundColor:"var(--c-grey-700)",zIndex:1}})}function uze({label:e,children:t,sx:n,reversed:r,mixed:i}){return V.createElement(Ds,{sx:{display:"flex",alignItems:"center",gap:1}},V.createElement(Ro,{"data-testid":XFe.rowLabel(e),variant:"body2",sx:{fontWeight:600,width:55}},e),V.createElement(Ds,{"data-testid":XFe.bar(e,r,i),sx:{flex:1,height:24,borderRadius:"4px",overflow:"hidden",display:"flex",...n}},t))}function fze({segmentSize:e,formatSegmentSizeRatio:t,formatSegmentSizeCount:n,sx:r}){if(!e)return null;const i={value:e.ratio,formatter:t},o={value:e.segmentCount,formatter:n},a={value:e.populationCount,formatter:n};return V.createElement(BFe,{sx:{flexDirection:"column",borderLeft:"6px solid var(--c-dotdata-blue)",...r}},V.createElement(WFe,null,"SEGMENT SIZE"),V.createElement(qFe,null,V.createElement(jMe,{uiValue:i})),V.createElement(HFe,null,V.createElement(jMe,{uiValue:o})," out of"," ",V.createElement(jMe,{uiValue:a})," samples"))}function hze({items:e,visibleItems:t,keyExtractor:n,renderItem:r}){return V.createElement(V.Fragment,null,e.filter(e=>t.some(t=>n(t)===n(e))).map(e=>{const t=n(e);return V.createElement(V.Fragment,{key:t},r(e))}))}const dze=({rows:e,columns:t=12,gap:n=4,sx:r})=>V.createElement(Ds,{sx:{display:"grid",gridTemplateColumns:`repeat(${t}, 1fr)`,gridTemplateRows:`repeat(${e.length}, auto)`,gap:n,width:"100%",...r}},e.map((e,t)=>e.items.map((e,n)=>V.createElement(Ds,{key:e.id??`item-${t}-${n}`,sx:{gridColumn:`span ${e.span}`,minWidth:0,minHeight:0,alignSelf:"start"}},e.content)))),pze=({children:e,onReset:t,FallbackComponent:n})=>{const[r,i]=(0,V.useState)(()=>Math.random());return V.createElement(Sa,{key:r,FallbackComponent:({error:e,resetErrorBoundary:r})=>V.createElement(n,{error:e,handleReset:()=>{i(Math.random()),t?t(r):r()}})},e)},gze=({error:e,header:t="An Unexpected Error Occurred",subheader:n="Try the action again. If the issue persists, copy the error details and send them to our support team.",handleReset:r,resetButtonText:i="Reset"})=>{const o=e?.message||String(e),a=e?.stack||o;return V.createElement(tMe,{sx:{padding:2,alignContent:"start",justifyContent:"center",maxHeight:"400px",gridTemplateRows:"auto auto auto minmax(0, 1fr)"}},V.createElement(Ro,{variant:"h1",component:"h1",sx:{textAlign:"center"}},t),V.createElement(Ro,{variant:"body1",sx:{textAlign:"center"}},n),r&&V.createElement(Ds,{sx:{display:"flex",justifyContent:"center",mt:2}},V.createElement(YO,{variant:"contained",color:"primary",onClick:r},i)),V.createElement(Ds,{sx:{minHeight:0,display:"flex",flexDirection:"column",border:"1px solid",borderColor:"divider",borderRadius:1,overflow:"hidden"}},V.createElement(Ds,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:1,px:1.5,py:.5,backgroundColor:"action.hover"}},V.createElement(Ro,{variant:"subtitle2",sx:{color:"error.main"}},o),V.createElement(kT,{textToCopy:a})),V.createElement(Ds,{sx:{overflow:"auto",px:1.5,py:1}},V.createElement("pre",{style:{margin:0,color:"#d32f2f",whiteSpace:"pre-wrap",wordBreak:"break-word"}},a))))},mze={label:{fontSize:"14px",lineHeight:"20px",fontWeight:400,userSelect:"none"},bold:{fontSize:"14px",lineHeight:"20px",fontWeight:500,userSelect:"none"},grey:{fontSize:"14px",lineHeight:"20px",fontWeight:400,userSelect:"none",color:"var(--c-grey-700)"},table:{fontWeight:600,userSelect:"none",color:"var(--c-grey-700)"}},bze=({variant:e="label",sx:t={},children:n,typographyProps:r={}})=>V.createElement(Ro,{sx:{...mze[e],...t},variant:"table"===e?"subtitle2":void 0,...r},n),wze={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:"1px"},vze=[],yze={};function xze(e,t,n,r,i){return 1===n?Math.min(e+t,i):Math.max(e-t,r)}function Aze(e,t){return e-t}function kze(e,t,n=-1){const r=e.reduce((e,n,r)=>{const i=Math.abs(t-n);return null==e||i<=e.distance?{distance:i,index:r}:e},null)??yze,{index:i}=r;return null==i?i:n>=0&&e[n]===e[i]?n:i}function Sze(e,t){if(null!=t.current&&e.changedTouches){const n=e;for(let e=0;e<n.changedTouches.length;e+=1){const r=n.changedTouches[e];if(r.identifier===t.current)return{x:r.clientX,y:r.clientY}}return!1}return{x:e.clientX,y:e.clientY}}function Eze(e,t,n){return 100*(e-t)/(n-t)}function Cze(e,t,n){const r=e.slice();return r[n]=t,r.sort(Aze)}function Oze(e,t,n,r){const i=ll(e.current),o=sM(i);if(!PP(e.current,o)||Number(o?.getAttribute("data-index"))!==t){const n=e.current?.querySelector(`[type="range"][data-index="${t}"]`);null!=n&&(null==r?n.focus({preventScroll:!0}):n.focus({preventScroll:!0,focusVisible:r}))}n&&n(t)}function Tze(e,t){return"number"==typeof e&&"number"==typeof t?e===t:"object"==typeof e&&"object"==typeof t&&function(e,t,n=(e,t)=>e===t){return e.length===t.length&&e.every((e,r)=>n(e,t[r]))}(e,t)}const _ze={horizontal:{offset:e=>({left:`${e}%`}),leap:e=>({width:`${e}%`})},"horizontal-reverse":{offset:e=>({right:`${e}%`}),leap:e=>({width:`${e}%`})},vertical:{offset:e=>({bottom:`${e}%`}),leap:e=>({height:`${e}%`})}},Mze=e=>e;function Pze(e){const{"aria-labelledby":t,defaultValue:n,disabled:r=!1,disableSwap:i=!1,isRtl:o=!1,marks:a=!1,max:s=100,min:l=0,name:c,onChange:u,onChangeCommitted:f,orientation:h="horizontal",rootRef:d,scale:p=Mze,step:g=1,shiftStep:m=10,tabIndex:b,value:w}=e,v=V.useRef(void 0),y=V.useRef(null),[x,A]=V.useState(-1),[k,S]=V.useState(-1),[E,C]=V.useState(!1),O=V.useRef(0),T=V.useRef(-1),_=V.useRef(!1),M=V.useRef(-1),P=Vc(()=>{null!=y.current&&(cancelAnimationFrame(y.current),y.current=null)}),D=V.useRef(null),[R,I]=Zc({controlled:w,default:n??l,name:"Slider"}),N=Vc((e,t,n)=>{const r="nativeEvent"in e?e.nativeEvent:e,i=new r.constructor(r.type,r);Object.defineProperty(i,"target",{writable:!0,value:{value:t,name:c}}),D.current=t,u?.(i,t,n)}),$=Array.isArray(R),L=V.useMemo(()=>{if("number"==typeof R)return[Ar(R,l,s)];if(null==R)return[l];const e=R.slice().sort(Aze);for(let t=0;t<e.length;t+=1){const n=e[t];e[t]=null==n?l:Ar(n,l,s)}return e},[R,l,s]),j=V.useMemo(()=>{if(!0===a&&null!=g){const e=new Array(Math.floor((s-l)/g)+1);for(let t=0;t<e.length;t+=1)e[t]={value:l+g*t};return e}return Array.isArray(a)?a:vze},[a,g,l,s]),F=V.useMemo(()=>{const e=new Array(j.length);for(let t=0;t<j.length;t+=1)e[t]=j[t].value;return e},[j]),[z,B]=V.useState(-1),W=V.useRef(null),q=Zs(d,W),H=e=>t=>{const n=Number(t.currentTarget.getAttribute("data-index"));Fs(t.target)&&B(n),S(n),e?.onFocus?.(t)},U=e=>t=>{Fs(t.target)||B(-1),S(-1),e?.onBlur?.(t)},K=(e,t)=>{const n=Number(e.currentTarget.getAttribute("data-index")),r=L[n],o=F.indexOf(r);let a=t;if(j&&null==g){const e=F[F.length-1];a=a>=e?e:a<=F[0]?F[0]:a<r?F[o-1]:F[o+1]}if(a=Ar(a,l,s),$){i&&(a=Ar(a,L[n-1]||-1/0,L[n+1]||1/0));const e=a;a=Cze(L,a,n);let t=n;i||(t=a.indexOf(e)),Oze(W,t)}I(a),B(n),u&&!Tze(a,R)&&N(e,a,n),f&&f(e,D.current??a)},Q=e=>t=>{if(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","PageUp","PageDown","Home","End"].includes(t.key)){t.preventDefault();const e=Number(t.currentTarget.getAttribute("data-index")),n=L[e];let r=null;if(null!=g){const e=t.shiftKey?m:g;switch(t.key){case"ArrowUp":r=xze(n,e,1,l,s);break;case"ArrowRight":r=xze(n,e,o?-1:1,l,s);break;case"ArrowDown":r=xze(n,e,-1,l,s);break;case"ArrowLeft":r=xze(n,e,o?1:-1,l,s);break;case"PageUp":r=xze(n,m,1,l,s);break;case"PageDown":r=xze(n,m,-1,l,s);break;case"Home":r=l;break;case"End":r=s}}else if(j){const e=F[F.length-1],i=F.indexOf(n),a=[o?"ArrowLeft":"ArrowRight","ArrowUp","PageUp","End"];[o?"ArrowRight":"ArrowLeft","ArrowDown","PageDown","Home"].includes(t.key)?r=0===i?F[0]:F[i-1]:a.includes(t.key)&&(r=i===F.length-1?e:F[i+1])}null!=r&&K(t,r)}e?.onKeyDown?.(t)};Bs(()=>{const e=sM(ll(W.current));r&&PP(W.current,e)&&null!=e&&"blur"in e&&e.blur()},[r]),r&&-1!==x&&A(-1),r&&-1!==z&&B(-1);const G=V.useRef(void 0);let X=h;o&&"horizontal"===h&&(X+="-reverse");const Y=e=>{const{current:t}=W;if(!t)return null;const{width:n,height:r,bottom:o,left:a}=t.getBoundingClientRect();let c,u;if(c=X.startsWith("vertical")?(o-e.y)/r:(e.x-a)/n,X.includes("-reverse")&&(c=1-c),u=function(e,t,n){return(n-t)*e+t}(c,l,s),g)u=function(e,t,n){const r=Math.round((e-n)/t)*t+n;return Number(r.toFixed(function(e){if(Math.abs(e)<1){const t=e.toExponential().split("e-"),n=t[0].split(".")[1];return(n?n.length:0)+parseInt(t[1],10)}const t=e.toString().split(".")[1];return t?t.length:0}(t)))}(u,g,l);else{const e=kze(F,u);u=F[e]}u=Ar(u,l,s);let f=0;if($){const e=-1!==G.current;f=e?G.current:kze(L,u,T.current),i&&(u=Ar(u,L[f-1]||-1/0,L[f+1]||1/0));const t=u;u=Cze(L,u,f),i&&e||(f=u.indexOf(t),G.current=f)}return{newValue:u,activeIndex:f}},Z=Vc(e=>{if("pointerId"in e&&e.pointerId!==M.current)return;const t=Sze(e,v);if(!t)return;if(O.current+=1,"pointermove"===e.type&&0===e.buttons)return void J(e);const n=Y(t);n&&(Oze(W,n.activeIndex,A,!1),T.current=n.activeIndex,I(n.newValue),!E&&O.current>2&&C(!0),u&&!Tze(n.newValue,R)&&N(e,n.newValue,n.activeIndex))}),J=Vc(e=>{if("pointerId"in e&&e.pointerId!==M.current)return;const t=Sze(e,v);if(C(!1),!t)return;const n=Y(t);A(-1),"touchend"===e.type&&S(-1),n&&f&&f(e,D.current??n.newValue),"pointerType"in e&&W.current?.hasPointerCapture(e.pointerId)&&W.current.releasePointerCapture(e.pointerId),v.current=void 0,M.current=-1,te()}),ee=Vc(e=>{if(r)return;if(_.current){_.current=!1;const t=e.changedTouches[0];return void(null!=t&&(v.current=t.identifier))}const t=e.changedTouches[0];null!=t&&(v.current=t.identifier);const n=Sze(e,v);if(!1!==n){G.current=-1;const t=Y(n);t&&(Oze(W,t.activeIndex,A,!1),T.current=t.activeIndex,I(t.newValue),u&&!Tze(t.newValue,R)&&N(e,t.newValue,t.activeIndex))}O.current=0;const i=ll(W.current);i.addEventListener("touchmove",Z,{passive:!0}),i.addEventListener("touchend",J,{passive:!0})}),te=V.useCallback(()=>{const e=ll(W.current);e.removeEventListener("pointermove",Z),e.removeEventListener("pointerup",J),e.removeEventListener("touchmove",Z),e.removeEventListener("touchend",J)},[J,Z]);V.useEffect(()=>{const e=W.current;if(e)return e.addEventListener("touchstart",ee,{passive:!0}),()=>{e.removeEventListener("touchstart",ee),P(),te()}},[te,ee,P]),V.useEffect(()=>{r&&(te(),P())},[r,te,P]);const ne=Eze($?L[0]:l,l,s),re=Eze(L[L.length-1],l,s)-ne,ie=e=>t=>{e.onMouseLeave?.(t),S(-1)};let oe;return"vertical"===h&&(oe=o?"vertical-rl":"vertical-lr"),{active:x,axis:X,axisProps:_ze,dragging:E,focusedThumbIndex:z,getHiddenInputProps:(n=yze)=>{const i=_c(n),a={onChange:(u=i,e=>{u.onChange?.(e),K(e,e.currentTarget.valueAsNumber)}),onFocus:H(i),onBlur:U(i),onKeyDown:Q(i)};var u;const f={...i,...a};return{tabIndex:b,"aria-labelledby":t,"aria-orientation":h,"aria-valuemax":p(s),"aria-valuemin":p(l),name:c,type:"range",min:e.min,max:e.max,step:null===e.step&&e.marks?"any":e.step??void 0,disabled:r,...n,...f,style:{...wze,direction:o?"rtl":"ltr",width:"100%",height:"100%",writingMode:oe}}},getRootProps:(e=yze)=>{const t=_c(e),n={onPointerDown:(i=t,e=>{if(i.onPointerDown?.(e),"touch"===e.pointerType&&(_.current=!0),r||e.defaultPrevented||0!==e.button)return;const t=Sze(e,v);if(!1!==t){G.current=-1;const n=Y(t);if(n){const t=W.current?.querySelector(`input[type="range"][data-index="${n.activeIndex}"]`),r=ll(W.current),i=null!=t&&t===sM(r);A(n.activeIndex),T.current=n.activeIndex,i?e.preventDefault():(P(),y.current=requestAnimationFrame(()=>{y.current=null,Oze(W,n.activeIndex,void 0,!1)})),I(n.newValue),u&&!Tze(n.newValue,R)&&N(e,n.newValue,n.activeIndex)}}O.current=0,M.current=e.pointerId;const n=ll(W.current);try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}n.addEventListener("pointermove",Z,{passive:!0}),n.addEventListener("pointerup",J)})};var i;const o={...t,...n};return{...e,ref:q,...o}},getThumbProps:(e=yze)=>{const t=_c(e),n={onMouseOver:(r=t,e=>{r.onMouseOver?.(e);const t=Number(e.currentTarget.getAttribute("data-index"));S(t)}),onMouseLeave:ie(t)};var r;return{...e,...t,...n}},marks:j,open:k,range:$,rootRef:q,trackLeap:re,trackOffset:ne,values:L,getThumbStyle:e=>{let t;return $?x===e?t=2:T.current===e&&(t=1):x===e&&(t=1),{pointerEvents:-1!==x&&x!==e?"none":void 0,zIndex:t}}}}function Dze(e){return Oo("MuiSlider",e)}const Rze=To("MuiSlider",["root","active","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","disabled","dragging","focusVisible","mark","markActive","marked","markLabel","markLabelActive","rail","sizeSmall","thumb","track","trackInverted","trackFalse","valueLabel","valueLabelOpen","valueLabelCircle","valueLabelLabel","vertical"]);function Ize(e){return e}const Nze=ho("span",{name:"MuiSlider",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`color${xo(n.color)}`],"medium"!==n.size&&t[`size${xo(n.size)}`],n.marked&&t.marked,"vertical"===n.orientation&&t.vertical,"inverted"===n.track&&t.trackInverted,!1===n.track&&t.trackFalse]}})(go(({theme:e})=>({borderRadius:12,boxSizing:"content-box",display:"inline-block",position:"relative",cursor:"pointer",touchAction:"none",WebkitTapHighlightColor:"transparent","@media print":{colorAdjust:"exact"},[`&.${Rze.disabled}`]:{pointerEvents:"none",cursor:"default",color:(e.vars||e).palette.grey[400]},[`&.${Rze.dragging}`]:{[`& .${Rze.thumb}, & .${Rze.track}`]:{transition:"none"}},variants:[...Object.entries(e.palette).filter(Ao()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}})),{props:{orientation:"horizontal"},style:{height:4,width:"100%",padding:"13px 0","@media (pointer: coarse)":{padding:"20px 0"}}},{props:{orientation:"horizontal",size:"small"},style:{height:2}},{props:{orientation:"horizontal",marked:!0},style:{marginBottom:20}},{props:{orientation:"vertical"},style:{height:"100%",width:4,padding:"0 13px","@media (pointer: coarse)":{padding:"0 20px"}}},{props:{orientation:"vertical",size:"small"},style:{width:2}},{props:{orientation:"vertical",marked:!0},style:{marginRight:44}}]}))),$ze=ho("span",{name:"MuiSlider",slot:"Rail"})({display:"block",position:"absolute",borderRadius:"inherit",backgroundColor:"currentColor",opacity:.38,"@media (forced-colors: active)":{border:"1px solid transparent",boxSizing:"border-box"},variants:[{props:{orientation:"horizontal"},style:{width:"100%",height:"inherit",top:"50%",transform:"translateY(-50%)"}},{props:{orientation:"vertical"},style:{height:"100%",width:"inherit",left:"50%",transform:"translateX(-50%)"}},{props:{track:"inverted"},style:{opacity:1}}]}),Lze=ho("span",{name:"MuiSlider",slot:"Track"})(go(({theme:e})=>({display:"block",position:"absolute",borderRadius:"inherit",border:"1px solid currentColor",backgroundColor:"currentColor",...ta(e,["left","width","bottom","height"],{duration:e.transitions.duration.shortest}),variants:[{props:{size:"small"},style:{"@media (forced-colors: none)":{border:"none"}}},{props:{orientation:"horizontal"},style:{height:"inherit",top:"50%",transform:"translateY(-50%)"}},{props:{orientation:"vertical"},style:{width:"inherit",left:"50%",transform:"translateX(-50%)"}},{props:{track:!1},style:{display:"none"}},...Object.entries(e.palette).filter(Ao()).map(([t])=>({props:{color:t,track:"inverted"},style:{...e.vars?{backgroundColor:e.vars.palette.Slider[`${t}Track`],borderColor:e.vars.palette.Slider[`${t}Track`]}:{backgroundColor:e.lighten(e.palette[t].main,.62),borderColor:e.lighten(e.palette[t].main,.62),...e.applyStyles("dark",{backgroundColor:e.darken(e.palette[t].main,.5)}),...e.applyStyles("dark",{borderColor:e.darken(e.palette[t].main,.5)})}}}))]}))),jze=ho("span",{name:"MuiSlider",slot:"Thumb"})(go(({theme:e})=>({position:"absolute",width:20,height:20,boxSizing:"border-box",borderRadius:"50%",outline:0,backgroundColor:"currentColor",display:"flex",alignItems:"center",justifyContent:"center",...ta(e,["box-shadow","left","bottom"],{duration:e.transitions.duration.shortest}),"@media (forced-colors: active)":{border:"1px solid ButtonBorder"},"&::before":{position:"absolute",content:'""',borderRadius:"inherit",width:"100%",height:"100%",boxShadow:(e.vars||e).shadows[2]},"&::after":{position:"absolute",content:'""',borderRadius:"50%",width:42,height:42,top:"50%",left:"50%",transform:"translate(-50%, -50%)"},[`&.${Rze.disabled}`]:{"&:hover":{boxShadow:"none"}},variants:[{props:{size:"small"},style:{width:12,height:12,"&::before":{boxShadow:"none"}}},{props:{orientation:"horizontal"},style:{top:"50%",transform:"translate(-50%, -50%)"}},{props:{orientation:"vertical"},style:{left:"50%",transform:"translate(-50%, 50%)"}},...Object.entries(e.palette).filter(Ao()).map(([t])=>({props:{color:t},style:{[`&:hover, &.${Rze.focusVisible}`]:{boxShadow:`0px 0px 0px 8px ${e.alpha((e.vars||e).palette[t].main,.16)}`,"@media (hover: none)":{boxShadow:"none"}},[`&.${Rze.active}`]:{boxShadow:`0px 0px 0px 14px ${e.alpha((e.vars||e).palette[t].main,.16)}`}}}))]}))),Fze=ho(function(e){const{children:t,className:n,value:r}=e,i=(e=>{const{open:t}=e;return{offset:G(t&&Rze.valueLabelOpen),circle:Rze.valueLabelCircle,label:Rze.valueLabelLabel}})(e);return t?V.cloneElement(t,{className:t.props.className},(0,bo.jsxs)(V.Fragment,{children:[t.props.children,(0,bo.jsx)("span",{className:G(i.offset,n),"aria-hidden":!0,children:(0,bo.jsx)("span",{className:i.circle,children:(0,bo.jsx)("span",{className:i.label,children:r})})})]})):null},{name:"MuiSlider",slot:"ValueLabel"})(go(({theme:e})=>({zIndex:1,whiteSpace:"nowrap",...e.typography.body2,fontWeight:500,...ta(e,["transform"],{duration:e.transitions.duration.shortest}),position:"absolute",backgroundColor:(e.vars||e).palette.grey[600],borderRadius:2,color:(e.vars||e).palette.common.white,display:"flex",alignItems:"center",justifyContent:"center",padding:"0.25rem 0.75rem",variants:[{props:{orientation:"horizontal"},style:{transform:"translateY(-100%) scale(0)",top:"-10px",transformOrigin:"bottom center","&::before":{position:"absolute",content:'""',width:8,height:8,transform:"translate(-50%, 50%) rotate(45deg)",backgroundColor:"inherit",bottom:0,left:"50%"},[`&.${Rze.valueLabelOpen}`]:{transform:"translateY(-100%) scale(1)"}}},{props:{orientation:"vertical"},style:{transform:"translateY(-50%) scale(0)",right:"30px",top:"50%",transformOrigin:"right center","&::before":{position:"absolute",content:'""',width:8,height:8,transform:"translate(-50%, -50%) rotate(45deg)",backgroundColor:"inherit",right:-8,top:"50%"},[`&.${Rze.valueLabelOpen}`]:{transform:"translateY(-50%) scale(1)"}}},{props:{size:"small"},style:{fontSize:e.typography.pxToRem(12),padding:"0.25rem 0.5rem"}},{props:{orientation:"vertical",size:"small"},style:{right:"20px"}}]}))),zze=ho("span",{name:"MuiSlider",slot:"Mark",shouldForwardProp:e=>uo(e)&&"markActive"!==e,overridesResolver:(e,t)=>{const{markActive:n}=e;return[t.mark,n&&t.markActive]}})(go(({theme:e})=>({position:"absolute",width:2,height:2,borderRadius:1,backgroundColor:"currentColor",variants:[{props:{orientation:"horizontal"},style:{top:"50%",transform:"translate(-1px, -50%)"}},{props:{orientation:"vertical"},style:{left:"50%",transform:"translate(-50%, 1px)"}},{props:{markActive:!0},style:{backgroundColor:(e.vars||e).palette.background.paper,opacity:.8}}]}))),Bze=ho("span",{name:"MuiSlider",slot:"MarkLabel",shouldForwardProp:e=>uo(e)&&"markLabelActive"!==e})(go(({theme:e})=>({...e.typography.body2,color:(e.vars||e).palette.text.secondary,position:"absolute",whiteSpace:"nowrap",variants:[{props:{orientation:"horizontal"},style:{top:30,transform:"translateX(-50%)","@media (pointer: coarse)":{top:40}}},{props:{orientation:"vertical"},style:{left:36,transform:"translateY(50%)","@media (pointer: coarse)":{left:44}}},{props:{markLabelActive:!0},style:{color:(e.vars||e).palette.text.primary}}]}))),Wze=({children:e})=>e,qze=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiSlider"}),r=al(),{"aria-label":i,"aria-valuetext":o,"aria-labelledby":a,color:s="primary",classes:l,className:c,disableSwap:u=!1,disabled:f=!1,getAriaLabel:h,getAriaValueText:d,marks:p=!1,max:g=100,min:m=0,name:b,onChange:w,onChangeCommitted:v,orientation:y="horizontal",shiftStep:x=10,size:A="medium",step:k=1,scale:S=Ize,slotProps:E={},slots:C={},tabIndex:O,track:T="normal",value:_,valueLabelDisplay:M="off",valueLabelFormat:P=Ize,...D}=n,R={...n,isRtl:r,max:g,min:m,classes:l,disabled:f,disableSwap:u,orientation:y,marks:p,color:s,size:A,step:k,shiftStep:x,scale:S,track:T,valueLabelDisplay:M,valueLabelFormat:P},{axisProps:I,getRootProps:N,getHiddenInputProps:$,getThumbProps:L,open:j,active:F,axis:z,focusedThumbIndex:B,range:W,dragging:q,marks:H,values:U,trackOffset:K,trackLeap:Q,getThumbStyle:Y}=Pze({...R,rootRef:t});R.marked=H.length>0&&H.some(e=>e.label),R.dragging=q,R.focusedThumbIndex=B;const Z=(e=>{const{disabled:t,dragging:n,marked:r,orientation:i,track:o,classes:a,color:s,size:l}=e;return X({root:["root",t&&"disabled",n&&"dragging",r&&"marked","vertical"===i&&"vertical","inverted"===o&&"trackInverted",!1===o&&"trackFalse",s&&`color${xo(s)}`,l&&`size${xo(l)}`],rail:["rail"],track:["track"],mark:["mark"],markActive:["markActive"],markLabel:["markLabel"],markLabelActive:["markLabelActive"],valueLabel:["valueLabel"],thumb:["thumb",t&&"disabled"],active:["active"],disabled:["disabled"],focusVisible:["focusVisible"]},Dze,a)})(R),J={slots:C,slotProps:E},[ee,te]=eu("root",{elementType:Nze,getSlotProps:N,externalForwardedProps:{...J,...D},ownerState:R,className:[Z.root,c]}),[ne,re]=eu("rail",{elementType:$ze,externalForwardedProps:J,ownerState:R,className:Z.rail}),[ie,oe]=eu("track",{elementType:Lze,externalForwardedProps:J,additionalProps:{style:{...I[z].offset(K),...I[z].leap(Q)}},ownerState:R,className:Z.track}),[ae,se]=eu("thumb",{elementType:jze,getSlotProps:L,externalForwardedProps:J,ownerState:R,className:Z.thumb}),[le,ce]=eu("valueLabel",{elementType:Fze,externalForwardedProps:J,ownerState:R,className:Z.valueLabel}),[ue,fe]=eu("mark",{elementType:zze,externalForwardedProps:J,ownerState:R,className:Z.mark}),[he,de]=eu("markLabel",{elementType:Bze,externalForwardedProps:J,ownerState:R,className:Z.markLabel}),[pe,ge]=eu("input",{elementType:"input",getSlotProps:$,externalForwardedProps:J,ownerState:R});return(0,bo.jsxs)(ee,{...te,children:[(0,bo.jsx)(ne,{...re}),(0,bo.jsx)(ie,{...oe}),H.filter(e=>e.value>=m&&e.value<=g).map((e,t)=>{const n=Eze(e.value,m,g),r=I[z].offset(n);let i;return i=!1===T?U.includes(e.value):"normal"===T&&(W?e.value>=U[0]&&e.value<=U[U.length-1]:e.value<=U[0])||"inverted"===T&&(W?e.value<=U[0]||e.value>=U[U.length-1]:e.value>=U[0]),(0,bo.jsxs)(V.Fragment,{children:[(0,bo.jsx)(ue,{"data-index":t,...fe,...!Cc(ue)&&{markActive:i},style:{...r,...fe.style},className:G(fe.className,i&&Z.markActive)}),null!=e.label?(0,bo.jsx)(he,{"aria-hidden":!0,"data-index":t,...de,...!Cc(he)&&{markLabelActive:i},style:{...r,...de.style},className:G(Z.markLabel,de.className,i&&Z.markLabelActive),children:e.label}):null]},t)}),U.map((e,t)=>{const n=Eze(e,m,g),r=I[z].offset(n),s="off"===M?Wze:le;return(0,bo.jsx)(s,{...!Cc(s)&&{valueLabelFormat:P,valueLabelDisplay:M,value:"function"==typeof P?P(S(e),t):P,index:t,open:j===t||F===t||"on"===M,disabled:f},...ce,children:(0,bo.jsx)(ae,{"data-index":t,...se,className:G(Z.thumb,se.className,F===t&&Z.active,B===t&&Z.focusVisible),style:{...r,...Y(t),...se.style},children:(0,bo.jsx)(pe,{"data-index":t,"aria-label":h?h(t):i,"aria-valuenow":S(e),"aria-labelledby":a,"aria-valuetext":d?d(S(e),t):o,value:U[t],...ge})})},t)})]})}),Hze=qze,Uze=({value:e,setValue:t,label:n,labelRightSlot:r,min:i,max:o,invertSliderTrack:a,testId:s,layoutConfig:l})=>{const c={SLIDERS_AND_INPUTS_CONTAINER_WIDTH:"315px",SLIDER_INPUT_WIDTH:"68px",SLIDER_DISABLED_INPUT_WIDTH:"39px",INPUTS_CONTAINER_WIDTH:"129px",...l},[u,f]=V.useState(()=>e);function h(n){const r=Number(n);r!==e&&requestAnimationFrame(()=>{t(r)})}return V.useEffect(()=>{u!=e&&f(e)},[e]),V.createElement(Ds,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"}},V.createElement(Ds,{sx:{mr:"24px",display:"flex",alignItems:"center"}},V.createElement(Ro,{className:"grey-label label-bold",variant:"body2",sx:{position:"relative",top:"-3px",fontSize:"14px",fontWeight:500}},n),r??null),V.createElement(Ds,{sx:{display:"flex",justifyContent:"flex-end",alignItems:"center",width:c.SLIDERS_AND_INPUTS_CONTAINER_WIDTH}},V.createElement(Hze,{"data-testid":U(s),size:"small",step:.01,min:i,max:o,value:Vze(u),onChange:(e,t)=>{f(t),h(t)},sx:{display:"flex",flex:1,marginRight:"12px",marginLeft:"12px"},track:a?"inverted":"normal"}),V.createElement(Ds,{sx:{width:c.INPUTS_CONTAINER_WIDTH}},V.createElement(vR,{"data-testid":H(s),value:u,size:"small",variant:"outlined",onChange:function(e){f(e.target.value),h(e.target.value)},sx:{width:c.SLIDER_INPUT_WIDTH,"& input::-webkit-outer-spin-button, & input::-webkit-inner-spin-button":{display:"none"},"& input[type=number]":{MozAppearance:"textfield"}},margin:"none",onBlur:function(){const e=Math.max(i,Math.min(o,Number(u)));f(e),h(e)},slotProps:{htmlInput:{step:.01,min:i,max:o,type:"number"}}}))))};function Vze(e){return Number(e)}const Kze={resetPaginationCallback:null},Qze=(e,t)=>({setResetPaginationCallback:t=>e({resetPaginationCallback:t}),callResetPaginationCallback:()=>{const{resetPaginationCallback:e}=t();e&&e()}}),Gze={nextButton:{"data-testid":B.pagination.nextPageButton},previousButton:{"data-testid":B.pagination.previousPageButton}},Xze=({children:e,style:t,totalCount:n,page:r,rowsPerPage:i,onPageChange:o,onRowsPerPageChange:a,rowsPerPageOptions:s,showFirstButton:l,showLastButton:c,rowHeight:u})=>{const f=Math.ceil(n/i)>=2?i*u:"auto";return V.createElement(V.Fragment,null,V.createElement("div",{style:{width:"100%",minHeight:f,...t}},e),V.createElement(tLe,{slotProps:{select:{native:!0},actions:Gze},component:"div",count:n,page:r,onPageChange:o,rowsPerPage:i,onRowsPerPageChange:a,rowsPerPageOptions:s,showFirstButton:l,showLastButton:c}))};function Yze({defaultRowsPerPage:e=20,rowsPerPageOptions:t=[10,20,50],showFirstButton:n=!0,showLastButton:r=!0,rowHeight:i=36}){const[o,a]=(0,V.useState)(0),[s,l]=(0,V.useState)(e),c=(0,V.useCallback)((e,t)=>{a(t)},[]),u=(0,V.useCallback)(()=>{a(0)},[]),f=(0,V.useCallback)(e=>{l(parseInt(e.target.value,10)),a(0)},[]),h={start:o*s,end:o*s+s},d=(0,V.useCallback)(e=>e.slice(h.start,h.end),[h.start,h.end]),p=(0,V.useCallback)((e={})=>({page:o,rowsPerPage:s,totalCount:e.totalCount??0,onPageChange:(t,n)=>{c(t,n),e.onPageChange?.(t,n)},onRowsPerPageChange:t=>{f(t),e.onRowsPerPageChange?.(t)},rowsPerPageOptions:t,showFirstButton:n,showLastButton:r,rowHeight:i}),[o,s,c,f,t,n,r,i]);return{getPage:d,resetPage:u,PaginationWrapper:Xze,getPaginationProps:p}}function Zze({buttonContent:e,title:t,children:n,buttonProps:r,"data-testid":i}){const[o,a]=V.useState(null),s=()=>{a(null)},l=Boolean(o),c=l?"simple-popover":void 0;return V.createElement(WR,{onClickAway:s},V.createElement("div",null,V.createElement(YO,{"data-testid":i,"aria-describedby":c,onClick:e=>{a(o?null:e.currentTarget)},variant:"outlined",sx:{minWidth:"86px",height:"36px",color:"rgba(54, 65, 82, 1)",padding:"8px 12px",textTransform:"capitalize",border:"solid 1px rgba(227, 232, 239, 1)",borderRadius:"8px",fontSize:"14px",boxShadow:"0px 1px 2px 0px rgba(16, 24, 40, 0.05)"},...r},e),V.createElement(UNe,{id:c,open:l,anchorEl:o,transition:!1,placement:"bottom-start",modifiers:[{name:"flip",enabled:!1},{name:"offset",options:{offset:[0,2]}}]},V.createElement(Ds,{sx:{p:"16px",boxSizing:"border-box"}},V.createElement(Ds,{sx:{display:"flex",justifyContent:"space-between"}},V.createElement(Ro,{variant:"h6",sx:{color:"rgba(81, 87, 99, 1)",fontSize:"16px"}},t),V.createElement(nf,{onClick:s},V.createElement(W_,{"data-testid":`${i}-close`}))),V.createElement(Ds,{sx:{mt:"16px"}},n)))))}const Jze=({searchPhrase:e,onSearchPhraseChange:t,testId:n,placeholder:r="Search",sx:i={}})=>{const o=zo();return V.createElement(vR,{"data-testid":n,sx:{"& .MuiOutlinedInput-root":{"& fieldset":{borderColor:"rgba(205, 213, 223, 1)"},"&:hover fieldset":{borderColor:o.palette.primary.main}},"& .MuiInputBase-input":{height:"36px",padding:"6px 12px",boxSizing:"border-box"},"& .MuiInputBase-input::placeholder":{color:"rgba(154, 164, 178, 1)"},"& .MuiInputBase-input::-webkit-search-cancel-button":{cursor:"pointer"},...i},size:"small",label:r,margin:"none",type:"search",variant:"outlined",value:e,onChange:e=>t(e.target.value)})},eBe=V.createContext(null);function tBe(){return V.useContext(eBe)}const nBe="function"==typeof Symbol&&Symbol.for?Symbol.for("mui.nested"):"__THEME_NESTED__",rBe=function(e){const{children:t,theme:n}=e,r=tBe(),i=V.useMemo(()=>{const e=null===r?{...n}:function(e,t){return"function"==typeof t?t(e):{...e,...t}}(r,n);return null!=e&&(e[nBe]=null!==r),e},[n,r]);return(0,bo.jsx)(eBe.Provider,{value:i,children:t})},iBe={};function oBe(e,t,n,r=!1){return V.useMemo(()=>{const i=e&&t[e]||t;if("function"==typeof n){const o=n(i),a=e?{...t,[e]:o}:o;return r?()=>a:a}return e?{...t,[e]:n}:{...t,...n}},[e,t,n,r])}const aBe=function(e){const{children:t,theme:n,themeId:r}=e,i=Io(iBe),o=tBe()||iBe,a=oBe(r,i,n),s=oBe(r,o,n,!0),l="rtl"===(r?a[r]:a).direction,c=function(e){const t=Io(),n=Xc()||"",{modularCssLayers:r}=e;let i="mui.global, mui.components, mui.theme, mui.custom, mui.sx";return i=r&&null===t?"string"==typeof r?r.replace(/mui(?!\.)/g,i):`@layer ${i};`:"",Bs(()=>{const e=document.querySelector("head");if(!e)return;const t=e.firstChild;if(i){if(t&&t.hasAttribute?.("data-mui-layer-order")&&t.getAttribute("data-mui-layer-order")===n)return;const r=document.createElement("style");r.setAttribute("data-mui-layer-order",n),r.textContent=i,e.prepend(r)}else e.querySelector(`style[data-mui-layer-order="${n}"]`)?.remove()},[i,n]),i?(0,bo.jsx)(nM,{styles:i}):null}(a);return(0,bo.jsx)(rBe,{theme:s,children:(0,bo.jsx)(vt.Provider,{value:a,children:(0,bo.jsx)(sl,{value:l,children:(0,bo.jsxs)(vo,{value:r?a[r].components:a.components,children:[c,t]})})})})};function sBe({theme:e,...t}){const n=co in e?e[co]:void 0;return(0,bo.jsx)(aBe,{...t,themeId:n?co:void 0,theme:n||e})}const lBe="mode",cBe="color-scheme",uBe="data-color-scheme";function fBe(){}({...K}).useSyncExternalStore;const hBe=({key:e,storageWindow:t})=>(t||"undefined"==typeof window||(t=window),{get(n){if("undefined"==typeof window)return;if(!t)return n;let r;try{r=t.localStorage.getItem(e)}catch{}return r||n},set:n=>{if(t)try{t.localStorage.setItem(e,n)}catch{}},subscribe:n=>{if(!t)return fBe;const r=t=>{const r=t.newValue;t.key===e&&n(r)};return t.addEventListener("storage",r),()=>{t.removeEventListener("storage",r)}}});function dBe(){}function pBe(e){if("undefined"!=typeof window&&"function"==typeof window.matchMedia&&"system"===e)return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function gBe(e,t){return"light"===e.mode||"system"===e.mode&&"light"===e.systemMode?t("light"):"dark"===e.mode||"system"===e.mode&&"dark"===e.systemMode?t("dark"):void 0}const mBe="mui-color-scheme",bBe="light",wBe="dark",vBe="mui-mode",{CssVarsProvider:yBe,useColorScheme:xBe,getInitColorSchemeScript:ABe}=function(e){const{themeId:t,theme:n={},modeStorageKey:r=lBe,colorSchemeStorageKey:i=cBe,disableTransitionOnChange:o=!1,defaultColorScheme:a,resolveTheme:s}=e,l={allColorSchemes:[],colorScheme:void 0,darkColorScheme:void 0,lightColorScheme:void 0,mode:void 0,setColorScheme:()=>{},setMode:()=>{},systemMode:void 0},c=V.createContext(void 0),u={},f={},h="string"==typeof a?a:a.light,d="string"==typeof a?a:a.dark;return{CssVarsProvider:function(e){const{children:l,theme:h,modeStorageKey:d=r,colorSchemeStorageKey:p=i,disableTransitionOnChange:g=o,storageManager:m,storageWindow:b=("undefined"==typeof window?void 0:window),documentNode:w=("undefined"==typeof document?void 0:document),colorSchemeNode:v=("undefined"==typeof document?void 0:document.documentElement),disableNestedContext:y=!1,disableStyleSheetGeneration:x=!1,defaultMode:A="system",forceThemeRerender:k=!1,noSsr:S}=e,E=V.useRef(!1),C=tBe(),O=V.useContext(c),T=!!O&&!y,_=V.useMemo(()=>h||("function"==typeof n?n():n),[h]),M=_[t],P=M||_,{colorSchemes:D=u,components:R=f,cssVarPrefix:I}=P,N=Object.keys(D).filter(e=>!!D[e]).join(","),$=V.useMemo(()=>N.split(","),[N]),L="string"==typeof a?a:a.light,j="string"==typeof a?a:a.dark,F=D[L]&&D[j]?A:D[P.defaultColorScheme]?.palette?.mode||P.palette?.mode,{mode:z,setMode:B,systemMode:W,lightColorScheme:q,darkColorScheme:H,colorScheme:U,setColorScheme:K}=function(e){const{defaultMode:t="light",defaultLightColorScheme:n,defaultDarkColorScheme:r,supportedColorSchemes:i=[],modeStorageKey:o=lBe,colorSchemeStorageKey:a=cBe,storageWindow:s=("undefined"==typeof window?void 0:window),storageManager:l=hBe,noSsr:c=!1}=e,u=i.join(","),f=i.length>1,h=V.useMemo(()=>l?.({key:o,storageWindow:s}),[l,o,s]),d=V.useMemo(()=>l?.({key:`${a}-light`,storageWindow:s}),[l,a,s]),p=V.useMemo(()=>l?.({key:`${a}-dark`,storageWindow:s}),[l,a,s]),[g,m]=V.useState(()=>{const e=h?.get(t)||t,i=d?.get(n)||n,o=p?.get(r)||r;return{mode:e,systemMode:pBe(e),lightColorScheme:i,darkColorScheme:o}}),[b,w]=V.useState(c||!f);V.useEffect(()=>{w(!0)},[]);const v=function(e){return gBe(e,t=>"light"===t?e.lightColorScheme:"dark"===t?e.darkColorScheme:void 0)}(g),y=V.useCallback(e=>{m(n=>{if(e===n.mode)return n;const r=e??t;return h?.set(r),{...n,mode:r,systemMode:pBe(r)}})},[h,t]),x=V.useCallback(e=>{e?"string"==typeof e?e&&!u.includes(e)?console.error(`\`${e}\` does not exist in \`theme.colorSchemes\`.`):m(t=>{const n={...t};return gBe(t,t=>{"light"===t&&(d?.set(e),n.lightColorScheme=e),"dark"===t&&(p?.set(e),n.darkColorScheme=e)}),n}):m(t=>{const i={...t},o=null===e.light?n:e.light,a=null===e.dark?r:e.dark;return o&&(u.includes(o)?(i.lightColorScheme=o,d?.set(o)):console.error(`\`${o}\` does not exist in \`theme.colorSchemes\`.`)),a&&(u.includes(a)?(i.darkColorScheme=a,p?.set(a)):console.error(`\`${a}\` does not exist in \`theme.colorSchemes\`.`)),i}):m(e=>(d?.set(n),p?.set(r),{...e,lightColorScheme:n,darkColorScheme:r}))},[u,d,p,n,r]),A=V.useCallback(e=>{"system"===g.mode&&m(t=>{const n=e?.matches?"dark":"light";return t.systemMode===n?t:{...t,systemMode:n}})},[g.mode]),k=V.useRef(A);return k.current=A,V.useEffect(()=>{if("function"!=typeof window.matchMedia||!f)return;const e=(...e)=>k.current(...e),t=window.matchMedia("(prefers-color-scheme: dark)");return t.addListener(e),e(t),()=>{t.removeListener(e)}},[f]),V.useEffect(()=>{if(f){const e=h?.subscribe(e=>{e&&!["light","dark","system"].includes(e)||y(e||t)})||dBe,n=d?.subscribe(e=>{e&&!u.match(e)||x({light:e})})||dBe,r=p?.subscribe(e=>{e&&!u.match(e)||x({dark:e})})||dBe;return()=>{e(),n(),r()}}},[x,y,u,t,s,f,h,d,p]),{...g,mode:b?g.mode:void 0,systemMode:b?g.systemMode:void 0,colorScheme:b?v:void 0,setMode:y,setColorScheme:x}}({supportedColorSchemes:$,defaultLightColorScheme:L,defaultDarkColorScheme:j,modeStorageKey:d,colorSchemeStorageKey:p,defaultMode:F,storageManager:m,storageWindow:b,noSsr:S});let Q=z,G=U;T&&(Q=O.mode,G=O.colorScheme);let X=G||P.defaultColorScheme;P.vars&&!k&&(X=P.defaultColorScheme);const Y=V.useMemo(()=>{const e=P.generateThemeVars?.()||P.vars,t={...P,components:R,colorSchemes:D,cssVarPrefix:I,vars:e};if("function"==typeof t.generateSpacing&&(t.spacing=t.generateSpacing()),X){const e=D[X];e&&"object"==typeof e&&Object.keys(e).forEach(n=>{e[n]&&"object"==typeof e[n]?t[n]={...t[n],...e[n]}:t[n]=e[n]})}return s?s(t):t},[P,X,R,D,I]),Z=P.colorSchemeSelector;Bs(()=>{if(G&&v&&Z&&"media"!==Z){const e=Z;let t=Z;if("class"===e&&(t=".%s"),"data"===e&&(t="[data-%s]"),e?.startsWith("data-")&&!e.includes("%s")&&(t=`[${e}="%s"]`),t.startsWith("."))v.classList.remove(...$.map(e=>t.substring(1).replace("%s",e))),v.classList.add(t.substring(1).replace("%s",G));else{const e=t.replace("%s",G).match(/\[([^\]]+)\]/);if(e){const[t,n]=e[1].split("=");n||$.forEach(e=>{v.removeAttribute(t.replace(G,e))}),v.setAttribute(t,n?n.replace(/"|'/g,""):"")}else v.setAttribute(t,G)}}},[G,Z,v,$]),V.useEffect(()=>{let e;if(g&&E.current&&w){const t=w.createElement("style");t.appendChild(w.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),w.head.appendChild(t),window.getComputedStyle(w.body),e=setTimeout(()=>{w.head.removeChild(t)},1)}return()=>{clearTimeout(e)}},[G,g,w]),V.useEffect(()=>(E.current=!0,()=>{E.current=!1}),[]);const J=V.useMemo(()=>({allColorSchemes:$,colorScheme:G,darkColorScheme:H,lightColorScheme:q,mode:Q,setColorScheme:K,setMode:B,systemMode:W}),[$,G,H,q,Q,K,B,W,Y.colorSchemeSelector]);let ee=!0;(x||!1===P.cssVariables||T&&C?.cssVarPrefix===I)&&(ee=!1);const te=(0,bo.jsxs)(V.Fragment,{children:[(0,bo.jsx)(aBe,{themeId:M?t:void 0,theme:Y,children:l}),ee&&(0,bo.jsx)(eM,{styles:Y.generateStyleSheets?.()||[]})]});return T?te:(0,bo.jsx)(c.Provider,{value:J,children:te})},useColorScheme:()=>V.useContext(c)||l,getInitColorSchemeScript:e=>function(e){const{defaultMode:t="system",defaultLightColorScheme:n="light",defaultDarkColorScheme:r="dark",modeStorageKey:i=lBe,colorSchemeStorageKey:o=cBe,attribute:a=uBe,colorSchemeNode:s="document.documentElement",nonce:l}=e||{};let c="",u=a;if("class"===a&&(u=".%s"),"data"===a&&(u="[data-%s]"),u.startsWith(".")){const e=u.substring(1);c+=`${s}.classList.remove('${e}'.replace('%s', light), '${e}'.replace('%s', dark));\n ${s}.classList.add('${e}'.replace('%s', colorScheme));`}const f=u.match(/\[([^[\]]+)\]/);if(f){const[e,t]=f[1].split("=");t||(c+=`${s}.removeAttribute('${e}'.replace('%s', light));\n ${s}.removeAttribute('${e}'.replace('%s', dark));`),c+=`\n ${s}.setAttribute('${e}'.replace('%s', colorScheme), ${t?`${t}.replace('%s', colorScheme)`:'""'});`}else".%s"!==u&&(c+=`${s}.setAttribute('${u}', colorScheme);`);return(0,bo.jsx)("script",{suppressHydrationWarning:!0,nonce:"undefined"==typeof window?l:"",dangerouslySetInnerHTML:{__html:`(function() {\ntry {\n let colorScheme = '';\n const mode = localStorage.getItem('${i}') || '${t}';\n const dark = localStorage.getItem('${o}-dark') || '${r}';\n const light = localStorage.getItem('${o}-light') || '${n}';\n if (mode === 'system') {\n // handle system mode\n const mql = window.matchMedia('(prefers-color-scheme: dark)');\n if (mql.matches) {\n colorScheme = dark\n } else {\n colorScheme = light\n }\n }\n if (mode === 'light') {\n colorScheme = light;\n }\n if (mode === 'dark') {\n colorScheme = dark;\n }\n if (colorScheme) {\n ${c}\n }\n} catch(e){}})();`}},"mui-color-scheme-init")}({colorSchemeStorageKey:i,defaultLightColorScheme:h,defaultDarkColorScheme:d,modeStorageKey:r,...e})}}({themeId:co,theme:()=>so({cssVariables:!0}),colorSchemeStorageKey:mBe,modeStorageKey:vBe,defaultColorScheme:{light:bBe,dark:wBe},resolveTheme:e=>{const t={...e,typography:Pi(e.palette,e.typography)};return t.unstable_sx=function(e){return lr({sx:e,theme:this})},t}}),kBe=yBe;function SBe({theme:e,...t}){const n=V.useMemo(()=>{if("function"==typeof e)return e;const t=co in e?e[co]:e;return"colorSchemes"in t?null:"vars"in t?e:{...e,vars:null}},[e]);return n?(0,bo.jsx)(sBe,{theme:n,...t}):(0,bo.jsx)(kBe,{theme:e,...t})}var EBe=a(2141),CBe={};CBe.styleTagTransform=fT(),CBe.setAttributes=sT(),CBe.insert=oT().bind(null,"head"),CBe.domAPI=rT(),CBe.insertStyleElement=cT(),tT()(EBe.A,CBe),EBe.A&&EBe.A.locals&&EBe.A.locals;const OBe="dotdata-widget",TBe=({children:e,themeMode:t,theme:n=HR,additionalClasses:r=[]})=>{const i=[OBe,...t?[`dotdata-theme-${t}`]:[],...r].map(e=>e.trim()).filter(e=>!!e).join(" "),o=V.useRef(null);return V.createElement("div",{className:i,ref:o},V.createElement(Oa,{elementRef:o},V.createElement(SBe,{theme:n},e)))};var _Be=a(1579),MBe={};MBe.styleTagTransform=fT(),MBe.setAttributes=sT(),MBe.insert=oT().bind(null,"head"),MBe.domAPI=rT(),MBe.insertStyleElement=cT(),tT()(_Be.A,MBe),_Be.A&&_Be.A.locals&&_Be.A.locals;const PBe=({additionalClasses:e,children:t})=>V.createElement(TBe,{additionalClasses:[...e,"ipywidget"]},V.createElement(pze,{FallbackComponent:({error:e,handleReset:t})=>V.createElement(gze,{error:e,handleReset:t})},t)),DBe=({children:e,model:t,api:n,additionalClasses:r})=>V.createElement(Ya,{model:t},V.createElement("svg",{style:{display:"none"}},V.createElement("defs",null)),n?V.createElement(xa,{api:n},V.createElement(PBe,{additionalClasses:r},e)):V.createElement(PBe,{additionalClasses:r},e));var RBe=a(2055),IBe=a(5873);function NBe(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n,r=0;r<e.length;r++)""!==(n=NBe(e[r]))&&(t+=(t&&" ")+n);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var $Be=a(7121);const LBe=e=>{let t;const n=new Set,r=(e,r)=>{const i="function"==typeof e?e(t):e;if(!Object.is(i,t)){const e=t;t=(null!=r?r:"object"!=typeof i||null===i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,o={setState:r,getState:i,getInitialState:()=>a,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},a=t=e(r,i,o);return o},{useDebugValue:jBe}=V,{useSyncExternalStoreWithSelector:FBe}=$Be,zBe=e=>e;function BBe(e,t=zBe,n){const r=FBe(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return jBe(r),r}const WBe=(e,t)=>{const n=(e=>e?LBe(e):LBe)(e),r=(e,r=t)=>BBe(n,e,r);return Object.assign(r,n),r};function qBe(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}function HBe(){}function UBe(e){return null==e?HBe:function(){return this.querySelector(e)}}function VBe(){return[]}function KBe(e){return null==e?VBe:function(){return this.querySelectorAll(e)}}function QBe(e){return function(){return this.matches(e)}}function GBe(e){return function(t){return t.matches(e)}}var XBe=Array.prototype.find;function YBe(){return this.firstElementChild}var ZBe=Array.prototype.filter;function JBe(){return Array.from(this.children)}function eWe(e){return new Array(e.length)}function tWe(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function nWe(e,t,n,r,i,o){for(var a,s=0,l=t.length,c=o.length;s<c;++s)(a=t[s])?(a.__data__=o[s],r[s]=a):n[s]=new tWe(e,o[s]);for(;s<l;++s)(a=t[s])&&(i[s]=a)}function rWe(e,t,n,r,i,o,a){var s,l,c,u=new Map,f=t.length,h=o.length,d=new Array(f);for(s=0;s<f;++s)(l=t[s])&&(d[s]=c=a.call(l,l.__data__,s,t)+"",u.has(c)?i[s]=l:u.set(c,l));for(s=0;s<h;++s)c=a.call(e,o[s],s,o)+"",(l=u.get(c))?(r[s]=l,l.__data__=o[s],u.delete(c)):n[s]=new tWe(e,o[s]);for(s=0;s<f;++s)(l=t[s])&&u.get(d[s])===l&&(i[s]=l)}function iWe(e){return e.__data__}function oWe(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function aWe(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}tWe.prototype={constructor:tWe,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var sWe="http://www.w3.org/1999/xhtml";const lWe={svg:"http://www.w3.org/2000/svg",xhtml:sWe,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function cWe(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),lWe.hasOwnProperty(t)?{space:lWe[t],local:e}:e}function uWe(e){return function(){this.removeAttribute(e)}}function fWe(e){return function(){this.removeAttributeNS(e.space,e.local)}}function hWe(e,t){return function(){this.setAttribute(e,t)}}function dWe(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function pWe(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function gWe(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function mWe(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function bWe(e){return function(){this.style.removeProperty(e)}}function wWe(e,t,n){return function(){this.style.setProperty(e,t,n)}}function vWe(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function yWe(e,t){return e.style.getPropertyValue(t)||mWe(e).getComputedStyle(e,null).getPropertyValue(t)}function xWe(e){return function(){delete this[e]}}function AWe(e,t){return function(){this[e]=t}}function kWe(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function SWe(e){return e.trim().split(/^|\s+/)}function EWe(e){return e.classList||new CWe(e)}function CWe(e){this._node=e,this._names=SWe(e.getAttribute("class")||"")}function OWe(e,t){for(var n=EWe(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function TWe(e,t){for(var n=EWe(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function _We(e){return function(){OWe(this,e)}}function MWe(e){return function(){TWe(this,e)}}function PWe(e,t){return function(){(t.apply(this,arguments)?OWe:TWe)(this,e)}}function DWe(){this.textContent=""}function RWe(e){return function(){this.textContent=e}}function IWe(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function NWe(){this.innerHTML=""}function $We(e){return function(){this.innerHTML=e}}function LWe(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function jWe(){this.nextSibling&&this.parentNode.appendChild(this)}function FWe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function zWe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===sWe&&t.documentElement.namespaceURI===sWe?t.createElement(e):t.createElementNS(n,e)}}function BWe(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function WWe(e){var t=cWe(e);return(t.local?BWe:zWe)(t)}function qWe(){return null}function HWe(){var e=this.parentNode;e&&e.removeChild(this)}function UWe(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function VWe(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function KWe(e){return function(){var t=this.__on;if(t){for(var n,r=0,i=-1,o=t.length;r<o;++r)n=t[r],e.type&&n.type!==e.type||n.name!==e.name?t[++i]=n:this.removeEventListener(n.type,n.listener,n.options);++i?t.length=i:delete this.__on}}}function QWe(e,t,n){return function(){var r,i=this.__on,o=function(e){return function(t){e.call(this,t,this.__data__)}}(t);if(i)for(var a=0,s=i.length;a<s;++a)if((r=i[a]).type===e.type&&r.name===e.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=n),void(r.value=t);this.addEventListener(e.type,o,n),r={type:e.type,name:e.name,value:t,listener:o,options:n},i?i.push(r):this.__on=[r]}}function GWe(e,t,n){var r=mWe(e),i=r.CustomEvent;"function"==typeof i?i=new i(t,n):(i=r.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function XWe(e,t){return function(){return GWe(this,e,t)}}function YWe(e,t){return function(){return GWe(this,e,t.apply(this,arguments))}}CWe.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var ZWe=[null];function JWe(e,t){this._groups=e,this._parents=t}function eqe(){return new JWe([[document.documentElement]],ZWe)}JWe.prototype=eqe.prototype={constructor:JWe,select:function(e){"function"!=typeof e&&(e=UBe(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a,s=t[i],l=s.length,c=r[i]=new Array(l),u=0;u<l;++u)(o=s[u])&&(a=e.call(o,o.__data__,u,s))&&("__data__"in o&&(a.__data__=o.__data__),c[u]=a);return new JWe(r,this._parents)},selectAll:function(e){e="function"==typeof e?function(e){return function(){return null==(t=e.apply(this,arguments))?[]:Array.isArray(t)?t:Array.from(t);var t}}(e):KBe(e);for(var t=this._groups,n=t.length,r=[],i=[],o=0;o<n;++o)for(var a,s=t[o],l=s.length,c=0;c<l;++c)(a=s[c])&&(r.push(e.call(a,a.__data__,c,s)),i.push(a));return new JWe(r,i)},selectChild:function(e){return this.select(null==e?YBe:function(e){return function(){return XBe.call(this.children,e)}}("function"==typeof e?e:GBe(e)))},selectChildren:function(e){return this.selectAll(null==e?JBe:function(e){return function(){return ZBe.call(this.children,e)}}("function"==typeof e?e:GBe(e)))},filter:function(e){"function"!=typeof e&&(e=QBe(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a=t[i],s=a.length,l=r[i]=[],c=0;c<s;++c)(o=a[c])&&e.call(o,o.__data__,c,a)&&l.push(o);return new JWe(r,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,iWe);var n,r=t?rWe:nWe,i=this._parents,o=this._groups;"function"!=typeof e&&(n=e,e=function(){return n});for(var a=o.length,s=new Array(a),l=new Array(a),c=new Array(a),u=0;u<a;++u){var f=i[u],h=o[u],d=h.length,p=oWe(e.call(f,f&&f.__data__,u,i)),g=p.length,m=l[u]=new Array(g),b=s[u]=new Array(g);r(f,h,m,b,c[u]=new Array(d),p,t);for(var w,v,y=0,x=0;y<g;++y)if(w=m[y]){for(y>=x&&(x=y+1);!(v=b[x])&&++x<g;);w._next=v||null}}return(s=new JWe(s,i))._enter=l,s._exit=c,s},enter:function(){return new JWe(this._enter||this._groups.map(eWe),this._parents)},exit:function(){return new JWe(this._exit||this._groups.map(eWe),this._parents)},join:function(e,t,n){var r=this.enter(),i=this,o=this.exit();return"function"==typeof e?(r=e(r))&&(r=r.selection()):r=r.append(e+""),null!=t&&(i=t(i))&&(i=i.selection()),null==n?o.remove():n(o),r&&i?r.merge(i).order():i},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,o=r.length,a=Math.min(i,o),s=new Array(i),l=0;l<a;++l)for(var c,u=n[l],f=r[l],h=u.length,d=s[l]=new Array(h),p=0;p<h;++p)(c=u[p]||f[p])&&(d[p]=c);for(;l<i;++l)s[l]=n[l];return new JWe(s,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r,i=e[t],o=i.length-1,a=i[o];--o>=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=aWe);for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a,s=n[o],l=s.length,c=i[o]=new Array(l),u=0;u<l;++u)(a=s[u])&&(c[u]=a);c.sort(t)}return new JWe(i,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null},size:function(){let e=0;for(const t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i,o=t[n],a=0,s=o.length;a<s;++a)(i=o[a])&&e.call(i,i.__data__,a,o);return this},attr:function(e,t){var n=cWe(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?fWe:uWe:"function"==typeof t?n.local?gWe:pWe:n.local?dWe:hWe)(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?bWe:"function"==typeof t?vWe:wWe)(e,t,null==n?"":n)):yWe(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?xWe:"function"==typeof t?kWe:AWe)(e,t)):this.node()[e]},classed:function(e,t){var n=SWe(e+"");if(arguments.length<2){for(var r=EWe(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof t?PWe:t?_We:MWe)(n,t))},text:function(e){return arguments.length?this.each(null==e?DWe:("function"==typeof e?IWe:RWe)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?NWe:("function"==typeof e?LWe:$We)(e)):this.node().innerHTML},raise:function(){return this.each(jWe)},lower:function(){return this.each(FWe)},append:function(e){var t="function"==typeof e?e:WWe(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var n="function"==typeof e?e:WWe(e),r=null==t?qWe:"function"==typeof t?t:UBe(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(HWe)},clone:function(e){return this.select(e?VWe:UWe)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var r,i,o=function(e){return e.trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}(e+""),a=o.length;if(!(arguments.length<2)){for(s=t?QWe:KWe,r=0;r<a;++r)this.each(s(o[r],t,n));return this}var s=this.node().__on;if(s)for(var l,c=0,u=s.length;c<u;++c)for(r=0,l=s[c];r<a;++r)if((i=o[r]).type===l.type&&i.name===l.name)return l.value},dispatch:function(e,t){return this.each(("function"==typeof t?YWe:XWe)(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r,i=e[t],o=0,a=i.length;o<a;++o)(r=i[o])&&(yield r)}};const tqe=eqe;function nqe(e){return"string"==typeof e?new JWe([[document.querySelector(e)]],[document.documentElement]):new JWe([[e]],ZWe)}const rqe={passive:!1},iqe={capture:!0,passive:!1};function oqe(e){e.stopImmediatePropagation()}function aqe(e){e.preventDefault(),e.stopImmediatePropagation()}function sqe(e){var t=e.document.documentElement,n=nqe(e).on("dragstart.drag",aqe,iqe);"onselectstart"in t?n.on("selectstart.drag",aqe,iqe):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function lqe(e,t){var n=e.document.documentElement,r=nqe(e).on("dragstart.drag",null);t&&(r.on("click.drag",aqe,iqe),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function cqe(e,t){if(e=function(e){let t;for(;t=e.sourceEvent;)e=t;return e}(e),void 0===t&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}function uqe(e,t,n){var r=new D7;return t=null==t?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var fqe=v7("start","end","cancel","interrupt"),hqe=[];function dqe(e,t,n,r,i,o){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};!function(e,t,n){var r,i=e.__transition;function o(l){var c,u,f,h;if(1!==n.state)return s();for(c in i)if((h=i[c]).name===n.name){if(3===h.state)return uqe(o);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete i[c]):+c<t&&(h.state=6,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete i[c])}if(uqe(function(){3===n.state&&(n.state=4,n.timer.restart(a,n.delay,n.time),a(l))}),n.state=2,n.on.call("start",e,e.__data__,n.index,n.group),2===n.state){for(n.state=3,r=new Array(f=n.tween.length),c=0,u=-1;c<f;++c)(h=n.tween[c].value.call(e,e.__data__,n.index,n.group))&&(r[++u]=h);r.length=u+1}}function a(t){for(var i=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(s),n.state=5,1),o=-1,a=r.length;++o<a;)r[o].call(e,i);5===n.state&&(n.on.call("end",e,e.__data__,n.index,n.group),s())}function s(){for(var r in n.state=6,n.timer.stop(),delete i[t],i)return;delete e.__transition}i[t]=n,n.timer=R7(function(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)},0,n.time)}(e,n,{name:t,index:r,group:i,on:fqe,tween:hqe,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function pqe(e,t){var n=mqe(e,t);if(n.state>0)throw new Error("too late; already scheduled");return n}function gqe(e,t){var n=mqe(e,t);if(n.state>3)throw new Error("too late; already running");return n}function mqe(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function bqe(e,t){var n,r,i,o=e.__transition,a=!0;if(o){for(i in t=null==t?null:t+"",o)(n=o[i]).name===t?(r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete o[i]):a=!1;a&&delete e.__transition}}function wqe(e,t){var n,r;return function(){var i=gqe(this,e),o=i.tween;if(o!==n)for(var a=0,s=(r=n=o).length;a<s;++a)if(r[a].name===t){(r=r.slice()).splice(a,1);break}i.tween=r}}function vqe(e,t,n){var r,i;if("function"!=typeof n)throw new Error;return function(){var o=gqe(this,e),a=o.tween;if(a!==r){i=(r=a).slice();for(var s={name:t,value:n},l=0,c=i.length;l<c;++l)if(i[l].name===t){i[l]=s;break}l===c&&i.push(s)}o.tween=i}}function yqe(e,t,n){var r=e._id;return e.each(function(){var e=gqe(this,r);(e.value||(e.value={}))[t]=n.apply(this,arguments)}),function(e){return mqe(e,r).value[t]}}function xqe(e,t){var n;return("number"==typeof t?fQ:t instanceof PK?nQ:(n=PK(t))?(t=n,nQ):gQ)(e,t)}function Aqe(e){return function(){this.removeAttribute(e)}}function kqe(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Sqe(e,t,n){var r,i,o=n+"";return function(){var a=this.getAttribute(e);return a===o?null:a===r?i:i=t(r=a,n)}}function Eqe(e,t,n){var r,i,o=n+"";return function(){var a=this.getAttributeNS(e.space,e.local);return a===o?null:a===r?i:i=t(r=a,n)}}function Cqe(e,t,n){var r,i,o;return function(){var a,s,l=n(this);if(null!=l)return(a=this.getAttribute(e))===(s=l+"")?null:a===r&&s===i?o:(i=s,o=t(r=a,l));this.removeAttribute(e)}}function Oqe(e,t,n){var r,i,o;return function(){var a,s,l=n(this);if(null!=l)return(a=this.getAttributeNS(e.space,e.local))===(s=l+"")?null:a===r&&s===i?o:(i=s,o=t(r=a,l));this.removeAttributeNS(e.space,e.local)}}function Tqe(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}(e,i)),n}return i._value=t,i}function _qe(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}(e,i)),n}return i._value=t,i}function Mqe(e,t){return function(){pqe(this,e).delay=+t.apply(this,arguments)}}function Pqe(e,t){return t=+t,function(){pqe(this,e).delay=t}}function Dqe(e,t){return function(){gqe(this,e).duration=+t.apply(this,arguments)}}function Rqe(e,t){return t=+t,function(){gqe(this,e).duration=t}}var Iqe=tqe.prototype.constructor;function Nqe(e){return function(){this.style.removeProperty(e)}}var $qe=0;function Lqe(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function jqe(){return++$qe}var Fqe=tqe.prototype;Lqe.prototype=function(e){return tqe().transition(e)}.prototype={constructor:Lqe,select:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=UBe(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var s,l,c=r[a],u=c.length,f=o[a]=new Array(u),h=0;h<u;++h)(s=c[h])&&(l=e.call(s,s.__data__,h,c))&&("__data__"in s&&(l.__data__=s.__data__),f[h]=l,dqe(f[h],t,n,h,f,mqe(s,n)));return new Lqe(o,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=KBe(e));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var l,c=r[s],u=c.length,f=0;f<u;++f)if(l=c[f]){for(var h,d=e.call(l,l.__data__,f,c),p=mqe(l,n),g=0,m=d.length;g<m;++g)(h=d[g])&&dqe(h,t,n,g,d,p);o.push(d),a.push(l)}return new Lqe(o,a,t,n)},selectChild:Fqe.selectChild,selectChildren:Fqe.selectChildren,filter:function(e){"function"!=typeof e&&(e=QBe(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a=t[i],s=a.length,l=r[i]=[],c=0;c<s;++c)(o=a[c])&&e.call(o,o.__data__,c,a)&&l.push(o);return new Lqe(r,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,i=n.length,o=Math.min(r,i),a=new Array(r),s=0;s<o;++s)for(var l,c=t[s],u=n[s],f=c.length,h=a[s]=new Array(f),d=0;d<f;++d)(l=c[d]||u[d])&&(h[d]=l);for(;s<r;++s)a[s]=t[s];return new Lqe(a,this._parents,this._name,this._id)},selection:function(){return new Iqe(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=jqe(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a,s=r[o],l=s.length,c=0;c<l;++c)if(a=s[c]){var u=mqe(a,t);dqe(a,e,n,c,s,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Lqe(r,this._parents,e,n)},call:Fqe.call,nodes:Fqe.nodes,node:Fqe.node,size:Fqe.size,empty:Fqe.empty,each:Fqe.each,on:function(e,t){var n=this._id;return arguments.length<2?mqe(this.node(),n).on.on(e):this.each(function(e,t,n){var r,i,o=function(e){return(e+"").trim().split(/^|\s+/).every(function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e})}(t)?pqe:gqe;return function(){var a=o(this,e),s=a.on;s!==r&&(i=(r=s).copy()).on(t,n),a.on=i}}(n,e,t))},attr:function(e,t){var n=cWe(e),r="transform"===n?SG:xqe;return this.attrTween(e,"function"==typeof t?(n.local?Oqe:Cqe)(n,r,yqe(this,"attr."+e,t)):null==t?(n.local?kqe:Aqe)(n):(n.local?Eqe:Sqe)(n,r,t))},attrTween:function(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw new Error;var r=cWe(e);return this.tween(n,(r.local?Tqe:_qe)(r,t))},style:function(e,t,n){var r="transform"==(e+="")?kG:xqe;return null==t?this.styleTween(e,function(e,t){var n,r,i;return function(){var o=yWe(this,e),a=(this.style.removeProperty(e),yWe(this,e));return o===a?null:o===n&&a===r?i:i=t(n=o,r=a)}}(e,r)).on("end.style."+e,Nqe(e)):"function"==typeof t?this.styleTween(e,function(e,t,n){var r,i,o;return function(){var a=yWe(this,e),s=n(this),l=s+"";return null==s&&(this.style.removeProperty(e),l=s=yWe(this,e)),a===l?null:a===r&&l===i?o:(i=l,o=t(r=a,s))}}(e,r,yqe(this,"style."+e,t))).each(function(e,t){var n,r,i,o,a="style."+t,s="end."+a;return function(){var l=gqe(this,e),c=l.on,u=null==l.value[a]?o||(o=Nqe(t)):void 0;c===n&&i===u||(r=(n=c).copy()).on(s,i=u),l.on=r}}(this._id,e)):this.styleTween(e,function(e,t,n){var r,i,o=n+"";return function(){var a=yWe(this,e);return a===o?null:a===r?i:i=t(r=a,n)}}(e,r,t),n).on("end.style."+e,null)},styleTween:function(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if("function"!=typeof t)throw new Error;return this.tween(r,function(e,t,n){var r,i;function o(){var o=t.apply(this,arguments);return o!==i&&(r=(i=o)&&function(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}(e,o,n)),r}return o._value=t,o}(e,t,null==n?"":n))},text:function(e){return this.tween("text","function"==typeof e?function(e){return function(){var t=e(this);this.textContent=null==t?"":t}}(yqe(this,"text",e)):function(e){return function(){this.textContent=e}}(null==e?"":e+""))},textTween:function(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw new Error;return this.tween(t,function(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&function(e){return function(t){this.textContent=e.call(this,t)}}(r)),t}return r._value=e,r}(e))},remove:function(){return this.on("end.remove",function(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}(this._id))},tween:function(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r,i=mqe(this.node(),n).tween,o=0,a=i.length;o<a;++o)if((r=i[o]).name===e)return r.value;return null}return this.each((null==t?wqe:vqe)(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?Mqe:Pqe)(t,e)):mqe(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?Dqe:Rqe)(t,e)):mqe(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(function(e,t){if("function"!=typeof t)throw new Error;return function(){gqe(this,e).ease=t}}(t,e)):mqe(this.node(),t).ease},easeVarying:function(e){if("function"!=typeof e)throw new Error;return this.each(function(e,t){return function(){var n=t.apply(this,arguments);if("function"!=typeof n)throw new Error;gqe(this,e).ease=n}}(this._id,e))},end:function(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(o,a){var s={value:a},l={value:function(){0===--i&&o()}};n.each(function(){var n=gqe(this,r),i=n.on;i!==e&&((t=(e=i).copy())._.cancel.push(s),t._.interrupt.push(s),t._.end.push(l)),n.on=t}),0===i&&o()})},[Symbol.iterator]:Fqe[Symbol.iterator]};var zqe={time:null,delay:0,duration:250,ease:function(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}};function Bqe(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}tqe.prototype.interrupt=function(e){return this.each(function(){bqe(this,e)})},tqe.prototype.transition=function(e){var t,n;e instanceof Lqe?(t=e._id,e=e._name):(t=jqe(),(n=zqe).time=M7(),e=null==e?null:e+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a,s=r[o],l=s.length,c=0;c<l;++c)(a=s[c])&&dqe(a,e,t,c,s,n||Bqe(a,t));return new Lqe(r,this._parents,e,t)};const Wqe=e=>()=>e;function qqe(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Hqe(e,t,n){this.k=e,this.x=t,this.y=n}Hqe.prototype={constructor:Hqe,scale:function(e){return 1===e?this:new Hqe(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new Hqe(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Uqe=new Hqe(1,0,0);function Vqe(e){e.stopImmediatePropagation()}function Kqe(e){e.preventDefault(),e.stopImmediatePropagation()}function Qqe(e){return!(e.ctrlKey&&"wheel"!==e.type||e.button)}function Gqe(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function Xqe(){return this.__zoom||Uqe}function Yqe(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Zqe(){return navigator.maxTouchPoints||"ontouchstart"in this}function Jqe(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}Hqe.prototype;const eHe=e=>()=>e;function tHe(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:a,y:s,dx:l,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}function nHe(e){return!e.ctrlKey&&!e.button}function rHe(){return this.parentNode}function iHe(e,t){return null==t?{x:e.x,y:e.y}:t}function oHe(){return navigator.maxTouchPoints||"ontouchstart"in this}tHe.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};const aHe=(0,V.createContext)(null),sHe=aHe.Provider,lHe="[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001";function cHe(e,t){const n=(0,V.useContext)(aHe);if(null===n)throw new Error(lHe);return BBe(n,e,t)}const uHe=()=>{const e=(0,V.useContext)(aHe);if(null===e)throw new Error(lHe);return(0,V.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},fHe=e=>e.userSelectionActive?"none":"all";function hHe({position:e,children:t,className:n,style:r,...i}){const o=cHe(fHe),a=`${e}`.split("-");return V.createElement("div",{className:NBe(["react-flow__panel",n,...a]),style:{...r,pointerEvents:o},...i},t)}function dHe({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:V.createElement(hHe,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},V.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}var pHe=(0,V.memo)(({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:a=[2,4],labelBgBorderRadius:s=2,children:l,className:c,...u})=>{const f=(0,V.useRef)(null),[h,d]=(0,V.useState)({x:0,y:0,width:0,height:0}),p=NBe(["react-flow__edge-textwrapper",c]);return(0,V.useEffect)(()=>{if(f.current){const e=f.current.getBBox();d({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),void 0!==n&&n?V.createElement("g",{transform:`translate(${e-h.width/2} ${t-h.height/2})`,className:p,visibility:h.width?"visible":"hidden",...u},i&&V.createElement("rect",{width:h.width+2*a[0],x:-a[0],y:-a[1],height:h.height+2*a[1],className:"react-flow__edge-textbg",style:o,rx:s,ry:s}),V.createElement("text",{className:"react-flow__edge-text",y:h.height/2,dy:"0.3em",ref:f,style:r},n),l):null});const gHe=e=>({width:e.offsetWidth,height:e.offsetHeight}),mHe=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),bHe=(e={x:0,y:0},t)=>({x:mHe(e.x,t[0][0],t[1][0]),y:mHe(e.y,t[0][1],t[1][1])}),wHe=(e,t,n)=>e<t?mHe(Math.abs(e-t),1,50)/50:e>n?-mHe(Math.abs(e-n),1,50)/50:0,vHe=(e,t)=>[20*wHe(e.x,35,t.width-35),20*wHe(e.y,35,t.height-35)],yHe=e=>e.getRootNode?.()||window?.document,xHe=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),AHe=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),kHe=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},SHe=e=>!isNaN(e)&&isFinite(e),EHe=Symbol.for("internals"),CHe=["Enter"," ","Escape"],OHe=(e,t)=>{};function THe(e){const t=(e=>"nativeEvent"in e)(e)?e.nativeEvent:e,n=t.composedPath?.()?.[0]||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n?.nodeName)||n?.hasAttribute("contenteditable")||!!n?.closest(".nokey")}const _He=e=>"clientX"in e,MHe=(e,t)=>{const n=_He(e),r=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:i-(t?.top??0)}},PHe=()=>"undefined"!=typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0,DHe=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:f,markerStart:h,interactionWidth:d=20})=>V.createElement(V.Fragment,null,V.createElement("path",{id:e,style:u,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:h}),d&&V.createElement("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:d,className:"react-flow__edge-interaction"}),i&&SHe(n)&&SHe(r)?V.createElement(pHe,{x:n,y:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c}):null);function RHe(e,t,n){return void 0===n?n:r=>{const i=t().edges.find(t=>t.id===e);i&&n(r,{...i})}}function IHe({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n<e?n+i:n-i,a=Math.abs(r-t)/2;return[o,r<t?r+a:r-a,i,a]}function NHe({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:o,targetControlX:a,targetControlY:s}){const l=.125*e+.375*i+.375*a+.125*n,c=.125*t+.375*o+.375*s+.125*r;return[l,c,Math.abs(l-e),Math.abs(c-t)]}var $He,LHe,jHe,FHe,zHe,BHe;function WHe({pos:e,x1:t,y1:n,x2:r,y2:i}){return e===BHe.Left||e===BHe.Right?[.5*(t+r),n]:[t,.5*(n+i)]}function qHe({sourceX:e,sourceY:t,sourcePosition:n=BHe.Bottom,targetX:r,targetY:i,targetPosition:o=BHe.Top}){const[a,s]=WHe({pos:n,x1:e,y1:t,x2:r,y2:i}),[l,c]=WHe({pos:o,x1:r,y1:i,x2:e,y2:t}),[u,f,h,d]=NHe({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:s,targetControlX:l,targetControlY:c});return[`M${e},${t} C${a},${s} ${l},${c} ${r},${i}`,u,f,h,d]}DHe.displayName="BaseEdge",function(e){e.Strict="strict",e.Loose="loose"}($He||($He={})),function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"}(LHe||(LHe={})),function(e){e.Partial="partial",e.Full="full"}(jHe||(jHe={})),function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"}(FHe||(FHe={})),function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"}(zHe||(zHe={})),function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"}(BHe||(BHe={}));const HHe=(0,V.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=BHe.Bottom,targetPosition:o=BHe.Top,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:d,markerStart:p,interactionWidth:g})=>{const[m,b,w]=qHe({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return V.createElement(DHe,{path:m,labelX:b,labelY:w,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:d,markerStart:p,interactionWidth:g})});HHe.displayName="SimpleBezierEdge";const UHe={[BHe.Left]:{x:-1,y:0},[BHe.Right]:{x:1,y:0},[BHe.Top]:{x:0,y:-1},[BHe.Bottom]:{x:0,y:1}},VHe=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function KHe({sourceX:e,sourceY:t,sourcePosition:n=BHe.Bottom,targetX:r,targetY:i,targetPosition:o=BHe.Top,borderRadius:a=5,centerX:s,centerY:l,offset:c=20}){const[u,f,h,d,p]=function({source:e,sourcePosition:t=BHe.Bottom,target:n,targetPosition:r=BHe.Top,center:i,offset:o}){const a=UHe[t],s=UHe[r],l={x:e.x+a.x*o,y:e.y+a.y*o},c={x:n.x+s.x*o,y:n.y+s.y*o},u=(({source:e,sourcePosition:t=BHe.Bottom,target:n})=>t===BHe.Left||t===BHe.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1})({source:l,sourcePosition:t,target:c}),f=0!==u.x?"x":"y",h=u[f];let d,p,g=[];const m={x:0,y:0},b={x:0,y:0},[w,v,y,x]=IHe({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(a[f]*s[f]===-1){d=i.x??w,p=i.y??v;const e=[{x:d,y:l.y},{x:d,y:c.y}],t=[{x:l.x,y:p},{x:c.x,y:p}];g=a[f]===h?"x"===f?e:t:"x"===f?t:e}else{const i=[{x:l.x,y:c.y}],u=[{x:c.x,y:l.y}];if(g="x"===f?a.x===h?u:i:a.y===h?i:u,t===r){const t=Math.abs(e[f]-n[f]);if(t<=o){const r=Math.min(o-1,o-t);a[f]===h?m[f]=(l[f]>e[f]?-1:1)*r:b[f]=(c[f]>n[f]?-1:1)*r}}if(t!==r){const e="x"===f?"y":"x",t=a[f]===s[e],n=l[e]>c[e],r=l[e]<c[e];(1===a[f]&&(!t&&n||t&&r)||1!==a[f]&&(!t&&r||t&&n))&&(g="x"===f?i:u)}const w={x:l.x+m.x,y:l.y+m.y},v={x:c.x+b.x,y:c.y+b.y};Math.max(Math.abs(w.x-g[0].x),Math.abs(v.x-g[0].x))>=Math.max(Math.abs(w.y-g[0].y),Math.abs(v.y-g[0].y))?(d=(w.x+v.x)/2,p=g[0].y):(d=g[0].x,p=(w.y+v.y)/2)}return[[e,{x:l.x+m.x,y:l.y+m.y},...g,{x:c.x+b.x,y:c.y+b.y},n],d,p,y,x]}({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:o,center:{x:s,y:l},offset:c}),g=u.reduce((e,t,n)=>{let r="";return r=n>0&&n<u.length-1?function(e,t,n,r){const i=Math.min(VHe(e,t)/2,VHe(t,n)/2,r),{x:o,y:a}=t;if(e.x===o&&o===n.x||e.y===a&&a===n.y)return`L${o} ${a}`;if(e.y===a)return`L ${o+i*(e.x<n.x?-1:1)},${a}Q ${o},${a} ${o},${a+i*(e.y<n.y?1:-1)}`;const s=e.x<n.x?1:-1;return`L ${o},${a+i*(e.y<n.y?-1:1)}Q ${o},${a} ${o+i*s},${a}`}(u[n-1],t,u[n+1],a):`${0===n?"M":"L"}${t.x} ${t.y}`,e+r},"");return[g,f,h,d,p]}const QHe=(0,V.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,sourcePosition:f=BHe.Bottom,targetPosition:h=BHe.Top,markerEnd:d,markerStart:p,pathOptions:g,interactionWidth:m})=>{const[b,w,v]=KHe({sourceX:e,sourceY:t,sourcePosition:f,targetX:n,targetY:r,targetPosition:h,borderRadius:g?.borderRadius,offset:g?.offset});return V.createElement(DHe,{path:b,labelX:w,labelY:v,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:d,markerStart:p,interactionWidth:m})});QHe.displayName="SmoothStepEdge";const GHe=(0,V.memo)(e=>V.createElement(QHe,{...e,pathOptions:(0,V.useMemo)(()=>({borderRadius:0,offset:e.pathOptions?.offset}),[e.pathOptions?.offset])}));GHe.displayName="StepEdge";const XHe=(0,V.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:f,markerStart:h,interactionWidth:d})=>{const[p,g,m]=function({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,a,s]=IHe({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,a,s]}({sourceX:e,sourceY:t,targetX:n,targetY:r});return V.createElement(DHe,{path:p,labelX:g,labelY:m,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:f,markerStart:h,interactionWidth:d})});function YHe(e,t){return e>=0?.5*e:25*t*Math.sqrt(-e)}function ZHe({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case BHe.Left:return[t-YHe(t-r,o),n];case BHe.Right:return[t+YHe(r-t,o),n];case BHe.Top:return[t,n-YHe(n-i,o)];case BHe.Bottom:return[t,n+YHe(i-n,o)]}}function JHe({sourceX:e,sourceY:t,sourcePosition:n=BHe.Bottom,targetX:r,targetY:i,targetPosition:o=BHe.Top,curvature:a=.25}){const[s,l]=ZHe({pos:n,x1:e,y1:t,x2:r,y2:i,c:a}),[c,u]=ZHe({pos:o,x1:r,y1:i,x2:e,y2:t,c:a}),[f,h,d,p]=NHe({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:l,targetControlX:c,targetControlY:u});return[`M${e},${t} C${s},${l} ${c},${u} ${r},${i}`,f,h,d,p]}XHe.displayName="StraightEdge";const eUe=(0,V.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=BHe.Bottom,targetPosition:o=BHe.Top,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:d,markerStart:p,pathOptions:g,interactionWidth:m})=>{const[b,w,v]=JHe({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:g?.curvature});return V.createElement(DHe,{path:b,labelX:w,labelY:v,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:d,markerStart:p,interactionWidth:m})});eUe.displayName="BezierEdge";const tUe=(0,V.createContext)(null),nUe=tUe.Provider;tUe.Consumer;const rUe=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,iUe=(e,t)=>void 0===e?"":"string"==typeof e?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join("&")}`,oUe=({x:e,y:t},[n,r,i],o,[a,s])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:a*Math.round(l.x/a),y:s*Math.round(l.y/s)}:l},aUe=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),sUe=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},lUe=(e,t=[0,0])=>{if(0===e.length)return{x:0,y:0,width:0,height:0};const n=e.reduce((e,n)=>{const{x:r,y:i}=sUe(n,t).positionAbsolute;return o=e,a=xHe({x:r,y:i,width:n.width||0,height:n.height||0}),{x:Math.min(o.x,a.x),y:Math.min(o.y,a.y),x2:Math.max(o.x2,a.x2),y2:Math.max(o.y2,a.y2)};var o,a},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return(({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}))(n)},cUe=(e,t,[n,r,i]=[0,0,1],o=!1,a=!1,s=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},c=[];return e.forEach(e=>{const{width:t,height:n,selectable:r=!0,hidden:i=!1}=e;if(a&&!r||i)return!1;const{positionAbsolute:u}=sUe(e,s),f={x:u.x,y:u.y,width:t||0,height:n||0},h=kHe(l,f);(void 0===t||void 0===n||null===t||null===n||o&&h>0||h>=(t||0)*(n||0)||e.dragging)&&c.push(e)}),c},uUe=(e,t)=>{const n=e.map(e=>e.id);return t.filter(e=>n.includes(e.source)||n.includes(e.target))},fUe=(e,t,n,r,i,o=.1)=>{const a=t/(e.width*(1+o)),s=n/(e.height*(1+o)),l=Math.min(a,s),c=mHe(l,r,i);return{x:t/2-(e.x+e.width/2)*c,y:n/2-(e.y+e.height/2)*c,zoom:c}},hUe=(e,t=0)=>e.transition().duration(t);function dUe(e,t,n,r){return(t[n]||[]).reduce((t,i)=>(`${e.id}-${i.id}-${n}`!==r&&t.push({id:i.id||null,type:n,nodeId:e.id,x:(e.positionAbsolute?.x??0)+i.x+i.width/2,y:(e.positionAbsolute?.y??0)+i.y+i.height/2}),t),[])}const pUe={source:null,target:null,sourceHandle:null,targetHandle:null},gUe=()=>({handleDomNode:null,isValid:!1,connection:pUe,endHandle:null});function mUe(e,t,n,r,i,o,a){const s="target"===i,l=a.querySelector(`.react-flow__handle[data-id="${e?.nodeId}-${e?.id}-${e?.type}"]`),c={...gUe(),handleDomNode:l};if(l){const e=bUe(void 0,l),i=l.getAttribute("data-nodeid"),a=l.getAttribute("data-handleid"),u=l.classList.contains("connectable"),f=l.classList.contains("connectableend"),h={source:s?i:n,sourceHandle:s?a:r,target:s?n:i,targetHandle:s?r:a};c.connection=h,u&&f&&(t===$He.Strict?s&&"source"===e||!s&&"target"===e:i!==n||a!==r)&&(c.endHandle={nodeId:i,handleId:a,type:e},c.isValid=o(h))}return c}function bUe(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function wUe(e){e?.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function vUe(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function yUe({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:a,isValidConnection:s,edgeUpdaterType:l,onReconnectEnd:c}){const u=yHe(e.target),{connectionMode:f,domNode:h,autoPanOnConnect:d,connectionRadius:p,onConnectStart:g,panBy:m,getNodes:b,cancelConnection:w}=o();let v,y=0;const{x,y:A}=MHe(e),k=u?.elementFromPoint(x,A),S=bUe(l,k),E=h?.getBoundingClientRect();if(!E||!S)return;let C,O=MHe(e,E),T=!1,_=null,M=!1,P=null;const D=function({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((e,i)=>{if(i[EHe]){const{handleBounds:o}=i[EHe];let a=[],s=[];o&&(a=dUe(i,o,"source",`${t}-${n}-${r}`),s=dUe(i,o,"target",`${t}-${n}-${r}`)),e.push(...a,...s)}return e},[])}({nodes:b(),nodeId:n,handleId:t,handleType:S}),R=()=>{if(!d)return;const[e,t]=vHe(O,E);m({x:e,y:t}),y=requestAnimationFrame(R)};function I(e){const{transform:r}=o();O=MHe(e,E);const{handle:l,validHandleResult:c}=function(e,t,n,r,i,o){const{x:a,y:s}=MHe(e),l=t.elementsFromPoint(a,s).find(e=>e.classList.contains("react-flow__handle"));if(l){const e=l.getAttribute("data-nodeid");if(e){const t=bUe(void 0,l),r=l.getAttribute("data-handleid"),a=o({nodeId:e,id:r,type:t});if(a){const o=i.find(n=>n.nodeId===e&&n.type===t&&n.id===r);return{handle:{id:r,type:t,nodeId:e,x:o?.x||n.x,y:o?.y||n.y},validHandleResult:a}}}}let c=[],u=1/0;if(i.forEach(e=>{const t=Math.sqrt((e.x-n.x)**2+(e.y-n.y)**2);if(t<=r){const n=o(e);t<=u&&(t<u?c=[{handle:e,validHandleResult:n}]:t===u&&c.push({handle:e,validHandleResult:n}),u=t)}}),!c.length)return{handle:null,validHandleResult:gUe()};if(1===c.length)return c[0];const f=c.some(({validHandleResult:e})=>e.isValid),h=c.some(({handle:e})=>"target"===e.type);return c.find(({handle:e,validHandleResult:t})=>h?"target"===e.type:!f||t.isValid)||c[0]}(e,u,oUe(O,r,!1,[1,1]),p,D,e=>mUe(e,f,n,t,i?"target":"source",s,u));if(v=l,T||(R(),T=!0),P=c.handleDomNode,_=c.connection,M=c.isValid,a({connectionPosition:v&&M?aUe({x:v.x,y:v.y},r):O,connectionStatus:vUe(!!v,M),connectionEndHandle:c.endHandle}),!v&&!M&&!P)return wUe(C);_.source!==_.target&&P&&(wUe(C),C=P,P.classList.add("connecting","react-flow__handle-connecting"),P.classList.toggle("valid",M),P.classList.toggle("react-flow__handle-valid",M))}function N(e){(v||P)&&_&&M&&r?.(_),o().onConnectEnd?.(e),l&&c?.(e),wUe(C),w(),cancelAnimationFrame(y),T=!1,M=!1,_=null,P=null,u.removeEventListener("mousemove",I),u.removeEventListener("mouseup",N),u.removeEventListener("touchmove",I),u.removeEventListener("touchend",N)}a({connectionPosition:O,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:S,connectionStartHandle:{nodeId:n,handleId:t,type:S},connectionEndHandle:null}),g?.(e,{nodeId:n,handleId:t,handleType:S}),u.addEventListener("mousemove",I),u.addEventListener("mouseup",N),u.addEventListener("touchmove",I),u.addEventListener("touchend",N)}const xUe=()=>!0,AUe=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),kUe=(0,V.forwardRef)(({type:e="source",position:t=BHe.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:a,onConnect:s,children:l,className:c,onMouseDown:u,onTouchStart:f,...h},d)=>{const p=a||null,g="target"===e,m=uHe(),b=(0,V.useContext)(tUe),{connectOnClick:w,noPanClassName:v}=cHe(AUe,qBe),{connecting:y,clickConnecting:x}=cHe(((e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:a}=r;return{connecting:i?.nodeId===e&&i?.handleId===t&&i?.type===n||o?.nodeId===e&&o?.handleId===t&&o?.type===n,clickConnecting:a?.nodeId===e&&a?.handleId===t&&a?.type===n}})(b,p,e),qBe);b||m.getState().onError?.("010","Handle: No node id found. Make sure to only use a Handle inside a custom Node.");const A=e=>{const{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:r}=m.getState(),i={...t,...e};if(r){const{edges:e,setEdges:t}=m.getState();t(((e,t)=>{if(!e.source||!e.target)return t;let n;var r;return n="id"in(r=e)&&"source"in r&&"target"in r?{...e}:{...e,id:rUe(e)},((e,t)=>t.some(t=>!(t.source!==e.source||t.target!==e.target||t.sourceHandle!==e.sourceHandle&&(t.sourceHandle||e.sourceHandle)||t.targetHandle!==e.targetHandle&&(t.targetHandle||e.targetHandle))))(n,t)?t:t.concat(n)})(i,e))}n?.(i),s?.(i)},k=e=>{if(!b)return;const t=_He(e);i&&(t&&0===e.button||!t)&&yUe({event:e,handleId:p,nodeId:b,onConnect:A,isTarget:g,getState:m.getState,setState:m.setState,isValidConnection:n||m.getState().isValidConnection||xUe}),t?u?.(e):f?.(e)};return V.createElement("div",{"data-handleid":p,"data-nodeid":b,"data-handlepos":t,"data-id":`${b}-${p}-${e}`,className:NBe(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",v,c,{source:!g,target:g,connectable:r,connectablestart:i,connectableend:o,connecting:x,connectionindicator:r&&(i&&!y||o&&y)}]),onMouseDown:k,onTouchStart:k,onClick:w?t=>{const{onClickConnectStart:r,onClickConnectEnd:o,connectionClickStartHandle:a,connectionMode:s,isValidConnection:l}=m.getState();if(!b||!a&&!i)return;if(!a)return r?.(t,{nodeId:b,handleId:p,handleType:e}),void m.setState({connectionClickStartHandle:{nodeId:b,type:e,handleId:p}});const c=yHe(t.target),u=n||l||xUe,{connection:f,isValid:h}=mUe({nodeId:b,id:p,type:e},s,a.nodeId,a.handleId||null,a.type,u,c);h&&A(f),o?.(t),m.setState({connectionClickStartHandle:null})}:void 0,ref:d,...h},l)});kUe.displayName="Handle";var SUe=(0,V.memo)(kUe);const EUe=({data:e,isConnectable:t,targetPosition:n=BHe.Top,sourcePosition:r=BHe.Bottom})=>V.createElement(V.Fragment,null,V.createElement(SUe,{type:"target",position:n,isConnectable:t}),e?.label,V.createElement(SUe,{type:"source",position:r,isConnectable:t}));EUe.displayName="DefaultNode";var CUe=(0,V.memo)(EUe);const OUe=({data:e,isConnectable:t,sourcePosition:n=BHe.Bottom})=>V.createElement(V.Fragment,null,e?.label,V.createElement(SUe,{type:"source",position:n,isConnectable:t}));OUe.displayName="InputNode";var TUe=(0,V.memo)(OUe);const _Ue=({data:e,isConnectable:t,targetPosition:n=BHe.Top})=>V.createElement(V.Fragment,null,V.createElement(SUe,{type:"target",position:n,isConnectable:t}),e?.label);_Ue.displayName="OutputNode";var MUe=(0,V.memo)(_Ue);const PUe=()=>null;PUe.displayName="GroupNode";const DUe=e=>({selectedNodes:e.getNodes().filter(e=>e.selected),selectedEdges:e.edges.filter(e=>e.selected).map(e=>({...e}))}),RUe=e=>e.id;function IUe(e,t){return qBe(e.selectedNodes.map(RUe),t.selectedNodes.map(RUe))&&qBe(e.selectedEdges.map(RUe),t.selectedEdges.map(RUe))}const NUe=(0,V.memo)(({onSelectionChange:e})=>{const t=uHe(),{selectedNodes:n,selectedEdges:r}=cHe(DUe,IUe);return(0,V.useEffect)(()=>{const i={nodes:n,edges:r};e?.(i),t.getState().onSelectionChange.forEach(e=>e(i))},[n,r,e]),null});NUe.displayName="SelectionListener";const $Ue=e=>!!e.onSelectionChange;function LUe({onSelectionChange:e}){const t=cHe($Ue);return e||t?V.createElement(NUe,{onSelectionChange:e}):null}const jUe=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function FUe(e,t){(0,V.useEffect)(()=>{void 0!==e&&t(e)},[e])}function zUe(e,t,n){(0,V.useEffect)(()=>{void 0!==t&&n({[e]:t})},[t])}const BUe=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:a,onClickConnectStart:s,onClickConnectEnd:l,nodesDraggable:c,nodesConnectable:u,nodesFocusable:f,edgesFocusable:h,edgesUpdatable:d,elevateNodesOnSelect:p,minZoom:g,maxZoom:m,nodeExtent:b,onNodesChange:w,onEdgesChange:v,elementsSelectable:y,connectionMode:x,snapGrid:A,snapToGrid:k,translateExtent:S,connectOnClick:E,defaultEdgeOptions:C,fitView:O,fitViewOptions:T,onNodesDelete:_,onEdgesDelete:M,onNodeDrag:P,onNodeDragStart:D,onNodeDragStop:R,onSelectionDrag:I,onSelectionDragStart:N,onSelectionDragStop:$,noPanClassName:L,nodeOrigin:j,rfId:F,autoPanOnConnect:z,autoPanOnNodeDrag:B,onError:W,connectionRadius:q,isValidConnection:H,nodeDragThreshold:U})=>{const{setNodes:K,setEdges:Q,setDefaultNodesAndEdges:G,setMinZoom:X,setMaxZoom:Y,setTranslateExtent:Z,setNodeExtent:J,reset:ee}=cHe(jUe,qBe),te=uHe();return(0,V.useEffect)(()=>{const e=r?.map(e=>({...e,...C}));return G(n,e),()=>{ee()}},[]),zUe("defaultEdgeOptions",C,te.setState),zUe("connectionMode",x,te.setState),zUe("onConnect",i,te.setState),zUe("onConnectStart",o,te.setState),zUe("onConnectEnd",a,te.setState),zUe("onClickConnectStart",s,te.setState),zUe("onClickConnectEnd",l,te.setState),zUe("nodesDraggable",c,te.setState),zUe("nodesConnectable",u,te.setState),zUe("nodesFocusable",f,te.setState),zUe("edgesFocusable",h,te.setState),zUe("edgesUpdatable",d,te.setState),zUe("elementsSelectable",y,te.setState),zUe("elevateNodesOnSelect",p,te.setState),zUe("snapToGrid",k,te.setState),zUe("snapGrid",A,te.setState),zUe("onNodesChange",w,te.setState),zUe("onEdgesChange",v,te.setState),zUe("connectOnClick",E,te.setState),zUe("fitViewOnInit",O,te.setState),zUe("fitViewOnInitOptions",T,te.setState),zUe("onNodesDelete",_,te.setState),zUe("onEdgesDelete",M,te.setState),zUe("onNodeDrag",P,te.setState),zUe("onNodeDragStart",D,te.setState),zUe("onNodeDragStop",R,te.setState),zUe("onSelectionDrag",I,te.setState),zUe("onSelectionDragStart",N,te.setState),zUe("onSelectionDragStop",$,te.setState),zUe("noPanClassName",L,te.setState),zUe("nodeOrigin",j,te.setState),zUe("rfId",F,te.setState),zUe("autoPanOnConnect",z,te.setState),zUe("autoPanOnNodeDrag",B,te.setState),zUe("onError",W,te.setState),zUe("connectionRadius",q,te.setState),zUe("isValidConnection",H,te.setState),zUe("nodeDragThreshold",U,te.setState),FUe(e,K),FUe(t,Q),FUe(g,X),FUe(m,Y),FUe(S,Z),FUe(b,J),null},WUe={display:"none"},qUe={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},HUe="react-flow__node-desc",UUe="react-flow__edge-desc",VUe=e=>e.ariaLiveMessage;function KUe({rfId:e}){const t=cHe(VUe);return V.createElement("div",{id:`react-flow__aria-live-${e}`,"aria-live":"assertive","aria-atomic":"true",style:qUe},t)}function QUe({rfId:e,disableKeyboardA11y:t}){return V.createElement(V.Fragment,null,V.createElement("div",{id:`${HUe}-${e}`,style:WUe},"Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),V.createElement("div",{id:`${UUe}-${e}`,style:WUe},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!t&&V.createElement(KUe,{rfId:e}))}var GUe=(e=null,t={actInsideInputWithModifier:!0})=>{const[n,r]=(0,V.useState)(!1),i=(0,V.useRef)(!1),o=(0,V.useRef)(new Set([])),[a,s]=(0,V.useMemo)(()=>{if(null!==e){const t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.split("+")),n=t.reduce((e,t)=>e.concat(...t),[]);return[t,n]}return[[],[]]},[e]);return(0,V.useEffect)(()=>{const n="undefined"!=typeof document?document:null,l=t?.target||n;if(null!==e){const e=e=>{if(i.current=e.ctrlKey||e.metaKey||e.shiftKey,(!i.current||i.current&&!t.actInsideInputWithModifier)&&THe(e))return!1;const n=YUe(e.code,s);o.current.add(e[n]),XUe(a,o.current,!1)&&(e.preventDefault(),r(!0))},n=e=>{if((!i.current||i.current&&!t.actInsideInputWithModifier)&&THe(e))return!1;const n=YUe(e.code,s);XUe(a,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(e[n]),"Meta"===e.key&&o.current.clear(),i.current=!1},c=()=>{o.current.clear(),r(!1)};return l?.addEventListener("keydown",e),l?.addEventListener("keyup",n),window.addEventListener("blur",c),()=>{l?.removeEventListener("keydown",e),l?.removeEventListener("keyup",n),window.removeEventListener("blur",c)}}},[e,r]),n};function XUe(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function YUe(e,t){return t.includes(e)?"code":"key"}function ZUe(e,t,n,r){const i=e.parentNode||e.parentId;if(!i)return n;const o=t.get(i),a=sUe(o,r);return ZUe(o,t,{x:(n.x??0)+a.x,y:(n.y??0)+a.y,z:(o[EHe]?.z??0)>(n.z??0)?o[EHe]?.z??0:n.z??0},r)}function JUe(e,t,n){e.forEach(r=>{const i=r.parentNode||r.parentId;if(i&&!e.has(i))throw new Error(`Parent node ${i} not found`);if(i||n?.[r.id]){const{x:i,y:o,z:a}=ZUe(r,e,{...r.position,z:r[EHe]?.z??0},t);r.positionAbsolute={x:i,y:o},r[EHe].z=a,n?.[r.id]&&(r[EHe].isParent=!0)}})}function eVe(e,t,n,r){const i=new Map,o={},a=r?1e3:0;return e.forEach(e=>{const n=(SHe(e.zIndex)?e.zIndex:0)+(e.selected?a:0),r=t.get(e.id),s={...e,positionAbsolute:{x:e.position.x,y:e.position.y}},l=e.parentNode||e.parentId;l&&(o[l]=!0);const c=r?.type&&r?.type!==e.type;Object.defineProperty(s,EHe,{enumerable:!1,value:{handleBounds:c?void 0:r?.[EHe]?.handleBounds,z:n}}),i.set(e.id,s)}),JUe(i,n,o),i}function tVe(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:a,d3Zoom:s,d3Selection:l,fitViewOnInitDone:c,fitViewOnInit:u,nodeOrigin:f}=e(),h=t.initial&&!c&&u;if(s&&l&&(h||!t.initial)){const e=n().filter(e=>{const n=t.includeHiddenNodes?e.width&&e.height:!e.hidden;return t.nodes?.length?n&&t.nodes.some(t=>t.id===e.id):n}),c=e.every(e=>e.width&&e.height);if(e.length>0&&c){const n=lUe(e,f),{x:c,y:u,zoom:h}=fUe(n,r,i,t.minZoom??o,t.maxZoom??a,t.padding??.1),d=Uqe.translate(c,u).scale(h);return"number"==typeof t.duration&&t.duration>0?s.transform(hUe(l,t.duration),d):s.transform(l,d),!0}}return!1}function nVe(e,t){return e.forEach(e=>{const n=t.get(e.id);n&&t.set(n.id,{...n,[EHe]:n[EHe],selected:e.selected})}),new Map(t)}function rVe(e,t){return t.map(t=>{const n=e.find(e=>e.id===t.id);return n&&(t.selected=n.selected),t})}function iVe({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:a,onEdgesChange:s,hasDefaultNodes:l,hasDefaultEdges:c}=n();e?.length&&(l&&r({nodeInternals:nVe(e,i)}),a?.(e)),t?.length&&(c&&r({edges:rVe(t,o)}),s?.(t))}const oVe=()=>{},aVe={zoomIn:oVe,zoomOut:oVe,zoomTo:oVe,getZoom:()=>1,setViewport:oVe,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:oVe,fitBounds:oVe,project:e=>e,screenToFlowPosition:e=>e,flowToScreenPosition:e=>e,viewportInitialized:!1},sVe=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection});function lVe(){const e=(()=>{const e=uHe(),{d3Zoom:t,d3Selection:n}=cHe(sVe,qBe),r=(0,V.useMemo)(()=>n&&t?{zoomIn:e=>t.scaleBy(hUe(n,e?.duration),1.2),zoomOut:e=>t.scaleBy(hUe(n,e?.duration),1/1.2),zoomTo:(e,r)=>t.scaleTo(hUe(n,r?.duration),e),getZoom:()=>e.getState().transform[2],setViewport:(r,i)=>{const[o,a,s]=e.getState().transform,l=Uqe.translate(r.x??o,r.y??a).scale(r.zoom??s);t.transform(hUe(n,i?.duration),l)},getViewport:()=>{const[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},fitView:t=>tVe(e.getState,t),setCenter:(r,i,o)=>{const{width:a,height:s,maxZoom:l}=e.getState(),c=void 0!==o?.zoom?o.zoom:l,u=a/2-r*c,f=s/2-i*c,h=Uqe.translate(u,f).scale(c);t.transform(hUe(n,o?.duration),h)},fitBounds:(r,i)=>{const{width:o,height:a,minZoom:s,maxZoom:l}=e.getState(),{x:c,y:u,zoom:f}=fUe(r,o,a,s,l,i?.padding??.1),h=Uqe.translate(c,u).scale(f);t.transform(hUe(n,i?.duration),h)},project:t=>{const{transform:n,snapToGrid:r,snapGrid:i}=e.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),oUe(t,n,r,i)},screenToFlowPosition:t=>{const{transform:n,snapToGrid:r,snapGrid:i,domNode:o}=e.getState();if(!o)return t;const{x:a,y:s}=o.getBoundingClientRect(),l={x:t.x-a,y:t.y-s};return oUe(l,n,r,i)},flowToScreenPosition:t=>{const{transform:n,domNode:r}=e.getState();if(!r)return t;const{x:i,y:o}=r.getBoundingClientRect(),a=aUe(t,n);return{x:a.x+i,y:a.y+o}},viewportInitialized:!0}:aVe,[t,n]);return r})(),t=uHe(),n=(0,V.useCallback)(()=>t.getState().getNodes().map(e=>({...e})),[]),r=(0,V.useCallback)(e=>t.getState().nodeInternals.get(e),[]),i=(0,V.useCallback)(()=>{const{edges:e=[]}=t.getState();return e.map(e=>({...e}))},[]),o=(0,V.useCallback)(e=>{const{edges:n=[]}=t.getState();return n.find(t=>t.id===e)},[]),a=(0,V.useCallback)(e=>{const{getNodes:n,setNodes:r,hasDefaultNodes:i,onNodesChange:o}=t.getState(),a=n(),s="function"==typeof e?e(a):e;if(i)r(s);else if(o){const e=0===s.length?a.map(e=>({type:"remove",id:e.id})):s.map(e=>({item:e,type:"reset"}));o(e)}},[]),s=(0,V.useCallback)(e=>{const{edges:n=[],setEdges:r,hasDefaultEdges:i,onEdgesChange:o}=t.getState(),a="function"==typeof e?e(n):e;i?r(a):o&&o(0===a.length?n.map(e=>({type:"remove",id:e.id})):a.map(e=>({item:e,type:"reset"})))},[]),l=(0,V.useCallback)(e=>{const n=Array.isArray(e)?e:[e],{getNodes:r,setNodes:i,hasDefaultNodes:o,onNodesChange:a}=t.getState();if(o)i([...r(),...n]);else if(a){const e=n.map(e=>({item:e,type:"add"}));a(e)}},[]),c=(0,V.useCallback)(e=>{const n=Array.isArray(e)?e:[e],{edges:r=[],setEdges:i,hasDefaultEdges:o,onEdgesChange:a}=t.getState();o?i([...r,...n]):a&&a(n.map(e=>({item:e,type:"add"})))},[]),u=(0,V.useCallback)(()=>{const{getNodes:e,edges:n=[],transform:r}=t.getState(),[i,o,a]=r;return{nodes:e().map(e=>({...e})),edges:n.map(e=>({...e})),viewport:{x:i,y:o,zoom:a}}},[]),f=(0,V.useCallback)(({nodes:e,edges:n})=>{const{nodeInternals:r,getNodes:i,edges:o,hasDefaultNodes:a,hasDefaultEdges:s,onNodesDelete:l,onEdgesDelete:c,onNodesChange:u,onEdgesChange:f}=t.getState(),h=(e||[]).map(e=>e.id),d=(n||[]).map(e=>e.id),p=i().reduce((e,t)=>{const n=t.parentNode||t.parentId,r=!h.includes(t.id)&&n&&e.find(e=>e.id===n);return("boolean"!=typeof t.deletable||t.deletable)&&(h.includes(t.id)||r)&&e.push(t),e},[]),g=o.filter(e=>"boolean"!=typeof e.deletable||e.deletable),m=g.filter(e=>d.includes(e.id));if(p||m){const e=uUe(p,g),n=[...m,...e],i=n.reduce((e,t)=>(e.includes(t.id)||e.push(t.id),e),[]);if((s||a)&&(s&&t.setState({edges:o.filter(e=>!i.includes(e.id))}),a&&(p.forEach(e=>{r.delete(e.id)}),t.setState({nodeInternals:new Map(r)}))),i.length>0&&(c?.(n),f&&f(i.map(e=>({id:e,type:"remove"})))),p.length>0&&(l?.(p),u)){const e=p.map(e=>({id:e.id,type:"remove"}));u(e)}}},[]),h=(0,V.useCallback)(e=>{const n=SHe((r=e).width)&&SHe(r.height)&&SHe(r.x)&&SHe(r.y);var r;const i=n?null:t.getState().nodeInternals.get(e.id);return n||i?[n?e:AHe(i),i,n]:[null,null,n]},[]),d=(0,V.useCallback)((e,n=!0,r)=>{const[i,o,a]=h(e);return i?(r||t.getState().getNodes()).filter(e=>{if(!(a||e.id!==o.id&&e.positionAbsolute))return!1;const t=AHe(e),r=kHe(t,i);return n&&r>0||r>=i.width*i.height}):[]},[]),p=(0,V.useCallback)((e,t,n=!0)=>{const[r]=h(e);if(!r)return!1;const i=kHe(r,t);return n&&i>0||i>=r.width*r.height},[]);return(0,V.useMemo)(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:a,setEdges:s,addNodes:l,addEdges:c,toObject:u,deleteElements:f,getIntersectingNodes:d,isNodeIntersecting:p}),[e,n,r,i,o,a,s,l,c,u,f,d,p])}const cVe={actInsideInputWithModifier:!1},uVe={position:"absolute",width:"100%",height:"100%",top:0,left:0},fVe=e=>({x:e.x,y:e.y,zoom:e.k}),hVe=(e,t)=>e.target.closest(`.${t}`),dVe=(e,t)=>2===t&&Array.isArray(e)&&e.includes(2),pVe=e=>{const t=e.ctrlKey&&PHe()?10:1;return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*t},gVe=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),mVe=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:a=!1,panOnScrollSpeed:s=.5,panOnScrollMode:l=LHe.Free,zoomOnDoubleClick:c=!0,elementsSelectable:u,panOnDrag:f=!0,defaultViewport:h,translateExtent:d,minZoom:p,maxZoom:g,zoomActivationKeyCode:m,preventScrolling:b=!0,children:w,noWheelClassName:v,noPanClassName:y})=>{const x=(0,V.useRef)(),A=uHe(),k=(0,V.useRef)(!1),S=(0,V.useRef)(!1),E=(0,V.useRef)(null),C=(0,V.useRef)({x:0,y:0,zoom:0}),{d3Zoom:O,d3Selection:T,d3ZoomHandler:_,userSelectionActive:M}=cHe(gVe,qBe),P=GUe(m),D=(0,V.useRef)(0),R=(0,V.useRef)(!1),I=(0,V.useRef)();return function(e){const t=uHe();(0,V.useEffect)(()=>{let n;const r=()=>{if(!e.current)return;const n=gHe(e.current);0!==n.height&&0!==n.width||t.getState().onError?.("004","The React Flow parent container needs a width and a height to render the graph."),t.setState({width:n.width||500,height:n.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}(E),(0,V.useEffect)(()=>{if(E.current){const e=E.current.getBoundingClientRect(),t=function(){var e,t,n,r=Qqe,i=Gqe,o=Jqe,a=Yqe,s=Zqe,l=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,f=CG,h=v7("start","zoom","end"),d=0,p=10;function g(e){e.property("__zoom",Xqe).on("wheel.zoom",A,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",S).filter(s).on("touchstart.zoom",E).on("touchmove.zoom",C).on("touchend.zoom touchcancel.zoom",O).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(e,t){return(t=Math.max(l[0],Math.min(l[1],t)))===e.k?e:new Hqe(t,e.x,e.y)}function b(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new Hqe(e.k,r,i)}function w(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function v(e,t,n,r){e.on("start.zoom",function(){y(this,arguments).event(r).start()}).on("interrupt.zoom end.zoom",function(){y(this,arguments).event(r).end()}).tween("zoom",function(){var e=this,o=arguments,a=y(e,o).event(r),s=i.apply(e,o),l=null==n?w(s):"function"==typeof n?n.apply(e,o):n,c=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),u=e.__zoom,h="function"==typeof t?t.apply(e,o):t,d=f(u.invert(l).concat(c/u.k),h.invert(l).concat(c/h.k));return function(e){if(1===e)e=h;else{var t=d(e),n=c/t[2];e=new Hqe(n,l[0]-t[0]*n,l[1]-t[1]*n)}a.zoom(null,e)}})}function y(e,t,n){return!n&&e.__zooming||new x(e,t)}function x(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=i.apply(e,t),this.taps=0}function A(e,...t){if(r.apply(this,arguments)){var n=y(this,t).event(e),i=this.__zoom,s=Math.max(l[0],Math.min(l[1],i.k*Math.pow(2,a.apply(this,arguments)))),u=cqe(e);if(n.wheel)n.mouse[0][0]===u[0]&&n.mouse[0][1]===u[1]||(n.mouse[1]=i.invert(n.mouse[0]=u)),clearTimeout(n.wheel);else{if(i.k===s)return;n.mouse=[u,i.invert(u)],bqe(this),n.start()}Kqe(e),n.wheel=setTimeout(function(){n.wheel=null,n.end()},150),n.zoom("mouse",o(b(m(i,s),n.mouse[0],n.mouse[1]),n.extent,c))}}function k(e,...t){if(!n&&r.apply(this,arguments)){var i=e.currentTarget,a=y(this,t,!0).event(e),s=nqe(e.view).on("mousemove.zoom",function(e){if(Kqe(e),!a.moved){var t=e.clientX-u,n=e.clientY-f;a.moved=t*t+n*n>d}a.event(e).zoom("mouse",o(b(a.that.__zoom,a.mouse[0]=cqe(e,i),a.mouse[1]),a.extent,c))},!0).on("mouseup.zoom",function(e){s.on("mousemove.zoom mouseup.zoom",null),lqe(e.view,a.moved),Kqe(e),a.event(e).end()},!0),l=cqe(e,i),u=e.clientX,f=e.clientY;sqe(e.view),Vqe(e),a.mouse=[l,this.__zoom.invert(l)],bqe(this),a.start()}}function S(e,...t){if(r.apply(this,arguments)){var n=this.__zoom,a=cqe(e.changedTouches?e.changedTouches[0]:e,this),s=n.invert(a),l=n.k*(e.shiftKey?.5:2),f=o(b(m(n,l),a,s),i.apply(this,t),c);Kqe(e),u>0?nqe(this).transition().duration(u).call(v,f,a,e):nqe(this).call(g.transform,f,a,e)}}function E(n,...i){if(r.apply(this,arguments)){var o,a,s,l,c=n.touches,u=c.length,f=y(this,i,n.changedTouches.length===u).event(n);for(Vqe(n),a=0;a<u;++a)l=[l=cqe(s=c[a],this),this.__zoom.invert(l),s.identifier],f.touch0?f.touch1||f.touch0[2]===l[2]||(f.touch1=l,f.taps=0):(f.touch0=l,o=!0,f.taps=1+!!e);e&&(e=clearTimeout(e)),o&&(f.taps<2&&(t=l[0],e=setTimeout(function(){e=null},500)),bqe(this),f.start())}}function C(e,...t){if(this.__zooming){var n,r,i,a,s=y(this,t).event(e),l=e.changedTouches,u=l.length;for(Kqe(e),n=0;n<u;++n)i=cqe(r=l[n],this),s.touch0&&s.touch0[2]===r.identifier?s.touch0[0]=i:s.touch1&&s.touch1[2]===r.identifier&&(s.touch1[0]=i);if(r=s.that.__zoom,s.touch1){var f=s.touch0[0],h=s.touch0[1],d=s.touch1[0],p=s.touch1[1],g=(g=d[0]-f[0])*g+(g=d[1]-f[1])*g,w=(w=p[0]-h[0])*w+(w=p[1]-h[1])*w;r=m(r,Math.sqrt(g/w)),i=[(f[0]+d[0])/2,(f[1]+d[1])/2],a=[(h[0]+p[0])/2,(h[1]+p[1])/2]}else{if(!s.touch0)return;i=s.touch0[0],a=s.touch0[1]}s.zoom("touch",o(b(r,i,a),s.extent,c))}}function O(e,...r){if(this.__zooming){var i,o,a=y(this,r).event(e),s=e.changedTouches,l=s.length;for(Vqe(e),n&&clearTimeout(n),n=setTimeout(function(){n=null},500),i=0;i<l;++i)o=s[i],a.touch0&&a.touch0[2]===o.identifier?delete a.touch0:a.touch1&&a.touch1[2]===o.identifier&&delete a.touch1;if(a.touch1&&!a.touch0&&(a.touch0=a.touch1,delete a.touch1),a.touch0)a.touch0[1]=this.__zoom.invert(a.touch0[0]);else if(a.end(),2===a.taps&&(o=cqe(o,this),Math.hypot(t[0]-o[0],t[1]-o[1])<p)){var c=nqe(this).on("dblclick.zoom");c&&c.apply(this,arguments)}}}return g.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property("__zoom",Xqe),e!==i?v(e,t,n,r):i.interrupt().each(function(){y(this,arguments).event(r).start().zoom(null,"function"==typeof t?t.apply(this,arguments):t).end()})},g.scaleBy=function(e,t,n,r){g.scaleTo(e,function(){return this.__zoom.k*("function"==typeof t?t.apply(this,arguments):t)},n,r)},g.scaleTo=function(e,t,n,r){g.transform(e,function(){var e=i.apply(this,arguments),r=this.__zoom,a=null==n?w(e):"function"==typeof n?n.apply(this,arguments):n,s=r.invert(a),l="function"==typeof t?t.apply(this,arguments):t;return o(b(m(r,l),a,s),e,c)},n,r)},g.translateBy=function(e,t,n,r){g.transform(e,function(){return o(this.__zoom.translate("function"==typeof t?t.apply(this,arguments):t,"function"==typeof n?n.apply(this,arguments):n),i.apply(this,arguments),c)},null,r)},g.translateTo=function(e,t,n,r,a){g.transform(e,function(){var e=i.apply(this,arguments),a=this.__zoom,s=null==r?w(e):"function"==typeof r?r.apply(this,arguments):r;return o(Uqe.translate(s[0],s[1]).scale(a.k).translate("function"==typeof t?-t.apply(this,arguments):-t,"function"==typeof n?-n.apply(this,arguments):-n),e,c)},r,a)},x.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return 1===++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(e,t){return this.mouse&&"mouse"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&"touch"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&"touch"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit("zoom"),this},end:function(){return 0===--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(e){var t=nqe(this.that).datum();h.call(e,this.that,new qqe(e,{sourceEvent:this.sourceEvent,target:g,type:e,transform:this.that.__zoom,dispatch:h}),t)}},g.wheelDelta=function(e){return arguments.length?(a="function"==typeof e?e:Wqe(+e),g):a},g.filter=function(e){return arguments.length?(r="function"==typeof e?e:Wqe(!!e),g):r},g.touchable=function(e){return arguments.length?(s="function"==typeof e?e:Wqe(!!e),g):s},g.extent=function(e){return arguments.length?(i="function"==typeof e?e:Wqe([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),g):i},g.scaleExtent=function(e){return arguments.length?(l[0]=+e[0],l[1]=+e[1],g):[l[0],l[1]]},g.translateExtent=function(e){return arguments.length?(c[0][0]=+e[0][0],c[1][0]=+e[1][0],c[0][1]=+e[0][1],c[1][1]=+e[1][1],g):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},g.constrain=function(e){return arguments.length?(o=e,g):o},g.duration=function(e){return arguments.length?(u=+e,g):u},g.interpolate=function(e){return arguments.length?(f=e,g):f},g.on=function(){var e=h.on.apply(h,arguments);return e===h?g:e},g.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,g):Math.sqrt(d)},g.tapDistance=function(e){return arguments.length?(p=+e,g):p},g}().scaleExtent([p,g]).translateExtent(d),n=nqe(E.current).call(t),r=Uqe.translate(h.x,h.y).scale(mHe(h.zoom,p,g)),i=[[0,0],[e.width,e.height]],o=t.constrain()(r,i,d);t.transform(n,o),t.wheelDelta(pVe),A.setState({d3Zoom:t,d3Selection:n,d3ZoomHandler:n.on("wheel.zoom"),transform:[o.x,o.y,o.k],domNode:E.current.closest(".react-flow")})}},[]),(0,V.useEffect)(()=>{T&&O&&(!a||P||M?void 0!==_&&T.on("wheel.zoom",function(e,t){if(!b&&"wheel"===e.type&&!e.ctrlKey||hVe(e,v))return null;e.preventDefault(),_.call(this,e,t)},{passive:!1}):T.on("wheel.zoom",r=>{if(hVe(r,v))return!1;r.preventDefault(),r.stopImmediatePropagation();const i=T.property("__zoom").k||1;if(r.ctrlKey&&o){const e=cqe(r),t=pVe(r),n=i*Math.pow(2,t);return void O.scaleTo(T,n,e,r)}const a=1===r.deltaMode?20:1;let c=l===LHe.Vertical?0:r.deltaX*a,u=l===LHe.Horizontal?0:r.deltaY*a;!PHe()&&r.shiftKey&&l!==LHe.Vertical&&(c=r.deltaY*a,u=0),O.translateBy(T,-c/i*s,-u/i*s,{internal:!0});const f=fVe(T.property("__zoom")),{onViewportChangeStart:h,onViewportChange:d,onViewportChangeEnd:p}=A.getState();clearTimeout(I.current),R.current||(R.current=!0,t?.(r,f),h?.(f)),R.current&&(e?.(r,f),d?.(f),I.current=setTimeout(()=>{n?.(r,f),p?.(f),R.current=!1},150))},{passive:!1}))},[M,a,l,T,O,_,P,o,b,v,t,e,n]),(0,V.useEffect)(()=>{O&&O.on("start",e=>{if(!e.sourceEvent||e.sourceEvent.internal)return null;D.current=e.sourceEvent?.button;const{onViewportChangeStart:n}=A.getState(),r=fVe(e.transform);k.current=!0,C.current=r,"mousedown"===e.sourceEvent?.type&&A.setState({paneDragging:!0}),n?.(r),t?.(e.sourceEvent,r)})},[O,t]),(0,V.useEffect)(()=>{O&&(M&&!k.current?O.on("zoom",null):M||O.on("zoom",t=>{const{onViewportChange:n}=A.getState();if(A.setState({transform:[t.transform.x,t.transform.y,t.transform.k]}),S.current=!(!r||!dVe(f,D.current??0)),(e||n)&&!t.sourceEvent?.internal){const r=fVe(t.transform);n?.(r),e?.(t.sourceEvent,r)}}))},[M,O,e,f,r]),(0,V.useEffect)(()=>{O&&O.on("end",e=>{if(!e.sourceEvent||e.sourceEvent.internal)return null;const{onViewportChangeEnd:t}=A.getState();if(k.current=!1,A.setState({paneDragging:!1}),r&&dVe(f,D.current??0)&&!S.current&&r(e.sourceEvent),S.current=!1,(n||t)&&(i=C.current,o=e.transform,i.x!==o.x||i.y!==o.y||i.zoom!==o.k)){const r=fVe(e.transform);C.current=r,clearTimeout(x.current),x.current=setTimeout(()=>{t?.(r),n?.(e.sourceEvent,r)},a?150:0)}var i,o})},[O,a,f,n,r]),(0,V.useEffect)(()=>{O&&O.filter(e=>{const t=P||i,n=o&&e.ctrlKey;if((!0===f||Array.isArray(f)&&f.includes(1))&&1===e.button&&"mousedown"===e.type&&(hVe(e,"react-flow__node")||hVe(e,"react-flow__edge")))return!0;if(!(f||t||a||c||o))return!1;if(M)return!1;if(!c&&"dblclick"===e.type)return!1;if(hVe(e,v)&&"wheel"===e.type)return!1;if(hVe(e,y)&&("wheel"!==e.type||a&&"wheel"===e.type&&!P))return!1;if(!o&&e.ctrlKey&&"wheel"===e.type)return!1;if(!t&&!a&&!n&&"wheel"===e.type)return!1;if(!f&&("mousedown"===e.type||"touchstart"===e.type))return!1;if(Array.isArray(f)&&!f.includes(e.button)&&"mousedown"===e.type)return!1;const r=Array.isArray(f)&&f.includes(e.button)||!e.button||e.button<=1;return(!e.ctrlKey||"wheel"===e.type)&&r})},[M,O,i,o,a,c,f,u,P]),V.createElement("div",{className:"react-flow__renderer",ref:E,style:uVe},w)},bVe=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function wVe(){const{userSelectionActive:e,userSelectionRect:t}=cHe(bVe,qBe);return e&&t?V.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function vVe(e,t){const n=t.parentNode||t.parentId,r=e.find(e=>e.id===n);if(r){const e=t.position.x+t.width-r.width,n=t.position.y+t.height-r.height;if(e>0||n>0||t.position.x<0||t.position.y<0){if(r.style={...r.style}||{},r.style.width=r.style.width??r.width,r.style.height=r.style.height??r.height,e>0&&(r.style.width+=e),n>0&&(r.style.height+=n),t.position.x<0){const e=Math.abs(t.position.x);r.position.x=r.position.x-e,r.style.width+=e,t.position.x=0}if(t.position.y<0){const e=Math.abs(t.position.y);r.position.y=r.position.y-e,r.style.height+=e,t.position.y=0}r.width=r.style.width,r.height=r.style.height}}}function yVe(e,t){if(e.some(e=>"reset"===e.type))return e.filter(e=>"reset"===e.type).map(e=>e.item);const n=e.filter(e=>"add"===e.type).map(e=>e.item);return t.reduce((t,n)=>{const r=e.filter(e=>e.id===n.id);if(0===r.length)return t.push(n),t;const i={...n};for(const e of r)if(e)switch(e.type){case"select":i.selected=e.selected;break;case"position":void 0!==e.position&&(i.position=e.position),void 0!==e.positionAbsolute&&(i.positionAbsolute=e.positionAbsolute),void 0!==e.dragging&&(i.dragging=e.dragging),i.expandParent&&vVe(t,i);break;case"dimensions":void 0!==e.dimensions&&(i.width=e.dimensions.width,i.height=e.dimensions.height),void 0!==e.updateStyle&&(i.style={...i.style||{},...e.dimensions}),"boolean"==typeof e.resizing&&(i.resizing=e.resizing),i.expandParent&&vVe(t,i);break;case"remove":return t}return t.push(i),t},n)}function xVe(e,t){return yVe(e,t)}const AVe=(e,t)=>({id:e,type:"select",selected:t});function kVe(e,t){return e.reduce((e,n)=>{const r=t.includes(n.id);return!n.selected&&r?(n.selected=!0,e.push(AVe(n.id,!0))):n.selected&&!r&&(n.selected=!1,e.push(AVe(n.id,!1))),e},[])}const SVe=(e,t)=>n=>{n.target===t.current&&e?.(n)},EVe=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),CVe=(0,V.memo)(({isSelecting:e,selectionMode:t=jHe.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:a,onPaneScroll:s,onPaneMouseEnter:l,onPaneMouseMove:c,onPaneMouseLeave:u,children:f})=>{const h=(0,V.useRef)(null),d=uHe(),p=(0,V.useRef)(0),g=(0,V.useRef)(0),m=(0,V.useRef)(),{userSelectionActive:b,elementsSelectable:w,dragging:v}=cHe(EVe,qBe),y=()=>{d.setState({userSelectionActive:!1,userSelectionRect:null}),p.current=0,g.current=0},x=e=>{o?.(e),d.getState().resetSelectedElements(),d.setState({nodesSelectionActive:!1})},A=s?e=>s(e):void 0,k=w&&(e||b);return V.createElement("div",{className:NBe(["react-flow__pane",{dragging:v,selection:e}]),onClick:k?void 0:SVe(x,h),onContextMenu:SVe(e=>{Array.isArray(n)&&n?.includes(2)?e.preventDefault():a?.(e)},h),onWheel:SVe(A,h),onMouseEnter:k?void 0:l,onMouseDown:k?t=>{const{resetSelectedElements:n,domNode:i}=d.getState();if(m.current=i?.getBoundingClientRect(),!w||!e||0!==t.button||t.target!==h.current||!m.current)return;const{x:o,y:a}=MHe(t,m.current);n(),d.setState({userSelectionRect:{width:0,height:0,startX:o,startY:a,x:o,y:a}}),r?.(t)}:void 0,onMouseMove:k?n=>{const{userSelectionRect:r,nodeInternals:i,edges:o,transform:a,onNodesChange:s,onEdgesChange:l,nodeOrigin:c,getNodes:u}=d.getState();if(!e||!m.current||!r)return;d.setState({userSelectionActive:!0,nodesSelectionActive:!1});const f=MHe(n,m.current),h=r.startX??0,b=r.startY??0,w={...r,x:f.x<h?f.x:h,y:f.y<b?f.y:b,width:Math.abs(f.x-h),height:Math.abs(f.y-b)},v=u(),y=cUe(i,w,a,t===jHe.Partial,!0,c),x=uUe(y,o).map(e=>e.id),A=y.map(e=>e.id);if(p.current!==A.length){p.current=A.length;const e=kVe(v,A);e.length&&s?.(e)}if(g.current!==x.length){g.current=x.length;const e=kVe(o,x);e.length&&l?.(e)}d.setState({userSelectionRect:w})}:c,onMouseUp:k?e=>{if(0!==e.button)return;const{userSelectionRect:t}=d.getState();!b&&t&&e.target===h.current&&x?.(e),d.setState({nodesSelectionActive:p.current>0}),y(),i?.(e)}:void 0,onMouseLeave:k?e=>{b&&(d.setState({nodesSelectionActive:p.current>0}),i?.(e)),y()}:u,ref:h,style:uVe},f,V.createElement(wVe,null))});function OVe(e,t){const n=e.parentNode||e.parentId;if(!n)return!1;const r=t.get(n);return!!r&&(!!r.selected||OVe(r,t))}function TVe(e,t,n){let r=e;do{if(r?.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function _Ve(e,t,n,r){return Array.from(e.values()).filter(n=>(n.selected||n.id===r)&&(!n.parentNode||n.parentId||!OVe(n,e))&&(n.draggable||t&&void 0===n.draggable)).map(e=>({id:e.id,position:e.position||{x:0,y:0},positionAbsolute:e.positionAbsolute||{x:0,y:0},distance:{x:n.x-(e.positionAbsolute?.x??0),y:n.y-(e.positionAbsolute?.y??0)},delta:{x:0,y:0},extent:e.extent,parentNode:e.parentNode||e.parentId,parentId:e.parentNode||e.parentId,width:e.width,height:e.height,expandParent:e.expandParent}))}function MVe(e,t,n,r,i=[0,0],o){const a=function(e,t){return t&&"parent"!==t?[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]:t}(e,e.extent||r);let s=a;const l=e.parentNode||e.parentId;if("parent"!==e.extent||e.expandParent){if(e.extent&&l&&"parent"!==e.extent){const t=n.get(l),{x:r,y:o}=sUe(t,i).positionAbsolute;s=[[e.extent[0][0]+r,e.extent[0][1]+o],[e.extent[1][0]+r,e.extent[1][1]+o]]}}else if(l&&e.width&&e.height){const t=n.get(l),{x:r,y:o}=sUe(t,i).positionAbsolute;s=t&&SHe(r)&&SHe(o)&&SHe(t.width)&&SHe(t.height)?[[r+e.width*i[0],o+e.height*i[1]],[r+t.width-e.width+e.width*i[0],o+t.height-e.height+e.height*i[1]]]:s}else o?.("005","Only child nodes can use a parent extent."),s=a;let c={x:0,y:0};if(l){const e=n.get(l);c=sUe(e,i).positionAbsolute}const u=s&&"parent"!==s?bHe(t,s):t;return{position:{x:u.x-c.x,y:u.y-c.y},positionAbsolute:u}}function PVe({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(e=>({...n.get(e.id),position:e.position,positionAbsolute:e.positionAbsolute}));return[e?r.find(t=>t.id===e):r[0],r]}CVe.displayName="Pane";const DVe=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),a=t.getBoundingClientRect(),s=a.width*r[0],l=a.height*r[1];return o.map(e=>{const t=e.getBoundingClientRect();return{id:e.getAttribute("data-handleid"),position:e.getAttribute("data-handlepos"),x:(t.left-a.left-s)/n,y:(t.top-a.top-l)/n,...gHe(e)}})};function RVe(e,t,n){return void 0===n?n:r=>{const i=t().nodeInternals.get(e);i&&n(r,{...i})}}function IVe({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:a,nodeInternals:s,onError:l}=t.getState(),c=s.get(e);c?(t.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&a)&&(o({nodes:[c],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):i([e])):l?.("012",(e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`)(e))}function NVe(e){return(t,n,r)=>e?.(t,r)}function $Ve({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:a}){const s=uHe(),[l,c]=(0,V.useState)(!1),u=(0,V.useRef)([]),f=(0,V.useRef)({x:null,y:null}),h=(0,V.useRef)(0),d=(0,V.useRef)(null),p=(0,V.useRef)({x:0,y:0}),g=(0,V.useRef)(null),m=(0,V.useRef)(!1),b=(0,V.useRef)(!1),w=(0,V.useRef)(!1),v=function(){const e=uHe(),t=(0,V.useCallback)(({sourceEvent:t})=>{const{transform:n,snapGrid:r,snapToGrid:i}=e.getState(),o=t.touches?t.touches[0].clientX:t.clientX,a=t.touches?t.touches[0].clientY:t.clientY,s={x:(o-n[0])/n[2],y:(a-n[1])/n[2]};return{xSnapped:i?r[0]*Math.round(s.x/r[0]):s.x,ySnapped:i?r[1]*Math.round(s.y/r[1]):s.y,...s}},[]);return t}();return(0,V.useEffect)(()=>{if(e?.current){const l=nqe(e.current),y=({x:e,y:t})=>{const{nodeInternals:n,onNodeDrag:r,onSelectionDrag:o,updateNodePositions:a,nodeExtent:l,snapGrid:h,snapToGrid:d,nodeOrigin:p,onError:m}=s.getState();f.current={x:e,y:t};let b=!1,w={x:0,y:0,x2:0,y2:0};if(u.current.length>1&&l){const e=lUe(u.current,p);w=xHe(e)}if(u.current=u.current.map(r=>{const i={x:e-r.distance.x,y:t-r.distance.y};d&&(i.x=h[0]*Math.round(i.x/h[0]),i.y=h[1]*Math.round(i.y/h[1]));const o=[[l[0][0],l[0][1]],[l[1][0],l[1][1]]];u.current.length>1&&l&&!r.extent&&(o[0][0]=r.positionAbsolute.x-w.x+l[0][0],o[1][0]=r.positionAbsolute.x+(r.width??0)-w.x2+l[1][0],o[0][1]=r.positionAbsolute.y-w.y+l[0][1],o[1][1]=r.positionAbsolute.y+(r.height??0)-w.y2+l[1][1]);const a=MVe(r,i,n,o,p,m);return b=b||r.position.x!==a.position.x||r.position.y!==a.position.y,r.position=a.position,r.positionAbsolute=a.positionAbsolute,r}),!b)return;a(u.current,!0,!0),c(!0);const v=i?r:NVe(o);if(v&&g.current){const[e,t]=PVe({nodeId:i,dragItems:u.current,nodeInternals:n});v(g.current,e,t)}},x=()=>{if(!d.current)return;const[e,t]=vHe(p.current,d.current);if(0!==e||0!==t){const{transform:n,panBy:r}=s.getState();f.current.x=(f.current.x??0)-e/n[2],f.current.y=(f.current.y??0)-t/n[2],r({x:e,y:t})&&y(f.current)}h.current=requestAnimationFrame(x)},A=t=>{const{nodeInternals:n,multiSelectionActive:r,nodesDraggable:l,unselectNodesAndEdges:c,onNodeDragStart:h,onSelectionDragStart:d}=s.getState();b.current=!0;const p=i?h:NVe(d);a&&o||r||!i||n.get(i)?.selected||c(),i&&o&&a&&IVe({id:i,store:s,nodeRef:e});const g=v(t);if(f.current=g,u.current=_Ve(n,l,g,i),p&&u.current){const[e,r]=PVe({nodeId:i,dragItems:u.current,nodeInternals:n});p(t.sourceEvent,e,r)}};if(!t){const t=function(){var e,t,n,r,i=nHe,o=rHe,a=iHe,s=oHe,l={},c=v7("start","drag","end"),u=0,f=0;function h(e){e.on("mousedown.drag",d).filter(s).on("touchstart.drag",m).on("touchmove.drag",b,rqe).on("touchend.drag touchcancel.drag",w).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(a,s){if(!r&&i.call(this,a,s)){var l=v(this,o.call(this,a,s),a,s,"mouse");l&&(nqe(a.view).on("mousemove.drag",p,iqe).on("mouseup.drag",g,iqe),sqe(a.view),oqe(a),n=!1,e=a.clientX,t=a.clientY,l("start",a))}}function p(r){if(aqe(r),!n){var i=r.clientX-e,o=r.clientY-t;n=i*i+o*o>f}l.mouse("drag",r)}function g(e){nqe(e.view).on("mousemove.drag mouseup.drag",null),lqe(e.view,n),aqe(e),l.mouse("end",e)}function m(e,t){if(i.call(this,e,t)){var n,r,a=e.changedTouches,s=o.call(this,e,t),l=a.length;for(n=0;n<l;++n)(r=v(this,s,e,t,a[n].identifier,a[n]))&&(oqe(e),r("start",e,a[n]))}}function b(e){var t,n,r=e.changedTouches,i=r.length;for(t=0;t<i;++t)(n=l[r[t].identifier])&&(aqe(e),n("drag",e,r[t]))}function w(e){var t,n,i=e.changedTouches,o=i.length;for(r&&clearTimeout(r),r=setTimeout(function(){r=null},500),t=0;t<o;++t)(n=l[i[t].identifier])&&(oqe(e),n("end",e,i[t]))}function v(e,t,n,r,i,o){var s,f,d,p=c.copy(),g=cqe(o||n,t);if(null!=(d=a.call(e,new tHe("beforestart",{sourceEvent:n,target:h,identifier:i,active:u,x:g[0],y:g[1],dx:0,dy:0,dispatch:p}),r)))return s=d.x-g[0]||0,f=d.y-g[1]||0,function n(o,a,c){var m,b=g;switch(o){case"start":l[i]=n,m=u++;break;case"end":delete l[i],--u;case"drag":g=cqe(c||a,t),m=u}p.call(o,e,new tHe(o,{sourceEvent:a,subject:d,target:h,identifier:i,active:m,x:g[0]+s,y:g[1]+f,dx:g[0]-b[0],dy:g[1]-b[1],dispatch:p}),r)}}return h.filter=function(e){return arguments.length?(i="function"==typeof e?e:eHe(!!e),h):i},h.container=function(e){return arguments.length?(o="function"==typeof e?e:eHe(e),h):o},h.subject=function(e){return arguments.length?(a="function"==typeof e?e:eHe(e),h):a},h.touchable=function(e){return arguments.length?(s="function"==typeof e?e:eHe(!!e),h):s},h.on=function(){var e=c.on.apply(c,arguments);return e===c?h:e},h.clickDistance=function(e){return arguments.length?(f=(e=+e)*e,h):Math.sqrt(f)},h}().on("start",e=>{const{domNode:t,nodeDragThreshold:n}=s.getState();0===n&&A(e),w.current=!1;const r=v(e);f.current=r,d.current=t?.getBoundingClientRect()||null,p.current=MHe(e.sourceEvent,d.current)}).on("drag",e=>{const t=v(e),{autoPanOnNodeDrag:n,nodeDragThreshold:r}=s.getState();if("touchmove"===e.sourceEvent.type&&e.sourceEvent.touches.length>1&&(w.current=!0),!w.current){if(!m.current&&b.current&&n&&(m.current=!0,x()),!b.current){const n=t.xSnapped-(f?.current?.x??0),i=t.ySnapped-(f?.current?.y??0);Math.sqrt(n*n+i*i)>r&&A(e)}(f.current.x!==t.xSnapped||f.current.y!==t.ySnapped)&&u.current&&b.current&&(g.current=e.sourceEvent,p.current=MHe(e.sourceEvent,d.current),y(t))}}).on("end",e=>{if(b.current&&!w.current&&(c(!1),m.current=!1,b.current=!1,cancelAnimationFrame(h.current),u.current)){const{updateNodePositions:t,nodeInternals:n,onNodeDragStop:r,onSelectionDragStop:o}=s.getState(),a=i?r:NVe(o);if(t(u.current,!1,!1),a){const[t,r]=PVe({nodeId:i,dragItems:u.current,nodeInternals:n});a(e.sourceEvent,t,r)}}}).filter(t=>{const i=t.target;return!t.button&&(!n||!TVe(i,`.${n}`,e))&&(!r||TVe(i,r,e))});return l.call(t),()=>{l.on(".drag",null)}}l.on(".drag",null)}},[e,t,n,r,o,s,i,a,v]),l}function LVe(){const e=uHe(),t=(0,V.useCallback)(t=>{const{nodeInternals:n,nodeExtent:r,updateNodePositions:i,getNodes:o,snapToGrid:a,snapGrid:s,onError:l,nodesDraggable:c}=e.getState(),u=o().filter(e=>e.selected&&(e.draggable||c&&void 0===e.draggable)),f=a?s[0]:5,h=a?s[1]:5,d=t.isShiftPressed?4:1,p=t.x*f*d,g=t.y*h*d,m=u.map(e=>{if(e.positionAbsolute){const t={x:e.positionAbsolute.x+p,y:e.positionAbsolute.y+g};a&&(t.x=s[0]*Math.round(t.x/s[0]),t.y=s[1]*Math.round(t.y/s[1]));const{positionAbsolute:i,position:o}=MVe(e,t,n,r,void 0,l);e.position=o,e.positionAbsolute=i}return e});i(m,!0,!1)},[]);return t}const jVe={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var FVe=e=>{const t=({id:t,type:n,data:r,xPos:i,yPos:o,xPosOrigin:a,yPosOrigin:s,selected:l,onClick:c,onMouseEnter:u,onMouseMove:f,onMouseLeave:h,onContextMenu:d,onDoubleClick:p,style:g,className:m,isDraggable:b,isSelectable:w,isConnectable:v,isFocusable:y,selectNodesOnDrag:x,sourcePosition:A,targetPosition:k,hidden:S,resizeObserver:E,dragHandle:C,zIndex:O,isParent:T,noDragClassName:_,noPanClassName:M,initialized:P,disableKeyboardA11y:D,ariaLabel:R,rfId:I,hasHandleBounds:N})=>{const $=uHe(),L=(0,V.useRef)(null),j=(0,V.useRef)(null),F=(0,V.useRef)(A),z=(0,V.useRef)(k),B=(0,V.useRef)(n),W=w||b||c||u||f||h,q=LVe(),H=RVe(t,$.getState,u),U=RVe(t,$.getState,f),K=RVe(t,$.getState,h),Q=RVe(t,$.getState,d),G=RVe(t,$.getState,p);(0,V.useEffect)(()=>()=>{j.current&&(E?.unobserve(j.current),j.current=null)},[]),(0,V.useEffect)(()=>{if(L.current&&!S){const e=L.current;P&&N&&j.current===e||(j.current&&E?.unobserve(j.current),E?.observe(e),j.current=e)}},[S,P,N]),(0,V.useEffect)(()=>{const e=B.current!==n,r=F.current!==A,i=z.current!==k;L.current&&(e||r||i)&&(e&&(B.current=n),r&&(F.current=A),i&&(z.current=k),$.getState().updateNodeDimensions([{id:t,nodeElement:L.current,forceUpdate:!0}]))},[t,n,A,k]);const X=$Ve({nodeRef:L,disabled:S||!b,noDragClassName:_,handleSelector:C,nodeId:t,isSelectable:w,selectNodesOnDrag:x});return S?null:V.createElement("div",{className:NBe(["react-flow__node",`react-flow__node-${n}`,{[M]:b},m,{selected:l,selectable:w,parent:T,dragging:X}]),ref:L,style:{zIndex:O,transform:`translate(${a}px,${s}px)`,pointerEvents:W?"all":"none",visibility:P?"visible":"hidden",...g},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:H,onMouseMove:U,onMouseLeave:K,onContextMenu:Q,onClick:e=>{const{nodeDragThreshold:n}=$.getState();if(w&&(!x||!b||n>0)&&IVe({id:t,store:$,nodeRef:L}),c){const n=$.getState().nodeInternals.get(t);n&&c(e,{...n})}},onDoubleClick:G,onKeyDown:y?e=>{if(!THe(e)&&!D)if(CHe.includes(e.key)&&w){const n="Escape"===e.key;IVe({id:t,store:$,unselect:n,nodeRef:L})}else b&&l&&Object.prototype.hasOwnProperty.call(jVe,e.key)&&($.setState({ariaLiveMessage:`Moved selected node ${e.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~i}, y: ${~~o}`}),q({x:jVe[e.key].x,y:jVe[e.key].y,isShiftPressed:e.shiftKey}))}:void 0,tabIndex:y?0:void 0,role:y?"button":void 0,"aria-describedby":D?void 0:`${HUe}-${I}`,"aria-label":R},V.createElement(nUe,{value:t},V.createElement(e,{id:t,data:r,type:n,xPos:i,yPos:o,selected:l,isConnectable:v,sourcePosition:A,targetPosition:k,dragging:X,dragHandle:C,zIndex:O})))};return t.displayName="NodeWrapper",(0,V.memo)(t)};const zVe=e=>{const t=e.getNodes().filter(e=>e.selected);return{...lUe(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};var BVe=(0,V.memo)(function({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=uHe(),{width:i,height:o,x:a,y:s,transformString:l,userSelectionActive:c}=cHe(zVe,qBe),u=LVe(),f=(0,V.useRef)(null);if((0,V.useEffect)(()=>{n||f.current?.focus({preventScroll:!0})},[n]),$Ve({nodeRef:f}),c||!i||!o)return null;const h=e?t=>{const n=r.getState().getNodes().filter(e=>e.selected);e(t,n)}:void 0;return V.createElement("div",{className:NBe(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l}},V.createElement("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:h,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(jVe,e.key)&&u({x:jVe[e.key].x,y:jVe[e.key].y,isShiftPressed:e.shiftKey})},style:{width:i,height:o,top:s,left:a}}))});const WVe=e=>e.nodesSelectionActive,qVe=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,deleteKeyCode:s,onMove:l,onMoveStart:c,onMoveEnd:u,selectionKeyCode:f,selectionOnDrag:h,selectionMode:d,onSelectionStart:p,onSelectionEnd:g,multiSelectionKeyCode:m,panActivationKeyCode:b,zoomActivationKeyCode:w,elementsSelectable:v,zoomOnScroll:y,zoomOnPinch:x,panOnScroll:A,panOnScrollSpeed:k,panOnScrollMode:S,zoomOnDoubleClick:E,panOnDrag:C,defaultViewport:O,translateExtent:T,minZoom:_,maxZoom:M,preventScrolling:P,onSelectionContextMenu:D,noWheelClassName:R,noPanClassName:I,disableKeyboardA11y:N})=>{const $=cHe(WVe),L=GUe(f),j=GUe(b),F=j||C,z=j||A,B=L||h&&!0!==F;return(({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=uHe(),{deleteElements:r}=lVe(),i=GUe(e,cVe),o=GUe(t);(0,V.useEffect)(()=>{if(i){const{edges:e,getNodes:t}=n.getState(),i=t().filter(e=>e.selected),o=e.filter(e=>e.selected);r({nodes:i,edges:o}),n.setState({nodesSelectionActive:!1})}},[i]),(0,V.useEffect)(()=>{n.setState({multiSelectionActive:o})},[o])})({deleteKeyCode:s,multiSelectionKeyCode:m}),V.createElement(mVe,{onMove:l,onMoveStart:c,onMoveEnd:u,onPaneContextMenu:o,elementsSelectable:v,zoomOnScroll:y,zoomOnPinch:x,panOnScroll:z,panOnScrollSpeed:k,panOnScrollMode:S,zoomOnDoubleClick:E,panOnDrag:!L&&F,defaultViewport:O,translateExtent:T,minZoom:_,maxZoom:M,zoomActivationKeyCode:w,preventScrolling:P,noWheelClassName:R,noPanClassName:I},V.createElement(CVe,{onSelectionStart:p,onSelectionEnd:g,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,panOnDrag:F,isSelecting:!!B,selectionMode:d},e,$&&V.createElement(BVe,{onSelectionContextMenu:D,noPanClassName:I,disableKeyboardA11y:N})))};qVe.displayName="FlowRenderer";var HVe=(0,V.memo)(qVe);function UVe(e){const t={input:FVe(e.input||TUe),default:FVe(e.default||CUe),output:FVe(e.output||MUe),group:FVe(e.group||PUe)},n=Object.keys(e).filter(e=>!["input","default","output","group"].includes(e)).reduce((t,n)=>(t[n]=FVe(e[n]||CUe),t),{});return{...t,...n}}const VVe=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),KVe=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:a}=cHe(VVe,qBe),s=(u=e.onlyRenderVisibleElements,cHe((0,V.useCallback)(e=>u?cUe(e.nodeInternals,{x:0,y:0,width:e.width,height:e.height},e.transform,!0):e.getNodes(),[u]))),l=(0,V.useRef)(),c=(0,V.useMemo)(()=>{if("undefined"==typeof ResizeObserver)return null;const e=new ResizeObserver(e=>{const t=e.map(e=>({id:e.target.getAttribute("data-id"),nodeElement:e.target,forceUpdate:!0}));o(t)});return l.current=e,e},[]);var u;return(0,V.useEffect)(()=>()=>{l?.current?.disconnect()},[]),V.createElement("div",{className:"react-flow__nodes",style:uVe},s.map(o=>{let s=o.type||"default";e.nodeTypes[s]||(a?.("003",(e=>`Node type "${e}" not found. Using fallback type "default".`)(s)),s="default");const l=e.nodeTypes[s]||e.nodeTypes.default,u=!!(o.draggable||t&&void 0===o.draggable),f=!!(o.selectable||i&&void 0===o.selectable),h=!!(o.connectable||n&&void 0===o.connectable),d=!!(o.focusable||r&&void 0===o.focusable),p=e.nodeExtent?bHe(o.positionAbsolute,e.nodeExtent):o.positionAbsolute,g=p?.x??0,m=p?.y??0,b=(({x:e,y:t,width:n,height:r,origin:i})=>n&&r?i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]}:{x:e,y:t})({x:g,y:m,width:o.width??0,height:o.height??0,origin:e.nodeOrigin});return V.createElement(l,{key:o.id,id:o.id,className:o.className,style:o.style,type:s,data:o.data,sourcePosition:o.sourcePosition||BHe.Bottom,targetPosition:o.targetPosition||BHe.Top,hidden:o.hidden,xPos:g,yPos:m,xPosOrigin:b.x,yPosOrigin:b.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!o.selected,isDraggable:u,isSelectable:f,isConnectable:h,isFocusable:d,resizeObserver:c,dragHandle:o.dragHandle,zIndex:o[EHe]?.z??0,isParent:!!o[EHe]?.isParent,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!o.width&&!!o.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:o.ariaLabel,hasHandleBounds:!!o[EHe]?.handleBounds})}))};KVe.displayName="NodeRenderer";var QVe=(0,V.memo)(KVe);const GVe=(e,t,n)=>n===BHe.Left?e-t:n===BHe.Right?e+t:e,XVe=(e,t,n)=>n===BHe.Top?e-t:n===BHe.Bottom?e+t:e,YVe="react-flow__edgeupdater",ZVe=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:a,type:s})=>V.createElement("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:a,className:NBe([YVe,`${YVe}-${s}`]),cx:GVe(t,r,e),cy:XVe(n,r,e),r,stroke:"transparent",fill:"transparent"}),JVe=()=>!0;var eKe=e=>{const t=({id:t,className:n,type:r,data:i,onClick:o,onEdgeDoubleClick:a,selected:s,animated:l,label:c,labelStyle:u,labelShowBg:f,labelBgStyle:h,labelBgPadding:d,labelBgBorderRadius:p,style:g,source:m,target:b,sourceX:w,sourceY:v,targetX:y,targetY:x,sourcePosition:A,targetPosition:k,elementsSelectable:S,hidden:E,sourceHandleId:C,targetHandleId:O,onContextMenu:T,onMouseEnter:_,onMouseMove:M,onMouseLeave:P,reconnectRadius:D,onReconnect:R,onReconnectStart:I,onReconnectEnd:N,markerEnd:$,markerStart:L,rfId:j,ariaLabel:F,isFocusable:z,isReconnectable:B,pathOptions:W,interactionWidth:q,disableKeyboardA11y:H})=>{const U=(0,V.useRef)(null),[K,Q]=(0,V.useState)(!1),[G,X]=(0,V.useState)(!1),Y=uHe(),Z=(0,V.useMemo)(()=>`url('#${iUe(L,j)}')`,[L,j]),J=(0,V.useMemo)(()=>`url('#${iUe($,j)}')`,[$,j]);if(E)return null;const ee=RHe(t,Y.getState,a),te=RHe(t,Y.getState,T),ne=RHe(t,Y.getState,_),re=RHe(t,Y.getState,M),ie=RHe(t,Y.getState,P),oe=(e,n)=>{if(0!==e.button)return;const{edges:r,isValidConnection:i}=Y.getState(),o=n?b:m,a=(n?O:C)||null,s=n?"target":"source",l=i||JVe,c=n,u=r.find(e=>e.id===t);X(!0),I?.(e,u,s),yUe({event:e,handleId:a,nodeId:o,onConnect:e=>R?.(u,e),isTarget:c,getState:Y.getState,setState:Y.setState,isValidConnection:l,edgeUpdaterType:s,onReconnectEnd:e=>{X(!1),N?.(e,u,s)}})},ae=()=>Q(!0),se=()=>Q(!1),le=!S&&!o;return V.createElement("g",{className:NBe(["react-flow__edge",`react-flow__edge-${r}`,n,{selected:s,animated:l,inactive:le,updating:K}]),onClick:e=>{const{edges:n,addSelectedEdges:r,unselectNodesAndEdges:i,multiSelectionActive:a}=Y.getState(),s=n.find(e=>e.id===t);s&&(S&&(Y.setState({nodesSelectionActive:!1}),s.selected&&a?(i({nodes:[],edges:[s]}),U.current?.blur()):r([t])),o&&o(e,s))},onDoubleClick:ee,onContextMenu:te,onMouseEnter:ne,onMouseMove:re,onMouseLeave:ie,onKeyDown:z?e=>{if(!H&&CHe.includes(e.key)&&S){const{unselectNodesAndEdges:n,addSelectedEdges:r,edges:i}=Y.getState();"Escape"===e.key?(U.current?.blur(),n({edges:[i.find(e=>e.id===t)]})):r([t])}}:void 0,tabIndex:z?0:void 0,role:z?"button":"img","data-testid":`rf__edge-${t}`,"aria-label":null===F?void 0:F||`Edge from ${m} to ${b}`,"aria-describedby":z?`${UUe}-${j}`:void 0,ref:U},!G&&V.createElement(e,{id:t,source:m,target:b,selected:s,animated:l,label:c,labelStyle:u,labelShowBg:f,labelBgStyle:h,labelBgPadding:d,labelBgBorderRadius:p,data:i,style:g,sourceX:w,sourceY:v,targetX:y,targetY:x,sourcePosition:A,targetPosition:k,sourceHandleId:C,targetHandleId:O,markerStart:Z,markerEnd:J,pathOptions:W,interactionWidth:q}),B&&V.createElement(V.Fragment,null,("source"===B||!0===B)&&V.createElement(ZVe,{position:A,centerX:w,centerY:v,radius:D,onMouseDown:e=>oe(e,!0),onMouseEnter:ae,onMouseOut:se,type:"source"}),("target"===B||!0===B)&&V.createElement(ZVe,{position:k,centerX:y,centerY:x,radius:D,onMouseDown:e=>oe(e,!1),onMouseEnter:ae,onMouseOut:se,type:"target"})))};return t.displayName="EdgeWrapper",(0,V.memo)(t)};function tKe(e){const t={default:eKe(e.default||eUe),straight:eKe(e.bezier||XHe),step:eKe(e.step||GHe),smoothstep:eKe(e.step||QHe),simplebezier:eKe(e.simplebezier||HHe)},n=Object.keys(e).filter(e=>!["default","bezier"].includes(e)).reduce((t,n)=>(t[n]=eKe(e[n]||eUe),t),{});return{...t,...n}}function nKe(e,t,n=null){const r=(n?.x||0)+t.x,i=(n?.y||0)+t.y,o=n?.width||t.width,a=n?.height||t.height;switch(e){case BHe.Top:return{x:r+o/2,y:i};case BHe.Right:return{x:r+o,y:i+a/2};case BHe.Bottom:return{x:r+o/2,y:i+a};case BHe.Left:return{x:r,y:i+a/2}}}function rKe(e,t){return e?1!==e.length&&t?t&&e.find(e=>e.id===t)||null:e[0]:null}function iKe(e){const t=e?.[EHe]?.handleBounds||null,n=t&&e?.width&&e?.height&&void 0!==e?.positionAbsolute?.x&&void 0!==e?.positionAbsolute?.y;return[{x:e?.positionAbsolute?.x||0,y:e?.positionAbsolute?.y||0,width:e?.width||0,height:e?.height||0},t,!!n]}const oKe=[{level:0,isMaxLevel:!0,edges:[]}];const aKe={[zHe.Arrow]:({color:e="none",strokeWidth:t=1})=>V.createElement("polyline",{style:{stroke:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),[zHe.ArrowClosed]:({color:e="none",strokeWidth:t=1})=>V.createElement("polyline",{style:{stroke:e,fill:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},sKe=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:a,orient:s="auto-start-reverse"})=>{const l=function(e){const t=uHe();return(0,V.useMemo)(()=>Object.prototype.hasOwnProperty.call(aKe,e)?aKe[e]:(t.getState().onError?.("009",(e=>`Marker type "${e}" doesn't exist.`)(e)),null),[e])}(t);return l?V.createElement("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:s,refX:"0",refY:"0"},V.createElement(l,{color:n,strokeWidth:a})):null},lKe=({defaultColor:e,rfId:t})=>{const n=cHe((0,V.useCallback)((({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((n,i)=>([i.markerStart,i.markerEnd].forEach(i=>{if(i&&"object"==typeof i){const o=iUe(i,t);r.includes(o)||(n.push({id:o,color:i.color||e,...i}),r.push(o))}}),n),[]).sort((e,t)=>e.id.localeCompare(t.id))})({defaultColor:e,rfId:t}),[e,t]),(e,t)=>!(e.length!==t.length||e.some((e,n)=>e.id!==t[n].id)));return V.createElement("defs",null,n.map(e=>V.createElement(sKe,{id:e.id,key:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient})))};lKe.displayName="MarkerDefinitions";var cKe=(0,V.memo)(lKe);const uKe=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),fKe=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeContextMenu:a,onEdgeMouseEnter:s,onEdgeMouseMove:l,onEdgeMouseLeave:c,onEdgeClick:u,onEdgeDoubleClick:f,onReconnect:h,onReconnectStart:d,onReconnectEnd:p,reconnectRadius:g,children:m,disableKeyboardA11y:b})=>{const{edgesFocusable:w,edgesUpdatable:v,elementsSelectable:y,width:x,height:A,connectionMode:k,nodeInternals:S,onError:E}=cHe(uKe,qBe),C=function(e,t,n){const r=cHe((0,V.useCallback)(n=>e?n.edges.filter(e=>{const r=t.get(e.source),i=t.get(e.target);return r?.width&&r?.height&&i?.width&&i?.height&&function({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:a,height:s,transform:l}){const c={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);const u=xHe({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:a/l[2],height:s/l[2]}),f=Math.max(0,Math.min(u.x2,c.x2)-Math.max(u.x,c.x)),h=Math.max(0,Math.min(u.y2,c.y2)-Math.max(u.y,c.y));return Math.ceil(f*h)>0}({sourcePos:r.positionAbsolute||{x:0,y:0},targetPos:i.positionAbsolute||{x:0,y:0},sourceWidth:r.width,sourceHeight:r.height,targetWidth:i.width,targetHeight:i.height,width:n.width,height:n.height,transform:n.transform})}):n.edges,[e,t]));return function(e,t,n=!1){let r=-1;const i=e.reduce((e,i)=>{const o=SHe(i.zIndex);let a=o?i.zIndex:0;if(n){const e=t.get(i.target),n=t.get(i.source),r=i.selected||e?.selected||n?.selected,s=Math.max(n?.[EHe]?.z||0,e?.[EHe]?.z||0,1e3);a=(o?i.zIndex:0)+(r?s:0)}return e[a]?e[a].push(i):e[a]=[i],r=a>r?a:r,e},{}),o=Object.entries(i).map(([e,t])=>{const n=+e;return{edges:t,level:n,isMaxLevel:n===r}});return 0===o.length?oKe:o}(r,t,n)}(t,S,n);return x?V.createElement(V.Fragment,null,C.map(({level:t,edges:n,isMaxLevel:m})=>V.createElement("svg",{key:t,style:{zIndex:t},width:x,height:A,className:"react-flow__edges react-flow__container"},m&&V.createElement(cKe,{defaultColor:e,rfId:r}),V.createElement("g",null,n.map(e=>{const[t,n,m]=iKe(S.get(e.source)),[x,A,C]=iKe(S.get(e.target));if(!m||!C)return null;let O=e.type||"default";i[O]||(E?.("011",(e=>`Edge type "${e}" not found. Using fallback type "default".`)(O)),O="default");const T=i[O]||i.default,_=k===$He.Strict?A.target:(A.target??[]).concat(A.source??[]),M=rKe(n.source,e.sourceHandle),P=rKe(_,e.targetHandle),D=M?.position||BHe.Bottom,R=P?.position||BHe.Top,I=!!(e.focusable||w&&void 0===e.focusable),N=e.reconnectable||e.updatable,$=void 0!==h&&(N||v&&void 0===N);if(!M||!P)return E?.("008",((e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`)(M,e)),null;const{sourceX:L,sourceY:j,targetX:F,targetY:z}=((e,t,n,r,i,o)=>{const a=nKe(n,e,t),s=nKe(o,r,i);return{sourceX:a.x,sourceY:a.y,targetX:s.x,targetY:s.y}})(t,M,D,x,P,R);return V.createElement(T,{key:e.id,id:e.id,className:NBe([e.className,o]),type:O,data:e.data,selected:!!e.selected,animated:!!e.animated,hidden:!!e.hidden,label:e.label,labelStyle:e.labelStyle,labelShowBg:e.labelShowBg,labelBgStyle:e.labelBgStyle,labelBgPadding:e.labelBgPadding,labelBgBorderRadius:e.labelBgBorderRadius,style:e.style,source:e.source,target:e.target,sourceHandleId:e.sourceHandle,targetHandleId:e.targetHandle,markerEnd:e.markerEnd,markerStart:e.markerStart,sourceX:L,sourceY:j,targetX:F,targetY:z,sourcePosition:D,targetPosition:R,elementsSelectable:y,onContextMenu:a,onMouseEnter:s,onMouseMove:l,onMouseLeave:c,onClick:u,onEdgeDoubleClick:f,onReconnect:h,onReconnectStart:d,onReconnectEnd:p,reconnectRadius:g,rfId:r,ariaLabel:e.ariaLabel,isFocusable:I,isReconnectable:$,pathOptions:"pathOptions"in e?e.pathOptions:void 0,interactionWidth:e.interactionWidth,disableKeyboardA11y:b})})))),m):null};fKe.displayName="EdgeRenderer";var hKe=(0,V.memo)(fKe);const dKe=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function pKe({children:e}){const t=cHe(dKe);return V.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:t}},e)}const gKe={[BHe.Left]:BHe.Right,[BHe.Right]:BHe.Left,[BHe.Top]:BHe.Bottom,[BHe.Bottom]:BHe.Top},mKe=({nodeId:e,handleType:t,style:n,type:r=FHe.Bezier,CustomComponent:i,connectionStatus:o})=>{const{fromNode:a,handleId:s,toX:l,toY:c,connectionMode:u}=cHe((0,V.useCallback)(t=>({fromNode:t.nodeInternals.get(e),handleId:t.connectionHandleId,toX:(t.connectionPosition.x-t.transform[0])/t.transform[2],toY:(t.connectionPosition.y-t.transform[1])/t.transform[2],connectionMode:t.connectionMode}),[e]),qBe),f=a?.[EHe]?.handleBounds;let h=f?.[t];if(u===$He.Loose&&(h=h||f?.["source"===t?"target":"source"]),!a||!h)return null;const d=s?h.find(e=>e.id===s):h[0],p=d?d.x+d.width/2:(a.width??0)/2,g=d?d.y+d.height/2:a.height??0,m=(a.positionAbsolute?.x??0)+p,b=(a.positionAbsolute?.y??0)+g,w=d?.position,v=w?gKe[w]:null;if(!w||!v)return null;if(i)return V.createElement(i,{connectionLineType:r,connectionLineStyle:n,fromNode:a,fromHandle:d,fromX:m,fromY:b,toX:l,toY:c,fromPosition:w,toPosition:v,connectionStatus:o});let y="";const x={sourceX:m,sourceY:b,sourcePosition:w,targetX:l,targetY:c,targetPosition:v};return r===FHe.Bezier?[y]=JHe(x):r===FHe.Step?[y]=KHe({...x,borderRadius:0}):r===FHe.SmoothStep?[y]=KHe(x):r===FHe.SimpleBezier?[y]=qHe(x):y=`M${m},${b} ${l},${c}`,V.createElement("path",{d:y,fill:"none",className:"react-flow__connection-path",style:n})};mKe.displayName="ConnectionLine";const bKe=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function wKe({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:a,width:s,height:l,connectionStatus:c}=cHe(bKe,qBe);return i&&o&&s&&a?V.createElement("svg",{style:e,width:s,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container"},V.createElement("g",{className:NBe(["react-flow__connection",c])},V.createElement(mKe,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:c}))):null}function vKe(e,t){return(0,V.useRef)(null),uHe(),(0,V.useMemo)(()=>t(e),[e])}const yKe=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:a,onEdgeClick:s,onNodeDoubleClick:l,onEdgeDoubleClick:c,onNodeMouseEnter:u,onNodeMouseMove:f,onNodeMouseLeave:h,onNodeContextMenu:d,onSelectionContextMenu:p,onSelectionStart:g,onSelectionEnd:m,connectionLineType:b,connectionLineStyle:w,connectionLineComponent:v,connectionLineContainerStyle:y,selectionKeyCode:x,selectionOnDrag:A,selectionMode:k,multiSelectionKeyCode:S,panActivationKeyCode:E,zoomActivationKeyCode:C,deleteKeyCode:O,onlyRenderVisibleElements:T,elementsSelectable:_,selectNodesOnDrag:M,defaultViewport:P,translateExtent:D,minZoom:R,maxZoom:I,preventScrolling:N,defaultMarkerColor:$,zoomOnScroll:L,zoomOnPinch:j,panOnScroll:F,panOnScrollSpeed:z,panOnScrollMode:B,zoomOnDoubleClick:W,panOnDrag:q,onPaneClick:H,onPaneMouseEnter:U,onPaneMouseMove:K,onPaneMouseLeave:Q,onPaneScroll:G,onPaneContextMenu:X,onEdgeContextMenu:Y,onEdgeMouseEnter:Z,onEdgeMouseMove:J,onEdgeMouseLeave:ee,onReconnect:te,onReconnectStart:ne,onReconnectEnd:re,reconnectRadius:ie,noDragClassName:oe,noWheelClassName:ae,noPanClassName:se,elevateEdgesOnSelect:le,disableKeyboardA11y:ce,nodeOrigin:ue,nodeExtent:fe,rfId:he})=>{const de=vKe(e,UVe),pe=vKe(t,tKe);return function(e){const t=lVe(),n=(0,V.useRef)(!1);(0,V.useEffect)(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}(o),V.createElement(HVe,{onPaneClick:H,onPaneMouseEnter:U,onPaneMouseMove:K,onPaneMouseLeave:Q,onPaneContextMenu:X,onPaneScroll:G,deleteKeyCode:O,selectionKeyCode:x,selectionOnDrag:A,selectionMode:k,onSelectionStart:g,onSelectionEnd:m,multiSelectionKeyCode:S,panActivationKeyCode:E,zoomActivationKeyCode:C,elementsSelectable:_,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:L,zoomOnPinch:j,zoomOnDoubleClick:W,panOnScroll:F,panOnScrollSpeed:z,panOnScrollMode:B,panOnDrag:q,defaultViewport:P,translateExtent:D,minZoom:R,maxZoom:I,onSelectionContextMenu:p,preventScrolling:N,noDragClassName:oe,noWheelClassName:ae,noPanClassName:se,disableKeyboardA11y:ce},V.createElement(pKe,null,V.createElement(hKe,{edgeTypes:pe,onEdgeClick:s,onEdgeDoubleClick:c,onlyRenderVisibleElements:T,onEdgeContextMenu:Y,onEdgeMouseEnter:Z,onEdgeMouseMove:J,onEdgeMouseLeave:ee,onReconnect:te,onReconnectStart:ne,onReconnectEnd:re,reconnectRadius:ie,defaultMarkerColor:$,noPanClassName:se,elevateEdgesOnSelect:!!le,disableKeyboardA11y:ce,rfId:he},V.createElement(wKe,{style:w,type:b,component:v,containerStyle:y})),V.createElement("div",{className:"react-flow__edgelabel-renderer"}),V.createElement(QVe,{nodeTypes:de,onNodeClick:a,onNodeDoubleClick:l,onNodeMouseEnter:u,onNodeMouseMove:f,onNodeMouseLeave:h,onNodeContextMenu:d,selectNodesOnDrag:M,onlyRenderVisibleElements:T,noPanClassName:se,noDragClassName:oe,disableKeyboardA11y:ce,nodeOrigin:ue,nodeExtent:fe,rfId:he})))};yKe.displayName="GraphView";var xKe=(0,V.memo)(yKe);const AKe=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],kKe={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:AKe,nodeExtent:AKe,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:$He.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:OHe,isValidConnection:void 0},SKe=({children:e})=>{const t=(0,V.useRef)(null);return t.current||(t.current=(n=(e,t)=>({...kKe,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:eVe(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(e=>({...r,...e}))})},setDefaultNodesAndEdges:(n,r)=>{const i=void 0!==n,o=void 0!==r,a=i?eVe(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:a,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:a,fitViewOnInitOptions:s,domNode:l,nodeOrigin:c}=t(),u=l?.querySelector(".react-flow__viewport");if(!u)return;const f=window.getComputedStyle(u),{m22:h}=new window.DOMMatrixReadOnly(f.transform),d=n.reduce((e,t)=>{const n=i.get(t.id);if(n?.hidden)i.set(n.id,{...n,[EHe]:{...n[EHe],handleBounds:void 0}});else if(n){const r=gHe(t.nodeElement);r.width&&r.height&&(n.width!==r.width||n.height!==r.height||t.forceUpdate)&&(i.set(n.id,{...n,[EHe]:{...n[EHe],handleBounds:{source:DVe(".source",t.nodeElement,h,c),target:DVe(".target",t.nodeElement,h,c)}},...r}),e.push({id:n.id,type:"dimensions",dimensions:r}))}return e},[]);JUe(i,c);const p=a||o&&!a&&tVe(t,{initial:!0,...s});e({nodeInternals:new Map(i),fitViewOnInitDone:p}),d?.length>0&&r?.(d)},updateNodePositions:(e,n=!0,r=!1)=>{const{triggerNodeChanges:i}=t(),o=e.map(e=>{const t={id:e.id,type:"position",dragging:r};return n&&(t.positionAbsolute=e.positionAbsolute,t.position=e.position),t});i(o)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:a,getNodes:s,elevateNodesOnSelect:l}=t();if(n?.length){if(o){const t=eVe(xVe(n,s()),i,a,l);e({nodeInternals:t})}r?.(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let a,s=null;r?a=n.map(e=>AVe(e,!0)):(a=kVe(o(),n),s=kVe(i,[])),iVe({changedNodes:a,changedEdges:s,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let a,s=null;r?a=n.map(e=>AVe(e,!0)):(a=kVe(i,n),s=kVe(o(),[])),iVe({changedNodes:s,changedEdges:a,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),a=r||i,s=(n||o()).map(e=>(e.selected=!1,AVe(e.id,!1)));iVe({changedNodes:s,changedEdges:a.map(e=>AVe(e.id,!1)),get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r?.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r?.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{t().d3Zoom?.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),i=r().filter(e=>e.selected).map(e=>AVe(e.id,!1)),o=n.filter(e=>e.selected).map(e=>AVe(e.id,!1));iVe({changedNodes:i,changedEdges:o,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(e=>{e.positionAbsolute=bHe(e.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:e=>{const{transform:n,width:r,height:i,d3Zoom:o,d3Selection:a,translateExtent:s}=t();if(!o||!a||!e.x&&!e.y)return!1;const l=Uqe.translate(n[0]+e.x,n[1]+e.y).scale(n[2]),c=[[0,0],[r,i]],u=o?.constrain()(l,c,s);return o.transform(a,u),n[0]!==u.x||n[1]!==u.y||n[2]!==u.k},cancelConnection:()=>e({connectionNodeId:kKe.connectionNodeId,connectionHandleId:kKe.connectionHandleId,connectionHandleType:kKe.connectionHandleType,connectionStatus:kKe.connectionStatus,connectionStartHandle:kKe.connectionStartHandle,connectionEndHandle:kKe.connectionEndHandle}),reset:()=>e({...kKe})}),r=Object.is,n?WBe(n,r):WBe)),V.createElement(sHe,{value:t.current},e);var n,r};SKe.displayName="ReactFlowProvider";const EKe=({children:e})=>(0,V.useContext)(aHe)?V.createElement(V.Fragment,null,e):V.createElement(SKe,null,e);EKe.displayName="ReactFlowWrapper";const CKe={input:TUe,default:CUe,output:MUe,group:PUe},OKe={default:eUe,straight:XHe,step:GHe,smoothstep:QHe,simplebezier:HHe},TKe=[0,0],_Ke=[15,15],MKe={x:0,y:0,zoom:1},PKe={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},DKe=(0,V.forwardRef)(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=CKe,edgeTypes:a=OKe,onNodeClick:s,onEdgeClick:l,onInit:c,onMove:u,onMoveStart:f,onMoveEnd:h,onConnect:d,onConnectStart:p,onConnectEnd:g,onClickConnectStart:m,onClickConnectEnd:b,onNodeMouseEnter:w,onNodeMouseMove:v,onNodeMouseLeave:y,onNodeContextMenu:x,onNodeDoubleClick:A,onNodeDragStart:k,onNodeDrag:S,onNodeDragStop:E,onNodesDelete:C,onEdgesDelete:O,onSelectionChange:T,onSelectionDragStart:_,onSelectionDrag:M,onSelectionDragStop:P,onSelectionContextMenu:D,onSelectionStart:R,onSelectionEnd:I,connectionMode:N=$He.Strict,connectionLineType:$=FHe.Bezier,connectionLineStyle:L,connectionLineComponent:j,connectionLineContainerStyle:F,deleteKeyCode:z="Backspace",selectionKeyCode:B="Shift",selectionOnDrag:W=!1,selectionMode:q=jHe.Full,panActivationKeyCode:H="Space",multiSelectionKeyCode:U=(PHe()?"Meta":"Control"),zoomActivationKeyCode:K=(PHe()?"Meta":"Control"),snapToGrid:Q=!1,snapGrid:G=_Ke,onlyRenderVisibleElements:X=!1,selectNodesOnDrag:Y=!0,nodesDraggable:Z,nodesConnectable:J,nodesFocusable:ee,nodeOrigin:te=TKe,edgesFocusable:ne,edgesUpdatable:re,elementsSelectable:ie,defaultViewport:oe=MKe,minZoom:ae=.5,maxZoom:se=2,translateExtent:le=AKe,preventScrolling:ce=!0,nodeExtent:ue,defaultMarkerColor:fe="#b1b1b7",zoomOnScroll:he=!0,zoomOnPinch:de=!0,panOnScroll:pe=!1,panOnScrollSpeed:ge=.5,panOnScrollMode:me=LHe.Free,zoomOnDoubleClick:be=!0,panOnDrag:we=!0,onPaneClick:ve,onPaneMouseEnter:ye,onPaneMouseMove:xe,onPaneMouseLeave:Ae,onPaneScroll:ke,onPaneContextMenu:Se,children:Ee,onEdgeContextMenu:Ce,onEdgeDoubleClick:Oe,onEdgeMouseEnter:Te,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,onEdgeUpdate:Pe,onEdgeUpdateStart:De,onEdgeUpdateEnd:Re,onReconnect:Ie,onReconnectStart:Ne,onReconnectEnd:$e,reconnectRadius:Le=10,edgeUpdaterRadius:je=10,onNodesChange:Fe,onEdgesChange:ze,noDragClassName:Be="nodrag",noWheelClassName:We="nowheel",noPanClassName:qe="nopan",fitView:He=!1,fitViewOptions:Ue,connectOnClick:Ve=!0,attributionPosition:Ke,proOptions:Qe,defaultEdgeOptions:Ge,elevateNodesOnSelect:Xe=!0,elevateEdgesOnSelect:Ye=!1,disableKeyboardA11y:Ze=!1,autoPanOnConnect:Je=!0,autoPanOnNodeDrag:et=!0,connectionRadius:tt=20,isValidConnection:nt,onError:rt,style:it,id:ot,nodeDragThreshold:at,...st},lt)=>{const ct=ot||"1";return V.createElement("div",{...st,style:{...it,...PKe},ref:lt,className:NBe(["react-flow",i]),"data-testid":"rf__wrapper",id:ot},V.createElement(EKe,null,V.createElement(xKe,{onInit:c,onMove:u,onMoveStart:f,onMoveEnd:h,onNodeClick:s,onEdgeClick:l,onNodeMouseEnter:w,onNodeMouseMove:v,onNodeMouseLeave:y,onNodeContextMenu:x,onNodeDoubleClick:A,nodeTypes:o,edgeTypes:a,connectionLineType:$,connectionLineStyle:L,connectionLineComponent:j,connectionLineContainerStyle:F,selectionKeyCode:B,selectionOnDrag:W,selectionMode:q,deleteKeyCode:z,multiSelectionKeyCode:U,panActivationKeyCode:H,zoomActivationKeyCode:K,onlyRenderVisibleElements:X,selectNodesOnDrag:Y,defaultViewport:oe,translateExtent:le,minZoom:ae,maxZoom:se,preventScrolling:ce,zoomOnScroll:he,zoomOnPinch:de,zoomOnDoubleClick:be,panOnScroll:pe,panOnScrollSpeed:ge,panOnScrollMode:me,panOnDrag:we,onPaneClick:ve,onPaneMouseEnter:ye,onPaneMouseMove:xe,onPaneMouseLeave:Ae,onPaneScroll:ke,onPaneContextMenu:Se,onSelectionContextMenu:D,onSelectionStart:R,onSelectionEnd:I,onEdgeContextMenu:Ce,onEdgeDoubleClick:Oe,onEdgeMouseEnter:Te,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,onReconnect:Ie??Pe,onReconnectStart:Ne??De,onReconnectEnd:$e??Re,reconnectRadius:Le??je,defaultMarkerColor:fe,noDragClassName:Be,noWheelClassName:We,noPanClassName:qe,elevateEdgesOnSelect:Ye,rfId:ct,disableKeyboardA11y:Ze,nodeOrigin:te,nodeExtent:ue}),V.createElement(BUe,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:d,onConnectStart:p,onConnectEnd:g,onClickConnectStart:m,onClickConnectEnd:b,nodesDraggable:Z,nodesConnectable:J,nodesFocusable:ee,edgesFocusable:ne,edgesUpdatable:re,elementsSelectable:ie,elevateNodesOnSelect:Xe,minZoom:ae,maxZoom:se,nodeExtent:ue,onNodesChange:Fe,onEdgesChange:ze,snapToGrid:Q,snapGrid:G,connectionMode:N,translateExtent:le,connectOnClick:Ve,defaultEdgeOptions:Ge,fitView:He,fitViewOptions:Ue,onNodesDelete:C,onEdgesDelete:O,onNodeDragStart:k,onNodeDrag:S,onNodeDragStop:E,onSelectionDrag:M,onSelectionDragStart:_,onSelectionDragStop:P,noPanClassName:qe,nodeOrigin:te,rfId:ct,autoPanOnConnect:Je,autoPanOnNodeDrag:et,onError:rt,connectionRadius:tt,isValidConnection:nt,nodeDragThreshold:at}),V.createElement(LUe,{onSelectionChange:T}),Ee,V.createElement(dHe,{proOptions:Qe,position:Ke}),V.createElement(QUe,{rfId:ct,disableKeyboardA11y:Ze})))});DKe.displayName="ReactFlow";const RKe=e=>e.domNode?.querySelector(".react-flow__edgelabel-renderer");function IKe({children:e}){const t=cHe(RKe);return t?(0,Ic.createPortal)(e,t):null}function NKe(e){return t=>{const[n,r]=(0,V.useState)(t),i=(0,V.useCallback)(t=>r(n=>e(t,n)),[]);return[n,r,i]}}const $Ke=NKe(xVe),LKe=NKe(function(e,t){return yVe(e,t)}),jKe={includeHiddenNodes:!1};function FKe({position:e,x:t,y:n,children:r}){const i={center:"translate(-50%, -50%)",[BHe.Top]:"translate(-50%, -100%)",[BHe.Bottom]:"translate(-50%, 0)",[BHe.Left]:"translate(-100%, -50%)",[BHe.Right]:"translate(0, -50%)"};return V.createElement("div",{style:{position:"absolute",transform:`${i[e]} translate(${t}px,${n}px)`},className:"nodrag nopan"},r)}var zKe=a(6743);const BKe=new(a.n(zKe)());function WKe({hasLayoutedCallback:e,elkOptions:t}){const{getNodes:n,setNodes:r,getEdges:i,setEdges:o,fitView:a}=lVe(),s=Qa(()=>{e?.(),a({maxZoom:1.2})});return(0,V.useEffect)(()=>{(e=>{const a={"elk.direction":e,...t};((e,t,n={})=>{const r=t.map(e=>({...e,sources:[e.source],targets:[e.target]})),i={id:"root",layoutOptions:n,children:e.map(e=>({...e,width:e.width??0,height:e.height??0})),edges:r};return BKe.layout(i).then(e=>{const t={};return{nodes:e.children?.map(e=>{const n={...e,position:{x:e.x,y:e.y}};return t[e.id]=n,n}),edges:e.edges?.map(e=>{const t=e.sources?.at(0),n=e.targets?.at(0);return pa(t,"sourceNodeId"),pa(n,"targetNodeId"),{...e,source:t,target:n}})}})})(n(),i(),a).then(({nodes:e=[],edges:t=[]})=>{r([...e]),o([...t]),s()}).catch(console.error)})("RIGHT")},[]),null}const qKe=V.forwardRef(({children:e},t)=>V.createElement(Ds,{ref:t,sx:{height:"100%"}},e));function HKe({data:e,id:t,children:n}){const r=function(){const e=uHe();return(0,V.useCallback)(t=>{const{domNode:n,updateNodeDimensions:r}=e.getState(),i=(Array.isArray(t)?t:[t]).reduce((e,t)=>{const r=n?.querySelector(`.react-flow__node[data-id="${t}"]`);return r&&e.push({id:t,nodeElement:r,forceUpdate:!0}),e},[]);requestAnimationFrame(()=>r(i))},[])}(),{handles:i}=e;return(0,V.useEffect)(()=>{r(t)},[i,t,r]),V.createElement(V.Fragment,null,n,i.map(({id:e,type:t,position:n,x:r,y:i})=>{const o={left:r,top:i,background:"transparent",border:"none",pointerEvents:"none",minWidth:"1px",minHeight:"1px",transform:[BHe.Right,BHe.Bottom].includes(n??BHe.Bottom)?"translate(-100%, -100%)":"none"};return V.createElement(SUe,{key:e,id:e,type:t,position:n??BHe.Bottom,style:o})}))}function UKe(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}function VKe(){return V.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},V.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function KKe(){return V.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},V.createElement("path",{d:"M0 0h32v4.2H0z"}))}function QKe(){return V.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},V.createElement("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"}))}function GKe(){return V.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},V.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"}))}function XKe(){return V.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},V.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"}))}const YKe=({children:e,className:t,...n})=>V.createElement("button",{type:"button",className:NBe(["react-flow__controls-button",t]),...n},e);YKe.displayName="ControlButton";const ZKe=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),JKe=({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:o,onZoomOut:a,onFitView:s,onInteractiveChange:l,className:c,children:u,position:f="bottom-left"})=>{const h=uHe(),[d,p]=(0,V.useState)(!1),{isInteractive:g,minZoomReached:m,maxZoomReached:b}=cHe(ZKe,UKe),{zoomIn:w,zoomOut:v,fitView:y}=lVe();return(0,V.useEffect)(()=>{p(!0)},[]),d?V.createElement(hHe,{className:NBe(["react-flow__controls",c]),position:f,style:e,"data-testid":"rf__controls"},t&&V.createElement(V.Fragment,null,V.createElement(YKe,{onClick:()=>{w(),o?.()},className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:b},V.createElement(VKe,null)),V.createElement(YKe,{onClick:()=>{v(),a?.()},className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:m},V.createElement(KKe,null))),n&&V.createElement(YKe,{className:"react-flow__controls-fitview",onClick:()=>{y(i),s?.()},title:"fit view","aria-label":"fit view"},V.createElement(QKe,null)),r&&V.createElement(YKe,{className:"react-flow__controls-interactive",onClick:()=>{h.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),l?.(!g)},title:"toggle interactivity","aria-label":"toggle interactivity"},g?V.createElement(XKe,null):V.createElement(GKe,null)),u):null};JKe.displayName="Controls";var eQe,tQe=(0,V.memo)(JKe);function nQe(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}function rQe({color:e,dimensions:t,lineWidth:n}){return V.createElement("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function iQe({color:e,radius:t}){return V.createElement("circle",{cx:t,cy:t,r:t,fill:e})}!function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"}(eQe||(eQe={}));const oQe={[eQe.Dots]:"#91919a",[eQe.Lines]:"#eee",[eQe.Cross]:"#e2e2e2"},aQe={[eQe.Dots]:1,[eQe.Lines]:1,[eQe.Cross]:6},sQe=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function lQe({id:e,variant:t=eQe.Dots,gap:n=20,size:r,lineWidth:i=1,offset:o=2,color:a,style:s,className:l}){const c=(0,V.useRef)(null),{transform:u,patternId:f}=cHe(sQe,nQe),h=a||oQe[t],d=r||aQe[t],p=t===eQe.Dots,g=t===eQe.Cross,m=Array.isArray(n)?n:[n,n],b=[m[0]*u[2]||1,m[1]*u[2]||1],w=d*u[2],v=g?[w,w]:b,y=p?[w/o,w/o]:[v[0]/o,v[1]/o];return V.createElement("svg",{className:NBe(["react-flow__background",l]),style:{...s,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:c,"data-testid":"rf__background"},V.createElement("pattern",{id:f+e,x:u[0]%b[0],y:u[1]%b[1],width:b[0],height:b[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${y[0]},-${y[1]})`},p?V.createElement(iQe,{color:h,radius:w/o}):V.createElement(rQe,{dimensions:v,color:h,lineWidth:i})),V.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${f+e})`}))}lQe.displayName="Background";var cQe=(0,V.memo)(lQe);const uQe=vs((0,bo.jsx)("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8m-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91"}));var fQe=a(9671),hQe={};hQe.styleTagTransform=fT(),hQe.setAttributes=sT(),hQe.insert=oT().bind(null,"head"),hQe.domAPI=rT(),hQe.insertStyleElement=cT(),tT()(fQe.A,hQe),fQe.A&&fQe.A.locals&&fQe.A.locals;const dQe=e=>{const{fitView:t,setViewport:n}=lVe(),r=Qa(()=>{const{x:r=0,y:i=0,zoom:o=1}=e||{};n({x:r,y:i,zoom:o}),t({maxZoom:1.2})});return r};function pQe(e){return Number.isNaN(e)?0:e}var gQe,mQe,bQe,wQe;function vQe(e,t){const n=e.id,r=t[n];pa(r,`Node ${n} does not exist`);const i=e.data.handles.map(e=>{const{sourceId:i,targetId:o}=e;if(i!==n&&o!==n)throw new Error(`Handle ${e.id} does not belong to table ${n}`);const a=i===n?o:i,s=t[a];pa(s,`Node ${a} does not exist`);const l=function(e,t){const n=gQe.fromNode(e),r=function(e,t){const n=e.width/2,r=e.height/2,i=e.x+n,o=e.y+r,a=t.x+t.width/2,s=t.y+t.height/2,l=(a-i)/(2*n)-(s-o)/(2*r),c=(a-i)/(2*n)+(s-o)/(2*r),u=1/(Math.abs(l)+Math.abs(c)),f=u*l,h=u*c,d=r*(-f+h)+o;return{x:pQe(n*(f+h)+i),y:pQe(d)}}(n,gQe.fromNode(t)),i=function(e,t){const n=Math.round(e.x),r=Math.round(e.y),i=Math.round(t.x),o=Math.round(t.y);return i<=n+1?BHe.Left:i>=n+e.width-1?BHe.Right:o<=r+1?BHe.Top:o>=e.y+e.height-1?BHe.Bottom:BHe.Top}(n,r);return{position:i,x:r.x-n.x,y:r.y-n.y}}(r,s);return{...e,...l}});if(!r)throw new Error(`Node ${n} does not exist`);const o=(0,$R.groupBy)(i,e=>e.position??BHe.Top);return Object.entries(o).map(([e,t])=>function(e,t,n){const{width:r,height:i}=n,o=e.length,a=[BHe.Top,BHe.Bottom].includes(t)?r:i,s=[BHe.Top,BHe.Bottom].includes(t)?e.sort((e,t)=>e.x-t.x):e.sort((e,t)=>e.y-t.y),l=a/(o+1);return s.map((e,n)=>{const r=n+1;return{...e,x:[BHe.Top,BHe.Bottom].includes(t)?r*l:e.x,y:[BHe.Left,BHe.Right].includes(t)?r*l:e.y}})}(t,e,gQe.fromNode(r))).flat()}function yQe(e){const{nodes:t,edges:n,nodeTypes:r,edgeTypes:i,onEdgeMouseEnter:o,onEdgeMouseLeave:a,onNodeMouseEnter:s,onNodeMouseLeave:l,onNodeClick:c,elkOptions:u,sx:f={}}=e,{shouldDisplayPanel:h,panelContent:d}="shouldDisplayPanel"in e?e:{shouldDisplayPanel:!1,panelContent:null},p=function(e=jKe){const t=cHe((e=>t=>0!==t.nodeInternals.size&&t.getNodes().filter(t=>!!e.includeHiddenNodes||!t.hidden).every(e=>void 0!==e[EHe]?.handleBounds))(e));return t}(),[g,m,b]=$Ke(t),[w]=LKe(n),{saveFlowToRestore:v,restoreSavedFlow:y}=function(){const[e,t]=(0,V.useState)(null),{setNodes:n,setEdges:r,toObject:i}=lVe(),o=Qa(()=>t(i())),a=dQe(e?.viewport);return{saveFlowToRestore:o,restoreSavedFlow:Qa(()=>{e&&(n(e.nodes||[]),r(e.edges||[]),a())})}}(),x=(0,V.useMemo)(()=>(0,$R.throttle)(()=>{m(e=>{const t=function(e){const t=e.filter(e=>e.data.handles.length>0),n=(0,$R.keyBy)(t,e=>e.id);return t.reduce((e,t)=>{const r=vQe(t,n);return e[t.id]=r,e},{})}(e);return e.map(e=>{const n=t[e.id];return n&&!(0,$R.isEqual)(n,e.data.handles)?{...e,data:{...e.data,handles:n}}:e})})},20),[m]),A=(0,V.useCallback)(e=>{b(e),e.some(e=>"position"===e.type)&&x()},[b,x]),k=GUe("Control"),S=GUe("Meta"),E=dQe(),C=Va(E);return V.createElement(Ds,{sx:{width:"100%",display:"flex",overflow:"hidden",height:800,...f}},V.createElement(DKe,{ref:C,preventScrolling:k||S,minZoom:.1,nodes:g,edges:w,onNodesChange:A,nodeTypes:r,edgeTypes:i,onNodeClick:(e,t)=>c?.(t),onEdgeMouseEnter:(e,t)=>o?.(t),onEdgeMouseLeave:(e,t)=>a?.(t),onNodeMouseEnter:(e,t)=>s?.(t),onNodeMouseLeave:(e,t)=>l?.(t)},V.createElement(tQe,null,V.createElement(YKe,{onClick:y},V.createElement(uQe,{sx:{fontSize:"16px",maxWidth:"16px !important",maxHeight:"16px !important"}}))),V.createElement(cQe,{variant:eQe.Dots,gap:12,size:1}),p&&V.createElement(WKe,{elkOptions:u,hasLayoutedCallback:()=>{x(),v()}})),h&&d)}function xQe(e,t){return{id:`${e.id}_${t}`,x:1,y:1,type:t,position:null,sourceId:e.source,targetId:e.target}}!function(e){e.fromNode=function(e){return pa(e.width,"attempting layout on node without width"),pa(e.height,"attempting layout on node without height"),{x:e.position.x,y:e.position.y,width:e.width,height:e.height}}}(gQe||(gQe={})),function(e){e.createIffNode=function(e){return{...e,position:{x:1,y:1},data:{handles:[]}}}}(mQe||(mQe={})),function(e){e.createIffEdge=function(e,t,n){const r=`${e}_${t}_${ba(6)}`;return{id:r,source:e,target:t,sourceHandle:r+"_source",targetHandle:r+"_target",type:n}}}(bQe||(bQe={})),function(e){e.createHandles=function(e){return[xQe(e,"source"),xQe(e,"target")]}}(wQe||(wQe={}));var AQe=a(781),kQe={};kQe.styleTagTransform=fT(),kQe.setAttributes=sT(),kQe.insert=oT().bind(null,"head"),kQe.domAPI=rT(),kQe.insertStyleElement=cT(),tT()(AQe.A,kQe),AQe.A&&AQe.A.locals&&AQe.A.locals;const SQe={highlightedTablesColumns:{},highlightedEdgesIds:[]},EQe=(e,t)=>{switch(t.type){case"node activated":return{...e,panelState:"open",activeNodeId:t.payload};case"panel close requested":return"open"===e.panelState?{...e,panelState:"waiting for close animation"}:e;case"closing animation finished":return"waiting for close animation"===e.panelState?{...e,panelState:"closed",activeNodeId:null}:e;default:return e}},CQe=V.createContext({tableFlowData:{},edgeFlowData:{},hoveredEdgeId:null,setHoveredEdgeId:$R.noop,hoveredNodeId:null,setHoveredNodeId:$R.noop,highlightState:SQe,adbPanelState:{activeNodeId:null,panelState:"closed"},dispatchPanelAction:$R.noop});function OQe({tableFlowData:e,edgeFlowData:t,children:n}){const[r,i]=V.useState(null),[o,a]=V.useState(null),[s,l]=V.useReducer(EQe,{activeNodeId:null,panelState:"closed"}),c=(0,V.useMemo)(()=>r?{hoveredEdgeId:r,tableFlowData:e,edgeFlowData:t}:o?{hoveredNodeId:o,tableFlowData:e,edgeFlowData:t}:null,[r,o,e,t]),u=(0,V.useMemo)(()=>c?function(e){if("hoveredEdgeId"in e){const{hoveredEdgeId:t,edgeFlowData:n}=e;return function(e){const t={};return t[e.sourceTableId]=e.er.src.key,t[e.targetTableId]=e.er.dst.key,{highlightedTablesColumns:t,highlightedEdgesIds:[e.id]}}(ga(n[t],"edgeFlowData must have hoveredEdgeId"))}if("hoveredNodeId"in e){const{hoveredNodeId:t,tableFlowData:n,edgeFlowData:r}=e;return function(e,t){const n=t.filter(t=>t.targetTableId===e.id||t.sourceTableId===e.id),r={};for(const e of n)r[e.sourceTableId]=r[e.sourceTableId]?[...r[e.sourceTableId]??[],...e.er.src.key]:e.er.src.key,r[e.targetTableId]=r[e.targetTableId]?[...r[e.targetTableId]??[],...e.er.dst.key]:e.er.dst.key;return{highlightedTablesColumns:r,highlightedEdgesIds:n.map(e=>e.id)}}(ga(n[t],"tableFlowData must have hoveredNodeId"),Object.values(r))}throw new Error("getHighlightedTablesColumnsAndHighlightedEdgesIds requires either edge or node to be passed in args.params")}(c):SQe,[c]),f=V.useMemo(()=>({tableFlowData:e,edgeFlowData:t,hoveredEdgeId:r,setHoveredEdgeId:i,hoveredNodeId:o,setHoveredNodeId:a,highlightState:u,adbPanelState:s,dispatchPanelAction:l}),[r,i,o,a,e,t,u,s,l]);return V.createElement(CQe.Provider,{value:f},n({setHoveredEdgeId:i,setHoveredNodeId:a,hoveredEdgeId:r,adbPanelState:s,dispatchPanelAction:l}))}function TQe(){return V.useContext(CQe)}function _Qe({cardinality:e,shouldDisplayCardinality:t}){const n={padding:"0px",border:"solid 1px "+(t?"#0086CC":"#b1b1b7"),transition:"all 50ms ease",width:t?"1.4em":"5px",height:t?"1.4em":"5px",display:"flex",justifyContent:"center",alignItems:"center",background:"white",borderRadius:t?"3px":"100%",fontSize:12};return V.createElement(ia,{elevation:0,sx:n},V.createElement(oD,{in:t,timeout:50},V.createElement(Ro,{sx:{fontSize:"inherit"}},e)))}const MQe={visibility:"hidden"},PQe={};function DQe(e,t,n,r){var i;const o=function(e,t,n,r=PQe){const{resetInlineTransform:i=!0}=r,o=n&&n.getBoundingClientRect(),a=NP(t);let s,l;if(i){const e=t.style.transform,n=t.style.transition;t.style.transition="",t.style.transform="",s=t.getBoundingClientRect(),l=a.getComputedStyle(t).getPropertyValue("transform"),t.style.transform=e,t.style.transition=n}else s=t.getBoundingClientRect(),l=a.getComputedStyle(t).getPropertyValue("transform");const{offsetX:c,offsetY:u}=function(e){if(!e||"none"===e)return Ho;const t=function(e){const t=e.match(/^(matrix|matrix3d|translate|translate3d|translateX|translateY)\((.+)\)$/);return t?{type:t[1],values:t[2].split(",").map(Go)}:null}(e);if(!t)return Ho;const{type:n,values:r}=t,i=Qo[n];return i?{offsetX:Xo(r,i[0]),offsetY:Xo(r,i[1])}:Ho}(l);return"left"===e?o?`translateX(${o.right+c-s.left}px)`:`translateX(${a.innerWidth+c-s.left}px)`:"right"===e?o?`translateX(-${s.right-o.left-c}px)`:`translateX(-${s.left+s.width-c}px)`:"up"===e?o?`translateY(${o.bottom+u-s.top}px)`:`translateY(${a.innerHeight+u-s.top}px)`:o?`translateY(-${s.top-o.top+s.height-u}px)`:`translateY(-${s.top+s.height-u}px)`}(e,t,"function"==typeof(i=n)?i():i,r);o&&(t.style.transform=o)}const RQe=V.forwardRef(function(e,t){const n=zo(),r={enter:n.transitions.easing.easeOut,exit:n.transitions.easing.sharp},i={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{addEndListener:o,appear:a=!0,children:s,container:l,disablePrefersReducedMotion:c=!1,direction:u="down",easing:f=r,in:h,onEnter:d,onEntered:p,onEntering:g,onExit:m,onExited:b,onExiting:w,style:v,timeout:y=i,...x}=e,A=Ys(n.motion.reducedMotion,c),k=V.useRef(null),S=V.useRef(!1),E=Js(zs(s),k,t),C=Yo(k,(e,t)=>{DQe(u,e,l),A.shouldReduceMotion||qo(e),d&&d(e,t)}),O=Yo(k,(e,t)=>{const r=Jo({timeout:y,style:v,easing:f},{mode:"enter"}),i=A.getTransitionTiming({duration:r.duration,delay:r.delay});e.style.transition=n.transitions.create("transform",{duration:i.duration,easing:r.easing,delay:i.delay}),e.style.transform="none",g&&g(e,t)}),T=Yo(k,p),_=Yo(k,w),M=Yo(k,e=>{const t=Jo({timeout:y,style:v,easing:f},{mode:"exit"}),r=A.getTransitionTiming({duration:t.duration,delay:t.delay});e.style.transition=n.transitions.create("transform",{duration:r.duration,easing:t.easing,delay:r.delay});const i="string"==typeof(o=e.style.transform)&&/^translate\(.+,\s*.+\)$/.test(o);var o;S.current=i,DQe(u,e,l,{resetInlineTransform:!i}),m&&m(e)}),P=Yo(k,e=>{S.current=!1,e.style.transition="",b&&b(e)}),D=o?e=>{o(k.current,e)}:void 0,R=V.useCallback(()=>{k.current&&DQe(u,k.current,l)},[u,l]);return V.useEffect(()=>{if(h||"down"===u||"right"===u)return;const e=QP(()=>{k.current&&DQe(u,k.current,l)}),t=NP(k.current);return t.addEventListener("resize",e),()=>{e.clear(),t.removeEventListener("resize",e)}},[u,h,l]),V.useEffect(()=>{h||S.current||R()},[h,R]),(0,bo.jsx)(qs,{nodeRef:k,onEnter:C,onEntered:T,onEntering:O,onExit:M,onExited:P,onExiting:_,addEndListener:D,appear:a,in:h,reduceMotion:A.shouldReduceMotion,timeout:y,...x,children:(e,{ownerState:t,...n})=>{let r;return r="exited"!==e||h?v&&s.props.style?{...v,...s.props.style}:v||s.props.style:v||s.props.style?{visibility:"hidden",...v,...s.props.style}:MQe,V.cloneElement(s,{ref:E,style:r,...n})}})}),IQe=RQe,NQe=Wje(),$Qe=({children:e})=>V.createElement(qje,{direction:"column",sx:{gap:"6px",width:"100%"}},e),LQe=({children:e})=>V.createElement(Ro,{variant:"subtitle2"},e),jQe=({maxHeight:e=150,children:t})=>V.createElement(Ds,{sx:{maxHeight:`${e}px`,overflowY:"auto",padding:"6px 12px",borderRadius:"6px",border:"1px solid #CDD5DF"}},t),FQe=({children:e})=>V.createElement(Ds,{sx:{display:"grid",width:"100%",gridTemplateColumns:"1fr fit-content(50%)",gap:"8px",alignItems:"center"}},e),zQe=({variant:e="online",color:t="text.primary",children:n})=>"multiline"===e?V.createElement(Ro,{variant:"body1"},n):V.createElement(m_,{title:n,typographyProps:{variant:"body1",color:t}},V.createElement(V.Fragment,null,n)),BQe=({availability:e})=>V.createElement($Qe,null,V.createElement(LQe,null,"Data Availability"),V.createElement(jQe,null,V.createElement(FQe,null,V.createElement(zQe,null,e?.column??"-"),V.createElement(zQe,{color:"text.secondary"},e?.lead_time??"-")))),WQe=({table:e})=>{let t=V.createElement(Ds,{sx:{display:"flex"}},V.createElement(zQe,null,"-"));if(e.disabled_columns&&e.disabled_columns.length>0){const n=(0,$R.keyBy)(e.columns,"column_name");t=e.disabled_columns.map(t=>{const r=n[t];return pa(r,`Column ${t} not found in table ${e.table_name}`),V.createElement(FQe,{key:r.column_name},V.createElement(zQe,null,r.column_name),V.createElement(zQe,{color:"text.secondary"},r.dtype))})}return V.createElement($Qe,null,V.createElement(LQe,null,"Disabled Columns"),V.createElement(jQe,null,t))},qQe=vs((0,bo.jsx)("path",{d:"M10 10.02h5V21h-5zM17 21h3c1.1 0 2-.9 2-2v-9h-5zm3-18H5c-1.1 0-2 .9-2 2v3h19V5c0-1.1-.9-2-2-2M3 19c0 1.1.9 2 2 2h3V10H3z"})),HQe=({tableName:e,onClose:t,rightSlot:n})=>V.createElement(Ds,{sx:{display:"flex",alignItems:"flex-end",gap:"16px"}},V.createElement(Ds,{sx:{display:"flex",alignItems:"center",gap:"16px",minWidth:"0",flex:"1"}},V.createElement(Ds,{sx:e=>({display:"flex",padding:"10px",borderRadius:"8px",border:`1px solid ${e.palette.grey[200]}`})},V.createElement(qQe,{sx:{width:"18px",height:"18px"}})),V.createElement(m_,{title:e,typographyProps:{variant:"h6"}},V.createElement("span",{"data-testid":S.nodeDetailsHeader},e)),n),V.createElement(nf,{"data-testid":S.nodeDetailsCloseButton,sx:{marginLeft:"auto",flex:"0 0 auto",alignSelf:"flex-start",padding:"8px"},size:"small",onClick:t},V.createElement(W_,{sx:{width:"20px",height:"20px"}})));HQe.RightSlot=({children:e})=>V.createElement(Ds,{sx:{marginLeft:"auto"}},e);const UQe=({predictionTimes:e})=>V.createElement($Qe,null,V.createElement(LQe,null,"Prediction Target Time"),V.createElement(jQe,null,V.createElement(FQe,null,V.createElement(zQe,null,e?.prediction_target_time??"-"),V.createElement(zQe,{color:"text.secondary"},e?.prediction_lead_time??"-")))),VQe=({primaryKey:e})=>{const t=e&&e.length>0?e.join(", "):"-";return V.createElement($Qe,null,V.createElement(LQe,null,"Primary Key"),V.createElement(jQe,null,V.createElement(zQe,null,t)))},KQe=({label:e,value:t,variant:n="multiline"})=>V.createElement($Qe,null,V.createElement(LQe,null,e),V.createElement(jQe,null,V.createElement(zQe,{variant:n},t))),QQe=({tableData:e,onClosePanel:t})=>(V.useEffect(()=>{const e=e=>{"Escape"===e.key&&t()};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[t]),V.createElement(V.Fragment,null,V.createElement(HQe,{tableName:e.table.table_name,onClose:t}),V.createElement(NQe,{spacing:"24px",sx:{pt:"24px"}},V.createElement(KQe,{label:"Description",value:e.table.description??"-"}),V.createElement(BQe,{availability:e.table.availability}),V.createElement(WQe,{table:e.table})))),GQe="#c5e1f0",XQe="rgb(37, 173, 13)",YQe=()=>V.createElement(jo,{sx:{display:"inline-flex",alignItems:"center",color:"white",bgcolor:XQe,fontSize:"10px",borderRadius:"0.4em",padding:"0 5px",textTransform:"uppercase",fontWeight:"700",height:"1.6em",lineHeight:"normal",letterSpacing:"0.05px"}},"target"),ZQe=({tableData:e,onClosePanel:t})=>V.createElement(V.Fragment,null,V.createElement(HQe,{tableName:e.table.table_name,onClose:t,rightSlot:V.createElement(HQe.RightSlot,null,V.createElement(YQe,null))}),V.createElement(NQe,{spacing:"24px","data-testid":S.targetTableContent,sx:{pt:"24px"}},V.createElement(KQe,{label:"Description",value:e.table.description??"-"}),V.createElement(VQe,{primaryKey:e.target.primary_key}),V.createElement(KQe,{variant:"online",label:"Prediction Type",value:e.target.prediction_type??"-"}),V.createElement(KQe,{variant:"online",label:"Target Column",value:e.target.target_column??"-"}),V.createElement(UQe,{predictionTimes:e.target.prediction_times}))),JQe=({tableData:e,onClosePanel:t})=>{if(V.useEffect(()=>{const e=e=>{"Escape"===e.key&&t()};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[t]),!e)return null;const n=DMe(e).with({kind:"target"},e=>V.createElement(ZQe,{tableData:e,onClosePanel:t})).with({kind:"source"},e=>V.createElement(QQe,{tableData:e,onClosePanel:t})).exhaustive();return V.createElement(Ds,{"data-testid":S.nodeDetails,sx:{height:"100%",paddingTop:1,paddingBottom:1,boxSizing:"border-box"}},V.createElement(ia,{sx:{height:"100%",boxSizing:"border-box",width:"min(90vw, 400px)",padding:"24px 24px 0 24px"}},n))},eGe=()=>{const{adbPanelState:e,dispatchPanelAction:t,tableFlowData:n}=TQe();if("closed"===e.panelState)return null;const r=n[e.activeNodeId??""]??null,i="open"===e.panelState;return V.createElement(IQe,{direction:"left",in:i,mountOnEnter:!0,unmountOnExit:!0,onExited:()=>{t({type:"closing animation finished"})}},V.createElement(qKe,null,V.createElement(JQe,{tableData:r,onClosePanel:()=>{t({type:"panel close requested"})}})))},tGe=["availabilityColumns","erColumns","otherColumns"],nGe=["primaryKeyColumns","predictionTargetTimeColumn","targetColumn","erColumns","otherColumns","systemColumns"];function rGe({table_name:e,columns:t},n,r){const i=n.primary_key??[],o=oGe(n._target_column_origin),a=oGe(n.prediction_times?.prediction_target_time),s=Array.from(r[e]??[]),l=aGe(t,o,i,o,a,s),[c,u]=function(e){const t=["__sample","__target"],n=e.filter(e=>t.includes(e));return[(0,$R.difference)(e,n),n]}(l);return{primaryKeyColumns:i,predictionTargetTimeColumn:a,targetColumn:o,erColumns:s,systemColumns:u,otherColumns:c}}function iGe({table_name:e,availability:t,columns:n},r){const i=Array.from(r[e]??[]),o=oGe(t?.column);return{erColumns:i,availabilityColumns:o,otherColumns:aGe(n,o,i)}}function oGe(e){return e?[e]:[]}function aGe(e,...t){return(0,$R.difference)(e.map(function(e){return e.column_name}),t.flat(),"column_name")}var sGe,lGe;function cGe(e){const t=e.src.key.join(", "),n=e.dst.key.join(", ");return t!==n?`${t} — ${n}`:t}!function(e){e.isTargetTableData=function(e){return"target"===e.kind},e.isSourceTableData=function(e){return"source"===e.kind}}(sGe||(sGe={})),function(e){e.createAdbTableFlowData=function(e,t,n){return e.table_name===t?.table_name?{kind:"target",table:e,id:e.table_name,target:t,columnsGroupsConfig:rGe(e,t,n)}:{kind:"source",id:e.table_name,table:e,columnsGroupsConfig:iGe(e,n)}}}(sGe||(sGe={})),function(e){e.createAdbErFlowData=function(e,t,n,r){return{id:e,er:r,sourceTableId:t,targetTableId:n,label:cGe(r)}}}(lGe||(lGe={}));const uGe=ho(({isHighlighted:e,...t})=>V.createElement("button",{...t}))(({isHighlighted:e,theme:t})=>({...t.typography.body1,fontWeight:400,paddingTop:3,paddingBottom:3,display:"flex",alignItems:"center",paddingInline:"8px",border:"none",background:e?GQe:"transparent",cursor:"pointer"}));function fGe({otherColumnsCount:e,isHighlighted:t}){if(!e)return null;const n=1===e?`${e} more column...`:`${e} more columns...`;return V.createElement(uGe,{"data-testid":S.tableMoreButton,isHighlighted:t},n)}function hGe({columnName:e,columnType:t,isHighlighted:n,type:r="normal"}){const i="target"===r?{fontWeight:600}:{fontWeight:"normal"};return V.createElement(Ds,{"data-testid":S.getTableCell(e),sx:{px:"8px",py:"3px",display:"flex",alignItems:"center",gap:"8px",boxSizing:"border-box",justifyContent:"space-between",bgcolor:n?GQe:void 0}},"target"===r&&V.createElement("div",{style:{backgroundColor:XQe,width:"4px",alignSelf:"stretch",marginRight:"-6px",marginLeft:"-8px"}}),V.createElement(p_,{title:e,childrenStyle:{flex:1}},V.createElement(Ro,{variant:"body1",sx:{fontWeight:i.fontWeight,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",lineHeight:1.5}},e)),V.createElement(Ro,{variant:"body1",sx:{fontWeight:i.fontWeight,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",lineHeight:1.5}},t))}function dGe({table:e,highlightedColumns:t,displayedColumnsNames:n,target:r}){const i=e.columns,o=(0,$R.keyBy)(i,"column_name"),a=i.length-n.length,s=e=>r&&e===r._target_column_origin?"target":"normal";return V.createElement(Ds,{className:"adb-table-body",sx:{display:"flex",flexDirection:"column"}},n.map(e=>o[e]&&V.createElement(hGe,{key:e,columnName:e,columnType:o[e].dtype,isHighlighted:t?.includes(e),type:s(e)})),V.createElement(fGe,{otherColumnsCount:a}))}function pGe({tableName:e,isTarget:t,children:n}){return V.createElement(Ds,{sx:{bgcolor:"#5c5f61",p:"8px",display:"flex",alignItems:"center"}},V.createElement(p_,{title:e,childrenStyle:{marginRight:"auto"}},V.createElement(Ro,{variant:"body1",sx:{color:"white",lineHeight:"1.5",overflow:"hidden",textOverflow:"ellipsis",fontWeight:"500",textWrap:"nowrap"}},e)),t&&V.createElement(Ds,{"data-testid":S.targetLabel,sx:{display:"inline-flex",alignItems:"center",color:"white",bgcolor:XQe,fontSize:"10px",borderRadius:"0.4em",padding:"0 5px",textTransform:"uppercase",fontWeight:"700",height:"1.6em",lineHeight:"normal",letterSpacing:"0.05px"}},"target"),n)}function gGe({table:e,highlightedColumns:t,displayedColumnsNames:n,target:r,isSelected:i=!1}){return V.createElement(Ds,{sx:{width:"240px",bgcolor:"#FAFAFA",borderRadius:"4px",overflow:"hidden",border:i?"1px solid #4fc3f7":"1px solid #b1b1b7",cursor:"pointer"}},V.createElement(pGe,{tableName:e.table_name,isTarget:!!r}),V.createElement(dGe,{table:e,target:r,highlightedColumns:t,displayedColumnsNames:n}))}function mGe({id:e}){const{hoveredEdgeId:t,hoveredNodeId:n,tableFlowData:r,highlightState:i,adbPanelState:o}=TQe(),a=i.highlightedTablesColumns[e],s=r[e];pa(s,"Table flow data not found");const l=sGe.isTargetTableData(s)?s.target:null,c=!!t||!!n,u=!(0,$R.isEmpty)(i.highlightedTablesColumns),f=c&&u&&!a?"opacity(0.5)":"",h=o.activeNodeId===e,d=(e=>{if(sGe.isSourceTableData(e))return bGe({columnsGroupsConfig:e.columnsGroupsConfig,columnsGroupsOrder:tGe});if(sGe.isTargetTableData(e))return bGe({columnsGroupsConfig:e.columnsGroupsConfig,columnsGroupsOrder:nGe});throw new Error("Unknown table data type")})(s);return V.createElement("div",{style:{filter:f}},V.createElement(gGe,{isSelected:h,table:s.table,target:l,highlightedColumns:a,displayedColumnsNames:d}))}function bGe({columnsGroupsConfig:e,columnsGroupsOrder:t,minimalAmountOfColumns:n=10}){const r=t.filter(e=>"otherColumns"!==e),i=(0,$R.chain)(r).map(t=>e[t]).flatten().uniq().value().length;if(i>=n)return wGe(e,r);const o=n-i,a=e.otherColumns.slice(0,o);return wGe({...e,otherColumns:a},t)}function wGe(e,t){return(0,$R.chain)(t).map(t=>e[t]).filter(_a).flatten().uniq().value()}const vGe=(0,V.memo)(({er:e,open:t,children:n})=>V.createElement(hu,{"data-testid":S.edgeDetails,open:t,title:e&&V.createElement(Ds,{sx:{padding:"8px"}},V.createElement(Ds,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"}},V.createElement(Ro,{variant:"body2",sx:{mr:"20px"}},e.src.table_name),V.createElement(Ro,{variant:"body2",sx:{ml:"20px"}},e.dst.table_name)),V.createElement("br",null),(0,$R.zip)(e.src.key,e.dst.key).map(([e,t],n)=>V.createElement(Ds,{key:n,sx:{display:"flex",justifyContent:"space-between"}},V.createElement(Ds,{component:"span",sx:{mr:"20px"}},e),V.createElement(Ds,{component:"span",sx:{ml:"20px"}},t)))),followCursor:!0,slotProps:{tooltip:{sx:{padding:"0px"}},transition:{exit:!1}}},n));function yGe(e){const{edges:t,nodes:n,erIdMap:r}=function(e){const t=[],n=new Map,r=new Map,i=e.entity_relationships;for(const e of i){const i=e.src.table_name,o=e.dst.table_name,a=n.get(i)??mQe.createIffNode({id:i,type:"adbTable"}),s=n.get(o)??mQe.createIffNode({id:o,type:"adbTable"}),l=bQe.createIffEdge(i,o,"adbEdge");r.set(l.id,e);const[c,u]=wQe.createHandles(l);a.data.handles.push(c),s.data.handles.push(u),t.push(l),n.set(a.id,a),n.set(s.id,s)}for(const t of e.tables)if(!n.get(t.table_name)){const e=mQe.createIffNode({id:t.table_name,type:"adbTable"});n.set(e.id,e)}return{edges:t,nodes:[...n.values()],erIdMap:r}}(e),{flowDataEdges:i,flowDataNodes:o}=function(e,t,n){const r=function(e){const t={};return e.reduce((e,t)=>{n(t.src.table_name),n(t.dst.table_name),function(e,t){if(e.length!==t.length)throw new Error(`Expected arrays to be of equal length: ${e.length} !== ${t.length}`)}(t.src.key,t.dst.key);for(const[n,r]of(0,$R.zip)(t.src.key,t.dst.key))e[t.src.table_name]?.add(n),e[t.dst.table_name]?.add(r);return e},t);function n(e){t[e]||(t[e]=new Set)}}(e.entity_relationships),i=(0,$R.keyBy)(e.tables,"table_name"),o=new Map,a=[];for(const s of t){const t=s.source,l=s.target,c=o.get(t)??sGe.createAdbTableFlowData(ga(i[t],"tablesMap must have sourceId"),e.target,r),u=o.get(l)??sGe.createAdbTableFlowData(ga(i[l],"tablesMap must have targetId"),e.target,r),f=n.get(s.id);pa(f,"edge must have a corresponding er");const h=lGe.createAdbErFlowData(s.id,t,l,f);a.push(h),o.set(c.id,c),o.set(u.id,u)}for(const t of e.tables)if(!o.get(t.table_name)){const n=sGe.createAdbTableFlowData(t,e.target,r);o.set(n.id,n)}return{flowDataEdges:(0,$R.keyBy)(a,"id"),flowDataNodes:Object.fromEntries(o)}}(e,t,r);return{edges:t,nodes:n,flowDataEdges:i,flowDataNodes:o}}const xGe={adbTable:e=>V.createElement(HKe,{...e},V.createElement(mGe,{...e}))},AGe={adbEdge:function({id:e,sourceX:t,sourceY:n,targetX:r,targetY:i,sourcePosition:o,targetPosition:a}){const{hoveredEdgeId:s,hoveredNodeId:l,edgeFlowData:c,highlightState:u}=TQe(),f=c[e],h=u.highlightedEdgesIds.includes(e);pa(f,"AdbEdge - data");const[d]=KHe({sourceX:t,sourceY:n,targetX:r,targetY:i,sourcePosition:o,targetPosition:a,offset:10}),p=(()=>{const e={};return h?e.stroke="#0086CC":(s||l)&&(e.filter="opacity(0.5)"),e})();return V.createElement(V.Fragment,null,V.createElement(DHe,{path:d,style:p}),V.createElement(IKe,null,V.createElement(FKe,{position:a,x:r,y:i},V.createElement(_Qe,{shouldDisplayCardinality:!!h,cardinality:f?.er.dst.cardinality??"-"}))),V.createElement(IKe,null,V.createElement(FKe,{position:o,x:t,y:n},V.createElement(_Qe,{shouldDisplayCardinality:!!h,cardinality:f.er.src.cardinality??"-"}))))}},kGe={"elk.algorithm":"layered","elk.spacing.nodeNode":"80","elk.edgeRouting":"ORTHOGONAL","elk.layered.spacing.nodeNodeBetweenLayers":"100","layered.nodePlacement.strategy":"NETWORK_SIMPLEX"};function SGe({value:e}){const{edges:t,nodes:n,flowDataEdges:r,flowDataNodes:i}=(0,V.useMemo)(()=>yGe(e),[e]);return V.createElement(OQe,{edgeFlowData:r,tableFlowData:i},({setHoveredEdgeId:e,setHoveredNodeId:i,hoveredEdgeId:o,adbPanelState:a,dispatchPanelAction:s})=>{const l="open"===a.panelState||"waiting for close animation"===a.panelState;return V.createElement(vGe,{open:!!o,er:r[o??""]?.er},V.createElement("div",null,V.createElement(SKe,null,V.createElement(yQe,{nodes:n,edges:t,nodeTypes:xGe,edgeTypes:AGe,shouldDisplayPanel:l,panelContent:V.createElement(eGe,null),onEdgeMouseEnter:t=>{return n=t.id,void e(n);var n},onEdgeMouseLeave:()=>{e(null)},onNodeMouseEnter:e=>{return t=e.id,void i(t);var t},onNodeMouseLeave:()=>{i(null)},onNodeClick:e=>{var t;(t=e.id)!==a.activeNodeId?s({type:"node activated",payload:t}):s({type:"panel close requested"})},elkOptions:kGe}))))})}function EGe(){const[e]=Za("value");return V.createElement(SGe,{value:e})}const CGe={value:{tables:[],entity_relationships:[],target:null}};class OGe extends RBe.DOMWidgetModel{defaults(){return{...super.defaults(),_model_name:"AdbWidgetModel",_model_module:y,_model_module_version:v,_view_name:"AdbWidgetView",_view_module:y,_view_module_version:v,_module_version:v,...CGe}}static serializers={...RBe.DOMWidgetModel.serializers}}class TGe extends RBe.DOMWidgetView{render(){try{const e=V.createElement(DBe,{additionalClasses:["adb-widget"],model:this.model},V.createElement(EGe,null));IBe.createRoot(this.el).render(e)}catch(e){console.error("AdbWidgetView",e)}}}const _Ge=({alert:e})=>{const t=ha();return V.createElement(Ts,{type:e.type,title:e.header,msg:e.msg&&d_({msg:e.msg},t)("msg"),sx:{maxWidth:"900px"}})},MGe=()=>V.createElement(Ds,{"data-testid":P},V.createElement(_Ge,{alert:{header:"Nothing to show",type:oa.SUCCESS,msg:null}})),PGe=(0,V.createContext)(void 0),DGe=({children:e,transformationApi:t})=>V.createElement(PGe.Provider,{value:t},e),RGe=[oa.ERROR,oa.WARNING,oa.INFO],IGe={[oa.INFO]:{message:"Information",color:"textPrimary"},[oa.WARNING]:{message:"Warning",color:"warning.main"},[oa.ERROR]:{message:"Critical Error",color:"error.main"},[oa.SUCCESS]:{message:"No Issues",color:"textPrimary"}};var NGe;!function(e){e.ADDED="added",e.IGNORED="ignored",e.NEEDS_REVIEW="needs_review"}(NGe||(NGe={}));const $Ge=["id","details","status"],LGe=({sx:e={},onClick:t,children:n,testId:r})=>V.createElement(YO,{variant:"outlined",sx:{backgroundColor:"#F8FAFC",textTransform:"none",color:"#202939",borderColor:"#CDD5DF",...e},size:"small",onClick:t,"data-testid":r},n),jGe=(e,t)=>"function"==typeof e?{...t,accessorFn:e}:{...t,accessorKey:e},FGe=e=>e,zGe=({data:e,hasStatusProperty:t,updateStatus:n})=>{const r=ha(),i=(0,V.useMemo)(()=>e.columns.filter(e=>!$Ge.includes(e)).map(e=>FGe({header:e,cell:({row:t})=>V.createElement(m_,{title:t.original[e]?.toString()||"null"},V.createElement("span",null,t.original[e]?.toString()||"null"))})),[e.columns]),o=(0,V.useMemo)(()=>[FGe({header:"",id:"expander",meta:{gridColumnSize:"34px",align:"center"},cell:({row:e})=>e.original.details?V.createElement(nf,{"aria-label":e.getIsExpanded()?"Collapse row":"Expand row","data-testid":N(e.original.id),size:"small",onClick:()=>{e.toggleExpanded()}},e.getIsExpanded()?V.createElement(FO,null):V.createElement(jO,null)):null}),...i,...t?[jGe("status",{header:"Status",cell:({row:e})=>V.createElement(V.Fragment,null,e.original.status&&V.createElement(BGe,{status:e.original.status,"data-testid":$(e.original.id)})),meta:{gridColumnSize:"120px"}}),jGe("actions",{header:"Actions",cell:({row:e})=>V.createElement(V.Fragment,null,e.original.status&&V.createElement(WGe,{transformationId:e.original.id,status:e.original.status,onStatusChange:n})),meta:{gridColumnSize:"160px"}})]:[]],[i,t,n]);return V.createElement(sje,{data:e.rows,columns:o,pagination:{initialPageSize:10,pageSizeOptions:[5,10,25,50]},sx:{cell:{minHeight:"38px"}},rowDetails:{getRowCanExpand:e=>!!e.original.details,renderExpandedContent:(e,t)=>{return V.createElement(Ro,{component:"div",variant:"body1","data-testid":j(t.original.id),sx:{p:4,mr:"250px"}},t.original.details&&(n=t.original.details,i=t.original.id,d_({details:n},r)("details",{code_block:(e,t)=>V.createElement(yT,{sx:{maxWidth:"900px"},isCopyButtonEnabled:r?.areNavigatorClipboardWritePermissionsGranted,code:Pa(qT(e,t)),"data-testid":F(i)})})));var n,i}}})},BGe=({status:e,...t})=>V.createElement("span",{...t},e===NGe.NEEDS_REVIEW&&V.createElement(O_,{label:"Needs Review",color:"warning",variant:"outlined",size:"small"}),e===NGe.ADDED&&V.createElement(O_,{label:"Added",color:"success",variant:"outlined",size:"small"}),e===NGe.IGNORED&&V.createElement(O_,{label:"Ignored",color:"default",variant:"outlined",size:"small"})),WGe=({transformationId:e,status:t,onStatusChange:n})=>{const{triggerAction:r,isBusy:i}=Ua(n);return V.createElement(Ds,{sx:{display:"flex",gap:2,padding:1,flex:"1 0 auto"}},i?V.createElement(Ds,{sx:{display:"flex",alignItems:"center",marginLeft:"auto",marginRight:"auto"}},V.createElement(Xu,{size:16})):t===NGe.NEEDS_REVIEW?V.createElement(V.Fragment,null,V.createElement(LGe,{testId:L(e,"add"),onClick:()=>r(e,NGe.ADDED)},"Add"),V.createElement(LGe,{testId:L(e,"ignore"),onClick:()=>r(e,NGe.IGNORED)},"Ignore")):V.createElement(LGe,{testId:L(e,"undo"),onClick:()=>r(e,NGe.NEEDS_REVIEW)},"Undo"))},qGe=({section:e,sx:t})=>{const{data:n,status:r,msg:i,header:o,hasStatuses:a}=e,s=(()=>{const e=(0,V.useContext)(PGe);if(e)return e;throw new Error("useTransformation() can only be used within TransformationProvider")})(),l=ha(),{triggerAction:c,isBusy:u}=Ua(s.updateTransformationStatuses);function f(e){const t={};n.rows.forEach(n=>{t[n.id]=e}),c({transformations:t})}const h=(0,V.useMemo)(()=>a?{columns:n.columns,rows:n.rows.map(e=>({...e,status:s.transformationStatuses[e.id]??NGe.NEEDS_REVIEW}))}:n,[n,a,s.transformationStatuses]);return V.createElement(ia,{variant:"outlined","data-testid":R(a?"required":"optional"),sx:{...t,display:"flex",flexDirection:"column",padding:3}},V.createElement(tMe,{variant:"row",gap:6,sx:{mb:2,ml:1,gridTemplateColumns:"auto 250px"}},V.createElement(Os,{type:r,title:o},i&&d_({msg:i},l)("msg")),a&&V.createElement(Ds,{sx:{display:"flex",gap:3,justifyContent:"flex-end",alignItems:"end"}},u?V.createElement(Xu,{size:16}):V.createElement(V.Fragment,null,V.createElement(LGe,{testId:I("add-all"),onClick:()=>f(NGe.ADDED)},"Add all"),V.createElement(LGe,{testId:I("ignore-all"),onClick:()=>f(NGe.IGNORED)},"Ignore all"),V.createElement(LGe,{testId:I("undo-all"),onClick:()=>f(NGe.NEEDS_REVIEW)},"Undo all")))),V.createElement(Ds,null,V.createElement(zGe,{data:h,hasStatusProperty:a,updateStatus:(e,t)=>s.updateTransformationStatuses({transformations:{[e]:t}})})))},HGe=({section:e})=>"table"===e.type?V.createElement(Ds,{sx:{minWidth:"500px"}},V.createElement("h3",{className:"grey-label"},e.header),V.createElement(xPe,{data:e.data,config:{size:"small"},"data-testid":_})):"chart"===e.type?V.createElement(Ds,{sx:{minWidth:"500px"}},V.createElement("h3",{className:"grey-label"},e.header),V.createElement(eMe,{vegaSpec:e.chartConfig,"data-testid":M})):"transformation"===e.type?V.createElement(qGe,{section:e,sx:{width:"100%"}}):V.createElement(_Ge,{alert:{header:"Unknown section type",type:oa.ERROR,msg:null}}),UGe=({duration_s:e,sx:t={}})=>V.createElement(Ro,{variant:"body2",sx:{ml:"auto",color:"#757575",...t}},(e=>{!function(e){if(e<0)throw new Error("Argument `seconds` must be a non-negative number")}(e);const t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60),i=Number((e%60).toFixed(1)),o=[];return t>0&&o.push(`${t}d`),n>0&&o.push(`${n}h`),0===t&&r>0&&o.length<2&&o.push(`${r}m`),0===t&&0===n&&i>0&&o.length<2&&o.push(`${i}s`),0===o.length&&o.push(`${i}s`),o.join(" ")})(e)),VGe=vs((0,bo.jsx)("path",{d:"M19 13H5v-2h14z"}));function KGe(e,t){const n=(0,$R.countBy)(e.alerts,"type"),r=function(e,t){const n=(e.filter(e=>"transformation"===e.type).map(e=>{const n=e.data.rows.filter(n=>!(!(0,$R.isEmpty)(t)&&e.hasStatuses)||t[n.id]!==NGe.IGNORED);return{type:e.status,count:n.length}})??[]).reduce((e,{type:t,count:n})=>(e[t]=(e[t]||0)+n,e),{});return n}(e.details??[],t),i=(0,$R.mergeWith)({},n,r,(e,t)=>(e||0)+(t||0)),o=(0,$R.pickBy)(i,e=>(e??0)>0);return(0,$R.isEmpty)(o)?null:o}function QGe(e){return 0===Object.keys(e).length||1===Object.keys(e).length&&(e[oa.SUCCESS]??0)>0}const GGe="42px",XGe=({alertsMap:e,disabled:t})=>{const n=[...RGe].reverse();return t?V.createElement(O_,{icon:V.createElement(VGe,{sx:{fontSize:"1rem"}}),color:"default",size:"small",variant:"outlined","data-testid":C("disabled"),sx:{minWidth:GGe,justifyContent:"center",alignItems:"center"}}):!e||QGe(e)?V.createElement(O_,{icon:V.createElement(B_,{sx:{fontSize:"1rem"}}),color:oa.SUCCESS,size:"small",variant:"outlined","data-testid":C(oa.SUCCESS),sx:{minWidth:GGe,justifyContent:"center",alignItems:"center"}}):V.createElement(Ds,{sx:{display:"flex",alignItems:"center",gap:1}},n.map(t=>{const n=e[t]??0,r=n>999;return n>0?V.createElement(O_,{key:t,icon:V.createElement(As,{type:t,sx:{fontSize:"1rem"}}),color:t,size:"small",variant:"outlined","data-testid":C(t),sx:{minWidth:GGe},label:V.createElement(Ro,{"data-testid":O(t),sx:{fontSize:"0.875rem"}},r?"999+":n)}):null}))},YGe=({alertsMap:e,disabled:t})=>{if(t)return V.createElement(Ro,{color:"textSecondary","data-testid":E},"N/A");if(!e||QGe(e))return V.createElement(Ro,{color:IGe.success.color,"data-testid":E},IGe.success.message);for(const t of RGe)if(e[t]&&(e[t]??0)>0)return V.createElement(Ro,{color:IGe[t].color,"data-testid":E},IGe[t].message)};function ZGe({checks:e,transformationApi:t}){const n=e.map((e,n)=>V.createElement(SFe,{key:n,"data-testid":T},V.createElement(PFe,{expandIcon:V.createElement(Fo,null)},V.createElement(tMe,{variant:"row",gap:2,sx:{width:"100%",gridTemplateColumns:"350px auto auto",alignItems:"center"}},V.createElement(Ds,{sx:{display:"inline-flex"}},V.createElement(m_,{title:e.title},V.createElement("span",null,e.title))),V.createElement(Ds,{sx:{display:"flex",alignItems:"center",gap:1}},V.createElement(XGe,{alertsMap:KGe(e,t.transformationStatuses),disabled:e.disabled}),V.createElement(YGe,{alertsMap:KGe(e,t.transformationStatuses),disabled:e.disabled})),V.createElement(UGe,{duration_s:e.duration_s,sx:{ml:"auto"}}))),V.createElement(NFe,{sx:{pt:4}},(e=>!(e.alerts&&0!==e.alerts.length||e.details&&0!==e.details.length))(e)&&V.createElement(MGe,null),V.createElement(tMe,{variant:"column",gap:4,sx:{maxWidth:1500}},e.alerts&&e.alerts.length>0&&e.alerts.map((e,t)=>V.createElement(_Ge,{key:t,alert:e})),e.details&&e.details.length>0&&V.createElement(Ds,{sx:{display:"flex",rowGap:4,columnGap:12,flexWrap:"wrap"},className:"check-data-grid"},e.details.map((e,t)=>V.createElement(HGe,{key:t,section:e})))))));return 0===n.length?null:V.createElement(DGe,{transformationApi:t},n)}function JGe({getTransformationResult:e}){const t=ha(),[n,r]=(0,V.useState)(null),[i,o]=(0,V.useState)(!0);return(0,V.useEffect)(()=>{o(!0),e().then(e=>{r(e),o(!1)})},[e]),i?V.createElement(t$,null):n?V.createElement(Ds,{"data-testid":D,sx:{maxWidth:"900px",m:2}},d_({content:n},t)("content")):null}const eXe=({checks:e,transformationApi:t,getTransformationResult:n})=>V.createElement(x$e,{tabs:[{title:"Checks",view:V.createElement(ZGe,{checks:e,transformationApi:t})},{title:"Code Preview",view:V.createElement(JGe,{getTransformationResult:n})}]});function tXe(){const[e]=Za("checks"),[t]=Za("transformation_statuses"),n=Ea("update_transformation_statuses"),r=Ea("get_transformation_result");return V.createElement(eXe,{checks:e,transformationApi:{transformationStatuses:t,updateTransformationStatuses:n},getTransformationResult:r})}const nXe={checks:[],transformation_statuses:{}};class rXe extends RBe.DOMWidgetModel{defaults(){return{...super.defaults(),_model_name:"ScgCheckDataWidgetModel",_model_module:y,_model_module_version:v,_view_name:"ScgCheckDataWidgetView",_view_module:y,_view_module_version:v,_module_version:v,...nXe}}static serializers={...RBe.DOMWidgetModel.serializers}}class iXe extends RBe.DOMWidgetView{backendApi=new va(this);render(){Promise.all([da()]).then(([e])=>{try{const t=V.createElement(DBe,{model:this.model,api:this.backendApi,additionalClasses:["check-data-widget"]},V.createElement(fa,{areNavigatorClipboardWritePermissionsGranted:e,environment:"notebook"},V.createElement(tXe,null)));IBe.createRoot(this.el).render(t)}catch(e){console.error("CheckDataView",e)}})}}const oXe=(0,V.createContext)(null),aXe=({children:e})=>{const t=(0,V.useRef)(new Set),n=(0,V.useRef)(new Set),r=(0,V.useCallback)(e=>(t.current.add(e),()=>{t.current.delete(e)}),[]),i=(0,V.useCallback)(e=>(n.current.add(e),()=>{n.current.delete(e)}),[]),o=(0,V.useCallback)(()=>{t.current.forEach(e=>e())},[]),a=(0,V.useCallback)(()=>{n.current.forEach(e=>e())},[]);return V.createElement(oXe.Provider,{value:(0,V.useMemo)(()=>({subscribeToShow:r,subscribeToHide:i,triggerShow:o,triggerHide:a}),[r,i,o,a])},e)},sXe=()=>{const e=(0,V.useContext)(oXe);if(!e)throw new Error("useDataDictionaryPreview must be used within a DataDictionaryPreviewProvider");return e},lXe=({dictionaryKey:e,valueEntriesLength:t})=>V.createElement(tMe,{variant:"row-right",gap:1,sx:{alignItems:"center"}},V.createElement(m_,{title:e.name,typographyProps:{variant:"subtitle1",sx:{fontWeight:"bold"}}},V.createElement("span",null,e.name)),V.createElement(Ro,{variant:"body2",sx:{color:"text.secondary"}},"(",t," values)")),cXe=({values:e})=>V.createElement(Ds,{sx:{display:"grid",gridTemplateColumns:"fit-content(150px) 1fr",gridAutoRows:"max-content",alignItems:"center",columnGap:4,width:"100%",maxHeight:"240px",paddingRight:1,overflowY:"auto"}},e.map(e=>V.createElement(V.Fragment,{key:e.value},V.createElement(m_,{sx:{fontWeight:500},title:e.value},V.createElement("span",null,e.value)),V.createElement(m_,{typographyProps:{variant:"caption",sx:{textAlign:"right"}},sx:{color:"text.secondary"},title:e.alias},V.createElement("span",null,"(",e.alias,")"))))),uXe=({dataDictionary:e,searchQuery:t})=>{const n=(0,V.useMemo)(()=>Object.values(e),[e]),r=(0,V.useMemo)(()=>{const e=t.trim().toLowerCase();return e?Object.values(n).filter(t=>t.name.toLowerCase().includes(e)||Object.values(t.values).some(t=>t.value.toLowerCase().includes(e)||t.alias.toLowerCase().includes(e))):n},[t,n]);return V.createElement(Ds,{sx:{overflow:"auto"}},0===r.length&&V.createElement(Ds,{sx:{padding:4,textAlign:"center",color:"text.secondary"}},V.createElement(Ro,{variant:"body1"},t?`No dictionary entries found for "${t}"`:"No dictionary entries available")),n.map(e=>{const t=r.some(t=>t.id===e.id);return V.createElement(Ds,{key:e.id,sx:{"&:first-of-type":{paddingTop:0},padding:t?3:0,paddingBottom:0,visibility:t?"visible":"hidden",height:t?"auto":0,overflow:"hidden"}},V.createElement(fXe,{dataDictionaryKey:e}))}))},fXe=V.memo(({dataDictionaryKey:e})=>{const{subscribeToHide:t}=sXe(),[n,r]=(0,V.useState)(5),i=(0,V.useMemo)(()=>Object.values(e.values),[e.values]),o=(0,V.useMemo)(()=>i.slice(0,n),[i,n]),a=i.length>n;(0,V.useEffect)(()=>{const e=t(()=>{r(5)});return()=>e()},[t,i.length]);const s=(0,V.useCallback)(()=>{r(i.length)},[i.length]);return V.createElement(tMe,{variant:"column",gap:0},V.createElement(lXe,{dictionaryKey:e,valueEntriesLength:i.length}),V.createElement(cXe,{values:o}),a&&V.createElement(uje,{position:"left"},a&&V.createElement(YO,{size:"small",onClick:s},"more")))}),hXe=vs((0,bo.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"})),dXe=e=>{let t;const n=new Set,r=(e,r)=>{const i="function"==typeof e?e(t):e;if(!Object.is(i,t)){const e=t;t=(null!=r?r:"object"!=typeof i||null===i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,o={setState:r,getState:i,getInitialState:()=>a,subscribe:e=>(n.add(e),()=>n.delete(e))},a=t=e(r,i,o);return o},pXe=e=>e;function gXe(e,t=pXe){const n=V.useSyncExternalStore(e.subscribe,V.useCallback(()=>t(e.getState()),[e,t]),V.useCallback(()=>t(e.getInitialState()),[e,t]));return V.useDebugValue(n),n}const mXe=e=>{const t=(e=>e?dXe(e):dXe)(e),n=e=>gXe(t,e);return Object.assign(n,t),n},bXe=e=>e?mXe(e):mXe,wXe=(e,t)=>`${e}-${t}`,vXe=(0,V.createContext)(null),yXe=e=>{const t=(0,V.useContext)(vXe);if(!t)throw new Error("Missing DataDictionaryMatchingStoreContext.Provider in the tree");return gXe(t,e)},xXe=(e,t)=>{const n=yXe(e=>e.loadTableColumnMatchingStats),r=yXe(((e,t)=>n=>{const r=wXe(e,t);return n.tableColumnMatchingStats[r]})(e,t));return{stats:r,loadStats:n}},AXe=vs((0,bo.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12z"})),kXe=vs((0,bo.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"})),SXe=({isMatched:e})=>V.createElement(tMe,null,e?V.createElement(kXe,{sx:{color:"var(--c-inversion-aware-success)",fontSize:"16px"}}):V.createElement(AXe,{sx:{color:"var(--c-inversion-aware-error)",fontSize:"16px"}})),EXe=e=>32*e+32+2,CXe=({valueMatchings:e,dataDictionaryValues:t})=>{const[n,r]=(0,V.useState)(!1),i=(0,V.useMemo)(()=>e.map(e=>{const n=t[e.dictionaryValueId||""];return{dataDictionaryValueId:e.dictionaryValueId||"-",value:(0,$R.isNull)(e.value)?"null":e.value,count:e.count,alias:n?.alias||"-",description:n?.description||"-"}}),[e,t]),o=(0,V.useMemo)(()=>[{accessorKey:"dataDictionaryValueId",header:"",cell:e=>V.createElement(SXe,{isMatched:"-"!==e.getValue()}),meta:{gridColumnSize:"40px",align:"center"}},{accessorKey:"value",header:"Value",meta:{gridColumnSize:"auto"}},{accessorKey:"count",header:"Count",enableSorting:!0,id:"count",meta:{gridColumnSize:"auto",align:"right",controlSorting:!1}},{accessorKey:"alias",header:"Alias",meta:{gridColumnSize:"auto"}},{accessorKey:"description",header:"Description",meta:{gridColumnSize:"auto"}}],[]),a=(0,V.useMemo)(()=>n?i:i.slice(0,3),[i,n]);return V.createElement(Ds,null,V.createElement(Ds,{sx:{display:"grid",gridTemplateRows:"1fr ",maxHeight:n?`${EXe(10)}px`:`${EXe(3)}px`}},V.createElement(sje,{emptyMessageElements:{noData:"No Matches Found"},data:a,columns:o,tableOptions:{initialState:{sorting:[{id:"count",desc:!0}]}},sx:{container:{height:"100%"},header:{minHeight:"32px"},cell:{height:"32px",whiteSpace:"nowrap"},emptyMessageSx:{height:"80px"}}})),i.length>3&&V.createElement(YO,{variant:"text",size:"small",onClick:()=>r(!n)},n?"less":"more"))},OXe=e=>{const t="function"==typeof e.children?e.children({placement:e.placement||"bottom"}):e.children;return V.createElement(UNe,{...e},t)};function TXe({dictionaryKeyId:e,tableName:t,columnName:n,dataDictionary:r,onDictionaryKeyChange:i,isPossibleMatch:o}){const[a,s]=Ka(e),{stats:l,loadStats:c}=xXe(t,n),{triggerAction:u,isBusy:f}=Ua(c),[h,d]=(0,V.useState)(!1),p=(0,V.useCallback)(()=>{u({tableName:t,columnName:n}),d(!0)},[u,t,n]),g=(0,V.useCallback)(()=>{d(!1)},[]),m=(0,V.useMemo)(()=>{if(!a)return null;if(!l)return{dictionaryKeyId:a,handledColumnValuesRatio:NaN,utilizedDictKeysRatio:NaN};const e=l?.find(e=>e.dictionaryKeyId===a);return e??null},[l,a]);return V.createElement(iP,{variant:"outlined",size:"small",fullWidth:!0,sx:{margin:0,display:"flex",flexFlow:"row nowrap",alignItems:"stretch",gap:2,"& .MuiFormControl-root":{marginY:0},"& .MuiFormControl-root .MuiInputBase-root":{padding:1}}},V.createElement(ENe,{disabled:!o,blurOnSelect:!0,open:h&&!!l&&!f,onOpen:p,onClose:g,value:m,onChange:(e,t)=>{s(t?.dictionaryKeyId??null),i({newDataDictionaryKeyId:t?.dictionaryKeyId??null})},isOptionEqualToValue:(e,t)=>e.dictionaryKeyId===t.dictionaryKeyId,getOptionKey:e=>e.dictionaryKeyId,options:l||[],getOptionLabel:e=>r[e.dictionaryKeyId]?.name??"",renderOption:({key:e,...t},n)=>V.createElement("li",{key:e,...t,style:{display:"grid",gridTemplateColumns:"subgrid",gridColumn:"1 / -1",paddingTop:0,paddingBottom:0}},V.createElement(Ro,{variant:"body2",sx:{width:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},r[n.dictionaryKeyId]?.name),V.createElement(Ro,{sx:{textAlign:"right"}},qa.formatPercentFromRatio(n.handledColumnValuesRatio)),V.createElement(Ro,{sx:{textAlign:"right"}},qa.formatPercentFromRatio(n.utilizedDictKeysRatio))),renderInput:e=>V.createElement(vR,{...e,size:"small",variant:"outlined",placeholder:"Select dictionary key"}),disableClearable:!1,fullWidth:!0,slots:{popper:OXe},slotProps:{listbox:{component:(0,V.memo)((0,V.forwardRef)(({children:e,...t},n)=>V.createElement(Ds,{...t,sx:{display:"grid",gridTemplateColumns:"1fr auto auto",columnGap:2},ref:n},V.createElement(Ro,{variant:"body2",sx:{paddingLeft:4}},"Name"),V.createElement(Ro,{variant:"body2",sx:{textAlign:"right"}},"Coverage"),V.createElement(Ro,{variant:"body2",sx:{textAlign:"right",paddingRight:4}},"Utilization"),e)))}}}))}const _Xe=({isPossibleMatch:e,dictionaryKeyId:t,tableName:n,columnName:r,dataDictionary:i,onTogglePossibleMatch:o,onDictionaryKeyChange:a})=>{const s=`no-matched-${n}-${r}`;return V.createElement(tMe,{gap:2},V.createElement(bze,{variant:"table"},"Dictionary Column"),V.createElement(TXe,{isPossibleMatch:e,dictionaryKeyId:t,tableName:n,columnName:r,dataDictionary:i,onDictionaryKeyChange:async({newDataDictionaryKeyId:e})=>{await a(e??null)}}),V.createElement(tMe,{variant:"row-left",gap:1,sx:{alignItems:"center"}},V.createElement(BN,{id:s,sx:{padding:"0px"},checked:!e,onChange:()=>{o(!e)}}),V.createElement(Ro,{component:"label",htmlFor:s,variant:"body2",sx:{cursor:"pointer",userSelect:"none"}},"No matched column")))},MXe=({handledColumnValuesRatio:e,utilizedDictKeysRatio:t,sx:n={}})=>V.createElement(Ds,{sx:{display:"grid",gridTemplateColumns:"auto auto",gridTemplateRows:"auto auto",justifyItems:"start",gap:4,rowGap:2,...n}},V.createElement(bze,{variant:"table"},"Values Coverage"),V.createElement(bze,{variant:"table"},"Dictionary Utilization"),V.createElement(Ro,{variant:"body2"},qa.formatPercentFromRatio(e??null,{unsetSymbol:"-"})),V.createElement(Ro,{variant:"body2"},qa.formatPercentFromRatio(t??null,{unsetSymbol:"-"}))),PXe=vs((0,bo.jsx)("path",{d:"M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"})),DXe=({isFirst:e,isLast:t,onPrevious:n,onNext:r})=>V.createElement(uje,{position:"right"},V.createElement(tMe,{variant:"row",gap:2},V.createElement(YO,{disabled:e,startIcon:V.createElement(PXe,null),variant:"outlined",onClick:n},"Back"),V.createElement(YO,{variant:"contained",color:"primary",onClick:()=>r(t)},t?"Finish":"Confirm"))),RXe=({reviewState:e})=>{const t=(()=>{switch(e){case"match":return{label:"Matched",color:"success",variant:"outlined"};case"no-match":return{label:"No Match",color:"default",variant:"outlined"};case"not-reviewed":return{label:"Needs Review",color:"warning",variant:"outlined"};default:return{label:"Unknown",color:"default",variant:"outlined"}}})();return V.createElement(O_,{...t,size:"small"})};function IXe(e){return e.isPossibleMatch?e.acceptedByUser?e.dictionaryKeyId?"match":"no-match":"not-reviewed":"no-match"}const NXe=(e,t)=>"function"==typeof e?{...t,accessorFn:e}:{...t,accessorKey:e},$Xe=e=>e,LXe=(0,V.memo)(({columnMatching:e,dataDictionaryValues:t,tableName:n,columnName:r,dataDictionary:i,detailsActions:o,setTableColumnMatchingDataDictionaryKey:a})=>{const{stats:s,loadStats:l}=xXe(n,r),[c,u]=(0,V.useState)(!0),f=(0,V.useMemo)(()=>s?.find(t=>t.dictionaryKeyId===e.dictionaryKeyId),[s,e.dictionaryKeyId]);return(0,V.useLayoutEffect)(()=>{s||l({tableName:n,columnName:r})},[n,r,l,s]),(0,V.useEffect)(()=>{!e.dictionaryKeyId&&e.isPossibleMatch&&c&&s&&s[0]?.dictionaryKeyId&&a({table:n,column:r,newDataDictionaryKeyId:s[0].dictionaryKeyId,isPossibleMatch:!0})},[e.dictionaryKeyId,n,r,s,a,e.isPossibleMatch,c]),V.createElement(tMe,{sx:{gridTemplateRows:"auto 1fr auto"},gap:4},V.createElement(tMe,{variant:"row",gap:3,sx:{gridTemplateColumns:"1fr 1fr",alignItems:"start"}},V.createElement(_Xe,{isPossibleMatch:e.isPossibleMatch,dictionaryKeyId:e.dictionaryKeyId,tableName:n,columnName:r,dataDictionary:i,onTogglePossibleMatch:async e=>{u(!1),await a({table:n,column:r,newDataDictionaryKeyId:null,isPossibleMatch:e})},onDictionaryKeyChange:async e=>{u(!1),await a({table:n,column:r,newDataDictionaryKeyId:e,isPossibleMatch:!0})}}),V.createElement(MXe,{sx:{justifySelf:"end"},handledColumnValuesRatio:f?.handledColumnValuesRatio,utilizedDictKeysRatio:f?.utilizedDictKeysRatio})),V.createElement(CXe,{valueMatchings:e.valueMatchings,dataDictionaryValues:t}),V.createElement(tMe,{variant:"row-right"},o))}),jXe=()=>V.createElement(ST,{message:"No Matches Found",subMessage:"Check that you have selected the correct table and its matching data dictionary."});const FXe=(0,V.memo)(({dataDictionary:e,onClose:t,sx:n})=>{const[r,i]=(0,V.useState)(""),o=(0,V.useDeferredValue)(r);return V.createElement(tMe,{gap:2,sx:{height:"100%",gridTemplateRows:"auto auto 1fr",...n}},V.createElement(tMe,{variant:"row-right",sx:{paddingInline:3}},V.createElement(Ro,{variant:"h6"},"Dictionary"),t&&V.createElement(nf,{onClick:t,sx:{color:"text.secondary"}},V.createElement(W_,null))),V.createElement(Ds,{sx:{paddingInline:3}},V.createElement(Jze,{placeholder:"Search dictionary entries...",searchPhrase:r,onSearchPhraseChange:i,sx:{width:"100%"}})),V.createElement(uXe,{dataDictionary:e,searchQuery:o}))}),zXe=(0,V.memo)(({tableName:e,columnMatches:t,dataDictionary:n,dataDictionaryValues:r,setTableColumnMatchingDataDictionaryKey:i,setTableColumnMatchingAcceptedByUser:o,sx:a={}})=>{const s=(0,V.useMemo)(()=>function(e,t){return t.map(t=>function(e,t){return{tableName:e,column:t.column,dictionaryKeyId:t.dictionaryKeyId,columnMatching:t,reviewState:IXe(t)}}(e,t))}(e,t),[t,e]),l=(0,V.useMemo)(()=>[$Xe({header:"",id:"expander",meta:{gridColumnSize:"40px",align:"center"},cell:({row:e})=>e.original.columnMatching?V.createElement(nf,{"aria-label":e.getIsExpanded()?"Collapse row":"Expand row",size:"small",onClick:()=>{e.toggleExpanded()}},e.getIsExpanded()?V.createElement(FO,null):V.createElement(jO,null)):null}),NXe(e=>e.column,{header:"Column",id:"column",cell:({row:e})=>V.createElement(m_,{title:e.original.column},V.createElement("span",null,e.original.column)),meta:{gridColumnSize:"minmax(160px, 1fr)"}}),NXe(e=>e.dictionaryKeyId,{header:"Dictionary Column",id:"dictionaryKeyId",cell:({row:e})=>{const{dictionaryKeyId:t,columnMatching:r}=e.original;if(t){const e=n[t]?.name;return V.createElement(m_,{title:e},V.createElement("span",null,e))}return r.isPossibleMatch?null:V.createElement(Ro,{sx:{color:"var(--c-inversion-aware-neutral)"}},"(No matched column)")},meta:{gridColumnSize:"minmax(160px, 1fr)"}}),NXe(e=>e.columnMatching.valueMatchings.sort((e,t)=>t.count-e.count).slice(0,100).map(({value:e})=>(0,$R.isNull)(e)?"null":e).join(", "),{header:"Examples",id:"examples",meta:{gridColumnSize:"1.5fr",align:"left"},cell:({getValue:e})=>V.createElement(m_,{title:e()},V.createElement("span",null,e()))}),NXe(e=>e.reviewState,{meta:{gridColumnSize:"110px"},header:"Status",id:"reviewState",cell:({getValue:e})=>V.createElement(RXe,{reviewState:e()})})],[n]),c=(0,V.useMemo)(()=>t.every(e=>!e.acceptedByUser),[t]);return V.createElement(tMe,{sx:{gap:2,...a}},V.createElement(sje,{emptyMessageElements:{noData:V.createElement(jXe,null)},initialTableState:{expanded:{0:c}},data:s,columns:l,pagination:{initialPageSize:10,pageSizeOptions:[5,10,25]},rowDetails:{getRowCanExpand:e=>!!e.original.columnMatching,renderExpandedContent:(t,a)=>V.createElement(Ds,{sx:{p:5}},V.createElement(LXe,{columnMatching:a.original.columnMatching,dataDictionaryValues:r,tableName:e,columnName:a.original.column,dataDictionary:n,setTableColumnMatchingDataDictionaryKey:i,detailsActions:V.createElement(DXe,{isFirst:0===a.index,isLast:a.index===t.getRowCount()-1,onPrevious:()=>{((e,t)=>{const n=t.index;if(0===n)return;const r=e.getPrePaginationRowModel().rows[n-1];if(r){e.setExpanded(()=>({[r.id]:!0}));const t=e.getState().pagination;t&&r.index<t.pageSize*t.pageIndex&&e.previousPage()}})(t,a)},onNext:n=>{o({tableName:e,columnName:a.original.column,acceptedByUser:null!==a.original.columnMatching.dictionaryKeyId}),n?t.setExpanded(()=>({[a.id]:!1})):lje(t,a)},onSkip:n=>{i({table:e,column:a.original.column,newDataDictionaryKeyId:null,isPossibleMatch:!1}),n?t.setExpanded(()=>({[a.id]:!1})):lje(t,a)}})}))}}))}),BXe={mt:2},WXe=(qXe=({tableDataDictionaryMatchings:e,dataDictionaryDTO:t,setTableColumnMatchingDataDictionaryKey:n,getTableColumnMatchingStats:r,setTableColumnMatchingAcceptedByUser:i})=>{const o=HXe({backendState:{tableColumnMatchingStats:{}},api:{getTableColumnMatchingStats:r}}),{triggerShow:a,triggerHide:s}=sXe(),l=function(e){return(0,V.useMemo)(()=>function(e){return Object.entries(e).reduce((e,[t,n])=>(e[t]={...n,id:t},e),{})}(e),[e])}(t),c=function(e){return(0,V.useMemo)(()=>function(e){const t={};return Object.entries(e).forEach(([e,n])=>{Object.entries(n.values).forEach(([n,r])=>{t[n]={...r,dataDictionaryKeyId:e}})}),t}(e),[e])}(l),[u,f]=(0,V.useState)(!1),h=(0,V.useRef)(null),d=(0,V.useMemo)(()=>({paddingTop:2}),[]),p=(0,V.useCallback)(()=>{b(!1),f(!0),a()},[a]),g=(0,V.useCallback)(()=>{f(!1),s()},[s]);if(!e?.length)return V.createElement(Ds,{sx:{p:3,textAlign:"center"}},V.createElement(Ro,{variant:"body1"},"No dictionary matching data available."));const[m,b]=(0,V.useState)(!0);return V.createElement(vXe.Provider,{value:o},V.createElement(Ds,{ref:h,sx:{position:"relative",overflow:"hidden",minHeight:u?"800px":"auto",maxWidth:"1200px"}},V.createElement(tMe,{sx:{gap:2}},V.createElement(uje,{position:"right"},V.createElement(YO,{variant:"outlined",startIcon:V.createElement(hXe,{sx:{color:"rgba(83, 73, 73, 0.6)"}}),onClick:p,sx:{alignSelf:"flex-start",color:"text.secondary",borderColor:"divider"}},"Open Data Dictionary"))),V.createElement(tMe,{sx:{mt:2}},e.map(e=>V.createElement(tMe,{key:e.tableName},V.createElement(uje,{position:"middle"},V.createElement(Ro,{variant:"body1"},e.tableName)),V.createElement(zXe,{sx:BXe,tableName:e.tableName,columnMatches:e.tableColumnDataDictionaryKeyMatchings,dataDictionaryValues:c,setTableColumnMatchingDataDictionaryKey:n,dataDictionary:l,setTableColumnMatchingAcceptedByUser:i})))),V.createElement(IQe,{direction:"left",in:u,container:h.current,onExited:()=>{b(!0)}},V.createElement(ia,{elevation:2,sx:e=>({position:"absolute",top:0,right:0,width:"35%",height:"calc(100% - 8px)",zIndex:e.zIndex.drawer,overflow:"auto",p:0,contentVisibility:m&&!u?"hidden":"auto",transition:"content-visibility 0.3s ease-in-out"})},V.createElement(FXe,{sx:d,dataDictionary:l,onClose:g})))))},e=>V.createElement(aXe,null,V.createElement(qXe,{...e})));var qXe;const HXe=({backendState:e,api:t})=>{const n=(0,V.useRef)(null);return null===n.current&&(n.current=function(e,t){return bXe((n,r)=>({...e,loadTableColumnMatchingStats:async e=>{const i=wXe(e.tableName,e.columnName);if(r().tableColumnMatchingStats[i])return;const o=await t.getTableColumnMatchingStats(e);o.sort((e,t)=>t.fScore-e.fScore),n(e=>({...e,tableColumnMatchingStats:{...e.tableColumnMatchingStats,[i]:o}}))}}))}(e,t)),n.current},UXe=()=>{const[e]=Za("table_dict_matchings"),[t]=Za("data_dictionary"),n=Ea("set_column_matching_dictionary_key"),r=Ea("get_table_column_matching_stats"),i=Ea("set_column_matching_accepted_by_user"),o=(0,V.useCallback)(async({table:e,column:t,newDataDictionaryKeyId:r,isPossibleMatch:i})=>{await n({tableName:e,columnName:t,dictionaryKeyId:r,isPossibleMatch:i})},[n]),a=(0,V.useCallback)(async({tableName:e,columnName:t,acceptedByUser:n})=>{await i({tableName:e,columnName:t,acceptedByUser:n})},[i]);return V.createElement(WXe,{tableDataDictionaryMatchings:e,dataDictionaryDTO:t,setTableColumnMatchingDataDictionaryKey:o,getTableColumnMatchingStats:r,setTableColumnMatchingAcceptedByUser:a})},VXe={table_dict_matchings:[],data_dictionary:{}};class KXe extends RBe.DOMWidgetModel{defaults(){return{...super.defaults(),_model_name:"ScgDataDictionaryMatchingModel",_model_module:y,_model_module_version:v,_view_name:"ScgDataDictionaryMatchingView",_view_module:y,_view_module_version:v,_module_version:v,...VXe}}static serializers={...RBe.DOMWidgetModel.serializers}}class QXe extends RBe.DOMWidgetView{backendApi=new va(this);render(){try{const e=V.createElement(DBe,{additionalClasses:["data-dictionary-matching-widget"],model:this.model,api:this.backendApi},V.createElement(UXe,null));IBe.createRoot(this.el).render(e)}catch(e){console.error("DataDictionaryMatchingView",e)}}}const GXe=({data:e})=>V.createElement(Ds,{sx:{maxHeight:400,overflowY:"auto",width:"100%"}},V.createElement(xPe,{data:e,config:{size:"small"}})),XXe=({data:e})=>V.createElement(eMe,{sx:{width:"100%"},vegaSpec:e}),YXe=({data:e})=>V.createElement(Ts,{...e}),ZXe=["string","altair","dataframe"],JXe=({grid:e})=>{const t=e.map((e,t)=>({id:`row-${t}`,items:e.map((e,n)=>({span:e.span,id:`item-${t}-${n}`,content:ZXe.includes(e.type)?V.createElement(v_,{label:e.header,placeItems:e.placeItems??"center"},eYe(e)):eYe(e)}))}));return V.createElement(dze,{sx:{marginTop:4},rows:t})},eYe=e=>DMe(e).with({type:"dataframe"},({content:e})=>V.createElement(GXe,{data:e})).with({type:"altair"},({content:e})=>V.createElement(XXe,{data:e})).with({type:"string"},({content:e})=>V.createElement(Ds,{sx:{maxHeight:400,overflowY:"auto",width:"100%",whiteSpace:"pre-wrap",wordBreak:"break-word"}},d_({content:e})("content"))).with({type:"banner"},({content:e})=>V.createElement(YXe,{data:e})).with({type:"blank"},()=>V.createElement(V.Fragment,null)).with({type:"code"},({content:e})=>V.createElement(yT,{sx:{width:"100%",margin:"0"},code:e,isCopyButtonEnabled:!0,initialMaxHeight:"400px"})).otherwise(()=>V.createElement(Ro,{color:"error"},"Unknown content type or invalid data")),tYe={activeSorterConfig:null,sortType:"desc",segmentSizeValue:0,segmentErrorValue:0,explanationSearch:"",showStarredOnly:!1,showNewOnly:!1,showHiddenFeatures:!1,...Kze},nYe=vs((0,bo.jsx)("path",{d:"M6 6h12v12H6z"})),rYe={checkbox:{width:36},detailsToggle:{width:0},label:{flex:"0 0 130px"},explanation:{flex:"1 1 0",minWidth:20},actions:{flex:"0 0 auto"}},iYe=V.createContext({visibleFeatures:[],lastSearchedPhrase:null,searchProgress:null,page:0,rowsPerPage:10,isFinalPage:!1,totalCount:null,onPageChange:$R.noop,searchPhrase:"",onSearch:$R.noop,refreshSearch:$R.noop});function oYe({searchPhrase:e,searchInFeatureSpace:t,searchProgress:n,children:r}){const[i,o]=(0,V.useState)(null);(0,V.useEffect)(()=>{""===e.trim()&&o(null)},[e]);const{visibleFeatures:a,page:s,rowsPerPage:l,onPageChange:c,isFinalPage:u,totalCount:f,refreshSearch:h}=function(e,t){const[n,r]=(0,V.useState)([]),[i,o]=(0,V.useState)({}),[a,s]=(0,V.useState)(0),l=(0,V.useRef)(t),c=(0,V.useRef)(e),u=(0,V.useRef)(n);c.current=e,u.current=n;const f=(0,V.useCallback)(()=>{r([]),o({}),s(0)},[]),h=(0,V.useCallback)(e=>{f(),c.current(e,0,10).then(e=>{r([e.candidateFeatures]),o({0:e.finalPage})})},[f]);(0,V.useEffect)(()=>null===t?(f(),void(l.current=null)):t!==l.current?(l.current=t,void h(t)):void(void 0===u.current[a]&&c.current(t,a,10).then(e=>{r(t=>{const n=[...t];return n[a]=e.candidateFeatures,n}),o(t=>({...t,[a]:e.finalPage}))})),[t,a,f,h]);const d=(0,V.useCallback)(()=>{const e=l.current;null!==e&&h(e)},[h]),p=(0,V.useMemo)(()=>{const e=n[a];return void 0!==e?e:a>0?n[a-1]??[]:[]},[n,a]),g=!0===i[a],m=(0,V.useMemo)(()=>{for(const[e,t]of Object.entries(i))if(t){const t=Number(e),r=n[t];if(r)return 10*t+r.length}return null},[i,n]),b=(0,V.useCallback)((e,t)=>{s(t)},[]);return{visibleFeatures:p,page:a,rowsPerPage:10,onPageChange:b,isFinalPage:g,totalCount:m,refreshSearch:d}}(t,i),d=(0,V.useCallback)(()=>o(e),[e]),p=(0,V.useMemo)(()=>({visibleFeatures:a,lastSearchedPhrase:i,searchProgress:n,page:s,rowsPerPage:l,isFinalPage:u,totalCount:f,onPageChange:c,searchPhrase:e,onSearch:d,refreshSearch:h}),[a,i,n,s,l,u,f,c,e,d,h]);return V.createElement(iYe.Provider,{value:p},r)}function aYe(){return V.useContext(iYe)}const sYe=V.createContext({selectedFeatureIds:new Set,onToggleFeature:$R.noop,onClearSelection:$R.noop,onAddToLeaderboard:()=>Promise.resolve()});function lYe({onAddToLeaderboard:e,children:t}){const[n,r]=(0,V.useState)(new Set),i=(0,V.useCallback)(e=>{r(t=>{const n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),o=(0,V.useCallback)(()=>{r(new Set)},[]),a=(0,V.useMemo)(()=>({selectedFeatureIds:n,onToggleFeature:i,onClearSelection:o,onAddToLeaderboard:e}),[n,i,o,e]);return V.createElement(sYe.Provider,{value:a},t)}function cYe(){return V.useContext(sYe)}function uYe(){const{onSearch:e,refreshSearch:t}=aYe(),{selectedFeatureIds:n,onAddToLeaderboard:r,onClearSelection:i}=cYe(),o=(0,V.useCallback)(e=>{r(e).then(()=>{i(),t()})},[r,i,t]),a=(0,V.useCallback)(()=>{o([...n])},[o,n]),s=(0,V.useCallback)(()=>{i(),e()},[i,e]);return{addToLeaderboard:o,addCheckedToLeaderboard:a,handleSearch:s}}const fYe=({feature:e,isChecked:t,onCheckboxClick:n,onSelect:r})=>V.createElement(HN,{isExpanded:!1,isChecked:t,onSelectCheckBoxClick:n,labelNode:V.createElement(EN,{feature:e,hasCopyButton:!0}),explanationNode:V.createElement(kN,{feature:e}),actionsNode:V.createElement(hu,{title:"Add to Leaderboard"},V.createElement(nf,{color:"primary",size:"small",onClick:()=>r(e.id),"data-testid":z.candidateAddToLeaderboardRow},V.createElement(Ije,{sx:{fontSize:18}})))});function hYe({features:e}){const{selectedFeatureIds:t,onToggleFeature:n}=cYe(),{addToLeaderboard:r}=uYe();return V.createElement(KN,null,e.map(e=>V.createElement(fYe,{key:e.id,feature:e,isChecked:t.has(e.id),onCheckboxClick:()=>n(e.id),onSelect:e=>r([e])})))}function dYe(){const{visibleFeatures:e,searchProgress:t,isFinalPage:n,page:r,rowsPerPage:i,onPageChange:o,totalCount:a}=aYe(),s=0===e.length&&n,l=0===r&&n?38*e.length:38*i,c=s?V.createElement(LT,{message:"No features to display"}):V.createElement(V.Fragment,null,V.createElement(Ds,{sx:{height:l,overflow:"auto"}},V.createElement(hYe,{features:e})),!s&&V.createElement(Ds,{sx:{display:"flex",alignItems:"center",flexWrap:"wrap",justifyContent:"flex-end",gap:0}},V.createElement(Ro,{variant:"body2",sx:{mr:8,display:"flex"},component:"div"},V.createElement(Ds,null,"Rows per page:")," ",V.createElement(Ds,{sx:{pl:4}},"10")),V.createElement(tLe,{component:"div",count:a??-1,page:r,onPageChange:o,rowsPerPage:i,rowsPerPageOptions:[i],showFirstButton:!0,showLastButton:!0,labelRowsPerPage:null,slotProps:{select:{native:!0},actions:{...Gze,lastButton:null===a?{disabled:!0}:void 0}},sx:{display:"flex",alignItems:"center",overflow:"visible"},labelDisplayedRows:({from:e,to:t})=>null!==a?`${e}-${t} of ${a}`:`${e}-${t} of many`})));return V.createElement(Ds,{sx:{position:"relative",minHeight:150}},t&&V.createElement(Rje,{value:t.value,label:t.label}),c)}const pYe=R_();function gYe(){return V.createElement(D_,{config:rYe},V.createElement(Ds,{sx:{display:"flex",alignItems:"center",marginInline:"10px 4px",fontSize:"12px",fontWeight:"bold",color:"var(--c-grey-600)"}},V.createElement(VN,{columnName:"checkbox"},V.createElement("span",null)),V.createElement(VN,{columnName:"detailsToggle"},V.createElement("span",null)),V.createElement(pYe,{columnName:"label"},V.createElement("span",null,"Feature ID")),V.createElement(pYe,{columnName:"explanation"},V.createElement("span",null,"Explanation")),V.createElement(pYe,{columnName:"actions"})))}function mYe(){return V.createElement(V.Fragment,null,V.createElement(gYe,null),V.createElement(D_,{config:rYe},V.createElement(dYe,null)))}const bYe=vs((0,bo.jsx)("path",{d:"M8 5v14l11-7z"})),wYe=vs((0,bo.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}));function vYe({onClick:e,disabled:t=!1,reload:n=!1}){return n?V.createElement(YO,{sx:{textTransform:"none"},variant:"outlined",size:"small",color:"warning",startIcon:V.createElement(wYe,null),disabled:t,onClick:e,"data-testid":z.candidateSearchButton},"Update results"):V.createElement(YO,{sx:{textTransform:"none"},variant:"outlined",size:"small",color:"primary",endIcon:V.createElement(bYe,null),disabled:t,onClick:e,"data-testid":z.candidateSearchButton},"Search in Feature Space")}function yYe({customContent:e}){const{lastSearchedPhrase:t,searchPhrase:n}=aYe(),{selectedFeatureIds:r}=cYe(),{addCheckedToLeaderboard:i,handleSearch:o}=uYe(),a=""!==n.trim(),s=a&&n!==t,l=a||null!==t,c=r.size>0,u=null!==t;return l?e?V.createElement(V.Fragment,null,V.createElement(mFe,{title:"Feature Space"}),e):V.createElement(V.Fragment,null,V.createElement(mFe,{title:"Feature Space"},V.createElement(Ds,{sx:{display:"flex",alignItems:"center",gap:1}},u&&c&&V.createElement(YO,{startIcon:V.createElement(Ije,{sx:{fontSize:18}}),sx:{textTransform:"none"},variant:"contained",size:"small",onClick:i,"data-testid":z.candidateAddToLeaderboardHeader},"Add to Leaderboard"),u&&s&&V.createElement(vYe,{onClick:o,reload:!0}))),!u&&s&&V.createElement(Ds,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",py:6,px:2,textAlign:"center"}},V.createElement(Ro,{variant:"h6",sx:{color:"text.secondary",mb:6,maxWidth:500}},"Search the Feature Space to find matches among all explored features"),V.createElement(vYe,{onClick:o})),u&&V.createElement(mYe,null)):null}function xYe({onAddToLeaderboard:e,searchPhrase:t,searchInFeatureSpace:n,customContent:r,searchProgress:i}){return V.createElement(lYe,{onAddToLeaderboard:e},V.createElement(oYe,{searchPhrase:t,searchInFeatureSpace:n,searchProgress:i},V.createElement(yYe,{customContent:r})))}const AYe=e=>Symbol.iterator in e,kYe=e=>"entries"in e,SYe=(e,t)=>{const n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(const[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0};function EYe(e){const t=V.useRef(void 0);return n=>{const r=e(n);return i=t.current,o=r,Object.is(i,o)||"object"==typeof i&&null!==i&&"object"==typeof o&&null!==o&&Object.getPrototypeOf(i)===Object.getPrototypeOf(o)&&(AYe(i)&&AYe(o)?kYe(i)&&kYe(o)?SYe(i,o):((e,t)=>{const n=e[Symbol.iterator](),r=t[Symbol.iterator]();let i=n.next(),o=r.next();for(;!i.done&&!o.done;){if(!Object.is(i.value,o.value))return!1;i=n.next(),o=r.next()}return!!i.done&&!!o.done})(i,o):SYe({entries:()=>Object.entries(i)},{entries:()=>Object.entries(o)}))?t.current:t.current=r;var i,o}}const CYe=({item:e})=>{const t=uZe(),{formatSegmentError:n,formatErrorRatio:r,formatErrorDelta:i}=kZe(),o=SZe(),{compactRowWidthThreshold:a,segmentErrorColumn:s}=EZe(),l=`@container ${M_} (max-width: ${a}px)`;if(!e.segmentBenchmarkError)return null;const c=e=>({value:e,formatter:n}),u=e=>({value:e,formatter:r}),f=u(e.segmentError.error),h=c(e.segmentError.predictionMean),d=c(e.segmentError.targetMean),p=u(e.segmentBenchmarkError.error),g=c(e.segmentBenchmarkError.predictionMean),m=c(e.segmentBenchmarkError.targetMean),b=(e=>({value:e,formatter:i}))(o(e)),w=Math.abs(e.segmentError.error)<Math.abs(e.segmentBenchmarkError.error),v=V.createElement(qje,{spacing:1,sx:{p:.5,minWidth:"240px"}},V.createElement(Ds,null,V.createElement(cFe,null,"BENCHMARK"),V.createElement(dFe,{useCaseWithBaseline:t,error:p,predictionMean:g,targetMean:m})),V.createElement(uFe,null),V.createElement(Ds,null,V.createElement(cFe,null,"CURRENT"),V.createElement(dFe,{useCaseWithBaseline:t,error:f,predictionMean:h,targetMean:d})),V.createElement(uFe,null),V.createElement(Ds,null,V.createElement(cFe,null,"DELTA"),V.createElement(fFe,{delta:b,isImproved:w,benchmarkValue:p,currentValue:f,getTooltipColor:e=>e?"var(--c-green-300)":"var(--c-red-300)"})));return V.createElement(hu,{title:v,arrow:!0,placement:"top"},V.createElement(Ds,{sx:{display:"inline-flex",alignItems:"center",gap:1.5,width:"100%",cursor:"pointer"}},V.createElement(Ds,{component:"span",sx:{display:"inline-flex",flexShrink:0}},V.createElement(lFe,{value:f,notation:"compact",sx:{minWidth:`${s.errorRatioMinWidth}px`}})),V.createElement(Ds,{sx:{display:"inline-flex",[l]:{display:"none"}}},V.createElement(hFe,{predictionMean:h,targetMean:d,useCaseWithBaseline:t,notation:"compact"})),V.createElement(Ds,{sx:{ml:"auto"}},V.createElement(zFe,{value:b,colorTheme:0===b.value?"default":w?"success":"error"}))))},OYe=({item:e})=>e.segmentBenchmarkError?V.createElement(CYe,{item:e}):V.createElement(TYe,{item:e}),TYe=({item:e})=>{const t=uZe(),{formatSegmentError:n,formatErrorRatio:r}=kZe(),{compactRowWidthThreshold:i,segmentErrorColumn:o}=EZe(),a=`@container ${M_} (max-width: ${i}px)`,s=e=>({value:e,formatter:n}),l=(e=>({value:e,formatter:r}))(e.segmentError.error),c=s(e.segmentError.predictionMean),u=s(e.segmentError.targetMean);return V.createElement(hu,{title:V.createElement(qje,{sx:{p:.5}},V.createElement(dFe,{useCaseWithBaseline:t,error:l,predictionMean:c,targetMean:u})),arrow:!0,placement:"top",disableInteractive:!0},V.createElement(Ds,{sx:{display:"inline-flex",width:"100%",alignItems:"center",gap:2}},V.createElement(Ds,{component:"span",sx:{display:"inline-flex",flexShrink:0}},V.createElement(lFe,{value:l,notation:"compact",sx:{minWidth:`${o.errorRatioMinWidth}px`}})),V.createElement(Ds,{sx:{display:"inline-flex",[a]:{display:"none"}}},V.createElement(hFe,{predictionMean:c,targetMean:u,useCaseWithBaseline:t,notation:"compact"}))))},_Ye=({item:e})=>{const{compactRowWidthThreshold:t}=EZe(),{formatSegmentSizeRatio:n,formatSegmentSizeCount:r}=kZe(),i=`@container ${M_} (max-width: ${t}px)`;if(!e.segmentBenchmarkSize)return null;const o=e=>({value:e,formatter:n}),a=e=>({value:e,formatter:r}),s=o(e.segmentSize.ratio),l=a(e.segmentSize.segmentCount),c=a(e.segmentSize.populationCount),u=o(e.segmentBenchmarkSize.ratio),f=a(e.segmentBenchmarkSize.segmentCount),h=a(e.segmentBenchmarkSize.populationCount),d=o(e.segmentSize.ratio-e.segmentBenchmarkSize.ratio),p=Math.abs(e.segmentSize.ratio)<Math.abs(e.segmentBenchmarkSize.ratio),g=V.createElement(qje,{spacing:1,sx:{p:.5,minWidth:"220px"}},V.createElement(Ds,null,V.createElement(cFe,null,"BENCHMARK"),V.createElement(gFe,{ratio:u,segmentCount:f,populationCount:h})),V.createElement(uFe,null),V.createElement(Ds,null,V.createElement(cFe,null,"CURRENT"),V.createElement(gFe,{ratio:s,segmentCount:l,populationCount:c})),V.createElement(uFe,null),V.createElement(Ds,null,V.createElement(cFe,null,"DELTA"),V.createElement(fFe,{delta:d,isImproved:p,benchmarkValue:u,currentValue:s,getTooltipColor:e=>e?"var(--c-green-300)":"var(--c-red-300)"})));return V.createElement(hu,{title:g,arrow:!0,placement:"top"},V.createElement(Ds,{sx:{display:"inline-flex",alignItems:"center",gap:1.5,width:"100%",cursor:"pointer"}},V.createElement(lFe,{value:s}),V.createElement(Ds,{sx:{display:"inline-flex",[i]:{display:"none"}}},V.createElement(pFe,{segmentCount:l,populationCount:c,notation:"compact"})),V.createElement(Ds,{sx:{ml:"auto"}},V.createElement(zFe,{value:d,colorTheme:0===d.value?"default":p?"success":"error"}))))},MYe=({item:e})=>e.segmentBenchmarkSize?V.createElement(_Ye,{item:e}):V.createElement(PYe,{item:e}),PYe=({item:e})=>{const{compactRowWidthThreshold:t}=EZe(),{formatSegmentSizeRatio:n,formatSegmentSizeCount:r}=kZe(),i=`@container ${M_} (max-width: ${t}px)`,o={value:e.segmentSize.ratio,formatter:n},a={value:e.segmentSize.segmentCount,formatter:r},s={value:e.segmentSize.populationCount,formatter:r};return V.createElement(hu,{title:V.createElement(qje,{sx:{p:.5}},V.createElement(gFe,{ratio:o,segmentCount:a,populationCount:s})),arrow:!0,placement:"top",disableInteractive:!0},V.createElement(Ds,{sx:{display:"inline-flex",width:"100%",alignItems:"center",gap:2}},V.createElement(Ds,{component:"span",sx:{display:"inline-flex"}},V.createElement(lFe,{value:o})),V.createElement(Ds,{sx:{display:"inline-flex",[i]:{display:"none"}}},V.createElement(pFe,{segmentCount:a,populationCount:s,notation:"compact"}))))},DYe=["segmentSize","segmentError"];function RYe(e){return{segmentSize:{id:"segmentSize",label:"Segment Size",valueGetter:e=>e.segmentSize.ratio,valuePresenter:e=>V.createElement(MYe,{item:e}),comparator:e=>(t,n)=>"desc"===e?n.segmentSize.ratio-t.segmentSize.ratio:t.segmentSize.ratio-n.segmentSize.ratio,filter:{min:0,max:1,defaultValue:()=>95,valueGetter:e=>e.segmentSize.ratio,label:"Segment Size:",invertSliderTrack:!0}},segmentError:{id:"segmentError",label:e,valueGetter:e=>e.segmentError.error,valuePresenter:e=>V.createElement(OYe,{item:e}),comparator:e=>(t,n)=>"desc"===e?n.segmentError.error-t.segmentError.error:t.segmentError.error-n.segmentError.error,filter:{min:0,max:1,defaultValue:()=>.95,valueGetter:e=>Math.abs(e.segmentError.error),label:`${e}:`,invertSliderTrack:!0}}}}var IYe;!function(e){e.isSegmentComparisonMetric=function(e){return DYe.includes(e)}}(IYe||(IYe={}));const NYe=(e,{notation:t})=>qa.formatNumber(e,{notation:t}),$Ye=(e,{notation:t})=>qa.formatPercentFromRatio(e,{notation:t}),LYe=(e,{notation:t})=>qa.formatPercentPoints(e,{notation:t}),jYe={formatSegmentSizeRatio:$Ye,formatSegmentSizeCount:NYe},FYe={regression:{...jYe,formatSegmentError:NYe,formatErrorRatio:NYe,formatErrorDelta:$Ye},"regression-with-baseline":{...jYe,formatSegmentError:NYe,formatErrorRatio:NYe,formatErrorDelta:$Ye},classification:{...jYe,formatSegmentError:$Ye,formatErrorRatio:LYe,formatErrorDelta:LYe},"classification-with-baseline":{...jYe,formatSegmentError:$Ye,formatErrorRatio:LYe,formatErrorDelta:LYe}},zYe={regression:BYe,"regression-with-baseline":BYe,classification:WYe,"classification-with-baseline":WYe};function BYe(e){const t=e.segmentBenchmarkError?.error??0,n=e.segmentError.error-t;return 0===t?0===n?0:1/0:n/Math.abs(t)}function WYe(e){const t=e.segmentBenchmarkError?.error??0;return e.segmentError.error-t}const qYe="Segment Error",HYe={regression:{segmentErrorLabel:hs.Regression},"regression-with-baseline":{segmentErrorLabel:qYe},classification:{segmentErrorLabel:hs.Classification},"classification-with-baseline":{segmentErrorLabel:qYe}},UYe=1250,VYe=210,KYe=105,QYe={regression:{segmentSizeColumn:{flexBasis:VYe,minWidth:KYe},segmentErrorColumn:{flexBasis:220,minWidth:91,errorRatioMinWidth:68},compactRowWidthThreshold:UYe},classification:{segmentSizeColumn:{flexBasis:VYe,minWidth:KYe},segmentErrorColumn:{flexBasis:220,minWidth:91,errorRatioMinWidth:68},compactRowWidthThreshold:UYe},"regression-with-baseline":{segmentSizeColumn:{flexBasis:VYe,minWidth:KYe},segmentErrorColumn:{flexBasis:240,minWidth:91,errorRatioMinWidth:68},compactRowWidthThreshold:UYe},"classification-with-baseline":{segmentSizeColumn:{flexBasis:VYe,minWidth:KYe},segmentErrorColumn:{flexBasis:240,minWidth:91,errorRatioMinWidth:68},compactRowWidthThreshold:UYe}},GYe=1400,XYe=280,YYe=150,ZYe=165,JYe={regression:{segmentSizeColumn:{flexBasis:XYe,minWidth:YYe},segmentErrorColumn:{flexBasis:300,minWidth:ZYe,errorRatioMinWidth:68},compactRowWidthThreshold:GYe},classification:{segmentSizeColumn:{flexBasis:XYe,minWidth:YYe},segmentErrorColumn:{flexBasis:300,minWidth:ZYe,errorRatioMinWidth:68},compactRowWidthThreshold:GYe},"regression-with-baseline":{segmentSizeColumn:{flexBasis:XYe,minWidth:YYe},segmentErrorColumn:{flexBasis:315,minWidth:ZYe,errorRatioMinWidth:68},compactRowWidthThreshold:GYe},"classification-with-baseline":{segmentSizeColumn:{flexBasis:XYe,minWidth:YYe},segmentErrorColumn:{flexBasis:315,minWidth:ZYe,errorRatioMinWidth:68},compactRowWidthThreshold:GYe}},eZe=(0,V.createContext)(null),tZe=(0,V.createContext)(void 0),nZe=({children:e,loadFeatureHistogramStaticChart:t,loadFeatureHistogramInteractiveChart:n,loadSegmentDistributionChart:r,loadSegmentTrendChart:i,initialStaticHistogramsCache:o,initialSegmentDistributionChartsCache:a,initialSegmentTrendChartsCache:s})=>{const[l,c]=(0,V.useState)(()=>{return e=o,Object.fromEntries(Object.entries(e).map(([e,t])=>[e,null===t?null:{[ds.FeatureDistributionStatic]:t}]));var e}),u=(0,V.useRef)(new Set),[f,h]=(0,V.useState)(()=>a??{}),[d,p]=(0,V.useState)(()=>s??{}),g=(0,V.useCallback)(()=>{u.current.clear(),c({})},[]),m=(0,V.useCallback)(({featureId:e})=>u.current.has(e)||null===l[e]||l[e]?.[ds.FeatureDistributionStatic]?Promise.resolve():(u.current.add(e),t({featureId:e}).then(t=>{const n=t?{[ds.FeatureDistributionStatic]:t,[ds.FeatureDistributionInteractive]:void 0}:t;c(t=>({...t,[e]:n}))}).finally(()=>{u.current.delete(e)})),[t,l]),b=(0,V.useCallback)(({featureId:e})=>u.current.has(e)||Ma(l[e])||void 0!==l[e][ds.FeatureDistributionInteractive]?Promise.resolve():(u.current.add(e),n({featureId:e}).then(t=>{const n=l[e];Ma(n)||c(r=>({...r,[e]:{...n,[ds.FeatureDistributionInteractive]:t}}))}).finally(()=>{u.current.delete(e)})),[n,l]),w=(0,V.useCallback)(({featureId:e})=>e in f?Promise.resolve():r({featureId:e}).then(t=>h(n=>({...n,[e]:t??null}))),[r,f]),v=(0,V.useCallback)(({featureId:e})=>e in d?Promise.resolve():i({featureId:e}).then(t=>p(n=>({...n,[e]:t??null}))),[i,d]);return V.createElement(tZe.Provider,{value:(0,V.useMemo)(()=>({loadedFeatureHistogramCharts:l,clearHistogramChartCache:g,loadFeatureHistogramStaticChart:m,loadFeatureHistogramInteractiveChart:b,loadedSegmentDistributionCharts:f,loadSegmentDistributionChart:w,loadedSegmentTrendCharts:d,loadSegmentTrendChart:v}),[l,g,m,b,f,w,d,v])},e)},rZe=()=>{const e=(0,V.useContext)(tZe);if(e)return e;throw new Error("useSegmentLeaderboardChartsCache() can only be used within SegmentLeaderboardChartsCacheProvider")},iZe=(0,V.createContext)(null),oZe=e=>{const t=(0,V.useContext)(iZe);if(!t)throw new Error("Missing SegmentLeaderboardStoreContext.Provider in the tree");return gXe(t,e)};var aZe,sZe;!function(e){e[e.NO_DATA=0]="NO_DATA",e[e.NO_RESULTS=1]="NO_RESULTS",e[e.HAS_DATA=2]="HAS_DATA"}(aZe||(aZe={})),function(e){e.None="none",e.Edit="edit",e.Copy="copy",e.Code="code",e.Details="details"}(sZe||(sZe={}));const lZe=e=>!_a(e.isAssessed)||e.isAssessed;const cZe=e=>{const t=(0,V.useContext)(eZe);if(!t)throw new Error("Missing useSegmentLeaderboardBackendStore.Provider in the tree");return gXe(t,e)},uZe=()=>cZe(e=>e.value.useCaseWithBaseline),fZe=()=>cZe(e=>e.value.useCaseWithBaseline),hZe=()=>cZe(e=>_a(e.value.predictionTime)),dZe=()=>{const{segmentErrorLabel:e}=AZe();return RYe(e)},pZe=()=>{const e=cZe(e=>e.addDrillDown),{clearHistogramChartCache:t}=rZe();return async n=>{t(),await e(n)}},gZe=e=>e.value.allEntries,mZe=()=>cZe(EYe(gZe)),bZe=()=>{const e=mZe();return(0,V.useMemo)(()=>(0,$R.keyBy)(e.flat(),e=>e.feature.id),[e])},wZe=()=>{const e=mZe();return e[0]?.[0]},vZe=()=>cZe(e=>e.activeDrillDowns).length>0,yZe=()=>{const e=wZe();return Boolean(e?.segmentBenchmarkSize||e?.segmentBenchmarkError||e?.status===ps.New)},xZe=()=>function({predictionType:e,withBaseline:t}){if(e===fs.Regression)return t?"regression-with-baseline":"regression";if(e===fs.Classification)return t?"classification-with-baseline":"classification";throw new Error(`Invalid leaderboard mode detected: predictionType=${e}`)}({predictionType:cZe(e=>e.value.predictionType),withBaseline:uZe()}),AZe=()=>{return e=xZe(),HYe[e];var e},kZe=()=>{return e=xZe(),FYe[e];var e},SZe=()=>{return e=xZe(),zYe[e];var e},EZe=()=>function({formatMode:e,isComparisonMode:t}){return(t?JYe:QYe)[e]}({formatMode:xZe(),isComparisonMode:yZe()}),CZe=()=>{const e=mZe(),t=oZe(e=>e.explanationSearch),n=cZe(e=>e.nullRatio),r=cZe(e=>e.maxCollinearity),i=oZe(e=>e.segmentSizeValue),o=oZe(e=>e.segmentErrorValue),{segmentErrorLabel:a}=AZe(),s=oZe(e=>e.showStarredOnly),l=oZe(e=>e.showNewOnly),c=oZe(e=>e.showHiddenFeatures),u=cZe(e=>e.starredFeatures),f=cZe(e=>e.hiddenFeatures);return(0,V.useMemo)(()=>function(e,t,n,r,i,o,a,s,l,c,u,f){const h=RYe(a),d=(e=>t=>!lZe(t)||_a(t.stats[is.NullRatio])&&t.stats[is.NullRatio]<=e)(r),p=(e=>t=>!lZe(t)||!os.isNumber(t.maxAbsCorrelationOfSimplerFeature)||t.maxAbsCorrelationOfSimplerFeature<=e)(t),g=function(...e){return t=>e.reduce((e,t)=>t(e),t)}(Na(d),Na(e=>!s||l.includes(e.feature.id)),Na(e=>!c||e.status===ps.New),Na(e=>u||!f.includes(e.feature.id)),Na(e=>{const t=n.trim().split(/\s+/).filter(Boolean).map(e=>e.toLowerCase());if(0===t.length)return!0;const r=[(ns.getExplanation(e.feature).value??"").toLowerCase(),(e.feature.id??"").toLowerCase()].join(" ");return t.every(e=>r.includes(e))}),Na(p),Na(e=>!(lZe(e)&&os.isNumber(h.segmentSize.valueGetter(e))&&_a(h.segmentSize.valueGetter(e)))||h.segmentSize.filter.valueGetter(e)>=i),Na(e=>!(lZe(e)&&os.isNumber(h.segmentError.valueGetter(e))&&_a(h.segmentError.valueGetter(e)))||h.segmentError.filter.valueGetter(e)>=o));return e.reduce(g((e,t)=>e.concat([t])),[])}(e.flat(),r,t,n,i,o,a,s,u,l,c,f),[e,r,t,n,i,o,a,s,u,l,c,f])},OZe=e=>cZe(t=>t.progress?.type===e?t.progress:null);function TZe(){const e=oZe(e=>e.explanationSearch),t=cZe(e=>e.searchInFeatureSpace),n=cZe(e=>e.selectFeatures),r=vZe(),i=yZe(),o=OZe("feature_search"),a=r?_Ze("Searching Feature Space in Drill Down mode is not available."):i?_Ze("Searching Feature Space in Comparison Mode is not available"):void 0;return V.createElement(Ds,{sx:{mt:10}},V.createElement(xYe,{onAddToLeaderboard:n,searchPhrase:e,searchInFeatureSpace:t,customContent:a,searchProgress:o}))}function _Ze(e){return V.createElement(Ds,{sx:{display:"flex",alignItems:"center",justifyContent:"center",py:6,px:2}},V.createElement(Ro,{variant:"h6",sx:{color:"text.secondary"}},e))}const MZe=(0,V.createContext)(void 0),PZe=({children:e,updateFeature:t,copyFeature:n,getFeatureDefinitionCode:r,saveUserExplanation:i,domainDictionaryApi:o,loadFeatureEncodingTable:a,loadFeatureLineage:s,loadCustomTab:l,initialFeatureLineagesCache:c,initialEncodingTablesCache:u})=>{const[f,h]=(0,V.useState)(()=>u??{}),[d,p]=(0,V.useState)(()=>c??{}),g=(0,V.useCallback)(({featureId:e})=>e in f?Promise.resolve():a({featureId:e}).then(t=>h(n=>({...n,[e]:t}))),[a,f]),m=(0,V.useCallback)(({featureId:e})=>e in d?Promise.resolve():s({featureId:e}).then(t=>p(n=>({...n,[e]:t}))),[s,d]);return V.createElement(MZe.Provider,{value:(0,V.useMemo)(()=>({updateFeature:t,copyFeature:n,getFeatureDefinitionCode:r,saveUserExplanation:i,loadFeatureEncodingTable:g,loadedFeatureEncodingTables:f,loadFeatureLineage:m,loadedFeatureLineages:d,loadCustomTab:l}),[t,n,r,i,g,f,m,d,l])},V.createElement(j_,{value:o},e))},DZe=()=>{const e=(0,V.useContext)(MZe);if(e)return e;throw new Error("useSegmentLeaderboard() can only be used within SegmentLeaderboardProvider")};function RZe(){const e=cZe(e=>e.calculationStatus),[t,n]=V.useState([]);(0,V.useEffect)(()=>{const t={time:new Date(e?.timestamp??Date.now()),value:e?.lift??0,label:e?.label??""};n(e=>[...e,t])},[e]);const{labelData:r,gridValues:i}=(0,V.useMemo)(()=>{const e=t.length;let n;if(e<=10)n=t;else{const r=Math.ceil(e/10);n=t.filter((t,n)=>{const i=n+1;return 1===i||i===e||i%r===0})}const r=n.map(e=>e.time.getTime());return{labelData:n,gridValues:r}},[t]),o={$schema:"https://vega.github.io/schema/vega-lite/v5.json",description:"A clean line chart with a sparse grid aligned to the custom labels.",width:"container",autosize:{type:"fit",contains:"padding"},layer:[{data:{values:t},mark:{type:"line",strokeWidth:2,color:"#84cc16"},encoding:{x:{field:"time",type:"temporal",axis:{title:null,labels:!1,ticks:!1,domain:!1,grid:!0,values:i}},y:{field:"value",type:"quantitative",title:"Lift",axis:{titleColor:"#9ca3af",labelColor:"#9ca3af"}}}},{data:{values:r},mark:{type:"text",align:"center",dy:15},encoding:{x:{field:"time",type:"temporal"},y:{value:150},text:{field:"label",type:"nominal"},color:{value:"#9ca3af"}}}],config:{background:"transparent"}};return V.createElement(eMe,{vegaSpec:o,sx:{width:"100%"}})}const IZe={display:"flex",flexWrap:"wrap",gap:3,width:"100%",p:2,backgroundColor:"var(--c-leaderboard-background)"},NZe={minHeight:341,minWidth:800},$Ze=({customScoreChart:e,temporalDistributionChart:t,adbData:n})=>{const[r,i]=(0,V.useState)(!1),[o,a]=(0,V.useState)(null),s=(0,V.useMemo)(()=>{const r=[];return e&&r.push({id:"score",label:"Baseline Performance"}),t&&r.push({id:"temporal",label:"Trend"}),n&&r.push({id:"topology",label:"Data Topology"}),r},[e,t,n]);(0,V.useEffect)(()=>{const e=s.some(e=>e.id===o);!(s.length>0)||o&&e||a(s[0]?.id??null)},[s,o]);const l=e&&V.createElement(Ds,{sx:IZe},V.createElement($Fe,{header:"Baseline Performance",sx:NZe,contentSx:{alignItems:"baseline"},headerSx:{marginBottom:6}},V.createElement(cMe,{histogramCharts:e,detailedHistogramAvailable:!0,sx:{marginTop:-12,marginRight:4}}))),c=t&&V.createElement(Ds,{sx:IZe},V.createElement($Fe,{header:"Trend",sx:NZe,contentSx:{alignItems:"baseline"},headerSx:{marginBottom:6}},V.createElement(eMe,{vegaSpec:t,sx:{height:"300px"}}))),u=n&&V.createElement(SGe,{value:n});if(0===s.length)return null;const f=r?V.createElement(g$e,{value:o,onChange:(e,t)=>{a(t)},sx:{minHeight:"64px","& .MuiTab-root":{minHeight:"64px"}}},s.map(e=>V.createElement(y$e,{key:e.id,value:e.id,label:e.label}))):V.createElement("h3",{className:"grey-label",style:{margin:0}},"Data & Configuration");return V.createElement($Fe,{isAccordion:!0,expanded:r,onToggle:i,header:f,sx:{width:"100%"}},V.createElement(Ds,{sx:{pt:1}},"score"===o&&l,"temporal"===o&&c,"topology"===o&&u))},LZe=vs((0,bo.jsx)("path",{d:"M10 18h4v-2h-4zM3 6v2h18V6zm3 7h12v-2H6z"}));function jZe(e){return Oo("MuiSwitch",e)}const FZe=To("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),zZe=ho("span",{name:"MuiSwitch",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.edge&&t[`edge${xo(n.edge)}`],t[`size${xo(n.size)}`]]}})({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"},variants:[{props:{edge:"start"},style:{marginLeft:-8}},{props:{edge:"end"},style:{marginRight:-8}},{props:{size:"small"},style:{width:40,height:24,padding:7,[`& .${FZe.thumb}`]:{width:16,height:16},[`& .${FZe.switchBase}`]:{padding:4,[`&.${FZe.checked}`]:{transform:"translateX(16px)"}}}}]}),BZe=ho(MN,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.switchBase,{[`& .${FZe.input}`]:t.input},"default"!==n.color&&t[`color${xo(n.color)}`]]}})(go(({theme:e})=>({position:"absolute",top:0,left:0,zIndex:1,color:e.vars?e.vars.palette.Switch.defaultColor:`${"light"===e.palette.mode?e.palette.common.white:e.palette.grey[300]}`,...ta(e,["left","transform"],{duration:e.transitions.duration.shortest}),[`&.${FZe.checked}`]:{transform:"translateX(20px)"},[`&.${FZe.disabled}`]:{color:e.vars?e.vars.palette.Switch.defaultDisabledColor:`${"light"===e.palette.mode?e.palette.grey[100]:e.palette.grey[600]}`},[`&.${FZe.checked} + .${FZe.track}`]:{opacity:.5},[`&.${FZe.disabled} + .${FZe.track}`]:{opacity:e.vars?e.vars.opacity.switchTrackDisabled:""+("light"===e.palette.mode?.12:.2)},[`& .${FZe.input}`]:{left:"-100%",width:"300%"}})),go(({theme:e})=>({"&:hover":{backgroundColor:e.alpha((e.vars||e).palette.action.active,(e.vars||e).palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[...Object.entries(e.palette).filter(Ao(["light"])).map(([t])=>({props:{color:t},style:{[`&.${FZe.checked}`]:{color:(e.vars||e).palette[t].main,"&:hover":{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${FZe.disabled}`]:{color:e.vars?e.vars.palette.Switch[`${t}DisabledColor`]:`${"light"===e.palette.mode?e.lighten(e.palette[t].main,.62):e.darken(e.palette[t].main,.55)}`}},[`&.${FZe.checked} + .${FZe.track}`]:{backgroundColor:(e.vars||e).palette[t].main}}}))]}))),WZe=ho("span",{name:"MuiSwitch",slot:"Track"})(go(({theme:e})=>({height:"100%",width:"100%",borderRadius:7,zIndex:-1,...ta(e,["opacity","background-color"],{duration:e.transitions.duration.shortest}),"@media (forced-colors: active)":{boxSizing:"border-box",border:"1px solid ButtonBorder"},backgroundColor:e.vars?e.vars.palette.common.onBackground:`${"light"===e.palette.mode?e.palette.common.black:e.palette.common.white}`,opacity:e.vars?e.vars.opacity.switchTrack:""+("light"===e.palette.mode?.38:.3)}))),qZe=ho("span",{name:"MuiSwitch",slot:"Thumb"})(go(({theme:e})=>({boxShadow:(e.vars||e).shadows[1],backgroundColor:"currentColor",boxSizing:"border-box",border:"1px solid transparent",width:20,height:20,borderRadius:"50%"}))),HZe=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiSwitch"}),{className:r,color:i="primary",edge:o=!1,size:a="medium",sx:s,slots:l={},slotProps:c={},...u}=n,f={...n,color:i,edge:o,size:a},h=(e=>{const{classes:t,edge:n,size:r,color:i,checked:o,disabled:a}=e,s=X({root:["root",n&&`edge${xo(n)}`,`size${xo(r)}`],switchBase:["switchBase",`color${xo(i)}`,o&&"checked",a&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},jZe,t);return{...t,...s}})(f),d=c.input,p={slots:l,slotProps:c},[g,m]=eu("root",{className:G(h.root,r),elementType:zZe,externalForwardedProps:p,ownerState:f,additionalProps:{sx:s}}),[b,w]=eu("thumb",{className:h.thumb,elementType:qZe,externalForwardedProps:p,ownerState:f}),v=(0,bo.jsx)(b,{...w}),[y,x]=eu("track",{className:h.track,elementType:WZe,externalForwardedProps:p,ownerState:f});return(0,bo.jsxs)(g,{...m,children:[(0,bo.jsx)(BZe,{type:"checkbox",icon:v,checkedIcon:v,ref:t,ownerState:f,...u,classes:{...h,root:h.switchBase},slots:{...l.switchBase&&{root:l.switchBase},...l.input&&{input:l.input}},slotProps:{...c.switchBase&&{root:"function"==typeof c.switchBase?c.switchBase(f):c.switchBase},input:kD("function"==typeof d?d(f):d,{role:"switch"})}}),(0,bo.jsx)(y,{...x})]})}),UZe=HZe;function VZe(){const{maxCollinearity:e,setMaxCollinearity:t,nullRatio:n,setNullRatio:r}=cZe(EYe(e=>({maxCollinearity:e.maxCollinearity,setMaxCollinearity:e.setMaxCollinearity,nullRatio:e.nullRatio,setNullRatio:e.setNullRatio}))),i=dZe(),o=i.segmentSize,a=i.segmentError,s=oZe(e=>e.segmentSizeValue),l=oZe(e=>e.setSegmentSizeValue),c=oZe(e=>e.segmentErrorValue),u=oZe(e=>e.setSegmentErrorValue),f=oZe(e=>e.showHiddenFeatures),h=oZe(e=>e.setShowHiddenFeatures);return V.createElement(Zze,{"data-testid":W,buttonContent:V.createElement(V.Fragment,null,V.createElement(LZe,{sx:{marginRight:"6px"}})," Filters"),title:"Filters"},V.createElement(Ds,null,V.createElement(Ds,{sx:{mt:"16px"}},V.createElement(Uze,{testId:"Max collinearity",value:e,setValue:t,label:"Max correlation",labelRightSlot:V.createElement(hDe,{filterName:"maxCollinearity"},V.createElement($T,null)),min:0,max:1})),V.createElement(Ds,{sx:{mt:"16px"}},V.createElement(Uze,{testId:"Null ratio",value:n,setValue:r,label:"Null ratio",labelRightSlot:V.createElement(hDe,{filterName:"nullRatio"},V.createElement($T,null)),min:0,max:1}))),V.createElement(Ds,{sx:{mt:"16px"}},V.createElement(Uze,{testId:o.id,invertSliderTrack:o.filter.invertSliderTrack,value:s,setValue:l,label:o.label,min:o.filter.min,max:o.filter.max})),V.createElement(Ds,{sx:{mt:"16px"}},V.createElement(Uze,{testId:a.id,invertSliderTrack:a.filter.invertSliderTrack,value:c,setValue:u,label:a.label,min:a.filter.min,max:a.filter.max})),V.createElement(Ds,{sx:{mt:"16px",display:"flex",alignItems:"center"}},V.createElement(Ro,{className:"grey-label label-bold",variant:"body2",sx:{position:"relative",top:"-3px",fontSize:"14px",fontWeight:500,mr:13}},"Show Hidden"),V.createElement(UZe,{checked:f,onChange:(e,t)=>h(t)})))}const KZe=()=>{const e=oZe(e=>e.showStarredOnly),t=oZe(e=>e.setShowStarredOnly);return V.createElement(O_,{size:"medium",icon:e?V.createElement(jPe,null):V.createElement(FPe,null),label:"Starred",onClick:()=>t(!e),variant:"outlined",sx:{backgroundColor:e?"var(--c-inversion-aware-warning-light)":"white","& .MuiChip-icon":{color:"var(--c-inversion-aware-warning)",mx:1},"& .MuiChip-label":{fontWeight:500,color:"var(--c-grey-700)",mr:2}}})},QZe=()=>{const e=oZe(e=>e.setExplanationSearch),t=mZe().flat().map(e=>e.feature),n=(()=>{const e=bZe(),t=cZe(e=>e.activeDrillDowns);return(0,V.useMemo)(()=>t.map(({featureId:t,label:n})=>({featureId:t,label:n,entry:e[t]})),[e,t])})(),r=pZe(),i=(()=>{const e=cZe(e=>e.removeDrillDown),{clearHistogramChartCache:t}=rZe();return async n=>{t(),await e(n)}})(),o=yZe(),a=o?"Drill Down in Comparison Mode is not available":void 0,[s,l]=(0,V.useState)(()=>"");return V.createElement(Ds,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",p:2}},V.createElement(tMe,{variant:"row",gap:3,sx:{alignItems:"center"}},n&&V.createElement(nFe,{drillDownItems:n,availableDrillDownFeatures:t,onAdd:r,onRemove:i,disabled:o,disabledTooltip:a}),V.createElement(KZe,null)),V.createElement(tMe,{variant:"row",gap:1,sx:{marginLeft:"auto",alignItems:"center"}},V.createElement(VZe,null),V.createElement(Jze,{testId:q,placeholder:"Search feature",sx:{width:"275px"},searchPhrase:s,onSearchPhraseChange:t=>{l(t),e(t)}})))},GZe=R_(),XZe=vs((0,bo.jsx)("path",{d:"m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"})),YZe=vs((0,bo.jsx)("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z"})),ZZe=vs((0,bo.jsx)("path",{d:"M18 2H9c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h9c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m0 14H9V4h9zM3 15v-2h2v2zm0-5.5h2v2H3zM10 20h2v2h-2zm-7-1.5v-2h2v2zM5 22c-1.1 0-2-.9-2-2h2zm3.5 0h-2v-2h2zm5 0v-2h2c0 1.1-.9 2-2 2M5 6v2H3c0-1.1.9-2 2-2"})),JZe=vs((0,bo.jsx)("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"})),eJe="data:image/x-icon;base64,AAABAAUAEBAAAAEAIABoBAAAVgAAABgYAAABACAAiAkAAL4EAAAgIAAAAQAgAKgQAABGDgAAMDAAAAEAIACoJQAA7h4AAAAAAAABACAAmiQAAJZEAAAoAAAAEAAAACAAAAABACAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAxMTEAMXFxQvp6emO7e3ttO3t7bLt7e2y7e3tsu3t7bLt7e2y7e3tsu3t7bLt7e2y7e3ttOnp6Y7FxcULxMTEANPT0wDU1NQQ+vr6zP/////////////////////////////////////////////////////6+vrM1NTUENPT0wDT09MA1NTUEPv7+8z//////P3///T5/v/0+P7/9Pj+//T4/v/0+P7/9Pn+//z9////////+/v7zNTU1BDT09MA09PTANTU1BD7+/vM/////8ff+/8/kPP/OIzz/zqO8/86jvP/OIzz/z+Q8//H3/z///////v7+8zU1NQQ09PTANPT0wDU1NQQ+/v7zP////+00/r/GXnw/zyO8/8Da+//BGvv/zyP8/8ZefD/tdT6///////7+/vM1NTUENPT0wDT09MA1NTUEPv7+8z/////s9P6/yqE8v/U5vz/hLj3/4W59//U5vz/KoTy/7TU+v//////+/v7zNXV1RDT09MA09PTANTU1BD7+/vM/////7TT+v8phPL/5O/9////////////5O/9/ymD8v+01Pr///////v7+8zV1dUQ09PTANPT0wDU1NQQ+/v7zP////+00/r/KIPx/9vq/f/3+v7/9/r+/9vq/f8og/H/tNT6///////6+vrM1dXVENPT0wDT09MA1dXVEPv7+8z/////tdX6/w908P84jPP/P5Dz/z+Q8/84jPP/D3Xw/7XU+f////3/+Pj4zNPT0xDS0tIA09PTANXV1RD7+/vM/////+Tv/f+iyfn/ncf5/53G+f+dxvn/nMb4/6HI+P/h7Pr/+vr5//Ly8sPKysoMycnJANTU1ADV1dUQ+/v7zP/////////////////////////////+///+/P/9+/n/9vX1/+7u7v/j4+OQAAAAAKurqwDU1NQA1dXVEPv7+8z//////////////////////v7+//z8/P/09PT/6Ojo/93d3f/R0dHJxcXFJ8vLywAiIiIA1NTUANXV1RD7+/vM/////////////////v7+//39/f/29vb/8PDw/+7u7v/b29vDvb29K+Li4gBwcHAAAAAAANPT0wDU1NQQ+fn5zP7+/v/+/v7//f39//z8/P/5+fn/8PDw/+rq6v/t7e292dnZJurq6gCjo6MAAAAAAAAAAADOzs4A0NDQEPT09Mz4+Pj/+Pj4//j4+P/29vb/8fHx/+Xl5f/Y2Ni019fXIejo6AB2dnYAAAAAAAAAAAAAAAAAy8vLAMzMzA3p6emq7e3t2O3t7dXs7OzV6enp1uPj48/U1NSWvb29H8XFxQCGhoYAAAAAAAAAAAAAAAAAAAAAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAwAAgAMAAIAHAACADwAAgB8AAIA/AAAoAAAAGAAAADAAAAABACAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIuLiwCNjY0G1NTUYtjY2IXY2NiD2NjYg9jY2IPY2NiD2NjYg9jY2IPY2NiD2NjYg9jY2IPY2NiD2NjYg9jY2IPY2NiD2NjYg9jY2IXU1NRijIyMBouLiwAAAAAAAAAAAKqqqgCqqqoL9/f3wP7+/v/+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v/39/fAqqqqC6qqqgAAAAAAAAAAAKurqwCrq6sL9/f3wP/////////////////////////////////////////////////////////////////////////////////////39/fAq6urC6urqwAAAAAAAAAAAKurqwCrq6sL9/f3wP/////////////////////////////////////////////////////////////////////////////////////4+PjAq6urC6urqwAAAAAAAAAAAKurqwCrq6sL9/f3wP//////////+vz//8be+/+31vv/uNb7/7jW+/+41vv/uNb7/7jW+/+41vv/t9b7/8be+//7/P/////////////4+PjAq6urC6urqwAAAAAAAAAAAKurqwCrq6sL9/f3wP//////////7/b+/ziM8v8Dbu//BW/v/wdw7/8HcO//B3Dv/wdw7/8Fb+//A27v/zmM8//w9v7////////////4+PjAq6urC6urqwAAAAAAAAAAAKurqwCrq6sL9/f3wP//////////7/b+/zGI8v8Mc/D/KIPx/wFr7/8Aa+//AGvv/wFr7/8og/H/DHPw/zKJ8v/v9v7////////////39/fAq6urC6urqwAAAAAAAAAAAKurqwCrq6sL9/f3wP//////////7/b+/zCI8v8kgPH/xt77/1+j9f8Fbu//Bm7v/2Cj9f/G3vv/I4Dx/zGI8v/v9v7////////////4+PjAq6urC6urqwAAAAAAAAAAAKurqwCqqqoL9/f3wP//////////7/b+/zCI8v8jgPH/5/H9//X5/v+Pvvj/kL/4//X5/v/m8f3/In/x/zGI8v/v9v7////////////4+PjAq6urC6urqwAAAAAAAAAAAKurqwCqqqoL9/f3wP//////////7/b+/zCI8v8jgPH/5vH9///////+/v///v7////////m8P3/In/x/zGI8v/v9v7////////////4+PjAq6urC6urqwAAAAAAAAAAAKurqwCqqqoL9/f3wP//////////7/b+/zCI8v8jgPH/5vH9///////////////////////m8P3/In/x/zGI8v/v9v7////////////4+PjAq6urC6urqwAAAAAAAAAAAKurqwCqqqoL+Pj4wP//////////7/b+/zCI8v8igPH/4+/9//3+///8/f///P3///3+///j7v3/IX/x/zGI8v/v9v7////////////39/fAq6urC6urqwAAAAAAAAAAAKurqwCrq6sL+Pj4wP//////////7/b+/zGI8v8JcO//SJX0/1Ca9P9QmvT/UJr0/1Ga9P9IlfT/CHDv/zKI8v/u9f3//v7+//39/f/29vbAqqqqC6qqqgAAAAAAAAAAAKurqwCrq6sL+Pj4wP//////////8ff+/0iW9P8YevH/GHnw/xd58P8XefD/F3nw/xd58P8YefD/GHrw/0mV8//v9fz//Pz8//v7+//z8/O/p6enC6enpwAAAAAAAAAAAKurqwCrq6sL+Pj4wP///////////f7//+Pv/f/c6/3/3Ov9/9zr/f/c6/3/3Ov9/9zq/P/b6vz/2un7/+Hs+v/4+fr/+Pj4//b29v/t7e2te3t7BY+PjwAAAAAAAAAAAKurqwCrq6sL+Pj4wP/////////////////////////////////////////////+/////v///v3//fz7//v6+f/29vb/8/Pz/+7u7v/g4OB7////AD8/PwAAAAAAAAAAAKysrACrq6sL+Pj4wP/////////////////////////////////////+/v7//v7+//z8/P/5+fn/9PT0//Dw8P/t7e3/5ubm/9ra2trIyMgq0NDQAAAAAAAAAAAAAAAAAKysrACrq6sL+Pj4wP////////////////////////////////7+/v/+/v7//Pz8//f39//v7+//5eXl/9zc3P/V1dX/ycnJ47i4uE7///8AkpKSAAAAAAAAAAAAAAAAAKysrACrq6sL+Pj4wP////////////////////////////////7+/v/9/f3/+fn5//Hx8f/w8PD/7u7u/+Tk5P/W1tbevr6+SgAAAACLi4sAAAAAAAAAAAAAAAAAAAAAAKysrACrq6sL9/f3wP///////////////////////////v7+//39/f/7+/v/9vb2/+zs7P/x8fH/+vr6/+rq6tnU1NRC////AKysrAAAAAAAAAAAAAAAAAAAAAAAAAAAAKurqwCrq6sL9vb2wP39/f/9/f3//f39//39/f/9/f3//Pz8//v7+//39/f/8fHx/+jo6P/p6en/6urq09LS0jz///8Ak5OTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKmpqQCoqKgL8/PzwPr6+v/6+vr/+vr6//r6+v/5+fn/+Pj4//b29v/y8vL/7Ozs/9/f3//a2trO1dXVNf///wCLi4sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKWlpQClpaUL7e3twPT09P/z8/P/8/Pz//Pz8//y8vL/8fHx/+7u7v/q6ur/4ODg/c7OzsPAwMAv1tbWAIeHhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK2trQCtra0I4+Pjjejo6L/o6Oi86OjovOjo6Lzn5+e85eXlvOLi4rvb29uuzs7Oera2tiHm5uYAdXV1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAADAMAAAwDAAAMAwAADAMAAAwDAAAMAwAADAMAAAwDAAAMAwAADAMAAAwDAAAMAwAADAMAAAwDAAAMAwAAHAMAABwDAAA8AwAAfAMAAPwDAAH8AwAD/AMAB/wDAA/8AKAAAACAAAABAAAAAAQAgAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARUVFAD4+PgOysrI9t7e3Wra2tlm2trZZtra2Wba2tlm2trZZtra2Wba2tlm2trZZtra2Wba2tlm2trZZtra2Wba2tlm2trZZtra2Wba2tlm2trZZtra2Wba2tlm2trZZt7e3WrKysj09PT0DRUVFAAAAAAAAAAAAAAAAAAAAAABycnIAZGRkB/Dw8Kv7+/v4+/v79Pv7+/T7+/v0+/v79Pv7+/T7+/v0+/v79Pv7+/T7+/v0+/v79Pv7+/T7+/v0+/v79Pv7+/T7+/v0+/v79Pv7+/T7+/v0+/v79Pv7+/T7+/v48PDwq2VlZQdycnIAAAAAAAAAAAAAAAAAAAAAAHV1dQBnZ2cI9PT0tP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////09PS0Z2dnCHV1dQAAAAAAAAAAAAAAAAAAAAAAdXV1AGdnZwj09PS0//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////T09LRnZ2cIdXV1AAAAAAAAAAAAAAAAAAAAAAB1dXUAZ2dnCPT09LT/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9PT0tGdnZwh1dXUAAAAAAAAAAAAAAAAAAAAAAHV1dQBnZ2cI9PT0tP///////////////////////////v////7////+/////v////7////+/////v////7////+/////v////7////+///////////////////////////////09PS0Z2dnCHV1dQAAAAAAAAAAAAAAAAAAAAAAdXV1AGdnZwj09PS0/////////////////////6/R+v9cofX/XqL1/16i9f9eovX/XqL1/16i9f9eovX/XqL1/16i9f9eovX/XqL1/1yh9f+w0fr///////////////////////T09LRnZ2cIdXV1AAAAAAAAAAAAAAAAAAAAAAB1dXUAZ2dnCPT09LT/////////////////////f7T3/wBo7/8Aae//AGnv/wBp7/8Aae//AGnv/wBp7/8Aae//AGnv/wBp7/8Aae//AGjv/4G19///////////////////////9PT0tGdnZwh1dXUAAAAAAAAAAAAAAAAAAAAAAHV1dQBnZ2cI9PT0tP////////////////////+Atvf/AGrv/wty8P8WePD/AGvv/wBs7/8AbO//AGzv/wBs7/8Aa+//Fnjw/wty8P8Aau//gbb3///////////////////////09PS0Z2dnCHV1dQAAAAAAAAAAAAAAAAAAAAAAdXV1AGdnZwj09PS0/////////////////////4C29/8Aae//KIPy/7HS+v9AkfP/AWvv/wBs7/8AbO//AWvv/0GS8/+x0vr/J4Lx/wBp7/+Btvf///////////////////////T09LRnZ2cIdXV1AAAAAAAAAAAAAAAAAAAAAAB1dXUAZ2dnCPT09LT/////////////////////gLb3/wBp7/8og/L/6fL+/+fx/f9pqPb/CHDv/whw7/9qqfb/5/H+/+jy/v8ng/H/AGnv/4G29///////////////////////9PT0tGdnZwh1dXUAAAAAAAAAAAAAAAAAAAAAAHV1dQBmZmYI9PT0tP////////////////////+Atvf/AGnv/yiD8v/o8v7///////b6/v+bxfn/nMb5//f6/v//////5/H9/yeD8f8Aae//gbb3///////////////////////09PS0Z2dnCHV1dQAAAAAAAAAAAAAAAAAAAAAAdXV1AGZmZgj09PS0/////////////////////4C29/8Aae//KIPy/+jy/v/////////////////////////////////n8f3/J4Px/wBp7/+Btvf///////////////////////T09LRnZ2cIdXV1AAAAAAAAAAAAAAAAAAAAAAB1dXUAZmZmCPT09LT/////////////////////gLb3/wBp7/8og/L/6PL+/////////////////////////////////+fx/f8ng/H/AGnv/4G29///////////////////////9PT0tGdnZwh1dXUAAAAAAAAAAAAAAAAAAAAAAHV1dQBmZmYI9PT0tP////////////////////+Atvf/AGnv/yiD8v/o8v7/////////////////////////////////5/H9/yeD8f8Aae//gbb3///////////////////////09PS0Z2dnCHV1dQAAAAAAAAAAAAAAAAAAAAAAdXV1AGZmZgj09PS0/////////////////////4C29/8Aae//KIPy/+jy/v/////////////////////////////////n8f3/J4Px/wBp7/+Btvf///////7+/v/+/v7///////T09LRnZ2cIdXV1AAAAAAAAAAAAAAAAAAAAAAB1dXUAZ2dnCPT09LT/////////////////////gLb3/wBp7/8QdfD/XaL1/2en9v9np/X/Z6f1/2en9f9np/X/Z6f2/12h9f8QdfD/AGrv/4G29/////7//v7+//39/f/+/v7/8vLytGdnZwh1dXUAAAAAAAAAAAAAAAAAAAAAAHV1dQBnZ2cI9PT0tP////////////////////9/tPf/AGjv/wBp7/8AZ+7/AGfu/wBn7v8AZ+7/AGfu/wBn7v8AZ+7/AGfv/wBp7/8AaO//gLX2/////f/9/f3//Pz8//z8/P/x8fGzZmZmCHV1dQAAAAAAAAAAAAAAAAAAAAAAdXV1AGdnZwj09PS0/////////////////////6nN+v9RmvT/U5z0/1Oc9P9TnPT/U5z0/1Oc9P9TnPT/U5z0/1Ob9P9Tm/T/U5v0/1Ca8/+pzPj//v38//v7+//6+vr/+fn5/+3t7a1LS0sGaWlpAAAAAAAAAAAAAAAAAAAAAAB1dXUAZ2dnCPT09LT//////////////////////f7///z9///8/f///P3///z9///8/f///P3///z9///7/P7/+/z+//r8/f/6+/3/+fr8//r6+//6+vr/+Pj4//b29v/19fX/5ubmlAAAAAA3NzcAAAAAAAAAAAAAAAAAAAAAAHV1dQBnZ2cI9PT0s////////////////////////////////////////////////////////////v7+//7+/v/+/f3//f39//z8/P/7+/r/+fn5//f39//09PT/8fHx/+3t7f3a2tpj////AAUFBQAAAAAAAAAAAAAAAAAAAAAAdnZ2AGdnZwj09PSz//////////////////////////////////////////////////////7+/v/+/v7//f39//39/f/7+/v/+Pj4//b29v/z8/P/8fHx/+7u7v/p6en/3d3d2MHBwSPR0dEAAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnYAZ2dnCPT09LP////////////////////////////////////////////////+/v7//v7+//39/f/8/Pz/+fn5//X19f/w8PD/7Ozs/+np6f/m5ub/4ODg/9PT0/TCwsJn////AIqKigAAAAAAAAAAAAAAAAAAAAAAAAAAAHZ2dgBnZ2cI9PT0s/////////////////////////////////////////////////7+/v/9/f3//f39//n5+f/z8/P/7Ozs/+Tk5P/c3Nz/1dXV/87Ozv/ExMTzs7OzdYWFhQaXl5cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdnZ2AGdnZwj09PSz///////////////////////////////////////////+/v7//v7+//39/f/7+/v/9fX1/+7u7v/v7+//6+vr/+Li4v/c3Nz/1NTU8MDAwG6CgoIFnZ2dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnYAZ2dnCPT09LP//////////////////////////////////////v7+//7+/v/9/f3//Pz8//j4+P/y8vL/6+vr//b29v/+/v7/+Pj4/+rq6uzT09Nli4uLBK6urgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZ2dgBoaGgI9PT0s//////+/v7//v7+//7+/v/+/v7//v7+//7+/v/9/f3//f39//z8/P/6+vr/9fX1/+/v7//n5+f/8fHx//j4+P/p6enp0dHRXmZmZgOhoaEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXV1AGdnZwjy8vKz/f39//39/f/9/f3//f39//39/f/9/f3//Pz8//z8/P/7+/v/+fn5//b29v/y8vL/7Ozs/+Li4v/r6+v/6enp5dHR0VY9PT0Bn5+fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0dHQAZmZmCPDw8LP7+/v/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+fn5//j4+P/29vb/8/Pz/+7u7v/n5+f/29vb/9/f3+HT09NPAAAAAZmZmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJycgBkZGQI7Ozss/f39//39/f/9/f3//f39//39/f/9/f3//b29v/19fX/8/Pz//Hx8f/t7e3/6Ojo/93d3f/Nzc3cyMjISAAAAACYmJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdHR0AGdnZwfm5uaz8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/7+/v/+7u7v/s7Oz/6enp/+Tk5P/b29v3y8vLw7W1tT7///8AmJiYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACGhoYAe3t7BN7e3m/k5OSj5OTkoeTk5KHk5OSh5OTkoeTk5KHj4+Oh4uLiod/f36Hb29ud1dXVicnJyVqvr68Z////AG9vbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAD+AAAA/gAAAP4AAAH+AAAB/gAAA/4AAAf+AAAP/gAAH/4AAD/+AAD//gAB//4AA//ygAAAAwAAAAYAAAAAEAIAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAIvLy8SMTExIS4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iLi4uIi4uLiIuLi4iMTExIS8vLxIAAAACAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgoKAAAAAAPX19dy6enpxOjo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6Ojowujo6MLo6OjC6enpxNfX13IAAAADCgoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////P3//6jN+v+Dt/f/hbj3/4W49/+FuPf/hbj3/4W49/+FuPf/hbj3/4W49/+FuPf/hbj3/4W49/+FuPf/hbj3/4W49/+FuPf/hbj3/4O39/+pzfr//P3//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+Pv//0mV9P8AaO//AGrv/wBq7/8Aau//AGrv/wBq7/8Aau//AGrv/wBq7/8Aau//AGrv/wBq7/8Aau//AGrv/wBq7/8Aau//AGrv/wBo7/9MlvT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGzv/wBs7/8AbO//AGzv/wBs7/8AbO//AGzv/wBs7/8AbO//AGzv/wBs7/8AbO//AGzv/wBs7/8AbO//AGzv/wBq7/9Ml/T/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGzv/wNu7/8Ebe//AGvv/wBs7/8AbO//AGzv/wBs7/8AbO//AGzv/wBs7/8AbO//AGvv/wRt7/8Dbu//AGzv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGvv/yaB8f92sPb/FXfw/wBq7/8AbO//AGzv/wBs7/8AbO//AGzv/wBs7/8Aau//Fnjw/3ew9v8kgfH/AGvv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/p8v7/ttX6/y6G8v8Aau//AGzv/wBs7/8AbO//AGzv/wBq7/8vh/L/t9X6/+jx/v8thfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r8/7//////9jo/f9UnPT/BG3v/wBr7/8Aa+//BG3v/1Wd9P/Z6f3//////+rz/v8shfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r8/7////////////v9v7/gLb3/xB08P8QdfD/grf3//D2/v///////////+rz/v8shfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r8/7/////////////////+/3//7LS+v+z0/r/+/3//////////////////+rz/v8shfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r8/7//////////////////////////////////////////////////////+rz/v8shfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r8/7//////////////////////////////////////////////////////+rz/v8shfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r8/7//////////////////////////////////////////////////////+rz/v8shfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r8/7//////////////////////////////////////////////////////+rz/v8shfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r8/7//////////////////////////////////////////////////////+rz/v8shfL/AGrv/wBq7/9MmPT/+fz//////////////////////////////////+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGrv/y6G8v/r9P7//////////////////////////////////////////////////////+rz/v8shfL/AGrv/wBq7/9Ml/T/+fv+/////v/+/v7//v7+//7+/v/+/v7//v7+/+rq6pgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGvv/xp78f+Huff/k8D4/5LA+P+SwPj/ksD4/5LA+P+SwPj/ksD4/5LA+P+SwPj/k8D4/4a59/8ZevH/AGvv/wBq7/9Ml/T/+fv+//7+/v/+/v7//v7+//7+/v/9/f3//v7+/+np6ZgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qX9P8Aau//AGzv/wBs7/8Aa+//AGvv/wBr7/8Aa+//AGvv/wBr7/8Aa+//AGvv/wBr7/8Aa+//AGvv/wBr7/8AbO//AGzv/wBq7/9Ml/P/+Pv9//7+/f/9/f3//f39//39/f/9/f3//f39/+np6ZgAAAAEDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fv//0qW9P8Aae//AGvv/wBr7/8Aa+//AGvv/wBr7/8Aa+//AGvv/wBr7/8Aa+//AGvv/wBr7/8Aa+//AGvv/wBr7/8Aa+//AGvv/wBp7/9Ml/P/+Pr9//39/f/9/f3//Pz8//v7+//7+/v/+/v7/+fn55cAAAADDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY////////////////////////////////+fz//1yg9f8VePD/GXrx/xl68f8ZevH/GXrx/xl68f8ZevH/GXrx/xl68f8ZevH/GXrx/xl68f8ZevD/GXrw/xl68P8ZevD/GXrw/xV48P9dofT/+Pr8//z8/P/7+/v/+/v7//r6+v/6+vr/+fn5/+Tk5JEAAAACCgoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////v7//+Pv/f/X6Pz/2Oj9/9jo/f/Y6P3/2Oj9/9jo/f/Y6P3/2Oj9/9jo/f/Y6P3/2Oj8/9fo/P/X6Pz/1+f8/9fn/P/W5/v/1uf7/9Xm+//h7Pv/+/v7//v7+//6+vr/+fn5//j4+P/39/f/9vb2/9/f33////8ABQUFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY/////////////////////////////////////////////////////////////////////////////////////////////////////////v////7////+/////f///v3///79//79/P/9/Pv/+vr6//n5+f/4+Pj/9/f3//X19f/09PT/8fHx/NTU1GH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqY///////////////////////////////////////////////////////////////////////////////////////////+/v7//v7+//7+/v/+/v7//f39//39/f/8/Pz/+/v7//v7+//6+vr/+fn5//f39//19fX/9PT0//Ly8v/w8PD/6urq68HBwTf///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATq6uqX//////////////////////////////////////////////////////////////////////////////////////7+/v/+/v7//v7+//7+/v/9/f3//f39//z8/P/7+/v/+vr6//n5+f/39/f/9fX1//T09P/y8vL/8PDw/+3t7f/p6en/3d3dvJCQkBDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATr6+uX/////////////////////////////////////////////////////////////////////////////////v7+//7+/v/+/v7//v7+//39/f/9/f3//Pz8//r6+v/4+Pj/9vb2//T09P/y8vL/8fHx/+/v7//t7e3/6+vr/+bm5v/d3d35x8fHZP///wAnJycAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATr6+uX/////////////////////////////////////////////////////////////////////////////////v7+//7+/v/+/v7//f39//39/f/7+/v/+Pj4//X19f/y8vL/8PDw/+7u7v/s7Oz/6urq/+jo6P/l5eX/4eHh/9fX1//GxsaumpqaEbm5uQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATr6+uX///////////////////////////////////////////////////////////////////////////+/v7//v7+//7+/v/9/f3//f39//v7+//39/f/8/Pz//Dw8P/s7Oz/6Ojo/+Xl5f/i4uL/4ODg/9zc3P/X19f/zMzM/7q6usKenp4oxMTEAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATr6+uX//////////////////////////////////////////////////////////////////////7+/v/+/v7//v7+//39/f/9/f3/+/v7//j4+P/z8/P/7+/v/+np6f/k5OT/3d3d/9jY2P/T09P/zc3N/8bGxv/AwMD/tLS0vZaWlinNzc0AOTk5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATr6+uX//////////////////////////////////////////////////////////////////////7+/v/+/v7//f39//39/f/8/Pz/+fn5//X19f/w8PD/7Ozs/+zs7P/k5OT/29vb/9XV1f/S0tL/0dHR/9LS0v/Gxsa2p6enJNnZ2QAyMjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATr6+uX/////////////////////////////////////////////////////////////////v7+//7+/v/9/f3//f39//z8/P/6+vr/9/f3//Ly8v/t7e3/7Ozs//z8/P/9/f3/+vr6//f39//z8/P/6urq/tXV1a+tra0f2NjYAC8vLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAAATr6+uX////////////////////////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",tJe=()=>V.createElement(Ds,{component:"img",src:eJe,alt:"",sx:{width:16,height:16,display:"block"}});function nJe({featureId:e,runId:t,onExport:n}){return V.createElement(YO,{variant:"outlined",startIcon:V.createElement(tJe,null),onClick:()=>n({feature_id:e,run_id:t})},V.createElement(p_,{title:"Create notebook"},V.createElement("span",null,"Analyze in Notebook")))}const rJe=()=>V.createElement(Ds,{component:"img",src:eJe,alt:"",sx:{width:16,height:16,display:"block"}});function iJe({featureId:e,runId:t,exportedInfo:n,onExport:r}){const i=`${n.notebook_path} · ${new Date(n.created_at).toLocaleString()}`;return V.createElement(YO,{variant:"contained",startIcon:V.createElement(rJe,null),onClick:()=>r({feature_id:e,run_id:t})},V.createElement(p_,{title:i},V.createElement("span",null,"Open in notebook")))}function oJe({featureId:e,runId:t,onExport:n,exportedInfo:r}){return r?V.createElement(iJe,{featureId:e,runId:t,exportedInfo:r,onExport:n}):V.createElement(nJe,{featureId:e,runId:t,onExport:n})}const aJe={display:"flex",gap:"12px"},sJe={flex:"1 1 0",maxWidth:"33%",minWidth:200},lJe={flex:"3 1 0",maxWidth:"77%",minWidth:600},cJe={flex:"1 1 0",maxWidth:"33%",minWidth:200};function uJe(e,t){return e>=3?"33%":2===e?"50%":t?"33%":"50%"}function fJe(e){const[t,n]=V.useState(null),r=V.useCallback(e=>{e.current&&n(e.current.offsetWidth)},[]),i=Va(r),{formatSegmentSizeRatio:o,formatSegmentSizeCount:a,formatSegmentError:s,formatErrorRatio:l}=kZe(),c=xZe(),u=null===t||t>=1048,f=e.customMetricCards??[];let h,d;u?(h=f[0],d=f.slice(1)):(h=void 0,d=f);const p=function(e,t){if(0===e.length)return[];const n=Math.ceil(e.length/t),r=Math.ceil(e.length/n),i=[];for(let t=0;t<e.length;t+=r)i.push(e.slice(t,t+r));return i}(d,u?5:4);return V.createElement(Ds,{ref:i,sx:{display:"flex",flexDirection:"column",gap:"12px"}},V.createElement(Ds,{sx:aJe},V.createElement(fze,{segmentSize:e.segmentSize,formatSegmentSizeRatio:o,formatSegmentSizeCount:a,sx:sJe}),V.createElement(eze,{segmentError:e.segmentError,leaderboardMode:c,formatSegmentError:s,formatErrorRatio:l,sx:lJe}),h&&V.createElement(GFe,{card:h,sx:{...cJe}})),p.map((e,t)=>V.createElement(Ds,{key:t,sx:aJe},e.map((t,n)=>V.createElement(GFe,{card:t,key:n,sx:{...cJe,maxWidth:uJe(e.length,u)}})))))}const hJe=355,dJe=1500,pJe=1e3;function gJe(e){return V.createElement(tMe,{variant:"column",gap:4,sx:{...e.sx,width:"100%",maxWidth:dJe,minWidth:pJe,boxSizing:"border-box"}},V.createElement(LPe,{segmentDescription:e.segment}),e.info,V.createElement(uMe,{insights:e.insights}),V.createElement(fJe,{segmentSize:e.segmentSize,segmentError:e.segmentError,customMetricCards:e.customMetricCards}),V.createElement(tMe,{variant:"row",gap:4,sx:{alignItems:"start"}},V.createElement($Fe,{header:"Distribution",sx:{minHeight:hJe,minWidth:700},contentSx:{alignItems:"baseline"},headerSx:{marginBottom:6}},V.createElement(cMe,{detailedHistogramAvailable:e.detailedHistogramAvailable,histogramCharts:e.histogramCharts,sx:{marginTop:-12,marginRight:4}})),V.createElement($Fe,{header:"Missing Values",placeItems:"start center",sx:{minHeight:hJe}},V.createElement($Pe,{stats:e.stats,mode:e.leaderboardMode}))),"topCorrelatedFeatures"in e&&V.createElement($Fe,{header:"Correlated Features"},V.createElement(XN,{topCorrelatedFeatures:e.topCorrelatedFeatures,featureEntryMap:e.featureEntryMap,isComparisonMode:e.isComparisonMode})))}function mJe(e){return V.createElement(tMe,{variant:"column",gap:4,sx:{...e.sx,width:"100%",maxWidth:dJe,minWidth:pJe,boxSizing:"border-box"}},V.createElement(LPe,{segmentDescription:e.segment}),V.createElement($Fe,{header:"Distribution",sx:{minHeight:hJe,width:700}},e.segmentDistributionChart&&V.createElement(eMe,{vegaSpec:e.segmentDistributionChart,sx:{width:"100%"}})))}function bJe(e){return V.createElement(tMe,{variant:"column",gap:4,sx:{...e.sx,width:"100%",maxWidth:dJe,minWidth:pJe,boxSizing:"border-box"}},V.createElement(LPe,{segmentDescription:e.segment}),V.createElement($Fe,{header:"Trend",sx:{minHeight:hJe,width:700}},e.segmentTrendChart&&V.createElement(eMe,{vegaSpec:e.segmentTrendChart,sx:{width:"100%"}})))}function wJe(e){const t=bZe(),n=yZe(),r=xZe(),i=fZe(),o=hZe(),{loadCustomTab:a}=DZe(),s=cZe(e=>e.dotDataLabApi?.exportFeatureDefinition),l=cZe(e=>e.dotDataLabState?.exportedNotebooks),c=cZe(e=>e.dotDataLabState?.run_id),u=l?.[e.entry.feature.id],f=e.entry.customDetailTabs?e.entry.customDetailTabs.map(t=>({title:t.tabName,loadView:()=>a({tabId:t.id,featureId:e.entry.feature.id}).then(e=>e?V.createElement(JXe,{grid:e.grid}):V.createElement(Ds,null,"No data available"))})):[],h=(0,V.useMemo)(()=>e.entry.topCorrelatedFeatures?.map(([e,t])=>[vJe(e)?e.id:e,t])??[],[e.entry.topCorrelatedFeatures]),d=e.entry.leakageDetectionInfo?V.createElement(NMe,{leakageDetectionInfo:e.entry.leakageDetectionInfo,featureName:e.entry.feature.id}):null,p=lZe(e.entry)?{title:"Overview",view:V.createElement(gJe,{sx:{marginTop:4},info:d,stats:e.entry.stats,leaderboardMode:r,detailedHistogramAvailable:e.entry.detailedHistogramAvailable??!1,histogramCharts:e.entry?.histogram_charts,topCorrelatedFeatures:h,featureEntryMap:t,isComparisonMode:n,segment:e.entry.segment,populationCount:e.entry.segmentSize.populationCount,segmentSize:e.entry.segmentSize,segmentError:e.entry.segmentError,segmentValues:e.entry.segmentValues,insights:e.entry.insights,customMetricCards:e.entry.customMetricCards})}:null,g=i?{title:"Segment",view:V.createElement(mJe,{sx:{marginTop:4},segment:e.entry.segment,segmentDistributionChart:e.entry.segment_distribution_chart})}:null,m=o?{title:"Trend",view:V.createElement(bJe,{sx:{marginTop:4},segment:e.entry.segment,segmentTrendChart:e.entry.segment_trend_chart})}:null;return V.createElement(x$e,{"data-testid":z.featureDetails,tabs:[...p?[p]:[],...g?[g]:[],...m?[m]:[],...f],rightSlot:s&&c?V.createElement(oJe,{featureId:e.entry.feature.id,runId:c,onExport:s,exportedInfo:u}):void 0})}function vJe(e){return"string"!=typeof e}function yJe(e){return Oo("MuiSkeleton",e)}To("MuiSkeleton",["root","text","rectangular","rounded","circular","pulse","wave","withChildren","fitContent","heightAuto"]);const xJe=yu`
177
177
  0% {
178
178
  opacity: 1;
179
179
  }
@@ -204,4 +204,4 @@ define(["module","@jupyter-widgets/base"],(e,t)=>(()=>{var n,r,i={7449(e,t){"use
204
204
  &::after {
205
205
  animation: ${AJe} 2s linear 0.5s infinite;
206
206
  }
207
- `:null,EJe=ho("span",{name:"MuiSkeleton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],!1!==n.animation&&t[n.animation],n.hasChildren&&t.withChildren,n.hasChildren&&!n.width&&t.fitContent,n.hasChildren&&!n.height&&t.heightAuto]}})(go(({theme:e})=>{const t=(a=e.shape.borderRadius,String(a).match(/[\d.\-+]*\s*(.*)/)[1]||""||"px"),n=(o=e.shape.borderRadius,parseFloat(o)),r=ea(e,{animation:"none"}),i=ea(e,{"&::after":{animation:"none",display:"none"}});var o,a;return{display:"block",backgroundColor:e.vars?e.vars.palette.Skeleton.bg:e.alpha(e.palette.text.primary,"light"===e.palette.mode?.11:.13),height:"1.2em",variants:[{props:{variant:"text"},style:{marginTop:0,marginBottom:0,height:"auto",transformOrigin:"0 55%",transform:"scale(1, 0.60)",borderRadius:`${n}${t}/${Math.round(n/.6*10)/10}${t}`,"&:empty:before":{content:'"\\00a0"'}}},{props:{variant:"circular"},style:{borderRadius:"50%"}},{props:{variant:"rounded"},style:{borderRadius:(e.vars||e).shape.borderRadius}},{props:({ownerState:e})=>e.hasChildren,style:{"& > *":{visibility:"hidden"}}},{props:({ownerState:e})=>e.hasChildren&&!e.width,style:{maxWidth:"fit-content"}},{props:({ownerState:e})=>e.hasChildren&&!e.height,style:{height:"auto"}},{props:{animation:"pulse"},style:kJe||{animation:`${xJe} 2s ease-in-out 0.5s infinite`}},...r?[{props:{animation:"pulse"},style:r}]:[],{props:{animation:"wave"},style:{position:"relative",overflow:"hidden",WebkitMaskImage:"-webkit-radial-gradient(white, black)","&::after":{background:`linear-gradient(\n 90deg,\n transparent,\n ${(e.vars||e).palette.action.hover},\n transparent\n )`,content:'""',position:"absolute",transform:"translateX(-100%)",bottom:0,left:0,right:0,top:0}}},{props:{animation:"wave"},style:SJe||{"&::after":{animation:`${AJe} 2s linear 0.5s infinite`}}},...i?[{props:{animation:"wave"},style:i}]:[]]}})),CJe=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiSkeleton"}),{animation:r="pulse",className:i,component:o="span",height:a,style:s,variant:l="text",width:c,...u}=n,f={...n,animation:r,component:o,variant:l,hasChildren:Boolean(u.children)},h=(e=>{const{classes:t,variant:n,animation:r,hasChildren:i,width:o,height:a}=e;return X({root:["root",n,r,i&&"withChildren",i&&!o&&"fitContent",i&&!a&&"heightAuto"]},yJe,t)})(f);return(0,bo.jsx)(EJe,{as:o,ref:t,className:G(h.root,i),ownerState:f,...u,style:{width:c,height:a,...s}})}),OJe=CJe;function TJe({code:e,onCodeChange:t}){return V.createElement(LO,{sx:{marginTop:2},code:e,onCodeChange:e=>{t(e)}})}function _Je(e){const[t,n]=(0,V.useState)(!0),[r,i]=(0,V.useState)(null),[o,a]=(0,V.useState)(""),{getFeatureDefinitionCode:s}=DZe();return(0,V.useEffect)(()=>{n(!0),s({feature_id:e.featureId,origin_feature_id:e.originFeatureId}).then(a).finally(()=>n(!1))},[s,e.originFeatureId,e.featureId]),V.createElement(tMe,{variant:"column",gap:4,sx:{maxWidth:"1200px"}},r&&V.createElement(Ds,{sx:{pt:"12px",pb:"18px"}},V.createElement(RT,{title:"Could not save feature",error:r})),t?V.createElement(OJe,{variant:"text",width:"100%",height:"300px"}):V.createElement(TJe,{code:o,onCodeChange:a}),V.createElement(MJe,{mode:e.mode,featureId:e.featureId,originFeatureId:e.originFeatureId,featureDefinitionCode:o,onClose:e.onClose,setSaveFeatureError:i}))}function MJe(e){const{updateFeature:t,copyFeature:n}=DZe(),{triggerAction:r,isBusy:i}=Ua(t),{triggerAction:o,isBusy:a}=Ua(n),s=i||a,l=!e.featureDefinitionCode.trim(),c=(0,V.useCallback)(()=>{if(e.mode===sZe.Code)return r({payload:{feature_id:e.featureId,code:e.featureDefinitionCode,explanation:null}});if(e.mode===sZe.Copy)return pa(e.originFeatureId,"Origin feature ID is required for copy mode"),o({payload:{feature_id:e.featureId,origin_feature_id:e.originFeatureId,code:e.featureDefinitionCode,explanation:null}});throw new Error("Invalid mode")},[e.mode,e.featureId,e.featureDefinitionCode,r,o,e.originFeatureId]),u=V.createElement(lI,{primaryButton:{label:"Save",isDisabled:l,isBusy:s},tertiaryButton:{label:"Cancel"},onTertiaryButtonClick:e.onClose,onPrimaryButtonClick:()=>{e.setSaveFeatureError(null),c()?.then(()=>e.onClose()).catch(t=>{console.error("SAVE FEATURE ERROR",t),e.setSaveFeatureError(t.message)})}});return u}function PJe({featureEntry:e,isEdited:t,setMode:n,statusBadgeNode:r}){const{saveUserExplanation:i}=DZe(),{triggerAction:o,isBusy:a}=Ua(i),s=()=>{n(sZe.None)};return V.createElement(Ds,{sx:{display:"flex",alignItems:"center",overflow:"hidden",width:"100%"}},V.createElement(Ds,{sx:{overflow:"hidden",flex:t?"1 1 auto":"0 1 auto",minWidth:0}},V.createElement(kN,{feature:e.feature,isEdited:t,isBusy:a,onClose:s,onSave:t=>{const n=t===yN(e.feature.explanation.tokens)?"":t;o({id:e.feature.id,user_explanation:n})?.then(()=>s())}})),r&&V.createElement(Ds,{sx:{flex:"0 0 auto",px:1}},r))}function DJe({isDrillDownMode:e,isComparisonMode:t,onClick:n}){const r=e||t,i=e?"Copying features in Drill Down mode is not available":t?"Copying features in Comparison mode is not available":"Duplicate";return V.createElement(hu,{title:i,disableInteractive:!0},V.createElement("span",null,V.createElement(nf,{color:"primary",size:"small",disabled:r,onClick:n},V.createElement(ZZe,{className:"action-btn"}))))}const RJe=({featureId:e})=>{const t=cZe(t=>t.starredFeatures.includes(e)),n=cZe(e=>e.starFeature),r=cZe(e=>e.unstarFeature);return V.createElement(WPe,{featureId:e,isStarred:t,addStar:n,removeStar:r})},IJe=({featureId:e})=>{const t=cZe(t=>t.hiddenFeatures.includes(e)),n=cZe(e=>e.hideFeature),r=cZe(e=>e.unhideFeature);return V.createElement(JN,{featureId:e,isHidden:t,hideFeature:n,unhideFeature:r})};function NJe({copiedFeatureEntry:e,setCopiedFeatureEntry:t}){const n=bZe(),{areNavigatorClipboardWritePermissionsGranted:r}=ha(),i=dZe(),[o,a]=(0,V.useState)(sZe.Copy);return V.createElement(HN,{showRowHighlight:!1,isExpanded:!0,labelNode:V.createElement(EN,{feature:e.feature,hasCopyButton:r,leakageDetectionInfo:e.leakageDetectionInfo}),segmentSizeMetricNode:V.createElement(GZe,{columnName:"segmentSize"},i.segmentSize.valuePresenter(e)),segmentErrorMetricNode:V.createElement(GZe,{columnName:"segmentError"},i.segmentError.valuePresenter(e)),explanationNode:V.createElement(PJe,{isEdited:o===sZe.Edit,setMode:a,featureEntry:e}),detailsNode:V.createElement(V.Fragment,null,V.createElement(DT,{in:o===sZe.Code||o===sZe.Copy,unmountOnExit:!0},V.createElement("br",null),V.createElement(_Je,{mode:o,featureId:e.feature.id,originFeatureId:e.parentId,onClose:()=>{t(void 0)}})),V.createElement(DT,{in:o===sZe.Details,unmountOnExit:!0},V.createElement(wJe,{entry:e,featureEntriesMap:n})))})}const $Je=V.memo(function({featureEntry:e,originFeatureId:t,mode:n,setMode:r,copyFeature:i,addDrillDown:o}){const a=function({featureEntry:e,mode:t}){const{loadedFeatureHistogramCharts:n,loadFeatureHistogramStaticChart:r,loadFeatureHistogramInteractiveChart:i,loadedSegmentDistributionCharts:o,loadSegmentDistributionChart:a,loadedSegmentTrendCharts:s,loadSegmentTrendChart:l}=rZe(),c=fZe(),u=hZe();return(0,V.useEffect)(()=>{t===sZe.Details&&(r({featureId:e.feature.id}).then(()=>{e.detailedHistogramAvailable&&i({featureId:e.feature.id})}),c&&a({featureId:e.feature.id}),u&&l({featureId:e.feature.id}))},[t,r,i,e.detailedHistogramAvailable,e.feature.id,a,l,c,u]),(0,V.useMemo)(()=>{const t=e.feature.id,r={...e};return Ma(r.histogram_charts)&&void 0!==n[t]&&(r.histogram_charts=n[t]),Ma(r.segment_distribution_chart)&&void 0!==o[t]&&(r.segment_distribution_chart=o[t]),Ma(r.segment_trend_chart)&&void 0!==s[t]&&(r.segment_trend_chart=s[t]),r},[e,n,o,s])}({featureEntry:e,mode:n}),{loadedFeatureEncodingTables:s,loadFeatureEncodingTable:l}=DZe(),c=bZe(),u=vZe(),f=yZe(),h=dZe(),d=n===sZe.Details,p=n===sZe.None,g=Ma(e.isAssessed)||e.isAssessed,m=V.useCallback(t=>{r(e.feature.id,t)},[e.feature.id,r]),{areNavigatorClipboardWritePermissionsGranted:b}=ha();return(0,V.useEffect)(()=>{n===sZe.Details&&e.encodingTable&&l({featureId:e.feature.id})},[n,l,e.feature.id,e.encodingTable]),V.createElement(HN,{showRowHighlight:p,isExpanded:d,onDetailsToggleClick:g?function(){n===sZe.None?m(sZe.Details):m(sZe.None)}:null,labelNode:V.createElement(EN,{feature:e.feature,hasCopyButton:b,leakageDetectionInfo:e.leakageDetectionInfo}),explanationNode:V.createElement(PJe,{isEdited:n===sZe.Edit,setMode:m,featureEntry:e,statusBadgeNode:V.createElement(__,{status:e.status})}),actionsBeforeMetricsNode:n===sZe.Edit?null:V.createElement(V.Fragment,null,V.createElement(hu,{title:"Edit Explanation",disableInteractive:!0},V.createElement(nf,{color:"primary",size:"small",onClick:()=>m(sZe.Edit)},V.createElement(JZe,{className:"action-btn"}))),V.createElement(hu,{title:"Edit Definition",disableInteractive:!0},V.createElement(nf,{color:"primary",size:"small",onClick:()=>m(sZe.Code)},V.createElement(YZe,{className:"action-btn"}))),V.createElement(DJe,{isDrillDownMode:u,isComparisonMode:f,onClick:()=>i(e)}),V.createElement(IJe,{featureId:e.feature.id}),V.createElement(hu,{title:f?"Drill Down in Comparison Mode is not available":"Drill Down",disableInteractive:!0},V.createElement("span",null,V.createElement(nf,{color:"primary",size:"small",disabled:f,onClick:o},V.createElement(XZe,{className:"action-btn"}))))),segmentSizeMetricNode:V.createElement(GZe,{columnName:"segmentSize"},h.segmentSize.valuePresenter(e)),segmentErrorMetricNode:V.createElement(GZe,{columnName:"segmentError"},h.segmentError.valuePresenter(e)),starNode:V.createElement(GZe,{columnName:"star"},V.createElement(RJe,{featureId:e.feature.id})),detailsNode:V.createElement(V.Fragment,null,V.createElement(DT,{in:n===sZe.Code||n===sZe.Copy,unmountOnExit:!0},V.createElement("br",null),V.createElement(_Je,{mode:n,featureId:e.feature.id,originFeatureId:t,onClose:()=>m(sZe.None)}),V.createElement("br",null)),V.createElement(DT,{in:n===sZe.Details,unmountOnExit:!0},V.createElement(wJe,{entry:a,featureEntriesMap:c,encodingTable:s[e.feature.id],definition:e.feature.definition})))})});function LJe(){const{getMode:e,setMode:t}=function(){const[e,t]=(0,V.useState)({}),n=(0,V.useCallback)(t=>e[t]??sZe.None,[e]),r=(0,V.useCallback)((e,n)=>{t(t=>({...t,[e]:n}))},[t]);return{getMode:n,setMode:r}}(),n=mZe().flat(),r=pZe(),{getPage:i,PaginationWrapper:o,resetPage:a,getPaginationProps:s}=Yze({totalCount:n.length,defaultRowsPerPage:20});!function(e){const t=oZe(e=>e.setResetPaginationCallback),n=cZe(e=>e.setResetPaginationCallback);(0,V.useEffect)(()=>(t(e),n(e),()=>{t(null),n(null)}),[t,n,e])}(a);const l=(()=>{const e=CZe(),t=(()=>{const e=(()=>{const e=cZe(e=>e.value.sorters);return(0,V.useMemo)(()=>e,[])})(),t=oZe(e=>e.setActiveSorterConfig),n=oZe(e=>e.activeSorterConfig);return(0,V.useEffect)(()=>{!n&&e.length>0&&void 0!==e[0]&&t(e[0])},[e,t,n]),n})(),n=(0,V.useMemo)(()=>e.sort((e,n)=>{const r=e.sorting[t?.name??""]?.ranking,i=n.sorting[t?.name??""]?.ranking,o=os.isNumber(r),a=os.isNumber(i);return!o&&a?1:!a&&o?-1:o||a?(r??0)-(i??0):0}),[e,t]);return n})(),c=i(l),[u,f]=V.useState(()=>{}),h=V.useCallback(e=>{const n=rs.createIdForCopiedFeature(e.feature.id),r={...e,isAssessed:!1,feature:{...e.feature,id:n}};t(n,sZe.None),f({...r,parentId:e.feature.id})},[t]);return V.createElement(KN,{"aria-label":"Feature leaderboard entry list body"},V.createElement(o,{...s({totalCount:l.length})},V.createElement(hze,{items:l,visibleItems:c,keyExtractor:e=>e.feature.id,renderItem:n=>V.createElement(V.Fragment,null,V.createElement($Je,{featureEntry:n,originFeatureId:n.feature.id,copyFeature:h,mode:e(n.feature.id),setMode:t,addDrillDown:()=>r(n.feature.id)}),u?.parentId===n.feature.id&&V.createElement("div",{style:{marginBottom:"20px"}},V.createElement(NJe,{copiedFeatureEntry:u,setCopiedFeatureEntry:f})))})))}function jJe(){const e=(t=void 0===wZe(),n=0===CZe().length,t?aZe.NO_DATA:n?aZe.NO_RESULTS:aZe.HAS_DATA);var t,n;return{[aZe.NO_DATA]:V.createElement(LT,{message:"No features to display",subMessage:"The feature set is empty"}),[aZe.NO_RESULTS]:V.createElement(LT,{message:"No results"}),[aZe.HAS_DATA]:V.createElement(LJe,null)}[e]}function FJe(){const{segmentErrorLabel:e}=AZe();return V.createElement(Ds,{sx:{display:"flex",alignItems:"center",marginInline:"10px 4px",fontSize:"12px",fontWeight:"bold",color:"var(--c-grey-600)"}},V.createElement(VN,{columnName:"checkbox"},V.createElement("span",{className:"checkbox"})),V.createElement(VN,{columnName:"detailsToggle"},V.createElement("span",{className:"details-toggle"})),V.createElement(GZe,{columnName:"star"}),V.createElement(GZe,{columnName:"label"},V.createElement("span",{className:"feature-id"},"Feature ID")),V.createElement(GZe,{columnName:"explanation"},V.createElement("span",{className:"explanation"},"Explanation")),V.createElement(GZe,{columnName:"segmentSize"},V.createElement("span",{className:"segment-size"},V.createElement("div",{style:{display:"flex",alignItems:"center"}},V.createElement("span",null,"Segment Size")))),V.createElement(GZe,{columnName:"segmentError"},V.createElement("span",{className:"segment-error"},V.createElement("div",{style:{display:"flex",alignItems:"center"}},V.createElement("span",null,e)))))}function zJe(){const e=EZe(),t=(0,V.useMemo)(()=>(({sizingConfig:e})=>({checkbox:{width:0},detailsToggle:{width:30},star:{flex:"0 0 auto",width:36},label:{flex:"0 0 130px"},explanation:{flex:"5 1 0",minWidth:200},segmentSize:{flex:`0 1 ${e.segmentSizeColumn.flexBasis}px`,minWidth:e.segmentSizeColumn.minWidth,padding:"0px 12px 0 12px",compactModeConfig:{thresholdWidth:e.compactRowWidthThreshold,flex:`0 1 ${e.segmentSizeColumn.minWidth}px`}},segmentError:{flex:`0 1 ${e.segmentErrorColumn.flexBasis}px`,minWidth:e.segmentErrorColumn.minWidth,padding:"0 4px 0 0",compactModeConfig:{thresholdWidth:e.compactRowWidthThreshold,flex:`0 1 ${e.segmentErrorColumn.minWidth}px`}}}))({sizingConfig:e}),[e]);return V.createElement("div",{"aria-label":"Segment Leaderboard"},V.createElement(D_,{config:t},V.createElement(FJe,null),V.createElement(jJe,null)))}function BJe({...e}){const t="calculation"===e.progress?.type?e.progress:null,n=WJe({backendState:{value:e.value,maxCollinearity:e.maxCollinearity,nullRatio:e.nullRatio,starredFeatures:e.starredFeatures,hiddenFeatures:e.hiddenFeatures,calculationStatus:e.calculationStatus,progress:e.progress,activeDrillDowns:e.activeDrillDowns,dotDataLabState:e.dotDataLabState},api:{setMaxCollinearity:e.setMaxCollinearity,setNullRatio:e.setNullRatio,starFeature:e.starFeature,unstarFeature:e.unstarFeature,hideFeature:e.hideFeature,unhideFeature:e.unhideFeature,stopCalculation:e.stopCalculation,addDrillDown:e.addDrillDown,removeDrillDown:e.removeDrillDown,searchInFeatureSpace:e.searchInFeatureSpace,selectFeatures:e.selectFeatures,dotDataLabApi:e.dotDataLabApi}}),r=qJe();return V.createElement(eZe.Provider,{value:n},V.createElement(iZe.Provider,{value:r},V.createElement(nZe,{loadFeatureHistogramStaticChart:e.loadFeatureHistogramStaticChart,loadFeatureHistogramInteractiveChart:e.loadFeatureHistogramInteractiveChart,loadSegmentDistributionChart:e.loadSegmentDistributionChart,loadSegmentTrendChart:e.loadSegmentTrendChart,initialHistogramCache:e.initialHistogramCache},V.createElement(PZe,{...e},V.createElement(Ds,{sx:{pt:"3px",position:"relative",display:"flex",flexDirection:"column",gap:2}},V.createElement(UJe,null),(e.calculationStatus||t)&&V.createElement($Fe,{header:"Calculation Progress"},V.createElement(Ds,{sx:{width:"100%"}},e.calculationStatus&&V.createElement(RZe,null),t&&V.createElement(Oje,{sx:{pr:6,pl:2,pt:4,pb:4},value:t.value,label:t.label}),e.calculationStatus&&V.createElement(YO,{startIcon:V.createElement(nYe,null),sx:{mt:2},size:"medium",variant:"outlined",color:"error",onClick:()=>e.stopCalculation()},"Stop Calculation"))),(e.value.customScoreChart||e.value.temporalDistributionChart||e.value.adbData)&&V.createElement($Ze,{customScoreChart:e.value.customScoreChart,temporalDistributionChart:e.value.temporalDistributionChart,adbData:e.value.adbData}),V.createElement($Fe,null,V.createElement(Ds,{sx:{width:"100%"}},V.createElement(Ds,{sx:{position:"relative"}},V.createElement(HJe,null),null===e.calculationStatus&&V.createElement(Ds,{sx:{mb:4}},V.createElement(QZe,null)),V.createElement(zJe,null)),V.createElement(TZe,null))))))))}const WJe=({backendState:e,api:t})=>{const n=(0,V.useRef)(null);return null===n.current&&(n.current=function(e,t){return bXe()((n,r,i)=>{const o=e=>e().finally(()=>r().callResetPaginationCallback());return{...e,...Kze,...t,...Qze(n,r),setMaxCollinearity:e=>{t.setMaxCollinearity(e),r().callResetPaginationCallback()},setNullRatio:e=>{t.setNullRatio(e),r().callResetPaginationCallback()},addDrillDown:e=>o(()=>t.addDrillDown(e)),removeDrillDown:e=>o(()=>t.removeDrillDown(e)),searchInFeatureSpace:(e,n,r)=>t.searchInFeatureSpace(e,n,r),selectFeatures:e=>o(()=>t.selectFeatures(e))}})}(e,t)),(0,V.useEffect)(()=>{n.current&&n.current.setState({value:e.value})},[e.value]),(0,V.useEffect)(()=>{n.current&&n.current.setState({maxCollinearity:e.maxCollinearity})},[e.maxCollinearity]),(0,V.useEffect)(()=>{n.current&&n.current.setState({nullRatio:e.nullRatio})},[e.nullRatio]),(0,V.useEffect)(()=>{n.current&&n.current.setState({starredFeatures:e.starredFeatures})},[e.starredFeatures]),(0,V.useEffect)(()=>{n.current&&n.current.setState({hiddenFeatures:e.hiddenFeatures})},[e.hiddenFeatures]),(0,V.useEffect)(()=>{n.current&&n.current.setState({calculationStatus:e.calculationStatus})},[e.calculationStatus]),(0,V.useEffect)(()=>{n.current&&n.current.setState({progress:e.progress})},[e.progress]),(0,V.useEffect)(()=>{n.current&&n.current.setState({activeDrillDowns:e.activeDrillDowns})},[e.activeDrillDowns]),(0,V.useEffect)(()=>{n.current&&n.current.setState({dotDataLabState:e.dotDataLabState})},[e.dotDataLabState]),n.current},qJe=()=>{const e=(0,V.useRef)(null);return null===e.current&&(e.current=bXe((e,t,n)=>({...tYe,...Qze(e,t),setActiveSorterConfig:n=>{e({activeSorterConfig:n}),t().callResetPaginationCallback()},setSegmentSizeValue:n=>{e({segmentSizeValue:n}),t().callResetPaginationCallback()},setSegmentErrorValue:n=>{e({segmentErrorValue:n}),t().callResetPaginationCallback()},setExplanationSearch:n=>{e({explanationSearch:n}),t().callResetPaginationCallback()},setShowStarredOnly:n=>{e({showStarredOnly:n}),t().callResetPaginationCallback()},setShowNewOnly:n=>{e({showNewOnly:n}),t().callResetPaginationCallback()},setShowHiddenFeatures:n=>{e({showHiddenFeatures:n}),t().callResetPaginationCallback()}}))),e.current},HJe=()=>{const e=OZe("drill_down");return e?V.createElement(Rje,{value:e.value,label:e.label}):null},UJe=()=>{const e=OZe("add_feature");return e?V.createElement(Rje,{value:e.value,label:e.label}):null};function VJe(){const[e]=Za("value"),[t,n]=Za("max_collinearity"),[r,i]=Za("null_ratio"),[o]=Za("starred_features"),[a]=Za("hidden_features"),[s]=Za("histograms_cache"),[l]=Za("blueprints_cache"),[c]=Za("encoding_tables_cache"),[u]=Za("calculation_status"),[f]=Za("progress"),[h]=Za("active_drill_downs"),d=Ea("update_feature"),p=Ea("copy_feature"),g=Ea("get_feature_definition_code"),m=Ea("set_user_explanation"),b=Ea("star_feature"),w=Ea("unstar_feature"),v=Ea("hide_feature"),y=Ea("unhide_feature"),x=Ea("stop_calculation"),A=(()=>{const e=Ea("update_column_alias"),t=Ea("update_column_description"),n=Ea("update_table_description"),r=Ea("update_table_alias"),i=Ea("update_column_value_alias"),o=Ea("update_column_value_description");return(0,V.useMemo)(()=>({updateColumnAlias:e,updateColumnDescription:t,updateTableDescription:n,updateTableAlias:r,updateColumnValueAlias:i,updateColumnValueDescription:o}),[e,t,n,r,i,o])})(),k=Ea("prepare_blueprint"),S=Ea("prepare_static_histogram"),E=Ea("prepare_interactive_histogram"),C=Ea("prepare_segment_distribution_chart"),O=Ea("prepare_segment_trend_chart"),T=Ea("get_encoding_table"),_=Ea("load_custom_tab"),M=Ea("add_drill_down"),P=Ea("remove_drill_down"),D=Ea("search_in_feature_space"),R=Ea("select_features"),I=(0,V.useCallback)(e=>b({feature_id:e}),[b]),N=(0,V.useCallback)(e=>w({feature_id:e}),[w]),$=(0,V.useCallback)(e=>v({feature_id:e}),[v]),L=(0,V.useCallback)(e=>y({feature_id:e}),[y]),j=(0,V.useCallback)(e=>M({feature_id:e}),[M]),F=(0,V.useCallback)(e=>P({index:e}),[P]),z=(0,V.useCallback)((e,t,n)=>D({query:e,page:t,page_size:n}),[D]),B=(0,V.useCallback)(e=>R({feature_ids:e}),[R]);return V.createElement(BJe,{value:e,maxCollinearity:t,setMaxCollinearity:n,nullRatio:r,setNullRatio:i,starredFeatures:o,starFeature:I,unstarFeature:N,hiddenFeatures:a,hideFeature:$,unhideFeature:L,updateFeature:d,copyFeature:p,getFeatureDefinitionCode:g,saveUserExplanation:m,domainDictionaryApi:A,loadFeatureHistogramStaticChart:(0,V.useCallback)(({featureId:e})=>S({feature_id:e}),[S]),loadFeatureHistogramInteractiveChart:(0,V.useCallback)(({featureId:e})=>E({feature_id:e}),[E]),loadSegmentDistributionChart:(0,V.useCallback)(({featureId:e})=>C({feature_id:e}),[C]),loadSegmentTrendChart:(0,V.useCallback)(({featureId:e})=>O({feature_id:e}),[O]),loadFeatureEncodingTable:(0,V.useCallback)(({featureId:e})=>T({feature_id:e}),[T]),loadFeatureLineage:(0,V.useCallback)(({featureId:e})=>k({feature_id:e}),[k]),loadCustomTab:_,stopCalculation:()=>x({}),calculationStatus:u,progress:f,initialHistogramCache:s,initialEncodingTablesCache:c,initialFeatureLineagesCache:l,activeDrillDowns:h,addDrillDown:j,removeDrillDown:F,searchInFeatureSpace:z,selectFeatures:B})}const KJe={value:{allEntries:[],tableColumns:{},sorters:[],useCaseWithBaseline:!0,predictionType:fs.Classification},confidence:.95,max_collinearity:.7,null_ratio:1,starred_features:[],hidden_features:[],encoding_tables_cache:{},histograms_cache:{},blueprints_cache:{},calculation_status:null,progress:null,active_drill_downs:[]};class QJe extends RBe.DOMWidgetModel{defaults(){return{...super.defaults(),_model_name:"SegmentLeaderboardWidgetModel",_model_module:y,_model_module_version:v,_view_name:"SegmentLeaderboardWidgetView",_view_module:y,_view_module_version:v,_module_version:v,...KJe}}static serializers={...RBe.DOMWidgetModel.serializers}}class GJe extends RBe.DOMWidgetView{backendApi=new va(this);render(){Promise.all([da()]).then(([e])=>{try{const t=V.createElement(DBe,{model:this.model,api:this.backendApi,additionalClasses:["segment-leaderboard-widget"]},V.createElement(fa,{areNavigatorClipboardWritePermissionsGranted:e,environment:"notebook"},V.createElement(VJe,null)));IBe.createRoot(this.el).render(t)}catch(e){console.error("SegmentLeaderboardWidgetView",e)}})}}})(),c})());
207
+ `:null,EJe=ho("span",{name:"MuiSkeleton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],!1!==n.animation&&t[n.animation],n.hasChildren&&t.withChildren,n.hasChildren&&!n.width&&t.fitContent,n.hasChildren&&!n.height&&t.heightAuto]}})(go(({theme:e})=>{const t=(a=e.shape.borderRadius,String(a).match(/[\d.\-+]*\s*(.*)/)[1]||""||"px"),n=(o=e.shape.borderRadius,parseFloat(o)),r=ea(e,{animation:"none"}),i=ea(e,{"&::after":{animation:"none",display:"none"}});var o,a;return{display:"block",backgroundColor:e.vars?e.vars.palette.Skeleton.bg:e.alpha(e.palette.text.primary,"light"===e.palette.mode?.11:.13),height:"1.2em",variants:[{props:{variant:"text"},style:{marginTop:0,marginBottom:0,height:"auto",transformOrigin:"0 55%",transform:"scale(1, 0.60)",borderRadius:`${n}${t}/${Math.round(n/.6*10)/10}${t}`,"&:empty:before":{content:'"\\00a0"'}}},{props:{variant:"circular"},style:{borderRadius:"50%"}},{props:{variant:"rounded"},style:{borderRadius:(e.vars||e).shape.borderRadius}},{props:({ownerState:e})=>e.hasChildren,style:{"& > *":{visibility:"hidden"}}},{props:({ownerState:e})=>e.hasChildren&&!e.width,style:{maxWidth:"fit-content"}},{props:({ownerState:e})=>e.hasChildren&&!e.height,style:{height:"auto"}},{props:{animation:"pulse"},style:kJe||{animation:`${xJe} 2s ease-in-out 0.5s infinite`}},...r?[{props:{animation:"pulse"},style:r}]:[],{props:{animation:"wave"},style:{position:"relative",overflow:"hidden",WebkitMaskImage:"-webkit-radial-gradient(white, black)","&::after":{background:`linear-gradient(\n 90deg,\n transparent,\n ${(e.vars||e).palette.action.hover},\n transparent\n )`,content:'""',position:"absolute",transform:"translateX(-100%)",bottom:0,left:0,right:0,top:0}}},{props:{animation:"wave"},style:SJe||{"&::after":{animation:`${AJe} 2s linear 0.5s infinite`}}},...i?[{props:{animation:"wave"},style:i}]:[]]}})),CJe=V.forwardRef(function(e,t){const n=yo({props:e,name:"MuiSkeleton"}),{animation:r="pulse",className:i,component:o="span",height:a,style:s,variant:l="text",width:c,...u}=n,f={...n,animation:r,component:o,variant:l,hasChildren:Boolean(u.children)},h=(e=>{const{classes:t,variant:n,animation:r,hasChildren:i,width:o,height:a}=e;return X({root:["root",n,r,i&&"withChildren",i&&!o&&"fitContent",i&&!a&&"heightAuto"]},yJe,t)})(f);return(0,bo.jsx)(EJe,{as:o,ref:t,className:G(h.root,i),ownerState:f,...u,style:{width:c,height:a,...s}})}),OJe=CJe;function TJe({code:e,onCodeChange:t}){return V.createElement(LO,{sx:{marginTop:2},code:e,onCodeChange:e=>{t(e)}})}function _Je(e){const[t,n]=(0,V.useState)(!0),[r,i]=(0,V.useState)(null),[o,a]=(0,V.useState)(""),{getFeatureDefinitionCode:s}=DZe();return(0,V.useEffect)(()=>{n(!0),s({feature_id:e.featureId,origin_feature_id:e.originFeatureId}).then(a).finally(()=>n(!1))},[s,e.originFeatureId,e.featureId]),V.createElement(tMe,{variant:"column",gap:4,sx:{maxWidth:"1200px"}},r&&V.createElement(Ds,{sx:{pt:"12px",pb:"18px"}},V.createElement(RT,{title:"Could not save feature",error:r})),t?V.createElement(OJe,{variant:"text",width:"100%",height:"300px"}):V.createElement(TJe,{code:o,onCodeChange:a}),V.createElement(MJe,{mode:e.mode,featureId:e.featureId,originFeatureId:e.originFeatureId,featureDefinitionCode:o,onClose:e.onClose,setSaveFeatureError:i}))}function MJe(e){const{updateFeature:t,copyFeature:n}=DZe(),{triggerAction:r,isBusy:i}=Ua(t),{triggerAction:o,isBusy:a}=Ua(n),s=i||a,l=!e.featureDefinitionCode.trim(),c=(0,V.useCallback)(()=>{if(e.mode===sZe.Code)return r({payload:{feature_id:e.featureId,code:e.featureDefinitionCode,explanation:null}});if(e.mode===sZe.Copy)return pa(e.originFeatureId,"Origin feature ID is required for copy mode"),o({payload:{feature_id:e.featureId,origin_feature_id:e.originFeatureId,code:e.featureDefinitionCode,explanation:null}});throw new Error("Invalid mode")},[e.mode,e.featureId,e.featureDefinitionCode,r,o,e.originFeatureId]),u=V.createElement(lI,{primaryButton:{label:"Save",isDisabled:l,isBusy:s},tertiaryButton:{label:"Cancel"},onTertiaryButtonClick:e.onClose,onPrimaryButtonClick:()=>{e.setSaveFeatureError(null),c()?.then(()=>e.onClose()).catch(t=>{console.error("SAVE FEATURE ERROR",t),e.setSaveFeatureError(t.message)})}});return u}function PJe({featureEntry:e,isEdited:t,setMode:n,statusBadgeNode:r}){const{saveUserExplanation:i}=DZe(),{triggerAction:o,isBusy:a}=Ua(i),s=()=>{n(sZe.None)};return V.createElement(Ds,{sx:{display:"flex",alignItems:"center",overflow:"hidden",width:"100%"}},V.createElement(Ds,{sx:{overflow:"hidden",flex:t?"1 1 auto":"0 1 auto",minWidth:0}},V.createElement(kN,{feature:e.feature,isEdited:t,isBusy:a,onClose:s,onSave:t=>{const n=t===yN(e.feature.explanation.tokens)?"":t;o({id:e.feature.id,user_explanation:n})?.then(()=>s())}})),r&&V.createElement(Ds,{sx:{flex:"0 0 auto",px:1}},r))}function DJe({isDrillDownMode:e,isComparisonMode:t,onClick:n}){const r=e||t,i=e?"Copying features in Drill Down mode is not available":t?"Copying features in Comparison mode is not available":"Duplicate";return V.createElement(hu,{title:i,disableInteractive:!0},V.createElement("span",null,V.createElement(nf,{color:"primary",size:"small",disabled:r,onClick:n},V.createElement(ZZe,{className:"action-btn"}))))}const RJe=({featureId:e})=>{const t=cZe(t=>t.starredFeatures.includes(e)),n=cZe(e=>e.starFeature),r=cZe(e=>e.unstarFeature);return V.createElement(WPe,{featureId:e,isStarred:t,addStar:n,removeStar:r})},IJe=({featureId:e})=>{const t=cZe(t=>t.hiddenFeatures.includes(e)),n=cZe(e=>e.hideFeature),r=cZe(e=>e.unhideFeature);return V.createElement(JN,{featureId:e,isHidden:t,hideFeature:n,unhideFeature:r})};function NJe({copiedFeatureEntry:e,setCopiedFeatureEntry:t}){const n=bZe(),{areNavigatorClipboardWritePermissionsGranted:r}=ha(),i=dZe(),[o,a]=(0,V.useState)(sZe.Copy);return V.createElement(HN,{showRowHighlight:!1,isExpanded:!0,labelNode:V.createElement(EN,{feature:e.feature,hasCopyButton:r,leakageDetectionInfo:e.leakageDetectionInfo}),segmentSizeMetricNode:V.createElement(GZe,{columnName:"segmentSize"},i.segmentSize.valuePresenter(e)),segmentErrorMetricNode:V.createElement(GZe,{columnName:"segmentError"},i.segmentError.valuePresenter(e)),explanationNode:V.createElement(PJe,{isEdited:o===sZe.Edit,setMode:a,featureEntry:e}),detailsNode:V.createElement(V.Fragment,null,V.createElement(DT,{in:o===sZe.Code||o===sZe.Copy,unmountOnExit:!0},V.createElement("br",null),V.createElement(_Je,{mode:o,featureId:e.feature.id,originFeatureId:e.parentId,onClose:()=>{t(void 0)}})),V.createElement(DT,{in:o===sZe.Details,unmountOnExit:!0},V.createElement(wJe,{entry:e,featureEntriesMap:n})))})}const $Je=V.memo(function({featureEntry:e,originFeatureId:t,mode:n,setMode:r,copyFeature:i,addDrillDown:o}){const a=function({featureEntry:e,mode:t}){const{loadedFeatureHistogramCharts:n,loadFeatureHistogramStaticChart:r,loadFeatureHistogramInteractiveChart:i,loadedSegmentDistributionCharts:o,loadSegmentDistributionChart:a,loadedSegmentTrendCharts:s,loadSegmentTrendChart:l}=rZe(),c=fZe(),u=hZe();return(0,V.useEffect)(()=>{t===sZe.Details&&(r({featureId:e.feature.id}).then(()=>{e.detailedHistogramAvailable&&i({featureId:e.feature.id})}),c&&a({featureId:e.feature.id}),u&&l({featureId:e.feature.id}))},[t,r,i,e.detailedHistogramAvailable,e.feature.id,a,l,c,u]),(0,V.useMemo)(()=>{const t=e.feature.id,r={...e};return Ma(r.histogram_charts)&&void 0!==n[t]&&(r.histogram_charts=n[t]),Ma(r.segment_distribution_chart)&&void 0!==o[t]&&(r.segment_distribution_chart=o[t]),Ma(r.segment_trend_chart)&&void 0!==s[t]&&(r.segment_trend_chart=s[t]),r},[e,n,o,s])}({featureEntry:e,mode:n}),{loadedFeatureEncodingTables:s,loadFeatureEncodingTable:l}=DZe(),c=bZe(),u=vZe(),f=yZe(),h=dZe(),d=n===sZe.Details,p=n===sZe.None,g=Ma(e.isAssessed)||e.isAssessed,m=V.useCallback(t=>{r(e.feature.id,t)},[e.feature.id,r]),{areNavigatorClipboardWritePermissionsGranted:b}=ha();return(0,V.useEffect)(()=>{n===sZe.Details&&e.encodingTable&&l({featureId:e.feature.id})},[n,l,e.feature.id,e.encodingTable]),V.createElement(HN,{showRowHighlight:p,isExpanded:d,onDetailsToggleClick:g?function(){n===sZe.None?m(sZe.Details):m(sZe.None)}:null,labelNode:V.createElement(EN,{feature:e.feature,hasCopyButton:b,leakageDetectionInfo:e.leakageDetectionInfo}),explanationNode:V.createElement(PJe,{isEdited:n===sZe.Edit,setMode:m,featureEntry:e,statusBadgeNode:V.createElement(__,{status:e.status})}),actionsBeforeMetricsNode:n===sZe.Edit?null:V.createElement(V.Fragment,null,V.createElement(hu,{title:"Edit Explanation",disableInteractive:!0},V.createElement(nf,{color:"primary",size:"small",onClick:()=>m(sZe.Edit)},V.createElement(JZe,{className:"action-btn"}))),V.createElement(hu,{title:"Edit Definition",disableInteractive:!0},V.createElement(nf,{color:"primary",size:"small",onClick:()=>m(sZe.Code)},V.createElement(YZe,{className:"action-btn"}))),V.createElement(DJe,{isDrillDownMode:u,isComparisonMode:f,onClick:()=>i(e)}),V.createElement(IJe,{featureId:e.feature.id}),V.createElement(hu,{title:f?"Drill Down in Comparison Mode is not available":"Drill Down",disableInteractive:!0},V.createElement("span",null,V.createElement(nf,{color:"primary",size:"small",disabled:f,onClick:o},V.createElement(XZe,{className:"action-btn"}))))),segmentSizeMetricNode:V.createElement(GZe,{columnName:"segmentSize"},h.segmentSize.valuePresenter(e)),segmentErrorMetricNode:V.createElement(GZe,{columnName:"segmentError"},h.segmentError.valuePresenter(e)),starNode:V.createElement(GZe,{columnName:"star"},V.createElement(RJe,{featureId:e.feature.id})),detailsNode:V.createElement(V.Fragment,null,V.createElement(DT,{in:n===sZe.Code||n===sZe.Copy,unmountOnExit:!0},V.createElement("br",null),V.createElement(_Je,{mode:n,featureId:e.feature.id,originFeatureId:t,onClose:()=>m(sZe.None)}),V.createElement("br",null)),V.createElement(DT,{in:n===sZe.Details,unmountOnExit:!0},V.createElement(wJe,{entry:a,featureEntriesMap:c,encodingTable:s[e.feature.id],definition:e.feature.definition})))})});function LJe(){const{getMode:e,setMode:t}=function(){const[e,t]=(0,V.useState)({}),n=(0,V.useCallback)(t=>e[t]??sZe.None,[e]),r=(0,V.useCallback)((e,n)=>{t(t=>({...t,[e]:n}))},[t]);return{getMode:n,setMode:r}}(),n=mZe().flat(),r=pZe(),{getPage:i,PaginationWrapper:o,resetPage:a,getPaginationProps:s}=Yze({totalCount:n.length,defaultRowsPerPage:20});!function(e){const t=oZe(e=>e.setResetPaginationCallback),n=cZe(e=>e.setResetPaginationCallback);(0,V.useEffect)(()=>(t(e),n(e),()=>{t(null),n(null)}),[t,n,e])}(a);const l=(()=>{const e=CZe(),t=(()=>{const e=(()=>{const e=cZe(e=>e.value.sorters);return(0,V.useMemo)(()=>e,[])})(),t=oZe(e=>e.setActiveSorterConfig),n=oZe(e=>e.activeSorterConfig);return(0,V.useEffect)(()=>{!n&&e.length>0&&void 0!==e[0]&&t(e[0])},[e,t,n]),n})(),n=(0,V.useMemo)(()=>e.sort((e,n)=>{const r=e.sorting[t?.name??""]?.ranking,i=n.sorting[t?.name??""]?.ranking,o=os.isNumber(r),a=os.isNumber(i);return!o&&a?1:!a&&o?-1:o||a?(r??0)-(i??0):0}),[e,t]);return n})(),c=i(l),[u,f]=V.useState(()=>{}),h=V.useCallback(e=>{const n=rs.createIdForCopiedFeature(e.feature.id),r={...e,isAssessed:!1,feature:{...e.feature,id:n}};t(n,sZe.None),f({...r,parentId:e.feature.id})},[t]);return V.createElement(KN,{"aria-label":"Feature leaderboard entry list body"},V.createElement(o,{...s({totalCount:l.length})},V.createElement(hze,{items:l,visibleItems:c,keyExtractor:e=>e.feature.id,renderItem:n=>V.createElement(V.Fragment,null,V.createElement($Je,{featureEntry:n,originFeatureId:n.feature.id,copyFeature:h,mode:e(n.feature.id),setMode:t,addDrillDown:()=>r(n.feature.id)}),u?.parentId===n.feature.id&&V.createElement("div",{style:{marginBottom:"20px"}},V.createElement(NJe,{copiedFeatureEntry:u,setCopiedFeatureEntry:f})))})))}function jJe(){const e=(t=void 0===wZe(),n=0===CZe().length,t?aZe.NO_DATA:n?aZe.NO_RESULTS:aZe.HAS_DATA);var t,n;return{[aZe.NO_DATA]:V.createElement(LT,{message:"No features to display",subMessage:"The feature set is empty"}),[aZe.NO_RESULTS]:V.createElement(LT,{message:"No results"}),[aZe.HAS_DATA]:V.createElement(LJe,null)}[e]}function FJe(){const{segmentErrorLabel:e}=AZe();return V.createElement(Ds,{sx:{display:"flex",alignItems:"center",marginInline:"10px 4px",fontSize:"12px",fontWeight:"bold",color:"var(--c-grey-600)"}},V.createElement(VN,{columnName:"checkbox"},V.createElement("span",{className:"checkbox"})),V.createElement(VN,{columnName:"detailsToggle"},V.createElement("span",{className:"details-toggle"})),V.createElement(GZe,{columnName:"star"}),V.createElement(GZe,{columnName:"label"},V.createElement("span",{className:"feature-id"},"Feature ID")),V.createElement(GZe,{columnName:"explanation"},V.createElement("span",{className:"explanation"},"Explanation")),V.createElement(GZe,{columnName:"segmentSize"},V.createElement("span",{className:"segment-size"},V.createElement("div",{style:{display:"flex",alignItems:"center"}},V.createElement("span",null,"Segment Size")))),V.createElement(GZe,{columnName:"segmentError"},V.createElement("span",{className:"segment-error"},V.createElement("div",{style:{display:"flex",alignItems:"center"}},V.createElement("span",null,e)))))}function zJe(){const e=EZe(),t=(0,V.useMemo)(()=>(({sizingConfig:e})=>({checkbox:{width:0},detailsToggle:{width:30},star:{flex:"0 0 auto",width:36},label:{flex:"0 0 130px"},explanation:{flex:"5 1 0",minWidth:200},segmentSize:{flex:`0 1 ${e.segmentSizeColumn.flexBasis}px`,minWidth:e.segmentSizeColumn.minWidth,padding:"0px 12px 0 12px",compactModeConfig:{thresholdWidth:e.compactRowWidthThreshold,flex:`0 1 ${e.segmentSizeColumn.minWidth}px`}},segmentError:{flex:`0 1 ${e.segmentErrorColumn.flexBasis}px`,minWidth:e.segmentErrorColumn.minWidth,padding:"0 4px 0 0",compactModeConfig:{thresholdWidth:e.compactRowWidthThreshold,flex:`0 1 ${e.segmentErrorColumn.minWidth}px`}}}))({sizingConfig:e}),[e]);return V.createElement("div",{"aria-label":"Segment Leaderboard"},V.createElement(D_,{config:t},V.createElement(FJe,null),V.createElement(jJe,null)))}function BJe({...e}){const t="calculation"===e.progress?.type?e.progress:null,n=WJe({backendState:{value:e.value,maxCollinearity:e.maxCollinearity,nullRatio:e.nullRatio,starredFeatures:e.starredFeatures,hiddenFeatures:e.hiddenFeatures,calculationStatus:e.calculationStatus,progress:e.progress,activeDrillDowns:e.activeDrillDowns,dotDataLabState:e.dotDataLabState},api:{setMaxCollinearity:e.setMaxCollinearity,setNullRatio:e.setNullRatio,starFeature:e.starFeature,unstarFeature:e.unstarFeature,hideFeature:e.hideFeature,unhideFeature:e.unhideFeature,stopCalculation:e.stopCalculation,addDrillDown:e.addDrillDown,removeDrillDown:e.removeDrillDown,searchInFeatureSpace:e.searchInFeatureSpace,selectFeatures:e.selectFeatures,dotDataLabApi:e.dotDataLabApi}}),r=qJe();return V.createElement(eZe.Provider,{value:n},V.createElement(iZe.Provider,{value:r},V.createElement(nZe,{loadFeatureHistogramStaticChart:e.loadFeatureHistogramStaticChart,loadFeatureHistogramInteractiveChart:e.loadFeatureHistogramInteractiveChart,loadSegmentDistributionChart:e.loadSegmentDistributionChart,loadSegmentTrendChart:e.loadSegmentTrendChart,initialStaticHistogramsCache:e.initialStaticHistogramsCache,initialSegmentDistributionChartsCache:e.initialSegmentDistributionChartsCache,initialSegmentTrendChartsCache:e.initialSegmentTrendChartsCache},V.createElement(PZe,{...e},V.createElement(Ds,{sx:{pt:"3px",position:"relative",display:"flex",flexDirection:"column",gap:2}},V.createElement(UJe,null),(e.calculationStatus||t)&&V.createElement($Fe,{header:"Calculation Progress"},V.createElement(Ds,{sx:{width:"100%"}},e.calculationStatus&&V.createElement(RZe,null),t&&V.createElement(Oje,{sx:{pr:6,pl:2,pt:4,pb:4},value:t.value,label:t.label}),e.calculationStatus&&V.createElement(YO,{startIcon:V.createElement(nYe,null),sx:{mt:2},size:"medium",variant:"outlined",color:"error",onClick:()=>e.stopCalculation()},"Stop Calculation"))),(e.value.customScoreChart||e.value.temporalDistributionChart||e.value.adbData)&&V.createElement($Ze,{customScoreChart:e.value.customScoreChart,temporalDistributionChart:e.value.temporalDistributionChart,adbData:e.value.adbData}),V.createElement($Fe,null,V.createElement(Ds,{sx:{width:"100%"}},V.createElement(Ds,{sx:{position:"relative"}},V.createElement(HJe,null),null===e.calculationStatus&&V.createElement(Ds,{sx:{mb:4}},V.createElement(QZe,null)),V.createElement(zJe,null)),V.createElement(TZe,null))))))))}const WJe=({backendState:e,api:t})=>{const n=(0,V.useRef)(null);return null===n.current&&(n.current=function(e,t){return bXe()((n,r,i)=>{const o=e=>e().finally(()=>r().callResetPaginationCallback());return{...e,...Kze,...t,...Qze(n,r),setMaxCollinearity:e=>{t.setMaxCollinearity(e),r().callResetPaginationCallback()},setNullRatio:e=>{t.setNullRatio(e),r().callResetPaginationCallback()},addDrillDown:e=>o(()=>t.addDrillDown(e)),removeDrillDown:e=>o(()=>t.removeDrillDown(e)),searchInFeatureSpace:(e,n,r)=>t.searchInFeatureSpace(e,n,r),selectFeatures:e=>o(()=>t.selectFeatures(e))}})}(e,t)),(0,V.useEffect)(()=>{n.current&&n.current.setState({value:e.value})},[e.value]),(0,V.useEffect)(()=>{n.current&&n.current.setState({maxCollinearity:e.maxCollinearity})},[e.maxCollinearity]),(0,V.useEffect)(()=>{n.current&&n.current.setState({nullRatio:e.nullRatio})},[e.nullRatio]),(0,V.useEffect)(()=>{n.current&&n.current.setState({starredFeatures:e.starredFeatures})},[e.starredFeatures]),(0,V.useEffect)(()=>{n.current&&n.current.setState({hiddenFeatures:e.hiddenFeatures})},[e.hiddenFeatures]),(0,V.useEffect)(()=>{n.current&&n.current.setState({calculationStatus:e.calculationStatus})},[e.calculationStatus]),(0,V.useEffect)(()=>{n.current&&n.current.setState({progress:e.progress})},[e.progress]),(0,V.useEffect)(()=>{n.current&&n.current.setState({activeDrillDowns:e.activeDrillDowns})},[e.activeDrillDowns]),(0,V.useEffect)(()=>{n.current&&n.current.setState({dotDataLabState:e.dotDataLabState})},[e.dotDataLabState]),n.current},qJe=()=>{const e=(0,V.useRef)(null);return null===e.current&&(e.current=bXe((e,t,n)=>({...tYe,...Qze(e,t),setActiveSorterConfig:n=>{e({activeSorterConfig:n}),t().callResetPaginationCallback()},setSegmentSizeValue:n=>{e({segmentSizeValue:n}),t().callResetPaginationCallback()},setSegmentErrorValue:n=>{e({segmentErrorValue:n}),t().callResetPaginationCallback()},setExplanationSearch:n=>{e({explanationSearch:n}),t().callResetPaginationCallback()},setShowStarredOnly:n=>{e({showStarredOnly:n}),t().callResetPaginationCallback()},setShowNewOnly:n=>{e({showNewOnly:n}),t().callResetPaginationCallback()},setShowHiddenFeatures:n=>{e({showHiddenFeatures:n}),t().callResetPaginationCallback()}}))),e.current},HJe=()=>{const e=OZe("drill_down");return e?V.createElement(Rje,{value:e.value,label:e.label}):null},UJe=()=>{const e=OZe("add_feature");return e?V.createElement(Rje,{value:e.value,label:e.label}):null};function VJe(){const[e]=Za("value"),[t,n]=Za("max_collinearity"),[r,i]=Za("null_ratio"),[o]=Za("starred_features"),[a]=Za("hidden_features"),[s]=Za("static_histograms_cache"),[l]=Za("segment_distribution_charts_cache"),[c]=Za("segment_trend_charts_cache"),[u]=Za("blueprints_cache"),[f]=Za("encoding_tables_cache"),[h]=Za("calculation_status"),[d]=Za("progress"),[p]=Za("active_drill_downs"),g=Ea("update_feature"),m=Ea("copy_feature"),b=Ea("get_feature_definition_code"),w=Ea("set_user_explanation"),v=Ea("star_feature"),y=Ea("unstar_feature"),x=Ea("hide_feature"),A=Ea("unhide_feature"),k=Ea("stop_calculation"),S=(()=>{const e=Ea("update_column_alias"),t=Ea("update_column_description"),n=Ea("update_table_description"),r=Ea("update_table_alias"),i=Ea("update_column_value_alias"),o=Ea("update_column_value_description");return(0,V.useMemo)(()=>({updateColumnAlias:e,updateColumnDescription:t,updateTableDescription:n,updateTableAlias:r,updateColumnValueAlias:i,updateColumnValueDescription:o}),[e,t,n,r,i,o])})(),E=Ea("prepare_blueprint"),C=Ea("prepare_static_histogram"),O=Ea("prepare_interactive_histogram"),T=Ea("prepare_segment_distribution_chart"),_=Ea("prepare_segment_trend_chart"),M=Ea("get_encoding_table"),P=Ea("load_custom_tab"),D=Ea("add_drill_down"),R=Ea("remove_drill_down"),I=Ea("search_in_feature_space"),N=Ea("select_features"),$=(0,V.useCallback)(e=>v({feature_id:e}),[v]),L=(0,V.useCallback)(e=>y({feature_id:e}),[y]),j=(0,V.useCallback)(e=>x({feature_id:e}),[x]),F=(0,V.useCallback)(e=>A({feature_id:e}),[A]),z=(0,V.useCallback)(e=>D({feature_id:e}),[D]),B=(0,V.useCallback)(e=>R({index:e}),[R]),W=(0,V.useCallback)((e,t,n)=>I({query:e,page:t,page_size:n}),[I]),q=(0,V.useCallback)(e=>N({feature_ids:e}),[N]);return V.createElement(BJe,{value:e,maxCollinearity:t,setMaxCollinearity:n,nullRatio:r,setNullRatio:i,starredFeatures:o,starFeature:$,unstarFeature:L,hiddenFeatures:a,hideFeature:j,unhideFeature:F,updateFeature:g,copyFeature:m,getFeatureDefinitionCode:b,saveUserExplanation:w,domainDictionaryApi:S,loadFeatureHistogramStaticChart:(0,V.useCallback)(({featureId:e})=>C({feature_id:e}),[C]),loadFeatureHistogramInteractiveChart:(0,V.useCallback)(({featureId:e})=>O({feature_id:e}),[O]),loadSegmentDistributionChart:(0,V.useCallback)(({featureId:e})=>T({feature_id:e}),[T]),loadSegmentTrendChart:(0,V.useCallback)(({featureId:e})=>_({feature_id:e}),[_]),loadFeatureEncodingTable:(0,V.useCallback)(({featureId:e})=>M({feature_id:e}),[M]),loadFeatureLineage:(0,V.useCallback)(({featureId:e})=>E({feature_id:e}),[E]),loadCustomTab:P,stopCalculation:()=>k({}),calculationStatus:h,progress:d,initialStaticHistogramsCache:s,initialSegmentDistributionChartsCache:l,initialSegmentTrendChartsCache:c,initialEncodingTablesCache:f,initialFeatureLineagesCache:u,activeDrillDowns:p,addDrillDown:z,removeDrillDown:B,searchInFeatureSpace:W,selectFeatures:q})}const KJe={value:{allEntries:[],tableColumns:{},sorters:[],useCaseWithBaseline:!0,predictionType:fs.Classification},confidence:.95,max_collinearity:.7,null_ratio:1,starred_features:[],hidden_features:[],encoding_tables_cache:{},static_histograms_cache:{},segment_distribution_charts_cache:{},segment_trend_charts_cache:{},blueprints_cache:{},calculation_status:null,progress:null,active_drill_downs:[]};class QJe extends RBe.DOMWidgetModel{defaults(){return{...super.defaults(),_model_name:"SegmentLeaderboardWidgetModel",_model_module:y,_model_module_version:v,_view_name:"SegmentLeaderboardWidgetView",_view_module:y,_view_module_version:v,_module_version:v,...KJe}}static serializers={...RBe.DOMWidgetModel.serializers}}class GJe extends RBe.DOMWidgetView{backendApi=new va(this);render(){Promise.all([da()]).then(([e])=>{try{const t=V.createElement(DBe,{model:this.model,api:this.backendApi,additionalClasses:["segment-leaderboard-widget"]},V.createElement(fa,{areNavigatorClipboardWritePermissionsGranted:e,environment:"notebook"},V.createElement(VJe,null)));IBe.createRoot(this.el).render(t)}catch(e){console.error("SegmentLeaderboardWidgetView",e)}})}}})(),c})());