diff --git a/eval_protocol/models.py b/eval_protocol/models.py index a70fddab..b3d48b6c 100644 --- a/eval_protocol/models.py +++ b/eval_protocol/models.py @@ -286,9 +286,9 @@ class EvaluationRow(BaseModel): description="The ID of the invocation that this row belongs to.", ) - cohort_id: Optional[str] = Field( + experiment_id: Optional[str] = Field( default_factory=generate_id, - description="The ID of the cohort that this row belongs to.", + description="The ID of the experiment that this row belongs to.", ) rollout_id: Optional[str] = Field( diff --git a/eval_protocol/pytest/evaluation_test.py b/eval_protocol/pytest/evaluation_test.py index 7ca9d0a1..f36fee9b 100644 --- a/eval_protocol/pytest/evaluation_test.py +++ b/eval_protocol/pytest/evaluation_test.py @@ -73,14 +73,14 @@ def evaluation_test( # noqa: C901 Here are some key concepts to understand the terminology in EP: - "invocation" is a single execution of a test function. An invocation can - generate 1 or more cohorts. Grouping by invocation might be useful to + generate 1 or more experiments. Grouping by invocation might be useful to aggregate eval scores across multiple invocations when you want to aggregate scores across multiple datasets. - - "cohort" is a group of runs with for a combination of parameters. A single - cohort will have multiple runs if num_runs > 1. + - "experiment" is a group of runs with for a combination of parameters. A single + experiment will have multiple runs if num_runs > 1. 1. If your evaluation_test has combinations of parameters, it will generate - multiple cohorts per combination of parameters. - 2. A new execution of a test function will generate a new cohort. + multiple experiments per combination of parameters. + 2. A new execution of a test function will generate a new experiment. - "run" is a group of rollouts. For multiple num_runs > 1, there will be multiple "run_id"s. - "rollout" is the execution/process that produces a "trajectory". You @@ -98,7 +98,7 @@ def evaluation_test( # noqa: C901 decorated test. It simply produces a score from 0 to 1 and attached it to the row as the "evaluation_result" field. - "invocation", "cohort", "run", "rollout", and "row" each have a unique ID + "invocation", "experiment", "run", "rollout", and "row" each have a unique ID which can be used to easily group and identify your dataset by. Args: @@ -302,7 +302,7 @@ def wrapper_body(**kwargs): eval_metadata = None all_results: List[List[EvaluationRow]] = [[] for _ in range(num_runs)] - cohort_id = generate_id() + experiment_id = generate_id() def _log_eval_error( status: Literal["finished", "error"], rows: Optional[List[EvaluationRow]] | None, passed: bool @@ -383,7 +383,7 @@ def _log_eval_error( row.input_metadata.session_data["mode"] = mode # Initialize eval_metadata for each row row.eval_metadata = eval_metadata - row.cohort_id = cohort_id + row.experiment_id = experiment_id row.invocation_id = invocation_id # has to be done in the pytest main process since it's diff --git a/tests/pytest/test_pytest_ids.py b/tests/pytest/test_pytest_ids.py index a799d392..4deda27c 100644 --- a/tests/pytest/test_pytest_ids.py +++ b/tests/pytest/test_pytest_ids.py @@ -54,7 +54,7 @@ def eval_fn(row: EvaluationRow) -> EvaluationRow: def test_evaluation_test_decorator_ids_single(monkeypatch): in_memory_logger = InMemoryLogger() unique_run_ids = set() - unique_cohort_ids = set() + unique_experiment_ids = set() unique_rollout_ids = set() unique_invocation_ids = set() unique_row_ids = set() @@ -77,7 +77,7 @@ def test_evaluation_test_decorator_ids_single(monkeypatch): ) def eval_fn(row: EvaluationRow) -> EvaluationRow: unique_run_ids.add(row.run_id) - unique_cohort_ids.add(row.cohort_id) + unique_experiment_ids.add(row.experiment_id) unique_rollout_ids.add(row.rollout_id) unique_invocation_ids.add(row.invocation_id) unique_row_ids.add(row.input_metadata.row_id) @@ -97,6 +97,6 @@ def eval_fn(row: EvaluationRow) -> EvaluationRow: # Assertions on IDs generated by the decorator logic assert len(unique_invocation_ids) == 1 assert len(unique_run_ids) == 20 # 4 combinations * 5 runs each - assert len(unique_cohort_ids) == 2 * 2 # 2 datasets * 2 param sets + assert len(unique_experiment_ids) == 2 * 2 # 2 datasets * 2 param sets assert len(unique_row_ids) == 19 # from the markdown dataset assert len(unique_rollout_ids) == 19 * 5 * 2 * 2 # rows * runs * datasets * params diff --git a/vite-app/dist/assets/index-t_hsfGP1.js b/vite-app/dist/assets/index-Cvu-Dnw_.js similarity index 90% rename from vite-app/dist/assets/index-t_hsfGP1.js rename to vite-app/dist/assets/index-Cvu-Dnw_.js index 50ea2cd1..9ce27a94 100644 --- a/vite-app/dist/assets/index-t_hsfGP1.js +++ b/vite-app/dist/assets/index-Cvu-Dnw_.js @@ -67,7 +67,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var _m;function Qx(){if(_m)return rf;_m=1;var n=ho();function l(O,T){return O===T&&(O!==0||1/O===1/T)||O!==O&&T!==T}var r=typeof Object.is=="function"?Object.is:l,u=n.useState,o=n.useEffect,f=n.useLayoutEffect,d=n.useDebugValue;function v(O,T){var Z=T(),H=u({inst:{value:Z,getSnapshot:T}}),B=H[0].inst,U=H[1];return f(function(){B.value=Z,B.getSnapshot=T,p(B)&&U({inst:B})},[O,Z,T]),o(function(){return p(B)&&U({inst:B}),O(function(){p(B)&&U({inst:B})})},[O]),d(Z),Z}function p(O){var T=O.getSnapshot;O=O.value;try{var Z=T();return!r(O,Z)}catch{return!0}}function m(O,T){return T()}var _=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?m:v;return rf.useSyncExternalStore=n.useSyncExternalStore!==void 0?n.useSyncExternalStore:_,rf}var ym;function Jx(){return ym||(ym=1,lf.exports=Qx()),lf.exports}var Px=Jx();function bm(n){n.reaction=new xn("observer".concat(n.name),function(){var l;n.stateVersion=Symbol(),(l=n.onStoreChange)===null||l===void 0||l.call(n)})}function Wx(n,l){l===void 0&&(l="observed");var r=Gl.useRef(null);if(!r.current){var u={reaction:null,onStoreChange:null,stateVersion:Symbol(),name:l,subscribe:function(v){return or.unregister(u),u.onStoreChange=v,u.reaction||(bm(u),u.stateVersion=Symbol()),function(){var p;u.onStoreChange=null,(p=u.reaction)===null||p===void 0||p.dispose(),u.reaction=null}},getSnapshot:function(){return u.stateVersion}};r.current=u}var o=r.current;o.reaction||(bm(o),or.register(r,o,o)),Gl.useDebugValue(o.reaction,Vx),Px.useSyncExternalStore(o.subscribe,o.getSnapshot,o.getSnapshot);var f,d;if(o.reaction.track(function(){try{f=n()}catch(v){d=v}}),d)throw d;return f}var uf,of,f_=typeof Symbol=="function"&&Symbol.for,Fx=(of=(uf=Object.getOwnPropertyDescriptor(function(){},"name"))===null||uf===void 0?void 0:uf.configurable)!==null&&of!==void 0?of:!1,Sm=f_?Symbol.for("react.forward_ref"):typeof z.forwardRef=="function"&&z.forwardRef(function(n){return null}).$$typeof,xm=f_?Symbol.for("react.memo"):typeof z.memo=="function"&&z.memo(function(n){return null}).$$typeof;function Ix(n,l){var r;if(xm&&n.$$typeof===xm)throw new Error("[mobx-react-lite] You are trying to use `observer` on a function component wrapped in either another `observer` or `React.memo`. The observer already applies 'React.memo' for you.");var u=(r=void 0)!==null&&r!==void 0?r:!1,o=n,f=n.displayName||n.name;if(Sm&&n.$$typeof===Sm&&(u=!0,o=n.render,typeof o!="function"))throw new Error("[mobx-react-lite] `render` property of ForwardRef was not a function");var d=function(v,p){return Wx(function(){return o(v,p)},f)};return d.displayName=n.displayName,Fx&&Object.defineProperty(d,"name",{value:n.name,writable:!0,configurable:!0}),n.contextTypes&&(d.contextTypes=n.contextTypes),u&&(d=z.forwardRef(d)),d=z.memo(d),tE(n,d),d}var eE={$$typeof:!0,render:!0,compare:!0,type:!0,displayName:!0};function tE(n,l){Object.keys(n).forEach(function(r){eE[r]||Object.defineProperty(l,r,Object.getOwnPropertyDescriptor(n,r))})}var sf;qx(YS.unstable_batchedUpdates);sf=or.finalizeAllImmediately;function nE(n,l){if(Em(n,l))return!0;if(typeof n!="object"||n===null||typeof l!="object"||l===null)return!1;var r=Object.keys(n),u=Object.keys(l);if(r.length!==u.length)return!1;for(var o=0;o2?u-2:0),f=2;f {}` or `render = function() {}` is not supported.")}l.render=function(){return Object.defineProperty(this,"render",{configurable:!1,writable:!1,value:rE.call(this,u)}),this.render()};var f=l.componentDidMount;return l.componentDidMount=function(){var d=this,v=Of(this);return v.mounted=!0,or.unregister(this),v.forceUpdate=function(){return d.forceUpdate()},(!v.reaction||v.reactionInvalidatedBeforeMount)&&v.forceUpdate(),f?.apply(this,arguments)},lE(l,"componentWillUnmount",function(){var d,v=Of(this);(d=v.reaction)==null||d.dispose(),v.reaction=null,v.forceUpdate=null,v.mounted=!1,v.reactionInvalidatedBeforeMount=!1}),n}function Af(n){return n.displayName||n.name||""}function rE(n){var l=n.bind(this),r=Of(this);function u(){r.reaction||(r.reaction=uE(r),r.mounted||or.register(this,r,this));var o=void 0,f=void 0;if(r.reaction.track(function(){try{f=X1(!1,l)}catch(d){o=d}}),o)throw o;return f}return u}function uE(n){return new xn(n.name+".render()",function(){if(!n.mounted){n.reactionInvalidatedBeforeMount=!0;return}try{n.forceUpdate==null||n.forceUpdate()}catch{var l;(l=n.reaction)==null||l.dispose(),n.reaction=null}})}function zm(n,l){return this.state!==l?!0:!nE(this.props,n)}function Ge(n,l){return n.isMobxInjector===!0&&console.warn("Mobx observer: You are trying to use `observer` on a component that already has `inject`. Please apply `observer` before applying `inject`"),Object.prototype.isPrototypeOf.call(z.Component,n)||Object.prototype.isPrototypeOf.call(z.PureComponent,n)?iE(n):Ix(n)}Gl.version.split(".")[0];if(!z.Component)throw new Error("mobx-react requires React to be available");if(!at)throw new Error("mobx-react requires mobx to be available");const Hn=Gl.forwardRef(({className:n="",variant:l="secondary",size:r="sm",children:u,...o},f)=>{const d="border text-xs font-medium focus:outline-none",v={primary:"border-gray-300 bg-gray-100 text-gray-700 hover:bg-gray-200",secondary:"border-gray-300 bg-gray-100 text-gray-700 hover:bg-gray-200"},p={sm:"px-2 py-0.5",md:"px-3 py-1"};return x.jsx("button",{ref:f,className:`${d} ${v[l]} ${p[r]} ${n}`,style:{boxShadow:"none"},...o,children:u})});Hn.displayName="Button";const oE=({message:n})=>{const[l,r]=z.useState(!1),u=n.role==="user",o=n.role==="system",f=n.role==="tool",d=n.tool_calls&&n.tool_calls.length>0,v=n.function_call,m=typeof n.content=="string"?n.content:Array.isArray(n.content)?n.content.map((T,Z)=>T.type==="text"?T.text:JSON.stringify(T)).join(""):JSON.stringify(n.content),_=m.length>200,O=_&&!l?m.substring(0,200)+"...":m;return x.jsx("div",{className:`flex ${u?"justify-end":"justify-start"} mb-1`,children:x.jsxs("div",{className:`max-w-sm lg:max-w-md xl:max-w-lg px-2 py-1 border text-xs ${u?"bg-blue-50 border-blue-200 text-blue-900":o?"bg-gray-50 border-gray-200 text-gray-800":f?"bg-green-50 border-green-200 text-green-900":"bg-yellow-50 border-yellow-200 text-yellow-900"}`,children:[x.jsx("div",{className:"font-semibold text-xs mb-0.5 capitalize",children:n.role}),x.jsx("div",{className:"whitespace-pre-wrap break-words overflow-hidden text-xs",children:O}),_&&x.jsx("button",{onClick:()=>r(!l),className:`mt-1 text-xs underline hover:no-underline ${u?"text-blue-700":o?"text-gray-600":f?"text-green-700":"text-yellow-700"}`,children:l?"Show less":"Show more"}),d&&n.tool_calls&&x.jsxs("div",{className:`mt-2 pt-1 border-t ${f?"border-green-200":"border-yellow-200"}`,children:[x.jsx("div",{className:`font-semibold text-xs mb-0.5 ${f?"text-green-700":"text-yellow-700"}`,children:"Tool Calls:"}),n.tool_calls.map((T,Z)=>x.jsxs("div",{className:`mb-1 p-1 border rounded text-xs ${f?"bg-green-100 border-green-200":"bg-yellow-100 border-yellow-200"}`,children:[x.jsx("div",{className:`font-semibold mb-0.5 text-xs ${f?"text-green-800":"text-yellow-800"}`,children:T.function.name}),x.jsx("div",{className:`font-mono text-xs break-all overflow-hidden ${f?"text-green-700":"text-yellow-700"}`,children:T.function.arguments})]},Z))]}),v&&n.function_call&&x.jsxs("div",{className:`mt-2 pt-1 border-t ${f?"border-green-200":"border-yellow-200"}`,children:[x.jsx("div",{className:`font-semibold text-xs mb-0.5 ${f?"text-green-700":"text-yellow-700"}`,children:"Function Call:"}),x.jsxs("div",{className:`p-1 border rounded text-xs ${f?"bg-green-100 border-green-200":"bg-yellow-100 border-yellow-200"}`,children:[x.jsx("div",{className:`font-semibold mb-0.5 text-xs ${f?"text-green-800":"text-yellow-800"}`,children:n.function_call.name}),x.jsx("div",{className:`font-mono text-xs break-all overflow-hidden ${f?"text-green-700":"text-yellow-700"}`,children:n.function_call.arguments})]})]})]})})},sE=({messages:n})=>{const[l,r]=z.useState(600),[u,o]=z.useState(400),[f,d]=z.useState(!1),[v,p]=z.useState(!1),[m,_]=z.useState(0),[O,T]=z.useState(0),[Z,H]=z.useState(0),[B,U]=z.useState(0),$=z.useRef(null),X=z.useRef(null),q=z.useRef(null),W=z.useRef(null),Q=z.useRef(0);z.useEffect(()=>{if(Q.current===0){Q.current=n.length;return}n.length>0&&n.length>Q.current&&X.current&&X.current.scrollTo({top:X.current.scrollHeight,behavior:"smooth"}),Q.current=n.length},[n]),z.useEffect(()=>{const ae=Fe=>{if(f){Fe.preventDefault();const Ke=Fe.clientX-Z,Wt=m+Ke,N=($.current?.closest(".flex")?.clientWidth||window.innerWidth)*.66;r(Math.max(300,Math.min(N,Wt)))}},qe=()=>{d(!1)};return f&&(document.addEventListener("mousemove",ae),document.addEventListener("mouseup",qe)),()=>{document.removeEventListener("mousemove",ae),document.removeEventListener("mouseup",qe)}},[f,Z,m]),z.useEffect(()=>{const ae=Fe=>{if(v){Fe.preventDefault();const Ke=Fe.clientY-B,Wt=O+Ke;o(Math.max(200,Math.min(800,Wt)))}},qe=()=>{p(!1)};return v&&(document.addEventListener("mousemove",ae),document.addEventListener("mouseup",qe)),()=>{document.removeEventListener("mousemove",ae),document.removeEventListener("mouseup",qe)}},[v,B,O]);const he=ae=>{ae.preventDefault(),ae.stopPropagation(),H(ae.clientX),_(l),d(!0)},xe=ae=>{ae.preventDefault(),ae.stopPropagation(),U(ae.clientY),T(u),p(!0)},Xe=ae=>{ae.preventDefault(),ae.stopPropagation(),H(ae.clientX),U(ae.clientY),_(l),T(u),d(!0),p(!0)};return x.jsxs("div",{ref:$,className:"relative",style:{width:`${l}px`},children:[x.jsx("div",{ref:X,className:"bg-white border border-gray-200 p-4 overflow-y-auto relative",style:{height:`${u}px`},children:n.map((ae,qe)=>x.jsx(oE,{message:ae},qe))}),x.jsx("div",{ref:W,className:"absolute left-0 w-full h-1 bg-gray-300 cursor-row-resize hover:bg-gray-400 transition-colors select-none",style:{top:`${u}px`},onMouseDown:xe,onDragStart:ae=>ae.preventDefault()}),x.jsx("div",{ref:q,className:"absolute top-0 right-0 w-1 bg-gray-300 cursor-col-resize hover:bg-gray-400 transition-colors select-none",style:{height:`${u}px`},onMouseDown:he,onDragStart:ae=>ae.preventDefault()}),x.jsx("div",{className:"absolute w-3 h-3 bg-gray-300 cursor-nw-resize hover:bg-gray-400 transition-colors select-none",style:{top:`${u-8}px`,right:"0px"},onMouseDown:Xe,onDragStart:ae=>ae.preventDefault()})]})},Fa=({title:n,data:l,defaultExpanded:r=!1})=>{const[u,o]=z.useState(r);return!l||Object.keys(l).length===0?null:x.jsxs("div",{className:"mb-2",children:[x.jsxs("div",{className:"flex items-center justify-between cursor-pointer hover:bg-gray-50 p-1 rounded",onClick:()=>o(!u),children:[x.jsx("h4",{className:"font-semibold text-xs text-gray-700",children:n}),x.jsx("svg",{className:`h-3 w-3 text-gray-500 transition-transform duration-200 ${u?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),u&&x.jsx("div",{className:"border border-gray-200 p-2 text-xs bg-white mt-1",children:x.jsx("pre",{className:"whitespace-pre-wrap overflow-x-auto",children:JSON.stringify(l,null,1)})})]})},cE=({color:n})=>x.jsx("div",{className:`animate-spin w-1.5 h-1.5 rounded-full border border-current ${n} border-t-transparent`}),v_=({status:n,className:l="",showSpinner:r=!1})=>{const o=(d=>{switch(d.toLowerCase()){case"connected":return{dotColor:"bg-green-500",textColor:"text-green-700",text:"Connected"};case"disconnected":return{dotColor:"bg-red-500",textColor:"text-red-700",text:"Disconnected"};case"finished":return{dotColor:"bg-green-500",textColor:"text-green-700",text:"finished"};case"running":return{dotColor:"bg-blue-500",textColor:"text-blue-700",text:"running"};case"error":return{dotColor:"bg-red-500",textColor:"text-red-700",text:"error"};case"stopped":return{dotColor:"bg-yellow-500",textColor:"text-yellow-700",text:"stopped"};default:return{dotColor:"bg-gray-500",textColor:"text-gray-700",text:d}}})(n),f=r&&n.toLowerCase()==="running";return x.jsxs("div",{className:`inline-flex items-center gap-1.5 text-xs font-medium ${o.textColor} ${l}`,children:[f?x.jsx(cE,{color:o.textColor}):x.jsx("div",{className:`w-1.5 h-1.5 rounded-full ${o.dotColor}`}),o.text]})};function fE({children:n,className:l=""}){return x.jsx("div",{className:`bg-white border border-gray-200 overflow-x-auto ${l}`,children:n})}function p_({children:n,className:l=""}){return x.jsx("thead",{className:`bg-gray-50 border-b border-gray-200 ${l}`,children:n})}function m_({children:n,className:l=""}){return x.jsx("tbody",{className:`divide-y divide-gray-200 ${l}`,children:n})}function mn({children:n,className:l="",align:r="left",nowrap:u=!1}){const o={left:"text-left",center:"text-center",right:"text-right"};return x.jsx("th",{className:`px-3 py-2 text-xs font-semibold text-gray-700 ${o[r]} ${u?"whitespace-nowrap":""} ${l}`,children:n})}function Dm({children:n,className:l="",gray:r=!1}){return x.jsx("tr",{className:`${r?"bg-gray-50":""} ${l}`,children:n})}function dE({children:n,className:l="",onClick:r,interactive:u=!0}){const o=u?"hover:bg-gray-50 cursor-pointer":"";return x.jsx("tr",{className:`text-sm ${o} ${l}`,onClick:r,children:n})}function jt({children:n,className:l="",align:r="left",nowrap:u=!1,medium:o=!1,semibold:f=!1,colSpan:d}){const v={left:"text-left",center:"text-center",right:"text-right"},p=[];return o&&p.push("font-medium"),f&&p.push("font-semibold"),x.jsx("td",{colSpan:d,className:`px-3 py-2 text-gray-900 ${v[r]} ${u?"whitespace-nowrap":""} ${p.join(" ")} ${l}`,children:n})}const hE=Ge(({rolloutId:n})=>{if(!n)throw new Error("Rollout ID is required");const l=ot.isRowExpanded(n);return x.jsx("div",{className:"w-4 h-4 flex items-center justify-center",children:x.jsx("svg",{className:`h-4 w-4 text-gray-500 transition-transform duration-200 ${l?"rotate-90":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})})}),vE=Ge(({name:n})=>x.jsx("span",{className:"text-gray-900 truncate block",children:n||"N/A"})),pE=Ge(({status:n,showSpinner:l})=>x.jsx("div",{className:"whitespace-nowrap",children:x.jsx(v_,{showSpinner:l,status:n||"N/A"})})),mE=Ge(({rolloutId:n})=>n?x.jsx("span",{className:"font-mono text-gray-900 whitespace-nowrap",children:n}):null),gE=Ge(({model:n})=>x.jsx("span",{className:"text-gray-900 truncate block",children:n||"N/A"})),_E=Ge(({score:n})=>{const l=n?n>=.8?"text-green-700":n>=.6?"text-yellow-700":"text-red-700":"text-gray-500";return x.jsx("span",{className:`font-mono whitespace-nowrap ${l}`,children:n?.toFixed(3)||"N/A"})}),yE=Ge(({created_at:n})=>{const l=n instanceof Date?n:new Date(n);return x.jsx("span",{className:"text-gray-600 whitespace-nowrap",children:l.toLocaleDateString()+" "+l.toLocaleTimeString()})}),bE=Ge(({data:n})=>x.jsx(Fa,{title:"Eval Metadata",data:n,defaultExpanded:!0})),SE=Ge(({data:n})=>x.jsx(Fa,{title:"Evaluation Result",data:n,defaultExpanded:!0})),xE=Ge(({data:n})=>x.jsx(Fa,{title:"Ground Truth",data:n})),EE=Ge(({data:n})=>x.jsx(Fa,{title:"Usage Stats",data:n})),OE=Ge(({data:n})=>x.jsx(Fa,{title:"Input Metadata",data:n})),AE=Ge(({data:n})=>x.jsx(Fa,{title:"IDs",data:{rollout_id:n.rollout_id,cohort_id:n.cohort_id,invocation_id:n.invocation_id,run_id:n.run_id}})),wE=Ge(({data:n})=>x.jsx(Fa,{title:"Tools",data:n})),TE=Ge(({messages:n})=>x.jsx(sE,{messages:n})),RE=Ge(({row:n,messages:l,eval_metadata:r,evaluation_result:u,ground_truth:o,usage:f,input_metadata:d,tools:v})=>x.jsx("div",{className:"p-4 bg-gray-50",children:x.jsxs("div",{className:"flex gap-3 w-fit",children:[x.jsx("div",{className:"min-w-0",children:x.jsx(TE,{messages:l})}),x.jsxs("div",{className:"w-[500px] flex-shrink-0 space-y-3",children:[x.jsx(bE,{data:r}),x.jsx(SE,{data:u}),x.jsx(AE,{data:n}),x.jsx(xE,{data:o}),x.jsx(EE,{data:f}),x.jsx(OE,{data:d}),x.jsx(wE,{data:v})]})]})})),zE=Ge(({row:n})=>{const l=n.rollout_id,r=ot.isRowExpanded(l),u=()=>ot.toggleRowExpansion(l);return x.jsxs(x.Fragment,{children:[x.jsxs(dE,{onClick:u,children:[x.jsx(jt,{className:"w-8 py-3",children:x.jsx(hE,{rolloutId:l})}),x.jsx(jt,{className:"py-3 text-xs",children:x.jsx(vE,{name:n.eval_metadata?.name})}),x.jsx(jt,{className:"py-3 text-xs",children:x.jsx(pE,{status:n.eval_metadata?.status,showSpinner:n.eval_metadata?.status==="running"})}),x.jsx(jt,{className:"py-3 text-xs",children:x.jsx(mE,{rolloutId:n.rollout_id})}),x.jsx(jt,{className:"py-3 text-xs",children:x.jsx(gE,{model:n.input_metadata.completion_params?.model})}),x.jsx(jt,{className:"py-3 text-xs",children:x.jsx(_E,{score:n.evaluation_result?.score})}),x.jsx(jt,{className:"py-3 text-xs",children:x.jsx(yE,{created_at:n.created_at})})]}),r&&x.jsx("tr",{children:x.jsx("td",{colSpan:8,className:"p-0",children:x.jsx(RE,{row:n,messages:n.messages,eval_metadata:n.eval_metadata,evaluation_result:n.evaluation_result,ground_truth:n.ground_truth,usage:n.usage,input_metadata:n.input_metadata,tools:n.tools})})})]})}),g_=Gl.forwardRef(({className:n="",size:l="sm",children:r,...u},o)=>{const f="border text-xs font-medium focus:outline-none bg-white text-gray-700 border-gray-300 hover:border-gray-400 focus:border-gray-500",d={sm:"px-2 py-0.5",md:"px-3 py-1"};return x.jsx("select",{ref:o,className:`${f} ${d[l]} ${n}`,style:{boxShadow:"none"},...u,children:r})});g_.displayName="Select";const DE=Ge(({currentPage:n,pageSize:l})=>{const r=(n-1)*l,u=r+l,o=ot.sortedDataset.slice(r,u);return x.jsx(m_,{children:o.map((f,d)=>x.jsx(zE,{row:f,index:r+d},f.rollout_id))})}),NE=Ge(()=>{const[n,l]=z.useState(1),[r,u]=z.useState(25),o=ot.sortedDataset.length,f=Math.ceil(o/r),d=(n-1)*r+1,v=Math.min(n*r,o),p=_=>{l(Math.max(1,Math.min(_,f)))},m=_=>{u(_),l(1)};return z.useEffect(()=>{l(1)},[o]),x.jsxs("div",{className:"bg-white border border-gray-200",children:[x.jsxs("div",{className:"px-3 py-2 border-b border-gray-200 bg-gray-50 flex items-center justify-between",children:[x.jsxs("div",{className:"flex items-center gap-4",children:[x.jsxs("div",{className:"text-xs text-gray-600",children:["Showing ",d,"-",v," of ",o," rows"]}),x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx("label",{className:"text-xs text-gray-600",children:"Page size:"}),x.jsxs(g_,{value:r,onChange:_=>m(Number(_.target.value)),size:"sm",children:[x.jsx("option",{value:25,children:"25"}),x.jsx("option",{value:50,children:"50"}),x.jsx("option",{value:100,children:"100"}),x.jsx("option",{value:200,children:"200"})]})]})]}),x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(Hn,{onClick:()=>p(1),disabled:n===1,size:"sm",variant:"secondary",children:"First"}),x.jsx(Hn,{onClick:()=>p(n-1),disabled:n===1,size:"sm",variant:"secondary",children:"Previous"}),x.jsxs("span",{className:"text-xs text-gray-600 px-2",children:["Page ",n," of ",f]}),x.jsx(Hn,{onClick:()=>p(n+1),disabled:n===f,size:"sm",variant:"secondary",children:"Next"}),x.jsx(Hn,{onClick:()=>p(f),disabled:n===f,size:"sm",variant:"secondary",children:"Last"})]})]}),x.jsx("div",{className:"overflow-x-auto",children:x.jsxs("table",{className:"w-full min-w-max",children:[x.jsx(p_,{children:x.jsxs("tr",{children:[x.jsx(mn,{className:"w-8",children:" "}),x.jsx(mn,{children:"Name"}),x.jsx(mn,{children:"Status"}),x.jsx(mn,{children:"Rollout ID"}),x.jsx(mn,{children:"Model"}),x.jsx(mn,{children:"Score"}),x.jsx(mn,{children:"Created"})]})}),x.jsx(DE,{currentPage:n,pageSize:r})]})})]})});function pn(n){return n.map(l=>String(l)).join("||")}function ku(n,l){return l.map(r=>n[r])}function Nm(n){if(typeof n=="number"&&Number.isFinite(n))return n;const l=Number(n);return Number.isFinite(l)?l:null}function jm(n,l,r){return typeof r=="function"?r(n,l):r==="sum"?n.reduce((u,o)=>u+o,0):r==="avg"?n.length===0?0:n.reduce((u,o)=>u+o,0)/n.length:l.length}function jE({data:n,rowFields:l,columnFields:r,valueField:u,aggregator:o="count"}){const f=n.filter(B=>l.every(U=>B[U]!==void 0)),d=[],v=new Set,p=[],m=new Set;for(const B of f){const U=ku(B,l),$=pn(U);v.has($)||(v.add($),d.push(U));const X=ku(B,r),q=pn(X);m.has(q)||(m.add(q),p.push(X))}d.sort((B,U)=>pn(B).localeCompare(pn(U))),p.sort((B,U)=>pn(B).localeCompare(pn(U)));const _={},O={},T={};for(const B of d){const U=pn(B);_[U]={},O[U]=0}for(const B of p){const U=pn(B);T[U]=0}const Z={};for(const B of f){const U=pn(ku(B,l)),$=pn(ku(B,r));Z[U]||(Z[U]={}),Z[U][$]||(Z[U][$]=[]),Z[U][$].push(B)}for(const B of Object.keys(Z))for(const U of Object.keys(Z[B])){const $=Z[B][U],X=[];if(u!=null)for(const W of $){const Q=Nm(W[u]);Q!=null&&X.push(Q)}const q=jm(X,$,o);_[B][U]={value:q,records:$},O[B]+=q,T[U]+=q}let H;{const B=f,U=[];if(u!=null)for(const $ of B){const X=Nm($[u]);X!=null&&U.push(X)}H=jm(U,B,o)}return{rowKeyTuples:d,colKeyTuples:p,cells:_,rowTotals:O,colTotals:T,grandTotal:H}}function cf(n){return n.map(l=>String(l)).join("||")}function ME({data:n,rowFields:l,columnFields:r,valueField:u,aggregator:o="count",showRowTotals:f=!0,showColumnTotals:d=!0,className:v="",formatter:p=_=>_.toLocaleString(void 0,{maximumFractionDigits:3}),emptyValue:m="-"}){const{rowKeyTuples:_,colKeyTuples:O,cells:T,rowTotals:Z,colTotals:H,grandTotal:B}=jE({data:n,rowFields:l,columnFields:r,valueField:u,aggregator:o});return x.jsx(fE,{className:v,children:x.jsxs("table",{className:"w-full min-w-max",children:[x.jsx(p_,{children:x.jsxs("tr",{children:[l.map(U=>x.jsx(mn,{children:String(U)},String(U))),O.map((U,$)=>x.jsx(mn,{align:"right",nowrap:!0,children:U.map(X=>String(X??"")).join(" / ")},`col-${$}`)),f&&x.jsx(mn,{align:"right",children:"Total"})]})}),x.jsxs(m_,{children:[_.map((U,$)=>{const X=cf(U);return x.jsxs(Dm,{className:"text-xs",children:[U.map((q,W)=>x.jsx(jt,{nowrap:!0,children:String(q??"")},`rh-${W}`)),O.map((q,W)=>{const Q=cf(q),he=T[X]?.[Q],xe=he?p(he.value):m;return x.jsx(jt,{align:"right",nowrap:!0,children:xe},`c-${W}`)}),f&&x.jsx(jt,{align:"right",nowrap:!0,medium:!0,children:p(Z[X]??0)})]},`row-${$}`)}),d&&x.jsxs(Dm,{gray:!0,children:[x.jsx(jt,{colSpan:Math.max(1,l.length),semibold:!0,children:"Total"}),O.map((U,$)=>{const X=cf(U);return x.jsx(jt,{align:"right",nowrap:!0,medium:!0,children:p(H[X]??0)},`ct-${$}`)}),f&&x.jsx(jt,{align:"right",nowrap:!0,semibold:!0,children:p(B)})]})]})]})})}const Mm=({label:n,isActive:l,onClick:r,title:u})=>x.jsx("button",{type:"button",role:"tab","aria-selected":l,title:u,onClick:r,className:`text-xs font-medium px-2 py-0.5 border-b-2 focus:outline-none cursor-pointer transition-colors ${l?"text-gray-900 border-gray-900 bg-transparent":"text-gray-700 hover:text-gray-900 hover:border-gray-400 border-transparent bg-transparent hover:bg-gray-100"}`,children:n});function CE(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function Cm(n,l){if(typeof l=="number")return`${n}[${l}]`;if(/^[A-Za-z_][A-Za-z0-9_]*$/.test(l))return`${n}.${l}`;const u=l.replace(/'/g,"\\'");return`${n}['${u}']`}function UE(n,l="$"){const r={},u=(o,f)=>{if(o===null||typeof o=="string"||typeof o=="number"||typeof o=="boolean"){r[f]=o;return}if(Array.isArray(o)){for(let d=0;d{const l=()=>{n()};return x.jsx("div",{className:"bg-white border border-gray-200 p-8 text-center",children:x.jsxs("div",{className:"max-w-sm mx-auto",children:[x.jsx("div",{className:"text-gray-400 mb-4",children:x.jsx("svg",{className:"mx-auto h-12 w-12",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1,d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})})}),x.jsx("h3",{className:"text-sm font-medium text-gray-900 mb-2",children:"No evaluation data available"}),x.jsx("p",{className:"text-xs text-gray-500 mb-4",children:"No evaluation rows have been loaded yet. Click refresh to reconnect and load data."}),x.jsx(Hn,{onClick:l,size:"md",children:"Refresh"})]})})},Um=Ge(({onRefresh:n})=>{const l=()=>ot.setAllRowsExpanded(!0),r=()=>ot.setAllRowsExpanded(!1),u=Kn(),o=Cf(),f=m=>m.endsWith("/pivot")?"pivot":"table",[d,v]=z.useState(f(u.pathname));z.useEffect(()=>{v(f(u.pathname))},[u.pathname]);const p=z.useMemo(()=>ot.sortedDataset.map(_=>UE(_)),[ot.sortedDataset]);return x.jsxs("div",{className:"text-sm",children:[x.jsxs("div",{className:"mb-4 bg-white border border-gray-200 p-3",children:[x.jsx("h2",{className:"text-sm font-semibold text-gray-900 mb-2",children:"Dataset Summary"}),x.jsxs("div",{className:"text-xs",children:[x.jsx("span",{className:"font-semibold text-gray-700",children:"Total Rows:"})," ",ot.totalCount]})]}),ot.totalCount===0?x.jsx(ZE,{onRefresh:n}):x.jsxs("div",{className:"bg-white border border-gray-200",children:[x.jsx("div",{className:"px-3 pt-2 border-b border-gray-200",children:x.jsxs("div",{className:"flex justify-between h-8",children:[x.jsxs("div",{id:"tabs",className:"flex gap-1",children:[x.jsx(Mm,{label:"Table",isActive:d==="table",onClick:()=>{v("table"),o("/table")},title:"View table"}),x.jsx(Mm,{label:"Pivot",isActive:d==="pivot",onClick:()=>{v("pivot"),o("/pivot")},title:"View pivot"})]}),d==="table"&&x.jsxs("div",{className:"flex gap-2 pb-2",children:[x.jsx(Hn,{onClick:l,size:"sm",variant:"secondary",children:"Expand All"}),x.jsx(Hn,{onClick:r,size:"sm",variant:"secondary",children:"Collapse All"})]})]})}),x.jsx("div",{className:"p-3",children:d==="table"?x.jsx(NE,{}):x.jsxs("div",{children:[x.jsx("div",{className:"text-xs text-gray-600 mb-2",children:"Showing pivot of flattened rows (JSONPath keys). Defaults: rows by eval name and status; columns by model; values average score."}),x.jsx(ME,{data:p,rowFields:["$.eval_metadata.name","$.eval_metadata.status"],columnFields:["$.input_metadata.completion_params.model"],valueField:"$.evaluation_result.score",aggregator:"avg",showRowTotals:!0,showColumnTotals:!0})]})})]})]})});function M(n,l,r){function u(v,p){var m;Object.defineProperty(v,"_zod",{value:v._zod??{},enumerable:!1}),(m=v._zod).traits??(m.traits=new Set),v._zod.traits.add(n),l(v,p);for(const _ in d.prototype)_ in v||Object.defineProperty(v,_,{value:d.prototype[_].bind(v)});v._zod.constr=d,v._zod.def=p}const o=r?.Parent??Object;class f extends o{}Object.defineProperty(f,"name",{value:n});function d(v){var p;const m=r?.Parent?new f:this;u(m,v),(p=m._zod).deferred??(p.deferred=[]);for(const _ of m._zod.deferred)_();return m}return Object.defineProperty(d,"init",{value:u}),Object.defineProperty(d,Symbol.hasInstance,{value:v=>r?.Parent&&v instanceof r.Parent?!0:v?._zod?.traits?.has(n)}),Object.defineProperty(d,"name",{value:n}),d}class sr extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const __={};function Sa(n){return __}function BE(n){const l=Object.values(n).filter(u=>typeof u=="number");return Object.entries(n).filter(([u,o])=>l.indexOf(+u)===-1).map(([u,o])=>o)}function wf(n,l){return typeof l=="bigint"?l.toString():l}function Gf(n){return{get value(){{const l=n();return Object.defineProperty(this,"value",{value:l}),l}}}}function Xf(n){return n==null}function Kf(n){const l=n.startsWith("^")?1:0,r=n.endsWith("$")?n.length-1:n.length;return n.slice(l,r)}function LE(n,l){const r=(n.toString().split(".")[1]||"").length,u=l.toString();let o=(u.split(".")[1]||"").length;if(o===0&&/\d?e-\d?/.test(u)){const p=u.match(/\d?e-(\d?)/);p?.[1]&&(o=Number.parseInt(p[1]))}const f=r>o?r:o,d=Number.parseInt(n.toFixed(f).replace(".","")),v=Number.parseInt(l.toFixed(f).replace(".",""));return d%v/10**f}const Zm=Symbol("evaluating");function Re(n,l,r){let u;Object.defineProperty(n,l,{get(){if(u!==Zm)return u===void 0&&(u=Zm,u=r()),u},set(o){Object.defineProperty(n,l,{value:o})},configurable:!0})}function Ia(n,l,r){Object.defineProperty(n,l,{value:r,writable:!0,enumerable:!0,configurable:!0})}function ei(...n){const l={};for(const r of n){const u=Object.getOwnPropertyDescriptors(r);Object.assign(l,u)}return Object.defineProperties({},l)}function Bm(n){return JSON.stringify(n)}const y_="captureStackTrace"in Error?Error.captureStackTrace:(...n)=>{};function so(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}const $E=Gf(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const n=Function;return new n(""),!0}catch{return!1}});function co(n){if(so(n)===!1)return!1;const l=n.constructor;if(l===void 0)return!0;const r=l.prototype;return!(so(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}const kE=new Set(["string","number","symbol"]);function Ql(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function el(n,l,r){const u=new n._zod.constr(l??n._zod.def);return(!l||r?.parent)&&(u._zod.parent=n),u}function F(n){const l=n;if(!l)return{};if(typeof l=="string")return{error:()=>l};if(l?.message!==void 0){if(l?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");l.error=l.message}return delete l.message,typeof l.error=="string"?{...l,error:()=>l.error}:l}function HE(n){return Object.keys(n).filter(l=>n[l]._zod.optin==="optional"&&n[l]._zod.optout==="optional")}const qE={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function VE(n,l){const r=n._zod.def,u=ei(n._zod.def,{get shape(){const o={};for(const f in l){if(!(f in r.shape))throw new Error(`Unrecognized key: "${f}"`);l[f]&&(o[f]=r.shape[f])}return Ia(this,"shape",o),o},checks:[]});return el(n,u)}function YE(n,l){const r=n._zod.def,u=ei(n._zod.def,{get shape(){const o={...n._zod.def.shape};for(const f in l){if(!(f in r.shape))throw new Error(`Unrecognized key: "${f}"`);l[f]&&delete o[f]}return Ia(this,"shape",o),o},checks:[]});return el(n,u)}function GE(n,l){if(!co(l))throw new Error("Invalid input to extend: expected a plain object");const r=ei(n._zod.def,{get shape(){const u={...n._zod.def.shape,...l};return Ia(this,"shape",u),u},checks:[]});return el(n,r)}function XE(n,l){const r=ei(n._zod.def,{get shape(){const u={...n._zod.def.shape,...l._zod.def.shape};return Ia(this,"shape",u),u},get catchall(){return l._zod.def.catchall},checks:[]});return el(n,r)}function KE(n,l,r){const u=ei(l._zod.def,{get shape(){const o=l._zod.def.shape,f={...o};if(r)for(const d in r){if(!(d in o))throw new Error(`Unrecognized key: "${d}"`);r[d]&&(f[d]=n?new n({type:"optional",innerType:o[d]}):o[d])}else for(const d in o)f[d]=n?new n({type:"optional",innerType:o[d]}):o[d];return Ia(this,"shape",f),f},checks:[]});return el(l,u)}function QE(n,l,r){const u=ei(l._zod.def,{get shape(){const o=l._zod.def.shape,f={...o};if(r)for(const d in r){if(!(d in f))throw new Error(`Unrecognized key: "${d}"`);r[d]&&(f[d]=new n({type:"nonoptional",innerType:o[d]}))}else for(const d in o)f[d]=new n({type:"nonoptional",innerType:o[d]});return Ia(this,"shape",f),f},checks:[]});return el(l,u)}function ar(n,l=0){for(let r=l;r{var u;return(u=r).path??(u.path=[]),r.path.unshift(n),r})}function Hu(n){return typeof n=="string"?n:n?.message}function xa(n,l,r){const u={...n,path:n.path??[]};if(!n.message){const o=Hu(n.inst?._zod.def?.error?.(n))??Hu(l?.error?.(n))??Hu(r.customError?.(n))??Hu(r.localeError?.(n))??"Invalid input";u.message=o}return delete u.inst,delete u.continue,l?.reportInput||delete u.input,u}function Qf(n){return Array.isArray(n)?"array":typeof n=="string"?"string":"unknown"}function cr(...n){const[l,r,u]=n;return typeof l=="string"?{message:l,code:"custom",input:r,inst:u}:{...l}}const b_=(n,l)=>{n.name="$ZodError",Object.defineProperty(n,"_zod",{value:n._zod,enumerable:!1}),Object.defineProperty(n,"issues",{value:l,enumerable:!1}),n.message=JSON.stringify(l,wf,2),Object.defineProperty(n,"toString",{value:()=>n.message,enumerable:!1})},S_=M("$ZodError",b_),x_=M("$ZodError",b_,{Parent:Error});function JE(n,l=r=>r.message){const r={},u=[];for(const o of n.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(l(o))):u.push(l(o));return{formErrors:u,fieldErrors:r}}function PE(n,l){const r=l||function(f){return f.message},u={_errors:[]},o=f=>{for(const d of f.issues)if(d.code==="invalid_union"&&d.errors.length)d.errors.map(v=>o({issues:v}));else if(d.code==="invalid_key")o({issues:d.issues});else if(d.code==="invalid_element")o({issues:d.issues});else if(d.path.length===0)u._errors.push(r(d));else{let v=u,p=0;for(;p(l,r,u,o)=>{const f=u?Object.assign(u,{async:!1}):{async:!1},d=l._zod.run({value:r,issues:[]},f);if(d instanceof Promise)throw new sr;if(d.issues.length){const v=new(o?.Err??n)(d.issues.map(p=>xa(p,f,Sa())));throw y_(v,o?.callee),v}return d.value},FE=n=>async(l,r,u,o)=>{const f=u?Object.assign(u,{async:!0}):{async:!0};let d=l._zod.run({value:r,issues:[]},f);if(d instanceof Promise&&(d=await d),d.issues.length){const v=new(o?.Err??n)(d.issues.map(p=>xa(p,f,Sa())));throw y_(v,o?.callee),v}return d.value},E_=n=>(l,r,u)=>{const o=u?{...u,async:!1}:{async:!1},f=l._zod.run({value:r,issues:[]},o);if(f instanceof Promise)throw new sr;return f.issues.length?{success:!1,error:new(n??S_)(f.issues.map(d=>xa(d,o,Sa())))}:{success:!0,data:f.value}},IE=E_(x_),O_=n=>async(l,r,u)=>{const o=u?Object.assign(u,{async:!0}):{async:!0};let f=l._zod.run({value:r,issues:[]},o);return f instanceof Promise&&(f=await f),f.issues.length?{success:!1,error:new n(f.issues.map(d=>xa(d,o,Sa())))}:{success:!0,data:f.value}},eO=O_(x_),tO=/^[cC][^\s-]{8,}$/,nO=/^[0-9a-z]+$/,aO=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,lO=/^[0-9a-vA-V]{20}$/,iO=/^[A-Za-z0-9]{27}$/,rO=/^[a-zA-Z0-9_-]{21}$/,uO=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,oO=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Lm=n=>n?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${n}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/,sO=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,cO="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function fO(){return new RegExp(cO,"u")}const dO=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,hO=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,vO=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,pO=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,mO=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,A_=/^[A-Za-z0-9_-]*$/,gO=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,_O=/^\+(?:[0-9]){6,14}[0-9]$/,w_="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",yO=new RegExp(`^${w_}$`);function T_(n){const l="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof n.precision=="number"?n.precision===-1?`${l}`:n.precision===0?`${l}:[0-5]\\d`:`${l}:[0-5]\\d\\.\\d{${n.precision}}`:`${l}(?::[0-5]\\d(?:\\.\\d+)?)?`}function bO(n){return new RegExp(`^${T_(n)}$`)}function SO(n){const l=T_({precision:n.precision}),r=["Z"];n.local&&r.push(""),n.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const u=`${l}(?:${r.join("|")})`;return new RegExp(`^${w_}T(?:${u})$`)}const xO=n=>{const l=n?`[\\s\\S]{${n?.minimum??0},${n?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${l}$`)},EO=/^\d+$/,OO=/^-?\d+(?:\.\d+)?/i,AO=/true|false/i,wO=/^[^A-Z]*$/,TO=/^[^a-z]*$/,St=M("$ZodCheck",(n,l)=>{var r;n._zod??(n._zod={}),n._zod.def=l,(r=n._zod).onattach??(r.onattach=[])}),R_={number:"number",bigint:"bigint",object:"date"},z_=M("$ZodCheckLessThan",(n,l)=>{St.init(n,l);const r=R_[typeof l.value];n._zod.onattach.push(u=>{const o=u._zod.bag,f=(l.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;l.value{(l.inclusive?u.value<=l.value:u.value{St.init(n,l);const r=R_[typeof l.value];n._zod.onattach.push(u=>{const o=u._zod.bag,f=(l.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;l.value>f&&(l.inclusive?o.minimum=l.value:o.exclusiveMinimum=l.value)}),n._zod.check=u=>{(l.inclusive?u.value>=l.value:u.value>l.value)||u.issues.push({origin:r,code:"too_small",minimum:l.value,input:u.value,inclusive:l.inclusive,inst:n,continue:!l.abort})}}),RO=M("$ZodCheckMultipleOf",(n,l)=>{St.init(n,l),n._zod.onattach.push(r=>{var u;(u=r._zod.bag).multipleOf??(u.multipleOf=l.value)}),n._zod.check=r=>{if(typeof r.value!=typeof l.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%l.value===BigInt(0):LE(r.value,l.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:l.value,input:r.value,inst:n,continue:!l.abort})}}),zO=M("$ZodCheckNumberFormat",(n,l)=>{St.init(n,l),l.format=l.format||"float64";const r=l.format?.includes("int"),u=r?"int":"number",[o,f]=qE[l.format];n._zod.onattach.push(d=>{const v=d._zod.bag;v.format=l.format,v.minimum=o,v.maximum=f,r&&(v.pattern=EO)}),n._zod.check=d=>{const v=d.value;if(r){if(!Number.isInteger(v)){d.issues.push({expected:u,format:l.format,code:"invalid_type",continue:!1,input:v,inst:n});return}if(!Number.isSafeInteger(v)){v>0?d.issues.push({input:v,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:n,origin:u,continue:!l.abort}):d.issues.push({input:v,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:n,origin:u,continue:!l.abort});return}}vf&&d.issues.push({origin:"number",input:v,code:"too_big",maximum:f,inst:n})}}),DO=M("$ZodCheckMaxLength",(n,l)=>{var r;St.init(n,l),(r=n._zod.def).when??(r.when=u=>{const o=u.value;return!Xf(o)&&o.length!==void 0}),n._zod.onattach.push(u=>{const o=u._zod.bag.maximum??Number.POSITIVE_INFINITY;l.maximum{const o=u.value;if(o.length<=l.maximum)return;const d=Qf(o);u.issues.push({origin:d,code:"too_big",maximum:l.maximum,inclusive:!0,input:o,inst:n,continue:!l.abort})}}),NO=M("$ZodCheckMinLength",(n,l)=>{var r;St.init(n,l),(r=n._zod.def).when??(r.when=u=>{const o=u.value;return!Xf(o)&&o.length!==void 0}),n._zod.onattach.push(u=>{const o=u._zod.bag.minimum??Number.NEGATIVE_INFINITY;l.minimum>o&&(u._zod.bag.minimum=l.minimum)}),n._zod.check=u=>{const o=u.value;if(o.length>=l.minimum)return;const d=Qf(o);u.issues.push({origin:d,code:"too_small",minimum:l.minimum,inclusive:!0,input:o,inst:n,continue:!l.abort})}}),jO=M("$ZodCheckLengthEquals",(n,l)=>{var r;St.init(n,l),(r=n._zod.def).when??(r.when=u=>{const o=u.value;return!Xf(o)&&o.length!==void 0}),n._zod.onattach.push(u=>{const o=u._zod.bag;o.minimum=l.length,o.maximum=l.length,o.length=l.length}),n._zod.check=u=>{const o=u.value,f=o.length;if(f===l.length)return;const d=Qf(o),v=f>l.length;u.issues.push({origin:d,...v?{code:"too_big",maximum:l.length}:{code:"too_small",minimum:l.length},inclusive:!0,exact:!0,input:u.value,inst:n,continue:!l.abort})}}),To=M("$ZodCheckStringFormat",(n,l)=>{var r,u;St.init(n,l),n._zod.onattach.push(o=>{const f=o._zod.bag;f.format=l.format,l.pattern&&(f.patterns??(f.patterns=new Set),f.patterns.add(l.pattern))}),l.pattern?(r=n._zod).check??(r.check=o=>{l.pattern.lastIndex=0,!l.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:l.format,input:o.value,...l.pattern?{pattern:l.pattern.toString()}:{},inst:n,continue:!l.abort})}):(u=n._zod).check??(u.check=()=>{})}),MO=M("$ZodCheckRegex",(n,l)=>{To.init(n,l),n._zod.check=r=>{l.pattern.lastIndex=0,!l.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:l.pattern.toString(),inst:n,continue:!l.abort})}}),CO=M("$ZodCheckLowerCase",(n,l)=>{l.pattern??(l.pattern=wO),To.init(n,l)}),UO=M("$ZodCheckUpperCase",(n,l)=>{l.pattern??(l.pattern=TO),To.init(n,l)}),ZO=M("$ZodCheckIncludes",(n,l)=>{St.init(n,l);const r=Ql(l.includes),u=new RegExp(typeof l.position=="number"?`^.{${l.position}}${r}`:r);l.pattern=u,n._zod.onattach.push(o=>{const f=o._zod.bag;f.patterns??(f.patterns=new Set),f.patterns.add(u)}),n._zod.check=o=>{o.value.includes(l.includes,l.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:l.includes,input:o.value,inst:n,continue:!l.abort})}}),BO=M("$ZodCheckStartsWith",(n,l)=>{St.init(n,l);const r=new RegExp(`^${Ql(l.prefix)}.*`);l.pattern??(l.pattern=r),n._zod.onattach.push(u=>{const o=u._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),n._zod.check=u=>{u.value.startsWith(l.prefix)||u.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:l.prefix,input:u.value,inst:n,continue:!l.abort})}}),LO=M("$ZodCheckEndsWith",(n,l)=>{St.init(n,l);const r=new RegExp(`.*${Ql(l.suffix)}$`);l.pattern??(l.pattern=r),n._zod.onattach.push(u=>{const o=u._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),n._zod.check=u=>{u.value.endsWith(l.suffix)||u.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:l.suffix,input:u.value,inst:n,continue:!l.abort})}}),$O=M("$ZodCheckOverwrite",(n,l)=>{St.init(n,l),n._zod.check=r=>{r.value=l.tx(r.value)}});class kO{constructor(l=[]){this.content=[],this.indent=0,this&&(this.args=l)}indented(l){this.indent+=1,l(this),this.indent-=1}write(l){if(typeof l=="function"){l(this,{execution:"sync"}),l(this,{execution:"async"});return}const u=l.split(` + */var _m;function Qx(){if(_m)return rf;_m=1;var n=ho();function l(O,T){return O===T&&(O!==0||1/O===1/T)||O!==O&&T!==T}var r=typeof Object.is=="function"?Object.is:l,u=n.useState,o=n.useEffect,f=n.useLayoutEffect,d=n.useDebugValue;function v(O,T){var Z=T(),H=u({inst:{value:Z,getSnapshot:T}}),B=H[0].inst,U=H[1];return f(function(){B.value=Z,B.getSnapshot=T,p(B)&&U({inst:B})},[O,Z,T]),o(function(){return p(B)&&U({inst:B}),O(function(){p(B)&&U({inst:B})})},[O]),d(Z),Z}function p(O){var T=O.getSnapshot;O=O.value;try{var Z=T();return!r(O,Z)}catch{return!0}}function m(O,T){return T()}var _=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?m:v;return rf.useSyncExternalStore=n.useSyncExternalStore!==void 0?n.useSyncExternalStore:_,rf}var ym;function Jx(){return ym||(ym=1,lf.exports=Qx()),lf.exports}var Px=Jx();function bm(n){n.reaction=new xn("observer".concat(n.name),function(){var l;n.stateVersion=Symbol(),(l=n.onStoreChange)===null||l===void 0||l.call(n)})}function Wx(n,l){l===void 0&&(l="observed");var r=Gl.useRef(null);if(!r.current){var u={reaction:null,onStoreChange:null,stateVersion:Symbol(),name:l,subscribe:function(v){return or.unregister(u),u.onStoreChange=v,u.reaction||(bm(u),u.stateVersion=Symbol()),function(){var p;u.onStoreChange=null,(p=u.reaction)===null||p===void 0||p.dispose(),u.reaction=null}},getSnapshot:function(){return u.stateVersion}};r.current=u}var o=r.current;o.reaction||(bm(o),or.register(r,o,o)),Gl.useDebugValue(o.reaction,Vx),Px.useSyncExternalStore(o.subscribe,o.getSnapshot,o.getSnapshot);var f,d;if(o.reaction.track(function(){try{f=n()}catch(v){d=v}}),d)throw d;return f}var uf,of,f_=typeof Symbol=="function"&&Symbol.for,Fx=(of=(uf=Object.getOwnPropertyDescriptor(function(){},"name"))===null||uf===void 0?void 0:uf.configurable)!==null&&of!==void 0?of:!1,Sm=f_?Symbol.for("react.forward_ref"):typeof z.forwardRef=="function"&&z.forwardRef(function(n){return null}).$$typeof,xm=f_?Symbol.for("react.memo"):typeof z.memo=="function"&&z.memo(function(n){return null}).$$typeof;function Ix(n,l){var r;if(xm&&n.$$typeof===xm)throw new Error("[mobx-react-lite] You are trying to use `observer` on a function component wrapped in either another `observer` or `React.memo`. The observer already applies 'React.memo' for you.");var u=(r=void 0)!==null&&r!==void 0?r:!1,o=n,f=n.displayName||n.name;if(Sm&&n.$$typeof===Sm&&(u=!0,o=n.render,typeof o!="function"))throw new Error("[mobx-react-lite] `render` property of ForwardRef was not a function");var d=function(v,p){return Wx(function(){return o(v,p)},f)};return d.displayName=n.displayName,Fx&&Object.defineProperty(d,"name",{value:n.name,writable:!0,configurable:!0}),n.contextTypes&&(d.contextTypes=n.contextTypes),u&&(d=z.forwardRef(d)),d=z.memo(d),tE(n,d),d}var eE={$$typeof:!0,render:!0,compare:!0,type:!0,displayName:!0};function tE(n,l){Object.keys(n).forEach(function(r){eE[r]||Object.defineProperty(l,r,Object.getOwnPropertyDescriptor(n,r))})}var sf;qx(YS.unstable_batchedUpdates);sf=or.finalizeAllImmediately;function nE(n,l){if(Em(n,l))return!0;if(typeof n!="object"||n===null||typeof l!="object"||l===null)return!1;var r=Object.keys(n),u=Object.keys(l);if(r.length!==u.length)return!1;for(var o=0;o2?u-2:0),f=2;f {}` or `render = function() {}` is not supported.")}l.render=function(){return Object.defineProperty(this,"render",{configurable:!1,writable:!1,value:rE.call(this,u)}),this.render()};var f=l.componentDidMount;return l.componentDidMount=function(){var d=this,v=Of(this);return v.mounted=!0,or.unregister(this),v.forceUpdate=function(){return d.forceUpdate()},(!v.reaction||v.reactionInvalidatedBeforeMount)&&v.forceUpdate(),f?.apply(this,arguments)},lE(l,"componentWillUnmount",function(){var d,v=Of(this);(d=v.reaction)==null||d.dispose(),v.reaction=null,v.forceUpdate=null,v.mounted=!1,v.reactionInvalidatedBeforeMount=!1}),n}function Af(n){return n.displayName||n.name||""}function rE(n){var l=n.bind(this),r=Of(this);function u(){r.reaction||(r.reaction=uE(r),r.mounted||or.register(this,r,this));var o=void 0,f=void 0;if(r.reaction.track(function(){try{f=X1(!1,l)}catch(d){o=d}}),o)throw o;return f}return u}function uE(n){return new xn(n.name+".render()",function(){if(!n.mounted){n.reactionInvalidatedBeforeMount=!0;return}try{n.forceUpdate==null||n.forceUpdate()}catch{var l;(l=n.reaction)==null||l.dispose(),n.reaction=null}})}function zm(n,l){return this.state!==l?!0:!nE(this.props,n)}function Ge(n,l){return n.isMobxInjector===!0&&console.warn("Mobx observer: You are trying to use `observer` on a component that already has `inject`. Please apply `observer` before applying `inject`"),Object.prototype.isPrototypeOf.call(z.Component,n)||Object.prototype.isPrototypeOf.call(z.PureComponent,n)?iE(n):Ix(n)}Gl.version.split(".")[0];if(!z.Component)throw new Error("mobx-react requires React to be available");if(!at)throw new Error("mobx-react requires mobx to be available");const Hn=Gl.forwardRef(({className:n="",variant:l="secondary",size:r="sm",children:u,...o},f)=>{const d="border text-xs font-medium focus:outline-none",v={primary:"border-gray-300 bg-gray-100 text-gray-700 hover:bg-gray-200",secondary:"border-gray-300 bg-gray-100 text-gray-700 hover:bg-gray-200"},p={sm:"px-2 py-0.5",md:"px-3 py-1"};return x.jsx("button",{ref:f,className:`${d} ${v[l]} ${p[r]} ${n}`,style:{boxShadow:"none"},...o,children:u})});Hn.displayName="Button";const oE=({message:n})=>{const[l,r]=z.useState(!1),u=n.role==="user",o=n.role==="system",f=n.role==="tool",d=n.tool_calls&&n.tool_calls.length>0,v=n.function_call,m=typeof n.content=="string"?n.content:Array.isArray(n.content)?n.content.map((T,Z)=>T.type==="text"?T.text:JSON.stringify(T)).join(""):JSON.stringify(n.content),_=m.length>200,O=_&&!l?m.substring(0,200)+"...":m;return x.jsx("div",{className:`flex ${u?"justify-end":"justify-start"} mb-1`,children:x.jsxs("div",{className:`max-w-sm lg:max-w-md xl:max-w-lg px-2 py-1 border text-xs ${u?"bg-blue-50 border-blue-200 text-blue-900":o?"bg-gray-50 border-gray-200 text-gray-800":f?"bg-green-50 border-green-200 text-green-900":"bg-yellow-50 border-yellow-200 text-yellow-900"}`,children:[x.jsx("div",{className:"font-semibold text-xs mb-0.5 capitalize",children:n.role}),x.jsx("div",{className:"whitespace-pre-wrap break-words overflow-hidden text-xs",children:O}),_&&x.jsx("button",{onClick:()=>r(!l),className:`mt-1 text-xs underline hover:no-underline ${u?"text-blue-700":o?"text-gray-600":f?"text-green-700":"text-yellow-700"}`,children:l?"Show less":"Show more"}),d&&n.tool_calls&&x.jsxs("div",{className:`mt-2 pt-1 border-t ${f?"border-green-200":"border-yellow-200"}`,children:[x.jsx("div",{className:`font-semibold text-xs mb-0.5 ${f?"text-green-700":"text-yellow-700"}`,children:"Tool Calls:"}),n.tool_calls.map((T,Z)=>x.jsxs("div",{className:`mb-1 p-1 border rounded text-xs ${f?"bg-green-100 border-green-200":"bg-yellow-100 border-yellow-200"}`,children:[x.jsx("div",{className:`font-semibold mb-0.5 text-xs ${f?"text-green-800":"text-yellow-800"}`,children:T.function.name}),x.jsx("div",{className:`font-mono text-xs break-all overflow-hidden ${f?"text-green-700":"text-yellow-700"}`,children:T.function.arguments})]},Z))]}),v&&n.function_call&&x.jsxs("div",{className:`mt-2 pt-1 border-t ${f?"border-green-200":"border-yellow-200"}`,children:[x.jsx("div",{className:`font-semibold text-xs mb-0.5 ${f?"text-green-700":"text-yellow-700"}`,children:"Function Call:"}),x.jsxs("div",{className:`p-1 border rounded text-xs ${f?"bg-green-100 border-green-200":"bg-yellow-100 border-yellow-200"}`,children:[x.jsx("div",{className:`font-semibold mb-0.5 text-xs ${f?"text-green-800":"text-yellow-800"}`,children:n.function_call.name}),x.jsx("div",{className:`font-mono text-xs break-all overflow-hidden ${f?"text-green-700":"text-yellow-700"}`,children:n.function_call.arguments})]})]})]})})},sE=({messages:n})=>{const[l,r]=z.useState(600),[u,o]=z.useState(400),[f,d]=z.useState(!1),[v,p]=z.useState(!1),[m,_]=z.useState(0),[O,T]=z.useState(0),[Z,H]=z.useState(0),[B,U]=z.useState(0),$=z.useRef(null),X=z.useRef(null),q=z.useRef(null),W=z.useRef(null),Q=z.useRef(0);z.useEffect(()=>{if(Q.current===0){Q.current=n.length;return}n.length>0&&n.length>Q.current&&X.current&&X.current.scrollTo({top:X.current.scrollHeight,behavior:"smooth"}),Q.current=n.length},[n]),z.useEffect(()=>{const ae=Fe=>{if(f){Fe.preventDefault();const Ke=Fe.clientX-Z,Wt=m+Ke,N=($.current?.closest(".flex")?.clientWidth||window.innerWidth)*.66;r(Math.max(300,Math.min(N,Wt)))}},qe=()=>{d(!1)};return f&&(document.addEventListener("mousemove",ae),document.addEventListener("mouseup",qe)),()=>{document.removeEventListener("mousemove",ae),document.removeEventListener("mouseup",qe)}},[f,Z,m]),z.useEffect(()=>{const ae=Fe=>{if(v){Fe.preventDefault();const Ke=Fe.clientY-B,Wt=O+Ke;o(Math.max(200,Math.min(800,Wt)))}},qe=()=>{p(!1)};return v&&(document.addEventListener("mousemove",ae),document.addEventListener("mouseup",qe)),()=>{document.removeEventListener("mousemove",ae),document.removeEventListener("mouseup",qe)}},[v,B,O]);const he=ae=>{ae.preventDefault(),ae.stopPropagation(),H(ae.clientX),_(l),d(!0)},xe=ae=>{ae.preventDefault(),ae.stopPropagation(),U(ae.clientY),T(u),p(!0)},Xe=ae=>{ae.preventDefault(),ae.stopPropagation(),H(ae.clientX),U(ae.clientY),_(l),T(u),d(!0),p(!0)};return x.jsxs("div",{ref:$,className:"relative",style:{width:`${l}px`},children:[x.jsx("div",{ref:X,className:"bg-white border border-gray-200 p-4 overflow-y-auto relative",style:{height:`${u}px`},children:n.map((ae,qe)=>x.jsx(oE,{message:ae},qe))}),x.jsx("div",{ref:W,className:"absolute left-0 w-full h-1 bg-gray-300 cursor-row-resize hover:bg-gray-400 transition-colors select-none",style:{top:`${u}px`},onMouseDown:xe,onDragStart:ae=>ae.preventDefault()}),x.jsx("div",{ref:q,className:"absolute top-0 right-0 w-1 bg-gray-300 cursor-col-resize hover:bg-gray-400 transition-colors select-none",style:{height:`${u}px`},onMouseDown:he,onDragStart:ae=>ae.preventDefault()}),x.jsx("div",{className:"absolute w-3 h-3 bg-gray-300 cursor-nw-resize hover:bg-gray-400 transition-colors select-none",style:{top:`${u-8}px`,right:"0px"},onMouseDown:Xe,onDragStart:ae=>ae.preventDefault()})]})},Fa=({title:n,data:l,defaultExpanded:r=!1})=>{const[u,o]=z.useState(r);return!l||Object.keys(l).length===0?null:x.jsxs("div",{className:"mb-2",children:[x.jsxs("div",{className:"flex items-center justify-between cursor-pointer hover:bg-gray-50 p-1 rounded",onClick:()=>o(!u),children:[x.jsx("h4",{className:"font-semibold text-xs text-gray-700",children:n}),x.jsx("svg",{className:`h-3 w-3 text-gray-500 transition-transform duration-200 ${u?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),u&&x.jsx("div",{className:"border border-gray-200 p-2 text-xs bg-white mt-1",children:x.jsx("pre",{className:"whitespace-pre-wrap overflow-x-auto",children:JSON.stringify(l,null,1)})})]})},cE=({color:n})=>x.jsx("div",{className:`animate-spin w-1.5 h-1.5 rounded-full border border-current ${n} border-t-transparent`}),v_=({status:n,className:l="",showSpinner:r=!1})=>{const o=(d=>{switch(d.toLowerCase()){case"connected":return{dotColor:"bg-green-500",textColor:"text-green-700",text:"Connected"};case"disconnected":return{dotColor:"bg-red-500",textColor:"text-red-700",text:"Disconnected"};case"finished":return{dotColor:"bg-green-500",textColor:"text-green-700",text:"finished"};case"running":return{dotColor:"bg-blue-500",textColor:"text-blue-700",text:"running"};case"error":return{dotColor:"bg-red-500",textColor:"text-red-700",text:"error"};case"stopped":return{dotColor:"bg-yellow-500",textColor:"text-yellow-700",text:"stopped"};default:return{dotColor:"bg-gray-500",textColor:"text-gray-700",text:d}}})(n),f=r&&n.toLowerCase()==="running";return x.jsxs("div",{className:`inline-flex items-center gap-1.5 text-xs font-medium ${o.textColor} ${l}`,children:[f?x.jsx(cE,{color:o.textColor}):x.jsx("div",{className:`w-1.5 h-1.5 rounded-full ${o.dotColor}`}),o.text]})};function fE({children:n,className:l=""}){return x.jsx("div",{className:`bg-white border border-gray-200 overflow-x-auto ${l}`,children:n})}function p_({children:n,className:l=""}){return x.jsx("thead",{className:`bg-gray-50 border-b border-gray-200 ${l}`,children:n})}function m_({children:n,className:l=""}){return x.jsx("tbody",{className:`divide-y divide-gray-200 ${l}`,children:n})}function mn({children:n,className:l="",align:r="left",nowrap:u=!1}){const o={left:"text-left",center:"text-center",right:"text-right"};return x.jsx("th",{className:`px-3 py-2 text-xs font-semibold text-gray-700 ${o[r]} ${u?"whitespace-nowrap":""} ${l}`,children:n})}function Dm({children:n,className:l="",gray:r=!1}){return x.jsx("tr",{className:`${r?"bg-gray-50":""} ${l}`,children:n})}function dE({children:n,className:l="",onClick:r,interactive:u=!0}){const o=u?"hover:bg-gray-50 cursor-pointer":"";return x.jsx("tr",{className:`text-sm ${o} ${l}`,onClick:r,children:n})}function jt({children:n,className:l="",align:r="left",nowrap:u=!1,medium:o=!1,semibold:f=!1,colSpan:d}){const v={left:"text-left",center:"text-center",right:"text-right"},p=[];return o&&p.push("font-medium"),f&&p.push("font-semibold"),x.jsx("td",{colSpan:d,className:`px-3 py-2 text-gray-900 ${v[r]} ${u?"whitespace-nowrap":""} ${p.join(" ")} ${l}`,children:n})}const hE=Ge(({rolloutId:n})=>{if(!n)throw new Error("Rollout ID is required");const l=ot.isRowExpanded(n);return x.jsx("div",{className:"w-4 h-4 flex items-center justify-center",children:x.jsx("svg",{className:`h-4 w-4 text-gray-500 transition-transform duration-200 ${l?"rotate-90":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})})}),vE=Ge(({name:n})=>x.jsx("span",{className:"text-gray-900 truncate block",children:n||"N/A"})),pE=Ge(({status:n,showSpinner:l})=>x.jsx("div",{className:"whitespace-nowrap",children:x.jsx(v_,{showSpinner:l,status:n||"N/A"})})),mE=Ge(({rolloutId:n})=>n?x.jsx("span",{className:"font-mono text-gray-900 whitespace-nowrap",children:n}):null),gE=Ge(({model:n})=>x.jsx("span",{className:"text-gray-900 truncate block",children:n||"N/A"})),_E=Ge(({score:n})=>{const l=n?n>=.8?"text-green-700":n>=.6?"text-yellow-700":"text-red-700":"text-gray-500";return x.jsx("span",{className:`font-mono whitespace-nowrap ${l}`,children:n?.toFixed(3)||"N/A"})}),yE=Ge(({created_at:n})=>{const l=n instanceof Date?n:new Date(n);return x.jsx("span",{className:"text-gray-600 whitespace-nowrap",children:l.toLocaleDateString()+" "+l.toLocaleTimeString()})}),bE=Ge(({data:n})=>x.jsx(Fa,{title:"Eval Metadata",data:n,defaultExpanded:!0})),SE=Ge(({data:n})=>x.jsx(Fa,{title:"Evaluation Result",data:n,defaultExpanded:!0})),xE=Ge(({data:n})=>x.jsx(Fa,{title:"Ground Truth",data:n})),EE=Ge(({data:n})=>x.jsx(Fa,{title:"Usage Stats",data:n})),OE=Ge(({data:n})=>x.jsx(Fa,{title:"Input Metadata",data:n})),AE=Ge(({data:n})=>x.jsx(Fa,{title:"IDs",data:{rollout_id:n.rollout_id,experiment_id:n.experiment_id,invocation_id:n.invocation_id,run_id:n.run_id}})),wE=Ge(({data:n})=>x.jsx(Fa,{title:"Tools",data:n})),TE=Ge(({messages:n})=>x.jsx(sE,{messages:n})),RE=Ge(({row:n,messages:l,eval_metadata:r,evaluation_result:u,ground_truth:o,usage:f,input_metadata:d,tools:v})=>x.jsx("div",{className:"p-4 bg-gray-50",children:x.jsxs("div",{className:"flex gap-3 w-fit",children:[x.jsx("div",{className:"min-w-0",children:x.jsx(TE,{messages:l})}),x.jsxs("div",{className:"w-[500px] flex-shrink-0 space-y-3",children:[x.jsx(bE,{data:r}),x.jsx(SE,{data:u}),x.jsx(AE,{data:n}),x.jsx(xE,{data:o}),x.jsx(EE,{data:f}),x.jsx(OE,{data:d}),x.jsx(wE,{data:v})]})]})})),zE=Ge(({row:n})=>{const l=n.rollout_id,r=ot.isRowExpanded(l),u=()=>ot.toggleRowExpansion(l);return x.jsxs(x.Fragment,{children:[x.jsxs(dE,{onClick:u,children:[x.jsx(jt,{className:"w-8 py-3",children:x.jsx(hE,{rolloutId:l})}),x.jsx(jt,{className:"py-3 text-xs",children:x.jsx(vE,{name:n.eval_metadata?.name})}),x.jsx(jt,{className:"py-3 text-xs",children:x.jsx(pE,{status:n.eval_metadata?.status,showSpinner:n.eval_metadata?.status==="running"})}),x.jsx(jt,{className:"py-3 text-xs",children:x.jsx(mE,{rolloutId:n.rollout_id})}),x.jsx(jt,{className:"py-3 text-xs",children:x.jsx(gE,{model:n.input_metadata.completion_params?.model})}),x.jsx(jt,{className:"py-3 text-xs",children:x.jsx(_E,{score:n.evaluation_result?.score})}),x.jsx(jt,{className:"py-3 text-xs",children:x.jsx(yE,{created_at:n.created_at})})]}),r&&x.jsx("tr",{children:x.jsx("td",{colSpan:8,className:"p-0",children:x.jsx(RE,{row:n,messages:n.messages,eval_metadata:n.eval_metadata,evaluation_result:n.evaluation_result,ground_truth:n.ground_truth,usage:n.usage,input_metadata:n.input_metadata,tools:n.tools})})})]})}),g_=Gl.forwardRef(({className:n="",size:l="sm",children:r,...u},o)=>{const f="border text-xs font-medium focus:outline-none bg-white text-gray-700 border-gray-300 hover:border-gray-400 focus:border-gray-500",d={sm:"px-2 py-0.5",md:"px-3 py-1"};return x.jsx("select",{ref:o,className:`${f} ${d[l]} ${n}`,style:{boxShadow:"none"},...u,children:r})});g_.displayName="Select";const DE=Ge(({currentPage:n,pageSize:l})=>{const r=(n-1)*l,u=r+l,o=ot.sortedDataset.slice(r,u);return x.jsx(m_,{children:o.map((f,d)=>x.jsx(zE,{row:f,index:r+d},f.rollout_id))})}),NE=Ge(()=>{const[n,l]=z.useState(1),[r,u]=z.useState(25),o=ot.sortedDataset.length,f=Math.ceil(o/r),d=(n-1)*r+1,v=Math.min(n*r,o),p=_=>{l(Math.max(1,Math.min(_,f)))},m=_=>{u(_),l(1)};return z.useEffect(()=>{l(1)},[o]),x.jsxs("div",{className:"bg-white border border-gray-200",children:[x.jsxs("div",{className:"px-3 py-2 border-b border-gray-200 bg-gray-50 flex items-center justify-between",children:[x.jsxs("div",{className:"flex items-center gap-4",children:[x.jsxs("div",{className:"text-xs text-gray-600",children:["Showing ",d,"-",v," of ",o," rows"]}),x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx("label",{className:"text-xs text-gray-600",children:"Page size:"}),x.jsxs(g_,{value:r,onChange:_=>m(Number(_.target.value)),size:"sm",children:[x.jsx("option",{value:25,children:"25"}),x.jsx("option",{value:50,children:"50"}),x.jsx("option",{value:100,children:"100"}),x.jsx("option",{value:200,children:"200"})]})]})]}),x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(Hn,{onClick:()=>p(1),disabled:n===1,size:"sm",variant:"secondary",children:"First"}),x.jsx(Hn,{onClick:()=>p(n-1),disabled:n===1,size:"sm",variant:"secondary",children:"Previous"}),x.jsxs("span",{className:"text-xs text-gray-600 px-2",children:["Page ",n," of ",f]}),x.jsx(Hn,{onClick:()=>p(n+1),disabled:n===f,size:"sm",variant:"secondary",children:"Next"}),x.jsx(Hn,{onClick:()=>p(f),disabled:n===f,size:"sm",variant:"secondary",children:"Last"})]})]}),x.jsx("div",{className:"overflow-x-auto",children:x.jsxs("table",{className:"w-full min-w-max",children:[x.jsx(p_,{children:x.jsxs("tr",{children:[x.jsx(mn,{className:"w-8",children:" "}),x.jsx(mn,{children:"Name"}),x.jsx(mn,{children:"Status"}),x.jsx(mn,{children:"Rollout ID"}),x.jsx(mn,{children:"Model"}),x.jsx(mn,{children:"Score"}),x.jsx(mn,{children:"Created"})]})}),x.jsx(DE,{currentPage:n,pageSize:r})]})})]})});function pn(n){return n.map(l=>String(l)).join("||")}function ku(n,l){return l.map(r=>n[r])}function Nm(n){if(typeof n=="number"&&Number.isFinite(n))return n;const l=Number(n);return Number.isFinite(l)?l:null}function jm(n,l,r){return typeof r=="function"?r(n,l):r==="sum"?n.reduce((u,o)=>u+o,0):r==="avg"?n.length===0?0:n.reduce((u,o)=>u+o,0)/n.length:l.length}function jE({data:n,rowFields:l,columnFields:r,valueField:u,aggregator:o="count"}){const f=n.filter(B=>l.every(U=>B[U]!==void 0)),d=[],v=new Set,p=[],m=new Set;for(const B of f){const U=ku(B,l),$=pn(U);v.has($)||(v.add($),d.push(U));const X=ku(B,r),q=pn(X);m.has(q)||(m.add(q),p.push(X))}d.sort((B,U)=>pn(B).localeCompare(pn(U))),p.sort((B,U)=>pn(B).localeCompare(pn(U)));const _={},O={},T={};for(const B of d){const U=pn(B);_[U]={},O[U]=0}for(const B of p){const U=pn(B);T[U]=0}const Z={};for(const B of f){const U=pn(ku(B,l)),$=pn(ku(B,r));Z[U]||(Z[U]={}),Z[U][$]||(Z[U][$]=[]),Z[U][$].push(B)}for(const B of Object.keys(Z))for(const U of Object.keys(Z[B])){const $=Z[B][U],X=[];if(u!=null)for(const W of $){const Q=Nm(W[u]);Q!=null&&X.push(Q)}const q=jm(X,$,o);_[B][U]={value:q,records:$},O[B]+=q,T[U]+=q}let H;{const B=f,U=[];if(u!=null)for(const $ of B){const X=Nm($[u]);X!=null&&U.push(X)}H=jm(U,B,o)}return{rowKeyTuples:d,colKeyTuples:p,cells:_,rowTotals:O,colTotals:T,grandTotal:H}}function cf(n){return n.map(l=>String(l)).join("||")}function ME({data:n,rowFields:l,columnFields:r,valueField:u,aggregator:o="count",showRowTotals:f=!0,showColumnTotals:d=!0,className:v="",formatter:p=_=>_.toLocaleString(void 0,{maximumFractionDigits:3}),emptyValue:m="-"}){const{rowKeyTuples:_,colKeyTuples:O,cells:T,rowTotals:Z,colTotals:H,grandTotal:B}=jE({data:n,rowFields:l,columnFields:r,valueField:u,aggregator:o});return x.jsx(fE,{className:v,children:x.jsxs("table",{className:"w-full min-w-max",children:[x.jsx(p_,{children:x.jsxs("tr",{children:[l.map(U=>x.jsx(mn,{children:String(U)},String(U))),O.map((U,$)=>x.jsx(mn,{align:"right",nowrap:!0,children:U.map(X=>String(X??"")).join(" / ")},`col-${$}`)),f&&x.jsx(mn,{align:"right",children:"Total"})]})}),x.jsxs(m_,{children:[_.map((U,$)=>{const X=cf(U);return x.jsxs(Dm,{className:"text-xs",children:[U.map((q,W)=>x.jsx(jt,{nowrap:!0,children:String(q??"")},`rh-${W}`)),O.map((q,W)=>{const Q=cf(q),he=T[X]?.[Q],xe=he?p(he.value):m;return x.jsx(jt,{align:"right",nowrap:!0,children:xe},`c-${W}`)}),f&&x.jsx(jt,{align:"right",nowrap:!0,medium:!0,children:p(Z[X]??0)})]},`row-${$}`)}),d&&x.jsxs(Dm,{gray:!0,children:[x.jsx(jt,{colSpan:Math.max(1,l.length),semibold:!0,children:"Total"}),O.map((U,$)=>{const X=cf(U);return x.jsx(jt,{align:"right",nowrap:!0,medium:!0,children:p(H[X]??0)},`ct-${$}`)}),f&&x.jsx(jt,{align:"right",nowrap:!0,semibold:!0,children:p(B)})]})]})]})})}const Mm=({label:n,isActive:l,onClick:r,title:u})=>x.jsx("button",{type:"button",role:"tab","aria-selected":l,title:u,onClick:r,className:`text-xs font-medium px-2 py-0.5 border-b-2 focus:outline-none cursor-pointer transition-colors ${l?"text-gray-900 border-gray-900 bg-transparent":"text-gray-700 hover:text-gray-900 hover:border-gray-400 border-transparent bg-transparent hover:bg-gray-100"}`,children:n});function CE(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function Cm(n,l){if(typeof l=="number")return`${n}[${l}]`;if(/^[A-Za-z_][A-Za-z0-9_]*$/.test(l))return`${n}.${l}`;const u=l.replace(/'/g,"\\'");return`${n}['${u}']`}function UE(n,l="$"){const r={},u=(o,f)=>{if(o===null||typeof o=="string"||typeof o=="number"||typeof o=="boolean"){r[f]=o;return}if(Array.isArray(o)){for(let d=0;d{const l=()=>{n()};return x.jsx("div",{className:"bg-white border border-gray-200 p-8 text-center",children:x.jsxs("div",{className:"max-w-sm mx-auto",children:[x.jsx("div",{className:"text-gray-400 mb-4",children:x.jsx("svg",{className:"mx-auto h-12 w-12",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1,d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})})}),x.jsx("h3",{className:"text-sm font-medium text-gray-900 mb-2",children:"No evaluation data available"}),x.jsx("p",{className:"text-xs text-gray-500 mb-4",children:"No evaluation rows have been loaded yet. Click refresh to reconnect and load data."}),x.jsx(Hn,{onClick:l,size:"md",children:"Refresh"})]})})},Um=Ge(({onRefresh:n})=>{const l=()=>ot.setAllRowsExpanded(!0),r=()=>ot.setAllRowsExpanded(!1),u=Kn(),o=Cf(),f=m=>m.endsWith("/pivot")?"pivot":"table",[d,v]=z.useState(f(u.pathname));z.useEffect(()=>{v(f(u.pathname))},[u.pathname]);const p=z.useMemo(()=>ot.sortedDataset.map(_=>UE(_)),[ot.sortedDataset]);return x.jsxs("div",{className:"text-sm",children:[x.jsxs("div",{className:"mb-4 bg-white border border-gray-200 p-3",children:[x.jsx("h2",{className:"text-sm font-semibold text-gray-900 mb-2",children:"Dataset Summary"}),x.jsxs("div",{className:"text-xs",children:[x.jsx("span",{className:"font-semibold text-gray-700",children:"Total Rows:"})," ",ot.totalCount]})]}),ot.totalCount===0?x.jsx(ZE,{onRefresh:n}):x.jsxs("div",{className:"bg-white border border-gray-200",children:[x.jsx("div",{className:"px-3 pt-2 border-b border-gray-200",children:x.jsxs("div",{className:"flex justify-between h-8",children:[x.jsxs("div",{id:"tabs",className:"flex gap-1",children:[x.jsx(Mm,{label:"Table",isActive:d==="table",onClick:()=>{v("table"),o("/table")},title:"View table"}),x.jsx(Mm,{label:"Pivot",isActive:d==="pivot",onClick:()=>{v("pivot"),o("/pivot")},title:"View pivot"})]}),d==="table"&&x.jsxs("div",{className:"flex gap-2 pb-2",children:[x.jsx(Hn,{onClick:l,size:"sm",variant:"secondary",children:"Expand All"}),x.jsx(Hn,{onClick:r,size:"sm",variant:"secondary",children:"Collapse All"})]})]})}),x.jsx("div",{className:"p-3",children:d==="table"?x.jsx(NE,{}):x.jsxs("div",{children:[x.jsx("div",{className:"text-xs text-gray-600 mb-2",children:"Showing pivot of flattened rows (JSONPath keys). Defaults: rows by eval name and status; columns by model; values average score."}),x.jsx(ME,{data:p,rowFields:["$.eval_metadata.name","$.eval_metadata.status"],columnFields:["$.input_metadata.completion_params.model"],valueField:"$.evaluation_result.score",aggregator:"avg",showRowTotals:!0,showColumnTotals:!0})]})})]})]})});function M(n,l,r){function u(v,p){var m;Object.defineProperty(v,"_zod",{value:v._zod??{},enumerable:!1}),(m=v._zod).traits??(m.traits=new Set),v._zod.traits.add(n),l(v,p);for(const _ in d.prototype)_ in v||Object.defineProperty(v,_,{value:d.prototype[_].bind(v)});v._zod.constr=d,v._zod.def=p}const o=r?.Parent??Object;class f extends o{}Object.defineProperty(f,"name",{value:n});function d(v){var p;const m=r?.Parent?new f:this;u(m,v),(p=m._zod).deferred??(p.deferred=[]);for(const _ of m._zod.deferred)_();return m}return Object.defineProperty(d,"init",{value:u}),Object.defineProperty(d,Symbol.hasInstance,{value:v=>r?.Parent&&v instanceof r.Parent?!0:v?._zod?.traits?.has(n)}),Object.defineProperty(d,"name",{value:n}),d}class sr extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const __={};function Sa(n){return __}function BE(n){const l=Object.values(n).filter(u=>typeof u=="number");return Object.entries(n).filter(([u,o])=>l.indexOf(+u)===-1).map(([u,o])=>o)}function wf(n,l){return typeof l=="bigint"?l.toString():l}function Gf(n){return{get value(){{const l=n();return Object.defineProperty(this,"value",{value:l}),l}}}}function Xf(n){return n==null}function Kf(n){const l=n.startsWith("^")?1:0,r=n.endsWith("$")?n.length-1:n.length;return n.slice(l,r)}function LE(n,l){const r=(n.toString().split(".")[1]||"").length,u=l.toString();let o=(u.split(".")[1]||"").length;if(o===0&&/\d?e-\d?/.test(u)){const p=u.match(/\d?e-(\d?)/);p?.[1]&&(o=Number.parseInt(p[1]))}const f=r>o?r:o,d=Number.parseInt(n.toFixed(f).replace(".","")),v=Number.parseInt(l.toFixed(f).replace(".",""));return d%v/10**f}const Zm=Symbol("evaluating");function Re(n,l,r){let u;Object.defineProperty(n,l,{get(){if(u!==Zm)return u===void 0&&(u=Zm,u=r()),u},set(o){Object.defineProperty(n,l,{value:o})},configurable:!0})}function Ia(n,l,r){Object.defineProperty(n,l,{value:r,writable:!0,enumerable:!0,configurable:!0})}function ei(...n){const l={};for(const r of n){const u=Object.getOwnPropertyDescriptors(r);Object.assign(l,u)}return Object.defineProperties({},l)}function Bm(n){return JSON.stringify(n)}const y_="captureStackTrace"in Error?Error.captureStackTrace:(...n)=>{};function so(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}const $E=Gf(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const n=Function;return new n(""),!0}catch{return!1}});function co(n){if(so(n)===!1)return!1;const l=n.constructor;if(l===void 0)return!0;const r=l.prototype;return!(so(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}const kE=new Set(["string","number","symbol"]);function Ql(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function el(n,l,r){const u=new n._zod.constr(l??n._zod.def);return(!l||r?.parent)&&(u._zod.parent=n),u}function F(n){const l=n;if(!l)return{};if(typeof l=="string")return{error:()=>l};if(l?.message!==void 0){if(l?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");l.error=l.message}return delete l.message,typeof l.error=="string"?{...l,error:()=>l.error}:l}function HE(n){return Object.keys(n).filter(l=>n[l]._zod.optin==="optional"&&n[l]._zod.optout==="optional")}const qE={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function VE(n,l){const r=n._zod.def,u=ei(n._zod.def,{get shape(){const o={};for(const f in l){if(!(f in r.shape))throw new Error(`Unrecognized key: "${f}"`);l[f]&&(o[f]=r.shape[f])}return Ia(this,"shape",o),o},checks:[]});return el(n,u)}function YE(n,l){const r=n._zod.def,u=ei(n._zod.def,{get shape(){const o={...n._zod.def.shape};for(const f in l){if(!(f in r.shape))throw new Error(`Unrecognized key: "${f}"`);l[f]&&delete o[f]}return Ia(this,"shape",o),o},checks:[]});return el(n,u)}function GE(n,l){if(!co(l))throw new Error("Invalid input to extend: expected a plain object");const r=ei(n._zod.def,{get shape(){const u={...n._zod.def.shape,...l};return Ia(this,"shape",u),u},checks:[]});return el(n,r)}function XE(n,l){const r=ei(n._zod.def,{get shape(){const u={...n._zod.def.shape,...l._zod.def.shape};return Ia(this,"shape",u),u},get catchall(){return l._zod.def.catchall},checks:[]});return el(n,r)}function KE(n,l,r){const u=ei(l._zod.def,{get shape(){const o=l._zod.def.shape,f={...o};if(r)for(const d in r){if(!(d in o))throw new Error(`Unrecognized key: "${d}"`);r[d]&&(f[d]=n?new n({type:"optional",innerType:o[d]}):o[d])}else for(const d in o)f[d]=n?new n({type:"optional",innerType:o[d]}):o[d];return Ia(this,"shape",f),f},checks:[]});return el(l,u)}function QE(n,l,r){const u=ei(l._zod.def,{get shape(){const o=l._zod.def.shape,f={...o};if(r)for(const d in r){if(!(d in f))throw new Error(`Unrecognized key: "${d}"`);r[d]&&(f[d]=new n({type:"nonoptional",innerType:o[d]}))}else for(const d in o)f[d]=new n({type:"nonoptional",innerType:o[d]});return Ia(this,"shape",f),f},checks:[]});return el(l,u)}function ar(n,l=0){for(let r=l;r{var u;return(u=r).path??(u.path=[]),r.path.unshift(n),r})}function Hu(n){return typeof n=="string"?n:n?.message}function xa(n,l,r){const u={...n,path:n.path??[]};if(!n.message){const o=Hu(n.inst?._zod.def?.error?.(n))??Hu(l?.error?.(n))??Hu(r.customError?.(n))??Hu(r.localeError?.(n))??"Invalid input";u.message=o}return delete u.inst,delete u.continue,l?.reportInput||delete u.input,u}function Qf(n){return Array.isArray(n)?"array":typeof n=="string"?"string":"unknown"}function cr(...n){const[l,r,u]=n;return typeof l=="string"?{message:l,code:"custom",input:r,inst:u}:{...l}}const b_=(n,l)=>{n.name="$ZodError",Object.defineProperty(n,"_zod",{value:n._zod,enumerable:!1}),Object.defineProperty(n,"issues",{value:l,enumerable:!1}),n.message=JSON.stringify(l,wf,2),Object.defineProperty(n,"toString",{value:()=>n.message,enumerable:!1})},S_=M("$ZodError",b_),x_=M("$ZodError",b_,{Parent:Error});function JE(n,l=r=>r.message){const r={},u=[];for(const o of n.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(l(o))):u.push(l(o));return{formErrors:u,fieldErrors:r}}function PE(n,l){const r=l||function(f){return f.message},u={_errors:[]},o=f=>{for(const d of f.issues)if(d.code==="invalid_union"&&d.errors.length)d.errors.map(v=>o({issues:v}));else if(d.code==="invalid_key")o({issues:d.issues});else if(d.code==="invalid_element")o({issues:d.issues});else if(d.path.length===0)u._errors.push(r(d));else{let v=u,p=0;for(;p(l,r,u,o)=>{const f=u?Object.assign(u,{async:!1}):{async:!1},d=l._zod.run({value:r,issues:[]},f);if(d instanceof Promise)throw new sr;if(d.issues.length){const v=new(o?.Err??n)(d.issues.map(p=>xa(p,f,Sa())));throw y_(v,o?.callee),v}return d.value},FE=n=>async(l,r,u,o)=>{const f=u?Object.assign(u,{async:!0}):{async:!0};let d=l._zod.run({value:r,issues:[]},f);if(d instanceof Promise&&(d=await d),d.issues.length){const v=new(o?.Err??n)(d.issues.map(p=>xa(p,f,Sa())));throw y_(v,o?.callee),v}return d.value},E_=n=>(l,r,u)=>{const o=u?{...u,async:!1}:{async:!1},f=l._zod.run({value:r,issues:[]},o);if(f instanceof Promise)throw new sr;return f.issues.length?{success:!1,error:new(n??S_)(f.issues.map(d=>xa(d,o,Sa())))}:{success:!0,data:f.value}},IE=E_(x_),O_=n=>async(l,r,u)=>{const o=u?Object.assign(u,{async:!0}):{async:!0};let f=l._zod.run({value:r,issues:[]},o);return f instanceof Promise&&(f=await f),f.issues.length?{success:!1,error:new n(f.issues.map(d=>xa(d,o,Sa())))}:{success:!0,data:f.value}},eO=O_(x_),tO=/^[cC][^\s-]{8,}$/,nO=/^[0-9a-z]+$/,aO=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,lO=/^[0-9a-vA-V]{20}$/,iO=/^[A-Za-z0-9]{27}$/,rO=/^[a-zA-Z0-9_-]{21}$/,uO=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,oO=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Lm=n=>n?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${n}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/,sO=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,cO="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function fO(){return new RegExp(cO,"u")}const dO=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,hO=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,vO=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,pO=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,mO=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,A_=/^[A-Za-z0-9_-]*$/,gO=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,_O=/^\+(?:[0-9]){6,14}[0-9]$/,w_="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",yO=new RegExp(`^${w_}$`);function T_(n){const l="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof n.precision=="number"?n.precision===-1?`${l}`:n.precision===0?`${l}:[0-5]\\d`:`${l}:[0-5]\\d\\.\\d{${n.precision}}`:`${l}(?::[0-5]\\d(?:\\.\\d+)?)?`}function bO(n){return new RegExp(`^${T_(n)}$`)}function SO(n){const l=T_({precision:n.precision}),r=["Z"];n.local&&r.push(""),n.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const u=`${l}(?:${r.join("|")})`;return new RegExp(`^${w_}T(?:${u})$`)}const xO=n=>{const l=n?`[\\s\\S]{${n?.minimum??0},${n?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${l}$`)},EO=/^\d+$/,OO=/^-?\d+(?:\.\d+)?/i,AO=/true|false/i,wO=/^[^A-Z]*$/,TO=/^[^a-z]*$/,St=M("$ZodCheck",(n,l)=>{var r;n._zod??(n._zod={}),n._zod.def=l,(r=n._zod).onattach??(r.onattach=[])}),R_={number:"number",bigint:"bigint",object:"date"},z_=M("$ZodCheckLessThan",(n,l)=>{St.init(n,l);const r=R_[typeof l.value];n._zod.onattach.push(u=>{const o=u._zod.bag,f=(l.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;l.value{(l.inclusive?u.value<=l.value:u.value{St.init(n,l);const r=R_[typeof l.value];n._zod.onattach.push(u=>{const o=u._zod.bag,f=(l.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;l.value>f&&(l.inclusive?o.minimum=l.value:o.exclusiveMinimum=l.value)}),n._zod.check=u=>{(l.inclusive?u.value>=l.value:u.value>l.value)||u.issues.push({origin:r,code:"too_small",minimum:l.value,input:u.value,inclusive:l.inclusive,inst:n,continue:!l.abort})}}),RO=M("$ZodCheckMultipleOf",(n,l)=>{St.init(n,l),n._zod.onattach.push(r=>{var u;(u=r._zod.bag).multipleOf??(u.multipleOf=l.value)}),n._zod.check=r=>{if(typeof r.value!=typeof l.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%l.value===BigInt(0):LE(r.value,l.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:l.value,input:r.value,inst:n,continue:!l.abort})}}),zO=M("$ZodCheckNumberFormat",(n,l)=>{St.init(n,l),l.format=l.format||"float64";const r=l.format?.includes("int"),u=r?"int":"number",[o,f]=qE[l.format];n._zod.onattach.push(d=>{const v=d._zod.bag;v.format=l.format,v.minimum=o,v.maximum=f,r&&(v.pattern=EO)}),n._zod.check=d=>{const v=d.value;if(r){if(!Number.isInteger(v)){d.issues.push({expected:u,format:l.format,code:"invalid_type",continue:!1,input:v,inst:n});return}if(!Number.isSafeInteger(v)){v>0?d.issues.push({input:v,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:n,origin:u,continue:!l.abort}):d.issues.push({input:v,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:n,origin:u,continue:!l.abort});return}}vf&&d.issues.push({origin:"number",input:v,code:"too_big",maximum:f,inst:n})}}),DO=M("$ZodCheckMaxLength",(n,l)=>{var r;St.init(n,l),(r=n._zod.def).when??(r.when=u=>{const o=u.value;return!Xf(o)&&o.length!==void 0}),n._zod.onattach.push(u=>{const o=u._zod.bag.maximum??Number.POSITIVE_INFINITY;l.maximum{const o=u.value;if(o.length<=l.maximum)return;const d=Qf(o);u.issues.push({origin:d,code:"too_big",maximum:l.maximum,inclusive:!0,input:o,inst:n,continue:!l.abort})}}),NO=M("$ZodCheckMinLength",(n,l)=>{var r;St.init(n,l),(r=n._zod.def).when??(r.when=u=>{const o=u.value;return!Xf(o)&&o.length!==void 0}),n._zod.onattach.push(u=>{const o=u._zod.bag.minimum??Number.NEGATIVE_INFINITY;l.minimum>o&&(u._zod.bag.minimum=l.minimum)}),n._zod.check=u=>{const o=u.value;if(o.length>=l.minimum)return;const d=Qf(o);u.issues.push({origin:d,code:"too_small",minimum:l.minimum,inclusive:!0,input:o,inst:n,continue:!l.abort})}}),jO=M("$ZodCheckLengthEquals",(n,l)=>{var r;St.init(n,l),(r=n._zod.def).when??(r.when=u=>{const o=u.value;return!Xf(o)&&o.length!==void 0}),n._zod.onattach.push(u=>{const o=u._zod.bag;o.minimum=l.length,o.maximum=l.length,o.length=l.length}),n._zod.check=u=>{const o=u.value,f=o.length;if(f===l.length)return;const d=Qf(o),v=f>l.length;u.issues.push({origin:d,...v?{code:"too_big",maximum:l.length}:{code:"too_small",minimum:l.length},inclusive:!0,exact:!0,input:u.value,inst:n,continue:!l.abort})}}),To=M("$ZodCheckStringFormat",(n,l)=>{var r,u;St.init(n,l),n._zod.onattach.push(o=>{const f=o._zod.bag;f.format=l.format,l.pattern&&(f.patterns??(f.patterns=new Set),f.patterns.add(l.pattern))}),l.pattern?(r=n._zod).check??(r.check=o=>{l.pattern.lastIndex=0,!l.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:l.format,input:o.value,...l.pattern?{pattern:l.pattern.toString()}:{},inst:n,continue:!l.abort})}):(u=n._zod).check??(u.check=()=>{})}),MO=M("$ZodCheckRegex",(n,l)=>{To.init(n,l),n._zod.check=r=>{l.pattern.lastIndex=0,!l.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:l.pattern.toString(),inst:n,continue:!l.abort})}}),CO=M("$ZodCheckLowerCase",(n,l)=>{l.pattern??(l.pattern=wO),To.init(n,l)}),UO=M("$ZodCheckUpperCase",(n,l)=>{l.pattern??(l.pattern=TO),To.init(n,l)}),ZO=M("$ZodCheckIncludes",(n,l)=>{St.init(n,l);const r=Ql(l.includes),u=new RegExp(typeof l.position=="number"?`^.{${l.position}}${r}`:r);l.pattern=u,n._zod.onattach.push(o=>{const f=o._zod.bag;f.patterns??(f.patterns=new Set),f.patterns.add(u)}),n._zod.check=o=>{o.value.includes(l.includes,l.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:l.includes,input:o.value,inst:n,continue:!l.abort})}}),BO=M("$ZodCheckStartsWith",(n,l)=>{St.init(n,l);const r=new RegExp(`^${Ql(l.prefix)}.*`);l.pattern??(l.pattern=r),n._zod.onattach.push(u=>{const o=u._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),n._zod.check=u=>{u.value.startsWith(l.prefix)||u.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:l.prefix,input:u.value,inst:n,continue:!l.abort})}}),LO=M("$ZodCheckEndsWith",(n,l)=>{St.init(n,l);const r=new RegExp(`.*${Ql(l.suffix)}$`);l.pattern??(l.pattern=r),n._zod.onattach.push(u=>{const o=u._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),n._zod.check=u=>{u.value.endsWith(l.suffix)||u.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:l.suffix,input:u.value,inst:n,continue:!l.abort})}}),$O=M("$ZodCheckOverwrite",(n,l)=>{St.init(n,l),n._zod.check=r=>{r.value=l.tx(r.value)}});class kO{constructor(l=[]){this.content=[],this.indent=0,this&&(this.args=l)}indented(l){this.indent+=1,l(this),this.indent-=1}write(l){if(typeof l=="function"){l(this,{execution:"sync"}),l(this,{execution:"async"});return}const u=l.split(` `).filter(d=>d),o=Math.min(...u.map(d=>d.length-d.trimStart().length)),f=u.map(d=>d.slice(o)).map(d=>" ".repeat(this.indent*2)+d);for(const d of f)this.content.push(d)}compile(){const l=Function,r=this?.args,o=[...(this?.content??[""]).map(f=>` ${f}`)];return new l(...r,o.join(` `))}}const HO={major:4,minor:0,patch:14},De=M("$ZodType",(n,l)=>{var r;n??(n={}),n._zod.def=l,n._zod.bag=n._zod.bag||{},n._zod.version=HO;const u=[...n._zod.def.checks??[]];n._zod.traits.has("$ZodCheck")&&u.unshift(n);for(const o of u)for(const f of o._zod.onattach)f(n);if(u.length===0)(r=n._zod).deferred??(r.deferred=[]),n._zod.deferred?.push(()=>{n._zod.run=n._zod.parse});else{const o=(f,d,v)=>{let p=ar(f),m;for(const _ of d){if(_._zod.def.when){if(!_._zod.def.when(f))continue}else if(p)continue;const O=f.issues.length,T=_._zod.check(f);if(T instanceof Promise&&v?.async===!1)throw new sr;if(m||T instanceof Promise)m=(m??Promise.resolve()).then(async()=>{await T,f.issues.length!==O&&(p||(p=ar(f,O)))});else{if(f.issues.length===O)continue;p||(p=ar(f,O))}}return m?m.then(()=>f):f};n._zod.run=(f,d)=>{const v=n._zod.parse(f,d);if(v instanceof Promise){if(d.async===!1)throw new sr;return v.then(p=>o(p,u,d))}return o(v,u,d)}}n["~standard"]={validate:o=>{try{const f=IE(n,o);return f.success?{value:f.data}:{issues:f.error?.issues}}catch{return eO(n,o).then(d=>d.success?{value:d.data}:{issues:d.error?.issues})}},vendor:"zod",version:1}}),Jf=M("$ZodString",(n,l)=>{De.init(n,l),n._zod.pattern=[...n?._zod.bag?.patterns??[]].pop()??xO(n._zod.bag),n._zod.parse=(r,u)=>{if(l.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:n}),r}}),Ue=M("$ZodStringFormat",(n,l)=>{To.init(n,l),Jf.init(n,l)}),qO=M("$ZodGUID",(n,l)=>{l.pattern??(l.pattern=oO),Ue.init(n,l)}),VO=M("$ZodUUID",(n,l)=>{if(l.version){const u={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[l.version];if(u===void 0)throw new Error(`Invalid UUID version: "${l.version}"`);l.pattern??(l.pattern=Lm(u))}else l.pattern??(l.pattern=Lm());Ue.init(n,l)}),YO=M("$ZodEmail",(n,l)=>{l.pattern??(l.pattern=sO),Ue.init(n,l)}),GO=M("$ZodURL",(n,l)=>{Ue.init(n,l),n._zod.check=r=>{try{const u=r.value.trim(),o=new URL(u);l.hostname&&(l.hostname.lastIndex=0,l.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:gO.source,input:r.value,inst:n,continue:!l.abort})),l.protocol&&(l.protocol.lastIndex=0,l.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:l.protocol.source,input:r.value,inst:n,continue:!l.abort})),l.normalize?r.value=o.href:r.value=u;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:n,continue:!l.abort})}}}),XO=M("$ZodEmoji",(n,l)=>{l.pattern??(l.pattern=fO()),Ue.init(n,l)}),KO=M("$ZodNanoID",(n,l)=>{l.pattern??(l.pattern=rO),Ue.init(n,l)}),QO=M("$ZodCUID",(n,l)=>{l.pattern??(l.pattern=tO),Ue.init(n,l)}),JO=M("$ZodCUID2",(n,l)=>{l.pattern??(l.pattern=nO),Ue.init(n,l)}),PO=M("$ZodULID",(n,l)=>{l.pattern??(l.pattern=aO),Ue.init(n,l)}),WO=M("$ZodXID",(n,l)=>{l.pattern??(l.pattern=lO),Ue.init(n,l)}),FO=M("$ZodKSUID",(n,l)=>{l.pattern??(l.pattern=iO),Ue.init(n,l)}),IO=M("$ZodISODateTime",(n,l)=>{l.pattern??(l.pattern=SO(l)),Ue.init(n,l)}),eA=M("$ZodISODate",(n,l)=>{l.pattern??(l.pattern=yO),Ue.init(n,l)}),tA=M("$ZodISOTime",(n,l)=>{l.pattern??(l.pattern=bO(l)),Ue.init(n,l)}),nA=M("$ZodISODuration",(n,l)=>{l.pattern??(l.pattern=uO),Ue.init(n,l)}),aA=M("$ZodIPv4",(n,l)=>{l.pattern??(l.pattern=dO),Ue.init(n,l),n._zod.onattach.push(r=>{const u=r._zod.bag;u.format="ipv4"})}),lA=M("$ZodIPv6",(n,l)=>{l.pattern??(l.pattern=hO),Ue.init(n,l),n._zod.onattach.push(r=>{const u=r._zod.bag;u.format="ipv6"}),n._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:n,continue:!l.abort})}}}),iA=M("$ZodCIDRv4",(n,l)=>{l.pattern??(l.pattern=vO),Ue.init(n,l)}),rA=M("$ZodCIDRv6",(n,l)=>{l.pattern??(l.pattern=pO),Ue.init(n,l),n._zod.check=r=>{const[u,o]=r.value.split("/");try{if(!o)throw new Error;const f=Number(o);if(`${f}`!==o)throw new Error;if(f<0||f>128)throw new Error;new URL(`http://[${u}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:n,continue:!l.abort})}}});function N_(n){if(n==="")return!0;if(n.length%4!==0)return!1;try{return atob(n),!0}catch{return!1}}const uA=M("$ZodBase64",(n,l)=>{l.pattern??(l.pattern=mO),Ue.init(n,l),n._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),n._zod.check=r=>{N_(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:n,continue:!l.abort})}});function oA(n){if(!A_.test(n))return!1;const l=n.replace(/[-_]/g,u=>u==="-"?"+":"/"),r=l.padEnd(Math.ceil(l.length/4)*4,"=");return N_(r)}const sA=M("$ZodBase64URL",(n,l)=>{l.pattern??(l.pattern=A_),Ue.init(n,l),n._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),n._zod.check=r=>{oA(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:n,continue:!l.abort})}}),cA=M("$ZodE164",(n,l)=>{l.pattern??(l.pattern=_O),Ue.init(n,l)});function fA(n,l=null){try{const r=n.split(".");if(r.length!==3)return!1;const[u]=r;if(!u)return!1;const o=JSON.parse(atob(u));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||l&&(!("alg"in o)||o.alg!==l))}catch{return!1}}const dA=M("$ZodJWT",(n,l)=>{Ue.init(n,l),n._zod.check=r=>{fA(r.value,l.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:n,continue:!l.abort})}}),j_=M("$ZodNumber",(n,l)=>{De.init(n,l),n._zod.pattern=n._zod.bag.pattern??OO,n._zod.parse=(r,u)=>{if(l.coerce)try{r.value=Number(r.value)}catch{}const o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;const f=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:n,...f?{received:f}:{}}),r}}),hA=M("$ZodNumber",(n,l)=>{zO.init(n,l),j_.init(n,l)}),vA=M("$ZodBoolean",(n,l)=>{De.init(n,l),n._zod.pattern=AO,n._zod.parse=(r,u)=>{if(l.coerce)try{r.value=!!r.value}catch{}const o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:n}),r}}),pA=M("$ZodAny",(n,l)=>{De.init(n,l),n._zod.parse=r=>r}),mA=M("$ZodUnknown",(n,l)=>{De.init(n,l),n._zod.parse=r=>r}),gA=M("$ZodNever",(n,l)=>{De.init(n,l),n._zod.parse=(r,u)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:n}),r)}),_A=M("$ZodDate",(n,l)=>{De.init(n,l),n._zod.parse=(r,u)=>{if(l.coerce)try{r.value=new Date(r.value)}catch{}const o=r.value,f=o instanceof Date;return f&&!Number.isNaN(o.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:o,...f?{received:"Invalid Date"}:{},inst:n}),r}});function $m(n,l,r){n.issues.length&&l.issues.push(...Yl(r,n.issues)),l.value[r]=n.value}const yA=M("$ZodArray",(n,l)=>{De.init(n,l),n._zod.parse=(r,u)=>{const o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:n}),r;r.value=Array(o.length);const f=[];for(let d=0;d$m(m,r,d))):$m(p,r,d)}return f.length?Promise.all(f).then(()=>r):r}});function qu(n,l,r,u){n.issues.length&&l.issues.push(...Yl(r,n.issues)),n.value===void 0?r in u&&(l.value[r]=void 0):l.value[r]=n.value}const bA=M("$ZodObject",(n,l)=>{De.init(n,l);const r=Gf(()=>{const O=Object.keys(l.shape);for(const Z of O)if(!(l.shape[Z]instanceof De))throw new Error(`Invalid element at key "${Z}": expected a Zod schema`);const T=HE(l.shape);return{shape:l.shape,keys:O,keySet:new Set(O),numKeys:O.length,optionalKeys:new Set(T)}});Re(n._zod,"propValues",()=>{const O=l.shape,T={};for(const Z in O){const H=O[Z]._zod;if(H.values){T[Z]??(T[Z]=new Set);for(const B of H.values)T[Z].add(B)}}return T});const u=O=>{const T=new kO(["shape","payload","ctx"]),Z=r.value,H=X=>{const q=Bm(X);return`shape[${q}]._zod.run({ value: input[${q}], issues: [] }, ctx)`};T.write("const input = payload.value;");const B=Object.create(null);let U=0;for(const X of Z.keys)B[X]=`key_${U++}`;T.write("const newResult = {}");for(const X of Z.keys){const q=B[X],W=Bm(X);T.write(`const ${q} = ${H(X)};`),T.write(` if (${q}.issues.length) { @@ -76,7 +76,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho path: iss.path ? [${W}, ...iss.path] : [${W}] }))); } - + if (${q}.value === undefined) { if (${W} in input) { newResult[${W}] = undefined; @@ -84,5 +84,5 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho } else { newResult[${W}] = ${q}.value; } - `)}T.write("payload.value = newResult;"),T.write("return payload;");const $=T.compile();return(X,q)=>$(O,X,q)};let o;const f=so,d=!__.jitless,p=d&&$E.value,m=l.catchall;let _;n._zod.parse=(O,T)=>{_??(_=r.value);const Z=O.value;if(!f(Z))return O.issues.push({expected:"object",code:"invalid_type",input:Z,inst:n}),O;const H=[];if(d&&p&&T?.async===!1&&T.jitless!==!0)o||(o=u(l.shape)),O=o(O,T);else{O.value={};const q=_.shape;for(const W of _.keys){const he=q[W]._zod.run({value:Z[W],issues:[]},T);he instanceof Promise?H.push(he.then(xe=>qu(xe,O,W,Z))):qu(he,O,W,Z)}}if(!m)return H.length?Promise.all(H).then(()=>O):O;const B=[],U=_.keySet,$=m._zod,X=$.def.type;for(const q of Object.keys(Z)){if(U.has(q))continue;if(X==="never"){B.push(q);continue}const W=$.run({value:Z[q],issues:[]},T);W instanceof Promise?H.push(W.then(Q=>qu(Q,O,q,Z))):qu(W,O,q,Z)}return B.length&&O.issues.push({code:"unrecognized_keys",keys:B,input:Z,inst:n}),H.length?Promise.all(H).then(()=>O):O}});function km(n,l,r,u){for(const f of n)if(f.issues.length===0)return l.value=f.value,l;const o=n.filter(f=>!ar(f));return o.length===1?(l.value=o[0].value,o[0]):(l.issues.push({code:"invalid_union",input:l.value,inst:r,errors:n.map(f=>f.issues.map(d=>xa(d,u,Sa())))}),l)}const M_=M("$ZodUnion",(n,l)=>{De.init(n,l),Re(n._zod,"optin",()=>l.options.some(o=>o._zod.optin==="optional")?"optional":void 0),Re(n._zod,"optout",()=>l.options.some(o=>o._zod.optout==="optional")?"optional":void 0),Re(n._zod,"values",()=>{if(l.options.every(o=>o._zod.values))return new Set(l.options.flatMap(o=>Array.from(o._zod.values)))}),Re(n._zod,"pattern",()=>{if(l.options.every(o=>o._zod.pattern)){const o=l.options.map(f=>f._zod.pattern);return new RegExp(`^(${o.map(f=>Kf(f.source)).join("|")})$`)}});const r=l.options.length===1,u=l.options[0]._zod.run;n._zod.parse=(o,f)=>{if(r)return u(o,f);let d=!1;const v=[];for(const p of l.options){const m=p._zod.run({value:o.value,issues:[]},f);if(m instanceof Promise)v.push(m),d=!0;else{if(m.issues.length===0)return m;v.push(m)}}return d?Promise.all(v).then(p=>km(p,o,n,f)):km(v,o,n,f)}}),SA=M("$ZodDiscriminatedUnion",(n,l)=>{M_.init(n,l);const r=n._zod.parse;Re(n._zod,"propValues",()=>{const o={};for(const f of l.options){const d=f._zod.propValues;if(!d||Object.keys(d).length===0)throw new Error(`Invalid discriminated union option at index "${l.options.indexOf(f)}"`);for(const[v,p]of Object.entries(d)){o[v]||(o[v]=new Set);for(const m of p)o[v].add(m)}}return o});const u=Gf(()=>{const o=l.options,f=new Map;for(const d of o){const v=d._zod.propValues?.[l.discriminator];if(!v||v.size===0)throw new Error(`Invalid discriminated union option at index "${l.options.indexOf(d)}"`);for(const p of v){if(f.has(p))throw new Error(`Duplicate discriminator value "${String(p)}"`);f.set(p,d)}}return f});n._zod.parse=(o,f)=>{const d=o.value;if(!so(d))return o.issues.push({code:"invalid_type",expected:"object",input:d,inst:n}),o;const v=u.value.get(d?.[l.discriminator]);return v?v._zod.run(o,f):l.unionFallback?r(o,f):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:l.discriminator,input:d,path:[l.discriminator],inst:n}),o)}}),xA=M("$ZodIntersection",(n,l)=>{De.init(n,l),n._zod.parse=(r,u)=>{const o=r.value,f=l.left._zod.run({value:o,issues:[]},u),d=l.right._zod.run({value:o,issues:[]},u);return f instanceof Promise||d instanceof Promise?Promise.all([f,d]).then(([p,m])=>Hm(r,p,m)):Hm(r,f,d)}});function Tf(n,l){if(n===l)return{valid:!0,data:n};if(n instanceof Date&&l instanceof Date&&+n==+l)return{valid:!0,data:n};if(co(n)&&co(l)){const r=Object.keys(l),u=Object.keys(n).filter(f=>r.indexOf(f)!==-1),o={...n,...l};for(const f of u){const d=Tf(n[f],l[f]);if(!d.valid)return{valid:!1,mergeErrorPath:[f,...d.mergeErrorPath]};o[f]=d.data}return{valid:!0,data:o}}if(Array.isArray(n)&&Array.isArray(l)){if(n.length!==l.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let u=0;u{De.init(n,l),n._zod.parse=(r,u)=>{const o=r.value;if(!co(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:n}),r;const f=[];if(l.keyType._zod.values){const d=l.keyType._zod.values;r.value={};for(const p of d)if(typeof p=="string"||typeof p=="number"||typeof p=="symbol"){const m=l.valueType._zod.run({value:o[p],issues:[]},u);m instanceof Promise?f.push(m.then(_=>{_.issues.length&&r.issues.push(...Yl(p,_.issues)),r.value[p]=_.value})):(m.issues.length&&r.issues.push(...Yl(p,m.issues)),r.value[p]=m.value)}let v;for(const p in o)d.has(p)||(v=v??[],v.push(p));v&&v.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:n,keys:v})}else{r.value={};for(const d of Reflect.ownKeys(o)){if(d==="__proto__")continue;const v=l.keyType._zod.run({value:d,issues:[]},u);if(v instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(v.issues.length){r.issues.push({code:"invalid_key",origin:"record",issues:v.issues.map(m=>xa(m,u,Sa())),input:d,path:[d],inst:n}),r.value[v.value]=v.value;continue}const p=l.valueType._zod.run({value:o[d],issues:[]},u);p instanceof Promise?f.push(p.then(m=>{m.issues.length&&r.issues.push(...Yl(d,m.issues)),r.value[v.value]=m.value})):(p.issues.length&&r.issues.push(...Yl(d,p.issues)),r.value[v.value]=p.value)}}return f.length?Promise.all(f).then(()=>r):r}}),OA=M("$ZodEnum",(n,l)=>{De.init(n,l);const r=BE(l.entries),u=new Set(r);n._zod.values=u,n._zod.pattern=new RegExp(`^(${r.filter(o=>kE.has(typeof o)).map(o=>typeof o=="string"?Ql(o):o.toString()).join("|")})$`),n._zod.parse=(o,f)=>{const d=o.value;return u.has(d)||o.issues.push({code:"invalid_value",values:r,input:d,inst:n}),o}}),AA=M("$ZodLiteral",(n,l)=>{if(De.init(n,l),l.values.length===0)throw new Error("Cannot create literal schema with no valid values");n._zod.values=new Set(l.values),n._zod.pattern=new RegExp(`^(${l.values.map(r=>typeof r=="string"?Ql(r):r?Ql(r.toString()):String(r)).join("|")})$`),n._zod.parse=(r,u)=>{const o=r.value;return n._zod.values.has(o)||r.issues.push({code:"invalid_value",values:l.values,input:o,inst:n}),r}}),wA=M("$ZodTransform",(n,l)=>{De.init(n,l),n._zod.parse=(r,u)=>{const o=l.transform(r.value,r);if(u.async)return(o instanceof Promise?o:Promise.resolve(o)).then(d=>(r.value=d,r));if(o instanceof Promise)throw new sr;return r.value=o,r}});function qm(n,l){return n.issues.length&&l===void 0?{issues:[],value:void 0}:n}const TA=M("$ZodOptional",(n,l)=>{De.init(n,l),n._zod.optin="optional",n._zod.optout="optional",Re(n._zod,"values",()=>l.innerType._zod.values?new Set([...l.innerType._zod.values,void 0]):void 0),Re(n._zod,"pattern",()=>{const r=l.innerType._zod.pattern;return r?new RegExp(`^(${Kf(r.source)})?$`):void 0}),n._zod.parse=(r,u)=>{if(l.innerType._zod.optin==="optional"){const o=l.innerType._zod.run(r,u);return o instanceof Promise?o.then(f=>qm(f,r.value)):qm(o,r.value)}return r.value===void 0?r:l.innerType._zod.run(r,u)}}),RA=M("$ZodNullable",(n,l)=>{De.init(n,l),Re(n._zod,"optin",()=>l.innerType._zod.optin),Re(n._zod,"optout",()=>l.innerType._zod.optout),Re(n._zod,"pattern",()=>{const r=l.innerType._zod.pattern;return r?new RegExp(`^(${Kf(r.source)}|null)$`):void 0}),Re(n._zod,"values",()=>l.innerType._zod.values?new Set([...l.innerType._zod.values,null]):void 0),n._zod.parse=(r,u)=>r.value===null?r:l.innerType._zod.run(r,u)}),zA=M("$ZodDefault",(n,l)=>{De.init(n,l),n._zod.optin="optional",Re(n._zod,"values",()=>l.innerType._zod.values),n._zod.parse=(r,u)=>{if(r.value===void 0)return r.value=l.defaultValue,r;const o=l.innerType._zod.run(r,u);return o instanceof Promise?o.then(f=>Vm(f,l)):Vm(o,l)}});function Vm(n,l){return n.value===void 0&&(n.value=l.defaultValue),n}const DA=M("$ZodPrefault",(n,l)=>{De.init(n,l),n._zod.optin="optional",Re(n._zod,"values",()=>l.innerType._zod.values),n._zod.parse=(r,u)=>(r.value===void 0&&(r.value=l.defaultValue),l.innerType._zod.run(r,u))}),NA=M("$ZodNonOptional",(n,l)=>{De.init(n,l),Re(n._zod,"values",()=>{const r=l.innerType._zod.values;return r?new Set([...r].filter(u=>u!==void 0)):void 0}),n._zod.parse=(r,u)=>{const o=l.innerType._zod.run(r,u);return o instanceof Promise?o.then(f=>Ym(f,n)):Ym(o,n)}});function Ym(n,l){return!n.issues.length&&n.value===void 0&&n.issues.push({code:"invalid_type",expected:"nonoptional",input:n.value,inst:l}),n}const jA=M("$ZodCatch",(n,l)=>{De.init(n,l),Re(n._zod,"optin",()=>l.innerType._zod.optin),Re(n._zod,"optout",()=>l.innerType._zod.optout),Re(n._zod,"values",()=>l.innerType._zod.values),n._zod.parse=(r,u)=>{const o=l.innerType._zod.run(r,u);return o instanceof Promise?o.then(f=>(r.value=f.value,f.issues.length&&(r.value=l.catchValue({...r,error:{issues:f.issues.map(d=>xa(d,u,Sa()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=l.catchValue({...r,error:{issues:o.issues.map(f=>xa(f,u,Sa()))},input:r.value}),r.issues=[]),r)}}),MA=M("$ZodPipe",(n,l)=>{De.init(n,l),Re(n._zod,"values",()=>l.in._zod.values),Re(n._zod,"optin",()=>l.in._zod.optin),Re(n._zod,"optout",()=>l.out._zod.optout),Re(n._zod,"propValues",()=>l.in._zod.propValues),n._zod.parse=(r,u)=>{const o=l.in._zod.run(r,u);return o instanceof Promise?o.then(f=>Gm(f,l,u)):Gm(o,l,u)}});function Gm(n,l,r){return n.issues.length?n:l.out._zod.run({value:n.value,issues:n.issues},r)}const CA=M("$ZodReadonly",(n,l)=>{De.init(n,l),Re(n._zod,"propValues",()=>l.innerType._zod.propValues),Re(n._zod,"values",()=>l.innerType._zod.values),Re(n._zod,"optin",()=>l.innerType._zod.optin),Re(n._zod,"optout",()=>l.innerType._zod.optout),n._zod.parse=(r,u)=>{const o=l.innerType._zod.run(r,u);return o instanceof Promise?o.then(Xm):Xm(o)}});function Xm(n){return n.value=Object.freeze(n.value),n}const UA=M("$ZodCustom",(n,l)=>{St.init(n,l),De.init(n,l),n._zod.parse=(r,u)=>r,n._zod.check=r=>{const u=r.value,o=l.fn(u);if(o instanceof Promise)return o.then(f=>Km(f,r,u,n));Km(o,r,u,n)}});function Km(n,l,r,u){if(!n){const o={code:"custom",input:r,inst:u,path:[...u._zod.def.path??[]],continue:!u._zod.def.abort};u._zod.def.params&&(o.params=u._zod.def.params),l.issues.push(cr(o))}}class ZA{constructor(){this._map=new Map,this._idmap=new Map}add(l,...r){const u=r[0];if(this._map.set(l,u),u&&typeof u=="object"&&"id"in u){if(this._idmap.has(u.id))throw new Error(`ID ${u.id} already exists in the registry`);this._idmap.set(u.id,l)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(l){const r=this._map.get(l);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(l),this}get(l){const r=l._zod.parent;if(r){const u={...this.get(r)??{}};delete u.id;const o={...u,...this._map.get(l)};return Object.keys(o).length?o:void 0}return this._map.get(l)}has(l){return this._map.has(l)}}function BA(){return new ZA}const Vu=BA();function LA(n,l){return new n({type:"string",...F(l)})}function $A(n,l){return new n({type:"string",format:"email",check:"string_format",abort:!1,...F(l)})}function Qm(n,l){return new n({type:"string",format:"guid",check:"string_format",abort:!1,...F(l)})}function kA(n,l){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,...F(l)})}function HA(n,l){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...F(l)})}function qA(n,l){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...F(l)})}function VA(n,l){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...F(l)})}function YA(n,l){return new n({type:"string",format:"url",check:"string_format",abort:!1,...F(l)})}function GA(n,l){return new n({type:"string",format:"emoji",check:"string_format",abort:!1,...F(l)})}function XA(n,l){return new n({type:"string",format:"nanoid",check:"string_format",abort:!1,...F(l)})}function KA(n,l){return new n({type:"string",format:"cuid",check:"string_format",abort:!1,...F(l)})}function QA(n,l){return new n({type:"string",format:"cuid2",check:"string_format",abort:!1,...F(l)})}function JA(n,l){return new n({type:"string",format:"ulid",check:"string_format",abort:!1,...F(l)})}function PA(n,l){return new n({type:"string",format:"xid",check:"string_format",abort:!1,...F(l)})}function WA(n,l){return new n({type:"string",format:"ksuid",check:"string_format",abort:!1,...F(l)})}function FA(n,l){return new n({type:"string",format:"ipv4",check:"string_format",abort:!1,...F(l)})}function IA(n,l){return new n({type:"string",format:"ipv6",check:"string_format",abort:!1,...F(l)})}function e2(n,l){return new n({type:"string",format:"cidrv4",check:"string_format",abort:!1,...F(l)})}function t2(n,l){return new n({type:"string",format:"cidrv6",check:"string_format",abort:!1,...F(l)})}function n2(n,l){return new n({type:"string",format:"base64",check:"string_format",abort:!1,...F(l)})}function a2(n,l){return new n({type:"string",format:"base64url",check:"string_format",abort:!1,...F(l)})}function l2(n,l){return new n({type:"string",format:"e164",check:"string_format",abort:!1,...F(l)})}function i2(n,l){return new n({type:"string",format:"jwt",check:"string_format",abort:!1,...F(l)})}function r2(n,l){return new n({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...F(l)})}function u2(n,l){return new n({type:"string",format:"date",check:"string_format",...F(l)})}function o2(n,l){return new n({type:"string",format:"time",check:"string_format",precision:null,...F(l)})}function s2(n,l){return new n({type:"string",format:"duration",check:"string_format",...F(l)})}function c2(n,l){return new n({type:"number",checks:[],...F(l)})}function f2(n,l){return new n({type:"number",check:"number_format",abort:!1,format:"safeint",...F(l)})}function d2(n,l){return new n({type:"boolean",...F(l)})}function h2(n){return new n({type:"any"})}function v2(n){return new n({type:"unknown"})}function p2(n,l){return new n({type:"never",...F(l)})}function m2(n,l){return new n({type:"date",...F(l)})}function Jm(n,l){return new z_({check:"less_than",...F(l),value:n,inclusive:!1})}function Wu(n,l){return new z_({check:"less_than",...F(l),value:n,inclusive:!0})}function Pm(n,l){return new D_({check:"greater_than",...F(l),value:n,inclusive:!1})}function Fu(n,l){return new D_({check:"greater_than",...F(l),value:n,inclusive:!0})}function Wm(n,l){return new RO({check:"multiple_of",...F(l),value:n})}function C_(n,l){return new DO({check:"max_length",...F(l),maximum:n})}function fo(n,l){return new NO({check:"min_length",...F(l),minimum:n})}function U_(n,l){return new jO({check:"length_equals",...F(l),length:n})}function g2(n,l){return new MO({check:"string_format",format:"regex",...F(l),pattern:n})}function _2(n){return new CO({check:"string_format",format:"lowercase",...F(n)})}function y2(n){return new UO({check:"string_format",format:"uppercase",...F(n)})}function b2(n,l){return new ZO({check:"string_format",format:"includes",...F(l),includes:n})}function S2(n,l){return new BO({check:"string_format",format:"starts_with",...F(l),prefix:n})}function x2(n,l){return new LO({check:"string_format",format:"ends_with",...F(l),suffix:n})}function yr(n){return new $O({check:"overwrite",tx:n})}function E2(n){return yr(l=>l.normalize(n))}function O2(){return yr(n=>n.trim())}function A2(){return yr(n=>n.toLowerCase())}function w2(){return yr(n=>n.toUpperCase())}function T2(n,l,r){return new n({type:"array",element:l,...F(r)})}function R2(n,l,r){return new n({type:"custom",check:"custom",fn:l,...F(r)})}function z2(n){const l=D2(r=>(r.addIssue=u=>{if(typeof u=="string")r.issues.push(cr(u,r.value,l._zod.def));else{const o=u;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=l),o.continue??(o.continue=!l._zod.def.abort),r.issues.push(cr(o))}},n(r.value,r)));return l}function D2(n,l){const r=new St({check:"custom",...F(l)});return r._zod.check=n,r}const N2=M("ZodISODateTime",(n,l)=>{IO.init(n,l),Le.init(n,l)});function j2(n){return r2(N2,n)}const M2=M("ZodISODate",(n,l)=>{eA.init(n,l),Le.init(n,l)});function C2(n){return u2(M2,n)}const U2=M("ZodISOTime",(n,l)=>{tA.init(n,l),Le.init(n,l)});function Z2(n){return o2(U2,n)}const B2=M("ZodISODuration",(n,l)=>{nA.init(n,l),Le.init(n,l)});function L2(n){return s2(B2,n)}const $2=(n,l)=>{S_.init(n,l),n.name="ZodError",Object.defineProperties(n,{format:{value:r=>PE(n,r)},flatten:{value:r=>JE(n,r)},addIssue:{value:r=>{n.issues.push(r),n.message=JSON.stringify(n.issues,wf,2)}},addIssues:{value:r=>{n.issues.push(...r),n.message=JSON.stringify(n.issues,wf,2)}},isEmpty:{get(){return n.issues.length===0}}})},Ro=M("ZodError",$2,{Parent:Error}),k2=WE(Ro),H2=FE(Ro),q2=E_(Ro),V2=O_(Ro),Ze=M("ZodType",(n,l)=>(De.init(n,l),n.def=l,Object.defineProperty(n,"_def",{value:l}),n.check=(...r)=>n.clone({...l,checks:[...l.checks??[],...r.map(u=>typeof u=="function"?{_zod:{check:u,def:{check:"custom"},onattach:[]}}:u)]}),n.clone=(r,u)=>el(n,r,u),n.brand=()=>n,n.register=(r,u)=>(r.add(n,u),n),n.parse=(r,u)=>k2(n,r,u,{callee:n.parse}),n.safeParse=(r,u)=>q2(n,r,u),n.parseAsync=async(r,u)=>H2(n,r,u,{callee:n.parseAsync}),n.safeParseAsync=async(r,u)=>V2(n,r,u),n.spa=n.safeParseAsync,n.refine=(r,u)=>n.check(Bw(r,u)),n.superRefine=r=>n.check(Lw(r)),n.overwrite=r=>n.check(yr(r)),n.optional=()=>tg(n),n.nullable=()=>ng(n),n.nullish=()=>tg(ng(n)),n.nonoptional=r=>Dw(n,r),n.array=()=>Zt(n),n.or=r=>Do([n,r]),n.and=r=>Sw(n,r),n.transform=r=>zf(n,$_(r)),n.default=r=>Tw(n,r),n.prefault=r=>zw(n,r),n.catch=r=>jw(n,r),n.pipe=r=>zf(n,r),n.readonly=()=>Uw(n),n.describe=r=>{const u=n.clone();return Vu.add(u,{description:r}),u},Object.defineProperty(n,"description",{get(){return Vu.get(n)?.description},configurable:!0}),n.meta=(...r)=>{if(r.length===0)return Vu.get(n);const u=n.clone();return Vu.add(u,r[0]),u},n.isOptional=()=>n.safeParse(void 0).success,n.isNullable=()=>n.safeParse(null).success,n)),Z_=M("_ZodString",(n,l)=>{Jf.init(n,l),Ze.init(n,l);const r=n._zod.bag;n.format=r.format??null,n.minLength=r.minimum??null,n.maxLength=r.maximum??null,n.regex=(...u)=>n.check(g2(...u)),n.includes=(...u)=>n.check(b2(...u)),n.startsWith=(...u)=>n.check(S2(...u)),n.endsWith=(...u)=>n.check(x2(...u)),n.min=(...u)=>n.check(fo(...u)),n.max=(...u)=>n.check(C_(...u)),n.length=(...u)=>n.check(U_(...u)),n.nonempty=(...u)=>n.check(fo(1,...u)),n.lowercase=u=>n.check(_2(u)),n.uppercase=u=>n.check(y2(u)),n.trim=()=>n.check(O2()),n.normalize=(...u)=>n.check(E2(...u)),n.toLowerCase=()=>n.check(A2()),n.toUpperCase=()=>n.check(w2())}),Y2=M("ZodString",(n,l)=>{Jf.init(n,l),Z_.init(n,l),n.email=r=>n.check($A(G2,r)),n.url=r=>n.check(YA(X2,r)),n.jwt=r=>n.check(i2(uw,r)),n.emoji=r=>n.check(GA(K2,r)),n.guid=r=>n.check(Qm(Fm,r)),n.uuid=r=>n.check(kA(Yu,r)),n.uuidv4=r=>n.check(HA(Yu,r)),n.uuidv6=r=>n.check(qA(Yu,r)),n.uuidv7=r=>n.check(VA(Yu,r)),n.nanoid=r=>n.check(XA(Q2,r)),n.guid=r=>n.check(Qm(Fm,r)),n.cuid=r=>n.check(KA(J2,r)),n.cuid2=r=>n.check(QA(P2,r)),n.ulid=r=>n.check(JA(W2,r)),n.base64=r=>n.check(n2(lw,r)),n.base64url=r=>n.check(a2(iw,r)),n.xid=r=>n.check(PA(F2,r)),n.ksuid=r=>n.check(WA(I2,r)),n.ipv4=r=>n.check(FA(ew,r)),n.ipv6=r=>n.check(IA(tw,r)),n.cidrv4=r=>n.check(e2(nw,r)),n.cidrv6=r=>n.check(t2(aw,r)),n.e164=r=>n.check(l2(rw,r)),n.datetime=r=>n.check(j2(r)),n.date=r=>n.check(C2(r)),n.time=r=>n.check(Z2(r)),n.duration=r=>n.check(L2(r))});function P(n){return LA(Y2,n)}const Le=M("ZodStringFormat",(n,l)=>{Ue.init(n,l),Z_.init(n,l)}),G2=M("ZodEmail",(n,l)=>{YO.init(n,l),Le.init(n,l)}),Fm=M("ZodGUID",(n,l)=>{qO.init(n,l),Le.init(n,l)}),Yu=M("ZodUUID",(n,l)=>{VO.init(n,l),Le.init(n,l)}),X2=M("ZodURL",(n,l)=>{GO.init(n,l),Le.init(n,l)}),K2=M("ZodEmoji",(n,l)=>{XO.init(n,l),Le.init(n,l)}),Q2=M("ZodNanoID",(n,l)=>{KO.init(n,l),Le.init(n,l)}),J2=M("ZodCUID",(n,l)=>{QO.init(n,l),Le.init(n,l)}),P2=M("ZodCUID2",(n,l)=>{JO.init(n,l),Le.init(n,l)}),W2=M("ZodULID",(n,l)=>{PO.init(n,l),Le.init(n,l)}),F2=M("ZodXID",(n,l)=>{WO.init(n,l),Le.init(n,l)}),I2=M("ZodKSUID",(n,l)=>{FO.init(n,l),Le.init(n,l)}),ew=M("ZodIPv4",(n,l)=>{aA.init(n,l),Le.init(n,l)}),tw=M("ZodIPv6",(n,l)=>{lA.init(n,l),Le.init(n,l)}),nw=M("ZodCIDRv4",(n,l)=>{iA.init(n,l),Le.init(n,l)}),aw=M("ZodCIDRv6",(n,l)=>{rA.init(n,l),Le.init(n,l)}),lw=M("ZodBase64",(n,l)=>{uA.init(n,l),Le.init(n,l)}),iw=M("ZodBase64URL",(n,l)=>{sA.init(n,l),Le.init(n,l)}),rw=M("ZodE164",(n,l)=>{cA.init(n,l),Le.init(n,l)}),uw=M("ZodJWT",(n,l)=>{dA.init(n,l),Le.init(n,l)}),B_=M("ZodNumber",(n,l)=>{j_.init(n,l),Ze.init(n,l),n.gt=(u,o)=>n.check(Pm(u,o)),n.gte=(u,o)=>n.check(Fu(u,o)),n.min=(u,o)=>n.check(Fu(u,o)),n.lt=(u,o)=>n.check(Jm(u,o)),n.lte=(u,o)=>n.check(Wu(u,o)),n.max=(u,o)=>n.check(Wu(u,o)),n.int=u=>n.check(Im(u)),n.safe=u=>n.check(Im(u)),n.positive=u=>n.check(Pm(0,u)),n.nonnegative=u=>n.check(Fu(0,u)),n.negative=u=>n.check(Jm(0,u)),n.nonpositive=u=>n.check(Wu(0,u)),n.multipleOf=(u,o)=>n.check(Wm(u,o)),n.step=(u,o)=>n.check(Wm(u,o)),n.finite=()=>n;const r=n._zod.bag;n.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,n.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,n.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),n.isFinite=!0,n.format=r.format??null});function st(n){return c2(B_,n)}const ow=M("ZodNumberFormat",(n,l)=>{hA.init(n,l),B_.init(n,l)});function Im(n){return f2(ow,n)}const sw=M("ZodBoolean",(n,l)=>{vA.init(n,l),Ze.init(n,l)});function zo(n){return d2(sw,n)}const cw=M("ZodAny",(n,l)=>{pA.init(n,l),Ze.init(n,l)});function Ut(){return h2(cw)}const fw=M("ZodUnknown",(n,l)=>{mA.init(n,l),Ze.init(n,l)});function eg(){return v2(fw)}const dw=M("ZodNever",(n,l)=>{gA.init(n,l),Ze.init(n,l)});function hw(n){return p2(dw,n)}const vw=M("ZodDate",(n,l)=>{_A.init(n,l),Ze.init(n,l),n.min=(u,o)=>n.check(Fu(u,o)),n.max=(u,o)=>n.check(Wu(u,o));const r=n._zod.bag;n.minDate=r.minimum?new Date(r.minimum):null,n.maxDate=r.maximum?new Date(r.maximum):null});function pw(n){return m2(vw,n)}const mw=M("ZodArray",(n,l)=>{yA.init(n,l),Ze.init(n,l),n.element=l.element,n.min=(r,u)=>n.check(fo(r,u)),n.nonempty=r=>n.check(fo(1,r)),n.max=(r,u)=>n.check(C_(r,u)),n.length=(r,u)=>n.check(U_(r,u)),n.unwrap=()=>n.element});function Zt(n,l){return T2(mw,n,l)}const gw=M("ZodObject",(n,l)=>{bA.init(n,l),Ze.init(n,l),Re(n,"shape",()=>l.shape),n.keyof=()=>No(Object.keys(n._zod.def.shape)),n.catchall=r=>n.clone({...n._zod.def,catchall:r}),n.passthrough=()=>n.clone({...n._zod.def,catchall:eg()}),n.loose=()=>n.clone({...n._zod.def,catchall:eg()}),n.strict=()=>n.clone({...n._zod.def,catchall:hw()}),n.strip=()=>n.clone({...n._zod.def,catchall:void 0}),n.extend=r=>GE(n,r),n.merge=r=>XE(n,r),n.pick=r=>VE(n,r),n.omit=r=>YE(n,r),n.partial=(...r)=>KE(k_,n,r[0]),n.required=(...r)=>QE(H_,n,r[0])});function $e(n,l){const r={type:"object",get shape(){return Ia(this,"shape",{...n}),this.shape},...F(l)};return new gw(r)}const L_=M("ZodUnion",(n,l)=>{M_.init(n,l),Ze.init(n,l),n.options=l.options});function Do(n,l){return new L_({type:"union",options:n,...F(l)})}const _w=M("ZodDiscriminatedUnion",(n,l)=>{L_.init(n,l),SA.init(n,l)});function yw(n,l,r){return new _w({type:"union",options:l,discriminator:n,...F(r)})}const bw=M("ZodIntersection",(n,l)=>{xA.init(n,l),Ze.init(n,l)});function Sw(n,l){return new bw({type:"intersection",left:n,right:l})}const xw=M("ZodRecord",(n,l)=>{EA.init(n,l),Ze.init(n,l),n.keyType=l.keyType,n.valueType=l.valueType});function bt(n,l,r){return new xw({type:"record",keyType:n,valueType:l,...F(r)})}const Rf=M("ZodEnum",(n,l)=>{OA.init(n,l),Ze.init(n,l),n.enum=l.entries,n.options=Object.values(l.entries);const r=new Set(Object.keys(l.entries));n.extract=(u,o)=>{const f={};for(const d of u)if(r.has(d))f[d]=l.entries[d];else throw new Error(`Key ${d} not found in enum`);return new Rf({...l,checks:[],...F(o),entries:f})},n.exclude=(u,o)=>{const f={...l.entries};for(const d of u)if(r.has(d))delete f[d];else throw new Error(`Key ${d} not found in enum`);return new Rf({...l,checks:[],...F(o),entries:f})}});function No(n,l){const r=Array.isArray(n)?Object.fromEntries(n.map(u=>[u,u])):n;return new Rf({type:"enum",entries:r,...F(l)})}const Ew=M("ZodLiteral",(n,l)=>{AA.init(n,l),Ze.init(n,l),n.values=new Set(l.values),Object.defineProperty(n,"value",{get(){if(l.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return l.values[0]}})});function br(n,l){return new Ew({type:"literal",values:Array.isArray(n)?n:[n],...F(l)})}const Ow=M("ZodTransform",(n,l)=>{wA.init(n,l),Ze.init(n,l),n._zod.parse=(r,u)=>{r.addIssue=f=>{if(typeof f=="string")r.issues.push(cr(f,r.value,l));else{const d=f;d.fatal&&(d.continue=!1),d.code??(d.code="custom"),d.input??(d.input=r.value),d.inst??(d.inst=n),r.issues.push(cr(d))}};const o=l.transform(r.value,r);return o instanceof Promise?o.then(f=>(r.value=f,r)):(r.value=o,r)}});function $_(n){return new Ow({type:"transform",transform:n})}const k_=M("ZodOptional",(n,l)=>{TA.init(n,l),Ze.init(n,l),n.unwrap=()=>n._zod.def.innerType});function tg(n){return new k_({type:"optional",innerType:n})}const Aw=M("ZodNullable",(n,l)=>{RA.init(n,l),Ze.init(n,l),n.unwrap=()=>n._zod.def.innerType});function ng(n){return new Aw({type:"nullable",innerType:n})}const ww=M("ZodDefault",(n,l)=>{zA.init(n,l),Ze.init(n,l),n.unwrap=()=>n._zod.def.innerType,n.removeDefault=n.unwrap});function Tw(n,l){return new ww({type:"default",innerType:n,get defaultValue(){return typeof l=="function"?l():l}})}const Rw=M("ZodPrefault",(n,l)=>{DA.init(n,l),Ze.init(n,l),n.unwrap=()=>n._zod.def.innerType});function zw(n,l){return new Rw({type:"prefault",innerType:n,get defaultValue(){return typeof l=="function"?l():l}})}const H_=M("ZodNonOptional",(n,l)=>{NA.init(n,l),Ze.init(n,l),n.unwrap=()=>n._zod.def.innerType});function Dw(n,l){return new H_({type:"nonoptional",innerType:n,...F(l)})}const Nw=M("ZodCatch",(n,l)=>{jA.init(n,l),Ze.init(n,l),n.unwrap=()=>n._zod.def.innerType,n.removeCatch=n.unwrap});function jw(n,l){return new Nw({type:"catch",innerType:n,catchValue:typeof l=="function"?l:()=>l})}const Mw=M("ZodPipe",(n,l)=>{MA.init(n,l),Ze.init(n,l),n.in=l.in,n.out=l.out});function zf(n,l){return new Mw({type:"pipe",in:n,out:l})}const Cw=M("ZodReadonly",(n,l)=>{CA.init(n,l),Ze.init(n,l),n.unwrap=()=>n._zod.def.innerType});function Uw(n){return new Cw({type:"readonly",innerType:n})}const Zw=M("ZodCustom",(n,l)=>{UA.init(n,l),Ze.init(n,l)});function Bw(n,l={}){return R2(Zw,n,l)}function Lw(n){return z2(n)}function $w(n,l){return zf($_(n),l)}const kw=$e({text:P().describe("The text content."),type:br("text").default("text").describe("The type of the content part.")}),q_=$e({name:P(),arguments:P()}),Hw=$e({id:P(),type:br("function"),function:q_}),qw=$e({role:P().describe("assistant, user, system, tool"),content:Do([P(),Zt(kw)]).optional().default("").describe("The content of the message."),name:P().optional(),tool_call_id:P().optional(),tool_calls:Zt(Hw).optional(),function_call:q_.optional(),control_plane_step:bt(P(),Ut()).optional()}),Vw=$e({is_score_valid:zo().default(!0),score:st().min(0).max(1),reason:P()}),Yw=$e({step_index:Do([st(),P()]).describe("User-defined index for the step (e.g., assistant message index, turn number). This is used by the system to map this output to the internal StepData."),base_reward:st().describe("Base reward calculated by the user's reward function for this step."),terminated:zo().default(!1).describe("Whether the environment signaled termination at this step."),control_plane_info:bt(P(),Ut()).optional().describe("Structured info from the environment's control plane."),metrics:bt(P(),Ut()).default({}).describe("Optional dictionary of custom metrics for this step."),reason:P().optional().describe("Optional explanation for the step's base reward or metrics.")}),Gw=$e({score:st().describe("The overall evaluation score, typically between 0.0 and 1.0."),is_score_valid:zo().default(!0).describe("Whether the overall score is valid."),reason:P().optional().describe("Optional explanation for the overall score."),metrics:bt(P(),Vw).default({}).describe("Dictionary of component metrics for detailed breakdown."),step_outputs:Zt(Yw).optional().describe("For RL, a list of outputs for each conceptual step, providing base rewards."),error:P().optional().describe("Optional error message if the evaluation itself encountered an issue."),trajectory_info:bt(P(),Ut()).optional().describe("Additional trajectory-level information (duration, steps, termination_reason, etc.)."),final_control_plane_info:bt(P(),Ut()).optional().describe("The final control plane state that led to termination.")}),Xw=$e({model:P().describe("Model identifier (e.g., 'gpt-4.1', 'fireworks/llama')"),temperature:st().optional().describe("Temperature setting for model generation"),max_tokens:st().optional().describe("Maximum tokens to generate"),max_tool_calls:st().optional().describe("Maximum tool calls per turn")}),Kw=$e({row_id:P().optional().describe("Unique string to ID the row"),completion_params:Xw.optional().describe("Completion endpoint parameters used"),dataset_info:bt(P(),Ut()).optional().describe("Dataset row details: seed, system_prompt, environment_context, etc"),session_data:bt(P(),Ut()).optional().describe("Session metadata like timestamp (input only, no duration/usage)")}).loose(),Qw=$e({prompt_tokens:st(),completion_tokens:st(),total_tokens:st()}),Jw=$e({name:P().describe("Name of the evaluation"),description:P().optional().describe("Description of the evaluation"),version:P().describe("Version of the evaluation. By default, we will populate this with the current commit hash."),status:No(["running","finished","error","stopped"]).optional().describe("Status of the evaluation"),num_runs:st().int().describe("Number of times the evaluation was repeated"),aggregation_method:P().describe("Method used to aggregate scores across runs"),threshold_of_success:st().optional().describe("Threshold score for test success"),passed:zo().optional().describe("Whether the evaluation passed based on the threshold")}),Pw=$e({status:No(["running","finished","error","stopped"]).default("finished").describe("Status of the rollout."),error_message:P().optional().describe("Error message if the rollout failed.")}),Df=$e({messages:Zt(qw).describe("List of messages in the conversation/trajectory."),tools:Zt(bt(P(),Ut())).optional().describe("Available tools/functions that were provided to the agent."),input_metadata:Kw.describe("Metadata related to the input (dataset info, model config, session data, etc.)."),rollout_status:Pw.default({status:"finished"}).describe("The status of the rollout."),invocation_id:P().optional().describe("The ID of the invocation that this row belongs to."),cohort_id:P().optional().describe("The ID of the cohort that this row belongs to."),rollout_id:P().optional().describe("The ID of the rollout that this row belongs to."),run_id:P().optional().describe("The ID of the run that this row belongs to."),ground_truth:P().optional().describe("Optional ground truth reference for this evaluation."),evaluation_result:Gw.optional().describe("The evaluation result for this row/trajectory."),usage:Qw.optional().describe("Token usage statistics from LLM calls during execution."),created_at:$w(n=>typeof n=="string"?new Date(n):n,pw()).describe("The timestamp when the row was created. Accepts string and parses to Date."),eval_metadata:Jw.optional().describe("Metadata about the evaluation that was run."),pid:st().optional().describe("The PID of the process that created the row. This is used by the evaluation watcher to detect stopped evaluations.")}),Ww=$e({start_command:P().describe("The command to start the server. The string '{port}' will be replaced with a dynamically allocated free port."),health_check_url:P().describe("The URL to poll to check if the server is ready. The string '{port}' will be replaced with the allocated port.")}),Fw=$e({final_state_query:P().optional().describe("A query (e.g., SQL) to run on the final state of the resource."),expected_query_result_transform:P().optional().describe("A Python lambda string (e.g., 'lambda x: x > 0') to transform and evaluate the query result to a boolean."),ground_truth_function_calls:Zt(Zt(P())).optional().describe("Ground truth function calls for BFCL evaluation."),ground_truth_comparable_state:bt(P(),Ut()).optional().describe("Ground truth comparable state for BFCL evaluation.")});$e({name:P().describe("Unique name for the task."),description:P().optional().describe("A brief description of the task."),resource_type:P().describe("The type of ForkableResource to use (e.g., 'SQLResource', 'PythonStateResource', 'FileSystemResource', 'DockerResource')."),base_resource_config:bt(P(),Ut()).default({}).describe("Configuration dictionary passed to the base resource's setup() method."),tools_module_path:P().optional().describe("Optional Python import path to a module containing custom tool functions for this task."),reward_function_path:P().describe("Python import path to the reward function (e.g., 'my_module.my_reward_func')."),goal_description:P().optional().describe("A human-readable description of the agent's goal for this task."),evaluation_criteria:Fw.optional().describe("Criteria used by the Orchestrator to determine if the primary goal was achieved."),initial_user_prompt:P().optional().describe("The initial prompt or message to start the agent interaction. Deprecated if 'messages' field is used for multi-turn."),messages:Zt(bt(P(),Ut())).optional().describe("A list of messages to start the conversation, can represent multiple user turns for sequential processing."),poc_max_turns:st().int().min(1).default(3).describe("For PoC Orchestrator, the maximum number of interaction turns."),resource_server:Ww.optional().describe("Configuration for a background server required for the task."),num_rollouts:st().int().min(1).default(1).describe("Number of parallel rollouts to execute for this task definition."),dataset_path:P().optional().describe("Path to dataset file (JSONL) containing experimental conditions for data-driven evaluation."),num_rollouts_per_sample:st().int().min(1).default(1).describe("Number of rollouts to execute per sample from the dataset.")}).loose();const Iw=$e({command:P().describe("command to run the MCP server"),args:Zt(P()).default([]).describe("to pass to the command"),env:Zt(P()).default([]).describe("List of environment variables to verify exist in the environment")}),eT=$e({url:P().describe("url to the MCP server")});$e({mcpServers:bt(P(),Do([Iw,eT]))});const tT=$e({type:br("initialize_logs"),logs:Zt(Ut())}),nT=$e({type:br("log"),row:Df}),aT=yw("type",[tT,nT]);$e({status:br("ok"),build_dir:P(),active_connections:st(),watch_paths:Zt(P())});$e({id:P(),timestamp:P(),level:No(["DEBUG","INFO","WARNING","ERROR"]),message:P(),metadata:bt(P(),Ut()).optional()});class lT{isConnected=!1;dataset={};expandedRows={};constructor(){Ox(this)}upsertRows(l){l.forEach(r=>{r.rollout_id&&(this.dataset[r.rollout_id]=r)})}toggleRowExpansion(l){l&&(this.expandedRows[l]?this.expandedRows[l]=!1:this.expandedRows[l]=!0)}isRowExpanded(l){return l?this.expandedRows[l]:!1}setAllRowsExpanded(l){Object.keys(this.dataset).forEach(r=>{this.expandedRows[r]=l})}get sortedDataset(){return Object.values(this.dataset).sort((l,r)=>new Date(r.created_at).getTime()-new Date(l.created_at).getTime())}get totalCount(){return Object.keys(this.dataset).length}}const iT="/assets/logo-light-BprIBJQW.png",vt={websocket:{host:"localhost",port:"8000",protocol:"ws"},api:{host:"localhost",port:"8000",protocol:"http"}},rT=()=>{const{protocol:n,host:l,port:r}=vt.websocket;return`${n}://${l}:${r}/ws`},uT=async()=>{try{if(window.SERVER_CONFIG){const u=window.SERVER_CONFIG;vt.websocket.host=u.host,vt.websocket.port=u.port,vt.websocket.protocol=u.protocol,vt.api.host=u.host,vt.api.port=u.port,vt.api.protocol=u.apiProtocol,console.log("Using server-injected config:",vt);return}const n=window.location.hostname,l=window.location.port,r=window.location.protocol==="https:"?"wss:":"ws:";vt.websocket.host=n,vt.websocket.port=l||(r==="wss:"?"443":"80"),vt.websocket.protocol=r,vt.api.host=n,vt.api.port=l||(r==="wss:"?"443":"80"),vt.api.protocol=window.location.protocol==="https:"?"https:":"http:",console.log("Using discovered config from location:",vt)}catch(n){console.warn("Failed to discover server config, using defaults:",n)}},ot=new lT,oT=1e3,ag=5,sT=Ge(()=>{const n=z.useRef(null),l=z.useRef(null),r=z.useRef(0),u=()=>{if(n.current?.readyState===WebSocket.OPEN)return;const d=new WebSocket(rT());n.current=d,d.onopen=()=>{console.log("Connected to file watcher"),ot.isConnected=!0,r.current=0},d.onmessage=v=>{try{const p=aT.parse(JSON.parse(v.data));if(p.type==="initialize_logs"){const m=p.logs.map(_=>Df.parse(_));console.log("initialize_logs",m),ot.upsertRows(m)}else if(p.type==="log"){const m=Df.parse(p.row);console.log("log",m),ot.upsertRows([m])}}catch(p){console.error("Failed to parse WebSocket message:",p)}},d.onclose=v=>{console.log("Disconnected from file watcher",v.code,v.reason),ot.isConnected=!1,v.code!==1e3&&r.current{console.error("WebSocket error:",v),ot.isConnected=!1}},o=()=>{l.current&&clearTimeout(l.current);const d=oT*Math.pow(2,r.current);console.log(`Scheduling reconnect attempt ${r.current+1} in ${d}ms`),l.current=setTimeout(()=>{r.current++,console.log(`Attempting to reconnect (attempt ${r.current}/${ag})`),u()},d)},f=()=>{if(n.current){try{n.current.onclose=null,n.current.close()}catch{}n.current=null}u()};return z.useEffect(()=>((async()=>{await uT(),u()})(),()=>{l.current&&clearTimeout(l.current),n.current&&n.current.close()}),[]),x.jsxs("div",{className:"min-h-screen bg-gray-50",children:[x.jsx("nav",{className:"bg-white border-b border-gray-200",children:x.jsx("div",{className:"max-w-7xl mx-auto px-3",children:x.jsxs("div",{className:"flex justify-between items-center h-10",children:[x.jsx("div",{className:"flex items-center space-x-2",children:x.jsx("a",{href:"https://evalprotocol.io",target:"_blank",children:x.jsx("img",{src:iT,alt:"Eval Protocol",className:"h-6 w-auto"})})}),x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(v_,{status:ot.isConnected?"connected":"disconnected"}),x.jsx(Hn,{onClick:f,className:"ml-2",children:"Refresh"})]})]})})}),x.jsx("main",{className:"max-w-7xl mx-auto px-3 py-4",children:x.jsxs(fS,{children:[x.jsx(Gu,{path:"/",element:x.jsx(sS,{to:"/table",replace:!0})}),x.jsx(Gu,{path:"/table",element:x.jsx(Um,{onRefresh:f})}),x.jsx(Gu,{path:"/pivot",element:x.jsx(Um,{onRefresh:f})})]})})]})});bb.createRoot(document.getElementById("root")).render(x.jsx(Gl.StrictMode,{children:x.jsx(CS,{children:x.jsx(sT,{})})})); -//# sourceMappingURL=index-t_hsfGP1.js.map + `)}T.write("payload.value = newResult;"),T.write("return payload;");const $=T.compile();return(X,q)=>$(O,X,q)};let o;const f=so,d=!__.jitless,p=d&&$E.value,m=l.catchall;let _;n._zod.parse=(O,T)=>{_??(_=r.value);const Z=O.value;if(!f(Z))return O.issues.push({expected:"object",code:"invalid_type",input:Z,inst:n}),O;const H=[];if(d&&p&&T?.async===!1&&T.jitless!==!0)o||(o=u(l.shape)),O=o(O,T);else{O.value={};const q=_.shape;for(const W of _.keys){const he=q[W]._zod.run({value:Z[W],issues:[]},T);he instanceof Promise?H.push(he.then(xe=>qu(xe,O,W,Z))):qu(he,O,W,Z)}}if(!m)return H.length?Promise.all(H).then(()=>O):O;const B=[],U=_.keySet,$=m._zod,X=$.def.type;for(const q of Object.keys(Z)){if(U.has(q))continue;if(X==="never"){B.push(q);continue}const W=$.run({value:Z[q],issues:[]},T);W instanceof Promise?H.push(W.then(Q=>qu(Q,O,q,Z))):qu(W,O,q,Z)}return B.length&&O.issues.push({code:"unrecognized_keys",keys:B,input:Z,inst:n}),H.length?Promise.all(H).then(()=>O):O}});function km(n,l,r,u){for(const f of n)if(f.issues.length===0)return l.value=f.value,l;const o=n.filter(f=>!ar(f));return o.length===1?(l.value=o[0].value,o[0]):(l.issues.push({code:"invalid_union",input:l.value,inst:r,errors:n.map(f=>f.issues.map(d=>xa(d,u,Sa())))}),l)}const M_=M("$ZodUnion",(n,l)=>{De.init(n,l),Re(n._zod,"optin",()=>l.options.some(o=>o._zod.optin==="optional")?"optional":void 0),Re(n._zod,"optout",()=>l.options.some(o=>o._zod.optout==="optional")?"optional":void 0),Re(n._zod,"values",()=>{if(l.options.every(o=>o._zod.values))return new Set(l.options.flatMap(o=>Array.from(o._zod.values)))}),Re(n._zod,"pattern",()=>{if(l.options.every(o=>o._zod.pattern)){const o=l.options.map(f=>f._zod.pattern);return new RegExp(`^(${o.map(f=>Kf(f.source)).join("|")})$`)}});const r=l.options.length===1,u=l.options[0]._zod.run;n._zod.parse=(o,f)=>{if(r)return u(o,f);let d=!1;const v=[];for(const p of l.options){const m=p._zod.run({value:o.value,issues:[]},f);if(m instanceof Promise)v.push(m),d=!0;else{if(m.issues.length===0)return m;v.push(m)}}return d?Promise.all(v).then(p=>km(p,o,n,f)):km(v,o,n,f)}}),SA=M("$ZodDiscriminatedUnion",(n,l)=>{M_.init(n,l);const r=n._zod.parse;Re(n._zod,"propValues",()=>{const o={};for(const f of l.options){const d=f._zod.propValues;if(!d||Object.keys(d).length===0)throw new Error(`Invalid discriminated union option at index "${l.options.indexOf(f)}"`);for(const[v,p]of Object.entries(d)){o[v]||(o[v]=new Set);for(const m of p)o[v].add(m)}}return o});const u=Gf(()=>{const o=l.options,f=new Map;for(const d of o){const v=d._zod.propValues?.[l.discriminator];if(!v||v.size===0)throw new Error(`Invalid discriminated union option at index "${l.options.indexOf(d)}"`);for(const p of v){if(f.has(p))throw new Error(`Duplicate discriminator value "${String(p)}"`);f.set(p,d)}}return f});n._zod.parse=(o,f)=>{const d=o.value;if(!so(d))return o.issues.push({code:"invalid_type",expected:"object",input:d,inst:n}),o;const v=u.value.get(d?.[l.discriminator]);return v?v._zod.run(o,f):l.unionFallback?r(o,f):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:l.discriminator,input:d,path:[l.discriminator],inst:n}),o)}}),xA=M("$ZodIntersection",(n,l)=>{De.init(n,l),n._zod.parse=(r,u)=>{const o=r.value,f=l.left._zod.run({value:o,issues:[]},u),d=l.right._zod.run({value:o,issues:[]},u);return f instanceof Promise||d instanceof Promise?Promise.all([f,d]).then(([p,m])=>Hm(r,p,m)):Hm(r,f,d)}});function Tf(n,l){if(n===l)return{valid:!0,data:n};if(n instanceof Date&&l instanceof Date&&+n==+l)return{valid:!0,data:n};if(co(n)&&co(l)){const r=Object.keys(l),u=Object.keys(n).filter(f=>r.indexOf(f)!==-1),o={...n,...l};for(const f of u){const d=Tf(n[f],l[f]);if(!d.valid)return{valid:!1,mergeErrorPath:[f,...d.mergeErrorPath]};o[f]=d.data}return{valid:!0,data:o}}if(Array.isArray(n)&&Array.isArray(l)){if(n.length!==l.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let u=0;u{De.init(n,l),n._zod.parse=(r,u)=>{const o=r.value;if(!co(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:n}),r;const f=[];if(l.keyType._zod.values){const d=l.keyType._zod.values;r.value={};for(const p of d)if(typeof p=="string"||typeof p=="number"||typeof p=="symbol"){const m=l.valueType._zod.run({value:o[p],issues:[]},u);m instanceof Promise?f.push(m.then(_=>{_.issues.length&&r.issues.push(...Yl(p,_.issues)),r.value[p]=_.value})):(m.issues.length&&r.issues.push(...Yl(p,m.issues)),r.value[p]=m.value)}let v;for(const p in o)d.has(p)||(v=v??[],v.push(p));v&&v.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:n,keys:v})}else{r.value={};for(const d of Reflect.ownKeys(o)){if(d==="__proto__")continue;const v=l.keyType._zod.run({value:d,issues:[]},u);if(v instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(v.issues.length){r.issues.push({code:"invalid_key",origin:"record",issues:v.issues.map(m=>xa(m,u,Sa())),input:d,path:[d],inst:n}),r.value[v.value]=v.value;continue}const p=l.valueType._zod.run({value:o[d],issues:[]},u);p instanceof Promise?f.push(p.then(m=>{m.issues.length&&r.issues.push(...Yl(d,m.issues)),r.value[v.value]=m.value})):(p.issues.length&&r.issues.push(...Yl(d,p.issues)),r.value[v.value]=p.value)}}return f.length?Promise.all(f).then(()=>r):r}}),OA=M("$ZodEnum",(n,l)=>{De.init(n,l);const r=BE(l.entries),u=new Set(r);n._zod.values=u,n._zod.pattern=new RegExp(`^(${r.filter(o=>kE.has(typeof o)).map(o=>typeof o=="string"?Ql(o):o.toString()).join("|")})$`),n._zod.parse=(o,f)=>{const d=o.value;return u.has(d)||o.issues.push({code:"invalid_value",values:r,input:d,inst:n}),o}}),AA=M("$ZodLiteral",(n,l)=>{if(De.init(n,l),l.values.length===0)throw new Error("Cannot create literal schema with no valid values");n._zod.values=new Set(l.values),n._zod.pattern=new RegExp(`^(${l.values.map(r=>typeof r=="string"?Ql(r):r?Ql(r.toString()):String(r)).join("|")})$`),n._zod.parse=(r,u)=>{const o=r.value;return n._zod.values.has(o)||r.issues.push({code:"invalid_value",values:l.values,input:o,inst:n}),r}}),wA=M("$ZodTransform",(n,l)=>{De.init(n,l),n._zod.parse=(r,u)=>{const o=l.transform(r.value,r);if(u.async)return(o instanceof Promise?o:Promise.resolve(o)).then(d=>(r.value=d,r));if(o instanceof Promise)throw new sr;return r.value=o,r}});function qm(n,l){return n.issues.length&&l===void 0?{issues:[],value:void 0}:n}const TA=M("$ZodOptional",(n,l)=>{De.init(n,l),n._zod.optin="optional",n._zod.optout="optional",Re(n._zod,"values",()=>l.innerType._zod.values?new Set([...l.innerType._zod.values,void 0]):void 0),Re(n._zod,"pattern",()=>{const r=l.innerType._zod.pattern;return r?new RegExp(`^(${Kf(r.source)})?$`):void 0}),n._zod.parse=(r,u)=>{if(l.innerType._zod.optin==="optional"){const o=l.innerType._zod.run(r,u);return o instanceof Promise?o.then(f=>qm(f,r.value)):qm(o,r.value)}return r.value===void 0?r:l.innerType._zod.run(r,u)}}),RA=M("$ZodNullable",(n,l)=>{De.init(n,l),Re(n._zod,"optin",()=>l.innerType._zod.optin),Re(n._zod,"optout",()=>l.innerType._zod.optout),Re(n._zod,"pattern",()=>{const r=l.innerType._zod.pattern;return r?new RegExp(`^(${Kf(r.source)}|null)$`):void 0}),Re(n._zod,"values",()=>l.innerType._zod.values?new Set([...l.innerType._zod.values,null]):void 0),n._zod.parse=(r,u)=>r.value===null?r:l.innerType._zod.run(r,u)}),zA=M("$ZodDefault",(n,l)=>{De.init(n,l),n._zod.optin="optional",Re(n._zod,"values",()=>l.innerType._zod.values),n._zod.parse=(r,u)=>{if(r.value===void 0)return r.value=l.defaultValue,r;const o=l.innerType._zod.run(r,u);return o instanceof Promise?o.then(f=>Vm(f,l)):Vm(o,l)}});function Vm(n,l){return n.value===void 0&&(n.value=l.defaultValue),n}const DA=M("$ZodPrefault",(n,l)=>{De.init(n,l),n._zod.optin="optional",Re(n._zod,"values",()=>l.innerType._zod.values),n._zod.parse=(r,u)=>(r.value===void 0&&(r.value=l.defaultValue),l.innerType._zod.run(r,u))}),NA=M("$ZodNonOptional",(n,l)=>{De.init(n,l),Re(n._zod,"values",()=>{const r=l.innerType._zod.values;return r?new Set([...r].filter(u=>u!==void 0)):void 0}),n._zod.parse=(r,u)=>{const o=l.innerType._zod.run(r,u);return o instanceof Promise?o.then(f=>Ym(f,n)):Ym(o,n)}});function Ym(n,l){return!n.issues.length&&n.value===void 0&&n.issues.push({code:"invalid_type",expected:"nonoptional",input:n.value,inst:l}),n}const jA=M("$ZodCatch",(n,l)=>{De.init(n,l),Re(n._zod,"optin",()=>l.innerType._zod.optin),Re(n._zod,"optout",()=>l.innerType._zod.optout),Re(n._zod,"values",()=>l.innerType._zod.values),n._zod.parse=(r,u)=>{const o=l.innerType._zod.run(r,u);return o instanceof Promise?o.then(f=>(r.value=f.value,f.issues.length&&(r.value=l.catchValue({...r,error:{issues:f.issues.map(d=>xa(d,u,Sa()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=l.catchValue({...r,error:{issues:o.issues.map(f=>xa(f,u,Sa()))},input:r.value}),r.issues=[]),r)}}),MA=M("$ZodPipe",(n,l)=>{De.init(n,l),Re(n._zod,"values",()=>l.in._zod.values),Re(n._zod,"optin",()=>l.in._zod.optin),Re(n._zod,"optout",()=>l.out._zod.optout),Re(n._zod,"propValues",()=>l.in._zod.propValues),n._zod.parse=(r,u)=>{const o=l.in._zod.run(r,u);return o instanceof Promise?o.then(f=>Gm(f,l,u)):Gm(o,l,u)}});function Gm(n,l,r){return n.issues.length?n:l.out._zod.run({value:n.value,issues:n.issues},r)}const CA=M("$ZodReadonly",(n,l)=>{De.init(n,l),Re(n._zod,"propValues",()=>l.innerType._zod.propValues),Re(n._zod,"values",()=>l.innerType._zod.values),Re(n._zod,"optin",()=>l.innerType._zod.optin),Re(n._zod,"optout",()=>l.innerType._zod.optout),n._zod.parse=(r,u)=>{const o=l.innerType._zod.run(r,u);return o instanceof Promise?o.then(Xm):Xm(o)}});function Xm(n){return n.value=Object.freeze(n.value),n}const UA=M("$ZodCustom",(n,l)=>{St.init(n,l),De.init(n,l),n._zod.parse=(r,u)=>r,n._zod.check=r=>{const u=r.value,o=l.fn(u);if(o instanceof Promise)return o.then(f=>Km(f,r,u,n));Km(o,r,u,n)}});function Km(n,l,r,u){if(!n){const o={code:"custom",input:r,inst:u,path:[...u._zod.def.path??[]],continue:!u._zod.def.abort};u._zod.def.params&&(o.params=u._zod.def.params),l.issues.push(cr(o))}}class ZA{constructor(){this._map=new Map,this._idmap=new Map}add(l,...r){const u=r[0];if(this._map.set(l,u),u&&typeof u=="object"&&"id"in u){if(this._idmap.has(u.id))throw new Error(`ID ${u.id} already exists in the registry`);this._idmap.set(u.id,l)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(l){const r=this._map.get(l);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(l),this}get(l){const r=l._zod.parent;if(r){const u={...this.get(r)??{}};delete u.id;const o={...u,...this._map.get(l)};return Object.keys(o).length?o:void 0}return this._map.get(l)}has(l){return this._map.has(l)}}function BA(){return new ZA}const Vu=BA();function LA(n,l){return new n({type:"string",...F(l)})}function $A(n,l){return new n({type:"string",format:"email",check:"string_format",abort:!1,...F(l)})}function Qm(n,l){return new n({type:"string",format:"guid",check:"string_format",abort:!1,...F(l)})}function kA(n,l){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,...F(l)})}function HA(n,l){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...F(l)})}function qA(n,l){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...F(l)})}function VA(n,l){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...F(l)})}function YA(n,l){return new n({type:"string",format:"url",check:"string_format",abort:!1,...F(l)})}function GA(n,l){return new n({type:"string",format:"emoji",check:"string_format",abort:!1,...F(l)})}function XA(n,l){return new n({type:"string",format:"nanoid",check:"string_format",abort:!1,...F(l)})}function KA(n,l){return new n({type:"string",format:"cuid",check:"string_format",abort:!1,...F(l)})}function QA(n,l){return new n({type:"string",format:"cuid2",check:"string_format",abort:!1,...F(l)})}function JA(n,l){return new n({type:"string",format:"ulid",check:"string_format",abort:!1,...F(l)})}function PA(n,l){return new n({type:"string",format:"xid",check:"string_format",abort:!1,...F(l)})}function WA(n,l){return new n({type:"string",format:"ksuid",check:"string_format",abort:!1,...F(l)})}function FA(n,l){return new n({type:"string",format:"ipv4",check:"string_format",abort:!1,...F(l)})}function IA(n,l){return new n({type:"string",format:"ipv6",check:"string_format",abort:!1,...F(l)})}function e2(n,l){return new n({type:"string",format:"cidrv4",check:"string_format",abort:!1,...F(l)})}function t2(n,l){return new n({type:"string",format:"cidrv6",check:"string_format",abort:!1,...F(l)})}function n2(n,l){return new n({type:"string",format:"base64",check:"string_format",abort:!1,...F(l)})}function a2(n,l){return new n({type:"string",format:"base64url",check:"string_format",abort:!1,...F(l)})}function l2(n,l){return new n({type:"string",format:"e164",check:"string_format",abort:!1,...F(l)})}function i2(n,l){return new n({type:"string",format:"jwt",check:"string_format",abort:!1,...F(l)})}function r2(n,l){return new n({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...F(l)})}function u2(n,l){return new n({type:"string",format:"date",check:"string_format",...F(l)})}function o2(n,l){return new n({type:"string",format:"time",check:"string_format",precision:null,...F(l)})}function s2(n,l){return new n({type:"string",format:"duration",check:"string_format",...F(l)})}function c2(n,l){return new n({type:"number",checks:[],...F(l)})}function f2(n,l){return new n({type:"number",check:"number_format",abort:!1,format:"safeint",...F(l)})}function d2(n,l){return new n({type:"boolean",...F(l)})}function h2(n){return new n({type:"any"})}function v2(n){return new n({type:"unknown"})}function p2(n,l){return new n({type:"never",...F(l)})}function m2(n,l){return new n({type:"date",...F(l)})}function Jm(n,l){return new z_({check:"less_than",...F(l),value:n,inclusive:!1})}function Wu(n,l){return new z_({check:"less_than",...F(l),value:n,inclusive:!0})}function Pm(n,l){return new D_({check:"greater_than",...F(l),value:n,inclusive:!1})}function Fu(n,l){return new D_({check:"greater_than",...F(l),value:n,inclusive:!0})}function Wm(n,l){return new RO({check:"multiple_of",...F(l),value:n})}function C_(n,l){return new DO({check:"max_length",...F(l),maximum:n})}function fo(n,l){return new NO({check:"min_length",...F(l),minimum:n})}function U_(n,l){return new jO({check:"length_equals",...F(l),length:n})}function g2(n,l){return new MO({check:"string_format",format:"regex",...F(l),pattern:n})}function _2(n){return new CO({check:"string_format",format:"lowercase",...F(n)})}function y2(n){return new UO({check:"string_format",format:"uppercase",...F(n)})}function b2(n,l){return new ZO({check:"string_format",format:"includes",...F(l),includes:n})}function S2(n,l){return new BO({check:"string_format",format:"starts_with",...F(l),prefix:n})}function x2(n,l){return new LO({check:"string_format",format:"ends_with",...F(l),suffix:n})}function yr(n){return new $O({check:"overwrite",tx:n})}function E2(n){return yr(l=>l.normalize(n))}function O2(){return yr(n=>n.trim())}function A2(){return yr(n=>n.toLowerCase())}function w2(){return yr(n=>n.toUpperCase())}function T2(n,l,r){return new n({type:"array",element:l,...F(r)})}function R2(n,l,r){return new n({type:"custom",check:"custom",fn:l,...F(r)})}function z2(n){const l=D2(r=>(r.addIssue=u=>{if(typeof u=="string")r.issues.push(cr(u,r.value,l._zod.def));else{const o=u;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=l),o.continue??(o.continue=!l._zod.def.abort),r.issues.push(cr(o))}},n(r.value,r)));return l}function D2(n,l){const r=new St({check:"custom",...F(l)});return r._zod.check=n,r}const N2=M("ZodISODateTime",(n,l)=>{IO.init(n,l),Le.init(n,l)});function j2(n){return r2(N2,n)}const M2=M("ZodISODate",(n,l)=>{eA.init(n,l),Le.init(n,l)});function C2(n){return u2(M2,n)}const U2=M("ZodISOTime",(n,l)=>{tA.init(n,l),Le.init(n,l)});function Z2(n){return o2(U2,n)}const B2=M("ZodISODuration",(n,l)=>{nA.init(n,l),Le.init(n,l)});function L2(n){return s2(B2,n)}const $2=(n,l)=>{S_.init(n,l),n.name="ZodError",Object.defineProperties(n,{format:{value:r=>PE(n,r)},flatten:{value:r=>JE(n,r)},addIssue:{value:r=>{n.issues.push(r),n.message=JSON.stringify(n.issues,wf,2)}},addIssues:{value:r=>{n.issues.push(...r),n.message=JSON.stringify(n.issues,wf,2)}},isEmpty:{get(){return n.issues.length===0}}})},Ro=M("ZodError",$2,{Parent:Error}),k2=WE(Ro),H2=FE(Ro),q2=E_(Ro),V2=O_(Ro),Ze=M("ZodType",(n,l)=>(De.init(n,l),n.def=l,Object.defineProperty(n,"_def",{value:l}),n.check=(...r)=>n.clone({...l,checks:[...l.checks??[],...r.map(u=>typeof u=="function"?{_zod:{check:u,def:{check:"custom"},onattach:[]}}:u)]}),n.clone=(r,u)=>el(n,r,u),n.brand=()=>n,n.register=(r,u)=>(r.add(n,u),n),n.parse=(r,u)=>k2(n,r,u,{callee:n.parse}),n.safeParse=(r,u)=>q2(n,r,u),n.parseAsync=async(r,u)=>H2(n,r,u,{callee:n.parseAsync}),n.safeParseAsync=async(r,u)=>V2(n,r,u),n.spa=n.safeParseAsync,n.refine=(r,u)=>n.check(Bw(r,u)),n.superRefine=r=>n.check(Lw(r)),n.overwrite=r=>n.check(yr(r)),n.optional=()=>tg(n),n.nullable=()=>ng(n),n.nullish=()=>tg(ng(n)),n.nonoptional=r=>Dw(n,r),n.array=()=>Zt(n),n.or=r=>Do([n,r]),n.and=r=>Sw(n,r),n.transform=r=>zf(n,$_(r)),n.default=r=>Tw(n,r),n.prefault=r=>zw(n,r),n.catch=r=>jw(n,r),n.pipe=r=>zf(n,r),n.readonly=()=>Uw(n),n.describe=r=>{const u=n.clone();return Vu.add(u,{description:r}),u},Object.defineProperty(n,"description",{get(){return Vu.get(n)?.description},configurable:!0}),n.meta=(...r)=>{if(r.length===0)return Vu.get(n);const u=n.clone();return Vu.add(u,r[0]),u},n.isOptional=()=>n.safeParse(void 0).success,n.isNullable=()=>n.safeParse(null).success,n)),Z_=M("_ZodString",(n,l)=>{Jf.init(n,l),Ze.init(n,l);const r=n._zod.bag;n.format=r.format??null,n.minLength=r.minimum??null,n.maxLength=r.maximum??null,n.regex=(...u)=>n.check(g2(...u)),n.includes=(...u)=>n.check(b2(...u)),n.startsWith=(...u)=>n.check(S2(...u)),n.endsWith=(...u)=>n.check(x2(...u)),n.min=(...u)=>n.check(fo(...u)),n.max=(...u)=>n.check(C_(...u)),n.length=(...u)=>n.check(U_(...u)),n.nonempty=(...u)=>n.check(fo(1,...u)),n.lowercase=u=>n.check(_2(u)),n.uppercase=u=>n.check(y2(u)),n.trim=()=>n.check(O2()),n.normalize=(...u)=>n.check(E2(...u)),n.toLowerCase=()=>n.check(A2()),n.toUpperCase=()=>n.check(w2())}),Y2=M("ZodString",(n,l)=>{Jf.init(n,l),Z_.init(n,l),n.email=r=>n.check($A(G2,r)),n.url=r=>n.check(YA(X2,r)),n.jwt=r=>n.check(i2(uw,r)),n.emoji=r=>n.check(GA(K2,r)),n.guid=r=>n.check(Qm(Fm,r)),n.uuid=r=>n.check(kA(Yu,r)),n.uuidv4=r=>n.check(HA(Yu,r)),n.uuidv6=r=>n.check(qA(Yu,r)),n.uuidv7=r=>n.check(VA(Yu,r)),n.nanoid=r=>n.check(XA(Q2,r)),n.guid=r=>n.check(Qm(Fm,r)),n.cuid=r=>n.check(KA(J2,r)),n.cuid2=r=>n.check(QA(P2,r)),n.ulid=r=>n.check(JA(W2,r)),n.base64=r=>n.check(n2(lw,r)),n.base64url=r=>n.check(a2(iw,r)),n.xid=r=>n.check(PA(F2,r)),n.ksuid=r=>n.check(WA(I2,r)),n.ipv4=r=>n.check(FA(ew,r)),n.ipv6=r=>n.check(IA(tw,r)),n.cidrv4=r=>n.check(e2(nw,r)),n.cidrv6=r=>n.check(t2(aw,r)),n.e164=r=>n.check(l2(rw,r)),n.datetime=r=>n.check(j2(r)),n.date=r=>n.check(C2(r)),n.time=r=>n.check(Z2(r)),n.duration=r=>n.check(L2(r))});function P(n){return LA(Y2,n)}const Le=M("ZodStringFormat",(n,l)=>{Ue.init(n,l),Z_.init(n,l)}),G2=M("ZodEmail",(n,l)=>{YO.init(n,l),Le.init(n,l)}),Fm=M("ZodGUID",(n,l)=>{qO.init(n,l),Le.init(n,l)}),Yu=M("ZodUUID",(n,l)=>{VO.init(n,l),Le.init(n,l)}),X2=M("ZodURL",(n,l)=>{GO.init(n,l),Le.init(n,l)}),K2=M("ZodEmoji",(n,l)=>{XO.init(n,l),Le.init(n,l)}),Q2=M("ZodNanoID",(n,l)=>{KO.init(n,l),Le.init(n,l)}),J2=M("ZodCUID",(n,l)=>{QO.init(n,l),Le.init(n,l)}),P2=M("ZodCUID2",(n,l)=>{JO.init(n,l),Le.init(n,l)}),W2=M("ZodULID",(n,l)=>{PO.init(n,l),Le.init(n,l)}),F2=M("ZodXID",(n,l)=>{WO.init(n,l),Le.init(n,l)}),I2=M("ZodKSUID",(n,l)=>{FO.init(n,l),Le.init(n,l)}),ew=M("ZodIPv4",(n,l)=>{aA.init(n,l),Le.init(n,l)}),tw=M("ZodIPv6",(n,l)=>{lA.init(n,l),Le.init(n,l)}),nw=M("ZodCIDRv4",(n,l)=>{iA.init(n,l),Le.init(n,l)}),aw=M("ZodCIDRv6",(n,l)=>{rA.init(n,l),Le.init(n,l)}),lw=M("ZodBase64",(n,l)=>{uA.init(n,l),Le.init(n,l)}),iw=M("ZodBase64URL",(n,l)=>{sA.init(n,l),Le.init(n,l)}),rw=M("ZodE164",(n,l)=>{cA.init(n,l),Le.init(n,l)}),uw=M("ZodJWT",(n,l)=>{dA.init(n,l),Le.init(n,l)}),B_=M("ZodNumber",(n,l)=>{j_.init(n,l),Ze.init(n,l),n.gt=(u,o)=>n.check(Pm(u,o)),n.gte=(u,o)=>n.check(Fu(u,o)),n.min=(u,o)=>n.check(Fu(u,o)),n.lt=(u,o)=>n.check(Jm(u,o)),n.lte=(u,o)=>n.check(Wu(u,o)),n.max=(u,o)=>n.check(Wu(u,o)),n.int=u=>n.check(Im(u)),n.safe=u=>n.check(Im(u)),n.positive=u=>n.check(Pm(0,u)),n.nonnegative=u=>n.check(Fu(0,u)),n.negative=u=>n.check(Jm(0,u)),n.nonpositive=u=>n.check(Wu(0,u)),n.multipleOf=(u,o)=>n.check(Wm(u,o)),n.step=(u,o)=>n.check(Wm(u,o)),n.finite=()=>n;const r=n._zod.bag;n.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,n.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,n.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),n.isFinite=!0,n.format=r.format??null});function st(n){return c2(B_,n)}const ow=M("ZodNumberFormat",(n,l)=>{hA.init(n,l),B_.init(n,l)});function Im(n){return f2(ow,n)}const sw=M("ZodBoolean",(n,l)=>{vA.init(n,l),Ze.init(n,l)});function zo(n){return d2(sw,n)}const cw=M("ZodAny",(n,l)=>{pA.init(n,l),Ze.init(n,l)});function Ut(){return h2(cw)}const fw=M("ZodUnknown",(n,l)=>{mA.init(n,l),Ze.init(n,l)});function eg(){return v2(fw)}const dw=M("ZodNever",(n,l)=>{gA.init(n,l),Ze.init(n,l)});function hw(n){return p2(dw,n)}const vw=M("ZodDate",(n,l)=>{_A.init(n,l),Ze.init(n,l),n.min=(u,o)=>n.check(Fu(u,o)),n.max=(u,o)=>n.check(Wu(u,o));const r=n._zod.bag;n.minDate=r.minimum?new Date(r.minimum):null,n.maxDate=r.maximum?new Date(r.maximum):null});function pw(n){return m2(vw,n)}const mw=M("ZodArray",(n,l)=>{yA.init(n,l),Ze.init(n,l),n.element=l.element,n.min=(r,u)=>n.check(fo(r,u)),n.nonempty=r=>n.check(fo(1,r)),n.max=(r,u)=>n.check(C_(r,u)),n.length=(r,u)=>n.check(U_(r,u)),n.unwrap=()=>n.element});function Zt(n,l){return T2(mw,n,l)}const gw=M("ZodObject",(n,l)=>{bA.init(n,l),Ze.init(n,l),Re(n,"shape",()=>l.shape),n.keyof=()=>No(Object.keys(n._zod.def.shape)),n.catchall=r=>n.clone({...n._zod.def,catchall:r}),n.passthrough=()=>n.clone({...n._zod.def,catchall:eg()}),n.loose=()=>n.clone({...n._zod.def,catchall:eg()}),n.strict=()=>n.clone({...n._zod.def,catchall:hw()}),n.strip=()=>n.clone({...n._zod.def,catchall:void 0}),n.extend=r=>GE(n,r),n.merge=r=>XE(n,r),n.pick=r=>VE(n,r),n.omit=r=>YE(n,r),n.partial=(...r)=>KE(k_,n,r[0]),n.required=(...r)=>QE(H_,n,r[0])});function $e(n,l){const r={type:"object",get shape(){return Ia(this,"shape",{...n}),this.shape},...F(l)};return new gw(r)}const L_=M("ZodUnion",(n,l)=>{M_.init(n,l),Ze.init(n,l),n.options=l.options});function Do(n,l){return new L_({type:"union",options:n,...F(l)})}const _w=M("ZodDiscriminatedUnion",(n,l)=>{L_.init(n,l),SA.init(n,l)});function yw(n,l,r){return new _w({type:"union",options:l,discriminator:n,...F(r)})}const bw=M("ZodIntersection",(n,l)=>{xA.init(n,l),Ze.init(n,l)});function Sw(n,l){return new bw({type:"intersection",left:n,right:l})}const xw=M("ZodRecord",(n,l)=>{EA.init(n,l),Ze.init(n,l),n.keyType=l.keyType,n.valueType=l.valueType});function bt(n,l,r){return new xw({type:"record",keyType:n,valueType:l,...F(r)})}const Rf=M("ZodEnum",(n,l)=>{OA.init(n,l),Ze.init(n,l),n.enum=l.entries,n.options=Object.values(l.entries);const r=new Set(Object.keys(l.entries));n.extract=(u,o)=>{const f={};for(const d of u)if(r.has(d))f[d]=l.entries[d];else throw new Error(`Key ${d} not found in enum`);return new Rf({...l,checks:[],...F(o),entries:f})},n.exclude=(u,o)=>{const f={...l.entries};for(const d of u)if(r.has(d))delete f[d];else throw new Error(`Key ${d} not found in enum`);return new Rf({...l,checks:[],...F(o),entries:f})}});function No(n,l){const r=Array.isArray(n)?Object.fromEntries(n.map(u=>[u,u])):n;return new Rf({type:"enum",entries:r,...F(l)})}const Ew=M("ZodLiteral",(n,l)=>{AA.init(n,l),Ze.init(n,l),n.values=new Set(l.values),Object.defineProperty(n,"value",{get(){if(l.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return l.values[0]}})});function br(n,l){return new Ew({type:"literal",values:Array.isArray(n)?n:[n],...F(l)})}const Ow=M("ZodTransform",(n,l)=>{wA.init(n,l),Ze.init(n,l),n._zod.parse=(r,u)=>{r.addIssue=f=>{if(typeof f=="string")r.issues.push(cr(f,r.value,l));else{const d=f;d.fatal&&(d.continue=!1),d.code??(d.code="custom"),d.input??(d.input=r.value),d.inst??(d.inst=n),r.issues.push(cr(d))}};const o=l.transform(r.value,r);return o instanceof Promise?o.then(f=>(r.value=f,r)):(r.value=o,r)}});function $_(n){return new Ow({type:"transform",transform:n})}const k_=M("ZodOptional",(n,l)=>{TA.init(n,l),Ze.init(n,l),n.unwrap=()=>n._zod.def.innerType});function tg(n){return new k_({type:"optional",innerType:n})}const Aw=M("ZodNullable",(n,l)=>{RA.init(n,l),Ze.init(n,l),n.unwrap=()=>n._zod.def.innerType});function ng(n){return new Aw({type:"nullable",innerType:n})}const ww=M("ZodDefault",(n,l)=>{zA.init(n,l),Ze.init(n,l),n.unwrap=()=>n._zod.def.innerType,n.removeDefault=n.unwrap});function Tw(n,l){return new ww({type:"default",innerType:n,get defaultValue(){return typeof l=="function"?l():l}})}const Rw=M("ZodPrefault",(n,l)=>{DA.init(n,l),Ze.init(n,l),n.unwrap=()=>n._zod.def.innerType});function zw(n,l){return new Rw({type:"prefault",innerType:n,get defaultValue(){return typeof l=="function"?l():l}})}const H_=M("ZodNonOptional",(n,l)=>{NA.init(n,l),Ze.init(n,l),n.unwrap=()=>n._zod.def.innerType});function Dw(n,l){return new H_({type:"nonoptional",innerType:n,...F(l)})}const Nw=M("ZodCatch",(n,l)=>{jA.init(n,l),Ze.init(n,l),n.unwrap=()=>n._zod.def.innerType,n.removeCatch=n.unwrap});function jw(n,l){return new Nw({type:"catch",innerType:n,catchValue:typeof l=="function"?l:()=>l})}const Mw=M("ZodPipe",(n,l)=>{MA.init(n,l),Ze.init(n,l),n.in=l.in,n.out=l.out});function zf(n,l){return new Mw({type:"pipe",in:n,out:l})}const Cw=M("ZodReadonly",(n,l)=>{CA.init(n,l),Ze.init(n,l),n.unwrap=()=>n._zod.def.innerType});function Uw(n){return new Cw({type:"readonly",innerType:n})}const Zw=M("ZodCustom",(n,l)=>{UA.init(n,l),Ze.init(n,l)});function Bw(n,l={}){return R2(Zw,n,l)}function Lw(n){return z2(n)}function $w(n,l){return zf($_(n),l)}const kw=$e({text:P().describe("The text content."),type:br("text").default("text").describe("The type of the content part.")}),q_=$e({name:P(),arguments:P()}),Hw=$e({id:P(),type:br("function"),function:q_}),qw=$e({role:P().describe("assistant, user, system, tool"),content:Do([P(),Zt(kw)]).optional().default("").describe("The content of the message."),name:P().optional(),tool_call_id:P().optional(),tool_calls:Zt(Hw).optional(),function_call:q_.optional(),control_plane_step:bt(P(),Ut()).optional()}),Vw=$e({is_score_valid:zo().default(!0),score:st().min(0).max(1),reason:P()}),Yw=$e({step_index:Do([st(),P()]).describe("User-defined index for the step (e.g., assistant message index, turn number). This is used by the system to map this output to the internal StepData."),base_reward:st().describe("Base reward calculated by the user's reward function for this step."),terminated:zo().default(!1).describe("Whether the environment signaled termination at this step."),control_plane_info:bt(P(),Ut()).optional().describe("Structured info from the environment's control plane."),metrics:bt(P(),Ut()).default({}).describe("Optional dictionary of custom metrics for this step."),reason:P().optional().describe("Optional explanation for the step's base reward or metrics.")}),Gw=$e({score:st().describe("The overall evaluation score, typically between 0.0 and 1.0."),is_score_valid:zo().default(!0).describe("Whether the overall score is valid."),reason:P().optional().describe("Optional explanation for the overall score."),metrics:bt(P(),Vw).default({}).describe("Dictionary of component metrics for detailed breakdown."),step_outputs:Zt(Yw).optional().describe("For RL, a list of outputs for each conceptual step, providing base rewards."),error:P().optional().describe("Optional error message if the evaluation itself encountered an issue."),trajectory_info:bt(P(),Ut()).optional().describe("Additional trajectory-level information (duration, steps, termination_reason, etc.)."),final_control_plane_info:bt(P(),Ut()).optional().describe("The final control plane state that led to termination.")}),Xw=$e({model:P().describe("Model identifier (e.g., 'gpt-4.1', 'fireworks/llama')"),temperature:st().optional().describe("Temperature setting for model generation"),max_tokens:st().optional().describe("Maximum tokens to generate"),max_tool_calls:st().optional().describe("Maximum tool calls per turn")}),Kw=$e({row_id:P().optional().describe("Unique string to ID the row"),completion_params:Xw.optional().describe("Completion endpoint parameters used"),dataset_info:bt(P(),Ut()).optional().describe("Dataset row details: seed, system_prompt, environment_context, etc"),session_data:bt(P(),Ut()).optional().describe("Session metadata like timestamp (input only, no duration/usage)")}).loose(),Qw=$e({prompt_tokens:st(),completion_tokens:st(),total_tokens:st()}),Jw=$e({name:P().describe("Name of the evaluation"),description:P().optional().describe("Description of the evaluation"),version:P().describe("Version of the evaluation. By default, we will populate this with the current commit hash."),status:No(["running","finished","error","stopped"]).optional().describe("Status of the evaluation"),num_runs:st().int().describe("Number of times the evaluation was repeated"),aggregation_method:P().describe("Method used to aggregate scores across runs"),threshold_of_success:st().optional().describe("Threshold score for test success"),passed:zo().optional().describe("Whether the evaluation passed based on the threshold")}),Pw=$e({status:No(["running","finished","error","stopped"]).default("finished").describe("Status of the rollout."),error_message:P().optional().describe("Error message if the rollout failed.")}),Df=$e({messages:Zt(qw).describe("List of messages in the conversation/trajectory."),tools:Zt(bt(P(),Ut())).optional().describe("Available tools/functions that were provided to the agent."),input_metadata:Kw.describe("Metadata related to the input (dataset info, model config, session data, etc.)."),rollout_status:Pw.default({status:"finished"}).describe("The status of the rollout."),invocation_id:P().optional().describe("The ID of the invocation that this row belongs to."),experiment_id:P().optional().describe("The ID of the experiment that this row belongs to."),rollout_id:P().optional().describe("The ID of the rollout that this row belongs to."),run_id:P().optional().describe("The ID of the run that this row belongs to."),ground_truth:P().optional().describe("Optional ground truth reference for this evaluation."),evaluation_result:Gw.optional().describe("The evaluation result for this row/trajectory."),usage:Qw.optional().describe("Token usage statistics from LLM calls during execution."),created_at:$w(n=>typeof n=="string"?new Date(n):n,pw()).describe("The timestamp when the row was created. Accepts string and parses to Date."),eval_metadata:Jw.optional().describe("Metadata about the evaluation that was run."),pid:st().optional().describe("The PID of the process that created the row. This is used by the evaluation watcher to detect stopped evaluations.")}),Ww=$e({start_command:P().describe("The command to start the server. The string '{port}' will be replaced with a dynamically allocated free port."),health_check_url:P().describe("The URL to poll to check if the server is ready. The string '{port}' will be replaced with the allocated port.")}),Fw=$e({final_state_query:P().optional().describe("A query (e.g., SQL) to run on the final state of the resource."),expected_query_result_transform:P().optional().describe("A Python lambda string (e.g., 'lambda x: x > 0') to transform and evaluate the query result to a boolean."),ground_truth_function_calls:Zt(Zt(P())).optional().describe("Ground truth function calls for BFCL evaluation."),ground_truth_comparable_state:bt(P(),Ut()).optional().describe("Ground truth comparable state for BFCL evaluation.")});$e({name:P().describe("Unique name for the task."),description:P().optional().describe("A brief description of the task."),resource_type:P().describe("The type of ForkableResource to use (e.g., 'SQLResource', 'PythonStateResource', 'FileSystemResource', 'DockerResource')."),base_resource_config:bt(P(),Ut()).default({}).describe("Configuration dictionary passed to the base resource's setup() method."),tools_module_path:P().optional().describe("Optional Python import path to a module containing custom tool functions for this task."),reward_function_path:P().describe("Python import path to the reward function (e.g., 'my_module.my_reward_func')."),goal_description:P().optional().describe("A human-readable description of the agent's goal for this task."),evaluation_criteria:Fw.optional().describe("Criteria used by the Orchestrator to determine if the primary goal was achieved."),initial_user_prompt:P().optional().describe("The initial prompt or message to start the agent interaction. Deprecated if 'messages' field is used for multi-turn."),messages:Zt(bt(P(),Ut())).optional().describe("A list of messages to start the conversation, can represent multiple user turns for sequential processing."),poc_max_turns:st().int().min(1).default(3).describe("For PoC Orchestrator, the maximum number of interaction turns."),resource_server:Ww.optional().describe("Configuration for a background server required for the task."),num_rollouts:st().int().min(1).default(1).describe("Number of parallel rollouts to execute for this task definition."),dataset_path:P().optional().describe("Path to dataset file (JSONL) containing experimental conditions for data-driven evaluation."),num_rollouts_per_sample:st().int().min(1).default(1).describe("Number of rollouts to execute per sample from the dataset.")}).loose();const Iw=$e({command:P().describe("command to run the MCP server"),args:Zt(P()).default([]).describe("to pass to the command"),env:Zt(P()).default([]).describe("List of environment variables to verify exist in the environment")}),eT=$e({url:P().describe("url to the MCP server")});$e({mcpServers:bt(P(),Do([Iw,eT]))});const tT=$e({type:br("initialize_logs"),logs:Zt(Ut())}),nT=$e({type:br("log"),row:Df}),aT=yw("type",[tT,nT]);$e({status:br("ok"),build_dir:P(),active_connections:st(),watch_paths:Zt(P())});$e({id:P(),timestamp:P(),level:No(["DEBUG","INFO","WARNING","ERROR"]),message:P(),metadata:bt(P(),Ut()).optional()});class lT{isConnected=!1;dataset={};expandedRows={};constructor(){Ox(this)}upsertRows(l){l.forEach(r=>{r.rollout_id&&(this.dataset[r.rollout_id]=r)})}toggleRowExpansion(l){l&&(this.expandedRows[l]?this.expandedRows[l]=!1:this.expandedRows[l]=!0)}isRowExpanded(l){return l?this.expandedRows[l]:!1}setAllRowsExpanded(l){Object.keys(this.dataset).forEach(r=>{this.expandedRows[r]=l})}get sortedDataset(){return Object.values(this.dataset).sort((l,r)=>new Date(r.created_at).getTime()-new Date(l.created_at).getTime())}get totalCount(){return Object.keys(this.dataset).length}}const iT="/assets/logo-light-BprIBJQW.png",vt={websocket:{host:"localhost",port:"8000",protocol:"ws"},api:{host:"localhost",port:"8000",protocol:"http"}},rT=()=>{const{protocol:n,host:l,port:r}=vt.websocket;return`${n}://${l}:${r}/ws`},uT=async()=>{try{if(window.SERVER_CONFIG){const u=window.SERVER_CONFIG;vt.websocket.host=u.host,vt.websocket.port=u.port,vt.websocket.protocol=u.protocol,vt.api.host=u.host,vt.api.port=u.port,vt.api.protocol=u.apiProtocol,console.log("Using server-injected config:",vt);return}const n=window.location.hostname,l=window.location.port,r=window.location.protocol==="https:"?"wss:":"ws:";vt.websocket.host=n,vt.websocket.port=l||(r==="wss:"?"443":"80"),vt.websocket.protocol=r,vt.api.host=n,vt.api.port=l||(r==="wss:"?"443":"80"),vt.api.protocol=window.location.protocol==="https:"?"https:":"http:",console.log("Using discovered config from location:",vt)}catch(n){console.warn("Failed to discover server config, using defaults:",n)}},ot=new lT,oT=1e3,ag=5,sT=Ge(()=>{const n=z.useRef(null),l=z.useRef(null),r=z.useRef(0),u=()=>{if(n.current?.readyState===WebSocket.OPEN)return;const d=new WebSocket(rT());n.current=d,d.onopen=()=>{console.log("Connected to file watcher"),ot.isConnected=!0,r.current=0},d.onmessage=v=>{try{const p=aT.parse(JSON.parse(v.data));if(p.type==="initialize_logs"){const m=p.logs.map(_=>Df.parse(_));console.log("initialize_logs",m),ot.upsertRows(m)}else if(p.type==="log"){const m=Df.parse(p.row);console.log("log",m),ot.upsertRows([m])}}catch(p){console.error("Failed to parse WebSocket message:",p)}},d.onclose=v=>{console.log("Disconnected from file watcher",v.code,v.reason),ot.isConnected=!1,v.code!==1e3&&r.current{console.error("WebSocket error:",v),ot.isConnected=!1}},o=()=>{l.current&&clearTimeout(l.current);const d=oT*Math.pow(2,r.current);console.log(`Scheduling reconnect attempt ${r.current+1} in ${d}ms`),l.current=setTimeout(()=>{r.current++,console.log(`Attempting to reconnect (attempt ${r.current}/${ag})`),u()},d)},f=()=>{if(n.current){try{n.current.onclose=null,n.current.close()}catch{}n.current=null}u()};return z.useEffect(()=>((async()=>{await uT(),u()})(),()=>{l.current&&clearTimeout(l.current),n.current&&n.current.close()}),[]),x.jsxs("div",{className:"min-h-screen bg-gray-50",children:[x.jsx("nav",{className:"bg-white border-b border-gray-200",children:x.jsx("div",{className:"max-w-7xl mx-auto px-3",children:x.jsxs("div",{className:"flex justify-between items-center h-10",children:[x.jsx("div",{className:"flex items-center space-x-2",children:x.jsx("a",{href:"https://evalprotocol.io",target:"_blank",children:x.jsx("img",{src:iT,alt:"Eval Protocol",className:"h-6 w-auto"})})}),x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(v_,{status:ot.isConnected?"connected":"disconnected"}),x.jsx(Hn,{onClick:f,className:"ml-2",children:"Refresh"})]})]})})}),x.jsx("main",{className:"max-w-7xl mx-auto px-3 py-4",children:x.jsxs(fS,{children:[x.jsx(Gu,{path:"/",element:x.jsx(sS,{to:"/table",replace:!0})}),x.jsx(Gu,{path:"/table",element:x.jsx(Um,{onRefresh:f})}),x.jsx(Gu,{path:"/pivot",element:x.jsx(Um,{onRefresh:f})})]})})]})});bb.createRoot(document.getElementById("root")).render(x.jsx(Gl.StrictMode,{children:x.jsx(CS,{children:x.jsx(sT,{})})})); +//# sourceMappingURL=index-Cvu-Dnw_.js.map diff --git a/vite-app/dist/assets/index-t_hsfGP1.js.map b/vite-app/dist/assets/index-Cvu-Dnw_.js.map similarity index 63% rename from vite-app/dist/assets/index-t_hsfGP1.js.map rename to vite-app/dist/assets/index-Cvu-Dnw_.js.map index e20b49d0..c12bb746 100644 --- a/vite-app/dist/assets/index-t_hsfGP1.js.map +++ b/vite-app/dist/assets/index-Cvu-Dnw_.js.map @@ -1 +1 @@ -{"version":3,"file":"index-t_hsfGP1.js","sources":["../../node_modules/.pnpm/react@19.1.1/node_modules/react/cjs/react-jsx-runtime.production.js","../../node_modules/.pnpm/react@19.1.1/node_modules/react/jsx-runtime.js","../../node_modules/.pnpm/react@19.1.1/node_modules/react/cjs/react.production.js","../../node_modules/.pnpm/react@19.1.1/node_modules/react/index.js","../../node_modules/.pnpm/scheduler@0.26.0/node_modules/scheduler/cjs/scheduler.production.js","../../node_modules/.pnpm/scheduler@0.26.0/node_modules/scheduler/index.js","../../node_modules/.pnpm/react-dom@19.1.1_react@19.1.1/node_modules/react-dom/cjs/react-dom.production.js","../../node_modules/.pnpm/react-dom@19.1.1_react@19.1.1/node_modules/react-dom/index.js","../../node_modules/.pnpm/react-dom@19.1.1_react@19.1.1/node_modules/react-dom/cjs/react-dom-client.production.js","../../node_modules/.pnpm/react-dom@19.1.1_react@19.1.1/node_modules/react-dom/client.js","../../node_modules/.pnpm/react-router@7.7.1_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/react-router/dist/development/chunk-C37GKA54.mjs","../../node_modules/.pnpm/mobx@6.13.7/node_modules/mobx/dist/mobx.esm.js","../../node_modules/.pnpm/mobx-react-lite@4.1.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react-lite/es/utils/assertEnvironment.js","../../node_modules/.pnpm/mobx-react-lite@4.1.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react-lite/es/utils/observerBatching.js","../../node_modules/.pnpm/mobx-react-lite@4.1.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react-lite/es/utils/printDebugValue.js","../../node_modules/.pnpm/mobx-react-lite@4.1.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react-lite/es/utils/UniversalFinalizationRegistry.js","../../node_modules/.pnpm/mobx-react-lite@4.1.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react-lite/es/utils/observerFinalizationRegistry.js","../../node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.1/node_modules/use-sync-external-store/shim/index.js","../../node_modules/.pnpm/mobx-react-lite@4.1.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react-lite/es/useObserver.js","../../node_modules/.pnpm/mobx-react-lite@4.1.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react-lite/es/observer.js","../../node_modules/.pnpm/mobx-react-lite@4.1.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react-lite/es/index.js","../../node_modules/.pnpm/mobx-react@9.2.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react/dist/mobxreact.esm.js","../../src/components/Button.tsx","../../src/components/MessageBubble.tsx","../../src/components/ChatInterface.tsx","../../src/components/MetadataSection.tsx","../../src/components/StatusIndicator.tsx","../../src/components/TableContainer.tsx","../../src/components/EvaluationRow.tsx","../../src/components/Select.tsx","../../src/components/EvaluationTable.tsx","../../src/util/pivot.ts","../../src/components/PivotTable.tsx","../../src/components/TabButton.tsx","../../src/util/flatten-json.ts","../../src/components/Dashboard.tsx","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/core.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/util.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/errors.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/parse.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/regexes.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/checks.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/doc.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/versions.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/schemas.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/registries.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/api.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/iso.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/errors.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/parse.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/schemas.js","../../src/types/eval-protocol.ts","../../src/types/websocket.ts","../../src/GlobalState.tsx","../../src/assets/logo-light.png","../../src/config.ts","../../src/App.tsx","../../src/main.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals = { H: null, A: null, T: null, S: null, V: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, self, source, owner, props) {\n self = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== self ? self : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(\n oldElement.type,\n newKey,\n void 0,\n void 0,\n void 0,\n oldElement.props\n );\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction noop$1() {}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop$1, noop$1)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\nfunction noop() {}\nexports.Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n};\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key,\n owner = void 0;\n if (null != config)\n for (propName in (void 0 !== config.ref && (owner = void 0),\n void 0 !== config.key && (key = \"\" + config.key),\n config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, void 0, void 0, owner, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, void 0, void 0, null, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n ReactSharedInternals.T = prevTransition;\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, createDeps, update) {\n var dispatcher = ReactSharedInternals.H;\n if (\"function\" === typeof update)\n throw Error(\n \"useEffect CRUD overload is not enabled in this build of React.\"\n );\n return dispatcher.useEffect(create, createDeps);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.1.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * scheduler.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n a: for (; 0 < index; ) {\n var parentIndex = (index - 1) >>> 1,\n parent = heap[parentIndex];\n if (0 < compare(parent, node))\n (heap[parentIndex] = node), (heap[index] = parent), (index = parentIndex);\n else break a;\n }\n}\nfunction peek(heap) {\n return 0 === heap.length ? null : heap[0];\n}\nfunction pop(heap) {\n if (0 === heap.length) return null;\n var first = heap[0],\n last = heap.pop();\n if (last !== first) {\n heap[0] = last;\n a: for (\n var index = 0, length = heap.length, halfLength = length >>> 1;\n index < halfLength;\n\n ) {\n var leftIndex = 2 * (index + 1) - 1,\n left = heap[leftIndex],\n rightIndex = leftIndex + 1,\n right = heap[rightIndex];\n if (0 > compare(left, last))\n rightIndex < length && 0 > compare(right, left)\n ? ((heap[index] = right),\n (heap[rightIndex] = last),\n (index = rightIndex))\n : ((heap[index] = left),\n (heap[leftIndex] = last),\n (index = leftIndex));\n else if (rightIndex < length && 0 > compare(right, last))\n (heap[index] = right), (heap[rightIndex] = last), (index = rightIndex);\n else break a;\n }\n }\n return first;\n}\nfunction compare(a, b) {\n var diff = a.sortIndex - b.sortIndex;\n return 0 !== diff ? diff : a.id - b.id;\n}\nexports.unstable_now = void 0;\nif (\"object\" === typeof performance && \"function\" === typeof performance.now) {\n var localPerformance = performance;\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date,\n initialTime = localDate.now();\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n}\nvar taskQueue = [],\n timerQueue = [],\n taskIdCounter = 1,\n currentTask = null,\n currentPriorityLevel = 3,\n isPerformingWork = !1,\n isHostCallbackScheduled = !1,\n isHostTimeoutScheduled = !1,\n needsPaint = !1,\n localSetTimeout = \"function\" === typeof setTimeout ? setTimeout : null,\n localClearTimeout = \"function\" === typeof clearTimeout ? clearTimeout : null,\n localSetImmediate = \"undefined\" !== typeof setImmediate ? setImmediate : null;\nfunction advanceTimers(currentTime) {\n for (var timer = peek(timerQueue); null !== timer; ) {\n if (null === timer.callback) pop(timerQueue);\n else if (timer.startTime <= currentTime)\n pop(timerQueue),\n (timer.sortIndex = timer.expirationTime),\n push(taskQueue, timer);\n else break;\n timer = peek(timerQueue);\n }\n}\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = !1;\n advanceTimers(currentTime);\n if (!isHostCallbackScheduled)\n if (null !== peek(taskQueue))\n (isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline());\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n}\nvar isMessageLoopRunning = !1,\n taskTimeoutID = -1,\n frameInterval = 5,\n startTime = -1;\nfunction shouldYieldToHost() {\n return needsPaint\n ? !0\n : exports.unstable_now() - startTime < frameInterval\n ? !1\n : !0;\n}\nfunction performWorkUntilDeadline() {\n needsPaint = !1;\n if (isMessageLoopRunning) {\n var currentTime = exports.unstable_now();\n startTime = currentTime;\n var hasMoreWork = !0;\n try {\n a: {\n isHostCallbackScheduled = !1;\n isHostTimeoutScheduled &&\n ((isHostTimeoutScheduled = !1),\n localClearTimeout(taskTimeoutID),\n (taskTimeoutID = -1));\n isPerformingWork = !0;\n var previousPriorityLevel = currentPriorityLevel;\n try {\n b: {\n advanceTimers(currentTime);\n for (\n currentTask = peek(taskQueue);\n null !== currentTask &&\n !(\n currentTask.expirationTime > currentTime && shouldYieldToHost()\n );\n\n ) {\n var callback = currentTask.callback;\n if (\"function\" === typeof callback) {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var continuationCallback = callback(\n currentTask.expirationTime <= currentTime\n );\n currentTime = exports.unstable_now();\n if (\"function\" === typeof continuationCallback) {\n currentTask.callback = continuationCallback;\n advanceTimers(currentTime);\n hasMoreWork = !0;\n break b;\n }\n currentTask === peek(taskQueue) && pop(taskQueue);\n advanceTimers(currentTime);\n } else pop(taskQueue);\n currentTask = peek(taskQueue);\n }\n if (null !== currentTask) hasMoreWork = !0;\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(\n handleTimeout,\n firstTimer.startTime - currentTime\n );\n hasMoreWork = !1;\n }\n }\n break a;\n } finally {\n (currentTask = null),\n (currentPriorityLevel = previousPriorityLevel),\n (isPerformingWork = !1);\n }\n hasMoreWork = void 0;\n }\n } finally {\n hasMoreWork\n ? schedulePerformWorkUntilDeadline()\n : (isMessageLoopRunning = !1);\n }\n }\n}\nvar schedulePerformWorkUntilDeadline;\nif (\"function\" === typeof localSetImmediate)\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\nelse if (\"undefined\" !== typeof MessageChannel) {\n var channel = new MessageChannel(),\n port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\nexports.unstable_IdlePriority = 5;\nexports.unstable_ImmediatePriority = 1;\nexports.unstable_LowPriority = 4;\nexports.unstable_NormalPriority = 3;\nexports.unstable_Profiling = null;\nexports.unstable_UserBlockingPriority = 2;\nexports.unstable_cancelCallback = function (task) {\n task.callback = null;\n};\nexports.unstable_forceFrameRate = function (fps) {\n 0 > fps || 125 < fps\n ? console.error(\n \"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"\n )\n : (frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5);\n};\nexports.unstable_getCurrentPriorityLevel = function () {\n return currentPriorityLevel;\n};\nexports.unstable_next = function (eventHandler) {\n switch (currentPriorityLevel) {\n case 1:\n case 2:\n case 3:\n var priorityLevel = 3;\n break;\n default:\n priorityLevel = currentPriorityLevel;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_requestPaint = function () {\n needsPaint = !0;\n};\nexports.unstable_runWithPriority = function (priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n break;\n default:\n priorityLevel = 3;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_scheduleCallback = function (\n priorityLevel,\n callback,\n options\n) {\n var currentTime = exports.unstable_now();\n \"object\" === typeof options && null !== options\n ? ((options = options.delay),\n (options =\n \"number\" === typeof options && 0 < options\n ? currentTime + options\n : currentTime))\n : (options = currentTime);\n switch (priorityLevel) {\n case 1:\n var timeout = -1;\n break;\n case 2:\n timeout = 250;\n break;\n case 5:\n timeout = 1073741823;\n break;\n case 4:\n timeout = 1e4;\n break;\n default:\n timeout = 5e3;\n }\n timeout = options + timeout;\n priorityLevel = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: options,\n expirationTime: timeout,\n sortIndex: -1\n };\n options > currentTime\n ? ((priorityLevel.sortIndex = options),\n push(timerQueue, priorityLevel),\n null === peek(taskQueue) &&\n priorityLevel === peek(timerQueue) &&\n (isHostTimeoutScheduled\n ? (localClearTimeout(taskTimeoutID), (taskTimeoutID = -1))\n : (isHostTimeoutScheduled = !0),\n requestHostTimeout(handleTimeout, options - currentTime)))\n : ((priorityLevel.sortIndex = timeout),\n push(taskQueue, priorityLevel),\n isHostCallbackScheduled ||\n isPerformingWork ||\n ((isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline())));\n return priorityLevel;\n};\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = function (callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction noop() {}\nvar Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(formatProdErrorMessage(522));\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\");\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nfunction getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n}\nexports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\nexports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(formatProdErrorMessage(299));\n return createPortal$1(children, container, null, key);\n};\nexports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f();\n }\n};\nexports.preconnect = function (href, options) {\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n};\nexports.prefetchDNS = function (href) {\n \"string\" === typeof href && Internals.d.D(href);\n};\nexports.preinit = function (href, options) {\n if (\"string\" === typeof href && options && \"string\" === typeof options.as) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence ? options.precedence : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n};\nexports.preinitModule = function (href, options) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as) {\n var crossOrigin = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n } else null == options && Internals.d.M(href);\n};\nexports.preload = function (href, options) {\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes ? options.imageSizes : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n};\nexports.preloadModule = function (href, options) {\n if (\"string\" === typeof href)\n if (options) {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0\n });\n } else Internals.d.m(href);\n};\nexports.requestFormReset = function (form) {\n Internals.d.r(form);\n};\nexports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n};\nexports.useFormState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState, permalink);\n};\nexports.useFormStatus = function () {\n return ReactSharedInternals.H.useHostTransitionStatus();\n};\nexports.version = \"19.1.1\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/**\n * @license React\n * react-dom-client.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n\"use strict\";\nvar Scheduler = require(\"scheduler\"),\n React = require(\"react\"),\n ReactDOM = require(\"react-dom\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction isValidContainer(node) {\n return !(\n !node ||\n (1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType)\n );\n}\nfunction getNearestMountedFiber(fiber) {\n var node = fiber,\n nearestMounted = fiber;\n if (fiber.alternate) for (; node.return; ) node = node.return;\n else {\n fiber = node;\n do\n (node = fiber),\n 0 !== (node.flags & 4098) && (nearestMounted = node.return),\n (fiber = node.return);\n while (fiber);\n }\n return 3 === node.tag ? nearestMounted : null;\n}\nfunction getSuspenseInstanceFromFiber(fiber) {\n if (13 === fiber.tag) {\n var suspenseState = fiber.memoizedState;\n null === suspenseState &&\n ((fiber = fiber.alternate),\n null !== fiber && (suspenseState = fiber.memoizedState));\n if (null !== suspenseState) return suspenseState.dehydrated;\n }\n return null;\n}\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber)\n throw Error(formatProdErrorMessage(188));\n}\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n if (!alternate) {\n alternate = getNearestMountedFiber(fiber);\n if (null === alternate) throw Error(formatProdErrorMessage(188));\n return alternate !== fiber ? null : fiber;\n }\n for (var a = fiber, b = alternate; ; ) {\n var parentA = a.return;\n if (null === parentA) break;\n var parentB = parentA.alternate;\n if (null === parentB) {\n b = parentA.return;\n if (null !== b) {\n a = b;\n continue;\n }\n break;\n }\n if (parentA.child === parentB.child) {\n for (parentB = parentA.child; parentB; ) {\n if (parentB === a) return assertIsMounted(parentA), fiber;\n if (parentB === b) return assertIsMounted(parentA), alternate;\n parentB = parentB.sibling;\n }\n throw Error(formatProdErrorMessage(188));\n }\n if (a.return !== b.return) (a = parentA), (b = parentB);\n else {\n for (var didFindChild = !1, child$0 = parentA.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentA;\n b = parentB;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentA;\n a = parentB;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) {\n for (child$0 = parentB.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentB;\n b = parentA;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentB;\n a = parentA;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) throw Error(formatProdErrorMessage(189));\n }\n }\n if (a.alternate !== b) throw Error(formatProdErrorMessage(190));\n }\n if (3 !== a.tag) throw Error(formatProdErrorMessage(188));\n return a.stateNode.current === a ? fiber : alternate;\n}\nfunction findCurrentHostFiberImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node; ) {\n tag = findCurrentHostFiberImpl(node);\n if (null !== tag) return tag;\n node = node.sibling;\n }\n return null;\n}\nvar assign = Object.assign,\n REACT_LEGACY_ELEMENT_TYPE = Symbol.for(\"react.element\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_PROVIDER_TYPE = Symbol.for(\"react.provider\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nSymbol.for(\"react.scope\");\nvar REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\");\nSymbol.for(\"react.legacy_hidden\");\nSymbol.for(\"react.tracing_marker\");\nvar REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\");\nSymbol.for(\"react.view_transition\");\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n}\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n ReactDOMSharedInternals =\n ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n sharedNotPendingObject = {\n pending: !1,\n data: null,\n method: null,\n action: null\n },\n valueStack = [],\n index = -1;\nfunction createCursor(defaultValue) {\n return { current: defaultValue };\n}\nfunction pop(cursor) {\n 0 > index ||\n ((cursor.current = valueStack[index]), (valueStack[index] = null), index--);\n}\nfunction push(cursor, value) {\n index++;\n valueStack[index] = cursor.current;\n cursor.current = value;\n}\nvar contextStackCursor = createCursor(null),\n contextFiberStackCursor = createCursor(null),\n rootInstanceStackCursor = createCursor(null),\n hostTransitionProviderCursor = createCursor(null);\nfunction pushHostContainer(fiber, nextRootInstance) {\n push(rootInstanceStackCursor, nextRootInstance);\n push(contextFiberStackCursor, fiber);\n push(contextStackCursor, null);\n switch (nextRootInstance.nodeType) {\n case 9:\n case 11:\n fiber = (fiber = nextRootInstance.documentElement)\n ? (fiber = fiber.namespaceURI)\n ? getOwnHostContext(fiber)\n : 0\n : 0;\n break;\n default:\n if (\n ((fiber = nextRootInstance.tagName),\n (nextRootInstance = nextRootInstance.namespaceURI))\n )\n (nextRootInstance = getOwnHostContext(nextRootInstance)),\n (fiber = getChildHostContextProd(nextRootInstance, fiber));\n else\n switch (fiber) {\n case \"svg\":\n fiber = 1;\n break;\n case \"math\":\n fiber = 2;\n break;\n default:\n fiber = 0;\n }\n }\n pop(contextStackCursor);\n push(contextStackCursor, fiber);\n}\nfunction popHostContainer() {\n pop(contextStackCursor);\n pop(contextFiberStackCursor);\n pop(rootInstanceStackCursor);\n}\nfunction pushHostContext(fiber) {\n null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber);\n var context = contextStackCursor.current;\n var JSCompiler_inline_result = getChildHostContextProd(context, fiber.type);\n context !== JSCompiler_inline_result &&\n (push(contextFiberStackCursor, fiber),\n push(contextStackCursor, JSCompiler_inline_result));\n}\nfunction popHostContext(fiber) {\n contextFiberStackCursor.current === fiber &&\n (pop(contextStackCursor), pop(contextFiberStackCursor));\n hostTransitionProviderCursor.current === fiber &&\n (pop(hostTransitionProviderCursor),\n (HostTransitionContext._currentValue = sharedNotPendingObject));\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty,\n scheduleCallback$3 = Scheduler.unstable_scheduleCallback,\n cancelCallback$1 = Scheduler.unstable_cancelCallback,\n shouldYield = Scheduler.unstable_shouldYield,\n requestPaint = Scheduler.unstable_requestPaint,\n now = Scheduler.unstable_now,\n getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel,\n ImmediatePriority = Scheduler.unstable_ImmediatePriority,\n UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\n NormalPriority$1 = Scheduler.unstable_NormalPriority,\n LowPriority = Scheduler.unstable_LowPriority,\n IdlePriority = Scheduler.unstable_IdlePriority,\n log$1 = Scheduler.log,\n unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue,\n rendererID = null,\n injectedHook = null;\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n \"function\" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode);\n if (injectedHook && \"function\" === typeof injectedHook.setStrictMode)\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {}\n}\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log = Math.log,\n LN2 = Math.LN2;\nfunction clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0;\n}\nvar nextTransitionLane = 256,\n nextRetryLane = 4194304;\nfunction getHighestPriorityLanes(lanes) {\n var pendingSyncLanes = lanes & 42;\n if (0 !== pendingSyncLanes) return pendingSyncLanes;\n switch (lanes & -lanes) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n return 64;\n case 128:\n return 128;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return lanes & 4194048;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return lanes & 62914560;\n case 67108864:\n return 67108864;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 0;\n default:\n return lanes;\n }\n}\nfunction getNextLanes(root, wipLanes, rootHasPendingCommit) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) return 0;\n var nextLanes = 0,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes;\n root = root.warmLanes;\n var nonIdlePendingLanes = pendingLanes & 134217727;\n 0 !== nonIdlePendingLanes\n ? ((pendingLanes = nonIdlePendingLanes & ~suspendedLanes),\n 0 !== pendingLanes\n ? (nextLanes = getHighestPriorityLanes(pendingLanes))\n : ((pingedLanes &= nonIdlePendingLanes),\n 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = nonIdlePendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit)))))\n : ((nonIdlePendingLanes = pendingLanes & ~suspendedLanes),\n 0 !== nonIdlePendingLanes\n ? (nextLanes = getHighestPriorityLanes(nonIdlePendingLanes))\n : 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = pendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))));\n return 0 === nextLanes\n ? 0\n : 0 !== wipLanes &&\n wipLanes !== nextLanes &&\n 0 === (wipLanes & suspendedLanes) &&\n ((suspendedLanes = nextLanes & -nextLanes),\n (rootHasPendingCommit = wipLanes & -wipLanes),\n suspendedLanes >= rootHasPendingCommit ||\n (32 === suspendedLanes && 0 !== (rootHasPendingCommit & 4194048)))\n ? wipLanes\n : nextLanes;\n}\nfunction checkIfRootIsPrerendering(root, renderLanes) {\n return (\n 0 ===\n (root.pendingLanes &\n ~(root.suspendedLanes & ~root.pingedLanes) &\n renderLanes)\n );\n}\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case 1:\n case 2:\n case 4:\n case 8:\n case 64:\n return currentTime + 250;\n case 16:\n case 32:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return currentTime + 5e3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return -1;\n case 67108864:\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return -1;\n }\n}\nfunction claimNextTransitionLane() {\n var lane = nextTransitionLane;\n nextTransitionLane <<= 1;\n 0 === (nextTransitionLane & 4194048) && (nextTransitionLane = 256);\n return lane;\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);\n return lane;\n}\nfunction createLaneMap(initial) {\n for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);\n return laneMap;\n}\nfunction markRootUpdated$1(root, updateLane) {\n root.pendingLanes |= updateLane;\n 268435456 !== updateLane &&\n ((root.suspendedLanes = 0), (root.pingedLanes = 0), (root.warmLanes = 0));\n}\nfunction markRootFinished(\n root,\n finishedLanes,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n var previouslyPendingLanes = root.pendingLanes;\n root.pendingLanes = remainingLanes;\n root.suspendedLanes = 0;\n root.pingedLanes = 0;\n root.warmLanes = 0;\n root.expiredLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n root.errorRecoveryDisabledLanes &= remainingLanes;\n root.shellSuspendCounter = 0;\n var entanglements = root.entanglements,\n expirationTimes = root.expirationTimes,\n hiddenUpdates = root.hiddenUpdates;\n for (\n remainingLanes = previouslyPendingLanes & ~remainingLanes;\n 0 < remainingLanes;\n\n ) {\n var index$5 = 31 - clz32(remainingLanes),\n lane = 1 << index$5;\n entanglements[index$5] = 0;\n expirationTimes[index$5] = -1;\n var hiddenUpdatesForLane = hiddenUpdates[index$5];\n if (null !== hiddenUpdatesForLane)\n for (\n hiddenUpdates[index$5] = null, index$5 = 0;\n index$5 < hiddenUpdatesForLane.length;\n index$5++\n ) {\n var update = hiddenUpdatesForLane[index$5];\n null !== update && (update.lane &= -536870913);\n }\n remainingLanes &= ~lane;\n }\n 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0);\n 0 !== suspendedRetryLanes &&\n 0 === updatedLanes &&\n 0 !== root.tag &&\n (root.suspendedLanes |=\n suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));\n}\nfunction markSpawnedDeferredLane(root, spawnedLane, entangledLanes) {\n root.pendingLanes |= spawnedLane;\n root.suspendedLanes &= ~spawnedLane;\n var spawnedLaneIndex = 31 - clz32(spawnedLane);\n root.entangledLanes |= spawnedLane;\n root.entanglements[spawnedLaneIndex] =\n root.entanglements[spawnedLaneIndex] |\n 1073741824 |\n (entangledLanes & 4194090);\n}\nfunction markRootEntangled(root, entangledLanes) {\n var rootEntangledLanes = (root.entangledLanes |= entangledLanes);\n for (root = root.entanglements; rootEntangledLanes; ) {\n var index$6 = 31 - clz32(rootEntangledLanes),\n lane = 1 << index$6;\n (lane & entangledLanes) | (root[index$6] & entangledLanes) &&\n (root[index$6] |= entangledLanes);\n rootEntangledLanes &= ~lane;\n }\n}\nfunction getBumpedLaneForHydrationByLane(lane) {\n switch (lane) {\n case 2:\n lane = 1;\n break;\n case 8:\n lane = 4;\n break;\n case 32:\n lane = 16;\n break;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n lane = 128;\n break;\n case 268435456:\n lane = 134217728;\n break;\n default:\n lane = 0;\n }\n return lane;\n}\nfunction lanesToEventPriority(lanes) {\n lanes &= -lanes;\n return 2 < lanes\n ? 8 < lanes\n ? 0 !== (lanes & 134217727)\n ? 32\n : 268435456\n : 8\n : 2;\n}\nfunction resolveUpdatePriority() {\n var updatePriority = ReactDOMSharedInternals.p;\n if (0 !== updatePriority) return updatePriority;\n updatePriority = window.event;\n return void 0 === updatePriority ? 32 : getEventPriority(updatePriority.type);\n}\nfunction runWithPriority(priority, fn) {\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n return (ReactDOMSharedInternals.p = priority), fn();\n } finally {\n ReactDOMSharedInternals.p = previousPriority;\n }\n}\nvar randomKey = Math.random().toString(36).slice(2),\n internalInstanceKey = \"__reactFiber$\" + randomKey,\n internalPropsKey = \"__reactProps$\" + randomKey,\n internalContainerInstanceKey = \"__reactContainer$\" + randomKey,\n internalEventHandlersKey = \"__reactEvents$\" + randomKey,\n internalEventHandlerListenersKey = \"__reactListeners$\" + randomKey,\n internalEventHandlesSetKey = \"__reactHandles$\" + randomKey,\n internalRootNodeResourcesKey = \"__reactResources$\" + randomKey,\n internalHoistableMarker = \"__reactMarker$\" + randomKey;\nfunction detachDeletedInstance(node) {\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlersKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n}\nfunction getClosestInstanceFromNode(targetNode) {\n var targetInst = targetNode[internalInstanceKey];\n if (targetInst) return targetInst;\n for (var parentNode = targetNode.parentNode; parentNode; ) {\n if (\n (targetInst =\n parentNode[internalContainerInstanceKey] ||\n parentNode[internalInstanceKey])\n ) {\n parentNode = targetInst.alternate;\n if (\n null !== targetInst.child ||\n (null !== parentNode && null !== parentNode.child)\n )\n for (\n targetNode = getParentSuspenseInstance(targetNode);\n null !== targetNode;\n\n ) {\n if ((parentNode = targetNode[internalInstanceKey])) return parentNode;\n targetNode = getParentSuspenseInstance(targetNode);\n }\n return targetInst;\n }\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n return null;\n}\nfunction getInstanceFromNode(node) {\n if (\n (node = node[internalInstanceKey] || node[internalContainerInstanceKey])\n ) {\n var tag = node.tag;\n if (\n 5 === tag ||\n 6 === tag ||\n 13 === tag ||\n 26 === tag ||\n 27 === tag ||\n 3 === tag\n )\n return node;\n }\n return null;\n}\nfunction getNodeFromInstance(inst) {\n var tag = inst.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return inst.stateNode;\n throw Error(formatProdErrorMessage(33));\n}\nfunction getResourcesFromRoot(root) {\n var resources = root[internalRootNodeResourcesKey];\n resources ||\n (resources = root[internalRootNodeResourcesKey] =\n { hoistableStyles: new Map(), hoistableScripts: new Map() });\n return resources;\n}\nfunction markNodeAsHoistable(node) {\n node[internalHoistableMarker] = !0;\n}\nvar allNativeEvents = new Set(),\n registrationNameDependencies = {};\nfunction registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + \"Capture\", dependencies);\n}\nfunction registerDirectEvent(registrationName, dependencies) {\n registrationNameDependencies[registrationName] = dependencies;\n for (\n registrationName = 0;\n registrationName < dependencies.length;\n registrationName++\n )\n allNativeEvents.add(dependencies[registrationName]);\n}\nvar VALID_ATTRIBUTE_NAME_REGEX = RegExp(\n \"^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\"\n ),\n illegalAttributeNameCache = {},\n validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return !0;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return (validatedAttributeNameCache[attributeName] = !0);\n illegalAttributeNameCache[attributeName] = !0;\n return !1;\n}\nfunction setValueForAttribute(node, name, value) {\n if (isAttributeNameSafe(name))\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n node.removeAttribute(name);\n return;\n case \"boolean\":\n var prefix$8 = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix$8 && \"aria-\" !== prefix$8) {\n node.removeAttribute(name);\n return;\n }\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForKnownAttribute(node, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForNamespacedAttribute(node, namespace, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttributeNS(namespace, name, \"\" + value);\n }\n}\nvar prefix, suffix;\nfunction describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" ()\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n}\nvar reentry = !1;\nfunction describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = !0;\n var previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$9) {\n control = x$9;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$10) {\n control = x$10;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n namePropDescriptor = RunInRootFrame = 0;\n RunInRootFrame < sampleLines.length &&\n !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\");\n\n )\n RunInRootFrame++;\n for (\n ;\n namePropDescriptor < controlLines.length &&\n !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n if (\n RunInRootFrame === sampleLines.length ||\n namePropDescriptor === controlLines.length\n )\n for (\n RunInRootFrame = sampleLines.length - 1,\n namePropDescriptor = controlLines.length - 1;\n 1 <= RunInRootFrame &&\n 0 <= namePropDescriptor &&\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor];\n\n )\n namePropDescriptor--;\n for (\n ;\n 1 <= RunInRootFrame && 0 <= namePropDescriptor;\n RunInRootFrame--, namePropDescriptor--\n )\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (\n (RunInRootFrame--,\n namePropDescriptor--,\n 0 > namePropDescriptor ||\n sampleLines[RunInRootFrame] !==\n controlLines[namePropDescriptor])\n ) {\n var frame =\n \"\\n\" +\n sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName &&\n frame.includes(\"\") &&\n (frame = frame.replace(\"\", fn.displayName));\n return frame;\n }\n while (1 <= RunInRootFrame && 0 <= namePropDescriptor);\n }\n break;\n }\n }\n } finally {\n (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(previousPrepareStackTrace)\n : \"\";\n}\nfunction describeFiber(fiber) {\n switch (fiber.tag) {\n case 26:\n case 27:\n case 5:\n return describeBuiltInComponentFrame(fiber.type);\n case 16:\n return describeBuiltInComponentFrame(\"Lazy\");\n case 13:\n return describeBuiltInComponentFrame(\"Suspense\");\n case 19:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case 0:\n case 15:\n return describeNativeComponentFrame(fiber.type, !1);\n case 11:\n return describeNativeComponentFrame(fiber.type.render, !1);\n case 1:\n return describeNativeComponentFrame(fiber.type, !0);\n case 31:\n return describeBuiltInComponentFrame(\"Activity\");\n default:\n return \"\";\n }\n}\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = \"\";\n do\n (info += describeFiber(workInProgress)),\n (workInProgress = workInProgress.return);\n while (workInProgress);\n return info;\n } catch (x) {\n return \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n}\nfunction getToStringValue(value) {\n switch (typeof value) {\n case \"bigint\":\n case \"boolean\":\n case \"number\":\n case \"string\":\n case \"undefined\":\n return value;\n case \"object\":\n return value;\n default:\n return \"\";\n }\n}\nfunction isCheckable(elem) {\n var type = elem.type;\n return (\n (elem = elem.nodeName) &&\n \"input\" === elem.toLowerCase() &&\n (\"checkbox\" === type || \"radio\" === type)\n );\n}\nfunction trackValueOnNode(node) {\n var valueField = isCheckable(node) ? \"checked\" : \"value\",\n descriptor = Object.getOwnPropertyDescriptor(\n node.constructor.prototype,\n valueField\n ),\n currentValue = \"\" + node[valueField];\n if (\n !node.hasOwnProperty(valueField) &&\n \"undefined\" !== typeof descriptor &&\n \"function\" === typeof descriptor.get &&\n \"function\" === typeof descriptor.set\n ) {\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: !0,\n get: function () {\n return get.call(this);\n },\n set: function (value) {\n currentValue = \"\" + value;\n set.call(this, value);\n }\n });\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n return {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n currentValue = \"\" + value;\n },\n stopTracking: function () {\n node._valueTracker = null;\n delete node[valueField];\n }\n };\n }\n}\nfunction track(node) {\n node._valueTracker || (node._valueTracker = trackValueOnNode(node));\n}\nfunction updateValueIfChanged(node) {\n if (!node) return !1;\n var tracker = node._valueTracker;\n if (!tracker) return !0;\n var lastValue = tracker.getValue();\n var value = \"\";\n node &&\n (value = isCheckable(node)\n ? node.checked\n ? \"true\"\n : \"false\"\n : node.value);\n node = value;\n return node !== lastValue ? (tracker.setValue(node), !0) : !1;\n}\nfunction getActiveElement(doc) {\n doc = doc || (\"undefined\" !== typeof document ? document : void 0);\n if (\"undefined\" === typeof doc) return null;\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\nvar escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\\n\"\\\\]/g;\nfunction escapeSelectorAttributeValueInsideDoubleQuotes(value) {\n return value.replace(\n escapeSelectorAttributeValueInsideDoubleQuotesRegex,\n function (ch) {\n return \"\\\\\" + ch.charCodeAt(0).toString(16) + \" \";\n }\n );\n}\nfunction updateInput(\n element,\n value,\n defaultValue,\n lastDefaultValue,\n checked,\n defaultChecked,\n type,\n name\n) {\n element.name = \"\";\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type\n ? (element.type = type)\n : element.removeAttribute(\"type\");\n if (null != value)\n if (\"number\" === type) {\n if ((0 === value && \"\" === element.value) || element.value != value)\n element.value = \"\" + getToStringValue(value);\n } else\n element.value !== \"\" + getToStringValue(value) &&\n (element.value = \"\" + getToStringValue(value));\n else\n (\"submit\" !== type && \"reset\" !== type) || element.removeAttribute(\"value\");\n null != value\n ? setDefaultValue(element, type, getToStringValue(value))\n : null != defaultValue\n ? setDefaultValue(element, type, getToStringValue(defaultValue))\n : null != lastDefaultValue && element.removeAttribute(\"value\");\n null == checked &&\n null != defaultChecked &&\n (element.defaultChecked = !!defaultChecked);\n null != checked &&\n (element.checked =\n checked && \"function\" !== typeof checked && \"symbol\" !== typeof checked);\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name\n ? (element.name = \"\" + getToStringValue(name))\n : element.removeAttribute(\"name\");\n}\nfunction initInput(\n element,\n value,\n defaultValue,\n checked,\n defaultChecked,\n type,\n name,\n isHydrating\n) {\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type &&\n (element.type = type);\n if (null != value || null != defaultValue) {\n if (\n !(\n (\"submit\" !== type && \"reset\" !== type) ||\n (void 0 !== value && null !== value)\n )\n )\n return;\n defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n value = null != value ? \"\" + getToStringValue(value) : defaultValue;\n isHydrating || value === element.value || (element.value = value);\n element.defaultValue = value;\n }\n checked = null != checked ? checked : defaultChecked;\n checked =\n \"function\" !== typeof checked && \"symbol\" !== typeof checked && !!checked;\n element.checked = isHydrating ? element.checked : !!checked;\n element.defaultChecked = !!checked;\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name &&\n (element.name = name);\n}\nfunction setDefaultValue(node, type, value) {\n (\"number\" === type && getActiveElement(node.ownerDocument) === node) ||\n node.defaultValue === \"\" + value ||\n (node.defaultValue = \"\" + value);\n}\nfunction updateOptions(node, multiple, propValue, setDefaultSelected) {\n node = node.options;\n if (multiple) {\n multiple = {};\n for (var i = 0; i < propValue.length; i++)\n multiple[\"$\" + propValue[i]] = !0;\n for (propValue = 0; propValue < node.length; propValue++)\n (i = multiple.hasOwnProperty(\"$\" + node[propValue].value)),\n node[propValue].selected !== i && (node[propValue].selected = i),\n i && setDefaultSelected && (node[propValue].defaultSelected = !0);\n } else {\n propValue = \"\" + getToStringValue(propValue);\n multiple = null;\n for (i = 0; i < node.length; i++) {\n if (node[i].value === propValue) {\n node[i].selected = !0;\n setDefaultSelected && (node[i].defaultSelected = !0);\n return;\n }\n null !== multiple || node[i].disabled || (multiple = node[i]);\n }\n null !== multiple && (multiple.selected = !0);\n }\n}\nfunction updateTextarea(element, value, defaultValue) {\n if (\n null != value &&\n ((value = \"\" + getToStringValue(value)),\n value !== element.value && (element.value = value),\n null == defaultValue)\n ) {\n element.defaultValue !== value && (element.defaultValue = value);\n return;\n }\n element.defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n}\nfunction initTextarea(element, value, defaultValue, children) {\n if (null == value) {\n if (null != children) {\n if (null != defaultValue) throw Error(formatProdErrorMessage(92));\n if (isArrayImpl(children)) {\n if (1 < children.length) throw Error(formatProdErrorMessage(93));\n children = children[0];\n }\n defaultValue = children;\n }\n null == defaultValue && (defaultValue = \"\");\n value = defaultValue;\n }\n defaultValue = getToStringValue(value);\n element.defaultValue = defaultValue;\n children = element.textContent;\n children === defaultValue &&\n \"\" !== children &&\n null !== children &&\n (element.value = children);\n}\nfunction setTextContent(node, text) {\n if (text) {\n var firstChild = node.firstChild;\n if (\n firstChild &&\n firstChild === node.lastChild &&\n 3 === firstChild.nodeType\n ) {\n firstChild.nodeValue = text;\n return;\n }\n }\n node.textContent = text;\n}\nvar unitlessNumbers = new Set(\n \"animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp\".split(\n \" \"\n )\n);\nfunction setValueForStyle(style, styleName, value) {\n var isCustomProperty = 0 === styleName.indexOf(\"--\");\n null == value || \"boolean\" === typeof value || \"\" === value\n ? isCustomProperty\n ? style.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (style.cssFloat = \"\")\n : (style[styleName] = \"\")\n : isCustomProperty\n ? style.setProperty(styleName, value)\n : \"number\" !== typeof value ||\n 0 === value ||\n unitlessNumbers.has(styleName)\n ? \"float\" === styleName\n ? (style.cssFloat = value)\n : (style[styleName] = (\"\" + value).trim())\n : (style[styleName] = value + \"px\");\n}\nfunction setValueForStyles(node, styles, prevStyles) {\n if (null != styles && \"object\" !== typeof styles)\n throw Error(formatProdErrorMessage(62));\n node = node.style;\n if (null != prevStyles) {\n for (var styleName in prevStyles)\n !prevStyles.hasOwnProperty(styleName) ||\n (null != styles && styles.hasOwnProperty(styleName)) ||\n (0 === styleName.indexOf(\"--\")\n ? node.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (node.cssFloat = \"\")\n : (node[styleName] = \"\"));\n for (var styleName$16 in styles)\n (styleName = styles[styleName$16]),\n styles.hasOwnProperty(styleName$16) &&\n prevStyles[styleName$16] !== styleName &&\n setValueForStyle(node, styleName$16, styleName);\n } else\n for (var styleName$17 in styles)\n styles.hasOwnProperty(styleName$17) &&\n setValueForStyle(node, styleName$17, styles[styleName$17]);\n}\nfunction isCustomElement(tagName) {\n if (-1 === tagName.indexOf(\"-\")) return !1;\n switch (tagName) {\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n return !1;\n default:\n return !0;\n }\n}\nvar aliases = new Map([\n [\"acceptCharset\", \"accept-charset\"],\n [\"htmlFor\", \"for\"],\n [\"httpEquiv\", \"http-equiv\"],\n [\"crossOrigin\", \"crossorigin\"],\n [\"accentHeight\", \"accent-height\"],\n [\"alignmentBaseline\", \"alignment-baseline\"],\n [\"arabicForm\", \"arabic-form\"],\n [\"baselineShift\", \"baseline-shift\"],\n [\"capHeight\", \"cap-height\"],\n [\"clipPath\", \"clip-path\"],\n [\"clipRule\", \"clip-rule\"],\n [\"colorInterpolation\", \"color-interpolation\"],\n [\"colorInterpolationFilters\", \"color-interpolation-filters\"],\n [\"colorProfile\", \"color-profile\"],\n [\"colorRendering\", \"color-rendering\"],\n [\"dominantBaseline\", \"dominant-baseline\"],\n [\"enableBackground\", \"enable-background\"],\n [\"fillOpacity\", \"fill-opacity\"],\n [\"fillRule\", \"fill-rule\"],\n [\"floodColor\", \"flood-color\"],\n [\"floodOpacity\", \"flood-opacity\"],\n [\"fontFamily\", \"font-family\"],\n [\"fontSize\", \"font-size\"],\n [\"fontSizeAdjust\", \"font-size-adjust\"],\n [\"fontStretch\", \"font-stretch\"],\n [\"fontStyle\", \"font-style\"],\n [\"fontVariant\", \"font-variant\"],\n [\"fontWeight\", \"font-weight\"],\n [\"glyphName\", \"glyph-name\"],\n [\"glyphOrientationHorizontal\", \"glyph-orientation-horizontal\"],\n [\"glyphOrientationVertical\", \"glyph-orientation-vertical\"],\n [\"horizAdvX\", \"horiz-adv-x\"],\n [\"horizOriginX\", \"horiz-origin-x\"],\n [\"imageRendering\", \"image-rendering\"],\n [\"letterSpacing\", \"letter-spacing\"],\n [\"lightingColor\", \"lighting-color\"],\n [\"markerEnd\", \"marker-end\"],\n [\"markerMid\", \"marker-mid\"],\n [\"markerStart\", \"marker-start\"],\n [\"overlinePosition\", \"overline-position\"],\n [\"overlineThickness\", \"overline-thickness\"],\n [\"paintOrder\", \"paint-order\"],\n [\"panose-1\", \"panose-1\"],\n [\"pointerEvents\", \"pointer-events\"],\n [\"renderingIntent\", \"rendering-intent\"],\n [\"shapeRendering\", \"shape-rendering\"],\n [\"stopColor\", \"stop-color\"],\n [\"stopOpacity\", \"stop-opacity\"],\n [\"strikethroughPosition\", \"strikethrough-position\"],\n [\"strikethroughThickness\", \"strikethrough-thickness\"],\n [\"strokeDasharray\", \"stroke-dasharray\"],\n [\"strokeDashoffset\", \"stroke-dashoffset\"],\n [\"strokeLinecap\", \"stroke-linecap\"],\n [\"strokeLinejoin\", \"stroke-linejoin\"],\n [\"strokeMiterlimit\", \"stroke-miterlimit\"],\n [\"strokeOpacity\", \"stroke-opacity\"],\n [\"strokeWidth\", \"stroke-width\"],\n [\"textAnchor\", \"text-anchor\"],\n [\"textDecoration\", \"text-decoration\"],\n [\"textRendering\", \"text-rendering\"],\n [\"transformOrigin\", \"transform-origin\"],\n [\"underlinePosition\", \"underline-position\"],\n [\"underlineThickness\", \"underline-thickness\"],\n [\"unicodeBidi\", \"unicode-bidi\"],\n [\"unicodeRange\", \"unicode-range\"],\n [\"unitsPerEm\", \"units-per-em\"],\n [\"vAlphabetic\", \"v-alphabetic\"],\n [\"vHanging\", \"v-hanging\"],\n [\"vIdeographic\", \"v-ideographic\"],\n [\"vMathematical\", \"v-mathematical\"],\n [\"vectorEffect\", \"vector-effect\"],\n [\"vertAdvY\", \"vert-adv-y\"],\n [\"vertOriginX\", \"vert-origin-x\"],\n [\"vertOriginY\", \"vert-origin-y\"],\n [\"wordSpacing\", \"word-spacing\"],\n [\"writingMode\", \"writing-mode\"],\n [\"xmlnsXlink\", \"xmlns:xlink\"],\n [\"xHeight\", \"x-height\"]\n ]),\n isJavaScriptProtocol =\n /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;\nfunction sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url)\n ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\"\n : url;\n}\nvar currentReplayingEvent = null;\nfunction getEventTarget(nativeEvent) {\n nativeEvent = nativeEvent.target || nativeEvent.srcElement || window;\n nativeEvent.correspondingUseElement &&\n (nativeEvent = nativeEvent.correspondingUseElement);\n return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent;\n}\nvar restoreTarget = null,\n restoreQueue = null;\nfunction restoreStateOfTarget(target) {\n var internalInstance = getInstanceFromNode(target);\n if (internalInstance && (target = internalInstance.stateNode)) {\n var props = target[internalPropsKey] || null;\n a: switch (((target = internalInstance.stateNode), internalInstance.type)) {\n case \"input\":\n updateInput(\n target,\n props.value,\n props.defaultValue,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name\n );\n internalInstance = props.name;\n if (\"radio\" === props.type && null != internalInstance) {\n for (props = target; props.parentNode; ) props = props.parentNode;\n props = props.querySelectorAll(\n 'input[name=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n \"\" + internalInstance\n ) +\n '\"][type=\"radio\"]'\n );\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n ) {\n var otherNode = props[internalInstance];\n if (otherNode !== target && otherNode.form === target.form) {\n var otherProps = otherNode[internalPropsKey] || null;\n if (!otherProps) throw Error(formatProdErrorMessage(90));\n updateInput(\n otherNode,\n otherProps.value,\n otherProps.defaultValue,\n otherProps.defaultValue,\n otherProps.checked,\n otherProps.defaultChecked,\n otherProps.type,\n otherProps.name\n );\n }\n }\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n )\n (otherNode = props[internalInstance]),\n otherNode.form === target.form && updateValueIfChanged(otherNode);\n }\n break a;\n case \"textarea\":\n updateTextarea(target, props.value, props.defaultValue);\n break a;\n case \"select\":\n (internalInstance = props.value),\n null != internalInstance &&\n updateOptions(target, !!props.multiple, internalInstance, !1);\n }\n }\n}\nvar isInsideEventHandler = !1;\nfunction batchedUpdates$1(fn, a, b) {\n if (isInsideEventHandler) return fn(a, b);\n isInsideEventHandler = !0;\n try {\n var JSCompiler_inline_result = fn(a);\n return JSCompiler_inline_result;\n } finally {\n if (\n ((isInsideEventHandler = !1),\n null !== restoreTarget || null !== restoreQueue)\n )\n if (\n (flushSyncWork$1(),\n restoreTarget &&\n ((a = restoreTarget),\n (fn = restoreQueue),\n (restoreQueue = restoreTarget = null),\n restoreStateOfTarget(a),\n fn))\n )\n for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]);\n }\n}\nfunction getListener(inst, registrationName) {\n var stateNode = inst.stateNode;\n if (null === stateNode) return null;\n var props = stateNode[internalPropsKey] || null;\n if (null === props) return null;\n stateNode = props[registrationName];\n a: switch (registrationName) {\n case \"onClick\":\n case \"onClickCapture\":\n case \"onDoubleClick\":\n case \"onDoubleClickCapture\":\n case \"onMouseDown\":\n case \"onMouseDownCapture\":\n case \"onMouseMove\":\n case \"onMouseMoveCapture\":\n case \"onMouseUp\":\n case \"onMouseUpCapture\":\n case \"onMouseEnter\":\n (props = !props.disabled) ||\n ((inst = inst.type),\n (props = !(\n \"button\" === inst ||\n \"input\" === inst ||\n \"select\" === inst ||\n \"textarea\" === inst\n )));\n inst = !props;\n break a;\n default:\n inst = !1;\n }\n if (inst) return null;\n if (stateNode && \"function\" !== typeof stateNode)\n throw Error(\n formatProdErrorMessage(231, registrationName, typeof stateNode)\n );\n return stateNode;\n}\nvar canUseDOM = !(\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ),\n passiveBrowserEventsSupported = !1;\nif (canUseDOM)\n try {\n var options = {};\n Object.defineProperty(options, \"passive\", {\n get: function () {\n passiveBrowserEventsSupported = !0;\n }\n });\n window.addEventListener(\"test\", options, options);\n window.removeEventListener(\"test\", options, options);\n } catch (e) {\n passiveBrowserEventsSupported = !1;\n }\nvar root = null,\n startText = null,\n fallbackText = null;\nfunction getData() {\n if (fallbackText) return fallbackText;\n var start,\n startValue = startText,\n startLength = startValue.length,\n end,\n endValue = \"value\" in root ? root.value : root.textContent,\n endLength = endValue.length;\n for (\n start = 0;\n start < startLength && startValue[start] === endValue[start];\n start++\n );\n var minEnd = startLength - start;\n for (\n end = 1;\n end <= minEnd &&\n startValue[startLength - end] === endValue[endLength - end];\n end++\n );\n return (fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0));\n}\nfunction getEventCharCode(nativeEvent) {\n var keyCode = nativeEvent.keyCode;\n \"charCode\" in nativeEvent\n ? ((nativeEvent = nativeEvent.charCode),\n 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13))\n : (nativeEvent = keyCode);\n 10 === nativeEvent && (nativeEvent = 13);\n return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0;\n}\nfunction functionThatReturnsTrue() {\n return !0;\n}\nfunction functionThatReturnsFalse() {\n return !1;\n}\nfunction createSyntheticEvent(Interface) {\n function SyntheticBaseEvent(\n reactName,\n reactEventType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n this._reactName = reactName;\n this._targetInst = targetInst;\n this.type = reactEventType;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = null;\n for (var propName in Interface)\n Interface.hasOwnProperty(propName) &&\n ((reactName = Interface[propName]),\n (this[propName] = reactName\n ? reactName(nativeEvent)\n : nativeEvent[propName]));\n this.isDefaultPrevented = (\n null != nativeEvent.defaultPrevented\n ? nativeEvent.defaultPrevented\n : !1 === nativeEvent.returnValue\n )\n ? functionThatReturnsTrue\n : functionThatReturnsFalse;\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n }\n assign(SyntheticBaseEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = !0;\n var event = this.nativeEvent;\n event &&\n (event.preventDefault\n ? event.preventDefault()\n : \"unknown\" !== typeof event.returnValue && (event.returnValue = !1),\n (this.isDefaultPrevented = functionThatReturnsTrue));\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n event &&\n (event.stopPropagation\n ? event.stopPropagation()\n : \"unknown\" !== typeof event.cancelBubble &&\n (event.cancelBubble = !0),\n (this.isPropagationStopped = functionThatReturnsTrue));\n },\n persist: function () {},\n isPersistent: functionThatReturnsTrue\n });\n return SyntheticBaseEvent;\n}\nvar EventInterface = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n },\n SyntheticEvent = createSyntheticEvent(EventInterface),\n UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }),\n SyntheticUIEvent = createSyntheticEvent(UIEventInterface),\n lastMovementX,\n lastMovementY,\n lastMouseEvent,\n MouseEventInterface = assign({}, UIEventInterface, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: getEventModifierState,\n button: 0,\n buttons: 0,\n relatedTarget: function (event) {\n return void 0 === event.relatedTarget\n ? event.fromElement === event.srcElement\n ? event.toElement\n : event.fromElement\n : event.relatedTarget;\n },\n movementX: function (event) {\n if (\"movementX\" in event) return event.movementX;\n event !== lastMouseEvent &&\n (lastMouseEvent && \"mousemove\" === event.type\n ? ((lastMovementX = event.screenX - lastMouseEvent.screenX),\n (lastMovementY = event.screenY - lastMouseEvent.screenY))\n : (lastMovementY = lastMovementX = 0),\n (lastMouseEvent = event));\n return lastMovementX;\n },\n movementY: function (event) {\n return \"movementY\" in event ? event.movementY : lastMovementY;\n }\n }),\n SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface),\n DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }),\n SyntheticDragEvent = createSyntheticEvent(DragEventInterface),\n FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }),\n SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface),\n AnimationEventInterface = assign({}, EventInterface, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface),\n ClipboardEventInterface = assign({}, EventInterface, {\n clipboardData: function (event) {\n return \"clipboardData\" in event\n ? event.clipboardData\n : window.clipboardData;\n }\n }),\n SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface),\n CompositionEventInterface = assign({}, EventInterface, { data: 0 }),\n SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface),\n normalizeKey = {\n Esc: \"Escape\",\n Spacebar: \" \",\n Left: \"ArrowLeft\",\n Up: \"ArrowUp\",\n Right: \"ArrowRight\",\n Down: \"ArrowDown\",\n Del: \"Delete\",\n Win: \"OS\",\n Menu: \"ContextMenu\",\n Apps: \"ContextMenu\",\n Scroll: \"ScrollLock\",\n MozPrintableKey: \"Unidentified\"\n },\n translateToKey = {\n 8: \"Backspace\",\n 9: \"Tab\",\n 12: \"Clear\",\n 13: \"Enter\",\n 16: \"Shift\",\n 17: \"Control\",\n 18: \"Alt\",\n 19: \"Pause\",\n 20: \"CapsLock\",\n 27: \"Escape\",\n 32: \" \",\n 33: \"PageUp\",\n 34: \"PageDown\",\n 35: \"End\",\n 36: \"Home\",\n 37: \"ArrowLeft\",\n 38: \"ArrowUp\",\n 39: \"ArrowRight\",\n 40: \"ArrowDown\",\n 45: \"Insert\",\n 46: \"Delete\",\n 112: \"F1\",\n 113: \"F2\",\n 114: \"F3\",\n 115: \"F4\",\n 116: \"F5\",\n 117: \"F6\",\n 118: \"F7\",\n 119: \"F8\",\n 120: \"F9\",\n 121: \"F10\",\n 122: \"F11\",\n 123: \"F12\",\n 144: \"NumLock\",\n 145: \"ScrollLock\",\n 224: \"Meta\"\n },\n modifierKeyToProp = {\n Alt: \"altKey\",\n Control: \"ctrlKey\",\n Meta: \"metaKey\",\n Shift: \"shiftKey\"\n };\nfunction modifierStateGetter(keyArg) {\n var nativeEvent = this.nativeEvent;\n return nativeEvent.getModifierState\n ? nativeEvent.getModifierState(keyArg)\n : (keyArg = modifierKeyToProp[keyArg])\n ? !!nativeEvent[keyArg]\n : !1;\n}\nfunction getEventModifierState() {\n return modifierStateGetter;\n}\nvar KeyboardEventInterface = assign({}, UIEventInterface, {\n key: function (nativeEvent) {\n if (nativeEvent.key) {\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n if (\"Unidentified\" !== key) return key;\n }\n return \"keypress\" === nativeEvent.type\n ? ((nativeEvent = getEventCharCode(nativeEvent)),\n 13 === nativeEvent ? \"Enter\" : String.fromCharCode(nativeEvent))\n : \"keydown\" === nativeEvent.type || \"keyup\" === nativeEvent.type\n ? translateToKey[nativeEvent.keyCode] || \"Unidentified\"\n : \"\";\n },\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: getEventModifierState,\n charCode: function (event) {\n return \"keypress\" === event.type ? getEventCharCode(event) : 0;\n },\n keyCode: function (event) {\n return \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n },\n which: function (event) {\n return \"keypress\" === event.type\n ? getEventCharCode(event)\n : \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n }\n }),\n SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface),\n PointerEventInterface = assign({}, MouseEventInterface, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n }),\n SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface),\n TouchEventInterface = assign({}, UIEventInterface, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: getEventModifierState\n }),\n SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface),\n TransitionEventInterface = assign({}, EventInterface, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface),\n WheelEventInterface = assign({}, MouseEventInterface, {\n deltaX: function (event) {\n return \"deltaX\" in event\n ? event.deltaX\n : \"wheelDeltaX\" in event\n ? -event.wheelDeltaX\n : 0;\n },\n deltaY: function (event) {\n return \"deltaY\" in event\n ? event.deltaY\n : \"wheelDeltaY\" in event\n ? -event.wheelDeltaY\n : \"wheelDelta\" in event\n ? -event.wheelDelta\n : 0;\n },\n deltaZ: 0,\n deltaMode: 0\n }),\n SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),\n ToggleEventInterface = assign({}, EventInterface, {\n newState: 0,\n oldState: 0\n }),\n SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),\n END_KEYCODES = [9, 13, 27, 32],\n canUseCompositionEvent = canUseDOM && \"CompositionEvent\" in window,\n documentMode = null;\ncanUseDOM &&\n \"documentMode\" in document &&\n (documentMode = document.documentMode);\nvar canUseTextInputEvent = canUseDOM && \"TextEvent\" in window && !documentMode,\n useFallbackCompositionData =\n canUseDOM &&\n (!canUseCompositionEvent ||\n (documentMode && 8 < documentMode && 11 >= documentMode)),\n SPACEBAR_CHAR = String.fromCharCode(32),\n hasSpaceKeypress = !1;\nfunction isFallbackCompositionEnd(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"keyup\":\n return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode);\n case \"keydown\":\n return 229 !== nativeEvent.keyCode;\n case \"keypress\":\n case \"mousedown\":\n case \"focusout\":\n return !0;\n default:\n return !1;\n }\n}\nfunction getDataFromCustomEvent(nativeEvent) {\n nativeEvent = nativeEvent.detail;\n return \"object\" === typeof nativeEvent && \"data\" in nativeEvent\n ? nativeEvent.data\n : null;\n}\nvar isComposing = !1;\nfunction getNativeBeforeInputChars(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"compositionend\":\n return getDataFromCustomEvent(nativeEvent);\n case \"keypress\":\n if (32 !== nativeEvent.which) return null;\n hasSpaceKeypress = !0;\n return SPACEBAR_CHAR;\n case \"textInput\":\n return (\n (domEventName = nativeEvent.data),\n domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName\n );\n default:\n return null;\n }\n}\nfunction getFallbackBeforeInputChars(domEventName, nativeEvent) {\n if (isComposing)\n return \"compositionend\" === domEventName ||\n (!canUseCompositionEvent &&\n isFallbackCompositionEnd(domEventName, nativeEvent))\n ? ((domEventName = getData()),\n (fallbackText = startText = root = null),\n (isComposing = !1),\n domEventName)\n : null;\n switch (domEventName) {\n case \"paste\":\n return null;\n case \"keypress\":\n if (\n !(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) ||\n (nativeEvent.ctrlKey && nativeEvent.altKey)\n ) {\n if (nativeEvent.char && 1 < nativeEvent.char.length)\n return nativeEvent.char;\n if (nativeEvent.which) return String.fromCharCode(nativeEvent.which);\n }\n return null;\n case \"compositionend\":\n return useFallbackCompositionData && \"ko\" !== nativeEvent.locale\n ? null\n : nativeEvent.data;\n default:\n return null;\n }\n}\nvar supportedInputTypes = {\n color: !0,\n date: !0,\n datetime: !0,\n \"datetime-local\": !0,\n email: !0,\n month: !0,\n number: !0,\n password: !0,\n range: !0,\n search: !0,\n tel: !0,\n text: !0,\n time: !0,\n url: !0,\n week: !0\n};\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return \"input\" === nodeName\n ? !!supportedInputTypes[elem.type]\n : \"textarea\" === nodeName\n ? !0\n : !1;\n}\nfunction createAndAccumulateChangeEvent(\n dispatchQueue,\n inst,\n nativeEvent,\n target\n) {\n restoreTarget\n ? restoreQueue\n ? restoreQueue.push(target)\n : (restoreQueue = [target])\n : (restoreTarget = target);\n inst = accumulateTwoPhaseListeners(inst, \"onChange\");\n 0 < inst.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onChange\",\n \"change\",\n null,\n nativeEvent,\n target\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: inst }));\n}\nvar activeElement$1 = null,\n activeElementInst$1 = null;\nfunction runEventInBatch(dispatchQueue) {\n processDispatchQueue(dispatchQueue, 0);\n}\nfunction getInstIfValueChanged(targetInst) {\n var targetNode = getNodeFromInstance(targetInst);\n if (updateValueIfChanged(targetNode)) return targetInst;\n}\nfunction getTargetInstForChangeEvent(domEventName, targetInst) {\n if (\"change\" === domEventName) return targetInst;\n}\nvar isInputEventSupported = !1;\nif (canUseDOM) {\n var JSCompiler_inline_result$jscomp$282;\n if (canUseDOM) {\n var isSupported$jscomp$inline_417 = \"oninput\" in document;\n if (!isSupported$jscomp$inline_417) {\n var element$jscomp$inline_418 = document.createElement(\"div\");\n element$jscomp$inline_418.setAttribute(\"oninput\", \"return;\");\n isSupported$jscomp$inline_417 =\n \"function\" === typeof element$jscomp$inline_418.oninput;\n }\n JSCompiler_inline_result$jscomp$282 = isSupported$jscomp$inline_417;\n } else JSCompiler_inline_result$jscomp$282 = !1;\n isInputEventSupported =\n JSCompiler_inline_result$jscomp$282 &&\n (!document.documentMode || 9 < document.documentMode);\n}\nfunction stopWatchingForValueChange() {\n activeElement$1 &&\n (activeElement$1.detachEvent(\"onpropertychange\", handlePropertyChange),\n (activeElementInst$1 = activeElement$1 = null));\n}\nfunction handlePropertyChange(nativeEvent) {\n if (\n \"value\" === nativeEvent.propertyName &&\n getInstIfValueChanged(activeElementInst$1)\n ) {\n var dispatchQueue = [];\n createAndAccumulateChangeEvent(\n dispatchQueue,\n activeElementInst$1,\n nativeEvent,\n getEventTarget(nativeEvent)\n );\n batchedUpdates$1(runEventInBatch, dispatchQueue);\n }\n}\nfunction handleEventsForInputEventPolyfill(domEventName, target, targetInst) {\n \"focusin\" === domEventName\n ? (stopWatchingForValueChange(),\n (activeElement$1 = target),\n (activeElementInst$1 = targetInst),\n activeElement$1.attachEvent(\"onpropertychange\", handlePropertyChange))\n : \"focusout\" === domEventName && stopWatchingForValueChange();\n}\nfunction getTargetInstForInputEventPolyfill(domEventName) {\n if (\n \"selectionchange\" === domEventName ||\n \"keyup\" === domEventName ||\n \"keydown\" === domEventName\n )\n return getInstIfValueChanged(activeElementInst$1);\n}\nfunction getTargetInstForClickEvent(domEventName, targetInst) {\n if (\"click\" === domEventName) return getInstIfValueChanged(targetInst);\n}\nfunction getTargetInstForInputOrChangeEvent(domEventName, targetInst) {\n if (\"input\" === domEventName || \"change\" === domEventName)\n return getInstIfValueChanged(targetInst);\n}\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is;\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) return !0;\n if (\n \"object\" !== typeof objA ||\n null === objA ||\n \"object\" !== typeof objB ||\n null === objB\n )\n return !1;\n var keysA = Object.keys(objA),\n keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return !1;\n for (keysB = 0; keysB < keysA.length; keysB++) {\n var currentKey = keysA[keysB];\n if (\n !hasOwnProperty.call(objB, currentKey) ||\n !objectIs(objA[currentKey], objB[currentKey])\n )\n return !1;\n }\n return !0;\n}\nfunction getLeafNode(node) {\n for (; node && node.firstChild; ) node = node.firstChild;\n return node;\n}\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n root = 0;\n for (var nodeEnd; node; ) {\n if (3 === node.nodeType) {\n nodeEnd = root + node.textContent.length;\n if (root <= offset && nodeEnd >= offset)\n return { node: node, offset: offset - root };\n root = nodeEnd;\n }\n a: {\n for (; node; ) {\n if (node.nextSibling) {\n node = node.nextSibling;\n break a;\n }\n node = node.parentNode;\n }\n node = void 0;\n }\n node = getLeafNode(node);\n }\n}\nfunction containsNode(outerNode, innerNode) {\n return outerNode && innerNode\n ? outerNode === innerNode\n ? !0\n : outerNode && 3 === outerNode.nodeType\n ? !1\n : innerNode && 3 === innerNode.nodeType\n ? containsNode(outerNode, innerNode.parentNode)\n : \"contains\" in outerNode\n ? outerNode.contains(innerNode)\n : outerNode.compareDocumentPosition\n ? !!(outerNode.compareDocumentPosition(innerNode) & 16)\n : !1\n : !1;\n}\nfunction getActiveElementDeep(containerInfo) {\n containerInfo =\n null != containerInfo &&\n null != containerInfo.ownerDocument &&\n null != containerInfo.ownerDocument.defaultView\n ? containerInfo.ownerDocument.defaultView\n : window;\n for (\n var element = getActiveElement(containerInfo.document);\n element instanceof containerInfo.HTMLIFrameElement;\n\n ) {\n try {\n var JSCompiler_inline_result =\n \"string\" === typeof element.contentWindow.location.href;\n } catch (err) {\n JSCompiler_inline_result = !1;\n }\n if (JSCompiler_inline_result) containerInfo = element.contentWindow;\n else break;\n element = getActiveElement(containerInfo.document);\n }\n return element;\n}\nfunction hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return (\n nodeName &&\n ((\"input\" === nodeName &&\n (\"text\" === elem.type ||\n \"search\" === elem.type ||\n \"tel\" === elem.type ||\n \"url\" === elem.type ||\n \"password\" === elem.type)) ||\n \"textarea\" === nodeName ||\n \"true\" === elem.contentEditable)\n );\n}\nvar skipSelectionChangeEvent =\n canUseDOM && \"documentMode\" in document && 11 >= document.documentMode,\n activeElement = null,\n activeElementInst = null,\n lastSelection = null,\n mouseDown = !1;\nfunction constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {\n var doc =\n nativeEventTarget.window === nativeEventTarget\n ? nativeEventTarget.document\n : 9 === nativeEventTarget.nodeType\n ? nativeEventTarget\n : nativeEventTarget.ownerDocument;\n mouseDown ||\n null == activeElement ||\n activeElement !== getActiveElement(doc) ||\n ((doc = activeElement),\n \"selectionStart\" in doc && hasSelectionCapabilities(doc)\n ? (doc = { start: doc.selectionStart, end: doc.selectionEnd })\n : ((doc = (\n (doc.ownerDocument && doc.ownerDocument.defaultView) ||\n window\n ).getSelection()),\n (doc = {\n anchorNode: doc.anchorNode,\n anchorOffset: doc.anchorOffset,\n focusNode: doc.focusNode,\n focusOffset: doc.focusOffset\n })),\n (lastSelection && shallowEqual(lastSelection, doc)) ||\n ((lastSelection = doc),\n (doc = accumulateTwoPhaseListeners(activeElementInst, \"onSelect\")),\n 0 < doc.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onSelect\",\n \"select\",\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: doc }),\n (nativeEvent.target = activeElement))));\n}\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\" + styleProp] = \"webkit\" + eventName;\n prefixes[\"Moz\" + styleProp] = \"moz\" + eventName;\n return prefixes;\n}\nvar vendorPrefixes = {\n animationend: makePrefixMap(\"Animation\", \"AnimationEnd\"),\n animationiteration: makePrefixMap(\"Animation\", \"AnimationIteration\"),\n animationstart: makePrefixMap(\"Animation\", \"AnimationStart\"),\n transitionrun: makePrefixMap(\"Transition\", \"TransitionRun\"),\n transitionstart: makePrefixMap(\"Transition\", \"TransitionStart\"),\n transitioncancel: makePrefixMap(\"Transition\", \"TransitionCancel\"),\n transitionend: makePrefixMap(\"Transition\", \"TransitionEnd\")\n },\n prefixedEventNames = {},\n style = {};\ncanUseDOM &&\n ((style = document.createElement(\"div\").style),\n \"AnimationEvent\" in window ||\n (delete vendorPrefixes.animationend.animation,\n delete vendorPrefixes.animationiteration.animation,\n delete vendorPrefixes.animationstart.animation),\n \"TransitionEvent\" in window ||\n delete vendorPrefixes.transitionend.transition);\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) return prefixedEventNames[eventName];\n if (!vendorPrefixes[eventName]) return eventName;\n var prefixMap = vendorPrefixes[eventName],\n styleProp;\n for (styleProp in prefixMap)\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style)\n return (prefixedEventNames[eventName] = prefixMap[styleProp]);\n return eventName;\n}\nvar ANIMATION_END = getVendorPrefixedEventName(\"animationend\"),\n ANIMATION_ITERATION = getVendorPrefixedEventName(\"animationiteration\"),\n ANIMATION_START = getVendorPrefixedEventName(\"animationstart\"),\n TRANSITION_RUN = getVendorPrefixedEventName(\"transitionrun\"),\n TRANSITION_START = getVendorPrefixedEventName(\"transitionstart\"),\n TRANSITION_CANCEL = getVendorPrefixedEventName(\"transitioncancel\"),\n TRANSITION_END = getVendorPrefixedEventName(\"transitionend\"),\n topLevelEventsToReactNames = new Map(),\n simpleEventPluginEvents =\n \"abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\n \" \"\n );\nsimpleEventPluginEvents.push(\"scrollEnd\");\nfunction registerSimpleEvent(domEventName, reactName) {\n topLevelEventsToReactNames.set(domEventName, reactName);\n registerTwoPhaseEvent(reactName, [domEventName]);\n}\nvar CapturedStacks = new WeakMap();\nfunction createCapturedValueAtFiber(value, source) {\n if (\"object\" === typeof value && null !== value) {\n var existing = CapturedStacks.get(value);\n if (void 0 !== existing) return existing;\n source = {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n CapturedStacks.set(value, source);\n return source;\n }\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n}\nvar concurrentQueues = [],\n concurrentQueuesIndex = 0,\n concurrentlyUpdatedLanes = 0;\nfunction finishQueueingConcurrentUpdates() {\n for (\n var endIndex = concurrentQueuesIndex,\n i = (concurrentlyUpdatedLanes = concurrentQueuesIndex = 0);\n i < endIndex;\n\n ) {\n var fiber = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var queue = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var update = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var lane = concurrentQueues[i];\n concurrentQueues[i++] = null;\n if (null !== queue && null !== update) {\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);\n }\n}\nfunction enqueueUpdate$1(fiber, queue, update, lane) {\n concurrentQueues[concurrentQueuesIndex++] = fiber;\n concurrentQueues[concurrentQueuesIndex++] = queue;\n concurrentQueues[concurrentQueuesIndex++] = update;\n concurrentQueues[concurrentQueuesIndex++] = lane;\n concurrentlyUpdatedLanes |= lane;\n fiber.lanes |= lane;\n fiber = fiber.alternate;\n null !== fiber && (fiber.lanes |= lane);\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n enqueueUpdate$1(fiber, queue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n enqueueUpdate$1(fiber, null, null, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {\n sourceFiber.lanes |= lane;\n var alternate = sourceFiber.alternate;\n null !== alternate && (alternate.lanes |= lane);\n for (var isHidden = !1, parent = sourceFiber.return; null !== parent; )\n (parent.childLanes |= lane),\n (alternate = parent.alternate),\n null !== alternate && (alternate.childLanes |= lane),\n 22 === parent.tag &&\n ((sourceFiber = parent.stateNode),\n null === sourceFiber || sourceFiber._visibility & 1 || (isHidden = !0)),\n (sourceFiber = parent),\n (parent = parent.return);\n return 3 === sourceFiber.tag\n ? ((parent = sourceFiber.stateNode),\n isHidden &&\n null !== update &&\n ((isHidden = 31 - clz32(lane)),\n (sourceFiber = parent.hiddenUpdates),\n (alternate = sourceFiber[isHidden]),\n null === alternate\n ? (sourceFiber[isHidden] = [update])\n : alternate.push(update),\n (update.lane = lane | 536870912)),\n parent)\n : null;\n}\nfunction getRootForUpdatedFiber(sourceFiber) {\n if (50 < nestedUpdateCount)\n throw (\n ((nestedUpdateCount = 0),\n (rootWithNestedUpdates = null),\n Error(formatProdErrorMessage(185)))\n );\n for (var parent = sourceFiber.return; null !== parent; )\n (sourceFiber = parent), (parent = sourceFiber.return);\n return 3 === sourceFiber.tag ? sourceFiber.stateNode : null;\n}\nvar emptyContextObject = {};\nfunction FiberNode(tag, pendingProps, key, mode) {\n this.tag = tag;\n this.key = key;\n this.sibling =\n this.child =\n this.return =\n this.stateNode =\n this.type =\n this.elementType =\n null;\n this.index = 0;\n this.refCleanup = this.ref = null;\n this.pendingProps = pendingProps;\n this.dependencies =\n this.memoizedState =\n this.updateQueue =\n this.memoizedProps =\n null;\n this.mode = mode;\n this.subtreeFlags = this.flags = 0;\n this.deletions = null;\n this.childLanes = this.lanes = 0;\n this.alternate = null;\n}\nfunction createFiberImplClass(tag, pendingProps, key, mode) {\n return new FiberNode(tag, pendingProps, key, mode);\n}\nfunction shouldConstruct(Component) {\n Component = Component.prototype;\n return !(!Component || !Component.isReactComponent);\n}\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n null === workInProgress\n ? ((workInProgress = createFiberImplClass(\n current.tag,\n pendingProps,\n current.key,\n current.mode\n )),\n (workInProgress.elementType = current.elementType),\n (workInProgress.type = current.type),\n (workInProgress.stateNode = current.stateNode),\n (workInProgress.alternate = current),\n (current.alternate = workInProgress))\n : ((workInProgress.pendingProps = pendingProps),\n (workInProgress.type = current.type),\n (workInProgress.flags = 0),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null));\n workInProgress.flags = current.flags & 65011712;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue;\n pendingProps = current.dependencies;\n workInProgress.dependencies =\n null === pendingProps\n ? null\n : { lanes: pendingProps.lanes, firstContext: pendingProps.firstContext };\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n workInProgress.refCleanup = current.refCleanup;\n return workInProgress;\n}\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n workInProgress.flags &= 65011714;\n var current = workInProgress.alternate;\n null === current\n ? ((workInProgress.childLanes = 0),\n (workInProgress.lanes = renderLanes),\n (workInProgress.child = null),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.memoizedProps = null),\n (workInProgress.memoizedState = null),\n (workInProgress.updateQueue = null),\n (workInProgress.dependencies = null),\n (workInProgress.stateNode = null))\n : ((workInProgress.childLanes = current.childLanes),\n (workInProgress.lanes = current.lanes),\n (workInProgress.child = current.child),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null),\n (workInProgress.memoizedProps = current.memoizedProps),\n (workInProgress.memoizedState = current.memoizedState),\n (workInProgress.updateQueue = current.updateQueue),\n (workInProgress.type = current.type),\n (renderLanes = current.dependencies),\n (workInProgress.dependencies =\n null === renderLanes\n ? null\n : {\n lanes: renderLanes.lanes,\n firstContext: renderLanes.firstContext\n }));\n return workInProgress;\n}\nfunction createFiberFromTypeAndProps(\n type,\n key,\n pendingProps,\n owner,\n mode,\n lanes\n) {\n var fiberTag = 0;\n owner = type;\n if (\"function\" === typeof type) shouldConstruct(type) && (fiberTag = 1);\n else if (\"string\" === typeof type)\n fiberTag = isHostHoistableType(\n type,\n pendingProps,\n contextStackCursor.current\n )\n ? 26\n : \"html\" === type || \"head\" === type || \"body\" === type\n ? 27\n : 5;\n else\n a: switch (type) {\n case REACT_ACTIVITY_TYPE:\n return (\n (type = createFiberImplClass(31, pendingProps, key, mode)),\n (type.elementType = REACT_ACTIVITY_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n case REACT_STRICT_MODE_TYPE:\n fiberTag = 8;\n mode |= 24;\n break;\n case REACT_PROFILER_TYPE:\n return (\n (type = createFiberImplClass(12, pendingProps, key, mode | 2)),\n (type.elementType = REACT_PROFILER_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_TYPE:\n return (\n (type = createFiberImplClass(13, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_LIST_TYPE:\n return (\n (type = createFiberImplClass(19, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_LIST_TYPE),\n (type.lanes = lanes),\n type\n );\n default:\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n case REACT_CONTEXT_TYPE:\n fiberTag = 10;\n break a;\n case REACT_CONSUMER_TYPE:\n fiberTag = 9;\n break a;\n case REACT_FORWARD_REF_TYPE:\n fiberTag = 11;\n break a;\n case REACT_MEMO_TYPE:\n fiberTag = 14;\n break a;\n case REACT_LAZY_TYPE:\n fiberTag = 16;\n owner = null;\n break a;\n }\n fiberTag = 29;\n pendingProps = Error(\n formatProdErrorMessage(130, null === type ? \"null\" : typeof type, \"\")\n );\n owner = null;\n }\n key = createFiberImplClass(fiberTag, pendingProps, key, mode);\n key.elementType = type;\n key.type = owner;\n key.lanes = lanes;\n return key;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n elements = createFiberImplClass(7, elements, key, mode);\n elements.lanes = lanes;\n return elements;\n}\nfunction createFiberFromText(content, mode, lanes) {\n content = createFiberImplClass(6, content, null, mode);\n content.lanes = lanes;\n return content;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n mode = createFiberImplClass(\n 4,\n null !== portal.children ? portal.children : [],\n portal.key,\n mode\n );\n mode.lanes = lanes;\n mode.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n implementation: portal.implementation\n };\n return mode;\n}\nvar forkStack = [],\n forkStackIndex = 0,\n treeForkProvider = null,\n treeForkCount = 0,\n idStack = [],\n idStackIndex = 0,\n treeContextProvider = null,\n treeContextId = 1,\n treeContextOverflow = \"\";\nfunction pushTreeFork(workInProgress, totalChildren) {\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n}\nfunction pushTreeId(workInProgress, totalChildren, index) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n workInProgress = treeContextOverflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - (baseLength % 5);\n length = (\n baseIdWithLeadingBit &\n ((1 << numberOfOverflowBits) - 1)\n ).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n treeContextId =\n (1 << (32 - clz32(totalChildren) + baseLength)) |\n (index << baseLength) |\n baseIdWithLeadingBit;\n treeContextOverflow = length + workInProgress;\n } else\n (treeContextId =\n (1 << length) | (index << baseLength) | baseIdWithLeadingBit),\n (treeContextOverflow = workInProgress);\n}\nfunction pushMaterializedTreeId(workInProgress) {\n null !== workInProgress.return &&\n (pushTreeFork(workInProgress, 1), pushTreeId(workInProgress, 1, 0));\n}\nfunction popTreeContext(workInProgress) {\n for (; workInProgress === treeForkProvider; )\n (treeForkProvider = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null),\n (treeForkCount = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null);\n for (; workInProgress === treeContextProvider; )\n (treeContextProvider = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextOverflow = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextId = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null);\n}\nvar hydrationParentFiber = null,\n nextHydratableInstance = null,\n isHydrating = !1,\n hydrationErrors = null,\n rootOrSingletonContext = !1,\n HydrationMismatchException = Error(formatProdErrorMessage(519));\nfunction throwOnHydrationMismatch(fiber) {\n var error = Error(formatProdErrorMessage(418, \"\"));\n queueHydrationError(createCapturedValueAtFiber(error, fiber));\n throw HydrationMismatchException;\n}\nfunction prepareToHydrateHostInstance(fiber) {\n var instance = fiber.stateNode,\n type = fiber.type,\n props = fiber.memoizedProps;\n instance[internalInstanceKey] = fiber;\n instance[internalPropsKey] = props;\n switch (type) {\n case \"dialog\":\n listenToNonDelegatedEvent(\"cancel\", instance);\n listenToNonDelegatedEvent(\"close\", instance);\n break;\n case \"iframe\":\n case \"object\":\n case \"embed\":\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"video\":\n case \"audio\":\n for (type = 0; type < mediaEventTypes.length; type++)\n listenToNonDelegatedEvent(mediaEventTypes[type], instance);\n break;\n case \"source\":\n listenToNonDelegatedEvent(\"error\", instance);\n break;\n case \"img\":\n case \"image\":\n case \"link\":\n listenToNonDelegatedEvent(\"error\", instance);\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"details\":\n listenToNonDelegatedEvent(\"toggle\", instance);\n break;\n case \"input\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n initInput(\n instance,\n props.value,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name,\n !0\n );\n track(instance);\n break;\n case \"select\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n break;\n case \"textarea\":\n listenToNonDelegatedEvent(\"invalid\", instance),\n initTextarea(instance, props.value, props.defaultValue, props.children),\n track(instance);\n }\n type = props.children;\n (\"string\" !== typeof type &&\n \"number\" !== typeof type &&\n \"bigint\" !== typeof type) ||\n instance.textContent === \"\" + type ||\n !0 === props.suppressHydrationWarning ||\n checkForUnmatchedText(instance.textContent, type)\n ? (null != props.popover &&\n (listenToNonDelegatedEvent(\"beforetoggle\", instance),\n listenToNonDelegatedEvent(\"toggle\", instance)),\n null != props.onScroll && listenToNonDelegatedEvent(\"scroll\", instance),\n null != props.onScrollEnd &&\n listenToNonDelegatedEvent(\"scrollend\", instance),\n null != props.onClick && (instance.onclick = noop$1),\n (instance = !0))\n : (instance = !1);\n instance || throwOnHydrationMismatch(fiber);\n}\nfunction popToNextHostParent(fiber) {\n for (hydrationParentFiber = fiber.return; hydrationParentFiber; )\n switch (hydrationParentFiber.tag) {\n case 5:\n case 13:\n rootOrSingletonContext = !1;\n return;\n case 27:\n case 3:\n rootOrSingletonContext = !0;\n return;\n default:\n hydrationParentFiber = hydrationParentFiber.return;\n }\n}\nfunction popHydrationState(fiber) {\n if (fiber !== hydrationParentFiber) return !1;\n if (!isHydrating) return popToNextHostParent(fiber), (isHydrating = !0), !1;\n var tag = fiber.tag,\n JSCompiler_temp;\n if ((JSCompiler_temp = 3 !== tag && 27 !== tag)) {\n if ((JSCompiler_temp = 5 === tag))\n (JSCompiler_temp = fiber.type),\n (JSCompiler_temp =\n !(\"form\" !== JSCompiler_temp && \"button\" !== JSCompiler_temp) ||\n shouldSetTextContent(fiber.type, fiber.memoizedProps));\n JSCompiler_temp = !JSCompiler_temp;\n }\n JSCompiler_temp && nextHydratableInstance && throwOnHydrationMismatch(fiber);\n popToNextHostParent(fiber);\n if (13 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n a: {\n fiber = fiber.nextSibling;\n for (tag = 0; fiber; ) {\n if (8 === fiber.nodeType)\n if (((JSCompiler_temp = fiber.data), \"/$\" === JSCompiler_temp)) {\n if (0 === tag) {\n nextHydratableInstance = getNextHydratable(fiber.nextSibling);\n break a;\n }\n tag--;\n } else\n (\"$\" !== JSCompiler_temp &&\n \"$!\" !== JSCompiler_temp &&\n \"$?\" !== JSCompiler_temp) ||\n tag++;\n fiber = fiber.nextSibling;\n }\n nextHydratableInstance = null;\n }\n } else\n 27 === tag\n ? ((tag = nextHydratableInstance),\n isSingletonScope(fiber.type)\n ? ((fiber = previousHydratableOnEnteringScopedSingleton),\n (previousHydratableOnEnteringScopedSingleton = null),\n (nextHydratableInstance = fiber))\n : (nextHydratableInstance = tag))\n : (nextHydratableInstance = hydrationParentFiber\n ? getNextHydratable(fiber.stateNode.nextSibling)\n : null);\n return !0;\n}\nfunction resetHydrationState() {\n nextHydratableInstance = hydrationParentFiber = null;\n isHydrating = !1;\n}\nfunction upgradeHydrationErrorsToRecoverable() {\n var queuedErrors = hydrationErrors;\n null !== queuedErrors &&\n (null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = queuedErrors)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n queuedErrors\n ),\n (hydrationErrors = null));\n return queuedErrors;\n}\nfunction queueHydrationError(error) {\n null === hydrationErrors\n ? (hydrationErrors = [error])\n : hydrationErrors.push(error);\n}\nvar valueCursor = createCursor(null),\n currentlyRenderingFiber$1 = null,\n lastContextDependency = null;\nfunction pushProvider(providerFiber, context, nextValue) {\n push(valueCursor, context._currentValue);\n context._currentValue = nextValue;\n}\nfunction popProvider(context) {\n context._currentValue = valueCursor.current;\n pop(valueCursor);\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n for (; null !== parent; ) {\n var alternate = parent.alternate;\n (parent.childLanes & renderLanes) !== renderLanes\n ? ((parent.childLanes |= renderLanes),\n null !== alternate && (alternate.childLanes |= renderLanes))\n : null !== alternate &&\n (alternate.childLanes & renderLanes) !== renderLanes &&\n (alternate.childLanes |= renderLanes);\n if (parent === propagationRoot) break;\n parent = parent.return;\n }\n}\nfunction propagateContextChanges(\n workInProgress,\n contexts,\n renderLanes,\n forcePropagateEntireTree\n) {\n var fiber = workInProgress.child;\n null !== fiber && (fiber.return = workInProgress);\n for (; null !== fiber; ) {\n var list = fiber.dependencies;\n if (null !== list) {\n var nextFiber = fiber.child;\n list = list.firstContext;\n a: for (; null !== list; ) {\n var dependency = list;\n list = fiber;\n for (var i = 0; i < contexts.length; i++)\n if (dependency.context === contexts[i]) {\n list.lanes |= renderLanes;\n dependency = list.alternate;\n null !== dependency && (dependency.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n list.return,\n renderLanes,\n workInProgress\n );\n forcePropagateEntireTree || (nextFiber = null);\n break a;\n }\n list = dependency.next;\n }\n } else if (18 === fiber.tag) {\n nextFiber = fiber.return;\n if (null === nextFiber) throw Error(formatProdErrorMessage(341));\n nextFiber.lanes |= renderLanes;\n list = nextFiber.alternate;\n null !== list && (list.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(nextFiber, renderLanes, workInProgress);\n nextFiber = null;\n } else nextFiber = fiber.child;\n if (null !== nextFiber) nextFiber.return = fiber;\n else\n for (nextFiber = fiber; null !== nextFiber; ) {\n if (nextFiber === workInProgress) {\n nextFiber = null;\n break;\n }\n fiber = nextFiber.sibling;\n if (null !== fiber) {\n fiber.return = nextFiber.return;\n nextFiber = fiber;\n break;\n }\n nextFiber = nextFiber.return;\n }\n fiber = nextFiber;\n }\n}\nfunction propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n forcePropagateEntireTree\n) {\n current = null;\n for (\n var parent = workInProgress, isInsidePropagationBailout = !1;\n null !== parent;\n\n ) {\n if (!isInsidePropagationBailout)\n if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = !0;\n else if (0 !== (parent.flags & 262144)) break;\n if (10 === parent.tag) {\n var currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent = currentParent.memoizedProps;\n if (null !== currentParent) {\n var context = parent.type;\n objectIs(parent.pendingProps.value, currentParent.value) ||\n (null !== current ? current.push(context) : (current = [context]));\n }\n } else if (parent === hostTransitionProviderCursor.current) {\n currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent.memoizedState.memoizedState !==\n parent.memoizedState.memoizedState &&\n (null !== current\n ? current.push(HostTransitionContext)\n : (current = [HostTransitionContext]));\n }\n parent = parent.return;\n }\n null !== current &&\n propagateContextChanges(\n workInProgress,\n current,\n renderLanes,\n forcePropagateEntireTree\n );\n workInProgress.flags |= 262144;\n}\nfunction checkIfContextChanged(currentDependencies) {\n for (\n currentDependencies = currentDependencies.firstContext;\n null !== currentDependencies;\n\n ) {\n if (\n !objectIs(\n currentDependencies.context._currentValue,\n currentDependencies.memoizedValue\n )\n )\n return !0;\n currentDependencies = currentDependencies.next;\n }\n return !1;\n}\nfunction prepareToReadContext(workInProgress) {\n currentlyRenderingFiber$1 = workInProgress;\n lastContextDependency = null;\n workInProgress = workInProgress.dependencies;\n null !== workInProgress && (workInProgress.firstContext = null);\n}\nfunction readContext(context) {\n return readContextForConsumer(currentlyRenderingFiber$1, context);\n}\nfunction readContextDuringReconciliation(consumer, context) {\n null === currentlyRenderingFiber$1 && prepareToReadContext(consumer);\n return readContextForConsumer(consumer, context);\n}\nfunction readContextForConsumer(consumer, context) {\n var value = context._currentValue;\n context = { context: context, memoizedValue: value, next: null };\n if (null === lastContextDependency) {\n if (null === consumer) throw Error(formatProdErrorMessage(308));\n lastContextDependency = context;\n consumer.dependencies = { lanes: 0, firstContext: context };\n consumer.flags |= 524288;\n } else lastContextDependency = lastContextDependency.next = context;\n return value;\n}\nvar AbortControllerLocal =\n \"undefined\" !== typeof AbortController\n ? AbortController\n : function () {\n var listeners = [],\n signal = (this.signal = {\n aborted: !1,\n addEventListener: function (type, listener) {\n listeners.push(listener);\n }\n });\n this.abort = function () {\n signal.aborted = !0;\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n },\n scheduleCallback$2 = Scheduler.unstable_scheduleCallback,\n NormalPriority = Scheduler.unstable_NormalPriority,\n CacheContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Consumer: null,\n Provider: null,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0\n };\nfunction createCache() {\n return {\n controller: new AbortControllerLocal(),\n data: new Map(),\n refCount: 0\n };\n}\nfunction releaseCache(cache) {\n cache.refCount--;\n 0 === cache.refCount &&\n scheduleCallback$2(NormalPriority, function () {\n cache.controller.abort();\n });\n}\nvar currentEntangledListeners = null,\n currentEntangledPendingCount = 0,\n currentEntangledLane = 0,\n currentEntangledActionThenable = null;\nfunction entangleAsyncAction(transition, thenable) {\n if (null === currentEntangledListeners) {\n var entangledListeners = (currentEntangledListeners = []);\n currentEntangledPendingCount = 0;\n currentEntangledLane = requestTransitionLane();\n currentEntangledActionThenable = {\n status: \"pending\",\n value: void 0,\n then: function (resolve) {\n entangledListeners.push(resolve);\n }\n };\n }\n currentEntangledPendingCount++;\n thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);\n return thenable;\n}\nfunction pingEngtangledActionScope() {\n if (\n 0 === --currentEntangledPendingCount &&\n null !== currentEntangledListeners\n ) {\n null !== currentEntangledActionThenable &&\n (currentEntangledActionThenable.status = \"fulfilled\");\n var listeners = currentEntangledListeners;\n currentEntangledListeners = null;\n currentEntangledLane = 0;\n currentEntangledActionThenable = null;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])();\n }\n}\nfunction chainThenableValue(thenable, result) {\n var listeners = [],\n thenableWithOverride = {\n status: \"pending\",\n value: null,\n reason: null,\n then: function (resolve) {\n listeners.push(resolve);\n }\n };\n thenable.then(\n function () {\n thenableWithOverride.status = \"fulfilled\";\n thenableWithOverride.value = result;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);\n },\n function (error) {\n thenableWithOverride.status = \"rejected\";\n thenableWithOverride.reason = error;\n for (error = 0; error < listeners.length; error++)\n (0, listeners[error])(void 0);\n }\n );\n return thenableWithOverride;\n}\nvar prevOnStartTransitionFinish = ReactSharedInternals.S;\nReactSharedInternals.S = function (transition, returnValue) {\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n entangleAsyncAction(transition, returnValue);\n null !== prevOnStartTransitionFinish &&\n prevOnStartTransitionFinish(transition, returnValue);\n};\nvar resumedCache = createCursor(null);\nfunction peekCacheFromPool() {\n var cacheResumedFromPreviousRender = resumedCache.current;\n return null !== cacheResumedFromPreviousRender\n ? cacheResumedFromPreviousRender\n : workInProgressRoot.pooledCache;\n}\nfunction pushTransition(offscreenWorkInProgress, prevCachePool) {\n null === prevCachePool\n ? push(resumedCache, resumedCache.current)\n : push(resumedCache, prevCachePool.pool);\n}\nfunction getSuspendedCache() {\n var cacheFromPool = peekCacheFromPool();\n return null === cacheFromPool\n ? null\n : { parent: CacheContext._currentValue, pool: cacheFromPool };\n}\nvar SuspenseException = Error(formatProdErrorMessage(460)),\n SuspenseyCommitException = Error(formatProdErrorMessage(474)),\n SuspenseActionException = Error(formatProdErrorMessage(542)),\n noopSuspenseyCommitThenable = { then: function () {} };\nfunction isThenableResolved(thenable) {\n thenable = thenable.status;\n return \"fulfilled\" === thenable || \"rejected\" === thenable;\n}\nfunction noop$3() {}\nfunction trackUsedThenable(thenableState, thenable, index) {\n index = thenableState[index];\n void 0 === index\n ? thenableState.push(thenable)\n : index !== thenable && (thenable.then(noop$3, noop$3), (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n default:\n if (\"string\" === typeof thenable.status) thenable.then(noop$3, noop$3);\n else {\n thenableState = workInProgressRoot;\n if (null !== thenableState && 100 < thenableState.shellSuspendCounter)\n throw Error(formatProdErrorMessage(482));\n thenableState = thenable;\n thenableState.status = \"pending\";\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n );\n }\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n}\nvar suspendedThenable = null;\nfunction getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n}\nfunction checkIfUseWrappedInAsyncCatch(rejectedReason) {\n if (\n rejectedReason === SuspenseException ||\n rejectedReason === SuspenseActionException\n )\n throw Error(formatProdErrorMessage(483));\n}\nvar hasForceUpdate = !1;\nfunction initializeUpdateQueue(fiber) {\n fiber.updateQueue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: { pending: null, lanes: 0, hiddenCallbacks: null },\n callbacks: null\n };\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n current = current.updateQueue;\n workInProgress.updateQueue === current &&\n (workInProgress.updateQueue = {\n baseState: current.baseState,\n firstBaseUpdate: current.firstBaseUpdate,\n lastBaseUpdate: current.lastBaseUpdate,\n shared: current.shared,\n callbacks: null\n });\n}\nfunction createUpdate(lane) {\n return { lane: lane, tag: 0, payload: null, callback: null, next: null };\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n if (null === updateQueue) return null;\n updateQueue = updateQueue.shared;\n if (0 !== (executionContext & 2)) {\n var pending = updateQueue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n updateQueue.pending = update;\n update = getRootForUpdatedFiber(fiber);\n markUpdateLaneFromFiberToRoot(fiber, null, lane);\n return update;\n }\n enqueueUpdate$1(fiber, updateQueue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction entangleTransitions(root, fiber, lane) {\n fiber = fiber.updateQueue;\n if (null !== fiber && ((fiber = fiber.shared), 0 !== (lane & 4194048))) {\n var queueLanes = fiber.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n fiber.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n var queue = workInProgress.updateQueue,\n current = workInProgress.alternate;\n if (\n null !== current &&\n ((current = current.updateQueue), queue === current)\n ) {\n var newFirst = null,\n newLast = null;\n queue = queue.firstBaseUpdate;\n if (null !== queue) {\n do {\n var clone = {\n lane: queue.lane,\n tag: queue.tag,\n payload: queue.payload,\n callback: null,\n next: null\n };\n null === newLast\n ? (newFirst = newLast = clone)\n : (newLast = newLast.next = clone);\n queue = queue.next;\n } while (null !== queue);\n null === newLast\n ? (newFirst = newLast = capturedUpdate)\n : (newLast = newLast.next = capturedUpdate);\n } else newFirst = newLast = capturedUpdate;\n queue = {\n baseState: current.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: current.shared,\n callbacks: current.callbacks\n };\n workInProgress.updateQueue = queue;\n return;\n }\n workInProgress = queue.lastBaseUpdate;\n null === workInProgress\n ? (queue.firstBaseUpdate = capturedUpdate)\n : (workInProgress.next = capturedUpdate);\n queue.lastBaseUpdate = capturedUpdate;\n}\nvar didReadFromEntangledAsyncAction = !1;\nfunction suspendIfUpdateReadFromEntangledAsyncAction() {\n if (didReadFromEntangledAsyncAction) {\n var entangledActionThenable = currentEntangledActionThenable;\n if (null !== entangledActionThenable) throw entangledActionThenable;\n }\n}\nfunction processUpdateQueue(\n workInProgress$jscomp$0,\n props,\n instance$jscomp$0,\n renderLanes\n) {\n didReadFromEntangledAsyncAction = !1;\n var queue = workInProgress$jscomp$0.updateQueue;\n hasForceUpdate = !1;\n var firstBaseUpdate = queue.firstBaseUpdate,\n lastBaseUpdate = queue.lastBaseUpdate,\n pendingQueue = queue.shared.pending;\n if (null !== pendingQueue) {\n queue.shared.pending = null;\n var lastPendingUpdate = pendingQueue,\n firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null;\n null === lastBaseUpdate\n ? (firstBaseUpdate = firstPendingUpdate)\n : (lastBaseUpdate.next = firstPendingUpdate);\n lastBaseUpdate = lastPendingUpdate;\n var current = workInProgress$jscomp$0.alternate;\n null !== current &&\n ((current = current.updateQueue),\n (pendingQueue = current.lastBaseUpdate),\n pendingQueue !== lastBaseUpdate &&\n (null === pendingQueue\n ? (current.firstBaseUpdate = firstPendingUpdate)\n : (pendingQueue.next = firstPendingUpdate),\n (current.lastBaseUpdate = lastPendingUpdate)));\n }\n if (null !== firstBaseUpdate) {\n var newState = queue.baseState;\n lastBaseUpdate = 0;\n current = firstPendingUpdate = lastPendingUpdate = null;\n pendingQueue = firstBaseUpdate;\n do {\n var updateLane = pendingQueue.lane & -536870913,\n isHiddenUpdate = updateLane !== pendingQueue.lane;\n if (\n isHiddenUpdate\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n 0 !== updateLane &&\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction = !0);\n null !== current &&\n (current = current.next =\n {\n lane: 0,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: null,\n next: null\n });\n a: {\n var workInProgress = workInProgress$jscomp$0,\n update = pendingQueue;\n updateLane = props;\n var instance = instance$jscomp$0;\n switch (update.tag) {\n case 1:\n workInProgress = update.payload;\n if (\"function\" === typeof workInProgress) {\n newState = workInProgress.call(instance, newState, updateLane);\n break a;\n }\n newState = workInProgress;\n break a;\n case 3:\n workInProgress.flags = (workInProgress.flags & -65537) | 128;\n case 0:\n workInProgress = update.payload;\n updateLane =\n \"function\" === typeof workInProgress\n ? workInProgress.call(instance, newState, updateLane)\n : workInProgress;\n if (null === updateLane || void 0 === updateLane) break a;\n newState = assign({}, newState, updateLane);\n break a;\n case 2:\n hasForceUpdate = !0;\n }\n }\n updateLane = pendingQueue.callback;\n null !== updateLane &&\n ((workInProgress$jscomp$0.flags |= 64),\n isHiddenUpdate && (workInProgress$jscomp$0.flags |= 8192),\n (isHiddenUpdate = queue.callbacks),\n null === isHiddenUpdate\n ? (queue.callbacks = [updateLane])\n : isHiddenUpdate.push(updateLane));\n } else\n (isHiddenUpdate = {\n lane: updateLane,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: pendingQueue.callback,\n next: null\n }),\n null === current\n ? ((firstPendingUpdate = current = isHiddenUpdate),\n (lastPendingUpdate = newState))\n : (current = current.next = isHiddenUpdate),\n (lastBaseUpdate |= updateLane);\n pendingQueue = pendingQueue.next;\n if (null === pendingQueue)\n if (((pendingQueue = queue.shared.pending), null === pendingQueue))\n break;\n else\n (isHiddenUpdate = pendingQueue),\n (pendingQueue = isHiddenUpdate.next),\n (isHiddenUpdate.next = null),\n (queue.lastBaseUpdate = isHiddenUpdate),\n (queue.shared.pending = null);\n } while (1);\n null === current && (lastPendingUpdate = newState);\n queue.baseState = lastPendingUpdate;\n queue.firstBaseUpdate = firstPendingUpdate;\n queue.lastBaseUpdate = current;\n null === firstBaseUpdate && (queue.shared.lanes = 0);\n workInProgressRootSkippedLanes |= lastBaseUpdate;\n workInProgress$jscomp$0.lanes = lastBaseUpdate;\n workInProgress$jscomp$0.memoizedState = newState;\n }\n}\nfunction callCallback(callback, context) {\n if (\"function\" !== typeof callback)\n throw Error(formatProdErrorMessage(191, callback));\n callback.call(context);\n}\nfunction commitCallbacks(updateQueue, context) {\n var callbacks = updateQueue.callbacks;\n if (null !== callbacks)\n for (\n updateQueue.callbacks = null, updateQueue = 0;\n updateQueue < callbacks.length;\n updateQueue++\n )\n callCallback(callbacks[updateQueue], context);\n}\nvar currentTreeHiddenStackCursor = createCursor(null),\n prevEntangledRenderLanesCursor = createCursor(0);\nfunction pushHiddenContext(fiber, context) {\n fiber = entangledRenderLanes;\n push(prevEntangledRenderLanesCursor, fiber);\n push(currentTreeHiddenStackCursor, context);\n entangledRenderLanes = fiber | context.baseLanes;\n}\nfunction reuseHiddenContextOnStack() {\n push(prevEntangledRenderLanesCursor, entangledRenderLanes);\n push(currentTreeHiddenStackCursor, currentTreeHiddenStackCursor.current);\n}\nfunction popHiddenContext() {\n entangledRenderLanes = prevEntangledRenderLanesCursor.current;\n pop(currentTreeHiddenStackCursor);\n pop(prevEntangledRenderLanesCursor);\n}\nvar renderLanes = 0,\n currentlyRenderingFiber = null,\n currentHook = null,\n workInProgressHook = null,\n didScheduleRenderPhaseUpdate = !1,\n didScheduleRenderPhaseUpdateDuringThisPass = !1,\n shouldDoubleInvokeUserFnsInHooksDEV = !1,\n localIdCounter = 0,\n thenableIndexCounter$1 = 0,\n thenableState$1 = null,\n globalClientIdCounter = 0;\nfunction throwInvalidHookError() {\n throw Error(formatProdErrorMessage(321));\n}\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n if (null === prevDeps) return !1;\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)\n if (!objectIs(nextDeps[i], prevDeps[i])) return !1;\n return !0;\n}\nfunction renderWithHooks(\n current,\n workInProgress,\n Component,\n props,\n secondArg,\n nextRenderLanes\n) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber = workInProgress;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = 0;\n ReactSharedInternals.H =\n null === current || null === current.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate;\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n nextRenderLanes = Component(props, secondArg);\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n didScheduleRenderPhaseUpdateDuringThisPass &&\n (nextRenderLanes = renderWithHooksAgain(\n workInProgress,\n Component,\n props,\n secondArg\n ));\n finishRenderingHooks(current);\n return nextRenderLanes;\n}\nfunction finishRenderingHooks(current) {\n ReactSharedInternals.H = ContextOnlyDispatcher;\n var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next;\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdate = !1;\n thenableIndexCounter$1 = 0;\n thenableState$1 = null;\n if (didRenderTooFewHooks) throw Error(formatProdErrorMessage(300));\n null === current ||\n didReceiveUpdate ||\n ((current = current.dependencies),\n null !== current &&\n checkIfContextChanged(current) &&\n (didReceiveUpdate = !0));\n}\nfunction renderWithHooksAgain(workInProgress, Component, props, secondArg) {\n currentlyRenderingFiber = workInProgress;\n var numberOfReRenders = 0;\n do {\n didScheduleRenderPhaseUpdateDuringThisPass && (thenableState$1 = null);\n thenableIndexCounter$1 = 0;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301));\n numberOfReRenders += 1;\n workInProgressHook = currentHook = null;\n if (null != workInProgress.updateQueue) {\n var children = workInProgress.updateQueue;\n children.lastEffect = null;\n children.events = null;\n children.stores = null;\n null != children.memoCache && (children.memoCache.index = 0);\n }\n ReactSharedInternals.H = HooksDispatcherOnRerender;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n return children;\n}\nfunction TransitionAwareHostComponent() {\n var dispatcher = ReactSharedInternals.H,\n maybeThenable = dispatcher.useState()[0];\n maybeThenable =\n \"function\" === typeof maybeThenable.then\n ? useThenable(maybeThenable)\n : maybeThenable;\n dispatcher = dispatcher.useState()[0];\n (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher &&\n (currentlyRenderingFiber.flags |= 1024);\n return maybeThenable;\n}\nfunction checkDidRenderIdHook() {\n var didRenderIdHook = 0 !== localIdCounter;\n localIdCounter = 0;\n return didRenderIdHook;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue;\n workInProgress.flags &= -2053;\n current.lanes &= ~lanes;\n}\nfunction resetHooksOnUnwind(workInProgress) {\n if (didScheduleRenderPhaseUpdate) {\n for (\n workInProgress = workInProgress.memoizedState;\n null !== workInProgress;\n\n ) {\n var queue = workInProgress.queue;\n null !== queue && (queue.pending = null);\n workInProgress = workInProgress.next;\n }\n didScheduleRenderPhaseUpdate = !1;\n }\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n thenableIndexCounter$1 = localIdCounter = 0;\n thenableState$1 = null;\n}\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook = hook)\n : (workInProgressHook = workInProgressHook.next = hook);\n return workInProgressHook;\n}\nfunction updateWorkInProgressHook() {\n if (null === currentHook) {\n var nextCurrentHook = currentlyRenderingFiber.alternate;\n nextCurrentHook =\n null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;\n } else nextCurrentHook = currentHook.next;\n var nextWorkInProgressHook =\n null === workInProgressHook\n ? currentlyRenderingFiber.memoizedState\n : workInProgressHook.next;\n if (null !== nextWorkInProgressHook)\n (workInProgressHook = nextWorkInProgressHook),\n (currentHook = nextCurrentHook);\n else {\n if (null === nextCurrentHook) {\n if (null === currentlyRenderingFiber.alternate)\n throw Error(formatProdErrorMessage(467));\n throw Error(formatProdErrorMessage(310));\n }\n currentHook = nextCurrentHook;\n nextCurrentHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook =\n nextCurrentHook)\n : (workInProgressHook = workInProgressHook.next = nextCurrentHook);\n }\n return workInProgressHook;\n}\nfunction createFunctionComponentUpdateQueue() {\n return { lastEffect: null, events: null, stores: null, memoCache: null };\n}\nfunction useThenable(thenable) {\n var index = thenableIndexCounter$1;\n thenableIndexCounter$1 += 1;\n null === thenableState$1 && (thenableState$1 = []);\n thenable = trackUsedThenable(thenableState$1, thenable, index);\n index = currentlyRenderingFiber;\n null ===\n (null === workInProgressHook\n ? index.memoizedState\n : workInProgressHook.next) &&\n ((index = index.alternate),\n (ReactSharedInternals.H =\n null === index || null === index.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate));\n return thenable;\n}\nfunction use(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return useThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);\n }\n throw Error(formatProdErrorMessage(438, String(usable)));\n}\nfunction useMemoCache(size) {\n var memoCache = null,\n updateQueue = currentlyRenderingFiber.updateQueue;\n null !== updateQueue && (memoCache = updateQueue.memoCache);\n if (null == memoCache) {\n var current = currentlyRenderingFiber.alternate;\n null !== current &&\n ((current = current.updateQueue),\n null !== current &&\n ((current = current.memoCache),\n null != current &&\n (memoCache = {\n data: current.data.map(function (array) {\n return array.slice();\n }),\n index: 0\n })));\n }\n null == memoCache && (memoCache = { data: [], index: 0 });\n null === updateQueue &&\n ((updateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = updateQueue));\n updateQueue.memoCache = memoCache;\n updateQueue = memoCache.data[memoCache.index];\n if (void 0 === updateQueue)\n for (\n updateQueue = memoCache.data[memoCache.index] = Array(size), current = 0;\n current < size;\n current++\n )\n updateQueue[current] = REACT_MEMO_CACHE_SENTINEL;\n memoCache.index++;\n return updateQueue;\n}\nfunction basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n}\nfunction updateReducer(reducer) {\n var hook = updateWorkInProgressHook();\n return updateReducerImpl(hook, currentHook, reducer);\n}\nfunction updateReducerImpl(hook, current, reducer) {\n var queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var baseQueue = hook.baseQueue,\n pendingQueue = queue.pending;\n if (null !== pendingQueue) {\n if (null !== baseQueue) {\n var baseFirst = baseQueue.next;\n baseQueue.next = pendingQueue.next;\n pendingQueue.next = baseFirst;\n }\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n pendingQueue = hook.baseState;\n if (null === baseQueue) hook.memoizedState = pendingQueue;\n else {\n current = baseQueue.next;\n var newBaseQueueFirst = (baseFirst = null),\n newBaseQueueLast = null,\n update = current,\n didReadFromEntangledAsyncAction$32 = !1;\n do {\n var updateLane = update.lane & -536870913;\n if (\n updateLane !== update.lane\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n var revertLane = update.revertLane;\n if (0 === revertLane)\n null !== newBaseQueueLast &&\n (newBaseQueueLast = newBaseQueueLast.next =\n {\n lane: 0,\n revertLane: 0,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$32 = !0);\n else if ((renderLanes & revertLane) === revertLane) {\n update = update.next;\n revertLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$32 = !0);\n continue;\n } else\n (updateLane = {\n lane: 0,\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = updateLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = updateLane),\n (currentlyRenderingFiber.lanes |= revertLane),\n (workInProgressRootSkippedLanes |= revertLane);\n updateLane = update.action;\n shouldDoubleInvokeUserFnsInHooksDEV &&\n reducer(pendingQueue, updateLane);\n pendingQueue = update.hasEagerState\n ? update.eagerState\n : reducer(pendingQueue, updateLane);\n } else\n (revertLane = {\n lane: updateLane,\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = revertLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = revertLane),\n (currentlyRenderingFiber.lanes |= updateLane),\n (workInProgressRootSkippedLanes |= updateLane);\n update = update.next;\n } while (null !== update && update !== current);\n null === newBaseQueueLast\n ? (baseFirst = pendingQueue)\n : (newBaseQueueLast.next = newBaseQueueFirst);\n if (\n !objectIs(pendingQueue, hook.memoizedState) &&\n ((didReceiveUpdate = !0),\n didReadFromEntangledAsyncAction$32 &&\n ((reducer = currentEntangledActionThenable), null !== reducer))\n )\n throw reducer;\n hook.memoizedState = pendingQueue;\n hook.baseState = baseFirst;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = pendingQueue;\n }\n null === baseQueue && (queue.lanes = 0);\n return [hook.memoizedState, queue.dispatch];\n}\nfunction rerenderReducer(reducer) {\n var hook = updateWorkInProgressHook(),\n queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var dispatch = queue.dispatch,\n lastRenderPhaseUpdate = queue.pending,\n newState = hook.memoizedState;\n if (null !== lastRenderPhaseUpdate) {\n queue.pending = null;\n var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next);\n do (newState = reducer(newState, update.action)), (update = update.next);\n while (update !== lastRenderPhaseUpdate);\n objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0);\n hook.memoizedState = newState;\n null === hook.baseQueue && (hook.baseState = newState);\n queue.lastRenderedState = newState;\n }\n return [newState, dispatch];\n}\nfunction updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = updateWorkInProgressHook(),\n isHydrating$jscomp$0 = isHydrating;\n if (isHydrating$jscomp$0) {\n if (void 0 === getServerSnapshot) throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else getServerSnapshot = getSnapshot();\n var snapshotChanged = !objectIs(\n (currentHook || hook).memoizedState,\n getServerSnapshot\n );\n snapshotChanged &&\n ((hook.memoizedState = getServerSnapshot), (didReceiveUpdate = !0));\n hook = hook.queue;\n var create = subscribeToStore.bind(null, fiber, hook, subscribe);\n updateEffectImpl(2048, 8, create, [subscribe]);\n if (\n hook.getSnapshot !== getSnapshot ||\n snapshotChanged ||\n (null !== workInProgressHook && workInProgressHook.memoizedState.tag & 1)\n ) {\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n createEffectInstance(),\n updateStoreInstance.bind(\n null,\n fiber,\n hook,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n if (null === workInProgressRoot) throw Error(formatProdErrorMessage(349));\n isHydrating$jscomp$0 ||\n 0 !== (renderLanes & 124) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n return getServerSnapshot;\n}\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= 16384;\n fiber = { getSnapshot: getSnapshot, value: renderedSnapshot };\n getSnapshot = currentlyRenderingFiber.updateQueue;\n null === getSnapshot\n ? ((getSnapshot = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = getSnapshot),\n (getSnapshot.stores = [fiber]))\n : ((renderedSnapshot = getSnapshot.stores),\n null === renderedSnapshot\n ? (getSnapshot.stores = [fiber])\n : renderedSnapshot.push(fiber));\n}\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n}\nfunction subscribeToStore(fiber, inst, subscribe) {\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n });\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root && scheduleUpdateOnFiber(root, fiber, 2);\n}\nfunction mountStateImpl(initialState) {\n var hook = mountWorkInProgressHook();\n if (\"function\" === typeof initialState) {\n var initialStateInitializer = initialState;\n initialState = initialStateInitializer();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n initialStateInitializer();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n }\n hook.memoizedState = hook.baseState = initialState;\n hook.queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n return hook;\n}\nfunction updateOptimisticImpl(hook, current, passthrough, reducer) {\n hook.baseState = passthrough;\n return updateReducerImpl(\n hook,\n currentHook,\n \"function\" === typeof reducer ? reducer : basicStateReducer\n );\n}\nfunction dispatchActionState(\n fiber,\n actionQueue,\n setPendingState,\n setState,\n payload\n) {\n if (isRenderPhaseUpdate(fiber)) throw Error(formatProdErrorMessage(485));\n fiber = actionQueue.action;\n if (null !== fiber) {\n var actionNode = {\n payload: payload,\n action: fiber,\n next: null,\n isTransition: !0,\n status: \"pending\",\n value: null,\n reason: null,\n listeners: [],\n then: function (listener) {\n actionNode.listeners.push(listener);\n }\n };\n null !== ReactSharedInternals.T\n ? setPendingState(!0)\n : (actionNode.isTransition = !1);\n setState(actionNode);\n setPendingState = actionQueue.pending;\n null === setPendingState\n ? ((actionNode.next = actionQueue.pending = actionNode),\n runActionStateAction(actionQueue, actionNode))\n : ((actionNode.next = setPendingState.next),\n (actionQueue.pending = setPendingState.next = actionNode));\n }\n}\nfunction runActionStateAction(actionQueue, node) {\n var action = node.action,\n payload = node.payload,\n prevState = actionQueue.state;\n if (node.isTransition) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = action(prevState, payload),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n handleActionReturnValue(actionQueue, node, returnValue);\n } catch (error) {\n onActionError(actionQueue, node, error);\n } finally {\n ReactSharedInternals.T = prevTransition;\n }\n } else\n try {\n (prevTransition = action(prevState, payload)),\n handleActionReturnValue(actionQueue, node, prevTransition);\n } catch (error$38) {\n onActionError(actionQueue, node, error$38);\n }\n}\nfunction handleActionReturnValue(actionQueue, node, returnValue) {\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ? returnValue.then(\n function (nextState) {\n onActionSuccess(actionQueue, node, nextState);\n },\n function (error) {\n return onActionError(actionQueue, node, error);\n }\n )\n : onActionSuccess(actionQueue, node, returnValue);\n}\nfunction onActionSuccess(actionQueue, actionNode, nextState) {\n actionNode.status = \"fulfilled\";\n actionNode.value = nextState;\n notifyActionListeners(actionNode);\n actionQueue.state = nextState;\n actionNode = actionQueue.pending;\n null !== actionNode &&\n ((nextState = actionNode.next),\n nextState === actionNode\n ? (actionQueue.pending = null)\n : ((nextState = nextState.next),\n (actionNode.next = nextState),\n runActionStateAction(actionQueue, nextState)));\n}\nfunction onActionError(actionQueue, actionNode, error) {\n var last = actionQueue.pending;\n actionQueue.pending = null;\n if (null !== last) {\n last = last.next;\n do\n (actionNode.status = \"rejected\"),\n (actionNode.reason = error),\n notifyActionListeners(actionNode),\n (actionNode = actionNode.next);\n while (actionNode !== last);\n }\n actionQueue.action = null;\n}\nfunction notifyActionListeners(actionNode) {\n actionNode = actionNode.listeners;\n for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();\n}\nfunction actionStateReducer(oldState, newState) {\n return newState;\n}\nfunction mountActionState(action, initialStateProp) {\n if (isHydrating) {\n var ssrFormState = workInProgressRoot.formState;\n if (null !== ssrFormState) {\n a: {\n var JSCompiler_inline_result = currentlyRenderingFiber;\n if (isHydrating) {\n if (nextHydratableInstance) {\n b: {\n var JSCompiler_inline_result$jscomp$0 = nextHydratableInstance;\n for (\n var inRootOrSingleton = rootOrSingletonContext;\n 8 !== JSCompiler_inline_result$jscomp$0.nodeType;\n\n ) {\n if (!inRootOrSingleton) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n JSCompiler_inline_result$jscomp$0 = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n if (null === JSCompiler_inline_result$jscomp$0) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n }\n inRootOrSingleton = JSCompiler_inline_result$jscomp$0.data;\n JSCompiler_inline_result$jscomp$0 =\n \"F!\" === inRootOrSingleton || \"F\" === inRootOrSingleton\n ? JSCompiler_inline_result$jscomp$0\n : null;\n }\n if (JSCompiler_inline_result$jscomp$0) {\n nextHydratableInstance = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n JSCompiler_inline_result =\n \"F!\" === JSCompiler_inline_result$jscomp$0.data;\n break a;\n }\n }\n throwOnHydrationMismatch(JSCompiler_inline_result);\n }\n JSCompiler_inline_result = !1;\n }\n JSCompiler_inline_result && (initialStateProp = ssrFormState[0]);\n }\n }\n ssrFormState = mountWorkInProgressHook();\n ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;\n JSCompiler_inline_result = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: actionStateReducer,\n lastRenderedState: initialStateProp\n };\n ssrFormState.queue = JSCompiler_inline_result;\n ssrFormState = dispatchSetState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result\n );\n JSCompiler_inline_result.dispatch = ssrFormState;\n JSCompiler_inline_result = mountStateImpl(!1);\n inRootOrSingleton = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !1,\n JSCompiler_inline_result.queue\n );\n JSCompiler_inline_result = mountWorkInProgressHook();\n JSCompiler_inline_result$jscomp$0 = {\n state: initialStateProp,\n dispatch: null,\n action: action,\n pending: null\n };\n JSCompiler_inline_result.queue = JSCompiler_inline_result$jscomp$0;\n ssrFormState = dispatchActionState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result$jscomp$0,\n inRootOrSingleton,\n ssrFormState\n );\n JSCompiler_inline_result$jscomp$0.dispatch = ssrFormState;\n JSCompiler_inline_result.memoizedState = action;\n return [initialStateProp, ssrFormState, !1];\n}\nfunction updateActionState(action) {\n var stateHook = updateWorkInProgressHook();\n return updateActionStateImpl(stateHook, currentHook, action);\n}\nfunction updateActionStateImpl(stateHook, currentStateHook, action) {\n currentStateHook = updateReducerImpl(\n stateHook,\n currentStateHook,\n actionStateReducer\n )[0];\n stateHook = updateReducer(basicStateReducer)[0];\n if (\n \"object\" === typeof currentStateHook &&\n null !== currentStateHook &&\n \"function\" === typeof currentStateHook.then\n )\n try {\n var state = useThenable(currentStateHook);\n } catch (x) {\n if (x === SuspenseException) throw SuspenseActionException;\n throw x;\n }\n else state = currentStateHook;\n currentStateHook = updateWorkInProgressHook();\n var actionQueue = currentStateHook.queue,\n dispatch = actionQueue.dispatch;\n action !== currentStateHook.memoizedState &&\n ((currentlyRenderingFiber.flags |= 2048),\n pushSimpleEffect(\n 9,\n createEffectInstance(),\n actionStateActionEffect.bind(null, actionQueue, action),\n null\n ));\n return [state, dispatch, stateHook];\n}\nfunction actionStateActionEffect(actionQueue, action) {\n actionQueue.action = action;\n}\nfunction rerenderActionState(action) {\n var stateHook = updateWorkInProgressHook(),\n currentStateHook = currentHook;\n if (null !== currentStateHook)\n return updateActionStateImpl(stateHook, currentStateHook, action);\n updateWorkInProgressHook();\n stateHook = stateHook.memoizedState;\n currentStateHook = updateWorkInProgressHook();\n var dispatch = currentStateHook.queue.dispatch;\n currentStateHook.memoizedState = action;\n return [stateHook, dispatch, !1];\n}\nfunction pushSimpleEffect(tag, inst, create, createDeps) {\n tag = { tag: tag, create: create, deps: createDeps, inst: inst, next: null };\n inst = currentlyRenderingFiber.updateQueue;\n null === inst &&\n ((inst = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = inst));\n create = inst.lastEffect;\n null === create\n ? (inst.lastEffect = tag.next = tag)\n : ((createDeps = create.next),\n (create.next = tag),\n (tag.next = createDeps),\n (inst.lastEffect = tag));\n return tag;\n}\nfunction createEffectInstance() {\n return { destroy: void 0, resource: void 0 };\n}\nfunction updateRef() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction mountEffectImpl(fiberFlags, hookFlags, create, createDeps) {\n var hook = mountWorkInProgressHook();\n createDeps = void 0 === createDeps ? null : createDeps;\n currentlyRenderingFiber.flags |= fiberFlags;\n hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n createEffectInstance(),\n create,\n createDeps\n );\n}\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var inst = hook.memoizedState.inst;\n null !== currentHook &&\n null !== deps &&\n areHookInputsEqual(deps, currentHook.memoizedState.deps)\n ? (hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps))\n : ((currentlyRenderingFiber.flags |= fiberFlags),\n (hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n inst,\n create,\n deps\n )));\n}\nfunction mountEffect(create, createDeps) {\n mountEffectImpl(8390656, 8, create, createDeps);\n}\nfunction updateEffect(create, createDeps) {\n updateEffectImpl(2048, 8, create, createDeps);\n}\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(4, 2, create, deps);\n}\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(4, 4, create, deps);\n}\nfunction imperativeHandleEffect(create, ref) {\n if (\"function\" === typeof ref) {\n create = create();\n var refCleanup = ref(create);\n return function () {\n \"function\" === typeof refCleanup ? refCleanup() : ref(null);\n };\n }\n if (null !== ref && void 0 !== ref)\n return (\n (create = create()),\n (ref.current = create),\n function () {\n ref.current = null;\n }\n );\n}\nfunction updateImperativeHandle(ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n updateEffectImpl(4, 4, imperativeHandleEffect.bind(null, create, ref), deps);\n}\nfunction mountDebugValue() {}\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n hook.memoizedState = [callback, deps];\n return callback;\n}\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n prevState = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [prevState, deps];\n return prevState;\n}\nfunction mountDeferredValueImpl(hook, value, initialValue) {\n if (void 0 === initialValue || 0 !== (renderLanes & 1073741824))\n return (hook.memoizedState = value);\n hook.memoizedState = initialValue;\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return initialValue;\n}\nfunction updateDeferredValueImpl(hook, prevValue, value, initialValue) {\n if (objectIs(value, prevValue)) return value;\n if (null !== currentTreeHiddenStackCursor.current)\n return (\n (hook = mountDeferredValueImpl(hook, value, initialValue)),\n objectIs(hook, prevValue) || (didReceiveUpdate = !0),\n hook\n );\n if (0 === (renderLanes & 42))\n return (didReceiveUpdate = !0), (hook.memoizedState = value);\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return prevValue;\n}\nfunction startTransition(fiber, queue, pendingState, finishedState, callback) {\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p =\n 0 !== previousPriority && 8 > previousPriority ? previousPriority : 8;\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n dispatchOptimisticSetState(fiber, !1, queue, pendingState);\n try {\n var returnValue = callback(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n if (\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ) {\n var thenableForFinishedState = chainThenableValue(\n returnValue,\n finishedState\n );\n dispatchSetStateInternal(\n fiber,\n queue,\n thenableForFinishedState,\n requestUpdateLane(fiber)\n );\n } else\n dispatchSetStateInternal(\n fiber,\n queue,\n finishedState,\n requestUpdateLane(fiber)\n );\n } catch (error) {\n dispatchSetStateInternal(\n fiber,\n queue,\n { then: function () {}, status: \"rejected\", reason: error },\n requestUpdateLane()\n );\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction noop$2() {}\nfunction startHostTransition(formFiber, pendingState, action, formData) {\n if (5 !== formFiber.tag) throw Error(formatProdErrorMessage(476));\n var queue = ensureFormComponentIsStateful(formFiber).queue;\n startTransition(\n formFiber,\n queue,\n pendingState,\n sharedNotPendingObject,\n null === action\n ? noop$2\n : function () {\n requestFormReset$1(formFiber);\n return action(formData);\n }\n );\n}\nfunction ensureFormComponentIsStateful(formFiber) {\n var existingStateHook = formFiber.memoizedState;\n if (null !== existingStateHook) return existingStateHook;\n existingStateHook = {\n memoizedState: sharedNotPendingObject,\n baseState: sharedNotPendingObject,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: sharedNotPendingObject\n },\n next: null\n };\n var initialResetState = {};\n existingStateHook.next = {\n memoizedState: initialResetState,\n baseState: initialResetState,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialResetState\n },\n next: null\n };\n formFiber.memoizedState = existingStateHook;\n formFiber = formFiber.alternate;\n null !== formFiber && (formFiber.memoizedState = existingStateHook);\n return existingStateHook;\n}\nfunction requestFormReset$1(formFiber) {\n var resetStateQueue = ensureFormComponentIsStateful(formFiber).next.queue;\n dispatchSetStateInternal(formFiber, resetStateQueue, {}, requestUpdateLane());\n}\nfunction useHostTransitionStatus() {\n return readContext(HostTransitionContext);\n}\nfunction updateId() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction updateRefresh() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction refreshCache(fiber) {\n for (var provider = fiber.return; null !== provider; ) {\n switch (provider.tag) {\n case 24:\n case 3:\n var lane = requestUpdateLane();\n fiber = createUpdate(lane);\n var root$41 = enqueueUpdate(provider, fiber, lane);\n null !== root$41 &&\n (scheduleUpdateOnFiber(root$41, provider, lane),\n entangleTransitions(root$41, provider, lane));\n provider = { cache: createCache() };\n fiber.payload = provider;\n return;\n }\n provider = provider.return;\n }\n}\nfunction dispatchReducerAction(fiber, queue, action) {\n var lane = requestUpdateLane();\n action = {\n lane: lane,\n revertLane: 0,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n isRenderPhaseUpdate(fiber)\n ? enqueueRenderPhaseUpdate(queue, action)\n : ((action = enqueueConcurrentHookUpdate(fiber, queue, action, lane)),\n null !== action &&\n (scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane)));\n}\nfunction dispatchSetState(fiber, queue, action) {\n var lane = requestUpdateLane();\n dispatchSetStateInternal(fiber, queue, action, lane);\n}\nfunction dispatchSetStateInternal(fiber, queue, action, lane) {\n var update = {\n lane: lane,\n revertLane: 0,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);\n else {\n var alternate = fiber.alternate;\n if (\n 0 === fiber.lanes &&\n (null === alternate || 0 === alternate.lanes) &&\n ((alternate = queue.lastRenderedReducer), null !== alternate)\n )\n try {\n var currentState = queue.lastRenderedState,\n eagerState = alternate(currentState, action);\n update.hasEagerState = !0;\n update.eagerState = eagerState;\n if (objectIs(eagerState, currentState))\n return (\n enqueueUpdate$1(fiber, queue, update, 0),\n null === workInProgressRoot && finishQueueingConcurrentUpdates(),\n !1\n );\n } catch (error) {\n } finally {\n }\n action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n if (null !== action)\n return (\n scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane),\n !0\n );\n }\n return !1;\n}\nfunction dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {\n action = {\n lane: 2,\n revertLane: requestTransitionLane(),\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) {\n if (throwIfDuringRender) throw Error(formatProdErrorMessage(479));\n } else\n (throwIfDuringRender = enqueueConcurrentHookUpdate(\n fiber,\n queue,\n action,\n 2\n )),\n null !== throwIfDuringRender &&\n scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2);\n}\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return (\n fiber === currentlyRenderingFiber ||\n (null !== alternate && alternate === currentlyRenderingFiber)\n );\n}\nfunction enqueueRenderPhaseUpdate(queue, update) {\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate =\n !0;\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n}\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (0 !== (lane & 4194048)) {\n var queueLanes = queue.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n queue.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n use: use,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError,\n useHostTransitionStatus: throwInvalidHookError,\n useFormState: throwInvalidHookError,\n useActionState: throwInvalidHookError,\n useOptimistic: throwInvalidHookError,\n useMemoCache: throwInvalidHookError,\n useCacheRefresh: throwInvalidHookError\n },\n HooksDispatcherOnMount = {\n readContext: readContext,\n use: use,\n useCallback: function (callback, deps) {\n mountWorkInProgressHook().memoizedState = [\n callback,\n void 0 === deps ? null : deps\n ];\n return callback;\n },\n useContext: readContext,\n useEffect: mountEffect,\n useImperativeHandle: function (ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n mountEffectImpl(\n 4194308,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n },\n useLayoutEffect: function (create, deps) {\n return mountEffectImpl(4194308, 4, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n mountEffectImpl(4, 2, create, deps);\n },\n useMemo: function (nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var nextValue = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [nextValue, deps];\n return nextValue;\n },\n useReducer: function (reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n if (void 0 !== init) {\n var initialState = init(initialArg);\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n init(initialArg);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n } else initialState = initialArg;\n hook.memoizedState = hook.baseState = initialState;\n reducer = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = reducer;\n reducer = reducer.dispatch = dispatchReducerAction.bind(\n null,\n currentlyRenderingFiber,\n reducer\n );\n return [hook.memoizedState, reducer];\n },\n useRef: function (initialValue) {\n var hook = mountWorkInProgressHook();\n initialValue = { current: initialValue };\n return (hook.memoizedState = initialValue);\n },\n useState: function (initialState) {\n initialState = mountStateImpl(initialState);\n var queue = initialState.queue,\n dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue);\n queue.dispatch = dispatch;\n return [initialState.memoizedState, dispatch];\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = mountWorkInProgressHook();\n return mountDeferredValueImpl(hook, value, initialValue);\n },\n useTransition: function () {\n var stateHook = mountStateImpl(!1);\n stateHook = startTransition.bind(\n null,\n currentlyRenderingFiber,\n stateHook.queue,\n !0,\n !1\n );\n mountWorkInProgressHook().memoizedState = stateHook;\n return [!1, stateHook];\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = mountWorkInProgressHook();\n if (isHydrating) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else {\n getServerSnapshot = getSnapshot();\n if (null === workInProgressRoot)\n throw Error(formatProdErrorMessage(349));\n 0 !== (workInProgressRootRenderLanes & 124) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n hook.memoizedState = getServerSnapshot;\n var inst = { value: getServerSnapshot, getSnapshot: getSnapshot };\n hook.queue = inst;\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [\n subscribe\n ]);\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n createEffectInstance(),\n updateStoreInstance.bind(\n null,\n fiber,\n inst,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n return getServerSnapshot;\n },\n useId: function () {\n var hook = mountWorkInProgressHook(),\n identifierPrefix = workInProgressRoot.identifierPrefix;\n if (isHydrating) {\n var JSCompiler_inline_result = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n JSCompiler_inline_result =\n (\n idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1))\n ).toString(32) + JSCompiler_inline_result;\n identifierPrefix =\n \"\\u00ab\" + identifierPrefix + \"R\" + JSCompiler_inline_result;\n JSCompiler_inline_result = localIdCounter++;\n 0 < JSCompiler_inline_result &&\n (identifierPrefix += \"H\" + JSCompiler_inline_result.toString(32));\n identifierPrefix += \"\\u00bb\";\n } else\n (JSCompiler_inline_result = globalClientIdCounter++),\n (identifierPrefix =\n \"\\u00ab\" +\n identifierPrefix +\n \"r\" +\n JSCompiler_inline_result.toString(32) +\n \"\\u00bb\");\n return (hook.memoizedState = identifierPrefix);\n },\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: mountActionState,\n useActionState: mountActionState,\n useOptimistic: function (passthrough) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = hook.baseState = passthrough;\n var queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: null,\n lastRenderedState: null\n };\n hook.queue = queue;\n hook = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !0,\n queue\n );\n queue.dispatch = hook;\n return [passthrough, hook];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: function () {\n return (mountWorkInProgressHook().memoizedState = refreshCache.bind(\n null,\n currentlyRenderingFiber\n ));\n }\n },\n HooksDispatcherOnUpdate = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: updateReducer,\n useRef: updateRef,\n useState: function () {\n return updateReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = updateReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: updateActionState,\n useActionState: updateActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n },\n HooksDispatcherOnRerender = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: rerenderReducer,\n useRef: updateRef,\n useState: function () {\n return rerenderReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return null === currentHook\n ? mountDeferredValueImpl(hook, value, initialValue)\n : updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = rerenderReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: rerenderActionState,\n useActionState: rerenderActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n if (null !== currentHook)\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n hook.baseState = passthrough;\n return [passthrough, hook.queue.dispatch];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n },\n thenableState = null,\n thenableIndexCounter = 0;\nfunction unwrapThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n return trackUsedThenable(thenableState, thenable, index);\n}\nfunction coerceRef(workInProgress, element) {\n element = element.props.ref;\n workInProgress.ref = void 0 !== element ? element : null;\n}\nfunction throwOnInvalidObjectType(returnFiber, newChild) {\n if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)\n throw Error(formatProdErrorMessage(525));\n returnFiber = Object.prototype.toString.call(newChild);\n throw Error(\n formatProdErrorMessage(\n 31,\n \"[object Object]\" === returnFiber\n ? \"object with keys {\" + Object.keys(newChild).join(\", \") + \"}\"\n : returnFiber\n )\n );\n}\nfunction resolveLazy(lazyType) {\n var init = lazyType._init;\n return init(lazyType._payload);\n}\nfunction createChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (shouldTrackSideEffects) {\n var deletions = returnFiber.deletions;\n null === deletions\n ? ((returnFiber.deletions = [childToDelete]), (returnFiber.flags |= 16))\n : deletions.push(childToDelete);\n }\n }\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) return null;\n for (; null !== currentFirstChild; )\n deleteChild(returnFiber, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return null;\n }\n function mapRemainingChildren(currentFirstChild) {\n for (var existingChildren = new Map(); null !== currentFirstChild; )\n null !== currentFirstChild.key\n ? existingChildren.set(currentFirstChild.key, currentFirstChild)\n : existingChildren.set(currentFirstChild.index, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return existingChildren;\n }\n function useFiber(fiber, pendingProps) {\n fiber = createWorkInProgress(fiber, pendingProps);\n fiber.index = 0;\n fiber.sibling = null;\n return fiber;\n }\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n if (!shouldTrackSideEffects)\n return (newFiber.flags |= 1048576), lastPlacedIndex;\n newIndex = newFiber.alternate;\n if (null !== newIndex)\n return (\n (newIndex = newIndex.index),\n newIndex < lastPlacedIndex\n ? ((newFiber.flags |= 67108866), lastPlacedIndex)\n : newIndex\n );\n newFiber.flags |= 67108866;\n return lastPlacedIndex;\n }\n function placeSingleChild(newFiber) {\n shouldTrackSideEffects &&\n null === newFiber.alternate &&\n (newFiber.flags |= 67108866);\n return newFiber;\n }\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (null === current || 6 !== current.tag)\n return (\n (current = createFiberFromText(textContent, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, textContent);\n current.return = returnFiber;\n return current;\n }\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n if (elementType === REACT_FRAGMENT_TYPE)\n return updateFragment(\n returnFiber,\n current,\n element.props.children,\n lanes,\n element.key\n );\n if (\n null !== current &&\n (current.elementType === elementType ||\n (\"object\" === typeof elementType &&\n null !== elementType &&\n elementType.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(elementType) === current.type))\n )\n return (\n (current = useFiber(current, element.props)),\n coerceRef(current, element),\n (current.return = returnFiber),\n current\n );\n current = createFiberFromTypeAndProps(\n element.type,\n element.key,\n element.props,\n null,\n returnFiber.mode,\n lanes\n );\n coerceRef(current, element);\n current.return = returnFiber;\n return current;\n }\n function updatePortal(returnFiber, current, portal, lanes) {\n if (\n null === current ||\n 4 !== current.tag ||\n current.stateNode.containerInfo !== portal.containerInfo ||\n current.stateNode.implementation !== portal.implementation\n )\n return (\n (current = createFiberFromPortal(portal, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, portal.children || []);\n current.return = returnFiber;\n return current;\n }\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (null === current || 7 !== current.tag)\n return (\n (current = createFiberFromFragment(\n fragment,\n returnFiber.mode,\n lanes,\n key\n )),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, fragment);\n current.return = returnFiber;\n return current;\n }\n function createChild(returnFiber, newChild, lanes) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (newChild = createFiberFromText(\n \"\" + newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n lanes\n );\n case REACT_PORTAL_TYPE:\n return (\n (newChild = createFiberFromPortal(\n newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n case REACT_LAZY_TYPE:\n var init = newChild._init;\n newChild = init(newChild._payload);\n return createChild(returnFiber, newChild, lanes);\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (newChild = createFiberFromFragment(\n newChild,\n returnFiber.mode,\n lanes,\n null\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"function\" === typeof newChild.then)\n return createChild(returnFiber, unwrapThenable(newChild), lanes);\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return createChild(\n returnFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n var key = null !== oldFiber ? oldFiber.key : null;\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return null !== key\n ? null\n : updateTextNode(returnFiber, oldFiber, \"\" + newChild, lanes);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return newChild.key === key\n ? updateElement(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_PORTAL_TYPE:\n return newChild.key === key\n ? updatePortal(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_LAZY_TYPE:\n return (\n (key = newChild._init),\n (newChild = key(newChild._payload)),\n updateSlot(returnFiber, oldFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return null !== key\n ? null\n : updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n if (\"function\" === typeof newChild.then)\n return updateSlot(\n returnFiber,\n oldFiber,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateSlot(\n returnFiber,\n oldFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n ) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateTextNode(returnFiber, existingChildren, \"\" + newChild, lanes)\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updateElement(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_PORTAL_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updatePortal(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_LAZY_TYPE:\n var init = newChild._init;\n newChild = init(newChild._payload);\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateFragment(returnFiber, existingChildren, newChild, lanes, null)\n );\n if (\"function\" === typeof newChild.then)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null;\n null !== oldFiber && newIdx < newChildren.length;\n newIdx++\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(\n returnFiber,\n oldFiber,\n newChildren[newIdx],\n lanes\n );\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (newIdx === newChildren.length)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; newIdx < newChildren.length; newIdx++)\n (oldFiber = createChild(returnFiber, newChildren[newIdx], lanes)),\n null !== oldFiber &&\n ((currentFirstChild = placeChild(\n oldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = oldFiber)\n : (previousNewFiber.sibling = oldFiber),\n (previousNewFiber = oldFiber));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n newIdx < newChildren.length;\n newIdx++\n )\n (nextOldFiber = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n newChildren[newIdx],\n lanes\n )),\n null !== nextOldFiber &&\n (shouldTrackSideEffects &&\n null !== nextOldFiber.alternate &&\n oldFiber.delete(\n null === nextOldFiber.key ? newIdx : nextOldFiber.key\n ),\n (currentFirstChild = placeChild(\n nextOldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = nextOldFiber)\n : (previousNewFiber.sibling = nextOldFiber),\n (previousNewFiber = nextOldFiber));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n if (null == newChildren) throw Error(formatProdErrorMessage(151));\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null,\n step = newChildren.next();\n null !== oldFiber && !step.done;\n newIdx++, step = newChildren.next()\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (step.done)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; !step.done; newIdx++, step = newChildren.next())\n (step = createChild(returnFiber, step.value, lanes)),\n null !== step &&\n ((currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n !step.done;\n newIdx++, step = newChildren.next()\n )\n (step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, lanes)),\n null !== step &&\n (shouldTrackSideEffects &&\n null !== step.alternate &&\n oldFiber.delete(null === step.key ? newIdx : step.key),\n (currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n ) {\n \"object\" === typeof newChild &&\n null !== newChild &&\n newChild.type === REACT_FRAGMENT_TYPE &&\n null === newChild.key &&\n (newChild = newChild.props.children);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n a: {\n for (var key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key) {\n key = newChild.type;\n if (key === REACT_FRAGMENT_TYPE) {\n if (7 === currentFirstChild.tag) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n newChild.props.children\n );\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n } else if (\n currentFirstChild.elementType === key ||\n (\"object\" === typeof key &&\n null !== key &&\n key.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(key) === currentFirstChild.type)\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.props);\n coerceRef(lanes, newChild);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n } else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n newChild.type === REACT_FRAGMENT_TYPE\n ? ((lanes = createFiberFromFragment(\n newChild.props.children,\n returnFiber.mode,\n lanes,\n newChild.key\n )),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : ((lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n (returnFiber = lanes));\n }\n return placeSingleChild(returnFiber);\n case REACT_PORTAL_TYPE:\n a: {\n for (key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key)\n if (\n 4 === currentFirstChild.tag &&\n currentFirstChild.stateNode.containerInfo ===\n newChild.containerInfo &&\n currentFirstChild.stateNode.implementation ===\n newChild.implementation\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.children || []);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n } else {\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n }\n else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n lanes = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n lanes.return = returnFiber;\n returnFiber = lanes;\n }\n return placeSingleChild(returnFiber);\n case REACT_LAZY_TYPE:\n return (\n (key = newChild._init),\n (newChild = key(newChild._payload)),\n reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild))\n return reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n if (getIteratorFn(newChild)) {\n key = getIteratorFn(newChild);\n if (\"function\" !== typeof key) throw Error(formatProdErrorMessage(150));\n newChild = key.call(newChild);\n return reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n }\n if (\"function\" === typeof newChild.then)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n ? ((newChild = \"\" + newChild),\n null !== currentFirstChild && 6 === currentFirstChild.tag\n ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),\n (lanes = useFiber(currentFirstChild, newChild)),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : (deleteRemainingChildren(returnFiber, currentFirstChild),\n (lanes = createFiberFromText(newChild, returnFiber.mode, lanes)),\n (lanes.return = returnFiber),\n (returnFiber = lanes)),\n placeSingleChild(returnFiber))\n : deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n return function (returnFiber, currentFirstChild, newChild, lanes) {\n try {\n thenableIndexCounter = 0;\n var firstChildFiber = reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n thenableState = null;\n return firstChildFiber;\n } catch (x) {\n if (x === SuspenseException || x === SuspenseActionException) throw x;\n var fiber = createFiberImplClass(29, x, null, returnFiber.mode);\n fiber.lanes = lanes;\n fiber.return = returnFiber;\n return fiber;\n } finally {\n }\n };\n}\nvar reconcileChildFibers = createChildReconciler(!0),\n mountChildFibers = createChildReconciler(!1),\n suspenseHandlerStackCursor = createCursor(null),\n shellBoundary = null;\nfunction pushPrimaryTreeSuspenseHandler(handler) {\n var current = handler.alternate;\n push(suspenseStackCursor, suspenseStackCursor.current & 1);\n push(suspenseHandlerStackCursor, handler);\n null === shellBoundary &&\n (null === current || null !== currentTreeHiddenStackCursor.current\n ? (shellBoundary = handler)\n : null !== current.memoizedState && (shellBoundary = handler));\n}\nfunction pushOffscreenSuspenseHandler(fiber) {\n if (22 === fiber.tag) {\n if (\n (push(suspenseStackCursor, suspenseStackCursor.current),\n push(suspenseHandlerStackCursor, fiber),\n null === shellBoundary)\n ) {\n var current = fiber.alternate;\n null !== current &&\n null !== current.memoizedState &&\n (shellBoundary = fiber);\n }\n } else reuseSuspenseHandlerOnStack(fiber);\n}\nfunction reuseSuspenseHandlerOnStack() {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current);\n}\nfunction popSuspenseHandler(fiber) {\n pop(suspenseHandlerStackCursor);\n shellBoundary === fiber && (shellBoundary = null);\n pop(suspenseStackCursor);\n}\nvar suspenseStackCursor = createCursor(0);\nfunction findFirstSuspended(row) {\n for (var node = row; null !== node; ) {\n if (13 === node.tag) {\n var state = node.memoizedState;\n if (\n null !== state &&\n ((state = state.dehydrated),\n null === state ||\n \"$?\" === state.data ||\n isSuspenseInstanceFallback(state))\n )\n return node;\n } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) {\n if (0 !== (node.flags & 128)) return node;\n } else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === row) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === row) return null;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n return null;\n}\nfunction applyDerivedStateFromProps(\n workInProgress,\n ctor,\n getDerivedStateFromProps,\n nextProps\n) {\n ctor = workInProgress.memoizedState;\n getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor);\n getDerivedStateFromProps =\n null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps\n ? ctor\n : assign({}, ctor, getDerivedStateFromProps);\n workInProgress.memoizedState = getDerivedStateFromProps;\n 0 === workInProgress.lanes &&\n (workInProgress.updateQueue.baseState = getDerivedStateFromProps);\n}\nvar classComponentUpdater = {\n enqueueSetState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueReplaceState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 1;\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueForceUpdate: function (inst, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 2;\n void 0 !== callback && null !== callback && (update.callback = callback);\n callback = enqueueUpdate(inst, update, lane);\n null !== callback &&\n (scheduleUpdateOnFiber(callback, inst, lane),\n entangleTransitions(callback, inst, lane));\n }\n};\nfunction checkShouldComponentUpdate(\n workInProgress,\n ctor,\n oldProps,\n newProps,\n oldState,\n newState,\n nextContext\n) {\n workInProgress = workInProgress.stateNode;\n return \"function\" === typeof workInProgress.shouldComponentUpdate\n ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext)\n : ctor.prototype && ctor.prototype.isPureReactComponent\n ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState)\n : !0;\n}\nfunction callComponentWillReceiveProps(\n workInProgress,\n instance,\n newProps,\n nextContext\n) {\n workInProgress = instance.state;\n \"function\" === typeof instance.componentWillReceiveProps &&\n instance.componentWillReceiveProps(newProps, nextContext);\n \"function\" === typeof instance.UNSAFE_componentWillReceiveProps &&\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n instance.state !== workInProgress &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n}\nfunction resolveClassComponentProps(Component, baseProps) {\n var newProps = baseProps;\n if (\"ref\" in baseProps) {\n newProps = {};\n for (var propName in baseProps)\n \"ref\" !== propName && (newProps[propName] = baseProps[propName]);\n }\n if ((Component = Component.defaultProps)) {\n newProps === baseProps && (newProps = assign({}, newProps));\n for (var propName$73 in Component)\n void 0 === newProps[propName$73] &&\n (newProps[propName$73] = Component[propName$73]);\n }\n return newProps;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\nfunction defaultOnUncaughtError(error) {\n reportGlobalError(error);\n}\nfunction defaultOnCaughtError(error) {\n console.error(error);\n}\nfunction defaultOnRecoverableError(error) {\n reportGlobalError(error);\n}\nfunction logUncaughtError(root, errorInfo) {\n try {\n var onUncaughtError = root.onUncaughtError;\n onUncaughtError(errorInfo.value, { componentStack: errorInfo.stack });\n } catch (e$74) {\n setTimeout(function () {\n throw e$74;\n });\n }\n}\nfunction logCaughtError(root, boundary, errorInfo) {\n try {\n var onCaughtError = root.onCaughtError;\n onCaughtError(errorInfo.value, {\n componentStack: errorInfo.stack,\n errorBoundary: 1 === boundary.tag ? boundary.stateNode : null\n });\n } catch (e$75) {\n setTimeout(function () {\n throw e$75;\n });\n }\n}\nfunction createRootErrorUpdate(root, errorInfo, lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n lane.payload = { element: null };\n lane.callback = function () {\n logUncaughtError(root, errorInfo);\n };\n return lane;\n}\nfunction createClassErrorUpdate(lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n return lane;\n}\nfunction initializeClassErrorUpdate(update, root, fiber, errorInfo) {\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n if (\"function\" === typeof getDerivedStateFromError) {\n var error = errorInfo.value;\n update.payload = function () {\n return getDerivedStateFromError(error);\n };\n update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n };\n }\n var inst = fiber.stateNode;\n null !== inst &&\n \"function\" === typeof inst.componentDidCatch &&\n (update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n \"function\" !== typeof getDerivedStateFromError &&\n (null === legacyErrorBoundariesThatAlreadyFailed\n ? (legacyErrorBoundariesThatAlreadyFailed = new Set([this]))\n : legacyErrorBoundariesThatAlreadyFailed.add(this));\n var stack = errorInfo.stack;\n this.componentDidCatch(errorInfo.value, {\n componentStack: null !== stack ? stack : \"\"\n });\n });\n}\nfunction throwException(\n root,\n returnFiber,\n sourceFiber,\n value,\n rootRenderLanes\n) {\n sourceFiber.flags |= 32768;\n if (\n null !== value &&\n \"object\" === typeof value &&\n \"function\" === typeof value.then\n ) {\n returnFiber = sourceFiber.alternate;\n null !== returnFiber &&\n propagateParentContextChanges(\n returnFiber,\n sourceFiber,\n rootRenderLanes,\n !0\n );\n sourceFiber = suspenseHandlerStackCursor.current;\n if (null !== sourceFiber) {\n switch (sourceFiber.tag) {\n case 13:\n return (\n null === shellBoundary\n ? renderDidSuspendDelayIfPossible()\n : null === sourceFiber.alternate &&\n 0 === workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 3),\n (sourceFiber.flags &= -257),\n (sourceFiber.flags |= 65536),\n (sourceFiber.lanes = rootRenderLanes),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? (sourceFiber.updateQueue = new Set([value]))\n : returnFiber.add(value),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n case 22:\n return (\n (sourceFiber.flags |= 65536),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? ((returnFiber = {\n transitions: null,\n markerInstances: null,\n retryQueue: new Set([value])\n }),\n (sourceFiber.updateQueue = returnFiber))\n : ((sourceFiber = returnFiber.retryQueue),\n null === sourceFiber\n ? (returnFiber.retryQueue = new Set([value]))\n : sourceFiber.add(value)),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n }\n throw Error(formatProdErrorMessage(435, sourceFiber.tag));\n }\n attachPingListener(root, value, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return !1;\n }\n if (isHydrating)\n return (\n (returnFiber = suspenseHandlerStackCursor.current),\n null !== returnFiber\n ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256),\n (returnFiber.flags |= 65536),\n (returnFiber.lanes = rootRenderLanes),\n value !== HydrationMismatchException &&\n ((root = Error(formatProdErrorMessage(422), { cause: value })),\n queueHydrationError(createCapturedValueAtFiber(root, sourceFiber))))\n : (value !== HydrationMismatchException &&\n ((returnFiber = Error(formatProdErrorMessage(423), {\n cause: value\n })),\n queueHydrationError(\n createCapturedValueAtFiber(returnFiber, sourceFiber)\n )),\n (root = root.current.alternate),\n (root.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (root.lanes |= rootRenderLanes),\n (value = createCapturedValueAtFiber(value, sourceFiber)),\n (rootRenderLanes = createRootErrorUpdate(\n root.stateNode,\n value,\n rootRenderLanes\n )),\n enqueueCapturedUpdate(root, rootRenderLanes),\n 4 !== workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 2)),\n !1\n );\n var wrapperError = Error(formatProdErrorMessage(520), { cause: value });\n wrapperError = createCapturedValueAtFiber(wrapperError, sourceFiber);\n null === workInProgressRootConcurrentErrors\n ? (workInProgressRootConcurrentErrors = [wrapperError])\n : workInProgressRootConcurrentErrors.push(wrapperError);\n 4 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2);\n if (null === returnFiber) return !0;\n value = createCapturedValueAtFiber(value, sourceFiber);\n sourceFiber = returnFiber;\n do {\n switch (sourceFiber.tag) {\n case 3:\n return (\n (sourceFiber.flags |= 65536),\n (root = rootRenderLanes & -rootRenderLanes),\n (sourceFiber.lanes |= root),\n (root = createRootErrorUpdate(sourceFiber.stateNode, value, root)),\n enqueueCapturedUpdate(sourceFiber, root),\n !1\n );\n case 1:\n if (\n ((returnFiber = sourceFiber.type),\n (wrapperError = sourceFiber.stateNode),\n 0 === (sourceFiber.flags & 128) &&\n (\"function\" === typeof returnFiber.getDerivedStateFromError ||\n (null !== wrapperError &&\n \"function\" === typeof wrapperError.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(wrapperError)))))\n )\n return (\n (sourceFiber.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (sourceFiber.lanes |= rootRenderLanes),\n (rootRenderLanes = createClassErrorUpdate(rootRenderLanes)),\n initializeClassErrorUpdate(\n rootRenderLanes,\n root,\n sourceFiber,\n value\n ),\n enqueueCapturedUpdate(sourceFiber, rootRenderLanes),\n !1\n );\n }\n sourceFiber = sourceFiber.return;\n } while (null !== sourceFiber);\n return !1;\n}\nvar SelectiveHydrationException = Error(formatProdErrorMessage(461)),\n didReceiveUpdate = !1;\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n workInProgress.child =\n null === current\n ? mountChildFibers(workInProgress, null, nextChildren, renderLanes)\n : reconcileChildFibers(\n workInProgress,\n current.child,\n nextChildren,\n renderLanes\n );\n}\nfunction updateForwardRef(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n Component = Component.render;\n var ref = workInProgress.ref;\n if (\"ref\" in nextProps) {\n var propsWithoutRef = {};\n for (var key in nextProps)\n \"ref\" !== key && (propsWithoutRef[key] = nextProps[key]);\n } else propsWithoutRef = nextProps;\n prepareToReadContext(workInProgress);\n nextProps = renderWithHooks(\n current,\n workInProgress,\n Component,\n propsWithoutRef,\n ref,\n renderLanes\n );\n key = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && key && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null === current) {\n var type = Component.type;\n if (\n \"function\" === typeof type &&\n !shouldConstruct(type) &&\n void 0 === type.defaultProps &&\n null === Component.compare\n )\n return (\n (workInProgress.tag = 15),\n (workInProgress.type = type),\n updateSimpleMemoComponent(\n current,\n workInProgress,\n type,\n nextProps,\n renderLanes\n )\n );\n current = createFiberFromTypeAndProps(\n Component.type,\n null,\n nextProps,\n workInProgress,\n workInProgress.mode,\n renderLanes\n );\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n type = current.child;\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n var prevProps = type.memoizedProps;\n Component = Component.compare;\n Component = null !== Component ? Component : shallowEqual;\n if (Component(prevProps, nextProps) && current.ref === workInProgress.ref)\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n workInProgress.flags |= 1;\n current = createWorkInProgress(type, nextProps);\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n}\nfunction updateSimpleMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null !== current) {\n var prevProps = current.memoizedProps;\n if (\n shallowEqual(prevProps, nextProps) &&\n current.ref === workInProgress.ref\n )\n if (\n ((didReceiveUpdate = !1),\n (workInProgress.pendingProps = nextProps = prevProps),\n checkScheduledUpdateOrContext(current, renderLanes))\n )\n 0 !== (current.flags & 131072) && (didReceiveUpdate = !0);\n else\n return (\n (workInProgress.lanes = current.lanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n }\n return updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n );\n}\nfunction updateOffscreenComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n nextChildren = nextProps.children,\n prevState = null !== current ? current.memoizedState : null;\n if (\"hidden\" === nextProps.mode) {\n if (0 !== (workInProgress.flags & 128)) {\n nextProps =\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes;\n if (null !== current) {\n nextChildren = workInProgress.child = current.child;\n for (prevState = 0; null !== nextChildren; )\n (prevState =\n prevState | nextChildren.lanes | nextChildren.childLanes),\n (nextChildren = nextChildren.sibling);\n workInProgress.childLanes = prevState & ~nextProps;\n } else (workInProgress.childLanes = 0), (workInProgress.child = null);\n return deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextProps,\n renderLanes\n );\n }\n if (0 !== (renderLanes & 536870912))\n (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }),\n null !== current &&\n pushTransition(\n workInProgress,\n null !== prevState ? prevState.cachePool : null\n ),\n null !== prevState\n ? pushHiddenContext(workInProgress, prevState)\n : reuseHiddenContextOnStack(),\n pushOffscreenSuspenseHandler(workInProgress);\n else\n return (\n (workInProgress.lanes = workInProgress.childLanes = 536870912),\n deferHiddenOffscreenComponent(\n current,\n workInProgress,\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes,\n renderLanes\n )\n );\n } else\n null !== prevState\n ? (pushTransition(workInProgress, prevState.cachePool),\n pushHiddenContext(workInProgress, prevState),\n reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.memoizedState = null))\n : (null !== current && pushTransition(workInProgress, null),\n reuseHiddenContextOnStack(),\n reuseSuspenseHandlerOnStack(workInProgress));\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nfunction deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextBaseLanes,\n renderLanes\n) {\n var JSCompiler_inline_result = peekCacheFromPool();\n JSCompiler_inline_result =\n null === JSCompiler_inline_result\n ? null\n : { parent: CacheContext._currentValue, pool: JSCompiler_inline_result };\n workInProgress.memoizedState = {\n baseLanes: nextBaseLanes,\n cachePool: JSCompiler_inline_result\n };\n null !== current && pushTransition(workInProgress, null);\n reuseHiddenContextOnStack();\n pushOffscreenSuspenseHandler(workInProgress);\n null !== current &&\n propagateParentContextChanges(current, workInProgress, renderLanes, !0);\n return null;\n}\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n if (null === ref)\n null !== current &&\n null !== current.ref &&\n (workInProgress.flags |= 4194816);\n else {\n if (\"function\" !== typeof ref && \"object\" !== typeof ref)\n throw Error(formatProdErrorMessage(284));\n if (null === current || current.ref !== ref)\n workInProgress.flags |= 4194816;\n }\n}\nfunction updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n Component = renderWithHooks(\n current,\n workInProgress,\n Component,\n nextProps,\n void 0,\n renderLanes\n );\n nextProps = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && nextProps && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, Component, renderLanes);\n return workInProgress.child;\n}\nfunction replayFunctionComponent(\n current,\n workInProgress,\n nextProps,\n Component,\n secondArg,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n workInProgress.updateQueue = null;\n nextProps = renderWithHooksAgain(\n workInProgress,\n Component,\n nextProps,\n secondArg\n );\n finishRenderingHooks(current);\n Component = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && Component && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n if (null === workInProgress.stateNode) {\n var context = emptyContextObject,\n contextType = Component.contextType;\n \"object\" === typeof contextType &&\n null !== contextType &&\n (context = readContext(contextType));\n context = new Component(nextProps, context);\n workInProgress.memoizedState =\n null !== context.state && void 0 !== context.state ? context.state : null;\n context.updater = classComponentUpdater;\n workInProgress.stateNode = context;\n context._reactInternals = workInProgress;\n context = workInProgress.stateNode;\n context.props = nextProps;\n context.state = workInProgress.memoizedState;\n context.refs = {};\n initializeUpdateQueue(workInProgress);\n contextType = Component.contextType;\n context.context =\n \"object\" === typeof contextType && null !== contextType\n ? readContext(contextType)\n : emptyContextObject;\n context.state = workInProgress.memoizedState;\n contextType = Component.getDerivedStateFromProps;\n \"function\" === typeof contextType &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n contextType,\n nextProps\n ),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof Component.getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n ((contextType = context.state),\n \"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount(),\n contextType !== context.state &&\n classComponentUpdater.enqueueReplaceState(context, context.state, null),\n processUpdateQueue(workInProgress, nextProps, context, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction(),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308);\n nextProps = !0;\n } else if (null === current) {\n context = workInProgress.stateNode;\n var unresolvedOldProps = workInProgress.memoizedProps,\n oldProps = resolveClassComponentProps(Component, unresolvedOldProps);\n context.props = oldProps;\n var oldContext = context.context,\n contextType$jscomp$0 = Component.contextType;\n contextType = emptyContextObject;\n \"object\" === typeof contextType$jscomp$0 &&\n null !== contextType$jscomp$0 &&\n (contextType = readContext(contextType$jscomp$0));\n var getDerivedStateFromProps = Component.getDerivedStateFromProps;\n contextType$jscomp$0 =\n \"function\" === typeof getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate;\n unresolvedOldProps = workInProgress.pendingProps !== unresolvedOldProps;\n contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((unresolvedOldProps || oldContext !== contextType) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n contextType\n ));\n hasForceUpdate = !1;\n var oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n oldContext = workInProgress.memoizedState;\n unresolvedOldProps || oldState !== oldContext || hasForceUpdate\n ? (\"function\" === typeof getDerivedStateFromProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n getDerivedStateFromProps,\n nextProps\n ),\n (oldContext = workInProgress.memoizedState)),\n (oldProps =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n oldProps,\n nextProps,\n oldState,\n oldContext,\n contextType\n ))\n ? (contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n (\"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount()),\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = oldContext)),\n (context.props = nextProps),\n (context.state = oldContext),\n (context.context = contextType),\n (nextProps = oldProps))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (nextProps = !1));\n } else {\n context = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n contextType = workInProgress.memoizedProps;\n contextType$jscomp$0 = resolveClassComponentProps(Component, contextType);\n context.props = contextType$jscomp$0;\n getDerivedStateFromProps = workInProgress.pendingProps;\n oldState = context.context;\n oldContext = Component.contextType;\n oldProps = emptyContextObject;\n \"object\" === typeof oldContext &&\n null !== oldContext &&\n (oldProps = readContext(oldContext));\n unresolvedOldProps = Component.getDerivedStateFromProps;\n (oldContext =\n \"function\" === typeof unresolvedOldProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate) ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((contextType !== getDerivedStateFromProps || oldState !== oldProps) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n oldProps\n ));\n hasForceUpdate = !1;\n oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n var newState = workInProgress.memoizedState;\n contextType !== getDerivedStateFromProps ||\n oldState !== newState ||\n hasForceUpdate ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies))\n ? (\"function\" === typeof unresolvedOldProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n unresolvedOldProps,\n nextProps\n ),\n (newState = workInProgress.memoizedState)),\n (contextType$jscomp$0 =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n contextType$jscomp$0,\n nextProps,\n oldState,\n newState,\n oldProps\n ) ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies)))\n ? (oldContext ||\n (\"function\" !== typeof context.UNSAFE_componentWillUpdate &&\n \"function\" !== typeof context.componentWillUpdate) ||\n (\"function\" === typeof context.componentWillUpdate &&\n context.componentWillUpdate(nextProps, newState, oldProps),\n \"function\" === typeof context.UNSAFE_componentWillUpdate &&\n context.UNSAFE_componentWillUpdate(\n nextProps,\n newState,\n oldProps\n )),\n \"function\" === typeof context.componentDidUpdate &&\n (workInProgress.flags |= 4),\n \"function\" === typeof context.getSnapshotBeforeUpdate &&\n (workInProgress.flags |= 1024))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = newState)),\n (context.props = nextProps),\n (context.state = newState),\n (context.context = oldProps),\n (nextProps = contextType$jscomp$0))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (nextProps = !1));\n }\n context = nextProps;\n markRef(current, workInProgress);\n nextProps = 0 !== (workInProgress.flags & 128);\n context || nextProps\n ? ((context = workInProgress.stateNode),\n (Component =\n nextProps && \"function\" !== typeof Component.getDerivedStateFromError\n ? null\n : context.render()),\n (workInProgress.flags |= 1),\n null !== current && nextProps\n ? ((workInProgress.child = reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n )),\n (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n Component,\n renderLanes\n )))\n : reconcileChildren(current, workInProgress, Component, renderLanes),\n (workInProgress.memoizedState = context.state),\n (current = workInProgress.child))\n : (current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n ));\n return current;\n}\nfunction mountHostRootWithoutHydrating(\n current,\n workInProgress,\n nextChildren,\n renderLanes\n) {\n resetHydrationState();\n workInProgress.flags |= 256;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nvar SUSPENDED_MARKER = {\n dehydrated: null,\n treeContext: null,\n retryLane: 0,\n hydrationErrors: null\n};\nfunction mountSuspenseOffscreenState(renderLanes) {\n return { baseLanes: renderLanes, cachePool: getSuspendedCache() };\n}\nfunction getRemainingWorkInPrimaryTree(\n current,\n primaryTreeDidDefer,\n renderLanes\n) {\n current = null !== current ? current.childLanes & ~renderLanes : 0;\n primaryTreeDidDefer && (current |= workInProgressDeferredLane);\n return current;\n}\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n showFallback = !1,\n didSuspend = 0 !== (workInProgress.flags & 128),\n JSCompiler_temp;\n (JSCompiler_temp = didSuspend) ||\n (JSCompiler_temp =\n null !== current && null === current.memoizedState\n ? !1\n : 0 !== (suspenseStackCursor.current & 2));\n JSCompiler_temp && ((showFallback = !0), (workInProgress.flags &= -129));\n JSCompiler_temp = 0 !== (workInProgress.flags & 32);\n workInProgress.flags &= -33;\n if (null === current) {\n if (isHydrating) {\n showFallback\n ? pushPrimaryTreeSuspenseHandler(workInProgress)\n : reuseSuspenseHandlerOnStack(workInProgress);\n if (isHydrating) {\n var nextInstance = nextHydratableInstance,\n JSCompiler_temp$jscomp$0;\n if ((JSCompiler_temp$jscomp$0 = nextInstance)) {\n c: {\n JSCompiler_temp$jscomp$0 = nextInstance;\n for (\n nextInstance = rootOrSingletonContext;\n 8 !== JSCompiler_temp$jscomp$0.nodeType;\n\n ) {\n if (!nextInstance) {\n nextInstance = null;\n break c;\n }\n JSCompiler_temp$jscomp$0 = getNextHydratable(\n JSCompiler_temp$jscomp$0.nextSibling\n );\n if (null === JSCompiler_temp$jscomp$0) {\n nextInstance = null;\n break c;\n }\n }\n nextInstance = JSCompiler_temp$jscomp$0;\n }\n null !== nextInstance\n ? ((workInProgress.memoizedState = {\n dehydrated: nextInstance,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (JSCompiler_temp$jscomp$0 = createFiberImplClass(\n 18,\n null,\n null,\n 0\n )),\n (JSCompiler_temp$jscomp$0.stateNode = nextInstance),\n (JSCompiler_temp$jscomp$0.return = workInProgress),\n (workInProgress.child = JSCompiler_temp$jscomp$0),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (JSCompiler_temp$jscomp$0 = !0))\n : (JSCompiler_temp$jscomp$0 = !1);\n }\n JSCompiler_temp$jscomp$0 || throwOnHydrationMismatch(workInProgress);\n }\n nextInstance = workInProgress.memoizedState;\n if (\n null !== nextInstance &&\n ((nextInstance = nextInstance.dehydrated), null !== nextInstance)\n )\n return (\n isSuspenseInstanceFallback(nextInstance)\n ? (workInProgress.lanes = 32)\n : (workInProgress.lanes = 536870912),\n null\n );\n popSuspenseHandler(workInProgress);\n }\n nextInstance = nextProps.children;\n nextProps = nextProps.fallback;\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = workInProgress.mode),\n (nextInstance = mountWorkInProgressOffscreenFiber(\n { mode: \"hidden\", children: nextInstance },\n showFallback\n )),\n (nextProps = createFiberFromFragment(\n nextProps,\n showFallback,\n renderLanes,\n null\n )),\n (nextInstance.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextInstance.sibling = nextProps),\n (workInProgress.child = nextInstance),\n (showFallback = workInProgress.child),\n (showFallback.memoizedState = mountSuspenseOffscreenState(renderLanes)),\n (showFallback.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n nextProps\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n return mountSuspensePrimaryChildren(workInProgress, nextInstance);\n }\n JSCompiler_temp$jscomp$0 = current.memoizedState;\n if (\n null !== JSCompiler_temp$jscomp$0 &&\n ((nextInstance = JSCompiler_temp$jscomp$0.dehydrated),\n null !== nextInstance)\n ) {\n if (didSuspend)\n workInProgress.flags & 256\n ? (pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags &= -257),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n )))\n : null !== workInProgress.memoizedState\n ? (reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null))\n : (reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = nextProps.fallback),\n (nextInstance = workInProgress.mode),\n (nextProps = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: nextProps.children },\n nextInstance\n )),\n (showFallback = createFiberFromFragment(\n showFallback,\n nextInstance,\n renderLanes,\n null\n )),\n (showFallback.flags |= 2),\n (nextProps.return = workInProgress),\n (showFallback.return = workInProgress),\n (nextProps.sibling = showFallback),\n (workInProgress.child = nextProps),\n reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n ),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n (workInProgress = showFallback));\n else if (\n (pushPrimaryTreeSuspenseHandler(workInProgress),\n isSuspenseInstanceFallback(nextInstance))\n ) {\n JSCompiler_temp =\n nextInstance.nextSibling && nextInstance.nextSibling.dataset;\n if (JSCompiler_temp) var digest = JSCompiler_temp.dgst;\n JSCompiler_temp = digest;\n nextProps = Error(formatProdErrorMessage(419));\n nextProps.stack = \"\";\n nextProps.digest = JSCompiler_temp;\n queueHydrationError({ value: nextProps, source: null, stack: null });\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (JSCompiler_temp = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || JSCompiler_temp)\n ) {\n JSCompiler_temp = workInProgressRoot;\n if (\n null !== JSCompiler_temp &&\n ((nextProps = renderLanes & -renderLanes),\n (nextProps =\n 0 !== (nextProps & 42)\n ? 1\n : getBumpedLaneForHydrationByLane(nextProps)),\n (nextProps =\n 0 !== (nextProps & (JSCompiler_temp.suspendedLanes | renderLanes))\n ? 0\n : nextProps),\n 0 !== nextProps && nextProps !== JSCompiler_temp$jscomp$0.retryLane)\n )\n throw (\n ((JSCompiler_temp$jscomp$0.retryLane = nextProps),\n enqueueConcurrentRenderForLane(current, nextProps),\n scheduleUpdateOnFiber(JSCompiler_temp, current, nextProps),\n SelectiveHydrationException)\n );\n \"$?\" === nextInstance.data || renderDidSuspendDelayIfPossible();\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n \"$?\" === nextInstance.data\n ? ((workInProgress.flags |= 192),\n (workInProgress.child = current.child),\n (workInProgress = null))\n : ((current = JSCompiler_temp$jscomp$0.treeContext),\n (nextHydratableInstance = getNextHydratable(\n nextInstance.nextSibling\n )),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n ((idStack[idStackIndex++] = treeContextId),\n (idStack[idStackIndex++] = treeContextOverflow),\n (idStack[idStackIndex++] = treeContextProvider),\n (treeContextId = current.id),\n (treeContextOverflow = current.overflow),\n (treeContextProvider = workInProgress)),\n (workInProgress = mountSuspensePrimaryChildren(\n workInProgress,\n nextProps.children\n )),\n (workInProgress.flags |= 4096));\n return workInProgress;\n }\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = nextProps.fallback),\n (nextInstance = workInProgress.mode),\n (JSCompiler_temp$jscomp$0 = current.child),\n (digest = JSCompiler_temp$jscomp$0.sibling),\n (nextProps = createWorkInProgress(JSCompiler_temp$jscomp$0, {\n mode: \"hidden\",\n children: nextProps.children\n })),\n (nextProps.subtreeFlags =\n JSCompiler_temp$jscomp$0.subtreeFlags & 65011712),\n null !== digest\n ? (showFallback = createWorkInProgress(digest, showFallback))\n : ((showFallback = createFiberFromFragment(\n showFallback,\n nextInstance,\n renderLanes,\n null\n )),\n (showFallback.flags |= 2)),\n (showFallback.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextProps.sibling = showFallback),\n (workInProgress.child = nextProps),\n (nextProps = showFallback),\n (showFallback = workInProgress.child),\n (nextInstance = current.child.memoizedState),\n null === nextInstance\n ? (nextInstance = mountSuspenseOffscreenState(renderLanes))\n : ((JSCompiler_temp$jscomp$0 = nextInstance.cachePool),\n null !== JSCompiler_temp$jscomp$0\n ? ((digest = CacheContext._currentValue),\n (JSCompiler_temp$jscomp$0 =\n JSCompiler_temp$jscomp$0.parent !== digest\n ? { parent: digest, pool: digest }\n : JSCompiler_temp$jscomp$0))\n : (JSCompiler_temp$jscomp$0 = getSuspendedCache()),\n (nextInstance = {\n baseLanes: nextInstance.baseLanes | renderLanes,\n cachePool: JSCompiler_temp$jscomp$0\n })),\n (showFallback.memoizedState = nextInstance),\n (showFallback.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n nextProps\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n renderLanes = current.child;\n current = renderLanes.sibling;\n renderLanes = createWorkInProgress(renderLanes, {\n mode: \"visible\",\n children: nextProps.children\n });\n renderLanes.return = workInProgress;\n renderLanes.sibling = null;\n null !== current &&\n ((JSCompiler_temp = workInProgress.deletions),\n null === JSCompiler_temp\n ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16))\n : JSCompiler_temp.push(current));\n workInProgress.child = renderLanes;\n workInProgress.memoizedState = null;\n return renderLanes;\n}\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren) {\n primaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: primaryChildren },\n workInProgress.mode\n );\n primaryChildren.return = workInProgress;\n return (workInProgress.child = primaryChildren);\n}\nfunction mountWorkInProgressOffscreenFiber(offscreenProps, mode) {\n offscreenProps = createFiberImplClass(22, offscreenProps, null, mode);\n offscreenProps.lanes = 0;\n offscreenProps.stateNode = {\n _visibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n };\n return offscreenProps;\n}\nfunction retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountSuspensePrimaryChildren(\n workInProgress,\n workInProgress.pendingProps.children\n );\n current.flags |= 2;\n workInProgress.memoizedState = null;\n return current;\n}\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes |= renderLanes;\n var alternate = fiber.alternate;\n null !== alternate && (alternate.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\nfunction initSuspenseListRenderState(\n workInProgress,\n isBackwards,\n tail,\n lastContentRow,\n tailMode\n) {\n var renderState = workInProgress.memoizedState;\n null === renderState\n ? (workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode\n })\n : ((renderState.isBackwards = isBackwards),\n (renderState.rendering = null),\n (renderState.renderingStartTime = 0),\n (renderState.last = lastContentRow),\n (renderState.tail = tail),\n (renderState.tailMode = tailMode));\n}\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n revealOrder = nextProps.revealOrder,\n tailMode = nextProps.tail;\n reconcileChildren(current, workInProgress, nextProps.children, renderLanes);\n nextProps = suspenseStackCursor.current;\n if (0 !== (nextProps & 2))\n (nextProps = (nextProps & 1) | 2), (workInProgress.flags |= 128);\n else {\n if (null !== current && 0 !== (current.flags & 128))\n a: for (current = workInProgress.child; null !== current; ) {\n if (13 === current.tag)\n null !== current.memoizedState &&\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (19 === current.tag)\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (null !== current.child) {\n current.child.return = current;\n current = current.child;\n continue;\n }\n if (current === workInProgress) break a;\n for (; null === current.sibling; ) {\n if (null === current.return || current.return === workInProgress)\n break a;\n current = current.return;\n }\n current.sibling.return = current.return;\n current = current.sibling;\n }\n nextProps &= 1;\n }\n push(suspenseStackCursor, nextProps);\n switch (revealOrder) {\n case \"forwards\":\n renderLanes = workInProgress.child;\n for (revealOrder = null; null !== renderLanes; )\n (current = renderLanes.alternate),\n null !== current &&\n null === findFirstSuspended(current) &&\n (revealOrder = renderLanes),\n (renderLanes = renderLanes.sibling);\n renderLanes = revealOrder;\n null === renderLanes\n ? ((revealOrder = workInProgress.child), (workInProgress.child = null))\n : ((revealOrder = renderLanes.sibling), (renderLanes.sibling = null));\n initSuspenseListRenderState(\n workInProgress,\n !1,\n revealOrder,\n renderLanes,\n tailMode\n );\n break;\n case \"backwards\":\n renderLanes = null;\n revealOrder = workInProgress.child;\n for (workInProgress.child = null; null !== revealOrder; ) {\n current = revealOrder.alternate;\n if (null !== current && null === findFirstSuspended(current)) {\n workInProgress.child = revealOrder;\n break;\n }\n current = revealOrder.sibling;\n revealOrder.sibling = renderLanes;\n renderLanes = revealOrder;\n revealOrder = current;\n }\n initSuspenseListRenderState(\n workInProgress,\n !0,\n renderLanes,\n null,\n tailMode\n );\n break;\n case \"together\":\n initSuspenseListRenderState(workInProgress, !1, null, null, void 0);\n break;\n default:\n workInProgress.memoizedState = null;\n }\n return workInProgress.child;\n}\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n null !== current && (workInProgress.dependencies = current.dependencies);\n workInProgressRootSkippedLanes |= workInProgress.lanes;\n if (0 === (renderLanes & workInProgress.childLanes))\n if (null !== current) {\n if (\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n 0 === (renderLanes & workInProgress.childLanes))\n )\n return null;\n } else return null;\n if (null !== current && workInProgress.child !== current.child)\n throw Error(formatProdErrorMessage(153));\n if (null !== workInProgress.child) {\n current = workInProgress.child;\n renderLanes = createWorkInProgress(current, current.pendingProps);\n workInProgress.child = renderLanes;\n for (renderLanes.return = workInProgress; null !== current.sibling; )\n (current = current.sibling),\n (renderLanes = renderLanes.sibling =\n createWorkInProgress(current, current.pendingProps)),\n (renderLanes.return = workInProgress);\n renderLanes.sibling = null;\n }\n return workInProgress.child;\n}\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n if (0 !== (current.lanes & renderLanes)) return !0;\n current = current.dependencies;\n return null !== current && checkIfContextChanged(current) ? !0 : !1;\n}\nfunction attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n) {\n switch (workInProgress.tag) {\n case 3:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n resetHydrationState();\n break;\n case 27:\n case 5:\n pushHostContext(workInProgress);\n break;\n case 4:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n case 10:\n pushProvider(\n workInProgress,\n workInProgress.type,\n workInProgress.memoizedProps.value\n );\n break;\n case 13:\n var state = workInProgress.memoizedState;\n if (null !== state) {\n if (null !== state.dehydrated)\n return (\n pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags |= 128),\n null\n );\n if (0 !== (renderLanes & workInProgress.child.childLanes))\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n pushPrimaryTreeSuspenseHandler(workInProgress);\n current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n return null !== current ? current.sibling : null;\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n break;\n case 19:\n var didSuspendBefore = 0 !== (current.flags & 128);\n state = 0 !== (renderLanes & workInProgress.childLanes);\n state ||\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (state = 0 !== (renderLanes & workInProgress.childLanes)));\n if (didSuspendBefore) {\n if (state)\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n workInProgress.flags |= 128;\n }\n didSuspendBefore = workInProgress.memoizedState;\n null !== didSuspendBefore &&\n ((didSuspendBefore.rendering = null),\n (didSuspendBefore.tail = null),\n (didSuspendBefore.lastEffect = null));\n push(suspenseStackCursor, suspenseStackCursor.current);\n if (state) break;\n else return null;\n case 22:\n case 23:\n return (\n (workInProgress.lanes = 0),\n updateOffscreenComponent(current, workInProgress, renderLanes)\n );\n case 24:\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n }\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\nfunction beginWork(current, workInProgress, renderLanes) {\n if (null !== current)\n if (current.memoizedProps !== workInProgress.pendingProps)\n didReceiveUpdate = !0;\n else {\n if (\n !checkScheduledUpdateOrContext(current, renderLanes) &&\n 0 === (workInProgress.flags & 128)\n )\n return (\n (didReceiveUpdate = !1),\n attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n )\n );\n didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1;\n }\n else\n (didReceiveUpdate = !1),\n isHydrating &&\n 0 !== (workInProgress.flags & 1048576) &&\n pushTreeId(workInProgress, treeForkCount, workInProgress.index);\n workInProgress.lanes = 0;\n switch (workInProgress.tag) {\n case 16:\n a: {\n current = workInProgress.pendingProps;\n var lazyComponent = workInProgress.elementType,\n init = lazyComponent._init;\n lazyComponent = init(lazyComponent._payload);\n workInProgress.type = lazyComponent;\n if (\"function\" === typeof lazyComponent)\n shouldConstruct(lazyComponent)\n ? ((current = resolveClassComponentProps(lazyComponent, current)),\n (workInProgress.tag = 1),\n (workInProgress = updateClassComponent(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n )))\n : ((workInProgress.tag = 0),\n (workInProgress = updateFunctionComponent(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n )));\n else {\n if (void 0 !== lazyComponent && null !== lazyComponent)\n if (\n ((init = lazyComponent.$$typeof), init === REACT_FORWARD_REF_TYPE)\n ) {\n workInProgress.tag = 11;\n workInProgress = updateForwardRef(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n );\n break a;\n } else if (init === REACT_MEMO_TYPE) {\n workInProgress.tag = 14;\n workInProgress = updateMemoComponent(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n );\n break a;\n }\n workInProgress =\n getComponentNameFromType(lazyComponent) || lazyComponent;\n throw Error(formatProdErrorMessage(306, workInProgress, \"\"));\n }\n }\n return workInProgress;\n case 0:\n return updateFunctionComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 1:\n return (\n (lazyComponent = workInProgress.type),\n (init = resolveClassComponentProps(\n lazyComponent,\n workInProgress.pendingProps\n )),\n updateClassComponent(\n current,\n workInProgress,\n lazyComponent,\n init,\n renderLanes\n )\n );\n case 3:\n a: {\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n if (null === current) throw Error(formatProdErrorMessage(387));\n lazyComponent = workInProgress.pendingProps;\n var prevState = workInProgress.memoizedState;\n init = prevState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, lazyComponent, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n lazyComponent = nextState.cache;\n pushProvider(workInProgress, CacheContext, lazyComponent);\n lazyComponent !== prevState.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n );\n suspendIfUpdateReadFromEntangledAsyncAction();\n lazyComponent = nextState.element;\n if (prevState.isDehydrated)\n if (\n ((prevState = {\n element: lazyComponent,\n isDehydrated: !1,\n cache: nextState.cache\n }),\n (workInProgress.updateQueue.baseState = prevState),\n (workInProgress.memoizedState = prevState),\n workInProgress.flags & 256)\n ) {\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n );\n break a;\n } else if (lazyComponent !== init) {\n init = createCapturedValueAtFiber(\n Error(formatProdErrorMessage(424)),\n workInProgress\n );\n queueHydrationError(init);\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n );\n break a;\n } else {\n current = workInProgress.stateNode.containerInfo;\n switch (current.nodeType) {\n case 9:\n current = current.body;\n break;\n default:\n current =\n \"HTML\" === current.nodeName\n ? current.ownerDocument.body\n : current;\n }\n nextHydratableInstance = getNextHydratable(current.firstChild);\n hydrationParentFiber = workInProgress;\n isHydrating = !0;\n hydrationErrors = null;\n rootOrSingletonContext = !0;\n renderLanes = mountChildFibers(\n workInProgress,\n null,\n lazyComponent,\n renderLanes\n );\n for (workInProgress.child = renderLanes; renderLanes; )\n (renderLanes.flags = (renderLanes.flags & -3) | 4096),\n (renderLanes = renderLanes.sibling);\n }\n else {\n resetHydrationState();\n if (lazyComponent === init) {\n workInProgress = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n break a;\n }\n reconcileChildren(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n );\n }\n workInProgress = workInProgress.child;\n }\n return workInProgress;\n case 26:\n return (\n markRef(current, workInProgress),\n null === current\n ? (renderLanes = getResource(\n workInProgress.type,\n null,\n workInProgress.pendingProps,\n null\n ))\n ? (workInProgress.memoizedState = renderLanes)\n : isHydrating ||\n ((renderLanes = workInProgress.type),\n (current = workInProgress.pendingProps),\n (lazyComponent = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n ).createElement(renderLanes)),\n (lazyComponent[internalInstanceKey] = workInProgress),\n (lazyComponent[internalPropsKey] = current),\n setInitialProperties(lazyComponent, renderLanes, current),\n markNodeAsHoistable(lazyComponent),\n (workInProgress.stateNode = lazyComponent))\n : (workInProgress.memoizedState = getResource(\n workInProgress.type,\n current.memoizedProps,\n workInProgress.pendingProps,\n current.memoizedState\n )),\n null\n );\n case 27:\n return (\n pushHostContext(workInProgress),\n null === current &&\n isHydrating &&\n ((lazyComponent = workInProgress.stateNode =\n resolveSingletonInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n rootInstanceStackCursor.current\n )),\n (hydrationParentFiber = workInProgress),\n (rootOrSingletonContext = !0),\n (init = nextHydratableInstance),\n isSingletonScope(workInProgress.type)\n ? ((previousHydratableOnEnteringScopedSingleton = init),\n (nextHydratableInstance = getNextHydratable(\n lazyComponent.firstChild\n )))\n : (nextHydratableInstance = init)),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n markRef(current, workInProgress),\n null === current && (workInProgress.flags |= 4194304),\n workInProgress.child\n );\n case 5:\n if (null === current && isHydrating) {\n if ((init = lazyComponent = nextHydratableInstance))\n (lazyComponent = canHydrateInstance(\n lazyComponent,\n workInProgress.type,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== lazyComponent\n ? ((workInProgress.stateNode = lazyComponent),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = getNextHydratable(\n lazyComponent.firstChild\n )),\n (rootOrSingletonContext = !1),\n (init = !0))\n : (init = !1);\n init || throwOnHydrationMismatch(workInProgress);\n }\n pushHostContext(workInProgress);\n init = workInProgress.type;\n prevState = workInProgress.pendingProps;\n nextState = null !== current ? current.memoizedProps : null;\n lazyComponent = prevState.children;\n shouldSetTextContent(init, prevState)\n ? (lazyComponent = null)\n : null !== nextState &&\n shouldSetTextContent(init, nextState) &&\n (workInProgress.flags |= 32);\n null !== workInProgress.memoizedState &&\n ((init = renderWithHooks(\n current,\n workInProgress,\n TransitionAwareHostComponent,\n null,\n null,\n renderLanes\n )),\n (HostTransitionContext._currentValue = init));\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, lazyComponent, renderLanes);\n return workInProgress.child;\n case 6:\n if (null === current && isHydrating) {\n if ((current = renderLanes = nextHydratableInstance))\n (renderLanes = canHydrateTextInstance(\n renderLanes,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== renderLanes\n ? ((workInProgress.stateNode = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (current = !0))\n : (current = !1);\n current || throwOnHydrationMismatch(workInProgress);\n }\n return null;\n case 13:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n case 4:\n return (\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n ),\n (lazyComponent = workInProgress.pendingProps),\n null === current\n ? (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n lazyComponent,\n renderLanes\n ))\n : reconcileChildren(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n ),\n workInProgress.child\n );\n case 11:\n return updateForwardRef(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 7:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps,\n renderLanes\n ),\n workInProgress.child\n );\n case 8:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 12:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 10:\n return (\n (lazyComponent = workInProgress.pendingProps),\n pushProvider(workInProgress, workInProgress.type, lazyComponent.value),\n reconcileChildren(\n current,\n workInProgress,\n lazyComponent.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 9:\n return (\n (init = workInProgress.type._context),\n (lazyComponent = workInProgress.pendingProps.children),\n prepareToReadContext(workInProgress),\n (init = readContext(init)),\n (lazyComponent = lazyComponent(init)),\n (workInProgress.flags |= 1),\n reconcileChildren(current, workInProgress, lazyComponent, renderLanes),\n workInProgress.child\n );\n case 14:\n return updateMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 15:\n return updateSimpleMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 19:\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n case 31:\n return (\n (lazyComponent = workInProgress.pendingProps),\n (renderLanes = workInProgress.mode),\n (lazyComponent = {\n mode: lazyComponent.mode,\n children: lazyComponent.children\n }),\n null === current\n ? ((renderLanes = mountWorkInProgressOffscreenFiber(\n lazyComponent,\n renderLanes\n )),\n (renderLanes.ref = workInProgress.ref),\n (workInProgress.child = renderLanes),\n (renderLanes.return = workInProgress),\n (workInProgress = renderLanes))\n : ((renderLanes = createWorkInProgress(current.child, lazyComponent)),\n (renderLanes.ref = workInProgress.ref),\n (workInProgress.child = renderLanes),\n (renderLanes.return = workInProgress),\n (workInProgress = renderLanes)),\n workInProgress\n );\n case 22:\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n case 24:\n return (\n prepareToReadContext(workInProgress),\n (lazyComponent = readContext(CacheContext)),\n null === current\n ? ((init = peekCacheFromPool()),\n null === init &&\n ((init = workInProgressRoot),\n (prevState = createCache()),\n (init.pooledCache = prevState),\n prevState.refCount++,\n null !== prevState && (init.pooledCacheLanes |= renderLanes),\n (init = prevState)),\n (workInProgress.memoizedState = {\n parent: lazyComponent,\n cache: init\n }),\n initializeUpdateQueue(workInProgress),\n pushProvider(workInProgress, CacheContext, init))\n : (0 !== (current.lanes & renderLanes) &&\n (cloneUpdateQueue(current, workInProgress),\n processUpdateQueue(workInProgress, null, null, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction()),\n (init = current.memoizedState),\n (prevState = workInProgress.memoizedState),\n init.parent !== lazyComponent\n ? ((init = { parent: lazyComponent, cache: lazyComponent }),\n (workInProgress.memoizedState = init),\n 0 === workInProgress.lanes &&\n (workInProgress.memoizedState =\n workInProgress.updateQueue.baseState =\n init),\n pushProvider(workInProgress, CacheContext, lazyComponent))\n : ((lazyComponent = prevState.cache),\n pushProvider(workInProgress, CacheContext, lazyComponent),\n lazyComponent !== init.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n ))),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 29:\n throw workInProgress.pendingProps;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n}\nfunction markUpdate(workInProgress) {\n workInProgress.flags |= 4;\n}\nfunction preloadResourceAndSuspendIfNeeded(workInProgress, resource) {\n if (\"stylesheet\" !== resource.type || 0 !== (resource.state.loading & 4))\n workInProgress.flags &= -16777217;\n else if (((workInProgress.flags |= 16777216), !preloadResource(resource))) {\n resource = suspenseHandlerStackCursor.current;\n if (\n null !== resource &&\n ((workInProgressRootRenderLanes & 4194048) ===\n workInProgressRootRenderLanes\n ? null !== shellBoundary\n : ((workInProgressRootRenderLanes & 62914560) !==\n workInProgressRootRenderLanes &&\n 0 === (workInProgressRootRenderLanes & 536870912)) ||\n resource !== shellBoundary)\n )\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n workInProgress.flags |= 8192;\n }\n}\nfunction scheduleRetryEffect(workInProgress, retryQueue) {\n null !== retryQueue && (workInProgress.flags |= 4);\n workInProgress.flags & 16384 &&\n ((retryQueue =\n 22 !== workInProgress.tag ? claimNextRetryLane() : 536870912),\n (workInProgress.lanes |= retryQueue),\n (workInProgressSuspendedRetryLanes |= retryQueue));\n}\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (!isHydrating)\n switch (renderState.tailMode) {\n case \"hidden\":\n hasRenderedATailFallback = renderState.tail;\n for (var lastTailNode = null; null !== hasRenderedATailFallback; )\n null !== hasRenderedATailFallback.alternate &&\n (lastTailNode = hasRenderedATailFallback),\n (hasRenderedATailFallback = hasRenderedATailFallback.sibling);\n null === lastTailNode\n ? (renderState.tail = null)\n : (lastTailNode.sibling = null);\n break;\n case \"collapsed\":\n lastTailNode = renderState.tail;\n for (var lastTailNode$113 = null; null !== lastTailNode; )\n null !== lastTailNode.alternate && (lastTailNode$113 = lastTailNode),\n (lastTailNode = lastTailNode.sibling);\n null === lastTailNode$113\n ? hasRenderedATailFallback || null === renderState.tail\n ? (renderState.tail = null)\n : (renderState.tail.sibling = null)\n : (lastTailNode$113.sibling = null);\n }\n}\nfunction bubbleProperties(completedWork) {\n var didBailout =\n null !== completedWork.alternate &&\n completedWork.alternate.child === completedWork.child,\n newChildLanes = 0,\n subtreeFlags = 0;\n if (didBailout)\n for (var child$114 = completedWork.child; null !== child$114; )\n (newChildLanes |= child$114.lanes | child$114.childLanes),\n (subtreeFlags |= child$114.subtreeFlags & 65011712),\n (subtreeFlags |= child$114.flags & 65011712),\n (child$114.return = completedWork),\n (child$114 = child$114.sibling);\n else\n for (child$114 = completedWork.child; null !== child$114; )\n (newChildLanes |= child$114.lanes | child$114.childLanes),\n (subtreeFlags |= child$114.subtreeFlags),\n (subtreeFlags |= child$114.flags),\n (child$114.return = completedWork),\n (child$114 = child$114.sibling);\n completedWork.subtreeFlags |= subtreeFlags;\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps;\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 31:\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return bubbleProperties(workInProgress), null;\n case 1:\n return bubbleProperties(workInProgress), null;\n case 3:\n renderLanes = workInProgress.stateNode;\n newProps = null;\n null !== current && (newProps = current.memoizedState.cache);\n workInProgress.memoizedState.cache !== newProps &&\n (workInProgress.flags |= 2048);\n popProvider(CacheContext);\n popHostContainer();\n renderLanes.pendingContext &&\n ((renderLanes.context = renderLanes.pendingContext),\n (renderLanes.pendingContext = null));\n if (null === current || null === current.child)\n popHydrationState(workInProgress)\n ? markUpdate(workInProgress)\n : null === current ||\n (current.memoizedState.isDehydrated &&\n 0 === (workInProgress.flags & 256)) ||\n ((workInProgress.flags |= 1024),\n upgradeHydrationErrorsToRecoverable());\n bubbleProperties(workInProgress);\n return null;\n case 26:\n return (\n (renderLanes = workInProgress.memoizedState),\n null === current\n ? (markUpdate(workInProgress),\n null !== renderLanes\n ? (bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, renderLanes))\n : (bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217)))\n : renderLanes\n ? renderLanes !== current.memoizedState\n ? (markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, renderLanes))\n : (bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217))\n : (current.memoizedProps !== newProps && markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217)),\n null\n );\n case 27:\n popHostContext(workInProgress);\n renderLanes = rootInstanceStackCursor.current;\n var type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n current = contextStackCursor.current;\n popHydrationState(workInProgress)\n ? prepareToHydrateHostInstance(workInProgress, current)\n : ((current = resolveSingletonInstance(type, newProps, renderLanes)),\n (workInProgress.stateNode = current),\n markUpdate(workInProgress));\n }\n bubbleProperties(workInProgress);\n return null;\n case 5:\n popHostContext(workInProgress);\n renderLanes = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n current = contextStackCursor.current;\n if (popHydrationState(workInProgress))\n prepareToHydrateHostInstance(workInProgress, current);\n else {\n type = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n );\n switch (current) {\n case 1:\n current = type.createElementNS(\n \"http://www.w3.org/2000/svg\",\n renderLanes\n );\n break;\n case 2:\n current = type.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n renderLanes\n );\n break;\n default:\n switch (renderLanes) {\n case \"svg\":\n current = type.createElementNS(\n \"http://www.w3.org/2000/svg\",\n renderLanes\n );\n break;\n case \"math\":\n current = type.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n renderLanes\n );\n break;\n case \"script\":\n current = type.createElement(\"div\");\n current.innerHTML = \" +
- + \ No newline at end of file diff --git a/vite-app/src/components/EvaluationRow.tsx b/vite-app/src/components/EvaluationRow.tsx index 255fd1fc..d16b06d2 100644 --- a/vite-app/src/components/EvaluationRow.tsx +++ b/vite-app/src/components/EvaluationRow.tsx @@ -134,7 +134,7 @@ const IdSection = observer(({ data }: { data: EvaluationRowType }) => ( title="IDs" data={{ rollout_id: data.rollout_id, - cohort_id: data.cohort_id, + experiment_id: data.experiment_id, invocation_id: data.invocation_id, run_id: data.run_id, }} diff --git a/vite-app/src/types/eval-protocol.ts b/vite-app/src/types/eval-protocol.ts index 800af414..3fb00d5c 100644 --- a/vite-app/src/types/eval-protocol.ts +++ b/vite-app/src/types/eval-protocol.ts @@ -100,7 +100,7 @@ export const EvaluationRowSchema = z.object({ input_metadata: InputMetadataSchema.describe('Metadata related to the input (dataset info, model config, session data, etc.).'), rollout_status: RolloutStatusSchema.default({ status: 'finished' }).describe('The status of the rollout.'), invocation_id: z.string().optional().describe('The ID of the invocation that this row belongs to.'), - cohort_id: z.string().optional().describe('The ID of the cohort that this row belongs to.'), + experiment_id: z.string().optional().describe('The ID of the experiment that this row belongs to.'), rollout_id: z.string().optional().describe('The ID of the rollout that this row belongs to.'), run_id: z.string().optional().describe('The ID of the run that this row belongs to.'), ground_truth: z.string().optional().describe('Optional ground truth reference for this evaluation.'), diff --git a/vite-app/src/util/pivot.test.ts b/vite-app/src/util/pivot.test.ts index affcb764..ec26063e 100644 --- a/vite-app/src/util/pivot.test.ts +++ b/vite-app/src/util/pivot.test.ts @@ -189,7 +189,7 @@ describe('computePivot', () => { const res = computePivot({ data: rows, - rowFields: ['$.eval_metadata.name', '$.cohort_id'], + rowFields: ['$.eval_metadata.name', '$.experiment_id'], columnFields: ['$.input_metadata.completion_params.model'], valueField: '$.evaluation_result.score', aggregator: 'avg',