@tscircuit/runframe 0.0.40 → 0.0.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/runner.js CHANGED
@@ -231,6 +231,7 @@ var RunFrame = (props) => {
231
231
  lastEntrypointRef.current = props.entrypoint;
232
232
  async function runWorker() {
233
233
  debug3("running render worker");
234
+ setError(null);
234
235
  const worker = globalThis.runFrameWorker ?? await createCircuitWebWorker({
235
236
  webWorkerUrl: evalWebWorkerBlobUrl,
236
237
  verbose: true
@@ -238,18 +239,30 @@ var RunFrame = (props) => {
238
239
  globalThis.runFrameWorker = worker;
239
240
  props.onRenderStarted?.();
240
241
  const fsMapObj = fsMap instanceof Map ? Object.fromEntries(fsMap.entries()) : fsMap;
241
- const $finished = worker.executeWithFsMap({
242
+ if (!fsMapObj[props.entrypoint]) {
243
+ setError({
244
+ error: `Entrypoint not found (entrypoint: "${props.entrypoint}", fsMapKeys: ${Object.keys(fsMapObj).join(", ")})`,
245
+ stack: ""
246
+ });
247
+ return;
248
+ }
249
+ const evalResult = await worker.executeWithFsMap({
242
250
  entrypoint: props.entrypoint,
243
251
  fsMap: fsMapObj
244
- }).catch((e) => {
252
+ }).then(() => ({ success: true })).catch((e) => {
245
253
  const message = e.message.split(":")[1];
254
+ props.onError?.(e);
246
255
  setError({ error: message, stack: e.stack });
247
256
  console.error(e);
257
+ return { success: false };
248
258
  });
259
+ if (!evalResult.success) return;
260
+ const $renderResult = worker.renderUntilSettled();
249
261
  debug3("waiting for initial circuit json...");
250
262
  let circuitJson2 = await worker.getCircuitJson().catch((e) => {
251
263
  debug3("error getting initial circuit json", e);
252
264
  props.onError?.(e);
265
+ setError({ error: e.message, stack: e.stack });
253
266
  return null;
254
267
  });
255
268
  if (!circuitJson2) return;
@@ -257,8 +270,7 @@ var RunFrame = (props) => {
257
270
  setCircuitJson(circuitJson2);
258
271
  props.onCircuitJsonChange?.(circuitJson2);
259
272
  props.onInitialRender?.({ circuitJson: circuitJson2 });
260
- debug3("waiting for execution to finish...");
261
- await $finished;
273
+ await $renderResult;
262
274
  debug3("getting final circuit json");
263
275
  circuitJson2 = await worker.getCircuitJson();
264
276
  props.onCircuitJsonChange?.(circuitJson2);
@@ -403,9 +415,6 @@ var RunFrameWithApi = (props) => {
403
415
  markRenderComplete();
404
416
  },
405
417
  entrypoint,
406
- onError: (error) => {
407
- console.error("RunFrame error:", error);
408
- },
409
418
  editEvents: editEventsForRender,
410
419
  onEditEvent: (ee) => {
411
420
  pushEditEvent(ee);
@@ -22045,7 +22045,7 @@ void main() {
22045
22045
  * Copyright 2010-2024 Three.js Authors
22046
22046
  * SPDX-License-Identifier: MIT
22047
22047
  *)
22048
- */const dist$4=Object.freeze(Object.defineProperty({__proto__:null,A0402,A0603,A0805,BGA,ChipBody,ExtrudedPads,FootprintPad,FootprintPlatedHole,Footprinter3d,PinRow,QFN,QFP,SOD123,SOT233P,SOT563,SOT723,SmdChipLead,Tssop},Symbol.toStringTag,{value:"Module"})),require$$19=getAugmentedNamespace(dist$4);var dist$3,hasRequiredDist$2;function requireDist$2(){if(hasRequiredDist$2)return dist$3;hasRequiredDist$2=1;var lV=Object.create,J=Object.defineProperty,VV=Object.getOwnPropertyDescriptor,RV=Object.getOwnPropertyNames,UV=Object.getPrototypeOf,ZV=Object.prototype.hasOwnProperty,WV=(ZU,wR)=>{for(var CU in wR)J(ZU,CU,{get:wR[CU],enumerable:!0})},IV=(ZU,wR,CU,DR)=>{if(wR&&typeof wR=="object"||typeof wR=="function")for(let QU of RV(wR))!ZV.call(ZU,QU)&&QU!==CU&&J(ZU,QU,{get:()=>wR[QU],enumerable:!(DR=VV(wR,QU))||DR.enumerable});return ZU},dV=(ZU,wR,CU)=>(CU=ZU!=null?lV(UV(ZU)):{},IV(!ZU||!ZU.__esModule?J(CU,"default",{value:ZU,enumerable:!0}):CU,ZU)),CV=ZU=>IV(J({},"__esModule",{value:!0}),ZU),FV={};WV(FV,{CadViewer:()=>VZ}),dist$3=CV(FV);var NV=require$$2,gV=requireReact(),eV=(ZU,wR)=>(0,gV.useMemo)(()=>{if(!ZU)return;const CU=new NV.Circuit;return CU.add(ZU),CU.render(),CU.getCircuitJson()},[ZU]),JV=requireDist$6(),nV=requireReact(),aV=requireDist$6(),GV=requireTransforms(),cV=requirePrimitives(),TV=requireColors(),iV=requireBooleans(),tV=requirePrimitives(),MV=requireColors(),AV=requireBooleans(),pV=.01,HV={copper:[.9,.6,.2],fr4Green:[5/255,163/255,46/255],fr4GreenSolderWithMask:[0/255,152/255,19/255]},oV=(ZU,wR)=>{if(ZU.shape||(ZU.shape="circle"),ZU.shape==="circle")return(0,MV.colorize)(HV.copper,(0,AV.subtract)((0,AV.union)((0,tV.cylinder)({center:[ZU.x,ZU.y,0],radius:ZU.hole_diameter/2,height:1.2}),(0,tV.cylinder)({center:[ZU.x,ZU.y,1.2/2],radius:ZU.outer_diameter/2,height:pV}),(0,tV.cylinder)({center:[ZU.x,ZU.y,-1.2/2],radius:ZU.outer_diameter/2,height:pV})),(0,tV.cylinder)({center:[ZU.x,ZU.y,0],radius:ZU.hole_diameter/2-pV,height:1.5})));if(ZU.shape==="pill"){const CU=ZU.hole_height>ZU.hole_width,DR=CU?ZU.hole_height:ZU.hole_width,QU=CU?ZU.hole_width:ZU.hole_height,DU=CU?ZU.outer_width||DR+.2:ZU.outer_height||QU+.2,vl=QU/2,_l=Math.abs(DR-QU),yR=(0,tV.cuboid)({center:CU?[ZU.x,ZU.y,0]:[ZU.x,ZU.y,0],size:CU?[QU,_l,1.2]:[_l,QU,1.2]}),NU=(0,tV.cylinder)({center:CU?[ZU.x,ZU.y-_l/2,0]:[ZU.x-_l/2,ZU.y,0],radius:vl,height:1.2}),rU=(0,tV.cylinder)({center:CU?[ZU.x,ZU.y+_l/2,0]:[ZU.x+_l/2,ZU.y,0],radius:vl,height:1.2}),vU=(0,tV.cuboid)({center:CU?[ZU.x,ZU.y,1.2/2]:[ZU.x,ZU.y,1.2/2],size:CU?[DU,_l,pV]:[_l,DU,pV]}),OU=(0,tV.cylinder)({center:CU?[ZU.x,ZU.y-_l/2,1.2/2]:[ZU.x-_l/2,ZU.y,1.2/2],radius:DU/2,height:pV}),WW=(0,tV.cylinder)({center:CU?[ZU.x,ZU.y+_l/2,1.2/2]:[ZU.x+_l/2,ZU.y,1.2/2],radius:DU/2,height:pV}),TZ=(0,tV.cuboid)({center:CU?[ZU.x,ZU.y,-1.2/2]:[ZU.x,ZU.y,-1.2/2],size:CU?[DU,_l,pV]:[_l,DU,pV]}),sZ=(0,tV.cylinder)({center:CU?[ZU.x,ZU.y-_l/2,-1.2/2]:[ZU.x-_l/2,ZU.y,-1.2/2],radius:DU/2,height:pV}),IW=(0,tV.cylinder)({center:CU?[ZU.x,ZU.y+_l/2,-1.2/2]:[ZU.x+_l/2,ZU.y,-1.2/2],radius:DU/2,height:pV});return(0,MV.colorize)(HV.copper,(0,AV.subtract)((0,AV.union)(yR,NU,rU,vU,OU,WW,TZ,sZ,IW),(0,AV.union)((0,tV.cuboid)({center:[ZU.x,ZU.y,0],size:CU?[QU-pV,_l,1.5]:[_l,QU-pV,1.5]}),(0,tV.cylinder)({center:CU?[ZU.x,ZU.y-_l/2,0]:[ZU.x-_l/2,ZU.y,0],radius:vl-pV,height:1.5}),(0,tV.cylinder)({center:CU?[ZU.x,ZU.y+_l/2,0]:[ZU.x+_l/2,ZU.y,0],radius:vl-pV,height:1.5}))))}else throw new Error(`Unsupported plated hole shape: ${ZU.shape}`)},DV=requireExtrusions(),wV=requireExpansions(),qV=requireExtrusions(),Cl=requirePrimitives(),nl=requireTransforms(),Il=ZU=>{let wR=0;for(let DR=0;DR<ZU.length;DR++){const QU=(DR+1)%ZU.length;wR+=ZU[DR][0]*ZU[QU][1],wR-=ZU[QU][0]*ZU[DR][1]}return wR/2<=0},LV=(ZU,wR=1.2)=>{let CU=ZU.map(DU=>[DU.x,DU.y]);Il(CU)&&(CU=CU.reverse());const DR=(0,Cl.polygon)({points:CU});let QU=(0,qV.extrudeLinear)({height:wR},DR);return QU=(0,nl.translate)([0,0,-wR/2],QU),QU},OV=requireText();function $V(ZU){var yR,NU,rU,vU;const wR=(0,OV.vectorText)({height:ZU.font_size,input:ZU.text});wR.forEach(OU=>{OU.length===29?(wR.splice(wR.indexOf(OU),1,OU.slice(0,15)),wR.splice(wR.indexOf(OU),0,OU.slice(14,29))):OU.length===17&&(wR.splice(wR.indexOf(OU),1,OU.slice(0,10)),wR.splice(wR.indexOf(OU),0,OU.slice(9,17)))});const CU=wR.flatMap(OU=>OU),DR={minX:Math.min(...CU.map(OU=>OU[0])),maxX:Math.max(...CU.map(OU=>OU[0])),minY:Math.min(...CU.map(OU=>OU[1])),maxY:Math.max(...CU.map(OU=>OU[1]))},QU=(DR.minX+DR.maxX)/2,DU=(DR.minY+DR.maxY)/2;let vl=-QU,_l=-DU;return(yR=ZU.anchor_alignment)!=null&&yR.includes("right")?vl=-DR.maxX:(NU=ZU.anchor_alignment)!=null&&NU.includes("left")&&(vl=-DR.minX),(rU=ZU.anchor_alignment)!=null&&rU.includes("top")?_l=-DR.maxY:(vU=ZU.anchor_alignment)!=null&&vU.includes("bottom")&&(_l=-DR.minY),{textOutlines:wR,xOffset:vl,yOffset:_l}}var dl=ZU=>{const wR=(0,aV.su)(ZU).pcb_board.list()[0];if(!wR)throw new Error("No pcb_board found");const CU=(0,aV.su)(ZU).pcb_plated_hole.list(),DR=(0,aV.su)(ZU).pcb_hole.list(),QU=(0,aV.su)(ZU).pcb_smtpad.list(),DU=(0,aV.su)(ZU).pcb_trace.list(),vl=(0,aV.su)(ZU).pcb_via.list(),_l=(0,aV.su)(ZU).pcb_silkscreen_text.list();let yR;wR.outline&&wR.outline.length>0?yR=LV(wR.outline,1.2):yR=(0,cV.cuboid)({size:[wR.width,wR.height,1.2]});const NU=[],rU=[],vU=[],OU=TZ=>{if(TZ.shape==="circle"){const sZ=(0,cV.cylinder)({center:[TZ.x,TZ.y,0],radius:TZ.hole_diameter/2+pV});yR=(0,iV.subtract)(yR,sZ);const IW=oV(TZ);NU.push(IW)}else if(TZ.shape==="pill"){const sZ=TZ.hole_height>TZ.hole_width,IW=sZ?TZ.hole_height:TZ.hole_width,JW=sZ?TZ.hole_width:TZ.hole_height,NZ=JW/2,kR=Math.abs(IW-JW),JU=(0,iV.union)((0,cV.cuboid)({center:[TZ.x,TZ.y,0],size:sZ?[JW,kR,1.5]:[kR,JW,1.5]}),(0,cV.cylinder)({center:sZ?[TZ.x,TZ.y-kR/2,0]:[TZ.x-kR/2,TZ.y,0],radius:NZ,height:1.5}),(0,cV.cylinder)({center:sZ?[TZ.x,TZ.y+kR/2,0]:[TZ.x+kR/2,TZ.y,0],radius:NZ,height:1.5}));yR=(0,iV.subtract)(yR,JU);const pU=oV(TZ);NU.push(pU)}};for(const TZ of CU)OU(TZ);for(const TZ of DR)if(TZ.hole_shape==="round"||TZ.hole_shape==="circle"){const sZ=(0,cV.cylinder)({center:[TZ.x,TZ.y,0],radius:TZ.hole_diameter/2+pV});yR=(0,iV.subtract)(yR,sZ)}for(const TZ of QU){const sZ=TZ.layer==="bottom"?-1:1;if(TZ.shape==="rect"){const IW=(0,TV.colorize)(HV.copper,(0,cV.cuboid)({center:[TZ.x,TZ.y,sZ*1.2/2+sZ*pV],size:[TZ.width,TZ.height,pV]}));rU.push(IW)}else if(TZ.shape==="circle"){const IW=(0,TV.colorize)(HV.copper,(0,cV.cylinder)({center:[TZ.x,TZ.y,sZ*1.2/2+sZ*pV],radius:TZ.radius,height:pV}));rU.push(IW)}}for(const{route:TZ}of DU){if(TZ.length<2)continue;const sZ=[];let IW=[TZ[0]],JW=TZ[0].route_type==="wire"?TZ[0].layer:"top";for(let NZ=1;NZ<TZ.length;NZ++){const kR=TZ[NZ];kR.route_type==="via"?(sZ.push(IW),IW=[kR]):kR.route_type==="wire"&&kR.layer!==JW?(sZ.push(IW),JW=kR.layer,IW=[kR]):IW.push(kR)}sZ.push(IW);for(const NZ of sZ){if(NZ.length<2)continue;const kR=(0,cV.line)(NZ.map(PZ=>[PZ.x,PZ.y])),JU=NZ[0].route_type==="via"?NZ[0].to_layer==="top"?1:-1:NZ[0].layer==="top"?1:-1;let pU=(0,GV.translate)([0,0,JU*1.2/2],(0,DV.extrudeLinear)({height:pV*JU},(0,wV.expand)({delta:.1,corners:"edge"},kR)));const WZ=vl.map(PZ=>(0,cV.cylinder)({center:[PZ.x,PZ.y,0],radius:PZ.outer_diameter/2,height:5})),aZ=CU.filter(PZ=>PZ.shape==="circle").map(PZ=>(0,cV.cylinder)({center:[PZ.x,PZ.y,0],radius:PZ.outer_diameter/2,height:5}));pU=(0,iV.subtract)(pU,...WZ,...aZ),pU=(0,TV.colorize)(HV.fr4GreenSolderWithMask,pU),vU.push(pU)}}for(const TZ of vl)OU({x:TZ.x,y:TZ.y,hole_diameter:TZ.hole_diameter,outer_diameter:TZ.outer_diameter,shape:"circle",layers:["top","bottom"],type:"pcb_plated_hole",pcb_plated_hole_id:""});const WW=[];for(const TZ of _l){const{textOutlines:sZ,xOffset:IW,yOffset:JW}=$V(TZ);for(let NZ of sZ){const kR=NZ.map(cW=>[cW[0]+IW+TZ.anchor_position.x,cW[1]+JW+TZ.anchor_position.y]),JU=(0,cV.line)(kR),pU=TZ.font_size||.25,WZ=Math.min(Math.max(.01,pU*.1),pU*.2),aZ=(0,wV.expand)({delta:WZ,corners:"round"},JU);let PZ=(0,GV.translate)([0,0,.6],(0,DV.extrudeLinear)({height:.012},aZ));PZ=(0,TV.colorize)([256,256,256],PZ),WW.push(PZ)}}return yR=(0,TV.colorize)(HV.fr4Green,yR),[yR,...NU,...rU,...vU,...WW]},Wl=requireReact(),el=dV(requireStlSerializer());function pl(ZU){return new Promise((wR,CU)=>{const DR=new FileReader;DR.onload=()=>{wR(DR.result)},DR.onerror=CU,DR.readAsDataURL(ZU)})}var ml=ZU=>{const[wR,CU]=(0,Wl.useState)([]),[DR,QU]=(0,Wl.useState)(!0);return(0,Wl.useEffect)(()=>{if(!ZU)return;(async()=>{QU(!0);const _l=(Array.isArray(ZU)?ZU:[ZU]).map(async yR=>{const NU=el.default.serialize({binary:!0},[yR]),rU=new Blob(NU);return{stlUrl:await pl(rU),color:yR.color}});try{const yR=await Promise.all(_l);CU(yR)}catch(yR){console.error("Error generating STLs:",yR),CU([])}finally{QU(!1)}})()},[ZU]),{stls:wR,loading:DR}},Bl=require$$11$1,xl=requireReact(),jl=requireThreeStdlib(),Ll=requireJsxRuntime();function ol({stlUrl:ZU,mtlUrl:wR,color:CU,opacity:DR=1}){const QU=(0,Bl.useLoader)(jl.STLLoader,ZU),DU=(0,xl.useRef)();return(0,Ll.jsxs)("mesh",{ref:DU,children:[(0,Ll.jsx)("primitive",{object:QU,attach:"geometry"}),(0,Ll.jsx)("meshStandardMaterial",{color:CU,transparent:DR!==1,opacity:DR})]})}var Tl=require$$14,kl=require$$11$1,ul={name:"@tscircuit/3d-viewer",version:"0.0.75",main:"./dist/index.js",files:["dist"],scripts:{start:"bun run storybook","dev:old":"bunx --bun vite",build:"tsup ./src/index.tsx --dts --sourcemap",prepublish:"npm run build",preview:"vite preview",storybook:"storybook dev -p 6006","build-storybook":"storybook build","vercel-build":"bun run build-storybook",format:"biome format . --write","format:check":"biome format ."},dependencies:{"@jscad/modeling":"^2.12.2","@jscad/regl-renderer":"^2.6.9","@jscad/stl-serializer":"^2.1.17","@react-three/drei":"^9.115.0","@react-three/fiber":"^8.16.8","@tscircuit/core":"^0.0.247","@tscircuit/props":"^0.0.123","@tscircuit/react-fiber":"^1.1.29","@tscircuit/soup":"^0.0.69","@tscircuit/soup-util":"^0.0.26","@types/three":"^0.165.0","jscad-electronics":"^0.0.23","jscad-fiber":"^0.0.76","jscad-planner":"^0.0.11",react:"^18.3.1","react-dom":"^18.3.1","react-use-gesture":"^9.1.3",three:"^0.165.0","three-stdlib":"^2.30.3"},devDependencies:{"@biomejs/biome":"^1.8.3","@chromatic-com/storybook":"^1.5.0","@storybook/addon-essentials":"^8.1.10","@storybook/addon-interactions":"^8.1.10","@storybook/addon-links":"^8.1.10","@storybook/addon-onboarding":"^8.1.10","@storybook/blocks":"^8.1.10","@storybook/builder-vite":"^8.1.10","@storybook/react":"^8.1.10","@storybook/react-vite":"^8.1.10","@storybook/test":"^8.1.10","@types/react":"^18.3.3","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.1","circuit-json":"^0.0.116","circuit-to-svg":"^0.0.91",storybook:"^8.1.10","strip-ansi":"^7.1.0",tsup:"^8.1.0",typescript:"^5.5.3",vite:"^5.3.1","vite-tsconfig-paths":"^4.3.2"}},UR=require$$14,JR=require$$11$1,FR=requireReact(),QR=dV(requireThree()),hR=requireJsxRuntime();typeof window<"u"&&(window.TSCI_MAIN_CAMERA_ROTATION=new QR.Euler(0,0,0));function MR(ZU,wR){const CU=new QR.Quaternion().setFromEuler(new QR.Euler(ZU.x,ZU.y,ZU.z)),DR=new QR.Vector3(0,0,1);return DR.applyQuaternion(CU),DR.multiplyScalar(wR)}var mR=({})=>{const ZU=(0,FR.useRef)();return(0,FR.useRef)({lastRotation:new QR.Euler}),(0,JR.useFrame)((wR,CU)=>{if(!ZU.current)return;const DR=window.TSCI_MAIN_CAMERA_ROTATION,QU=MR(DR,2);wR.camera.position.copy(QU),wR.camera.lookAt(0,0,0)}),(0,hR.jsxs)("mesh",{ref:ZU,rotation:[Math.PI/2,0,0],children:[(0,hR.jsx)("boxGeometry",{args:[1,1,1]}),(0,hR.jsx)("meshStandardMaterial",{color:"white"}),(0,hR.jsx)(UR.Text,{position:[0,0,.51],fontSize:.25,color:"black",children:"Front"}),(0,hR.jsx)(UR.Text,{position:[0,0,-.51],fontSize:.25,color:"black",rotation:[0,Math.PI,0],children:"Back"}),(0,hR.jsx)(UR.Text,{position:[.51,0,0],fontSize:.25,color:"black",rotation:[0,Math.PI/2,0],children:"Right"}),(0,hR.jsx)(UR.Text,{position:[-.51,0,0],fontSize:.25,color:"black",rotation:[0,-Math.PI/2,0],children:"Left"}),(0,hR.jsx)(UR.Text,{position:[0,.51,0],fontSize:.25,color:"black",rotation:[-Math.PI/2,0,0],children:"Top"}),(0,hR.jsx)(UR.Text,{position:[0,-.51,0],fontSize:.25,color:"black",rotation:[Math.PI/2,0,0],children:"Bottom"}),(0,hR.jsx)("lineSegments",{args:[new QR.EdgesGeometry(new QR.BoxGeometry(1,1,1))],material:new QR.LineBasicMaterial({color:0,linewidth:2})})]})},aR=require$$14,cR=requireJsxRuntime(),rR=()=>((0,kl.useFrame)(({camera:ZU})=>{window.TSCI_MAIN_CAMERA_ROTATION=ZU.rotation}),(0,cR.jsx)(cR.Fragment,{})),bR=({children:ZU,hoveredComponent:wR})=>(0,cR.jsxs)("div",{style:{position:"relative",width:"100%",height:"100%"},children:[(0,cR.jsx)("div",{style:{position:"absolute",top:0,left:0,width:120,height:120},children:(0,cR.jsxs)(kl.Canvas,{camera:{up:[0,0,1],position:[1,1,1]},style:{zIndex:10},children:[(0,cR.jsx)("ambientLight",{intensity:Math.PI/2}),(0,cR.jsx)(mR,{})]})}),(0,cR.jsxs)(kl.Canvas,{scene:{up:[0,0,1]},camera:{up:[0,0,1],position:[5,5,5]},children:[(0,cR.jsx)(rR,{}),(0,cR.jsx)(Tl.OrbitControls,{autoRotate:!0,autoRotateSpeed:1}),(0,cR.jsx)("ambientLight",{intensity:Math.PI/2}),(0,cR.jsx)("pointLight",{position:[-10,-10,10],decay:0,intensity:Math.PI/4}),(0,cR.jsx)(Tl.Grid,{rotation:[Math.PI/2,0,0],infiniteGrid:!0,cellSize:1,sectionSize:10}),ZU,wR&&(0,cR.jsx)(aR.Html,{position:wR.mousePosition,style:{fontFamily:"sans-serif",transform:"translate3d(50%, 50%, 0)",backgroundColor:"white",padding:"5px",borderRadius:"3px",pointerEvents:"none",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none"},children:wR.name})]}),(0,cR.jsxs)("div",{style:{position:"absolute",right:24,bottom:24,fontFamily:"sans-serif",color:"white",WebkitTextStroke:"0.5px rgba(0, 0, 0, 0.5)",fontSize:11},children:["@",ul.version]})]}),UU=requireReact(),SU=dV(requireThree()),jU=requireJsxRuntime(),KR=ZU=>(0,jU.jsx)("group",{...ZU}),BR=({children:ZU,isHovered:wR,onHover:CU,position:DR})=>{const QU=(0,UU.useRef)(null),DU=(0,UU.useCallback)(_l=>{_l.stopPropagation();try{const yR=_l.point||(_l.intersections&&_l.intersections.length>0?_l.intersections[0].point:null)||(DR?new SU.Vector3(...DR):null);yR?(QU.current=yR,CU({mousePosition:[yR.x,yR.y,yR.z]})):CU({})}catch(yR){console.warn("Hover event error:",yR),CU({})}},[DR]),vl=(0,UU.useCallback)(_l=>{_l.stopPropagation(),QU.current=null,CU(null)},[CU]);return(0,jU.jsx)(KR,{onPointerEnter:DU,onPointerMove:DU,onPointerLeave:vl,children:ZU})},dU=BR,pR=requireReact(),VR=requireThreeStdlib();typeof window<"u"&&!window.TSCIRCUIT_OBJ_LOADER_CACHE&&(window.TSCIRCUIT_OBJ_LOADER_CACHE=new Map);function AR(ZU){const[wR,CU]=(0,pR.useState)(null);return(0,pR.useEffect)(()=>{if(!ZU)return;const DR=window.TSCIRCUIT_OBJ_LOADER_CACHE;let QU=!1;async function DU(){var _l;try{const NU=await(await fetch(ZU)).text(),rU=(_l=NU.match(/newmtl[\s\S]*?endmtl/g))==null?void 0:_l.join(`
22048
+ */const dist$4=Object.freeze(Object.defineProperty({__proto__:null,A0402,A0603,A0805,BGA,ChipBody,ExtrudedPads,FootprintPad,FootprintPlatedHole,Footprinter3d,PinRow,QFN,QFP,SOD123,SOT233P,SOT563,SOT723,SmdChipLead,Tssop},Symbol.toStringTag,{value:"Module"})),require$$19=getAugmentedNamespace(dist$4);var dist$3,hasRequiredDist$2;function requireDist$2(){if(hasRequiredDist$2)return dist$3;hasRequiredDist$2=1;var lV=Object.create,J=Object.defineProperty,VV=Object.getOwnPropertyDescriptor,RV=Object.getOwnPropertyNames,UV=Object.getPrototypeOf,ZV=Object.prototype.hasOwnProperty,WV=(ZU,wR)=>{for(var CU in wR)J(ZU,CU,{get:wR[CU],enumerable:!0})},IV=(ZU,wR,CU,DR)=>{if(wR&&typeof wR=="object"||typeof wR=="function")for(let QU of RV(wR))!ZV.call(ZU,QU)&&QU!==CU&&J(ZU,QU,{get:()=>wR[QU],enumerable:!(DR=VV(wR,QU))||DR.enumerable});return ZU},dV=(ZU,wR,CU)=>(CU=ZU!=null?lV(UV(ZU)):{},IV(!ZU||!ZU.__esModule?J(CU,"default",{value:ZU,enumerable:!0}):CU,ZU)),CV=ZU=>IV(J({},"__esModule",{value:!0}),ZU),FV={};WV(FV,{CadViewer:()=>VZ}),dist$3=CV(FV);var NV=require$$2,gV=requireReact(),eV=(ZU,wR)=>(0,gV.useMemo)(()=>{if(!ZU)return;const CU=new NV.Circuit;return CU.add(ZU),CU.render(),CU.getCircuitJson()},[ZU]),JV=requireDist$6(),nV=requireReact(),aV=requireDist$6(),GV=requireTransforms(),cV=requirePrimitives(),TV=requireColors(),iV=requireBooleans(),tV=requirePrimitives(),MV=requireColors(),AV=requireBooleans(),pV=.01,HV={copper:[.9,.6,.2],fr4Green:[5/255,163/255,46/255],fr4GreenSolderWithMask:[0/255,152/255,19/255]},oV=(ZU,wR)=>{if(ZU.shape||(ZU.shape="circle"),ZU.shape==="circle")return(0,MV.colorize)(HV.copper,(0,AV.subtract)((0,AV.union)((0,tV.cylinder)({center:[ZU.x,ZU.y,0],radius:ZU.hole_diameter/2,height:1.2}),(0,tV.cylinder)({center:[ZU.x,ZU.y,1.2/2],radius:ZU.outer_diameter/2,height:pV}),(0,tV.cylinder)({center:[ZU.x,ZU.y,-1.2/2],radius:ZU.outer_diameter/2,height:pV})),(0,tV.cylinder)({center:[ZU.x,ZU.y,0],radius:ZU.hole_diameter/2-pV,height:1.5})));if(ZU.shape==="pill"){const CU=ZU.hole_height>ZU.hole_width,DR=CU?ZU.hole_height:ZU.hole_width,QU=CU?ZU.hole_width:ZU.hole_height,DU=CU?ZU.outer_width||DR+.2:ZU.outer_height||QU+.2,vl=QU/2,_l=Math.abs(DR-QU),yR=(0,tV.cuboid)({center:CU?[ZU.x,ZU.y,0]:[ZU.x,ZU.y,0],size:CU?[QU,_l,1.2]:[_l,QU,1.2]}),NU=(0,tV.cylinder)({center:CU?[ZU.x,ZU.y-_l/2,0]:[ZU.x-_l/2,ZU.y,0],radius:vl,height:1.2}),rU=(0,tV.cylinder)({center:CU?[ZU.x,ZU.y+_l/2,0]:[ZU.x+_l/2,ZU.y,0],radius:vl,height:1.2}),vU=(0,tV.cuboid)({center:CU?[ZU.x,ZU.y,1.2/2]:[ZU.x,ZU.y,1.2/2],size:CU?[DU,_l,pV]:[_l,DU,pV]}),OU=(0,tV.cylinder)({center:CU?[ZU.x,ZU.y-_l/2,1.2/2]:[ZU.x-_l/2,ZU.y,1.2/2],radius:DU/2,height:pV}),WW=(0,tV.cylinder)({center:CU?[ZU.x,ZU.y+_l/2,1.2/2]:[ZU.x+_l/2,ZU.y,1.2/2],radius:DU/2,height:pV}),TZ=(0,tV.cuboid)({center:CU?[ZU.x,ZU.y,-1.2/2]:[ZU.x,ZU.y,-1.2/2],size:CU?[DU,_l,pV]:[_l,DU,pV]}),sZ=(0,tV.cylinder)({center:CU?[ZU.x,ZU.y-_l/2,-1.2/2]:[ZU.x-_l/2,ZU.y,-1.2/2],radius:DU/2,height:pV}),IW=(0,tV.cylinder)({center:CU?[ZU.x,ZU.y+_l/2,-1.2/2]:[ZU.x+_l/2,ZU.y,-1.2/2],radius:DU/2,height:pV});return(0,MV.colorize)(HV.copper,(0,AV.subtract)((0,AV.union)(yR,NU,rU,vU,OU,WW,TZ,sZ,IW),(0,AV.union)((0,tV.cuboid)({center:[ZU.x,ZU.y,0],size:CU?[QU-pV,_l,1.5]:[_l,QU-pV,1.5]}),(0,tV.cylinder)({center:CU?[ZU.x,ZU.y-_l/2,0]:[ZU.x-_l/2,ZU.y,0],radius:vl-pV,height:1.5}),(0,tV.cylinder)({center:CU?[ZU.x,ZU.y+_l/2,0]:[ZU.x+_l/2,ZU.y,0],radius:vl-pV,height:1.5}))))}else throw new Error(`Unsupported plated hole shape: ${ZU.shape}`)},DV=requireExtrusions(),wV=requireExpansions(),qV=requireExtrusions(),Cl=requirePrimitives(),nl=requireTransforms(),Il=ZU=>{let wR=0;for(let DR=0;DR<ZU.length;DR++){const QU=(DR+1)%ZU.length;wR+=ZU[DR][0]*ZU[QU][1],wR-=ZU[QU][0]*ZU[DR][1]}return wR/2<=0},LV=(ZU,wR=1.2)=>{let CU=ZU.map(DU=>[DU.x,DU.y]);Il(CU)&&(CU=CU.reverse());const DR=(0,Cl.polygon)({points:CU});let QU=(0,qV.extrudeLinear)({height:wR},DR);return QU=(0,nl.translate)([0,0,-wR/2],QU),QU},OV=requireText();function $V(ZU){var yR,NU,rU,vU;const wR=(0,OV.vectorText)({height:ZU.font_size,input:ZU.text});wR.forEach(OU=>{OU.length===29?(wR.splice(wR.indexOf(OU),1,OU.slice(0,15)),wR.splice(wR.indexOf(OU),0,OU.slice(14,29))):OU.length===17&&(wR.splice(wR.indexOf(OU),1,OU.slice(0,10)),wR.splice(wR.indexOf(OU),0,OU.slice(9,17)))});const CU=wR.flatMap(OU=>OU),DR={minX:Math.min(...CU.map(OU=>OU[0])),maxX:Math.max(...CU.map(OU=>OU[0])),minY:Math.min(...CU.map(OU=>OU[1])),maxY:Math.max(...CU.map(OU=>OU[1]))},QU=(DR.minX+DR.maxX)/2,DU=(DR.minY+DR.maxY)/2;let vl=-QU,_l=-DU;return(yR=ZU.anchor_alignment)!=null&&yR.includes("right")?vl=-DR.maxX:(NU=ZU.anchor_alignment)!=null&&NU.includes("left")&&(vl=-DR.minX),(rU=ZU.anchor_alignment)!=null&&rU.includes("top")?_l=-DR.maxY:(vU=ZU.anchor_alignment)!=null&&vU.includes("bottom")&&(_l=-DR.minY),{textOutlines:wR,xOffset:vl,yOffset:_l}}var dl=ZU=>{const wR=(0,aV.su)(ZU).pcb_board.list()[0];if(!wR)throw new Error("No pcb_board found");const CU=(0,aV.su)(ZU).pcb_plated_hole.list(),DR=(0,aV.su)(ZU).pcb_hole.list(),QU=(0,aV.su)(ZU).pcb_smtpad.list(),DU=(0,aV.su)(ZU).pcb_trace.list(),vl=(0,aV.su)(ZU).pcb_via.list(),_l=(0,aV.su)(ZU).pcb_silkscreen_text.list();let yR;wR.outline&&wR.outline.length>0?yR=LV(wR.outline,1.2):yR=(0,cV.cuboid)({size:[wR.width,wR.height,1.2]});const NU=[],rU=[],vU=[],OU=TZ=>{if(TZ.shape==="circle"){const sZ=(0,cV.cylinder)({center:[TZ.x,TZ.y,0],radius:TZ.hole_diameter/2+pV});yR=(0,iV.subtract)(yR,sZ);const IW=oV(TZ);NU.push(IW)}else if(TZ.shape==="pill"){const sZ=TZ.hole_height>TZ.hole_width,IW=sZ?TZ.hole_height:TZ.hole_width,JW=sZ?TZ.hole_width:TZ.hole_height,NZ=JW/2,kR=Math.abs(IW-JW),JU=(0,iV.union)((0,cV.cuboid)({center:[TZ.x,TZ.y,0],size:sZ?[JW,kR,1.5]:[kR,JW,1.5]}),(0,cV.cylinder)({center:sZ?[TZ.x,TZ.y-kR/2,0]:[TZ.x-kR/2,TZ.y,0],radius:NZ,height:1.5}),(0,cV.cylinder)({center:sZ?[TZ.x,TZ.y+kR/2,0]:[TZ.x+kR/2,TZ.y,0],radius:NZ,height:1.5}));yR=(0,iV.subtract)(yR,JU);const pU=oV(TZ);NU.push(pU)}};for(const TZ of CU)OU(TZ);for(const TZ of DR)if(TZ.hole_shape==="round"||TZ.hole_shape==="circle"){const sZ=(0,cV.cylinder)({center:[TZ.x,TZ.y,0],radius:TZ.hole_diameter/2+pV});yR=(0,iV.subtract)(yR,sZ)}for(const TZ of QU){const sZ=TZ.layer==="bottom"?-1:1;if(TZ.shape==="rect"){const IW=(0,TV.colorize)(HV.copper,(0,cV.cuboid)({center:[TZ.x,TZ.y,sZ*1.2/2+sZ*pV],size:[TZ.width,TZ.height,pV]}));rU.push(IW)}else if(TZ.shape==="circle"){const IW=(0,TV.colorize)(HV.copper,(0,cV.cylinder)({center:[TZ.x,TZ.y,sZ*1.2/2+sZ*pV],radius:TZ.radius,height:pV}));rU.push(IW)}}for(const{route:TZ}of DU){if(TZ.length<2)continue;const sZ=[];let IW=[TZ[0]],JW=TZ[0].route_type==="wire"?TZ[0].layer:"top";for(let NZ=1;NZ<TZ.length;NZ++){const kR=TZ[NZ];kR.route_type==="via"?(sZ.push(IW),IW=[kR]):kR.route_type==="wire"&&kR.layer!==JW?(sZ.push(IW),JW=kR.layer,IW=[kR]):IW.push(kR)}sZ.push(IW);for(const NZ of sZ){if(NZ.length<2)continue;const kR=(0,cV.line)(NZ.map(PZ=>[PZ.x,PZ.y])),JU=NZ[0].route_type==="via"?NZ[0].to_layer==="top"?1:-1:NZ[0].layer==="top"?1:-1;let pU=(0,GV.translate)([0,0,JU*1.2/2],(0,DV.extrudeLinear)({height:pV*JU},(0,wV.expand)({delta:.1,corners:"edge"},kR)));const WZ=vl.map(PZ=>(0,cV.cylinder)({center:[PZ.x,PZ.y,0],radius:PZ.outer_diameter/2,height:5})),aZ=CU.filter(PZ=>PZ.shape==="circle").map(PZ=>(0,cV.cylinder)({center:[PZ.x,PZ.y,0],radius:PZ.outer_diameter/2,height:5}));pU=(0,iV.subtract)(pU,...WZ,...aZ),pU=(0,TV.colorize)(HV.fr4GreenSolderWithMask,pU),vU.push(pU)}}for(const TZ of vl)OU({x:TZ.x,y:TZ.y,hole_diameter:TZ.hole_diameter,outer_diameter:TZ.outer_diameter,shape:"circle",layers:["top","bottom"],type:"pcb_plated_hole",pcb_plated_hole_id:""});const WW=[];for(const TZ of _l){const{textOutlines:sZ,xOffset:IW,yOffset:JW}=$V(TZ);for(let NZ of sZ){const kR=NZ.map(cW=>[cW[0]+IW+TZ.anchor_position.x,cW[1]+JW+TZ.anchor_position.y]),JU=(0,cV.line)(kR),pU=TZ.font_size||.25,WZ=Math.min(Math.max(.01,pU*.1),pU*.2),aZ=(0,wV.expand)({delta:WZ,corners:"round"},JU);let PZ=(0,GV.translate)([0,0,.6],(0,DV.extrudeLinear)({height:.012},aZ));PZ=(0,TV.colorize)([256,256,256],PZ),WW.push(PZ)}}return yR=(0,TV.colorize)(HV.fr4Green,yR),[yR,...NU,...rU,...vU,...WW]},Wl=requireReact(),el=dV(requireStlSerializer());function pl(ZU){return new Promise((wR,CU)=>{const DR=new FileReader;DR.onload=()=>{wR(DR.result)},DR.onerror=CU,DR.readAsDataURL(ZU)})}var ml=ZU=>{const[wR,CU]=(0,Wl.useState)([]),[DR,QU]=(0,Wl.useState)(!0);return(0,Wl.useEffect)(()=>{if(!ZU)return;(async()=>{QU(!0);const _l=(Array.isArray(ZU)?ZU:[ZU]).map(async yR=>{const NU=el.default.serialize({binary:!0},[yR]),rU=new Blob(NU);return{stlUrl:await pl(rU),color:yR.color}});try{const yR=await Promise.all(_l);CU(yR)}catch(yR){console.error("Error generating STLs:",yR),CU([])}finally{QU(!1)}})()},[ZU]),{stls:wR,loading:DR}},Bl=require$$11$1,xl=requireReact(),jl=requireThreeStdlib(),Ll=requireJsxRuntime();function ol({stlUrl:ZU,mtlUrl:wR,color:CU,opacity:DR=1}){const QU=(0,Bl.useLoader)(jl.STLLoader,ZU),DU=(0,xl.useRef)();return(0,Ll.jsxs)("mesh",{ref:DU,children:[(0,Ll.jsx)("primitive",{object:QU,attach:"geometry"}),(0,Ll.jsx)("meshStandardMaterial",{color:CU,transparent:DR!==1,opacity:DR})]})}var Tl=require$$14,kl=require$$11$1,ul={name:"@tscircuit/3d-viewer",version:"0.0.76",main:"./dist/index.js",files:["dist"],scripts:{start:"bun run storybook","dev:old":"bunx --bun vite",build:"tsup ./src/index.tsx --dts --sourcemap",prepublish:"npm run build",preview:"vite preview",storybook:"storybook dev -p 6006","build-storybook":"storybook build","vercel-build":"bun run build-storybook",format:"biome format . --write","format:check":"biome format ."},dependencies:{"@jscad/modeling":"^2.12.2","@jscad/regl-renderer":"^2.6.9","@jscad/stl-serializer":"^2.1.17","@react-three/drei":"^9.115.0","@react-three/fiber":"^8.16.8","@tscircuit/core":"^0.0.247","@tscircuit/props":"^0.0.124","@tscircuit/react-fiber":"^1.1.29","@tscircuit/soup":"^0.0.69","@tscircuit/soup-util":"^0.0.26","@types/three":"^0.165.0","jscad-electronics":"^0.0.23","jscad-fiber":"^0.0.76","jscad-planner":"^0.0.11",react:"^18.3.1","react-dom":"^18.3.1","react-use-gesture":"^9.1.3",three:"^0.165.0","three-stdlib":"^2.30.3"},devDependencies:{"@biomejs/biome":"^1.8.3","@chromatic-com/storybook":"^1.5.0","@storybook/addon-essentials":"^8.1.10","@storybook/addon-interactions":"^8.1.10","@storybook/addon-links":"^8.1.10","@storybook/addon-onboarding":"^8.1.10","@storybook/blocks":"^8.1.10","@storybook/builder-vite":"^8.1.10","@storybook/react":"^8.1.10","@storybook/react-vite":"^8.1.10","@storybook/test":"^8.1.10","@types/react":"^18.3.3","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.1","circuit-json":"^0.0.116","circuit-to-svg":"^0.0.91",storybook:"^8.1.10","strip-ansi":"^7.1.0",tsup:"^8.1.0",typescript:"^5.5.3",vite:"^5.3.1","vite-tsconfig-paths":"^4.3.2"}},UR=require$$14,JR=require$$11$1,FR=requireReact(),QR=dV(requireThree()),hR=requireJsxRuntime();typeof window<"u"&&(window.TSCI_MAIN_CAMERA_ROTATION=new QR.Euler(0,0,0));function MR(ZU,wR){const CU=new QR.Quaternion().setFromEuler(new QR.Euler(ZU.x,ZU.y,ZU.z)),DR=new QR.Vector3(0,0,1);return DR.applyQuaternion(CU),DR.multiplyScalar(wR)}var mR=({})=>{const ZU=(0,FR.useRef)();return(0,FR.useRef)({lastRotation:new QR.Euler}),(0,JR.useFrame)((wR,CU)=>{if(!ZU.current)return;const DR=window.TSCI_MAIN_CAMERA_ROTATION,QU=MR(DR,2);wR.camera.position.copy(QU),wR.camera.lookAt(0,0,0)}),(0,hR.jsxs)("mesh",{ref:ZU,rotation:[Math.PI/2,0,0],children:[(0,hR.jsx)("boxGeometry",{args:[1,1,1]}),(0,hR.jsx)("meshStandardMaterial",{color:"white"}),(0,hR.jsx)(UR.Text,{position:[0,0,.51],fontSize:.25,color:"black",children:"Front"}),(0,hR.jsx)(UR.Text,{position:[0,0,-.51],fontSize:.25,color:"black",rotation:[0,Math.PI,0],children:"Back"}),(0,hR.jsx)(UR.Text,{position:[.51,0,0],fontSize:.25,color:"black",rotation:[0,Math.PI/2,0],children:"Right"}),(0,hR.jsx)(UR.Text,{position:[-.51,0,0],fontSize:.25,color:"black",rotation:[0,-Math.PI/2,0],children:"Left"}),(0,hR.jsx)(UR.Text,{position:[0,.51,0],fontSize:.25,color:"black",rotation:[-Math.PI/2,0,0],children:"Top"}),(0,hR.jsx)(UR.Text,{position:[0,-.51,0],fontSize:.25,color:"black",rotation:[Math.PI/2,0,0],children:"Bottom"}),(0,hR.jsx)("lineSegments",{args:[new QR.EdgesGeometry(new QR.BoxGeometry(1,1,1))],material:new QR.LineBasicMaterial({color:0,linewidth:2})})]})},aR=require$$14,cR=requireJsxRuntime(),rR=()=>((0,kl.useFrame)(({camera:ZU})=>{window.TSCI_MAIN_CAMERA_ROTATION=ZU.rotation}),(0,cR.jsx)(cR.Fragment,{})),bR=({children:ZU,hoveredComponent:wR})=>(0,cR.jsxs)("div",{style:{position:"relative",width:"100%",height:"100%"},children:[(0,cR.jsx)("div",{style:{position:"absolute",top:0,left:0,width:120,height:120},children:(0,cR.jsxs)(kl.Canvas,{camera:{up:[0,0,1],position:[1,1,1]},style:{zIndex:10},children:[(0,cR.jsx)("ambientLight",{intensity:Math.PI/2}),(0,cR.jsx)(mR,{})]})}),(0,cR.jsxs)(kl.Canvas,{scene:{up:[0,0,1]},camera:{up:[0,0,1],position:[5,5,5]},children:[(0,cR.jsx)(rR,{}),(0,cR.jsx)(Tl.OrbitControls,{autoRotate:!0,autoRotateSpeed:1}),(0,cR.jsx)("ambientLight",{intensity:Math.PI/2}),(0,cR.jsx)("pointLight",{position:[-10,-10,10],decay:0,intensity:Math.PI/4}),(0,cR.jsx)(Tl.Grid,{rotation:[Math.PI/2,0,0],infiniteGrid:!0,cellSize:1,sectionSize:10}),ZU,wR&&(0,cR.jsx)(aR.Html,{position:wR.mousePosition,style:{fontFamily:"sans-serif",transform:"translate3d(50%, 50%, 0)",backgroundColor:"white",padding:"5px",borderRadius:"3px",pointerEvents:"none",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none"},children:wR.name})]}),(0,cR.jsxs)("div",{style:{position:"absolute",right:24,bottom:24,fontFamily:"sans-serif",color:"white",WebkitTextStroke:"0.5px rgba(0, 0, 0, 0.5)",fontSize:11},children:["@",ul.version]})]}),UU=requireReact(),SU=dV(requireThree()),jU=requireJsxRuntime(),KR=ZU=>(0,jU.jsx)("group",{...ZU}),BR=({children:ZU,isHovered:wR,onHover:CU,position:DR})=>{const QU=(0,UU.useRef)(null),DU=(0,UU.useCallback)(_l=>{_l.stopPropagation();try{const yR=_l.point||(_l.intersections&&_l.intersections.length>0?_l.intersections[0].point:null)||(DR?new SU.Vector3(...DR):null);yR?(QU.current=yR,CU({mousePosition:[yR.x,yR.y,yR.z]})):CU({})}catch(yR){console.warn("Hover event error:",yR),CU({})}},[DR]),vl=(0,UU.useCallback)(_l=>{_l.stopPropagation(),QU.current=null,CU(null)},[CU]);return(0,jU.jsx)(KR,{onPointerEnter:DU,onPointerMove:DU,onPointerLeave:vl,children:ZU})},dU=BR,pR=requireReact(),VR=requireThreeStdlib();typeof window<"u"&&!window.TSCIRCUIT_OBJ_LOADER_CACHE&&(window.TSCIRCUIT_OBJ_LOADER_CACHE=new Map);function AR(ZU){const[wR,CU]=(0,pR.useState)(null);return(0,pR.useEffect)(()=>{if(!ZU)return;const DR=window.TSCIRCUIT_OBJ_LOADER_CACHE;let QU=!1;async function DU(){var _l;try{const NU=await(await fetch(ZU)).text(),rU=(_l=NU.match(/newmtl[\s\S]*?endmtl/g))==null?void 0:_l.join(`
22049
22049
  `).replace(/d 0\./g,"d 1."),vU=NU.replace(/newmtl[\s\S]*?endmtl/g,""),OU=new VR.MTLLoader;OU.setMaterialOptions({invertTrProperty:!0});const WW=OU.parse(rU.replace(/Kd\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)/g,"Kd $2 $2 $2"),"test.mtl"),TZ=new VR.OBJLoader;return TZ.setMaterials(WW),TZ.parse(vU)}catch(yR){return yR}}function vl(){if(DR.has(ZU)){const yR=DR.get(ZU);return yR.result?Promise.resolve(yR.result.clone()):yR.promise.then(NU=>NU.clone())}const _l=DU().then(yR=>(yR instanceof Error||DR.set(ZU,{...DR.get(ZU),result:yR}),yR));return DR.set(ZU,{promise:_l,result:null}),_l}return vl().then(_l=>{QU||CU(_l)}).catch(_l=>{console.error(_l)}),()=>{QU=!0}},[ZU]),wR}var YR=requireJsxRuntime();function iR({url:ZU,position:wR,rotation:CU,onHover:DR,isHovered:QU}){const DU=AR(ZU);return DU?DU instanceof Error?(0,YR.jsx)(dU,{isHovered:QU,onHover:DR,children:(0,YR.jsxs)("mesh",{position:wR,children:[(0,YR.jsx)("boxGeometry",{args:[.5,.5,.5]}),(0,YR.jsx)("meshStandardMaterial",{transparent:!0,color:"red",opacity:.5}),(0,YR.jsx)("meshBasicMaterial",{color:"red"})]})}):(0,YR.jsx)(dU,{isHovered:QU,onHover:DR,children:(0,YR.jsx)("primitive",{rotation:CU,position:wR,object:DU})}):(0,YR.jsx)(dU,{isHovered:QU,onHover:DR,children:(0,YR.jsxs)("mesh",{position:wR,children:[(0,YR.jsx)("boxGeometry",{args:[.5,.5,.5]}),(0,YR.jsx)("meshStandardMaterial",{transparent:!0,color:"red",opacity:.25})]})})}var $R=requireDist$5(),RU=dV(requireSrc$1()),cU=requireDist$4(),GR=dV(requireThree()),WU=requireReact(),FU=requireJsxRuntime(),PU=({jscadPlan:ZU,positionOffset:wR,rotationOffset:CU,onHover:DR,isHovered:QU})=>{const{threeGeom:DU,material:vl}=(0,WU.useMemo)(()=>{const _l=(0,$R.executeJscadOperations)(RU.default,ZU),yR=(0,cU.convertCSGToThreeGeom)(_l),NU=new GR.MeshStandardMaterial({vertexColors:!0,side:GR.DoubleSide});return{threeGeom:yR,material:NU}},[ZU]);return(0,WU.useMemo)(()=>{if(QU){const _l=new GR.Color(vl.color.getHex());vl.emissive.copy(_l),vl.emissive.setRGB(0,0,1),vl.emissiveIntensity=.2}else vl.emissiveIntensity=0},[QU,vl]),DU?(0,FU.jsx)(dU,{isHovered:QU,onHover:DR,position:wR,children:(0,FU.jsx)("mesh",{geometry:DU,material:vl,position:wR,rotation:CU})}):null},hZ=require$$19,HZ=requireDist$4(),jZ=requireDist$5(),uZ=requireReact(),SW=requireJsxRuntime(),{createJSCADRoot:fU}=(0,HZ.createJSCADRenderer)(jZ.jscadPlanner),eW=({positionOffset:ZU,footprint:wR,rotationOffset:CU,onHover:DR,isHovered:QU})=>{const DU=(0,uZ.useMemo)(()=>{if(!wR)return null;const vl=[];return fU(vl).render((0,SW.jsx)(hZ.Footprinter3d,{footprint:wR})),vl},[wR]);return DU?(0,SW.jsx)(SW.Fragment,{children:DU.map((vl,_l)=>(0,SW.jsx)(PU,{positionOffset:ZU,rotationOffset:CU,jscadPlan:vl,onHover:DR,isHovered:QU},_l))}):null},gW=(...ZU)=>ZU,GW=requireJsxRuntime(),DW=({cad_component:ZU,onHover:wR=()=>{},isHovered:CU=!1})=>{const DR=ZU.model_obj_url??ZU.model_stl_url,QU=ZU.rotation?gW(ZU.rotation.x*Math.PI/180,ZU.rotation.y*Math.PI/180,ZU.rotation.z*Math.PI/180):void 0;if(DR)return(0,GW.jsx)(iR,{url:DR,position:ZU.position?[ZU.position.x,ZU.position.y,ZU.position.z]:void 0,rotation:QU,onHover:wR,isHovered:CU},ZU.cad_component_id);if(ZU.model_jscad)return(0,GW.jsx)(PU,{jscadPlan:ZU.model_jscad,rotationOffset:QU,onHover:wR,isHovered:CU},ZU.cad_component_id);if(ZU.footprinter_string)return(0,GW.jsx)(eW,{positionOffset:ZU.position?[ZU.position.x,ZU.position.y,ZU.position.z]:void 0,rotationOffset:QU,footprint:ZU.footprinter_string,onHover:wR,isHovered:CU})},zW=dV(requireReact()),CZ=class extends zW.default.Component{constructor(ZU){super(ZU),this.state={hasError:!1,error:null}}static getDerivedStateFromError(ZU){return{hasError:!0,error:ZU}}render(){return this.state.hasError&&this.state.error?this.props.fallback({error:this.state.error}):this.props.children}},dW=require$$14,NW=requireJsxRuntime(),EW=({error:ZU,cad_component:wR})=>{let CU=[0,0,0];return wR!=null&&wR.position&&(CU=[wR.position.x,wR.position.y,wR.position.z],CU=CU.map(DR=>Number.isNaN(DR)?0:DR)),(0,NW.jsxs)("group",{position:CU,children:[(0,NW.jsxs)("mesh",{renderOrder:-99999,rotation:[Math.PI/4,Math.PI/4,0],ref:DR=>{DR&&(DR.renderOrder=999999)},children:[(0,NW.jsx)("boxGeometry",{args:[.5,.5,.5]}),(0,NW.jsx)("meshStandardMaterial",{depthTest:!1,transparent:!0,color:"red",opacity:.5})]}),(0,NW.jsxs)(dW.Text,{scale:[.1,.1,.1],color:"red",anchorX:"center",anchorY:"middle",depthOffset:-99999,children:[ZU.toString().slice(0,50),"..."]})]})},QW=requireJsxRuntime(),VZ=({soup:ZU,children:wR})=>{const[CU,DR]=(0,nV.useState)(null);if(ZU??(ZU=eV(wR)),!ZU)return null;const QU=(0,nV.useMemo)(()=>ZU.some(yR=>yR.type==="pcb_board")?dl(ZU):null,[ZU]),{stls:DU,loading:vl}=ml(QU),_l=(0,JV.su)(ZU).cad_component.list();return(0,QW.jsxs)(bR,{hoveredComponent:CU,children:[DU.map(({stlUrl:yR,color:NU},rU)=>(0,QW.jsx)(ol,{stlUrl:yR,color:NU,opacity:rU===0?.95:1},yR)),_l.map(yR=>(0,QW.jsx)(CZ,{fallback:({error:NU})=>(0,QW.jsx)(EW,{cad_component:yR,error:NU}),children:(0,QW.jsx)(DW,{onHover:NU=>{var vU;if(NU||DR(null),!NU.mousePosition)return;const rU=(vU=(0,JV.su)(ZU).source_component.getUsing({source_component_id:yR.source_component_id}))==null?void 0:vU.name;DR({cad_component_id:yR.cad_component_id,name:rU??"<unknown>",mousePosition:NU.mousePosition})},cad_component:yR,isHovered:(CU==null?void 0:CU.cad_component_id)===yR.cad_component_id},yR.cad_component_id)},yR.cad_component_id))]})};return dist$3}var distExports$2=requireDist$2();const __viteBrowserExternal={},__viteBrowserExternal$1=Object.freeze(Object.defineProperty({__proto__:null,default:__viteBrowserExternal},Symbol.toStringTag,{value:"Module"})),require$$3=getAugmentedNamespace(__viteBrowserExternal$1),{useDebugValue}=React,{useSyncExternalStoreWithSelector}=useSyncExternalStoreExports;let didWarnAboutEqualityFn=!1;const identity=lV=>lV;function useStore(lV,J=identity,VV){process.env.NODE_ENV!=="production"&&VV&&!didWarnAboutEqualityFn&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),didWarnAboutEqualityFn=!0);const RV=useSyncExternalStoreWithSelector(lV.subscribe,lV.getState,lV.getServerState||lV.getInitialState,J,VV);return useDebugValue(RV),RV}const createImpl=lV=>{process.env.NODE_ENV!=="production"&&typeof lV!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const J=typeof lV=="function"?createStore(lV):lV,VV=(RV,UV)=>useStore(J,RV,UV);return Object.assign(VV,J),VV},create=lV=>lV?createImpl(lV):createImpl;var react=lV=>(process.env.NODE_ENV!=="production"&&console.warn("[DEPRECATED] Default export is deprecated. Instead use `import { create } from 'zustand'`."),create(lV));const esm=Object.freeze(Object.defineProperty({__proto__:null,create,createStore,default:react,useStore},Symbol.toStringTag,{value:"Module"})),require$$4=getAugmentedNamespace(esm);var reactToastify={},clsx={exports:{}},hasRequiredClsx;function requireClsx(){if(hasRequiredClsx)return clsx.exports;hasRequiredClsx=1;function lV(VV){var RV,UV,ZV="";if(typeof VV=="string"||typeof VV=="number")ZV+=VV;else if(typeof VV=="object")if(Array.isArray(VV)){var WV=VV.length;for(RV=0;RV<WV;RV++)VV[RV]&&(UV=lV(VV[RV]))&&(ZV&&(ZV+=" "),ZV+=UV)}else for(UV in VV)VV[UV]&&(ZV&&(ZV+=" "),ZV+=UV);return ZV}function J(){for(var VV,RV,UV=0,ZV="",WV=arguments.length;UV<WV;UV++)(VV=arguments[UV])&&(RV=lV(VV))&&(ZV&&(ZV+=" "),ZV+=RV);return ZV}return clsx.exports=J,clsx.exports.clsx=J,clsx.exports}var hasRequiredReactToastify;function requireReactToastify(){if(hasRequiredReactToastify)return reactToastify;hasRequiredReactToastify=1;var lV=requireReact(),J=requireClsx();function VV(Bl){return Bl&&typeof Bl=="object"&&"default"in Bl?Bl:{default:Bl}}var RV=VV(lV),UV=VV(J);const ZV=Bl=>typeof Bl=="number"&&!isNaN(Bl),WV=Bl=>typeof Bl=="string",IV=Bl=>typeof Bl=="function",dV=Bl=>WV(Bl)||IV(Bl)?Bl:null,CV=Bl=>lV.isValidElement(Bl)||WV(Bl)||IV(Bl)||ZV(Bl);function FV(Bl,xl,jl){jl===void 0&&(jl=300);const{scrollHeight:Ll,style:ol}=Bl;requestAnimationFrame(()=>{ol.minHeight="initial",ol.height=Ll+"px",ol.transition=`all ${jl}ms`,requestAnimationFrame(()=>{ol.height="0",ol.padding="0",ol.margin="0",setTimeout(xl,jl)})})}function NV(Bl){let{enter:xl,exit:jl,appendPosition:Ll=!1,collapse:ol=!0,collapseDuration:Tl=300}=Bl;return function(kl){let{children:ul,position:UR,preventExitTransition:JR,done:FR,nodeRef:QR,isIn:hR,playToast:MR}=kl;const mR=Ll?`${xl}--${UR}`:xl,aR=Ll?`${jl}--${UR}`:jl,cR=lV.useRef(0);return lV.useLayoutEffect(()=>{const rR=QR.current,bR=mR.split(" "),UU=SU=>{SU.target===QR.current&&(MR(),rR.removeEventListener("animationend",UU),rR.removeEventListener("animationcancel",UU),cR.current===0&&SU.type!=="animationcancel"&&rR.classList.remove(...bR))};rR.classList.add(...bR),rR.addEventListener("animationend",UU),rR.addEventListener("animationcancel",UU)},[]),lV.useEffect(()=>{const rR=QR.current,bR=()=>{rR.removeEventListener("animationend",bR),ol?FV(rR,FR,Tl):FR()};hR||(JR?bR():(cR.current=1,rR.className+=` ${aR}`,rR.addEventListener("animationend",bR)))},[hR]),RV.default.createElement(RV.default.Fragment,null,ul)}}function gV(Bl,xl){return Bl!=null?{content:Bl.content,containerId:Bl.props.containerId,id:Bl.props.toastId,theme:Bl.props.theme,type:Bl.props.type,data:Bl.props.data||{},isLoading:Bl.props.isLoading,icon:Bl.props.icon,status:xl}:{}}const eV=new Map;let JV=[];const nV=new Set,aV=Bl=>nV.forEach(xl=>xl(Bl)),GV=()=>eV.size>0;function cV(Bl,xl){var jl;if(xl)return!((jl=eV.get(xl))==null||!jl.isToastActive(Bl));let Ll=!1;return eV.forEach(ol=>{ol.isToastActive(Bl)&&(Ll=!0)}),Ll}function TV(Bl,xl){CV(Bl)&&(GV()||JV.push({content:Bl,options:xl}),eV.forEach(jl=>{jl.buildToast(Bl,xl)}))}function iV(Bl,xl){eV.forEach(jl=>{xl!=null&&xl!=null&&xl.containerId?(xl==null?void 0:xl.containerId)===jl.id&&jl.toggle(Bl,xl==null?void 0:xl.id):jl.toggle(Bl,xl==null?void 0:xl.id)})}function tV(Bl){const{subscribe:xl,getSnapshot:jl,setProps:Ll}=lV.useRef(function(Tl){const kl=Tl.containerId||1;return{subscribe(ul){const UR=function(FR,QR,hR){let MR=1,mR=0,aR=[],cR=[],rR=[],bR=QR;const UU=new Map,SU=new Set,jU=()=>{rR=Array.from(UU.values()),SU.forEach(dU=>dU())},KR=dU=>{cR=dU==null?[]:cR.filter(pR=>pR!==dU),jU()},BR=dU=>{const{toastId:pR,onOpen:VR,updateId:AR,children:YR}=dU.props,iR=AR==null;dU.staleId&&UU.delete(dU.staleId),UU.set(pR,dU),cR=[...cR,dU.props.toastId].filter($R=>$R!==dU.staleId),jU(),hR(gV(dU,iR?"added":"updated")),iR&&IV(VR)&&VR(lV.isValidElement(YR)&&YR.props)};return{id:FR,props:bR,observe:dU=>(SU.add(dU),()=>SU.delete(dU)),toggle:(dU,pR)=>{UU.forEach(VR=>{pR!=null&&pR!==VR.props.toastId||IV(VR.toggle)&&VR.toggle(dU)})},removeToast:KR,toasts:UU,clearQueue:()=>{mR-=aR.length,aR=[]},buildToast:(dU,pR)=>{if((HZ=>{let{containerId:jZ,toastId:uZ,updateId:SW}=HZ;const fU=jZ?jZ!==FR:FR!==1,eW=UU.has(uZ)&&SW==null;return fU||eW})(pR))return;const{toastId:VR,updateId:AR,data:YR,staleId:iR,delay:$R}=pR,RU=()=>{KR(VR)},cU=AR==null;cU&&mR++;const GR={...bR,style:bR.toastStyle,key:MR++,...Object.fromEntries(Object.entries(pR).filter(HZ=>{let[jZ,uZ]=HZ;return uZ!=null})),toastId:VR,updateId:AR,data:YR,closeToast:RU,isIn:!1,className:dV(pR.className||bR.toastClassName),bodyClassName:dV(pR.bodyClassName||bR.bodyClassName),progressClassName:dV(pR.progressClassName||bR.progressClassName),autoClose:!pR.isLoading&&(WU=pR.autoClose,FU=bR.autoClose,WU===!1||ZV(WU)&&WU>0?WU:FU),deleteToast(){const HZ=UU.get(VR),{onClose:jZ,children:uZ}=HZ.props;IV(jZ)&&jZ(lV.isValidElement(uZ)&&uZ.props),hR(gV(HZ,"removed")),UU.delete(VR),mR--,mR<0&&(mR=0),aR.length>0?BR(aR.shift()):jU()}};var WU,FU;GR.closeButton=bR.closeButton,pR.closeButton===!1||CV(pR.closeButton)?GR.closeButton=pR.closeButton:pR.closeButton===!0&&(GR.closeButton=!CV(bR.closeButton)||bR.closeButton);let PU=dU;lV.isValidElement(dU)&&!WV(dU.type)?PU=lV.cloneElement(dU,{closeToast:RU,toastProps:GR,data:YR}):IV(dU)&&(PU=dU({closeToast:RU,toastProps:GR,data:YR}));const hZ={content:PU,props:GR,staleId:iR};bR.limit&&bR.limit>0&&mR>bR.limit&&cU?aR.push(hZ):ZV($R)?setTimeout(()=>{BR(hZ)},$R):BR(hZ)},setProps(dU){bR=dU},setToggle:(dU,pR)=>{UU.get(dU).toggle=pR},isToastActive:dU=>cR.some(pR=>pR===dU),getSnapshot:()=>rR}}(kl,Tl,aV);eV.set(kl,UR);const JR=UR.observe(ul);return JV.forEach(FR=>TV(FR.content,FR.options)),JV=[],()=>{JR(),eV.delete(kl)}},setProps(ul){var UR;(UR=eV.get(kl))==null||UR.setProps(ul)},getSnapshot(){var ul;return(ul=eV.get(kl))==null?void 0:ul.getSnapshot()}}}(Bl)).current;Ll(Bl);const ol=lV.useSyncExternalStore(xl,jl,jl);return{getToastToRender:function(Tl){if(!ol)return[];const kl=new Map;return Bl.newestOnTop&&ol.reverse(),ol.forEach(ul=>{const{position:UR}=ul.props;kl.has(UR)||kl.set(UR,[]),kl.get(UR).push(ul)}),Array.from(kl,ul=>Tl(ul[0],ul[1]))},isToastActive:cV,count:ol==null?void 0:ol.length}}function MV(Bl){const[xl,jl]=lV.useState(!1),[Ll,ol]=lV.useState(!1),Tl=lV.useRef(null),kl=lV.useRef({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:ul,pauseOnHover:UR,closeToast:JR,onClick:FR,closeOnClick:QR}=Bl;var hR,MR;function mR(){jl(!0)}function aR(){jl(!1)}function cR(UU){const SU=Tl.current;kl.canDrag&&SU&&(kl.didMove=!0,xl&&aR(),kl.delta=Bl.draggableDirection==="x"?UU.clientX-kl.start:UU.clientY-kl.start,kl.start!==UU.clientX&&(kl.canCloseOnClick=!1),SU.style.transform=`translate3d(${Bl.draggableDirection==="x"?`${kl.delta}px, var(--y)`:`0, calc(${kl.delta}px + var(--y))`},0)`,SU.style.opacity=""+(1-Math.abs(kl.delta/kl.removalDistance)))}function rR(){document.removeEventListener("pointermove",cR),document.removeEventListener("pointerup",rR);const UU=Tl.current;if(kl.canDrag&&kl.didMove&&UU){if(kl.canDrag=!1,Math.abs(kl.delta)>kl.removalDistance)return ol(!0),Bl.closeToast(),void Bl.collapseAll();UU.style.transition="transform 0.2s, opacity 0.2s",UU.style.removeProperty("transform"),UU.style.removeProperty("opacity")}}(MR=eV.get((hR={id:Bl.toastId,containerId:Bl.containerId,fn:jl}).containerId||1))==null||MR.setToggle(hR.id,hR.fn),lV.useEffect(()=>{if(Bl.pauseOnFocusLoss)return document.hasFocus()||aR(),window.addEventListener("focus",mR),window.addEventListener("blur",aR),()=>{window.removeEventListener("focus",mR),window.removeEventListener("blur",aR)}},[Bl.pauseOnFocusLoss]);const bR={onPointerDown:function(UU){if(Bl.draggable===!0||Bl.draggable===UU.pointerType){kl.didMove=!1,document.addEventListener("pointermove",cR),document.addEventListener("pointerup",rR);const SU=Tl.current;kl.canCloseOnClick=!0,kl.canDrag=!0,SU.style.transition="none",Bl.draggableDirection==="x"?(kl.start=UU.clientX,kl.removalDistance=SU.offsetWidth*(Bl.draggablePercent/100)):(kl.start=UU.clientY,kl.removalDistance=SU.offsetHeight*(Bl.draggablePercent===80?1.5*Bl.draggablePercent:Bl.draggablePercent)/100)}},onPointerUp:function(UU){const{top:SU,bottom:jU,left:KR,right:BR}=Tl.current.getBoundingClientRect();UU.nativeEvent.type!=="touchend"&&Bl.pauseOnHover&&UU.clientX>=KR&&UU.clientX<=BR&&UU.clientY>=SU&&UU.clientY<=jU?aR():mR()}};return ul&&UR&&(bR.onMouseEnter=aR,Bl.stacked||(bR.onMouseLeave=mR)),QR&&(bR.onClick=UU=>{FR&&FR(UU),kl.canCloseOnClick&&JR()}),{playToast:mR,pauseToast:aR,isRunning:xl,preventExitTransition:Ll,toastRef:Tl,eventHandlers:bR}}function AV(Bl){let{delay:xl,isRunning:jl,closeToast:Ll,type:ol="default",hide:Tl,className:kl,style:ul,controlledProgress:UR,progress:JR,rtl:FR,isIn:QR,theme:hR}=Bl;const MR=Tl||UR&&JR===0,mR={...ul,animationDuration:`${xl}ms`,animationPlayState:jl?"running":"paused"};UR&&(mR.transform=`scaleX(${JR})`);const aR=UV.default("Toastify__progress-bar",UR?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${hR}`,`Toastify__progress-bar--${ol}`,{"Toastify__progress-bar--rtl":FR}),cR=IV(kl)?kl({rtl:FR,type:ol,defaultClassName:aR}):UV.default(aR,kl),rR={[UR&&JR>=1?"onTransitionEnd":"onAnimationEnd"]:UR&&JR<1?null:()=>{QR&&Ll()}};return RV.default.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":MR},RV.default.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${hR} Toastify__progress-bar--${ol}`}),RV.default.createElement("div",{role:"progressbar","aria-hidden":MR?"true":"false","aria-label":"notification timer",className:cR,style:mR,...rR}))}let pV=1;const HV=()=>""+pV++;function oV(Bl){return Bl&&(WV(Bl.toastId)||ZV(Bl.toastId))?Bl.toastId:HV()}function DV(Bl,xl){return TV(Bl,xl),xl.toastId}function wV(Bl,xl){return{...xl,type:xl&&xl.type||Bl,toastId:oV(xl)}}function qV(Bl){return(xl,jl)=>DV(xl,wV(Bl,jl))}function Cl(Bl,xl){return DV(Bl,wV("default",xl))}Cl.loading=(Bl,xl)=>DV(Bl,wV("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...xl})),Cl.promise=function(Bl,xl,jl){let Ll,{pending:ol,error:Tl,success:kl}=xl;ol&&(Ll=WV(ol)?Cl.loading(ol,jl):Cl.loading(ol.render,{...jl,...ol}));const ul={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},UR=(FR,QR,hR)=>{if(QR==null)return void Cl.dismiss(Ll);const MR={type:FR,...ul,...jl,data:hR},mR=WV(QR)?{render:QR}:QR;return Ll?Cl.update(Ll,{...MR,...mR}):Cl(mR.render,{...MR,...mR}),hR},JR=IV(Bl)?Bl():Bl;return JR.then(FR=>UR("success",kl,FR)).catch(FR=>UR("error",Tl,FR)),JR},Cl.success=qV("success"),Cl.info=qV("info"),Cl.error=qV("error"),Cl.warning=qV("warning"),Cl.warn=Cl.warning,Cl.dark=(Bl,xl)=>DV(Bl,wV("default",{theme:"dark",...xl})),Cl.dismiss=function(Bl){(function(xl){var jl;if(GV()){if(xl==null||WV(jl=xl)||ZV(jl))eV.forEach(Ll=>{Ll.removeToast(xl)});else if(xl&&("containerId"in xl||"id"in xl)){const Ll=eV.get(xl.containerId);Ll?Ll.removeToast(xl.id):eV.forEach(ol=>{ol.removeToast(xl.id)})}}else JV=JV.filter(Ll=>xl!=null&&Ll.options.toastId!==xl)})(Bl)},Cl.clearWaitingQueue=function(Bl){Bl===void 0&&(Bl={}),eV.forEach(xl=>{!xl.props.limit||Bl.containerId&&xl.id!==Bl.containerId||xl.clearQueue()})},Cl.isActive=cV,Cl.update=function(Bl,xl){xl===void 0&&(xl={});const jl=((Ll,ol)=>{var Tl;let{containerId:kl}=ol;return(Tl=eV.get(kl||1))==null?void 0:Tl.toasts.get(Ll)})(Bl,xl);if(jl){const{props:Ll,content:ol}=jl,Tl={delay:100,...Ll,...xl,toastId:xl.toastId||Bl,updateId:HV()};Tl.toastId!==Bl&&(Tl.staleId=Bl);const kl=Tl.render||ol;delete Tl.render,DV(kl,Tl)}},Cl.done=Bl=>{Cl.update(Bl,{progress:1})},Cl.onChange=function(Bl){return nV.add(Bl),()=>{nV.delete(Bl)}},Cl.play=Bl=>iV(!0,Bl),Cl.pause=Bl=>iV(!1,Bl);const nl=typeof window<"u"?lV.useLayoutEffect:lV.useEffect,Il=Bl=>{let{theme:xl,type:jl,isLoading:Ll,...ol}=Bl;return RV.default.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:xl==="colored"?"currentColor":`var(--toastify-icon-color-${jl})`,...ol})},LV={info:function(Bl){return RV.default.createElement(Il,{...Bl},RV.default.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))},warning:function(Bl){return RV.default.createElement(Il,{...Bl},RV.default.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))},success:function(Bl){return RV.default.createElement(Il,{...Bl},RV.default.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))},error:function(Bl){return RV.default.createElement(Il,{...Bl},RV.default.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))},spinner:function(){return RV.default.createElement("div",{className:"Toastify__spinner"})}},OV=Bl=>{const{isRunning:xl,preventExitTransition:jl,toastRef:Ll,eventHandlers:ol,playToast:Tl}=MV(Bl),{closeButton:kl,children:ul,autoClose:UR,onClick:JR,type:FR,hideProgressBar:QR,closeToast:hR,transition:MR,position:mR,className:aR,style:cR,bodyClassName:rR,bodyStyle:bR,progressClassName:UU,progressStyle:SU,updateId:jU,role:KR,progress:BR,rtl:dU,toastId:pR,deleteToast:VR,isIn:AR,isLoading:YR,closeOnClick:iR,theme:$R}=Bl,RU=UV.default("Toastify__toast",`Toastify__toast-theme--${$R}`,`Toastify__toast--${FR}`,{"Toastify__toast--rtl":dU},{"Toastify__toast--close-on-click":iR}),cU=IV(aR)?aR({rtl:dU,position:mR,type:FR,defaultClassName:RU}):UV.default(RU,aR),GR=function(hZ){let{theme:HZ,type:jZ,isLoading:uZ,icon:SW}=hZ,fU=null;const eW={theme:HZ,type:jZ};return SW===!1||(IV(SW)?fU=SW({...eW,isLoading:uZ}):lV.isValidElement(SW)?fU=lV.cloneElement(SW,eW):uZ?fU=LV.spinner():(gW=>gW in LV)(jZ)&&(fU=LV[jZ](eW))),fU}(Bl),WU=!!BR||!UR,FU={closeToast:hR,type:FR,theme:$R};let PU=null;return kl===!1||(PU=IV(kl)?kl(FU):lV.isValidElement(kl)?lV.cloneElement(kl,FU):function(hZ){let{closeToast:HZ,theme:jZ,ariaLabel:uZ="close"}=hZ;return RV.default.createElement("button",{className:`Toastify__close-button Toastify__close-button--${jZ}`,type:"button",onClick:SW=>{SW.stopPropagation(),HZ(SW)},"aria-label":uZ},RV.default.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},RV.default.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))}(FU)),RV.default.createElement(MR,{isIn:AR,done:VR,position:mR,preventExitTransition:jl,nodeRef:Ll,playToast:Tl},RV.default.createElement("div",{id:pR,onClick:JR,"data-in":AR,className:cU,...ol,style:cR,ref:Ll},RV.default.createElement("div",{...AR&&{role:KR},className:IV(rR)?rR({type:FR}):UV.default("Toastify__toast-body",rR),style:bR},GR!=null&&RV.default.createElement("div",{className:UV.default("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!YR})},GR),RV.default.createElement("div",null,ul)),PU,RV.default.createElement(AV,{...jU&&!WU?{key:`pb-${jU}`}:{},rtl:dU,theme:$R,delay:UR,isRunning:xl,isIn:AR,closeToast:hR,hide:QR,type:FR,style:SU,className:UU,controlledProgress:WU,progress:BR||0})))},$V=function(Bl,xl){return xl===void 0&&(xl=!1),{enter:`Toastify--animate Toastify__${Bl}-enter`,exit:`Toastify--animate Toastify__${Bl}-exit`,appendPosition:xl}},dl=NV($V("bounce",!0)),Wl=NV($V("slide",!0)),el=NV($V("zoom")),pl=NV($V("flip")),ml={position:"top-right",transition:dl,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light"};return reactToastify.Bounce=dl,reactToastify.Flip=pl,reactToastify.Icons=LV,reactToastify.Slide=Wl,reactToastify.ToastContainer=function(Bl){let xl={...ml,...Bl};const jl=Bl.stacked,[Ll,ol]=lV.useState(!0),Tl=lV.useRef(null),{getToastToRender:kl,isToastActive:ul,count:UR}=tV(xl),{className:JR,style:FR,rtl:QR,containerId:hR}=xl;function MR(aR){const cR=UV.default("Toastify__toast-container",`Toastify__toast-container--${aR}`,{"Toastify__toast-container--rtl":QR});return IV(JR)?JR({position:aR,rtl:QR,defaultClassName:cR}):UV.default(cR,dV(JR))}function mR(){jl&&(ol(!0),Cl.play())}return nl(()=>{if(jl){var aR;const cR=Tl.current.querySelectorAll('[data-in="true"]'),rR=12,bR=(aR=xl.position)==null?void 0:aR.includes("top");let UU=0,SU=0;Array.from(cR).reverse().forEach((jU,KR)=>{const BR=jU;BR.classList.add("Toastify__toast--stacked"),KR>0&&(BR.dataset.collapsed=`${Ll}`),BR.dataset.pos||(BR.dataset.pos=bR?"top":"bot");const dU=UU*(Ll?.2:1)+(Ll?0:rR*KR);BR.style.setProperty("--y",`${bR?dU:-1*dU}px`),BR.style.setProperty("--g",`${rR}`),BR.style.setProperty("--s",""+(1-(Ll?SU:0))),UU+=BR.offsetHeight,SU+=.025})}},[Ll,UR,jl]),RV.default.createElement("div",{ref:Tl,className:"Toastify",id:hR,onMouseEnter:()=>{jl&&(ol(!1),Cl.pause())},onMouseLeave:mR},kl((aR,cR)=>{const rR=cR.length?{...FR}:{...FR,pointerEvents:"none"};return RV.default.createElement("div",{className:MR(aR),style:rR,key:`container-${aR}`},cR.map(bR=>{let{content:UU,props:SU}=bR;return RV.default.createElement(OV,{...SU,stacked:jl,collapseAll:mR,isIn:ul(SU.toastId,SU.containerId),style:SU.style,key:`toast-${SU.key}`},UU)}))}))},reactToastify.Zoom=el,reactToastify.collapseToast=FV,reactToastify.cssTransition=NV,reactToastify.toast=Cl,reactToastify.useToast=MV,reactToastify.useToastContainer=tV,reactToastify}var injectStyle={},hasRequiredInjectStyle;function requireInjectStyle(){if(hasRequiredInjectStyle)return injectStyle;hasRequiredInjectStyle=1,Object.defineProperty(injectStyle,"__esModule",{value:!0}),injectStyle.injectStyle=lV;function lV(){var J=':root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:hsla(0,0%,100%,.7);--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translateZ(var(--toastify-z-index));position:fixed;padding:4px;width:var(--toastify-toast-width);box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translateX(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;padding:0;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:auto}}.Toastify__toast{--y:0;position:relative;-ms-touch-action:none;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0;overflow:hidden}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{margin:auto 0;-ms-flex:1 1 auto;flex:1 1 auto;padding:6px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.Toastify__toast-body>div:last-child{word-break:break-word;-ms-flex:1;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;margin-inline-end:10px;width:20px;-ms-flex-negative:0;flex-shrink:0;display:-ms-flexbox;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}@media only screen and (max-width:480px){.Toastify__toast{margin-bottom:0;border-radius:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;-ms-flex-item-align:start;align-self:flex-start;z-index:1}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:auto;transform-origin:right;border-bottom-left-radius:0;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{position:absolute;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}',VV=document.createElement("style");VV.innerText=J,document.head.appendChild(VV)}return injectStyle}var SuperGrid_1,hasRequiredSuperGrid;function requireSuperGrid(){if(hasRequiredSuperGrid)return SuperGrid_1;hasRequiredSuperGrid=1;var lV=Object.defineProperty,J=Object.getOwnPropertyDescriptor,VV=Object.getOwnPropertyNames,RV=Object.prototype.hasOwnProperty,UV=(aV,GV)=>{for(var cV in GV)lV(aV,cV,{get:GV[cV],enumerable:!0})},ZV=(aV,GV,cV,TV)=>{if(GV&&typeof GV=="object"||typeof GV=="function")for(let iV of VV(GV))!RV.call(aV,iV)&&iV!==cV&&lV(aV,iV,{get:()=>GV[iV],enumerable:!(TV=J(GV,iV))||TV.enumerable});return aV},WV=aV=>ZV(lV({},"__esModule",{value:!0}),aV),IV={};UV(IV,{SuperGrid:()=>nV,toMMSI:()=>JV,toMeterSI:()=>eV}),SuperGrid_1=WV(IV);var dV=requireReact(),CV=require$$0,FV=requireJsxRuntime(),NV=(aV,GV,cV)=>{const TV=[];if(GV<aV)for(let iV=aV;iV>=GV;iV-=Math.abs(cV))TV.push(iV);else for(let iV=aV;iV<=GV;iV+=Math.abs(cV))TV.push(iV);return TV};function gV(aV,GV){return{x:Math.round(GV.x/aV)*aV,y:Math.round(GV.y/aV)*aV}}function eV(aV,GV=1){return aV<0?"-"+eV(-aV):aV<1e-6?"0m":aV>1e3?Math.floor(aV/1e3)+"km":aV>1&&GV>1?Math.round(aV)+"m":aV>1&&GV<=1?aV.toFixed(Math.ceil(-Math.log10(GV)))+"m":aV<1&&GV>=1/1e3?Math.round(aV*1e3)+"mm":aV<1&&GV<1/1e3?(aV*1e3).toFixed(Math.ceil(-Math.log10(GV*1e3)))+"mm":""}function JV(aV,GV=1){return eV(aV/1e3,GV/1e3)}var nV=aV=>{var GV;const cV=(0,dV.useRef)(null),[TV,iV]=(0,dV.useState)({x:0,y:0}),{majorColor:tV="rgba(0,0,0,0.2)",minorColor:MV="rgba(0,0,0,0.1)",textColor:AV=(GV=aV.majorColor)!=null?GV:"rgba(0,0,0,0.5)",width:pV,height:HV,screenSpaceCellSize:oV=200,stringifyCoord:DV=(nl,Il,LV)=>`${eV(nl,LV)}, ${eV(Il,LV)}`}=aV,wV=Math.ceil(pV/oV)+2,qV=Math.ceil(HV/oV)+2;(0,dV.useEffect)(()=>{if(!cV.current)return;const nl=cV.current.getContext("2d");if(!nl)return;const Il=oV/10**Math.floor(Math.log10(aV.transform.a)),LV=aV.transform.d<0?-1:1,$V=oV/10**Math.log10(aV.transform.a)/Il;function dl(Tl,kl,ul){const UR=Tl;let JR,FR,QR;for(JR=kl.x;JR<=ul.x;JR+=UR)FR=(0,CV.applyToPoint)(aV.transform,{x:JR,y:kl.y}),QR=(0,CV.applyToPoint)(aV.transform,{x:JR,y:ul.y}),nl.beginPath(),nl.moveTo(FR.x,FR.y),nl.lineTo(QR.x,QR.y),nl.stroke();const hR=NV(kl.y,ul.y,UR*LV);for(const MR of hR)FR=(0,CV.applyToPoint)(aV.transform,{x:kl.x,y:MR}),QR=(0,CV.applyToPoint)(aV.transform,{x:ul.x,y:MR}),nl.beginPath(),nl.moveTo(FR.x,FR.y),nl.lineTo(QR.x,QR.y),nl.stroke()}function Wl(Tl,kl,ul){const UR=Tl;let JR;for(JR=kl.x;JR<=ul.x;JR+=UR)for(const FR of NV(kl.y,ul.y,UR*LV)){const QR=(0,CV.applyToPoint)(aV.transform,{x:JR,y:FR});nl.fillStyle=AV,nl.font="12px sans-serif",nl.fillText(DV(JR,FR,Tl),QR.x+2,QR.y-2)}}nl.clearRect(0,0,pV,HV);const el=(0,CV.applyToPoint)((0,CV.inverse)(aV.transform),{x:0,y:0}),pl={x:Math.floor((el.x-Il)/Il)*Il,y:Math.floor((el.y-Il)/Il+(LV==-1?2:0))*Il},ml={x:pl.x+Il*wV,y:pl.y+Il*qV*LV},xl=Il*5,jl={x:Math.floor((el.x-xl)/xl)*xl,y:Math.floor((el.y-xl)/xl+(LV==-1?2:0))*xl},Ll={x:jl.x+xl*wV,y:jl.y+xl*qV*LV};nl.globalAlpha=1,nl.strokeStyle=tV,dl(Il,pl,ml),Wl(xl,jl,Ll),nl.globalAlpha=1-$V,dl(xl/10,jl,Ll),nl.globalAlpha=1-$V,nl.strokeStyle=MV,dl(Il/10,pl,ml),nl.globalAlpha=Math.max(((1-$V)*10-5)/5,0),Wl(xl/10,jl,Ll),nl.globalAlpha=1;const ol=(0,CV.applyToPoint)(aV.transform,TV);nl.font="12px sans-serif",nl.fillStyle=AV,nl.fillText(DV(TV.x,TV.y,Il),ol.x+2,ol.y-2),nl.strokeStyle=tV,nl.strokeRect(ol.x-5,ol.y-5,10,10)},[cV,aV.transform,TV,pV,HV]);const Cl=nl=>{if(!cV.current)return;const Il=oV/10/10**Math.floor(Math.log10(aV.transform.a)),LV=cV.current.getBoundingClientRect(),OV=(0,CV.applyToPoint)((0,CV.inverse)(aV.transform),{x:nl.clientX-LV.left,y:nl.clientY-LV.top}),$V=gV(Il,OV);iV($V)};return(0,FV.jsx)("canvas",{onMouseUp:nl=>{nl.button===1&&Cl(nl)},onDoubleClick:Cl,ref:cV,width:aV.width,height:aV.height})};return SuperGrid_1}var isDevelopment$1=!1;function sheetForTag(lV){if(lV.sheet)return lV.sheet;for(var J=0;J<document.styleSheets.length;J++)if(document.styleSheets[J].ownerNode===lV)return document.styleSheets[J]}function createStyleElement(lV){var J=document.createElement("style");return J.setAttribute("data-emotion",lV.key),lV.nonce!==void 0&&J.setAttribute("nonce",lV.nonce),J.appendChild(document.createTextNode("")),J.setAttribute("data-s",""),J}var StyleSheet=function(){function lV(VV){var RV=this;this._insertTag=function(UV){var ZV;RV.tags.length===0?RV.insertionPoint?ZV=RV.insertionPoint.nextSibling:RV.prepend?ZV=RV.container.firstChild:ZV=RV.before:ZV=RV.tags[RV.tags.length-1].nextSibling,RV.container.insertBefore(UV,ZV),RV.tags.push(UV)},this.isSpeedy=VV.speedy===void 0?!isDevelopment$1:VV.speedy,this.tags=[],this.ctr=0,this.nonce=VV.nonce,this.key=VV.key,this.container=VV.container,this.prepend=VV.prepend,this.insertionPoint=VV.insertionPoint,this.before=null}var J=lV.prototype;return J.hydrate=function(RV){RV.forEach(this._insertTag)},J.insert=function(RV){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(createStyleElement(this));var UV=this.tags[this.tags.length-1];if(this.isSpeedy){var ZV=sheetForTag(UV);try{ZV.insertRule(RV,ZV.cssRules.length)}catch{}}else UV.appendChild(document.createTextNode(RV));this.ctr++},J.flush=function(){this.tags.forEach(function(RV){var UV;return(UV=RV.parentNode)==null?void 0:UV.removeChild(RV)}),this.tags=[],this.ctr=0},lV}(),MS="-ms-",MOZ="-moz-",WEBKIT="-webkit-",COMMENT="comm",RULESET="rule",DECLARATION="decl",IMPORT="@import",KEYFRAMES="@keyframes",LAYER="@layer",abs=Math.abs,from=String.fromCharCode,assign=Object.assign;function hash(lV,J){return charat(lV,0)^45?(((J<<2^charat(lV,0))<<2^charat(lV,1))<<2^charat(lV,2))<<2^charat(lV,3):0}function trim(lV){return lV.trim()}function match(lV,J){return(lV=J.exec(lV))?lV[0]:lV}function replace(lV,J,VV){return lV.replace(J,VV)}function indexof(lV,J){return lV.indexOf(J)}function charat(lV,J){return lV.charCodeAt(J)|0}function substr(lV,J,VV){return lV.slice(J,VV)}function strlen(lV){return lV.length}function sizeof$1(lV){return lV.length}function append(lV,J){return J.push(lV),lV}function combine(lV,J){return lV.map(J).join("")}var line=1,column=1,length=0,position=0,character=0,characters="";function node(lV,J,VV,RV,UV,ZV,WV){return{value:lV,root:J,parent:VV,type:RV,props:UV,children:ZV,line,column,length:WV,return:""}}function copy(lV,J){return assign(node("",null,null,"",null,null,0),lV,{length:-lV.length},J)}function char(){return character}function prev(){return character=position>0?charat(characters,--position):0,column--,character===10&&(column=1,line--),character}function next(){return character=position<length?charat(characters,position++):0,column++,character===10&&(column=1,line++),character}function peek(){return charat(characters,position)}function caret(){return position}function slice(lV,J){return substr(characters,lV,J)}function token(lV){switch(lV){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function alloc(lV){return line=column=1,length=strlen(characters=lV),position=0,[]}function dealloc(lV){return characters="",lV}function delimit(lV){return trim(slice(position-1,delimiter(lV===91?lV+2:lV===40?lV+1:lV)))}function whitespace(lV){for(;(character=peek())&&character<33;)next();return token(lV)>2||token(character)>3?"":" "}function escaping(lV,J){for(;--J&&next()&&!(character<48||character>102||character>57&&character<65||character>70&&character<97););return slice(lV,caret()+(J<6&&peek()==32&&next()==32))}function delimiter(lV){for(;next();)switch(character){case lV:return position;case 34:case 39:lV!==34&&lV!==39&&delimiter(character);break;case 40:lV===41&&delimiter(lV);break;case 92:next();break}return position}function commenter(lV,J){for(;next()&&lV+character!==57;)if(lV+character===84&&peek()===47)break;return"/*"+slice(J,position-1)+"*"+from(lV===47?lV:next())}function identifier(lV){for(;!token(peek());)next();return slice(lV,position)}function compile(lV){return dealloc(parse$1("",null,null,null,[""],lV=alloc(lV),0,[0],lV))}function parse$1(lV,J,VV,RV,UV,ZV,WV,IV,dV){for(var CV=0,FV=0,NV=WV,gV=0,eV=0,JV=0,nV=1,aV=1,GV=1,cV=0,TV="",iV=UV,tV=ZV,MV=RV,AV=TV;aV;)switch(JV=cV,cV=next()){case 40:if(JV!=108&&charat(AV,NV-1)==58){indexof(AV+=replace(delimit(cV),"&","&\f"),"&\f")!=-1&&(GV=-1);break}case 34:case 39:case 91:AV+=delimit(cV);break;case 9:case 10:case 13:case 32:AV+=whitespace(JV);break;case 92:AV+=escaping(caret()-1,7);continue;case 47:switch(peek()){case 42:case 47:append(comment(commenter(next(),caret()),J,VV),dV);break;default:AV+="/"}break;case 123*nV:IV[CV++]=strlen(AV)*GV;case 125*nV:case 59:case 0:switch(cV){case 0:case 125:aV=0;case 59+FV:GV==-1&&(AV=replace(AV,/\f/g,"")),eV>0&&strlen(AV)-NV&&append(eV>32?declaration(AV+";",RV,VV,NV-1):declaration(replace(AV," ","")+";",RV,VV,NV-2),dV);break;case 59:AV+=";";default:if(append(MV=ruleset(AV,J,VV,CV,FV,UV,IV,TV,iV=[],tV=[],NV),ZV),cV===123)if(FV===0)parse$1(AV,J,MV,MV,iV,ZV,NV,IV,tV);else switch(gV===99&&charat(AV,3)===110?100:gV){case 100:case 108:case 109:case 115:parse$1(lV,MV,MV,RV&&append(ruleset(lV,MV,MV,0,0,UV,IV,TV,UV,iV=[],NV),tV),UV,tV,NV,IV,RV?iV:tV);break;default:parse$1(AV,MV,MV,MV,[""],tV,0,IV,tV)}}CV=FV=eV=0,nV=GV=1,TV=AV="",NV=WV;break;case 58:NV=1+strlen(AV),eV=JV;default:if(nV<1){if(cV==123)--nV;else if(cV==125&&nV++==0&&prev()==125)continue}switch(AV+=from(cV),cV*nV){case 38:GV=FV>0?1:(AV+="\f",-1);break;case 44:IV[CV++]=(strlen(AV)-1)*GV,GV=1;break;case 64:peek()===45&&(AV+=delimit(next())),gV=peek(),FV=NV=strlen(TV=AV+=identifier(caret())),cV++;break;case 45:JV===45&&strlen(AV)==2&&(nV=0)}}return ZV}function ruleset(lV,J,VV,RV,UV,ZV,WV,IV,dV,CV,FV){for(var NV=UV-1,gV=UV===0?ZV:[""],eV=sizeof$1(gV),JV=0,nV=0,aV=0;JV<RV;++JV)for(var GV=0,cV=substr(lV,NV+1,NV=abs(nV=WV[JV])),TV=lV;GV<eV;++GV)(TV=trim(nV>0?gV[GV]+" "+cV:replace(cV,/&\f/g,gV[GV])))&&(dV[aV++]=TV);return node(lV,J,VV,UV===0?RULESET:IV,dV,CV,FV)}function comment(lV,J,VV){return node(lV,J,VV,COMMENT,from(char()),substr(lV,2,-2),0)}function declaration(lV,J,VV,RV){return node(lV,J,VV,DECLARATION,substr(lV,0,RV),substr(lV,RV+1,-1),RV)}function serialize(lV,J){for(var VV="",RV=sizeof$1(lV),UV=0;UV<RV;UV++)VV+=J(lV[UV],UV,lV,J)||"";return VV}function stringify$1(lV,J,VV,RV){switch(lV.type){case LAYER:if(lV.children.length)break;case IMPORT:case DECLARATION:return lV.return=lV.return||lV.value;case COMMENT:return"";case KEYFRAMES:return lV.return=lV.value+"{"+serialize(lV.children,RV)+"}";case RULESET:lV.value=lV.props.join(",")}return strlen(VV=serialize(lV.children,RV))?lV.return=lV.value+"{"+VV+"}":""}function middleware(lV){var J=sizeof$1(lV);return function(VV,RV,UV,ZV){for(var WV="",IV=0;IV<J;IV++)WV+=lV[IV](VV,RV,UV,ZV)||"";return WV}}function rulesheet(lV){return function(J){J.root||(J=J.return)&&lV(J)}}function memoize(lV){var J=Object.create(null);return function(VV){return J[VV]===void 0&&(J[VV]=lV(VV)),J[VV]}}var identifierWithPointTracking=function lV(J,VV,RV){for(var UV=0,ZV=0;UV=ZV,ZV=peek(),UV===38&&ZV===12&&(VV[RV]=1),!token(ZV);)next();return slice(J,position)},toRules=function lV(J,VV){var RV=-1,UV=44;do switch(token(UV)){case 0:UV===38&&peek()===12&&(VV[RV]=1),J[RV]+=identifierWithPointTracking(position-1,VV,RV);break;case 2:J[RV]+=delimit(UV);break;case 4:if(UV===44){J[++RV]=peek()===58?"&\f":"",VV[RV]=J[RV].length;break}default:J[RV]+=from(UV)}while(UV=next());return J},getRules=function lV(J,VV){return dealloc(toRules(alloc(J),VV))},fixedElements=new WeakMap,compat=function lV(J){if(!(J.type!=="rule"||!J.parent||J.length<1)){for(var VV=J.value,RV=J.parent,UV=J.column===RV.column&&J.line===RV.line;RV.type!=="rule";)if(RV=RV.parent,!RV)return;if(!(J.props.length===1&&VV.charCodeAt(0)!==58&&!fixedElements.get(RV))&&!UV){fixedElements.set(J,!0);for(var ZV=[],WV=getRules(VV,ZV),IV=RV.props,dV=0,CV=0;dV<WV.length;dV++)for(var FV=0;FV<IV.length;FV++,CV++)J.props[CV]=ZV[dV]?WV[dV].replace(/&\f/g,IV[FV]):IV[FV]+" "+WV[dV]}}},removeLabel=function lV(J){if(J.type==="decl"){var VV=J.value;VV.charCodeAt(0)===108&&VV.charCodeAt(2)===98&&(J.return="",J.value="")}};function prefix(lV,J){switch(hash(lV,J)){case 5103:return WEBKIT+"print-"+lV+lV;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return WEBKIT+lV+lV;case 5349:case 4246:case 4810:case 6968:case 2756:return WEBKIT+lV+MOZ+lV+MS+lV+lV;case 6828:case 4268:return WEBKIT+lV+MS+lV+lV;case 6165:return WEBKIT+lV+MS+"flex-"+lV+lV;case 5187:return WEBKIT+lV+replace(lV,/(\w+).+(:[^]+)/,WEBKIT+"box-$1$2"+MS+"flex-$1$2")+lV;case 5443:return WEBKIT+lV+MS+"flex-item-"+replace(lV,/flex-|-self/,"")+lV;case 4675:return WEBKIT+lV+MS+"flex-line-pack"+replace(lV,/align-content|flex-|-self/,"")+lV;case 5548:return WEBKIT+lV+MS+replace(lV,"shrink","negative")+lV;case 5292:return WEBKIT+lV+MS+replace(lV,"basis","preferred-size")+lV;case 6060:return WEBKIT+"box-"+replace(lV,"-grow","")+WEBKIT+lV+MS+replace(lV,"grow","positive")+lV;case 4554:return WEBKIT+replace(lV,/([^-])(transform)/g,"$1"+WEBKIT+"$2")+lV;case 6187:return replace(replace(replace(lV,/(zoom-|grab)/,WEBKIT+"$1"),/(image-set)/,WEBKIT+"$1"),lV,"")+lV;case 5495:case 3959:return replace(lV,/(image-set\([^]*)/,WEBKIT+"$1$`$1");case 4968:return replace(replace(lV,/(.+:)(flex-)?(.*)/,WEBKIT+"box-pack:$3"+MS+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+WEBKIT+lV+lV;case 4095:case 3583:case 4068:case 2532:return replace(lV,/(.+)-inline(.+)/,WEBKIT+"$1$2")+lV;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(strlen(lV)-1-J>6)switch(charat(lV,J+1)){case 109:if(charat(lV,J+4)!==45)break;case 102:return replace(lV,/(.+:)(.+)-([^]+)/,"$1"+WEBKIT+"$2-$3$1"+MOZ+(charat(lV,J+3)==108?"$3":"$2-$3"))+lV;case 115:return~indexof(lV,"stretch")?prefix(replace(lV,"stretch","fill-available"),J)+lV:lV}break;case 4949:if(charat(lV,J+1)!==115)break;case 6444:switch(charat(lV,strlen(lV)-3-(~indexof(lV,"!important")&&10))){case 107:return replace(lV,":",":"+WEBKIT)+lV;case 101:return replace(lV,/(.+:)([^;!]+)(;|!.+)?/,"$1"+WEBKIT+(charat(lV,14)===45?"inline-":"")+"box$3$1"+WEBKIT+"$2$3$1"+MS+"$2box$3")+lV}break;case 5936:switch(charat(lV,J+11)){case 114:return WEBKIT+lV+MS+replace(lV,/[svh]\w+-[tblr]{2}/,"tb")+lV;case 108:return WEBKIT+lV+MS+replace(lV,/[svh]\w+-[tblr]{2}/,"tb-rl")+lV;case 45:return WEBKIT+lV+MS+replace(lV,/[svh]\w+-[tblr]{2}/,"lr")+lV}return WEBKIT+lV+MS+lV+lV}return lV}var prefixer=function lV(J,VV,RV,UV){if(J.length>-1&&!J.return)switch(J.type){case DECLARATION:J.return=prefix(J.value,J.length);break;case KEYFRAMES:return serialize([copy(J,{value:replace(J.value,"@","@"+WEBKIT)})],UV);case RULESET:if(J.length)return combine(J.props,function(ZV){switch(match(ZV,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return serialize([copy(J,{props:[replace(ZV,/:(read-\w+)/,":"+MOZ+"$1")]})],UV);case"::placeholder":return serialize([copy(J,{props:[replace(ZV,/:(plac\w+)/,":"+WEBKIT+"input-$1")]}),copy(J,{props:[replace(ZV,/:(plac\w+)/,":"+MOZ+"$1")]}),copy(J,{props:[replace(ZV,/:(plac\w+)/,MS+"input-$1")]})],UV)}return""})}},defaultStylisPlugins=[prefixer],createCache=function lV(J){var VV=J.key;if(VV==="css"){var RV=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(RV,function(nV){var aV=nV.getAttribute("data-emotion");aV.indexOf(" ")!==-1&&(document.head.appendChild(nV),nV.setAttribute("data-s",""))})}var UV=J.stylisPlugins||defaultStylisPlugins,ZV={},WV,IV=[];WV=J.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+VV+' "]'),function(nV){for(var aV=nV.getAttribute("data-emotion").split(" "),GV=1;GV<aV.length;GV++)ZV[aV[GV]]=!0;IV.push(nV)});var dV,CV=[compat,removeLabel];{var FV,NV=[stringify$1,rulesheet(function(nV){FV.insert(nV)})],gV=middleware(CV.concat(UV,NV)),eV=function(aV){return serialize(compile(aV),gV)};dV=function(aV,GV,cV,TV){FV=cV,eV(aV?aV+"{"+GV.styles+"}":GV.styles),TV&&(JV.inserted[GV.name]=!0)}}var JV={key:VV,sheet:new StyleSheet({key:VV,container:WV,nonce:J.nonce,speedy:J.speedy,prepend:J.prepend,insertionPoint:J.insertionPoint}),nonce:J.nonce,inserted:ZV,registered:{},insert:dV};return JV.sheet.hydrate(IV),JV};function murmur2(lV){for(var J=0,VV,RV=0,UV=lV.length;UV>=4;++RV,UV-=4)VV=lV.charCodeAt(RV)&255|(lV.charCodeAt(++RV)&255)<<8|(lV.charCodeAt(++RV)&255)<<16|(lV.charCodeAt(++RV)&255)<<24,VV=(VV&65535)*1540483477+((VV>>>16)*59797<<16),VV^=VV>>>24,J=(VV&65535)*1540483477+((VV>>>16)*59797<<16)^(J&65535)*1540483477+((J>>>16)*59797<<16);switch(UV){case 3:J^=(lV.charCodeAt(RV+2)&255)<<16;case 2:J^=(lV.charCodeAt(RV+1)&255)<<8;case 1:J^=lV.charCodeAt(RV)&255,J=(J&65535)*1540483477+((J>>>16)*59797<<16)}return J^=J>>>13,J=(J&65535)*1540483477+((J>>>16)*59797<<16),((J^J>>>15)>>>0).toString(36)}var unitlessKeys={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},isDevelopment=!1,hyphenateRegex=/[A-Z]|^ms/g,animationRegex=/_EMO_([^_]+?)_([^]*?)_EMO_/g,isCustomProperty=function lV(J){return J.charCodeAt(1)===45},isProcessableValue=function lV(J){return J!=null&&typeof J!="boolean"},processStyleName=memoize(function(lV){return isCustomProperty(lV)?lV:lV.replace(hyphenateRegex,"-$&").toLowerCase()}),processStyleValue=function lV(J,VV){switch(J){case"animation":case"animationName":if(typeof VV=="string")return VV.replace(animationRegex,function(RV,UV,ZV){return cursor={name:UV,styles:ZV,next:cursor},UV})}return unitlessKeys[J]!==1&&!isCustomProperty(J)&&typeof VV=="number"&&VV!==0?VV+"px":VV},noComponentSelectorMessage="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";function handleInterpolation(lV,J,VV){if(VV==null)return"";var RV=VV;if(RV.__emotion_styles!==void 0)return RV;switch(typeof VV){case"boolean":return"";case"object":{var UV=VV;if(UV.anim===1)return cursor={name:UV.name,styles:UV.styles,next:cursor},UV.name;var ZV=VV;if(ZV.styles!==void 0){var WV=ZV.next;if(WV!==void 0)for(;WV!==void 0;)cursor={name:WV.name,styles:WV.styles,next:cursor},WV=WV.next;var IV=ZV.styles+";";return IV}return createStringFromObject(lV,J,VV)}}var dV=VV;if(J==null)return dV;var CV=J[dV];return CV!==void 0?CV:dV}function createStringFromObject(lV,J,VV){var RV="";if(Array.isArray(VV))for(var UV=0;UV<VV.length;UV++)RV+=handleInterpolation(lV,J,VV[UV])+";";else for(var ZV in VV){var WV=VV[ZV];if(typeof WV!="object"){var IV=WV;J!=null&&J[IV]!==void 0?RV+=ZV+"{"+J[IV]+"}":isProcessableValue(IV)&&(RV+=processStyleName(ZV)+":"+processStyleValue(ZV,IV)+";")}else{if(ZV==="NO_COMPONENT_SELECTOR"&&isDevelopment)throw new Error(noComponentSelectorMessage);if(Array.isArray(WV)&&typeof WV[0]=="string"&&(J==null||J[WV[0]]===void 0))for(var dV=0;dV<WV.length;dV++)isProcessableValue(WV[dV])&&(RV+=processStyleName(ZV)+":"+processStyleValue(ZV,WV[dV])+";");else{var CV=handleInterpolation(lV,J,WV);switch(ZV){case"animation":case"animationName":{RV+=processStyleName(ZV)+":"+CV+";";break}default:RV+=ZV+"{"+CV+"}"}}}}return RV}var labelPattern=/label:\s*([^\s;{]+)\s*(;|$)/g,cursor;function serializeStyles(lV,J,VV){if(lV.length===1&&typeof lV[0]=="object"&&lV[0]!==null&&lV[0].styles!==void 0)return lV[0];var RV=!0,UV="";cursor=void 0;var ZV=lV[0];if(ZV==null||ZV.raw===void 0)RV=!1,UV+=handleInterpolation(VV,J,ZV);else{var WV=ZV;UV+=WV[0]}for(var IV=1;IV<lV.length;IV++)if(UV+=handleInterpolation(VV,J,lV[IV]),RV){var dV=ZV;UV+=dV[IV]}labelPattern.lastIndex=0;for(var CV="",FV;(FV=labelPattern.exec(UV))!==null;)CV+="-"+FV[1];var NV=murmur2(UV)+CV;return{name:NV,styles:UV,next:cursor}}function getRegisteredStyles$1(lV,J,VV){var RV="";return VV.split(" ").forEach(function(UV){lV[UV]!==void 0?J.push(lV[UV]+";"):UV&&(RV+=UV+" ")}),RV}var registerStyles=function lV(J,VV,RV){var UV=J.key+"-"+VV.name;J.registered[UV]===void 0&&(J.registered[UV]=VV.styles)},insertStyles=function lV(J,VV,RV){registerStyles(J,VV);var UV=J.key+"-"+VV.name;if(J.inserted[VV.name]===void 0){var ZV=VV;do J.insert(VV===ZV?"."+UV:"",ZV,J.sheet,!0),ZV=ZV.next;while(ZV!==void 0)}};function insertWithoutScoping(lV,J){if(lV.inserted[J.name]===void 0)return lV.insert("",J,lV.sheet,!0)}function merge$1(lV,J,VV){var RV=[],UV=getRegisteredStyles$1(lV,RV,VV);return RV.length<2?VV:UV+J(RV)}var createEmotion=function lV(J){var VV=createCache(J);VV.sheet.speedy=function(IV){this.isSpeedy=IV},VV.compat=!0;var RV=function(){for(var dV=arguments.length,CV=new Array(dV),FV=0;FV<dV;FV++)CV[FV]=arguments[FV];var NV=serializeStyles(CV,VV.registered,void 0);return insertStyles(VV,NV),VV.key+"-"+NV.name},UV=function(){for(var dV=arguments.length,CV=new Array(dV),FV=0;FV<dV;FV++)CV[FV]=arguments[FV];var NV=serializeStyles(CV,VV.registered),gV="animation-"+NV.name;return insertWithoutScoping(VV,{name:NV.name,styles:"@keyframes "+gV+"{"+NV.styles+"}"}),gV},ZV=function(){for(var dV=arguments.length,CV=new Array(dV),FV=0;FV<dV;FV++)CV[FV]=arguments[FV];var NV=serializeStyles(CV,VV.registered);insertWithoutScoping(VV,NV)},WV=function(){for(var dV=arguments.length,CV=new Array(dV),FV=0;FV<dV;FV++)CV[FV]=arguments[FV];return merge$1(VV.registered,RV,classnames(CV))};return{css:RV,cx:WV,injectGlobal:ZV,keyframes:UV,hydrate:function(dV){dV.forEach(function(CV){VV.inserted[CV]=!0})},flush:function(){VV.registered={},VV.inserted={},VV.sheet.flush()},sheet:VV.sheet,cache:VV,getRegisteredStyles:getRegisteredStyles$1.bind(null,VV.registered),merge:merge$1.bind(null,VV.registered,RV)}},classnames=function lV(J){for(var VV="",RV=0;RV<J.length;RV++){var UV=J[RV];if(UV!=null){var ZV=void 0;switch(typeof UV){case"boolean":break;case"object":{if(Array.isArray(UV))ZV=lV(UV);else{ZV="";for(var WV in UV)UV[WV]&&WV&&(ZV&&(ZV+=" "),ZV+=WV)}break}default:ZV=UV}ZV&&(VV&&(VV+=" "),VV+=ZV)}}return VV},_createEmotion=createEmotion({key:"css"}),flush=_createEmotion.flush,hydrate=_createEmotion.hydrate,cx$1=_createEmotion.cx,merge=_createEmotion.merge,getRegisteredStyles=_createEmotion.getRegisteredStyles,injectGlobal=_createEmotion.injectGlobal,keyframes=_createEmotion.keyframes,css=_createEmotion.css,sheet=_createEmotion.sheet,cache=_createEmotion.cache;const emotionCss_esm=Object.freeze(Object.defineProperty({__proto__:null,cache,css,cx:cx$1,flush,getRegisteredStyles,hydrate,injectGlobal,keyframes,merge,sheet},Symbol.toStringTag,{value:"Module"})),require$$10=getAugmentedNamespace(emotionCss_esm);function doesLineIntersectLine([lV,J],[VV,RV],{lineThickness:UV=0}={}){return UV===0?doSegmentsIntersect(lV,J,VV,RV):segmentsDistance(lV,J,VV,RV)<=UV}function doSegmentsIntersect(lV,J,VV,RV){const UV=orientation(lV,J,VV),ZV=orientation(lV,J,RV),WV=orientation(VV,RV,lV),IV=orientation(VV,RV,J);return!!(UV!==ZV&&WV!==IV||UV===0&&onSegment(lV,VV,J)||ZV===0&&onSegment(lV,RV,J)||WV===0&&onSegment(VV,lV,RV)||IV===0&&onSegment(VV,J,RV))}function orientation(lV,J,VV){const RV=(J.y-lV.y)*(VV.x-J.x)-(J.x-lV.x)*(VV.y-J.y);return RV===0?0:RV>0?1:2}function onSegment(lV,J,VV){return J.x<=Math.max(lV.x,VV.x)&&J.x>=Math.min(lV.x,VV.x)&&J.y<=Math.max(lV.y,VV.y)&&J.y>=Math.min(lV.y,VV.y)}function segmentsDistance(lV,J,VV,RV){if(lV.x===J.x&&lV.y===J.y)return pointToSegmentDistance(lV,VV,RV);if(VV.x===RV.x&&VV.y===RV.y)return pointToSegmentDistance(VV,lV,J);if(doSegmentsIntersect(lV,J,VV,RV))return 0;const UV=[pointToSegmentDistance(lV,VV,RV),pointToSegmentDistance(J,VV,RV),pointToSegmentDistance(VV,lV,J),pointToSegmentDistance(RV,lV,J)];return Math.min(...UV)}function pointToSegmentDistance(lV,J,VV){const RV=(VV.x-J.x)**2+(VV.y-J.y)**2;if(RV===0)return distance(lV,J);let UV=((lV.x-J.x)*(VV.x-J.x)+(lV.y-J.y)*(VV.y-J.y))/RV;UV=Math.max(0,Math.min(1,UV));const ZV={x:J.x+UV*(VV.x-J.x),y:J.y+UV*(VV.y-J.y)};return distance(lV,ZV)}function distance(lV,J){const VV=lV.x-J.x,RV=lV.y-J.y;return Math.sqrt(VV*VV+RV*RV)}function findConnectedNetworks(lV){const J=new Map;let VV=0;function RV(UV){for(const[,WV]of J)if(WV.has(UV))return WV;const ZV=new Set;return J.set(`connectivity_net${VV++}`,ZV),ZV}for(const UV of lV){let ZV=null;for(const WV of UV){if(!ZV)ZV=RV(WV);else if(!ZV.has(WV)){const IV=RV(WV);if(IV!==ZV){for(const dV of IV)ZV.add(dV);J.delete(Array.from(J.entries()).find(([,dV])=>dV===IV)[0])}}ZV.add(WV)}}return Object.fromEntries(Array.from(J.entries()).map(([UV,ZV])=>[UV,Array.from(ZV)]))}var ConnectivityMap=class{constructor(lV){MI(this,"netMap");MI(this,"idToNetMap");this.netMap=lV,this.idToNetMap={};for(const[J,VV]of Object.entries(lV))for(const RV of VV)this.idToNetMap[RV]=J}addConnections(lV){for(const J of lV){const VV=new Set;for(const UV of J){const ZV=this.idToNetMap[UV];ZV&&VV.add(ZV)}let RV;if(VV.size===0)RV=`connectivity_net${Object.keys(this.netMap).length}`,this.netMap[RV]=[];else if(VV.size===1)RV=VV.values().next().value??`connectivity_net${Object.keys(this.netMap).length}`;else{RV=VV.values().next().value??`connectivity_net${Object.keys(this.netMap).length}`;for(const UV of VV)if(UV!==RV){this.netMap[RV].push(...this.netMap[UV]),this.netMap[UV]=this.netMap[RV];for(const ZV of this.netMap[RV])this.idToNetMap[ZV]=RV}}for(const UV of J)this.netMap[RV].includes(UV)||this.netMap[RV].push(UV),this.idToNetMap[UV]=RV}}getIdsConnectedToNet(lV){return this.netMap[lV]||[]}getNetConnectedToId(lV){return this.idToNetMap[lV]}areIdsConnected(lV,J){const VV=this.getNetConnectedToId(lV),RV=this.getNetConnectedToId(J);return VV===RV||RV===lV||RV===lV}areAllIdsConnected(lV){const J=this.getNetConnectedToId(lV[0]);for(const VV of lV){const RV=this.getNetConnectedToId(VV);if(RV===void 0||RV!==J)return!1}return!0}},getSourcePortConnectivityMapFromCircuitJson=lV=>{const J=[];for(const RV of lV)RV.type==="source_trace"&&J.push([...RV.connected_source_port_ids??[],...RV.connected_source_net_ids??[]]);const VV=findConnectedNetworks(J);return new ConnectivityMap(VV)},getFullConnectivityMapFromCircuitJson=lV=>{const J=[];for(const RV of lV)if(RV.type==="source_trace")J.push([RV.source_trace_id,...RV.connected_source_port_ids??[],...RV.connected_source_net_ids??[]].filter(Boolean));else if(RV.type==="pcb_port"){const{pcb_port_id:UV,source_port_id:ZV}=RV;ZV&&UV&&J.push([ZV,UV])}else if(RV.type==="pcb_smtpad"){const{pcb_smtpad_id:UV,pcb_port_id:ZV}=RV;ZV&&UV&&J.push([UV,ZV])}else if(RV.type==="pcb_plated_hole"){const{pcb_plated_hole_id:UV,pcb_port_id:ZV}=RV;ZV&&UV&&J.push([UV,ZV])}else if(RV.type==="pcb_trace"){const{pcb_trace_id:UV,source_trace_id:ZV}=RV;ZV&&UV&&J.push([UV,ZV])}const VV=findConnectedNetworks(J);return new ConnectivityMap(VV)},PcbConnectivityMap=class{constructor(lV){MI(this,"circuitJson");MI(this,"traceIdToElm");MI(this,"portIdToElm");MI(this,"connMap");this.circuitJson=lV||[],this.traceIdToElm=new Map,this.portIdToElm=new Map,lV?(this._buildTraceMap(),this._buildPortMap(),this.connMap=this._buildTraceConnectivityMap()):this.connMap=new ConnectivityMap({})}_buildPortMap(){for(const lV of this.circuitJson)lV.type==="pcb_port"&&this.portIdToElm.set(lV.pcb_port_id,lV)}_buildTraceMap(){for(const lV of this.circuitJson)lV.type==="pcb_trace"&&this.traceIdToElm.set(lV.pcb_trace_id,lV)}_buildTraceConnectivityMap(){const lV=[],J=Array.from(this.traceIdToElm.keys());for(let VV=0;VV<J.length;VV++)for(let RV=VV+1;RV<J.length;RV++){const UV=this.traceIdToElm.get(J[VV]),ZV=this.traceIdToElm.get(J[RV]);this._arePcbTracesConnected(UV,ZV)&&lV.push([J[VV],J[RV]])}for(const VV of this.portIdToElm.values())for(const RV of this.traceIdToElm.values())for(const UV of RV.route)UV.route_type==="wire"&&(UV.start_pcb_port_id===VV.pcb_port_id?lV.push([VV.pcb_port_id,RV.pcb_trace_id]):UV.end_pcb_port_id===VV.pcb_port_id&&lV.push([RV.pcb_trace_id,VV.pcb_port_id]));return new ConnectivityMap(findConnectedNetworks(lV))}addTrace(lV){this.traceIdToElm.set(lV.pcb_trace_id,lV);const J=[];for(const VV of lV.route)VV.route_type==="wire"&&(VV.start_pcb_port_id&&J.push([VV.start_pcb_port_id,lV.pcb_trace_id]),VV.end_pcb_port_id&&J.push([VV.end_pcb_port_id,lV.pcb_trace_id]));this.connMap.addConnections(J)}_arePcbTracesConnected(lV,J){for(let VV=0;VV<lV.route.length-1;VV++){const RV=lV.route[VV],UV=lV.route[VV+1];if(RV.route_type==="wire"&&UV.route_type==="wire")for(let ZV=0;ZV<J.route.length-1;ZV++){const WV=J.route[ZV],IV=J.route[ZV+1];if(WV.route_type!=="wire"||IV.route_type!=="wire")continue;if(doesLineIntersectLine([RV,UV],[WV,IV],{lineThickness:(RV.width+WV.width)/2}))return!0}}return!1}areTracesConnected(lV,J){return this.connMap.areIdsConnected(lV,J)}getAllTracesConnectedToTrace(lV){const J=this.connMap.getNetConnectedToId(lV);return J?this.connMap.getIdsConnectedToNet(J).filter(VV=>this.traceIdToElm.has(VV)).map(VV=>this.traceIdToElm.get(VV)):[]}getAllTracesConnectedToPort(lV){const J=this.connMap.getNetConnectedToId(lV);return J?this.connMap.getIdsConnectedToNet(J).filter(VV=>this.traceIdToElm.has(VV)).map(VV=>this.traceIdToElm.get(VV)):[]}};const dist$2=Object.freeze(Object.defineProperty({__proto__:null,ConnectivityMap,PcbConnectivityMap,findConnectedNetworks,getFullConnectivityMapFromCircuitJson,getSourcePortConnectivityMapFromCircuitJson},Symbol.toStringTag,{value:"Module"})),require$$11=getAugmentedNamespace(dist$2);var dist$1,hasRequiredDist$1;function requireDist$1(){if(hasRequiredDist$1)return dist$1;hasRequiredDist$1=1;function lV($l,VU){(VU==null||VU>$l.length)&&(VU=$l.length);for(var OR=0,nU=new Array(VU);OR<VU;OR++)nU[OR]=$l[OR];return nU}function J($l){if(Array.isArray($l))return $l}function VV($l){if(Array.isArray($l))return lV($l)}function RV($l){if($l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $l}function UV($l,VU,OR,nU,sR,PV,Rl){try{var Ml=$l[PV](Rl),rl=Ml.value}catch(eR){OR(eR);return}Ml.done?VU(rl):Promise.resolve(rl).then(nU,sR)}function ZV($l){return function(){var VU=this,OR=arguments;return new Promise(function(nU,sR){var PV=$l.apply(VU,OR);function Rl(rl){UV(PV,nU,sR,Rl,Ml,"next",rl)}function Ml(rl){UV(PV,nU,sR,Rl,Ml,"throw",rl)}Rl(void 0)})}}function WV($l,VU){if(!($l instanceof VU))throw new TypeError("Cannot call a class as a function")}function IV($l,VU,OR){return Il()?IV=Reflect.construct:IV=function(sR,PV,Rl){var Ml=[null];Ml.push.apply(Ml,PV);var rl=Function.bind.apply(sR,Ml),eR=new rl;return Rl&&HV(eR,Rl.prototype),eR},IV.apply(null,arguments)}function dV($l,VU){for(var OR=0;OR<VU.length;OR++){var nU=VU[OR];nU.enumerable=nU.enumerable||!1,nU.configurable=!0,"value"in nU&&(nU.writable=!0),Object.defineProperty($l,nU.key,nU)}}function CV($l,VU,OR){return VU&&dV($l.prototype,VU),OR&&dV($l,OR),$l}function FV($l,VU,OR){return VU in $l?Object.defineProperty($l,VU,{value:OR,enumerable:!0,configurable:!0,writable:!0}):$l[VU]=OR,$l}function NV($l){return NV=Object.setPrototypeOf?Object.getPrototypeOf:function(OR){return OR.__proto__||Object.getPrototypeOf(OR)},NV($l)}function gV($l,VU){if(typeof VU!="function"&&VU!==null)throw new TypeError("Super expression must either be null or a function");$l.prototype=Object.create(VU&&VU.prototype,{constructor:{value:$l,writable:!0,configurable:!0}}),VU&&HV($l,VU)}function eV($l,VU){return VU!=null&&typeof Symbol<"u"&&VU[Symbol.hasInstance]?!!VU[Symbol.hasInstance]($l):$l instanceof VU}function JV($l){return Function.toString.call($l).indexOf("[native code]")!==-1}function nV($l){if(typeof Symbol<"u"&&$l[Symbol.iterator]!=null||$l["@@iterator"]!=null)return Array.from($l)}function aV($l,VU){var OR=$l==null?null:typeof Symbol<"u"&&$l[Symbol.iterator]||$l["@@iterator"];if(OR!=null){var nU=[],sR=!0,PV=!1,Rl,Ml;try{for(OR=OR.call($l);!(sR=(Rl=OR.next()).done)&&(nU.push(Rl.value),!(VU&&nU.length===VU));sR=!0);}catch(rl){PV=!0,Ml=rl}finally{try{!sR&&OR.return!=null&&OR.return()}finally{if(PV)throw Ml}}return nU}}function GV(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function cV(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function TV($l){for(var VU=1;VU<arguments.length;VU++){var OR=arguments[VU]!=null?arguments[VU]:{},nU=Object.keys(OR);typeof Object.getOwnPropertySymbols=="function"&&(nU=nU.concat(Object.getOwnPropertySymbols(OR).filter(function(sR){return Object.getOwnPropertyDescriptor(OR,sR).enumerable}))),nU.forEach(function(sR){FV($l,sR,OR[sR])})}return $l}function iV($l,VU){var OR=Object.keys($l);if(Object.getOwnPropertySymbols){var nU=Object.getOwnPropertySymbols($l);OR.push.apply(OR,nU)}return OR}function tV($l,VU){return VU=VU??{},Object.getOwnPropertyDescriptors?Object.defineProperties($l,Object.getOwnPropertyDescriptors(VU)):iV(Object(VU)).forEach(function(OR){Object.defineProperty($l,OR,Object.getOwnPropertyDescriptor(VU,OR))}),$l}function MV($l,VU){if($l==null)return{};var OR=AV($l,VU),nU,sR;if(Object.getOwnPropertySymbols){var PV=Object.getOwnPropertySymbols($l);for(sR=0;sR<PV.length;sR++)nU=PV[sR],!(VU.indexOf(nU)>=0)&&Object.prototype.propertyIsEnumerable.call($l,nU)&&(OR[nU]=$l[nU])}return OR}function AV($l,VU){if($l==null)return{};var OR={},nU=Object.keys($l),sR,PV;for(PV=0;PV<nU.length;PV++)sR=nU[PV],!(VU.indexOf(sR)>=0)&&(OR[sR]=$l[sR]);return OR}function pV($l,VU){return VU&&(qV(VU)==="object"||typeof VU=="function")?VU:RV($l)}function HV($l,VU){return HV=Object.setPrototypeOf||function(nU,sR){return nU.__proto__=sR,nU},HV($l,VU)}function oV($l,VU){return J($l)||aV($l,VU)||Cl($l,VU)||GV()}function DV($l,VU){return VU||(VU=$l.slice(0)),Object.freeze(Object.defineProperties($l,{raw:{value:Object.freeze(VU)}}))}function wV($l){return VV($l)||nV($l)||Cl($l)||cV()}function qV($l){"@swc/helpers - typeof";return $l&&typeof Symbol<"u"&&$l.constructor===Symbol?"symbol":typeof $l}function Cl($l,VU){if($l){if(typeof $l=="string")return lV($l,VU);var OR=Object.prototype.toString.call($l).slice(8,-1);if(OR==="Object"&&$l.constructor&&(OR=$l.constructor.name),OR==="Map"||OR==="Set")return Array.from(OR);if(OR==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(OR))return lV($l,VU)}}function nl($l){var VU=typeof Map=="function"?new Map:void 0;return nl=function(nU){if(nU===null||!JV(nU))return nU;if(typeof nU!="function")throw new TypeError("Super expression must either be null or a function");if(typeof VU<"u"){if(VU.has(nU))return VU.get(nU);VU.set(nU,sR)}function sR(){return IV(nU,arguments,NV(this).constructor)}return sR.prototype=Object.create(nU.prototype,{constructor:{value:sR,enumerable:!1,writable:!0,configurable:!0}}),HV(sR,nU)},nl($l)}function Il(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function LV($l){var VU=Il();return function(){var nU=NV($l),sR;if(VU){var PV=NV(this).constructor;sR=Reflect.construct(nU,arguments,PV)}else sR=nU.apply(this,arguments);return pV(this,sR)}}function OV($l,VU){var OR,nU,sR,PV,Rl={label:0,sent:function(){if(sR[0]&1)throw sR[1];return sR[1]},trys:[],ops:[]};return PV={next:Ml(0),throw:Ml(1),return:Ml(2)},typeof Symbol=="function"&&(PV[Symbol.iterator]=function(){return this}),PV;function Ml(eR){return function(ER){return rl([eR,ER])}}function rl(eR){if(OR)throw new TypeError("Generator is already executing.");for(;Rl;)try{if(OR=1,nU&&(sR=eR[0]&2?nU.return:eR[0]?nU.throw||((sR=nU.return)&&sR.call(nU),0):nU.next)&&!(sR=sR.call(nU,eR[1])).done)return sR;switch(nU=0,sR&&(eR=[eR[0]&2,sR.value]),eR[0]){case 0:case 1:sR=eR;break;case 4:return Rl.label++,{value:eR[1],done:!1};case 5:Rl.label++,nU=eR[1],eR=[0];continue;case 7:eR=Rl.ops.pop(),Rl.trys.pop();continue;default:if(sR=Rl.trys,!(sR=sR.length>0&&sR[sR.length-1])&&(eR[0]===6||eR[0]===2)){Rl=0;continue}if(eR[0]===3&&(!sR||eR[1]>sR[0]&&eR[1]<sR[3])){Rl.label=eR[1];break}if(eR[0]===6&&Rl.label<sR[1]){Rl.label=sR[1],sR=eR;break}if(sR&&Rl.label<sR[2]){Rl.label=sR[2],Rl.ops.push(eR);break}sR[2]&&Rl.ops.pop(),Rl.trys.pop();continue}eR=VU.call($l,Rl)}catch(ER){eR=[6,ER],nU=0}finally{OR=sR=0}if(eR[0]&5)throw eR[1];return{value:eR[0]?eR[1]:void 0,done:!0}}}var $V=function($l){YG[$l]=[];var VU=qN[$l].split("M").slice(1).map(function(eR){return eR.split("L").map(function(ER){return ER.trim().split(" ").map(parseFloat)})}),OR=!0,nU=!1,sR=void 0;try{for(var PV=VU[Symbol.iterator](),Rl;!(OR=(Rl=PV.next()).done);OR=!0)for(var Ml=Rl.value,rl=0;rl<Ml.length-1;rl++)YG[$l].push({x1:Ml[rl][0],y1:1-Ml[rl][1],x2:Ml[rl+1][0],y2:1-Ml[rl+1][1]})}catch(eR){nU=!0,sR=eR}finally{try{!OR&&PV.return!=null&&PV.return()}finally{if(nU)throw sR}}};function dl(){var $l=DV([`
22050
22050
  margin-top: 2px;
22051
22051
  padding: 4px;
@@ -22283,7 +22283,7 @@ void main() {
22283
22283
  [zustand devtools middleware] Unsupported __setState action format.
22284
22284
  When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
22285
22285
  and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
22286
- `);const cV=GV.state[IV];if(cV==null)return;JSON.stringify(UV.getState())!==JSON.stringify(cV)&&eV(cV);return}UV.dispatchFromDevtools&&typeof UV.dispatch=="function"&&UV.dispatch(GV)});case"DISPATCH":switch(nV.payload.type){case"RESET":return eV(JV),IV===void 0?FV==null?void 0:FV.init(UV.getState()):FV==null?void 0:FV.init(getTrackedConnectionState(dV.name));case"COMMIT":if(IV===void 0){FV==null||FV.init(UV.getState());return}return FV==null?void 0:FV.init(getTrackedConnectionState(dV.name));case"ROLLBACK":return parseJsonThen(nV.state,GV=>{if(IV===void 0){eV(GV),FV==null||FV.init(UV.getState());return}eV(GV[IV]),FV==null||FV.init(getTrackedConnectionState(dV.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return parseJsonThen(nV.state,GV=>{if(IV===void 0){eV(GV);return}JSON.stringify(UV.getState())!==JSON.stringify(GV[IV])&&eV(GV[IV])});case"IMPORT_STATE":{const{nextLiftedState:GV}=nV.payload,cV=(aV=GV.computedStates.slice(-1)[0])==null?void 0:aV.state;if(!cV)return;eV(IV===void 0?cV:cV[IV]),FV==null||FV.send(null,GV);return}case"PAUSE_RECORDING":return gV=!gV}return}}),JV},devtools=devtoolsImpl,parseJsonThen=(lV,J)=>{let VV;try{VV=JSON.parse(lV)}catch(RV){console.error("[zustand devtools middleware] Could not parse the received json",RV)}VV!==void 0&&J(VV)},API_BASE=window.API_BASE_URL??"/api",debug$4=Debug$1("run-frame"),debug$3=debug$4.extend("store");async function upsertFileApi(lV,J){return(await(await fetch(`${API_BASE}/files/upsert`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({file_path:lV,text_content:J})})).json()).file}async function getFileApi(lV){return(await(await fetch(`${API_BASE}/files/get?file_path=${encodeURIComponent(lV)}`)).json()).file}async function getEvents(lV){const J=lV?`${API_BASE}/events/list?since=${encodeURIComponent(lV)}`:`${API_BASE}/events/list`;return(await(await fetch(J)).json()).event_list}async function getInitialFilesApi(){const lV=await fetch(`${API_BASE}/files/list`),{file_list:J}=await lV.json(),VV=new Map;for(const RV of J){const UV=await getFileApi(RV.file_path);VV.set(RV.file_path,UV.text_content)}return VV}const useRunFrameStore=create$1()(devtools((lV,J)=>({fsMap:new Map,lastEventTime:new Date().toISOString(),isPolling:!1,error:null,circuitJson:null,lastManualEditsChangeSentAt:0,recentEvents:[],loadInitialFiles:async()=>{const VV=await getInitialFilesApi();debug$3("loaded initial files",{fsMap:VV}),lV({fsMap:VV})},upsertFile:async(VV,RV)=>{try{const UV=await upsertFileApi(VV,RV);lV(ZV=>({fsMap:new Map(ZV.fsMap).set(UV.file_path,UV.text_content)}))}catch(UV){lV({error:UV})}},getFile:async VV=>{try{const RV=await getFileApi(VV);lV(UV=>({fsMap:new Map(UV.fsMap).set(RV.file_path,RV.text_content)}))}catch(RV){lV({error:RV})}},setCircuitJson:VV=>{VV!==J().circuitJson&&lV({circuitJson:VV})},startPolling:()=>{const VV=async()=>{const RV=J();if(RV.isPolling){try{const UV=await getEvents(RV.lastEventTime);if(UV.length>0){lV(IV=>({recentEvents:[...IV.recentEvents,...UV].slice(0,100)}));const ZV=UV[UV.length-1].created_at,WV=new Map(RV.fsMap);for(const IV of UV)if(IV.event_type==="FILE_UPDATED"){const dV=await getFileApi(IV.file_path);if(IV.file_path==="manual_edits.json"&&Date.now()-RV.lastManualEditsChangeSentAt<1e3)continue;WV.set(dV.file_path,dV.text_content)}lV({fsMap:WV,lastEventTime:ZV})}}catch(UV){lV({error:UV})}setTimeout(VV,1e3)}};lV({isPolling:!0}),VV()},stopPolling:()=>{lV({isPolling:!1})},pushEvent:async VV=>{await fetch(`${window.API_BASE_URL??""}/api/events/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(VV)})},applyEditEventsAndUpdateManualEditsJson:async VV=>{debug$3("applyEditEventsAndUpdateManualEditsJson",{editEvents:VV});const RV=J();if(!RV.circuitJson)return;const UV=RV.fsMap.get("manual-edits.json"),ZV=UV?JSON.parse(UV):{},WV=applyEditEventsToManualEditsFile({circuitJson:RV.circuitJson,editEvents:VV,manualEditsFile:ZV});debug$3("updatedManualEditsFileContent",WV),lV(IV=>({lastManualEditsChangeSentAt:Date.now(),fsMap:new Map(IV.fsMap).set("manual-edits.json",JSON.stringify(WV))})),await upsertFileApi("manual-edits.json",JSON.stringify(WV,null,2))}}),{name:"run-frame-store"})),getChangesBetweenFsMaps=(lV,J)=>{const VV={};for(const[RV,UV]of lV.entries()){const ZV=J.get(RV);ZV!==UV&&(VV[RV]={old:UV,new:ZV})}for(const[RV,UV]of J.entries())lV.has(RV)||(VV[RV]={old:void 0,new:UV});return VV},debug$2=Debug$1("run-frame:RunFrame"),RunFrame=lV=>{const[J,VV]=useRunFrameStore(dV=>[dV.circuitJson,dV.setCircuitJson]),[RV,UV]=reactExports.useState(null);reactExports.useEffect(()=>{lV.debug&&Debug$1.enable("run-frame*")},[lV.debug]);const ZV=lV.fsMap instanceof Map?lV.fsMap:Object.entries(lV.fsMap??{}).reduce((dV,[CV,FV])=>dV.set(CV,FV),new Map),WV=reactExports.useRef(null),IV=reactExports.useRef(null);return reactExports.useEffect(()=>{if(!ZV)return;if(WV.current&&J){const CV=getChangesBetweenFsMaps(WV.current,ZV);if(Object.keys(CV).length>0)debug$2("render triggered by changes:",CV);else if(IV.current!==lV.entrypoint)debug$2("render triggered by entrypoint change");else{debug$2("render triggered without changes to fsMap, skipping");return}}WV.current=ZV,IV.current=lV.entrypoint;async function dV(){var eV,JV,nV,aV,GV;debug$2("running render worker");const CV=globalThis.runFrameWorker??await createCircuitWebWorker({webWorkerUrl:blobUrl,verbose:!0});globalThis.runFrameWorker=CV,(eV=lV.onRenderStarted)==null||eV.call(lV);const FV=ZV instanceof Map?Object.fromEntries(ZV.entries()):ZV,NV=CV.executeWithFsMap({entrypoint:lV.entrypoint,fsMap:FV}).catch(cV=>{const TV=cV.message.split(":")[1];UV({error:TV,stack:cV.stack}),console.error(cV)});debug$2("waiting for initial circuit json...");let gV=await CV.getCircuitJson().catch(cV=>{var TV;return debug$2("error getting initial circuit json",cV),(TV=lV.onError)==null||TV.call(lV,cV),null});gV&&(debug$2("got initial circuit json"),VV(gV),(JV=lV.onCircuitJsonChange)==null||JV.call(lV,gV),(nV=lV.onInitialRender)==null||nV.call(lV,{circuitJson:gV}),debug$2("waiting for execution to finish..."),await NV,debug$2("getting final circuit json"),gV=await CV.getCircuitJson(),(aV=lV.onCircuitJsonChange)==null||aV.call(lV,gV),VV(gV),(GV=lV.onRenderFinished)==null||GV.call(lV,{circuitJson:gV}))}dV()},[lV.fsMap,lV.entrypoint]),jsxRuntimeExports.jsx(CircuitJsonPreview,{defaultActiveTab:"schematic",leftHeaderContent:lV.leftHeaderContent,circuitJson:J,errorMessage:RV==null?void 0:RV.error,onEditEvent:lV.onEditEvent,editEvents:lV.editEvents})},debug$1=debug$4.extend("useEditEventController"),useEditEventController=()=>{const lV=useRunFrameStore(eV=>eV.applyEditEventsAndUpdateManualEditsJson),[J,VV]=reactExports.useState([]),[RV,UV]=reactExports.useState(!1),ZV=J.filter(eV=>!eV._applied),WV=J.filter(eV=>eV._applied),IV=RV?J:ZV,dV=reactExports.useCallback(eV=>{VV(JV=>[...JV,{...eV,_applied:!1}])},[]),CV=reactExports.useCallback(eV=>{VV(JV=>JV.map(nV=>nV===eV?{...nV,_applied:!0}:nV))},[]),FV=reactExports.useCallback(()=>{VV(eV=>eV.map(JV=>({...JV,_applied:!0})))},[]),NV=reactExports.useCallback(()=>{UV(!0),J.length!==0&&(debug$1("removing edit events that are applied"),VV(eV=>eV.filter(JV=>!JV._applied)))},[J]),gV=reactExports.useCallback(()=>{UV(!1)},[]);return reactExports.useEffect(()=>{if(J.filter(JV=>!JV._applied).length===0)return;const eV=setTimeout(()=>{FV(),lV(J)},1e3);return()=>clearTimeout(eV)},[J]),{unappliedEditEvents:ZV,appliedEditEvents:WV,editEventsForRender:IV,pushEditEvent:dV,markEditEventApplied:CV,markRenderStarted:NV,markRenderComplete:gV,markAllEditEventsApplied:FV}},debug=Debug$1("run-frame:RunFrameWithApi"),guessEntrypoint=lV=>lV.find(J=>J.includes("entrypoint."))??lV.find(J=>J.includes("index."))??lV.find(J=>J.includes("main."))??lV.find(J=>J.endsWith(".tsx")),RunFrameWithApi=lV=>{const{apiBaseUrl:J,leftHeaderContent:VV}=lV;reactExports.useEffect(()=>{lV.debug&&Debug$1.enable("run-frame*")},[lV.debug]);const{startPolling:RV,stopPolling:UV,loadInitialFiles:ZV}=useRunFrameStore(gV=>({startPolling:gV.startPolling,stopPolling:gV.stopPolling,loadInitialFiles:gV.loadInitialFiles})),WV=useRunFrameStore(gV=>gV.fsMap);reactExports.useEffect(()=>{ZV()},[]);const{editEventsForRender:IV,pushEditEvent:dV,markRenderStarted:CV,markRenderComplete:FV}=useEditEventController();reactExports.useEffect(()=>{J&&(window.API_BASE_URL=J)},[J]),reactExports.useEffect(()=>(RV(),()=>UV()),[RV,UV]);const NV=guessEntrypoint(Array.from(WV.keys()))??"entrypoint.tsx";return reactExports.useEffect(()=>{debug(`entrypoint set to ${NV}`,{fsKeys:Array.from(WV.keys())})},[NV]),WV.get(NV)?jsxRuntimeExports.jsx(RunFrame,{fsMap:WV,leftHeaderContent:VV,onInitialRender:()=>{debug("onInitialRender / markRenderStarted"),CV()},onRenderFinished:()=>{debug("onRenderFinished / markRenderComplete"),FV()},entrypoint:NV,onError:gV=>{console.error("RunFrame error:",gV)},editEvents:IV,onEditEvent:gV=>{dV(gV),fetch(`${API_BASE}/events/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({event_type:"USER_CREATED_MANUAL_EDIT",...gV})})}}):jsxRuntimeExports.jsxs("div",{children:["No entrypoint found for Run Frame! Found files:"," ",Array.from(WV.keys()).join(",")]})},SelectSnippetDialog=({snippetNames:lV,onSelect:J,onCancel:VV,isOpen:RV})=>{const[UV,ZV]=reactExports.useState(""),[WV,IV]=reactExports.useState("");if(!RV)return null;const dV=lV.filter(NV=>NV.toLowerCase().includes(WV.toLowerCase())),CV=WV&&!lV.includes(WV),FV=NV=>{NV.key==="Enter"&&(dV.length===1?ZV(dV[0]):CV&&ZV(WV))};return jsxRuntimeExports.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-[100]",children:jsxRuntimeExports.jsxs("div",{className:"bg-white rounded-lg p-6 w-96",children:[jsxRuntimeExports.jsx("h2",{className:"text-lg font-semibold mb-4",children:"Select Snippet"}),jsxRuntimeExports.jsx("input",{type:"text",className:"w-full px-4 py-2 border rounded mb-4",placeholder:"Search snippets or new snippet name...",value:WV,onChange:NV=>IV(NV.target.value),onKeyDown:FV}),jsxRuntimeExports.jsxs("div",{className:"h-60 overflow-y-auto",children:[dV.map(NV=>jsxRuntimeExports.jsx("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 ${UV===NV?"bg-blue-50":""}`,onClick:()=>ZV(NV),children:NV},NV)),CV&&jsxRuntimeExports.jsxs("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 text-blue-500 ${UV===WV?"bg-blue-50":""}`,onClick:()=>ZV(WV),children:['Create new "',WV,'"']})]}),jsxRuntimeExports.jsxs("div",{className:"mt-4 flex justify-end gap-2",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"px-4 py-2 text-gray-600 hover:text-gray-800",onClick:VV,children:"Cancel"}),jsxRuntimeExports.jsx("button",{type:"button",className:"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 disabled:opacity-50",onClick:()=>UV&&J(UV),disabled:!UV,children:UV===WV?`Create "${UV}"`:`Save to ${UV}`})]})]})})},useEventHandler=lV=>{const J=reactExports.useRef(null),VV=useRunFrameStore(RV=>RV.recentEvents);reactExports.useEffect(()=>{if(VV.length===0)return;const RV=VV[0];RV.event_id!==J.current&&(lV(RV),J.current=RV.event_id)},[VV,lV])},SaveToSnippetsButton=()=>{const[lV,J]=reactExports.useState(null),[VV,RV]=reactExports.useState(!1),[UV,ZV]=reactExports.useState(!0),WV=useRunFrameStore(GV=>GV.pushEvent),IV=useRunFrameStore(GV=>GV.recentEvents),[dV,CV]=reactExports.useState(!1),[FV,NV]=reactExports.useState(null),[gV,eV]=reactExports.useState(null),[JV,nV]=reactExports.useState(!1),aV=reactExports.useMemo(()=>Date.now(),[]);return useEventHandler(GV=>{if(!(new Date(GV.created_at).valueOf()<aV+500)){if(GV.event_type==="FILE_UPDATED"){RV(!0);return}if(GV.event_type==="SNIPPET_SAVED"){RV(!1),ZV(!1);return}}}),reactExports.useEffect(()=>{if(!dV||FV===null)return;const GV=IV.filter(iV=>new Date(iV.created_at).valueOf()>FV),cV=GV.find(iV=>iV.event_type==="FAILED_TO_SAVE_SNIPPET"),TV=GV.find(iV=>iV.event_type==="SNIPPET_SAVED");cV&&(CV(!1),NV(null),cV.error_code==="SNIPPET_UNSET"&&cV.available_snippet_names&&(eV(cV.available_snippet_names),nV(!0))),TV&&(CV(!1),NV(null))},[IV,dV]),jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("button",{type:"button",onClick:async()=>{CV(!0),NV(Date.now()),await WV({event_type:"REQUEST_TO_SAVE_SNIPPET",snippet_name:lV})},disabled:dV,className:`px-3 flex items-center text-sm py-1.5 rounded-md ${dV?"cursor-not-allowed":"bg-white border border-gray-300 font-medium text-gray-900 shadow-sm"}`,children:[dV?"Saving...":"Save to Snippets",dV||UV?null:jsxRuntimeExports.jsx("span",{className:"ml-1.5 flex items-center",children:VV?jsxRuntimeExports.jsx("div",{className:"text-xs bg-orange-400 text-white p-0.5 px-1.5 rounded",children:"unsaved changes"}):jsxRuntimeExports.jsx(CircleCheck,{className:"w-4 h-4 text-green-500"})})]}),jsxRuntimeExports.jsx(SelectSnippetDialog,{snippetNames:gV??[],onSelect:async GV=>{CV(!0),NV(Date.now()),J(GV),await WV({event_type:"REQUEST_TO_SAVE_SNIPPET",snippet_name:GV}),nV(!1)},onCancel:()=>nV(!1),isOpen:JV})]})},RunFrameForCli=lV=>jsxRuntimeExports.jsx(RunFrameWithApi,{debug:lV.debug,leftHeaderContent:jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(SaveToSnippetsButton,{})})}),root=clientExports.createRoot(document.getElementById("root"));root.render(jsxRuntimeExports.jsx(React.StrictMode,{children:jsxRuntimeExports.jsx("div",{style:{width:"100vw",height:"100vh"},children:jsxRuntimeExports.jsx(RunFrameForCli,{debug:window.location.search.includes("debug")})})}));var t=typeof self<"u"?self:{};function e(lV,J){V:{for(var VV=["CLOSURE_FLAGS"],RV=t,UV=0;UV<VV.length;UV++)if((RV=RV[VV[UV]])==null){VV=null;break V}VV=RV}return(lV=VV&&VV[lV])!=null?lV:J}function n(){throw Error("Invalid UTF8")}function r(lV,J){return J=String.fromCharCode.apply(null,J),lV==null?J:lV+J}let i$1,s;const o=typeof TextDecoder<"u";let a;const h=typeof TextEncoder<"u";function c(lV){if(h)lV=(a||(a=new TextEncoder)).encode(lV);else{let VV=0;const RV=new Uint8Array(3*lV.length);for(let UV=0;UV<lV.length;UV++){var J=lV.charCodeAt(UV);if(J<128)RV[VV++]=J;else{if(J<2048)RV[VV++]=J>>6|192;else{if(J>=55296&&J<=57343){if(J<=56319&&UV<lV.length){const ZV=lV.charCodeAt(++UV);if(ZV>=56320&&ZV<=57343){J=1024*(J-55296)+ZV-56320+65536,RV[VV++]=J>>18|240,RV[VV++]=J>>12&63|128,RV[VV++]=J>>6&63|128,RV[VV++]=63&J|128;continue}UV--}J=65533}RV[VV++]=J>>12|224,RV[VV++]=J>>6&63|128}RV[VV++]=63&J|128}}lV=VV===RV.length?RV:RV.subarray(0,VV)}return lV}var u,l=e(610401301,!1),f=e(653718497,e(1,!0)),d=e(660014094,!1);const p=t.navigator;function g(lV){return!!l&&!!u&&u.brands.some(({brand:J})=>J&&J.indexOf(lV)!=-1)}function m(lV){var J;return(J=t.navigator)&&(J=J.userAgent)||(J=""),J.indexOf(lV)!=-1}function y(){return!!l&&!!u&&u.brands.length>0}function _(){return y()?g("Chromium"):(m("Chrome")||m("CriOS"))&&!(!y()&&m("Edge"))||m("Silk")}function v(lV){return v[" "](lV),lV}u=p&&p.userAgentData||null,v[" "]=function(){};var E=!y()&&(m("Trident")||m("MSIE"));!m("Android")||_(),_(),m("Safari")&&(_()||!y()&&m("Coast")||!y()&&m("Opera")||!y()&&m("Edge")||(y()?g("Microsoft Edge"):m("Edg/"))||y()&&g("Opera"));var w={},T=null;function A(lV){var J=lV.length,VV=3*J/4;VV%3?VV=Math.floor(VV):"=.".indexOf(lV[J-1])!=-1&&(VV="=.".indexOf(lV[J-2])!=-1?VV-2:VV-1);var RV=new Uint8Array(VV),UV=0;return function(ZV,WV){function IV(eV){for(;dV<ZV.length;){var JV=ZV.charAt(dV++),nV=T[JV];if(nV!=null)return nV;if(!/^[\s\xa0]*$/.test(JV))throw Error("Unknown base64 encoding at char: "+JV)}return eV}b();for(var dV=0;;){var CV=IV(-1),FV=IV(0),NV=IV(64),gV=IV(64);if(gV===64&&CV===-1)break;WV(CV<<2|FV>>4),NV!=64&&(WV(FV<<4&240|NV>>2),gV!=64&&WV(NV<<6&192|gV))}}(lV,function(ZV){RV[UV++]=ZV}),UV!==VV?RV.subarray(0,UV):RV}function b(){if(!T){T={};for(var lV="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),J=["+/=","+/","-_=","-_.","-_"],VV=0;VV<5;VV++){var RV=lV.concat(J[VV].split(""));w[VV]=RV;for(var UV=0;UV<RV.length;UV++){var ZV=RV[UV];T[ZV]===void 0&&(T[ZV]=UV)}}}}var k=typeof Uint8Array<"u",S=!E&&typeof btoa=="function";function x(lV){if(!S){var J;J===void 0&&(J=0),b(),J=w[J];var VV=Array(Math.floor(lV.length/3)),RV=J[64]||"";let dV=0,CV=0;for(;dV<lV.length-2;dV+=3){var UV=lV[dV],ZV=lV[dV+1],WV=lV[dV+2],IV=J[UV>>2];UV=J[(3&UV)<<4|ZV>>4],ZV=J[(15&ZV)<<2|WV>>6],WV=J[63&WV],VV[CV++]=IV+UV+ZV+WV}switch(IV=0,WV=RV,lV.length-dV){case 2:WV=J[(15&(IV=lV[dV+1]))<<2]||RV;case 1:lV=lV[dV],VV[CV]=J[lV>>2]+J[(3&lV)<<4|IV>>4]+WV+RV}return VV.join("")}for(J="",VV=0,RV=lV.length-10240;VV<RV;)J+=String.fromCharCode.apply(null,lV.subarray(VV,VV+=10240));return J+=String.fromCharCode.apply(null,VV?lV.subarray(VV):lV),btoa(J)}const L=/[-_.]/g,R={"-":"+",_:"/",".":"="};function F(lV){return R[lV]||""}function M(lV){if(!S)return A(lV);L.test(lV)&&(lV=lV.replace(L,F)),lV=atob(lV);const J=new Uint8Array(lV.length);for(let VV=0;VV<lV.length;VV++)J[VV]=lV.charCodeAt(VV);return J}function I(lV){return k&&lV!=null&&lV instanceof Uint8Array}var P={};let O;function C(lV){if(lV!==P)throw Error("illegal external caller")}function N(){return O||(O=new D(null,P))}function U(lV){C(P);var J=lV.ba;return(J=J==null||I(J)?J:typeof J=="string"?M(J):null)==null?J:lV.ba=J}var D=class{constructor(lV,J){if(C(J),this.ba=lV,lV!=null&&lV.length===0)throw Error("ByteString should be constructed with non-empty values")}ua(){return new Uint8Array(U(this)||0)}};function B(lV,J){lV.__closure__error__context__984382||(lV.__closure__error__context__984382={}),lV.__closure__error__context__984382.severity=J}let G;function j(){const lV=Error();B(lV,"incident"),function(J){t.setTimeout(()=>{throw J},0)}(lV)}function V(lV){return B(lV=Error(lV),"warning"),lV}function X(){return typeof BigInt=="function"}function H(lV){return Array.prototype.slice.call(lV)}var W=typeof Symbol=="function"&&typeof Symbol()=="symbol";function z(lV){return typeof Symbol=="function"&&typeof Symbol()=="symbol"?Symbol():lV}var K=z(),Y=z("0di"),$=z("2ex"),q=z("1oa"),Z=W?(lV,J)=>{lV[K]|=J}:(lV,J)=>{lV.G!==void 0?lV.G|=J:Object.defineProperties(lV,{G:{value:J,configurable:!0,writable:!0,enumerable:!1}})},Q=W?(lV,J)=>{lV[K]&=~J}:(lV,J)=>{lV.G!==void 0&&(lV.G&=~J)},tt=W?lV=>0|lV[K]:lV=>0|lV.G,et=W?lV=>lV[K]:lV=>lV.G,nt=W?(lV,J)=>{lV[K]=J}:(lV,J)=>{lV.G!==void 0?lV.G=J:Object.defineProperties(lV,{G:{value:J,configurable:!0,writable:!0,enumerable:!1}})};function rt(lV){return Z(lV,34),lV}function it(lV,J){nt(J,-14591&(0|lV))}function st(lV,J){nt(J,-14557&(34|lV))}var ot,at={},ht={};function ct(lV){return!(!lV||typeof lV!="object"||lV.La!==ht)}function ut(lV){return lV!==null&&typeof lV=="object"&&!Array.isArray(lV)&&lV.constructor===Object}function lt(lV,J,VV){if(lV!=null){if(typeof lV=="string")lV=lV?new D(lV,P):N();else if(lV.constructor!==D)if(I(lV))lV=lV.length?new D(VV?lV:new Uint8Array(lV),P):N();else{if(!J)throw Error();lV=void 0}}return lV}function ft(lV){return!(!Array.isArray(lV)||lV.length)&&!!(1&tt(lV))}const dt=[];function pt(lV){if(2&lV)throw Error()}nt(dt,55),ot=Object.freeze(dt);class gt{constructor(J,VV,RV){this.l=0,this.g=J,this.h=VV,this.m=RV}next(){if(this.l<this.g.length){const J=this.g[this.l++];return{done:!1,value:this.h?this.h.call(this.m,J):J}}return{done:!0,value:void 0}}[Symbol.iterator](){return new gt(this.g,this.h,this.m)}}let mt;function yt(lV,J){(J=mt?J[mt]:void 0)&&(lV[mt]=H(J))}var _t=Object.freeze({}),vt=Object.freeze({});function Et(lV){return lV.Sa=!0,lV}var wt=Et(lV=>typeof lV=="number"),Tt=Et(lV=>typeof lV=="string"),At=Et(lV=>typeof lV=="boolean"),bt=typeof t.BigInt=="function"&&typeof t.BigInt(0)=="bigint",kt=Et(lV=>bt?lV>=xt&&lV<=Rt:lV[0]==="-"?Ft(lV,St):Ft(lV,Lt));const St=Number.MIN_SAFE_INTEGER.toString(),xt=bt?BigInt(Number.MIN_SAFE_INTEGER):void 0,Lt=Number.MAX_SAFE_INTEGER.toString(),Rt=bt?BigInt(Number.MAX_SAFE_INTEGER):void 0;function Ft(lV,J){if(lV.length>J.length)return!1;if(lV.length<J.length||lV===J)return!0;for(let VV=0;VV<lV.length;VV++){const RV=lV[VV],UV=J[VV];if(RV>UV)return!1;if(RV<UV)return!0}}const Mt=typeof Uint8Array.prototype.slice=="function";let It,Pt=0,Ot=0;function Ct(lV){const J=lV>>>0;Pt=J,Ot=(lV-J)/4294967296>>>0}function Nt(lV){if(lV<0){Ct(-lV);const[J,VV]=Xt(Pt,Ot);Pt=J>>>0,Ot=VV>>>0}else Ct(lV)}function Ut(lV){const J=It||(It=new DataView(new ArrayBuffer(8)));J.setFloat32(0,+lV,!0),Ot=0,Pt=J.getUint32(0,!0)}function Dt(lV,J){return 4294967296*J+(lV>>>0)}function Bt(lV,J){const VV=2147483648&J;return VV&&(J=~J>>>0,(lV=1+~lV>>>0)==0&&(J=J+1>>>0)),lV=Dt(lV,J),VV?-lV:lV}function Gt(lV,J){if(lV>>>=0,(J>>>=0)<=2097151)var VV=""+(4294967296*J+lV);else X()?VV=""+(BigInt(J)<<BigInt(32)|BigInt(lV)):(lV=(16777215&lV)+6777216*(VV=16777215&(lV>>>24|J<<8))+6710656*(J=J>>16&65535),VV+=8147497*J,J*=2,lV>=1e7&&(VV+=lV/1e7>>>0,lV%=1e7),VV>=1e7&&(J+=VV/1e7>>>0,VV%=1e7),VV=J+jt(VV)+jt(lV));return VV}function jt(lV){return lV=String(lV),"0000000".slice(lV.length)+lV}function Vt(lV){if(lV.length<16)Nt(Number(lV));else if(X())lV=BigInt(lV),Pt=Number(lV&BigInt(4294967295))>>>0,Ot=Number(lV>>BigInt(32)&BigInt(4294967295));else{const J=+(lV[0]==="-");Ot=Pt=0;const VV=lV.length;for(let RV=J,UV=(VV-J)%6+J;UV<=VV;RV=UV,UV+=6){const ZV=Number(lV.slice(RV,UV));Ot*=1e6,Pt=1e6*Pt+ZV,Pt>=4294967296&&(Ot+=Math.trunc(Pt/4294967296),Ot>>>=0,Pt>>>=0)}if(J){const[RV,UV]=Xt(Pt,Ot);Pt=RV,Ot=UV}}}function Xt(lV,J){return J=~J,lV?lV=1+~lV:J+=1,[lV,J]}function Ht(lV){return lV==null||typeof lV=="number"?lV:lV==="NaN"||lV==="Infinity"||lV==="-Infinity"?Number(lV):void 0}function Wt(lV){return lV==null||typeof lV=="boolean"?lV:typeof lV=="number"?!!lV:void 0}const zt=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function Kt(lV){const J=typeof lV;switch(J){case"bigint":return!0;case"number":return Number.isFinite(lV)}return J==="string"&&zt.test(lV)}function Yt(lV){if(lV==null)return lV;if(typeof lV=="string"){if(!lV)return;lV=+lV}return typeof lV=="number"&&Number.isFinite(lV)?0|lV:void 0}function $t(lV){if(lV==null)return lV;if(typeof lV=="string"){if(!lV)return;lV=+lV}return typeof lV=="number"&&Number.isFinite(lV)?lV>>>0:void 0}function qt(lV){return lV[0]!=="-"&&(lV.length<20||lV.length===20&&Number(lV.substring(0,6))<184467)}function Jt(lV){return lV=Math.trunc(lV),Number.isSafeInteger(lV)||(Nt(lV),lV=Bt(Pt,Ot)),lV}function Zt(lV){var J=Math.trunc(Number(lV));if(Number.isSafeInteger(J))return String(J);if((J=lV.indexOf("."))!==-1&&(lV=lV.substring(0,J)),!(lV[0]==="-"?lV.length<20||lV.length===20&&Number(lV.substring(0,7))>-922337:lV.length<19||lV.length===19&&Number(lV.substring(0,6))<922337))if(Vt(lV),lV=Pt,2147483648&(J=Ot))if(X())lV=""+(BigInt(0|J)<<BigInt(32)|BigInt(lV>>>0));else{const[VV,RV]=Xt(lV,J);lV="-"+Gt(VV,RV)}else lV=Gt(lV,J);return lV}function Qt(lV){return lV==null?lV:typeof lV=="bigint"?(kt(lV)?lV=Number(lV):(lV=BigInt.asIntN(64,lV),lV=kt(lV)?Number(lV):String(lV)),lV):Kt(lV)?typeof lV=="number"?Jt(lV):Zt(lV):void 0}function te(lV){if(lV==null)return lV;var J=typeof lV;if(J==="bigint")return String(BigInt.asUintN(64,lV));if(Kt(lV)){if(J==="string")return J=Math.trunc(Number(lV)),Number.isSafeInteger(J)&&J>=0?lV=String(J):((J=lV.indexOf("."))!==-1&&(lV=lV.substring(0,J)),qt(lV)||(Vt(lV),lV=Gt(Pt,Ot))),lV;if(J==="number")return(lV=Math.trunc(lV))>=0&&Number.isSafeInteger(lV)?lV:function(VV){if(VV<0){Nt(VV);const RV=Gt(Pt,Ot);return VV=Number(RV),Number.isSafeInteger(VV)?VV:RV}return qt(String(VV))?VV:(Nt(VV),Dt(Pt,Ot))}(lV)}}function ee(lV){if(typeof lV!="string")throw Error();return lV}function ne(lV){if(lV!=null&&typeof lV!="string")throw Error();return lV}function re(lV){return lV==null||typeof lV=="string"?lV:void 0}function ie(lV,J,VV,RV){if(lV!=null&&typeof lV=="object"&&lV.Y===at)return lV;if(!Array.isArray(lV))return VV?2&RV?(lV=J[Y])?J=lV:(rt((lV=new J).u),J=J[Y]=lV):J=new J:J=void 0,J;let UV=VV=tt(lV);return UV===0&&(UV|=32&RV),UV|=2&RV,UV!==VV&&nt(lV,UV),new J(lV)}function se(lV,J,VV){if(J)V:{if(!Kt(J=lV))throw V("int64");switch(typeof J){case"string":J=Zt(J);break V;case"bigint":if(lV=J=BigInt.asIntN(64,J),Tt(lV)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(lV))throw Error(String(lV))}else if(wt(lV)&&!Number.isSafeInteger(lV))throw Error(String(lV));J=bt?BigInt(J):At(J)?J?"1":"0":Tt(J)?J.trim()||"0":String(J);break V;default:J=Jt(J)}}else J=Qt(lV);return typeof(VV=(lV=J)==null?VV?0:void 0:lV)=="string"&&(J=+VV,Number.isSafeInteger(J))?J:VV}function oe(lV){if(ce===void 0&&(ce=typeof Proxy=="function"?ye(Proxy):null),!ce||!me())return lV;let J=ae==null?void 0:ae.get(lV);return J||(Math.random()>.01?lV:(function(VV){if(le===void 0){const RV=new ce([],{});le=Array.prototype.concat.call([],RV).length===1}le&&typeof Symbol=="function"&&Symbol.isConcatSpreadable&&(VV[Symbol.isConcatSpreadable]=!0)}(lV),J=new ce(lV,{set:(VV,RV,UV)=>(j(),VV[RV]=UV,!0)}),function(VV,RV){(ae||(ae=new ue)).set(VV,RV),(he||(he=new ue)).set(RV,VV)}(lV,J),J))}let ae,he,ce,ue,le,fe,de,pe,ge;function me(){return ue===void 0&&(ue=typeof WeakMap=="function"?ye(WeakMap):null),ue}function ye(lV){try{return lV.toString().indexOf("[native code]")!==-1?lV:null}catch{return null}}function _e(lV,J,VV){var WV;if(f&&me()){if((WV=fe==null?void 0:fe.get(J))!=null&&WV.get(lV)){if(VV)return}else if(Math.random()>.01)return;var RV=lV.length;VV={length:RV};for(var UV=0;UV<Math.min(RV,10);UV++){if(RV<=10)var ZV=UV;else{ZV=RV/10;const IV=Math.floor(UV*ZV);ZV=IV+Math.floor(Math.random()*(Math.floor((UV+1)*ZV)-IV))}VV[ZV]=lV[ZV]}Ee(lV,VV)?((UV=(RV=fe||(fe=new ue)).get(J))||(UV=new ue,RV.set(J,UV)),UV.set(lV,VV)):(j(),Te(lV,J))}}function ve(lV,J){var RV;const VV=(RV=fe==null?void 0:fe.get(J))==null?void 0:RV.get(lV);VV&&!Ee(lV,VV)&&(j(),Te(lV,J))}function Ee(lV,J){if(lV.length!==J.length)return!1;for(const UV in J){var VV,RV=Number(UV);if((VV=Number.isInteger(RV))&&(VV=lV[RV],RV=J[RV],VV=!(Number.isNaN(VV)?Number.isNaN(RV):VV===RV)),VV)return!1}return!0}function we(lV){if(lV&&(fe!=null&&fe.has(lV))){var J=lV.u;if(J)for(let VV=0;VV<J.length;VV++){const RV=J[VV];if(VV===J.length-1&&ut(RV))for(const UV in RV){const ZV=RV[UV];Array.isArray(ZV)&&ve(ZV,lV)}else Array.isArray(RV)&&ve(RV,lV)}}}function Te(lV,J){var VV;(VV=fe==null?void 0:fe.get(J))==null||VV.delete(lV)}function Ae(lV,J){return lV=be(lV,J[0],J[1]),Z(lV,16384),lV}function be(lV,J,VV){if(lV==null&&(lV=de),de=void 0,lV==null){var RV=96;VV?(lV=[VV],RV|=512):lV=[],J&&(RV=-33521665&RV|(1023&J)<<15)}else{if(!Array.isArray(lV))throw Error("narr");if(2048&(RV=tt(lV)))throw Error("farr");if(64&RV)return lV;if(RV|=64,VV&&(RV|=512,VV!==lV[0]))throw Error("mid");V:{const UV=(VV=lV).length;if(UV){const ZV=UV-1;if(ut(VV[ZV])){if((J=ZV-(+!!(512&(RV|=256))-1))>=1024)throw Error("pvtlmt");RV=-33521665&RV|(1023&J)<<15;break V}}if(J){if((J=Math.max(J,UV-(+!!(512&RV)-1)))>1024)throw Error("spvt");RV=-33521665&RV|(1023&J)<<15}}}return nt(lV,RV),lV}const ke={};let Se=function(){try{return v(new class extends Map{constructor(){super()}}),!1}catch{return!0}}();class xe{constructor(){this.g=new Map}get(J){return this.g.get(J)}set(J,VV){return this.g.set(J,VV),this.size=this.g.size,this}delete(J){return J=this.g.delete(J),this.size=this.g.size,J}clear(){this.g.clear(),this.size=this.g.size}has(J){return this.g.has(J)}entries(){return this.g.entries()}keys(){return this.g.keys()}values(){return this.g.values()}forEach(J,VV){return this.g.forEach(J,VV)}[Symbol.iterator](){return this.entries()}}const Le=Se?(Object.setPrototypeOf(xe.prototype,Map.prototype),Object.defineProperties(xe.prototype,{size:{value:0,configurable:!0,enumerable:!0,writable:!0}}),xe):class extends Map{constructor(){super()}};function Re(lV){return lV}function Fe(lV){if(2&lV.M)throw Error("Cannot mutate an immutable Map")}var Me=class extends Le{constructor(lV,J,VV=Re,RV=Re){super();let UV=tt(lV);UV|=64,nt(lV,UV),this.M=UV,this.U=J,this.T=VV,this.aa=this.U?Ie:RV;for(let ZV=0;ZV<lV.length;ZV++){const WV=lV[ZV],IV=VV(WV[0],!1,!0);let dV=WV[1];J?dV===void 0&&(dV=null):dV=RV(WV[1],!1,!0,void 0,void 0,UV),super.set(IV,dV)}}pa(lV=Pe){if(this.size!==0)return this.Z(lV)}Z(lV=Pe){const J=[],VV=super.entries();for(var RV;!(RV=VV.next()).done;)(RV=RV.value)[0]=lV(RV[0]),RV[1]=lV(RV[1]),J.push(RV);return J}clear(){Fe(this),super.clear()}delete(lV){return Fe(this),super.delete(this.T(lV,!0,!1))}entries(){var lV=this.oa();return new gt(lV,Oe,this)}keys(){return this.Ka()}values(){var lV=this.oa();return new gt(lV,Me.prototype.get,this)}forEach(lV,J){super.forEach((VV,RV)=>{lV.call(J,this.get(RV),RV,this)})}set(lV,J){return Fe(this),(lV=this.T(lV,!0,!1))==null?this:J==null?(super.delete(lV),this):super.set(lV,this.aa(J,!0,!0,this.U,!1,this.M))}Qa(lV){const J=this.T(lV[0],!1,!0);lV=lV[1],lV=this.U?lV===void 0?null:lV:this.aa(lV,!1,!0,void 0,!1,this.M),super.set(J,lV)}has(lV){return super.has(this.T(lV,!1,!1))}get(lV){lV=this.T(lV,!1,!1);const J=super.get(lV);if(J!==void 0){var VV=this.U;return VV?((VV=this.aa(J,!1,!0,VV,this.va,this.M))!==J&&super.set(lV,VV),VV):J}}oa(){return Array.from(super.keys())}Ka(){return super.keys()}[Symbol.iterator](){return this.entries()}};function Ie(lV,J,VV,RV,UV,ZV){return lV=ie(lV,RV,VV,ZV),UV&&(lV=He(lV)),lV}function Pe(lV){return lV}function Oe(lV){return[lV,this.get(lV)]}let Ce;function Ne(){return Ce||(Ce=new Me(rt([]),void 0,void 0,void 0,ke))}function Ue(lV,J,VV,RV,UV){if(lV!=null){if(Array.isArray(lV))lV=ft(lV)?void 0:UV&&2&tt(lV)?lV:De(lV,J,VV,RV!==void 0,UV);else if(ut(lV)){const ZV={};for(let WV in lV)ZV[WV]=Ue(lV[WV],J,VV,RV,UV);lV=ZV}else lV=J(lV,RV);return lV}}function De(lV,J,VV,RV,UV){const ZV=RV||VV?tt(lV):0;RV=RV?!!(32&ZV):void 0;const WV=H(lV);for(let IV=0;IV<WV.length;IV++)WV[IV]=Ue(WV[IV],J,VV,RV,UV);return VV&&(yt(WV,lV),VV(ZV,WV)),WV}function Be(lV){return Ue(lV,Ge,void 0,void 0,!1)}function Ge(lV){return lV.Y===at?lV.toJSON():lV instanceof Me?lV.pa(Be):function(J){switch(typeof J){case"number":return isFinite(J)?J:String(J);case"bigint":return kt(J)?Number(J):String(J);case"boolean":return J?1:0;case"object":if(J)if(Array.isArray(J)){if(ft(J))return}else{if(I(J))return x(J);if(J instanceof D){const VV=J.ba;return VV==null?"":typeof VV=="string"?VV:J.ba=x(VV)}if(J instanceof Me)return J.pa()}}return J}(lV)}function je(lV,J,VV=st){if(lV!=null){if(k&&lV instanceof Uint8Array)return J?lV:new Uint8Array(lV);if(Array.isArray(lV)){var RV=tt(lV);return 2&RV?lV:(J&&(J=RV===0||!!(32&RV)&&!(64&RV||!(16&RV))),J?(nt(lV,-12293&(34|RV)),lV):De(lV,je,4&RV?st:VV,!0,!0))}return lV.Y===at?(VV=lV.u,lV=2&(RV=et(VV))?lV:Ve(lV,VV,RV,!0)):lV instanceof Me&&!(2&lV.M)&&(VV=rt(lV.Z(je)),lV=new Me(VV,lV.U,lV.T,lV.aa)),lV}}function Ve(lV,J,VV,RV){return we(lV),lV=lV.constructor,de=J=Xe(J,VV,RV),J=new lV(J),de=void 0,J}function Xe(lV,J,VV){const RV=VV||2&J?st:it,UV=!!(32&J);return lV=function(ZV,WV,IV){const dV=H(ZV);var CV=dV.length;const FV=256&WV?dV[CV-1]:void 0;for(CV+=FV?-1:0,WV=512&WV?1:0;WV<CV;WV++)dV[WV]=IV(dV[WV]);if(FV){WV=dV[WV]={};for(const NV in FV)WV[NV]=IV(FV[NV])}return yt(dV,ZV),dV}(lV,J,ZV=>je(ZV,UV,RV)),Z(lV,32|(VV?2:0)),lV}function He(lV){const J=lV.u,VV=et(J);return 2&VV?Ve(lV,J,VV,!1):lV}function We(lV,J,VV,RV){return!(4&J)||VV!=null}function ze(lV,J){return Ye(lV=lV.u,et(lV),J)}function Ke(lV,J,VV,RV){if(!((J=RV+(+!!(512&J)-1))<0||J>=lV.length||J>=VV))return lV[J]}function Ye(lV,J,VV,RV){if(VV===-1)return null;const UV=J>>15&1023||536870912;if(!(VV>=UV)){var ZV=lV.length;return RV&&256&J&&(RV=lV[ZV-1][VV])!=null?(Ke(lV,J,UV,VV)&&$!=null&&((J=(lV=G??(G={}))[$]||0)>=4||(lV[$]=J+1,j())),RV):Ke(lV,J,UV,VV)}return 256&J?lV[lV.length-1][VV]:void 0}function $e(lV,J,VV){const RV=lV.u;let UV=et(RV);return pt(UV),qe(RV,UV,J,VV),lV}function qe(lV,J,VV,RV){const UV=J>>15&1023||536870912;if(VV>=UV){let ZV,WV=J;if(256&J)ZV=lV[lV.length-1];else{if(RV==null)return WV;ZV=lV[UV+(+!!(512&J)-1)]={},WV|=256}return ZV[VV]=RV,VV<UV&&(lV[VV+(+!!(512&J)-1)]=void 0),WV!==J&&nt(lV,WV),WV}return lV[VV+(+!!(512&J)-1)]=RV,256&J&&VV in(lV=lV[lV.length-1])&&delete lV[VV],J}function Je(lV,J,VV,RV,UV){var ZV=2&J;UV=Ye(lV,J,VV,UV),Array.isArray(UV)||(UV=ot);const WV=!(2&RV);RV=!(1&RV);const IV=!!(32&J);let dV=tt(UV);return dV!==0||!IV||ZV||WV?1&dV||(dV|=1,nt(UV,dV)):(dV|=33,nt(UV,dV)),ZV?(lV=!1,2&dV||(rt(UV),lV=!!(4&dV)),(RV||lV)&&Object.freeze(UV)):(ZV=!!(2&dV)||!!(2048&dV),RV&&ZV?(UV=H(UV),ZV=1,IV&&!WV&&(ZV|=32),nt(UV,ZV),qe(lV,J,VV,UV)):WV&&32&dV&&!ZV&&Q(UV,32)),UV}function Ze(lV,J){lV=lV.u;let VV=et(lV);const RV=Ye(lV,VV,J),UV=Ht(RV);return UV!=null&&UV!==RV&&qe(lV,VV,J,UV),UV}function Qe(lV){lV=lV.u;let J=et(lV);const VV=Ye(lV,J,1),RV=lt(VV,!0,!!(34&J));return RV!=null&&RV!==VV&&qe(lV,J,1,RV),RV}function tn(){return _t===void 0?2:5}function en(lV,J,VV,RV,UV,ZV){const WV=lV.u;let IV=et(WV);RV=2&IV?1:RV,ZV=!!ZV,UV=nn(WV,IV,J,UV);var dV=tt(UV),CV=UV;if(ve(CV,lV),RV!==2&&RV!==1||Te(CV,lV),We(lV,dV,void 0)){4&dV&&(UV=H(UV),dV=vn(dV,IV),IV=qe(WV,IV,J,UV));let NV=CV=0;for(;CV<UV.length;CV++){const gV=VV(UV[CV]);gV!=null&&(UV[NV++]=gV)}NV<CV&&(UV.length=NV),dV=-4097&(20|(dV=rn(dV,IV))),nt(UV,dV&=-8193),2&dV&&Object.freeze(UV)}let FV;return RV===1||RV===4&&32&dV?sn(dV)||(lV=dV,(dV|=2)!==lV&&nt(UV,dV),Object.freeze(UV)):(VV=RV===5&&(!!(32&dV)||sn(dV)||!!(ae!=null&&ae.get(UV))),(RV===2||VV)&&sn(dV)&&(UV=H(UV),dV=En(dV=vn(dV,IV),IV,ZV),nt(UV,dV),IV=qe(WV,IV,J,UV)),sn(dV)||(J=dV,(dV=En(dV,IV,ZV))!==J&&nt(UV,dV)),VV?(FV=oe(UV),_e(UV,lV,!0)):RV!==2||ZV||(ae==null||ae.delete(UV))),FV||UV}function nn(lV,J,VV,RV){return lV=Ye(lV,J,VV,RV),Array.isArray(lV)?lV:ot}function rn(lV,J){return lV===0&&(lV=vn(lV,J)),1|lV}function sn(lV){return!!(2&lV)&&!!(4&lV)||!!(2048&lV)}function on(lV){lV=H(lV);for(let J=0;J<lV.length;J++){const VV=lV[J]=H(lV[J]);Array.isArray(VV[1])&&(VV[1]=rt(VV[1]))}return lV}function an(lV,J,VV,RV){lV=lV.u;let UV=et(lV);pt(UV),qe(lV,UV,J,(RV==="0"?Number(VV)===0:VV===RV)?void 0:VV)}function hn(lV,J){var VV=_s;return ln(cn(lV=lV.u),lV,et(lV),VV)===J?J:-1}function cn(lV){if(W)return lV[q]??(lV[q]=new Map);if(q in lV)return lV[q];const J=new Map;return Object.defineProperty(lV,q,{value:J}),J}function un(lV,J,VV,RV){const UV=cn(lV),ZV=ln(UV,lV,J,VV);return ZV!==RV&&(ZV&&(J=qe(lV,J,ZV)),UV.set(VV,RV)),J}function ln(lV,J,VV,RV){let UV=lV.get(RV);if(UV!=null)return UV;UV=0;for(let ZV=0;ZV<RV.length;ZV++){const WV=RV[ZV];Ye(J,VV,WV)!=null&&(UV!==0&&(VV=qe(J,VV,UV)),UV=WV)}return lV.set(RV,UV),UV}function fn(lV,J,VV,RV){let UV,ZV=et(lV);if((RV=Ye(lV,ZV,VV,RV))!=null&&RV.Y===at)return(J=He(RV))!==RV&&qe(lV,ZV,VV,J),J.u;if(Array.isArray(RV)){const WV=tt(RV);UV=2&WV?Xe(RV,WV,!1):RV,UV=Ae(UV,J)}else UV=Ae(void 0,J);return UV!==RV&&qe(lV,ZV,VV,UV),UV}function dn(lV,J,VV,RV){lV=lV.u;let UV=et(lV);return(J=ie(RV=Ye(lV,UV,VV,RV),J,!1,UV))!==RV&&J!=null&&qe(lV,UV,VV,J),J}function pn(lV,J,VV,RV=!1){if((J=dn(lV,J,VV,RV))==null)return J;if(lV=lV.u,!(2&(RV=et(lV)))){const UV=He(J);UV!==J&&qe(lV,RV,VV,J=UV)}return J}function gn(lV,J,VV,RV,UV,ZV,WV){const IV=lV.u;var dV=!!(2&J);UV=dV?1:UV,ZV=!!ZV,WV&&(WV=!dV),dV=nn(IV,J,RV);var CV=tt(dV),FV=dV;if(ve(FV,lV),UV!==2&&UV!==1||Te(FV,lV),!(FV=!!(4&CV))){var NV=dV,gV=J;const JV=!!(2&(CV=rn(CV,J)));JV&&(gV|=2);let nV=!JV,aV=!0,GV=0,cV=0;for(;GV<NV.length;GV++){const TV=ie(NV[GV],VV,!1,gV);if(TV instanceof VV){if(!JV){const iV=!!(2&tt(TV.u));nV&&(nV=!iV),aV&&(aV=iV)}NV[cV++]=TV}}cV<GV&&(NV.length=cV),CV|=4,CV=aV?16|CV:-17&CV,nt(NV,CV=nV?8|CV:-9&CV),JV&&Object.freeze(NV)}if(WV&&!(8&CV||!dV.length&&(UV===1||UV===4&&32&CV))){for(sn(CV)?(dV=H(dV),CV=vn(CV,J),J=qe(IV,J,RV,dV)):Te(dV,lV),VV=dV,WV=CV,NV=0;NV<VV.length;NV++)(CV=VV[NV])!==(gV=He(CV))&&(VV[NV]=gV);WV|=8,WV=VV.length?-17&WV:16|WV,nt(VV,WV),CV=WV}let eV;return UV===1||UV===4&&32&CV?sn(CV)||(lV=CV,(CV|=!dV.length||16&CV&&(!FV||32&CV)?2:2048)!==lV&&nt(dV,CV),Object.freeze(dV)):(FV=UV===5&&(!!(32&CV)||sn(CV)||!!(ae!=null&&ae.get(dV))),(UV===2||FV)&&sn(CV)&&(dV=H(dV),CV=En(CV=vn(CV,J),J,ZV),nt(dV,CV),J=qe(IV,J,RV,dV)),sn(CV)||(RV=CV,(CV=En(CV,J,ZV))!==RV&&nt(dV,CV)),FV?(eV=oe(dV),_e(dV,lV,!0)):UV!==2||ZV||(ae==null||ae.delete(dV))),eV||dV}function mn(lV,J,VV){const RV=et(lV.u);return gn(lV,RV,J,VV,tn(),!1,!(2&RV))}function yn(lV,J,VV,RV){return RV==null&&(RV=void 0),$e(lV,VV,RV)}function _n(lV,J,VV,RV){RV==null&&(RV=void 0);V:{lV=lV.u;let UV=et(lV);if(pt(UV),RV==null){const ZV=cn(lV);if(ln(ZV,lV,UV,VV)!==J)break V;ZV.set(VV,0)}else UV=un(lV,UV,VV,J);qe(lV,UV,J,RV)}}function vn(lV,J){return-2049&(lV=32|(2&J?2|lV:-3&lV))}function En(lV,J,VV){return 32&J&&VV||(lV&=-33),lV}function wn(lV,J,VV,RV){const UV=et(lV.u);pt(UV),lV=gn(lV,UV,VV,J,2,!0),VV=RV??new VV,lV.push(VV),2&tt(VV.u)?Q(lV,8):Q(lV,16)}function Tn(lV,J){return lV??J}function An(lV,J){return Yt(ze(lV,J))}function bn(lV,J){return Tn(Ze(lV,J),0)}function kn(lV,J){return Tn(re(ze(lV,J)),"")}function Sn(lV,J,VV){if(VV!=null&&typeof VV!="boolean")throw lV=typeof VV,Error(`Expected boolean but got ${lV!="object"?lV:VV?Array.isArray(VV)?"array":lV:"null"}: ${VV}`);$e(lV,J,VV)}function xn(lV,J,VV){if(VV!=null){if(typeof VV!="number"||!Number.isFinite(VV))throw V("int32");VV|=0}$e(lV,J,VV)}function Ln(lV,J,VV){if(VV!=null&&typeof VV!="number")throw Error(`Value of float/double field must be a number, found ${typeof VV}: ${VV}`);$e(lV,J,VV)}function Rn(lV,J,VV){{const IV=lV.u;let dV=et(IV);if(pt(dV),VV==null)qe(IV,dV,J);else{VV=(he==null?void 0:he.get(VV))||VV;var RV,UV=tt(VV),ZV=UV,WV=!!(2&UV)||Object.isFrozen(VV);if((RV=!WV)&&(RV=vt===void 0||!1),We(lV,UV)){UV=21,WV&&(VV=H(VV),ZV=0,UV=En(UV=vn(UV,dV),dV,!0));for(let CV=0;CV<VV.length;CV++)VV[CV]=ee(VV[CV])}RV?(VV=H(VV),ZV=0,UV=En(UV=vn(UV,dV),dV,!0)):WV||_e(VV,lV),UV!==ZV&&nt(VV,UV),qe(IV,dV,J,VV)}}}function Fn(lV,J,VV){pt(et(lV.u)),en(lV,J,re,2,void 0,!0).push(ee(VV))}function Mn(lV,J){return Error(`Invalid wire type: ${lV} (at position ${J})`)}function In(){return Error("Failed to read varint, encoding is invalid.")}function Pn(lV,J){return Error(`Tried to read past the end of the data ${J} > ${lV}`)}function On(lV){if(typeof lV=="string")return{buffer:M(lV),O:!1};if(Array.isArray(lV))return{buffer:new Uint8Array(lV),O:!1};if(lV.constructor===Uint8Array)return{buffer:lV,O:!1};if(lV.constructor===ArrayBuffer)return{buffer:new Uint8Array(lV),O:!1};if(lV.constructor===D)return{buffer:U(lV)||new Uint8Array(0),O:!0};if(lV instanceof Uint8Array)return{buffer:new Uint8Array(lV.buffer,lV.byteOffset,lV.byteLength),O:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}function Cn(lV,J){let VV,RV=0,UV=0,ZV=0;const WV=lV.h;let IV=lV.g;do VV=WV[IV++],RV|=(127&VV)<<ZV,ZV+=7;while(ZV<32&&128&VV);for(ZV>32&&(UV|=(127&VV)>>4),ZV=3;ZV<32&&128&VV;ZV+=7)VV=WV[IV++],UV|=(127&VV)<<ZV;if(Xn(lV,IV),VV<128)return J(RV>>>0,UV>>>0);throw In()}function Nn(lV){let J=0,VV=lV.g;const RV=VV+10,UV=lV.h;for(;VV<RV;){const ZV=UV[VV++];if(J|=ZV,(128&ZV)==0)return Xn(lV,VV),!!(127&J)}throw In()}function Un(lV){const J=lV.h;let VV=lV.g,RV=J[VV++],UV=127&RV;if(128&RV&&(RV=J[VV++],UV|=(127&RV)<<7,128&RV&&(RV=J[VV++],UV|=(127&RV)<<14,128&RV&&(RV=J[VV++],UV|=(127&RV)<<21,128&RV&&(RV=J[VV++],UV|=RV<<28,128&RV&&128&J[VV++]&&128&J[VV++]&&128&J[VV++]&&128&J[VV++]&&128&J[VV++])))))throw In();return Xn(lV,VV),UV}function Dn(lV){return Un(lV)>>>0}function Bn(lV){var J=lV.h;const VV=lV.g,RV=J[VV],UV=J[VV+1],ZV=J[VV+2];return J=J[VV+3],Xn(lV,lV.g+4),(RV<<0|UV<<8|ZV<<16|J<<24)>>>0}function Gn(lV){var J=Bn(lV);lV=2*(J>>31)+1;const VV=J>>>23&255;return J&=8388607,VV==255?J?NaN:lV*(1/0):VV==0?1401298464324817e-60*lV*J:lV*Math.pow(2,VV-150)*(J+8388608)}function jn(lV){return Un(lV)}function Vn(lV,J,{ea:VV=!1}={}){lV.ea=VV,J&&(J=On(J),lV.h=J.buffer,lV.m=J.O,lV.j=0,lV.l=lV.h.length,lV.g=lV.j)}function Xn(lV,J){if(lV.g=J,J>lV.l)throw Pn(lV.l,J)}function Hn(lV,J){if(J<0)throw Error(`Tried to read a negative byte length: ${J}`);const VV=lV.g,RV=VV+J;if(RV>lV.l)throw Pn(J,lV.l-VV);return lV.g=RV,VV}function Wn(lV,J){if(J==0)return N();var VV=Hn(lV,J);return lV.ea&&lV.m?VV=lV.h.subarray(VV,VV+J):(lV=lV.h,VV=VV===(J=VV+J)?new Uint8Array(0):Mt?lV.slice(VV,J):new Uint8Array(lV.subarray(VV,J))),VV.length==0?N():new D(VV,P)}Me.prototype.toJSON=void 0,Me.prototype.La=ht;var zn=[];function Kn(lV){var J=lV.g;if(J.g==J.l)return!1;lV.l=lV.g.g;var VV=Dn(lV.g);if(J=VV>>>3,!((VV&=7)>=0&&VV<=5))throw Mn(VV,lV.l);if(J<1)throw Error(`Invalid field number: ${J} (at position ${lV.l})`);return lV.m=J,lV.h=VV,!0}function Yn(lV){switch(lV.h){case 0:lV.h!=0?Yn(lV):Nn(lV.g);break;case 1:Xn(lV=lV.g,lV.g+8);break;case 2:if(lV.h!=2)Yn(lV);else{var J=Dn(lV.g);Xn(lV=lV.g,lV.g+J)}break;case 5:Xn(lV=lV.g,lV.g+4);break;case 3:for(J=lV.m;;){if(!Kn(lV))throw Error("Unmatched start-group tag: stream EOF");if(lV.h==4){if(lV.m!=J)throw Error("Unmatched end-group tag");break}Yn(lV)}break;default:throw Mn(lV.h,lV.l)}}function $n(lV,J,VV){const RV=lV.g.l,UV=Dn(lV.g),ZV=lV.g.g+UV;let WV=ZV-RV;if(WV<=0&&(lV.g.l=ZV,VV(J,lV,void 0,void 0,void 0),WV=ZV-lV.g.g),WV)throw Error(`Message parsing ended unexpectedly. Expected to read ${UV} bytes, instead read ${UV-WV} bytes, either the data ended unexpectedly or the message misreported its own length`);return lV.g.g=ZV,lV.g.l=RV,J}function qn(lV){var J=Dn(lV.g),VV=Hn(lV=lV.g,J);if(lV=lV.h,o){var RV,UV=lV;(RV=s)||(RV=s=new TextDecoder("utf-8",{fatal:!0})),J=VV+J,UV=VV===0&&J===UV.length?UV:UV.subarray(VV,J);try{var ZV=RV.decode(UV)}catch(IV){if(i$1===void 0){try{RV.decode(new Uint8Array([128]))}catch{}try{RV.decode(new Uint8Array([97])),i$1=!0}catch{i$1=!1}}throw!i$1&&(s=void 0),IV}}else{J=(ZV=VV)+J,VV=[];let IV,dV=null;for(;ZV<J;){var WV=lV[ZV++];WV<128?VV.push(WV):WV<224?ZV>=J?n():(IV=lV[ZV++],WV<194||(192&IV)!=128?(ZV--,n()):VV.push((31&WV)<<6|63&IV)):WV<240?ZV>=J-1?n():(IV=lV[ZV++],(192&IV)!=128||WV===224&&IV<160||WV===237&&IV>=160||(192&(RV=lV[ZV++]))!=128?(ZV--,n()):VV.push((15&WV)<<12|(63&IV)<<6|63&RV)):WV<=244?ZV>=J-2?n():(IV=lV[ZV++],(192&IV)!=128||IV-144+(WV<<28)>>30||(192&(RV=lV[ZV++]))!=128||(192&(UV=lV[ZV++]))!=128?(ZV--,n()):(WV=(7&WV)<<18|(63&IV)<<12|(63&RV)<<6|63&UV,WV-=65536,VV.push(55296+(WV>>10&1023),56320+(1023&WV)))):n(),VV.length>=8192&&(dV=r(dV,VV),VV.length=0)}ZV=r(dV,VV)}return ZV}function Jn(lV){const J=Dn(lV.g);return Wn(lV.g,J)}function Zn(lV,J,VV){var RV=Dn(lV.g);for(RV=lV.g.g+RV;lV.g.g<RV;)VV.push(J(lV.g))}var Qn=[];let tr;function er(lV,J,VV){J.g?J.m(lV,J.g,J.h,VV,!0):J.m(lV,J.h,VV,!0)}var nr=class{constructor(lV,J){this.u=be(lV,J)}toJSON(){return rr(this)}l(){var lV=vo;return lV.g?lV.l(this,lV.g,lV.h,!0):lV.l(this,lV.h,lV.defaultValue,!0)}clone(){const lV=this.u;return Ve(this,lV,et(lV),!1)}O(){return!!(2&tt(this.u))}};function rr(lV){we(lV),lV=tr?lV.u:De(lV.u,Ge,void 0,void 0,!1);{var J=!tr;let CV=lV.length;if(CV){var VV=lV[CV-1],RV=ut(VV);RV?CV--:VV=void 0;var UV=lV;if(RV){V:{var ZV,WV=VV,IV=!1;if(WV)for(let FV in WV)isNaN(+FV)?(ZV??(ZV={}))[FV]=WV[FV]:(RV=WV[FV],Array.isArray(RV)&&(ft(RV)||ct(RV)&&RV.size===0)&&(RV=null),RV==null&&(IV=!0),RV!=null&&((ZV??(ZV={}))[FV]=RV));if(IV||(ZV=WV),ZV)for(let FV in ZV){IV=ZV;break V}IV=null}WV=IV==null?VV!=null:IV!==VV}for(;CV>0&&((ZV=UV[CV-1])==null||ft(ZV)||ct(ZV)&&ZV.size===0);CV--)var dV=!0;(UV!==lV||WV||dV)&&(J?(dV||WV||IV)&&(UV.length=CV):UV=Array.prototype.slice.call(UV,0,CV),IV&&UV.push(IV)),dV=UV}else dV=lV}return dV}function ir(lV){return lV?/^\d+$/.test(lV)?(Vt(lV),new sr(Pt,Ot)):null:or||(or=new sr(0,0))}nr.prototype.Y=at,nr.prototype.toString=function(){try{return tr=!0,rr(this).toString()}finally{tr=!1}};var sr=class{constructor(lV,J){this.h=lV>>>0,this.g=J>>>0}};let or;function ar(lV){return lV?/^-?\d+$/.test(lV)?(Vt(lV),new hr(Pt,Ot)):null:cr||(cr=new hr(0,0))}var hr=class{constructor(lV,J){this.h=lV>>>0,this.g=J>>>0}};let cr;function ur(lV,J,VV){for(;VV>0||J>127;)lV.g.push(127&J|128),J=(J>>>7|VV<<25)>>>0,VV>>>=7;lV.g.push(J)}function lr(lV,J){for(;J>127;)lV.g.push(127&J|128),J>>>=7;lV.g.push(J)}function fr(lV,J){if(J>=0)lr(lV,J);else{for(let VV=0;VV<9;VV++)lV.g.push(127&J|128),J>>=7;lV.g.push(1)}}function dr(lV,J){lV.g.push(J>>>0&255),lV.g.push(J>>>8&255),lV.g.push(J>>>16&255),lV.g.push(J>>>24&255)}function pr(lV,J){J.length!==0&&(lV.l.push(J),lV.h+=J.length)}function gr(lV,J,VV){lr(lV.g,8*J+VV)}function mr(lV,J){return gr(lV,J,2),J=lV.g.end(),pr(lV,J),J.push(lV.h),J}function yr(lV,J){var VV=J.pop();for(VV=lV.h+lV.g.length()-VV;VV>127;)J.push(127&VV|128),VV>>>=7,lV.h++;J.push(VV),lV.h++}function _r(lV,J,VV){gr(lV,J,2),lr(lV.g,VV.length),pr(lV,lV.g.end()),pr(lV,VV)}function vr(lV,J,VV,RV){VV!=null&&(J=mr(lV,J),RV(VV,lV),yr(lV,J))}class Er{constructor(J,VV,RV){this.g=J,this.h=VV,this.qa=RV}}function wr(lV){return Array.isArray(lV)?lV[0]instanceof Er?lV:[gi,lV]:[lV,void 0]}function Tr(lV,J){if(Array.isArray(J)){var VV=tt(J);if(4&VV)return J;for(var RV=0,UV=0;RV<J.length;RV++){const ZV=lV(J[RV]);ZV!=null&&(J[UV++]=ZV)}return UV<RV&&(J.length=UV),nt(J,-12289&(5|VV)),2&VV&&Object.freeze(J),J}}const Ar=Symbol();function br(lV){let J=lV[Ar];if(!J){const VV=Ur(lV),RV=VV.h;J=RV?(UV,ZV)=>RV(UV,ZV,VV):(UV,ZV)=>{var CV;for(;Kn(ZV)&&ZV.h!=4;){var WV=ZV.m;let FV=VV[WV];const NV=!FV;let gV=!1;if(!FV){var IV=VV.X;if(IV){var dV=IV[WV];dV&&(gV=(CV=IV.P)==null?void 0:CV[WV],(!d||gV)&&(IV=kr(dV))&&(FV=VV[WV]=IV))}}FV&&FV(ZV,UV,WV)||(WV=(IV=ZV).l,Yn(IV),IV.ja?IV=void 0:(dV=IV.g.g-WV,IV.g.g=WV,IV=Wn(IV.g,dV)),WV=UV,IV&&(mt||(mt=Symbol()),(dV=WV[mt])?dV.push(IV):WV[mt]=[IV])),NV&&FV&&!gV&&Wr++<5&&j()}},lV[Ar]=J}return J}function kr(lV){const J=(lV=wr(lV))[0].g;if(lV=lV[1]){const VV=br(lV),RV=Ur(lV).g;return(UV,ZV,WV)=>J(UV,ZV,WV,RV,VV)}return J}function Sr(lV,J,VV){lV[J]=VV}function xr(lV,J,VV,RV){var UV=Sr;J.g=function(NV){switch(typeof NV){case"boolean":return pe||(pe=[0,void 0,!0]);case"number":return NV>0?void 0:NV===0?ge||(ge=[0,void 0]):[-NV,void 0];case"string":return[0,NV];case"object":return NV}}(lV[0]);let ZV=0;var WV=lV[++ZV];WV&&WV.constructor===Object&&(J.X=WV,typeof(WV=lV[++ZV])=="function"&&(J.h=WV,J.l=lV[++ZV],WV=lV[++ZV]));const IV={};for(;Array.isArray(WV)&&typeof WV[0]=="number"&&WV[0]>0;){for(var dV=0;dV<WV.length;dV++)IV[WV[dV]]=WV;WV=lV[++ZV]}for(dV=1;WV!==void 0;){let NV;typeof WV=="number"&&(dV+=WV,WV=lV[++ZV]);var CV=void 0;if(WV instanceof Er?NV=WV:(NV=mi,ZV--),NV.qa){WV=lV[++ZV],CV=lV;var FV=ZV;typeof WV=="function"&&(WV=WV(),CV[FV]=WV),CV=WV}for(FV=dV+1,typeof(WV=lV[++ZV])=="number"&&WV<0&&(FV-=WV,WV=lV[++ZV]);dV<FV;dV++){const gV=IV[dV];UV(J,dV,CV?RV(NV,CV,gV):VV(NV,gV))}}return J}const Lr=Symbol();function Rr(lV){let J=lV[Lr];if(!J){const VV=Pr(lV);J=(RV,UV)=>Br(RV,UV,VV),lV[Lr]=J}return J}const Fr=Symbol();function Mr(lV){return lV.h}function Ir(lV,J){let VV,RV;const UV=lV.h;return(ZV,WV,IV)=>UV(ZV,WV,IV,RV||(RV=Pr(J).g),VV||(VV=Rr(J)))}function Pr(lV){let J=lV[Fr];return J||(J=xr(lV,lV[Fr]={},Mr,Ir))}const Or=Symbol();function Cr(lV,J){const VV=lV.g;return J?(RV,UV,ZV)=>VV(RV,UV,ZV,J):VV}function Nr(lV,J,VV){const RV=lV.g;let UV,ZV;return(WV,IV,dV)=>RV(WV,IV,dV,ZV||(ZV=Ur(J).g),UV||(UV=br(J)),VV)}function Ur(lV){let J=lV[Or];return J||(J=xr(lV,lV[Or]={},Cr,Nr))}function Dr(lV,J){var ZV;var VV=lV[J];if(VV)return VV;if(VV=lV.X){var RV=VV[J];if(RV){var UV=(RV=wr(RV))[0].h;if(RV=RV[1],VV=(ZV=VV.P)==null?void 0:ZV[J],!d||VV){if(RV){const WV=Rr(RV),IV=Pr(RV).g;VV=(VV=lV.l)?VV(IV,WV):(dV,CV,FV)=>UV(dV,CV,FV,IV,WV)}else VV=UV;return lV[J]=VV}}}}function Br(lV,J,VV){var dV,CV,FV;for(var RV=et(lV),UV=+!!(512&RV)-1,ZV=lV.length,WV=512&RV?1:0,IV=ZV+(256&RV?-1:0);WV<IV;WV++){const NV=lV[WV];if(NV==null)continue;const gV=WV-UV,eV=Dr(VV,gV);if(!eV)continue;const JV=VV.X;JV!=null&&JV[gV]&&!((dV=JV==null?void 0:JV.P)!=null&&dV[gV])&&Wr++<5&&j(),eV(J,NV,gV)}if(256&RV){RV=lV[ZV-1];for(let NV in RV)UV=+NV,!Number.isNaN(UV)&&(ZV=RV[NV])!=null&&(IV=Dr(VV,UV))&&((CV=WV=VV.X)!=null&&CV[UV]&&!((FV=WV==null?void 0:WV.P)!=null&&FV[UV])&&Wr++<5&&j(),IV(J,ZV,UV))}if(lV=mt?lV[mt]:void 0)for(pr(J,J.g.end()),VV=0;VV<lV.length;VV++)pr(J,U(lV[VV])||new Uint8Array(0))}function Gr(lV,J){return new Er(lV,J,!1)}function jr(lV,J){return new Er(lV,J,!1)}function Vr(lV,J){return new Er(lV,J,!0)}function Xr(lV,J,VV){qe(lV,et(lV),J,VV)}var Hr=Vr(function(lV,J,VV,RV,UV){return lV.h===2&&(lV=$n(lV,Ae([void 0,void 0],RV),UV),pt(RV=et(J)),(UV=Ye(J,RV,VV))instanceof Me?2&UV.M?((UV=UV.Z()).push(lV),qe(J,RV,VV,UV)):UV.Qa(lV):Array.isArray(UV)?(2&tt(UV)&&qe(J,RV,VV,UV=on(UV)),UV.push(lV)):qe(J,RV,VV,[lV]),!0)},function(lV,J,VV,RV,UV){if(J instanceof Me)J.forEach((ZV,WV)=>{vr(lV,VV,Ae([WV,ZV],RV),UV)});else if(Array.isArray(J))for(let ZV=0;ZV<J.length;ZV++){const WV=J[ZV];Array.isArray(WV)&&vr(lV,VV,Ae(WV,RV),UV)}});let Wr=0;function zr(lV,J,VV){if(J=function(RV){if(RV==null)return RV;const UV=typeof RV;if(UV==="bigint")return String(BigInt.asIntN(64,RV));if(Kt(RV)){if(UV==="string")return Zt(RV);if(UV==="number")return Jt(RV)}}(J),J!=null&&(typeof J=="string"&&ar(J),J!=null))switch(gr(lV,VV,0),typeof J){case"number":lV=lV.g,Nt(J),ur(lV,Pt,Ot);break;case"bigint":VV=BigInt.asUintN(64,J),VV=new hr(Number(VV&BigInt(4294967295)),Number(VV>>BigInt(32))),ur(lV.g,VV.h,VV.g);break;default:VV=ar(J),ur(lV.g,VV.h,VV.g)}}function Kr(lV,J,VV){(J=Yt(J))!=null&&J!=null&&(gr(lV,VV,0),fr(lV.g,J))}function Yr(lV,J,VV){(J=Wt(J))!=null&&(gr(lV,VV,0),lV.g.g.push(J?1:0))}function $r(lV,J,VV){(J=re(J))!=null&&_r(lV,VV,c(J))}function qr(lV,J,VV,RV,UV){J instanceof nr?(we(J),J=J.u):J=Array.isArray(J)?Ae(J,RV):void 0,vr(lV,VV,J,UV)}function Jr(lV,J,VV){(J=J==null||typeof J=="string"||I(J)||J instanceof D?J:void 0)!=null&&_r(lV,VV,On(J).buffer)}function Zr(lV,J,VV){return(lV.h===5||lV.h===2)&&(J=Je(J,et(J),VV,2,!1),lV.h==2?Zn(lV,Gn,J):J.push(Gn(lV.g)),!0)}var Qr,ti=Gr(function(lV,J,VV){if(lV.h!==1)return!1;var RV=lV.g;lV=Bn(RV);const UV=Bn(RV);RV=2*(UV>>31)+1;const ZV=UV>>>20&2047;return lV=4294967296*(1048575&UV)+lV,Xr(J,VV,ZV==2047?lV?NaN:RV*(1/0):ZV==0?5e-324*RV*lV:RV*Math.pow(2,ZV-1075)*(lV+4503599627370496)),!0},function(lV,J,VV){(J=Ht(J))!=null&&(gr(lV,VV,1),lV=lV.g,(VV=It||(It=new DataView(new ArrayBuffer(8)))).setFloat64(0,+J,!0),Pt=VV.getUint32(0,!0),Ot=VV.getUint32(4,!0),dr(lV,Pt),dr(lV,Ot))}),ei=Gr(function(lV,J,VV){return lV.h===5&&(Xr(J,VV,Gn(lV.g)),!0)},function(lV,J,VV){(J=Ht(J))!=null&&(gr(lV,VV,5),lV=lV.g,Ut(J),dr(lV,Pt))}),ni=jr(Zr,function(lV,J,VV){if((J=Tr(Ht,J))!=null)for(let WV=0;WV<J.length;WV++){var RV=lV,UV=VV,ZV=J[WV];ZV!=null&&(gr(RV,UV,5),RV=RV.g,Ut(ZV),dr(RV,Pt))}}),ri=jr(Zr,function(lV,J,VV){if((J=Tr(Ht,J))!=null&&J.length){gr(lV,VV,2),lr(lV.g,4*J.length);for(let RV=0;RV<J.length;RV++)VV=lV.g,Ut(J[RV]),dr(VV,Pt)}}),ii=Gr(function(lV,J,VV){return lV.h===0&&(Xr(J,VV,Cn(lV.g,Bt)),!0)},zr),si=Gr(function(lV,J,VV){return lV.h===0&&(Xr(J,VV,(lV=Cn(lV.g,Bt))===0?void 0:lV),!0)},zr),oi=Gr(function(lV,J,VV){return lV.h===0&&(Xr(J,VV,Cn(lV.g,Dt)),!0)},function(lV,J,VV){if((J=te(J))!=null&&(typeof J=="string"&&ir(J),J!=null))switch(gr(lV,VV,0),typeof J){case"number":lV=lV.g,Nt(J),ur(lV,Pt,Ot);break;case"bigint":VV=BigInt.asUintN(64,J),VV=new sr(Number(VV&BigInt(4294967295)),Number(VV>>BigInt(32))),ur(lV.g,VV.h,VV.g);break;default:VV=ir(J),ur(lV.g,VV.h,VV.g)}}),ai=Gr(function(lV,J,VV){return lV.h===0&&(Xr(J,VV,Un(lV.g)),!0)},Kr),hi=jr(function(lV,J,VV){return(lV.h===0||lV.h===2)&&(J=Je(J,et(J),VV,2,!1),lV.h==2?Zn(lV,Un,J):J.push(Un(lV.g)),!0)},function(lV,J,VV){if((J=Tr(Yt,J))!=null&&J.length){VV=mr(lV,VV);for(let RV=0;RV<J.length;RV++)fr(lV.g,J[RV]);yr(lV,VV)}}),ci=Gr(function(lV,J,VV){return lV.h===0&&(Xr(J,VV,(lV=Un(lV.g))===0?void 0:lV),!0)},Kr),ui=Gr(function(lV,J,VV){return lV.h===0&&(Xr(J,VV,Nn(lV.g)),!0)},Yr),li=Gr(function(lV,J,VV){return lV.h===0&&(Xr(J,VV,(lV=Nn(lV.g))===!1?void 0:lV),!0)},Yr),fi=jr(function(lV,J,VV){if(lV.h!==2)return!1;lV=qn(lV);const RV=et(J);return pt(RV),Je(J,RV,VV,2).push(lV),!0},function(lV,J,VV){if((J=Tr(re,J))!=null)for(let WV=0;WV<J.length;WV++){var RV=lV,UV=VV,ZV=J[WV];ZV!=null&&_r(RV,UV,c(ZV))}}),di=Gr(function(lV,J,VV){return lV.h===2&&(Xr(J,VV,(lV=qn(lV))===""?void 0:lV),!0)},$r),pi=Gr(function(lV,J,VV){return lV.h===2&&(Xr(J,VV,qn(lV)),!0)},$r),gi=Vr(function(lV,J,VV,RV,UV){return lV.h===2&&($n(lV,fn(J,RV,VV,!0),UV),!0)},qr),mi=Vr(function(lV,J,VV,RV,UV){return lV.h===2&&($n(lV,fn(J,RV,VV),UV),!0)},qr);Qr=new Er(function(lV,J,VV,RV,UV){if(lV.h!==2)return!1;RV=Ae(void 0,RV);let ZV=et(J);pt(ZV);let WV=Je(J,ZV,VV,3);return ZV=et(J),4&tt(WV)&&(WV=H(WV),nt(WV,-2079&(1|tt(WV))),qe(J,ZV,VV,WV)),WV.push(RV),$n(lV,RV,UV),!0},function(lV,J,VV,RV,UV){if(Array.isArray(J))for(let ZV=0;ZV<J.length;ZV++)qr(lV,J[ZV],VV,RV,UV)},!0);var yi=Vr(function(lV,J,VV,RV,UV,ZV){return lV.h===2&&(un(J,et(J),ZV,VV),$n(lV,J=fn(J,RV,VV),UV),!0)},qr),_i=Gr(function(lV,J,VV){return lV.h===2&&(Xr(J,VV,Jn(lV)),!0)},Jr),vi=jr(function(lV,J,VV){return(lV.h===0||lV.h===2)&&(J=Je(J,et(J),VV,2,!1),lV.h==2?Zn(lV,Dn,J):J.push(Dn(lV.g)),!0)},function(lV,J,VV){if((J=Tr($t,J))!=null)for(let WV=0;WV<J.length;WV++){var RV=lV,UV=VV,ZV=J[WV];ZV!=null&&(gr(RV,UV,0),lr(RV.g,ZV))}}),Ei=Gr(function(lV,J,VV){return lV.h===0&&(Xr(J,VV,Un(lV.g)),!0)},function(lV,J,VV){(J=Yt(J))!=null&&(J=parseInt(J,10),gr(lV,VV,0),fr(lV.g,J))});class wi{constructor(J,VV){this.h=J,this.g=VV,this.l=pn,this.m=yn,this.defaultValue=void 0}}function Ti(lV,J){return new wi(lV,J)}function Ai(lV,J){return(VV,RV)=>{if(Qn.length){const ZV=Qn.pop();ZV.o(RV),Vn(ZV.g,VV,RV),VV=ZV}else VV=new class{constructor(ZV,WV){if(zn.length){const IV=zn.pop();Vn(IV,ZV,WV),ZV=IV}else ZV=new class{constructor(IV,dV){this.h=null,this.m=!1,this.g=this.l=this.j=0,Vn(this,IV,dV)}clear(){this.h=null,this.m=!1,this.g=this.l=this.j=0,this.ea=!1}}(ZV,WV);this.g=ZV,this.l=this.g.g,this.h=this.m=-1,this.o(WV)}o({ja:ZV=!1}={}){this.ja=ZV}}(VV,RV);try{const ZV=new lV,WV=ZV.u;br(J)(WV,VV);var UV=ZV}finally{VV.g.clear(),VV.m=-1,VV.h=-1,Qn.length<100&&Qn.push(VV)}return UV}}function bi(lV){return function(){we(this);const J=new class{constructor(){this.l=[],this.h=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){const WV=this.g;return this.g=[],WV}}}};Br(this.u,J,Pr(lV)),pr(J,J.g.end());const VV=new Uint8Array(J.h),RV=J.l,UV=RV.length;let ZV=0;for(let WV=0;WV<UV;WV++){const IV=RV[WV];VV.set(IV,ZV),ZV+=IV.length}return J.l=[VV],VV}}var ki=class extends nr{constructor(lV){super(lV)}},Si=[0,di,Gr(function(lV,J,VV){return lV.h===2&&(Xr(J,VV,(lV=Jn(lV))===N()?void 0:lV),!0)},function(lV,J,VV){if(J!=null){if(J instanceof nr){const RV=J.Ta;return void(RV&&(J=RV(J),J!=null&&_r(lV,VV,On(J).buffer)))}if(Array.isArray(J))return}Jr(lV,J,VV)})],xi=[0,ai,Ei,ui,-1,hi,Ei,-1],Li=class extends nr{constructor(){super()}},Ri=[0,ui,pi,ui,Ei,-1,jr(function(lV,J,VV){return(lV.h===0||lV.h===2)&&(J=Je(J,et(J),VV,2,!1),lV.h==2?Zn(lV,jn,J):J.push(Un(lV.g)),!0)},function(lV,J,VV){if((J=Tr(Yt,J))!=null&&J.length){VV=mr(lV,VV);for(let RV=0;RV<J.length;RV++)fr(lV.g,J[RV]);yr(lV,VV)}}),pi,-1,[0,ui,-1],Ei,ui,-1],Fi=[0,pi,-2],Mi=class extends nr{constructor(){super()}},Ii=[0],Pi=[0,ai,ui,1,ui,-3],Oi=[0,pi,ui,-1,ai,[0,[1,2,3,4,5,6,7],yi,Ii,yi,Ri,yi,Fi,yi,Pi,yi,xi,yi,[0,pi,-2],yi,[0,pi,Ei]],[0,pi],ui,[0,[1,3],[2,4],yi,[0,hi],-1,yi,[0,fi],-1,Qr,[0,pi,-1]],pi],Ci=class extends nr{constructor(lV){super(lV,2)}},Ni={},Ui=Ni.P={};Ni[336783863]=Oi,Ui[336783863]=1;var Di=[0,si,-1,li,-3,si,hi,di,ci,si,-1,li,ci,li,-2,di];function Bi(lV,J){an(lV,2,ne(J),"")}function Gi(lV,J){Fn(lV,3,J)}function ji(lV,J){Fn(lV,4,J)}var Vi=class extends nr{constructor(lV){super(lV,500)}o(lV){return yn(this,0,7,lV)}},Xi=[-1,{P:{}}],Hi=[0,pi,1,Xi],Wi=[0,pi,fi,Xi];function zi(lV,J){wn(lV,1,Vi,J)}function Ki(lV,J){Fn(lV,10,J)}function Yi(lV,J){Fn(lV,15,J)}var $i=class extends nr{constructor(lV){super(lV,500)}o(lV){return yn(this,0,1001,lV)}},qi=[-500,Qr,[-500,di,-1,fi,-3,[-2,Ni,ui],Qr,Si,ci,-1,Hi,Wi,Qr,[0,di,li],di,Di,ci,fi,987,fi],4,Qr,[-500,pi,-1,[-1,{P:{}}],998,pi],Qr,[-500,pi,fi,-1,[-2,{P:{}},ui],997,fi,-1],ci,Qr,[-500,pi,fi,Xi,998,fi],fi,ci,Hi,Wi,Qr,[0,di,-1,Xi],fi,-2,Di,di,-1,li,979,Xi,Qr,Si];$i.prototype.g=bi(qi);var Ji=Ai($i,qi),Zi=class extends nr{constructor(lV){super(lV)}},Qi=class extends nr{constructor(lV){super(lV)}g(){return mn(this,Zi,1)}},ts=[0,Qr,[0,ai,ei,pi,-1]],es=Ai(Qi,ts),ns=class extends nr{constructor(lV){super(lV)}},rs=class extends nr{constructor(lV){super(lV)}},is=class extends nr{constructor(lV){super(lV)}h(){return pn(this,ns,2)}g(){return mn(this,rs,5)}},ss=Ai(class extends nr{constructor(lV){super(lV)}},[0,fi,hi,ri,[0,Ei,[0,ai,-3],[0,ei,-3],[0,ai,-1,[0,Qr,[0,ai,-2]]],Qr,[0,ei,-1,pi,ei]],pi,-1,ii,Qr,[0,ai,ei],fi,ii]),os=class extends nr{constructor(lV){super(lV)}},as=Ai(class extends nr{constructor(lV){super(lV)}},[0,Qr,[0,ei,-4]]),hs=class extends nr{constructor(lV){super(lV)}},cs=Ai(class extends nr{constructor(lV){super(lV)}},[0,Qr,[0,ei,-4]]),us=class extends nr{constructor(lV){super(lV)}},ls=[0,ai,-1,ri,Ei],fs=class extends nr{constructor(){super()}};fs.prototype.g=bi([0,ei,-4,ii]);var ds=class extends nr{constructor(lV){super(lV)}},ps=Ai(class extends nr{constructor(lV){super(lV)}},[0,Qr,[0,1,ai,pi,ts],ii]),gs=class extends nr{constructor(lV){super(lV)}},ms=class extends nr{constructor(lV){super(lV)}ra(){const lV=Qe(this);return lV??N()}},ys=class extends nr{constructor(lV){super(lV)}},_s=[1,2],vs=Ai(class extends nr{constructor(lV){super(lV)}},[0,Qr,[0,_s,yi,[0,ri],yi,[0,_i],ai,pi],ii]),Es=class extends nr{constructor(lV){super(lV)}},ws=[0,pi,ai,ei,fi,-1],Ts=class extends nr{constructor(lV){super(lV)}},As=[0,ui,-1],bs=class extends nr{constructor(lV){super(lV)}},ks=[1,2,3,4,5],Ss=class extends nr{constructor(lV){super(lV)}g(){return Qe(this)!=null}h(){return re(ze(this,2))!=null}},xs=class extends nr{constructor(lV){super(lV)}g(){return Wt(ze(this,2))??!1}},Ls=[0,_i,pi,[0,ai,ii,-1],[0,oi,ii]],Rs=[0,Ls,ui,[0,ks,yi,Pi,yi,Ri,yi,xi,yi,Ii,yi,Fi],Ei],Fs=class extends nr{constructor(lV){super(lV)}},Ms=[0,Rs,ei,-1,ai],Is=Ti(502141897,Fs);Ni[502141897]=Ms,Ui[502141897]=1;var Ps=[0,Ls];Ni[512499200]=Ps;var Os=[0,Ps];Ni[515723506]=Os;var Cs=Ai(class extends nr{constructor(lV){super(lV)}},[0,[0,Ei,-1,ni,vi],ls]),Ns=[0,Rs];Ni[508981768]=Ns;var Us=class extends nr{constructor(lV){super(lV)}},Ds=class extends nr{constructor(lV){super(lV)}},Bs=[0,Rs,ei,Ns,ui],Gs=[0,Rs,Ms,Bs,ei,Os];Ni[508968149]=Bs;var js=Ti(508968150,Ds);Ni[508968150]=Gs,Ui[508968150]=1,Ui[508968149]=1;var Vs=class extends nr{constructor(lV){super(lV)}},Xs=Ti(513916220,Vs);Ni[513916220]=[0,Rs,Gs,ai],Ui[513916220]=1;var Hs=class extends nr{constructor(lV){super(lV)}h(){return pn(this,Es,2)}g(){$e(this,2)}},Ws=[0,Rs,ws];Ni[478825465]=Ws,Ui[478825465]=1;var zs=[0,Rs];Ni[478825422]=zs;var Ks=class extends nr{constructor(lV){super(lV)}},Ys=class extends nr{constructor(lV){super(lV)}},$s=class extends nr{constructor(lV){super(lV)}},qs=class extends nr{constructor(lV){super(lV)}},Js=class extends nr{constructor(lV){super(lV)}},Zs=[0,Rs,zs,Ws,-1],Qs=[0,Rs,ei,ai],to=[0,Rs,ei],eo=[0,Rs,Qs,to,ei],no=[0,Rs,eo,Zs];Ni[463370452]=Zs,Ni[464864288]=Qs,Ni[474472470]=to;var ro=Ti(462713202,qs);Ni[462713202]=eo;var io=Ti(479097054,Js);Ni[479097054]=no,Ui[479097054]=1,Ui[463370452]=1,Ui[464864288]=1,Ui[462713202]=1,Ui[474472470]=1;var so=class extends nr{constructor(lV){super(lV)}},oo=class extends nr{constructor(lV){super(lV)}},ao=class extends nr{constructor(lV){super(lV)}},ho=class extends nr{constructor(){super()}},co=[0,Rs,ei,-1,ai],uo=[0,Rs,ei,ui];ho.prototype.g=bi([0,Rs,to,[0,Rs],Ms,Bs,co,uo]),Ni[514774813]=co,Ni[518928384]=uo;var lo=class extends nr{constructor(lV){super(lV)}},fo=Ti(456383383,lo);Ni[456383383]=[0,Rs,ws],Ui[456383383]=1;var po=class extends nr{constructor(lV){super(lV)}},go=Ti(476348187,po);Ni[476348187]=[0,Rs,As],Ui[476348187]=1;var mo=class extends nr{constructor(lV){super(lV)}},yo=class extends nr{constructor(lV){super(lV)}},_o=[0,Ei,-1],vo=Ti(458105876,class extends nr{constructor(lV){super(lV)}g(){var lV=this.u;const J=et(lV),VV=2&J;return lV=function(RV,UV,ZV){var WV=yo;const IV=2&UV;let dV=!1;if(ZV==null){if(IV)return Ne();ZV=[]}else if(ZV.constructor===Me){if(!(2&ZV.M)||IV)return ZV;ZV=ZV.Z()}else Array.isArray(ZV)?dV=!!(2&tt(ZV)):ZV=[];if(IV){if(!ZV.length)return Ne();dV||(dV=!0,rt(ZV))}else dV&&(dV=!1,ZV=on(ZV));return dV||(64&tt(ZV)?Q(ZV,32):32&UV&&Z(ZV,32)),qe(RV,UV,2,WV=new Me(ZV,WV,se,void 0)),WV}(lV,J,Ye(lV,J,2)),!VV&&yo&&(lV.va=!0),lV}});Ni[458105876]=[0,_o,Hr,[!0,ii,[0,pi,-1,fi]]],Ui[458105876]=1;var Eo=class extends nr{constructor(lV){super(lV)}},wo=Ti(458105758,Eo);Ni[458105758]=[0,Rs,pi,_o],Ui[458105758]=1;var To=class extends nr{constructor(lV){super(lV)}},Ao=Ti(443442058,To);Ni[443442058]=[0,Rs,pi,ai,ei,fi,-1],Ui[443442058]=1,Ui[514774813]=1;var bo=class extends nr{constructor(lV){super(lV)}},ko=Ti(516587230,bo);function So(lV,J){return J=J?J.clone():new Es,lV.displayNamesLocale!==void 0?$e(J,1,ne(lV.displayNamesLocale)):lV.displayNamesLocale===void 0&&$e(J,1),lV.maxResults!==void 0?xn(J,2,lV.maxResults):"maxResults"in lV&&$e(J,2),lV.scoreThreshold!==void 0?Ln(J,3,lV.scoreThreshold):"scoreThreshold"in lV&&$e(J,3),lV.categoryAllowlist!==void 0?Rn(J,4,lV.categoryAllowlist):"categoryAllowlist"in lV&&$e(J,4),lV.categoryDenylist!==void 0?Rn(J,5,lV.categoryDenylist):"categoryDenylist"in lV&&$e(J,5),J}function xo(lV,J=-1,VV=""){return{categories:lV.map(RV=>({index:Tn(An(RV,1),0)??-1,score:bn(RV,2)??0,categoryName:kn(RV,3)??"",displayName:kn(RV,4)??""})),headIndex:J,headName:VV}}function Lo(lV){var WV,IV;var J=en(lV,3,Ht,tn()),VV=en(lV,2,Yt,tn()),RV=en(lV,1,re,tn()),UV=en(lV,9,re,tn());const ZV={categories:[],keypoints:[]};for(let dV=0;dV<J.length;dV++)ZV.categories.push({score:J[dV],index:VV[dV]??-1,categoryName:RV[dV]??"",displayName:UV[dV]??""});if((J=(WV=pn(lV,is,4))==null?void 0:WV.h())&&(ZV.boundingBox={originX:An(J,1)??0,originY:An(J,2)??0,width:An(J,3)??0,height:An(J,4)??0,angle:0}),(IV=pn(lV,is,4))==null?void 0:IV.g().length)for(const dV of pn(lV,is,4).g())ZV.keypoints.push({x:Ze(dV,1)??0,y:Ze(dV,2)??0,score:Ze(dV,4)??0,label:re(ze(dV,3))??""});return ZV}function Ro(lV){const J=[];for(const VV of mn(lV,hs,1))J.push({x:bn(VV,1)??0,y:bn(VV,2)??0,z:bn(VV,3)??0,visibility:bn(VV,4)??0});return J}function Fo(lV){const J=[];for(const VV of mn(lV,os,1))J.push({x:bn(VV,1)??0,y:bn(VV,2)??0,z:bn(VV,3)??0,visibility:bn(VV,4)??0});return J}function Mo(lV){return Array.from(lV,J=>J>127?J-256:J)}function Io(lV,J){if(lV.length!==J.length)throw Error(`Cannot compute cosine similarity between embeddings of different sizes (${lV.length} vs. ${J.length}).`);let VV=0,RV=0,UV=0;for(let ZV=0;ZV<lV.length;ZV++)VV+=lV[ZV]*J[ZV],RV+=lV[ZV]*lV[ZV],UV+=J[ZV]*J[ZV];if(RV<=0||UV<=0)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return VV/Math.sqrt(RV*UV)}let Po;Ni[516587230]=[0,Rs,co,uo,ei],Ui[516587230]=1,Ui[518928384]=1;const Oo=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);async function Co(){if(Po===void 0)try{await WebAssembly.instantiate(Oo),Po=!0}catch{Po=!1}return Po}async function No(lV,J=""){const VV=await Co()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${J}/${lV}_${VV}.js`,wasmBinaryPath:`${J}/${lV}_${VV}.wasm`}}var Uo=class{};function Do(){var lV=navigator;return typeof OffscreenCanvas<"u"&&(!function(J=navigator){return(J=J.userAgent).includes("Safari")&&!J.includes("Chrome")}(lV)||!!((lV=lV.userAgent.match(/Version\/([\d]+).*Safari/))&&lV.length>=1&&Number(lV[1])>=17))}async function Bo(lV){if(typeof importScripts!="function"){const J=document.createElement("script");return J.src=lV.toString(),J.crossOrigin="anonymous",new Promise((VV,RV)=>{J.addEventListener("load",()=>{VV()},!1),J.addEventListener("error",UV=>{RV(UV)},!1),document.body.appendChild(J)})}importScripts(lV.toString())}function Go(lV){return lV.videoWidth!==void 0?[lV.videoWidth,lV.videoHeight]:lV.naturalWidth!==void 0?[lV.naturalWidth,lV.naturalHeight]:lV.displayWidth!==void 0?[lV.displayWidth,lV.displayHeight]:[lV.width,lV.height]}function jo(lV,J,VV){lV.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),VV(J=lV.i.stringToNewUTF8(J)),lV.i._free(J)}function Vo(lV,J,VV){if(!lV.i.canvas)throw Error("No OpenGL canvas configured.");if(VV?lV.i._bindTextureToStream(VV):lV.i._bindTextureToCanvas(),!(VV=lV.i.canvas.getContext("webgl2")||lV.i.canvas.getContext("webgl")))throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");lV.i.gpuOriginForWebTexturesIsBottomLeft&&VV.pixelStorei(VV.UNPACK_FLIP_Y_WEBGL,!0),VV.texImage2D(VV.TEXTURE_2D,0,VV.RGBA,VV.RGBA,VV.UNSIGNED_BYTE,J),lV.i.gpuOriginForWebTexturesIsBottomLeft&&VV.pixelStorei(VV.UNPACK_FLIP_Y_WEBGL,!1);const[RV,UV]=Go(J);return!lV.l||RV===lV.i.canvas.width&&UV===lV.i.canvas.height||(lV.i.canvas.width=RV,lV.i.canvas.height=UV),[RV,UV]}function Xo(lV,J,VV){lV.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");const RV=new Uint32Array(J.length);for(let UV=0;UV<J.length;UV++)RV[UV]=lV.i.stringToNewUTF8(J[UV]);J=lV.i._malloc(4*RV.length),lV.i.HEAPU32.set(RV,J>>2),VV(J);for(const UV of RV)lV.i._free(UV);lV.i._free(J)}function Ho(lV,J,VV){lV.i.simpleListeners=lV.i.simpleListeners||{},lV.i.simpleListeners[J]=VV}function Wo(lV,J,VV){let RV=[];lV.i.simpleListeners=lV.i.simpleListeners||{},lV.i.simpleListeners[J]=(UV,ZV,WV)=>{ZV?(VV(RV,WV),RV=[]):RV.push(UV)}}Uo.forVisionTasks=function(lV){return No("vision",lV)},Uo.forTextTasks=function(lV){return No("text",lV)},Uo.forGenAiExperimentalTasks=function(lV){return No("genai_experimental",lV)},Uo.forGenAiTasks=function(lV){return No("genai",lV)},Uo.forAudioTasks=function(lV){return No("audio",lV)},Uo.isSimdSupported=function(){return Co()};async function zo(lV,J,VV,RV){return lV=await(async(UV,ZV,WV,IV,dV)=>{if(ZV&&await Bo(ZV),!self.ModuleFactory||WV&&(await Bo(WV),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&dV&&((ZV=self.Module).locateFile=dV.locateFile,dV.mainScriptUrlOrBlob&&(ZV.mainScriptUrlOrBlob=dV.mainScriptUrlOrBlob)),dV=await self.ModuleFactory(self.Module||dV),self.ModuleFactory=self.Module=void 0,new UV(dV,IV)})(lV,VV.wasmLoaderPath,VV.assetLoaderPath,J,{locateFile:UV=>UV.endsWith(".wasm")?VV.wasmBinaryPath.toString():VV.assetBinaryPath&&UV.endsWith(".data")?VV.assetBinaryPath.toString():UV}),await lV.o(RV),lV}function Ko(lV,J){const VV=pn(lV.baseOptions,Ss,1)||new Ss;typeof J=="string"?($e(VV,2,ne(J)),$e(VV,1)):J instanceof Uint8Array&&($e(VV,1,lt(J,!1,!1)),$e(VV,2)),yn(lV.baseOptions,0,1,VV)}function Yo(lV){try{const J=lV.H.length;if(J===1)throw Error(lV.H[0].message);if(J>1)throw Error("Encountered multiple errors: "+lV.H.map(VV=>VV.message).join(", "))}finally{lV.H=[]}}function $o(lV,J){lV.B=Math.max(lV.B,J)}function qo(lV,J){lV.A=new Vi,Bi(lV.A,"PassThroughCalculator"),Gi(lV.A,"free_memory"),ji(lV.A,"free_memory_unused_out"),Ki(J,"free_memory"),zi(J,lV.A)}function Jo(lV,J){Gi(lV.A,J),ji(lV.A,J+"_unused_out")}function Zo(lV){lV.g.addBoolToStream(!0,"free_memory",lV.B)}var Qo=class{constructor(lV){this.g=lV,this.H=[],this.B=0,this.g.setAutoRenderToScreen(!1)}l(lV,J=!0){var VV,RV,UV,ZV,WV,IV;if(J){const dV=lV.baseOptions||{};if((VV=lV.baseOptions)!=null&&VV.modelAssetBuffer&&((RV=lV.baseOptions)!=null&&RV.modelAssetPath))throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!((UV=pn(this.baseOptions,Ss,1))!=null&&UV.g()||(ZV=pn(this.baseOptions,Ss,1))!=null&&ZV.h()||(WV=lV.baseOptions)!=null&&WV.modelAssetBuffer||(IV=lV.baseOptions)!=null&&IV.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if(function(CV,FV){let NV=pn(CV.baseOptions,bs,3);if(!NV){var gV=NV=new bs,eV=new Mi;_n(gV,4,ks,eV)}"delegate"in FV&&(FV.delegate==="GPU"?(FV=NV,gV=new Li,_n(FV,2,ks,gV)):(FV=NV,gV=new Mi,_n(FV,4,ks,gV))),yn(CV.baseOptions,0,3,NV)}(this,dV),dV.modelAssetPath)return fetch(dV.modelAssetPath.toString()).then(CV=>{if(CV.ok)return CV.arrayBuffer();throw Error(`Failed to fetch model: ${dV.modelAssetPath} (${CV.status})`)}).then(CV=>{try{this.g.i.FS_unlink("/model.dat")}catch{}this.g.i.FS_createDataFile("/","model.dat",new Uint8Array(CV),!0,!1,!1),Ko(this,"/model.dat"),this.m(),this.J()});if(dV.modelAssetBuffer instanceof Uint8Array)Ko(this,dV.modelAssetBuffer);else if(dV.modelAssetBuffer)return async function(CV){const FV=[];for(var NV=0;;){const{done:gV,value:eV}=await CV.read();if(gV)break;FV.push(eV),NV+=eV.length}if(FV.length===0)return new Uint8Array(0);if(FV.length===1)return FV[0];CV=new Uint8Array(NV),NV=0;for(const gV of FV)CV.set(gV,NV),NV+=gV.length;return CV}(dV.modelAssetBuffer).then(CV=>{Ko(this,CV),this.m(),this.J()})}return this.m(),this.J(),Promise.resolve()}J(){}ga(){let lV;if(this.g.ga(J=>{lV=Ji(J)}),!lV)throw Error("Failed to retrieve CalculatorGraphConfig");return lV}setGraph(lV,J){this.g.attachErrorListener((VV,RV)=>{this.H.push(Error(RV))}),this.g.Oa(),this.g.setGraph(lV,J),this.A=void 0,Yo(this)}finishProcessing(){this.g.finishProcessing(),Yo(this)}close(){this.A=void 0,this.g.closeGraph()}};function ta(lV,J){if(!lV)throw Error(`Unable to obtain required WebGL resource: ${J}`);return lV}Qo.prototype.close=Qo.prototype.close,function(lV,J){lV=lV.split(".");var VV,RV=t;for((lV[0]in RV)||RV.execScript===void 0||RV.execScript("var "+lV[0]);lV.length&&(VV=lV.shift());)lV.length||J===void 0?RV=RV[VV]&&RV[VV]!==Object.prototype[VV]?RV[VV]:RV[VV]={}:RV[VV]=J}("TaskRunner",Qo);class ea{constructor(J,VV,RV,UV){this.g=J,this.h=VV,this.m=RV,this.l=UV}bind(){this.g.bindVertexArray(this.h)}close(){this.g.deleteVertexArray(this.h),this.g.deleteBuffer(this.m),this.g.deleteBuffer(this.l)}}function na(lV,J,VV){const RV=lV.g;if(VV=ta(RV.createShader(VV),"Failed to create WebGL shader"),RV.shaderSource(VV,J),RV.compileShader(VV),!RV.getShaderParameter(VV,RV.COMPILE_STATUS))throw Error(`Could not compile WebGL shader: ${RV.getShaderInfoLog(VV)}`);return RV.attachShader(lV.h,VV),VV}function ra(lV,J){const VV=lV.g,RV=ta(VV.createVertexArray(),"Failed to create vertex array");VV.bindVertexArray(RV);const UV=ta(VV.createBuffer(),"Failed to create buffer");VV.bindBuffer(VV.ARRAY_BUFFER,UV),VV.enableVertexAttribArray(lV.R),VV.vertexAttribPointer(lV.R,2,VV.FLOAT,!1,0,0),VV.bufferData(VV.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),VV.STATIC_DRAW);const ZV=ta(VV.createBuffer(),"Failed to create buffer");return VV.bindBuffer(VV.ARRAY_BUFFER,ZV),VV.enableVertexAttribArray(lV.J),VV.vertexAttribPointer(lV.J,2,VV.FLOAT,!1,0,0),VV.bufferData(VV.ARRAY_BUFFER,new Float32Array(J?[0,1,0,0,1,0,1,1]:[0,0,0,1,1,1,1,0]),VV.STATIC_DRAW),VV.bindBuffer(VV.ARRAY_BUFFER,null),VV.bindVertexArray(null),new ea(VV,RV,UV,ZV)}function ia(lV,J){if(lV.g){if(J!==lV.g)throw Error("Cannot change GL context once initialized")}else lV.g=J}function sa(lV,J,VV,RV){return ia(lV,J),lV.h||(lV.m(),lV.C()),VV?(lV.s||(lV.s=ra(lV,!0)),VV=lV.s):(lV.v||(lV.v=ra(lV,!1)),VV=lV.v),J.useProgram(lV.h),VV.bind(),lV.l(),lV=RV(),VV.g.bindVertexArray(null),lV}function oa(lV,J,VV){return ia(lV,J),lV=ta(J.createTexture(),"Failed to create texture"),J.bindTexture(J.TEXTURE_2D,lV),J.texParameteri(J.TEXTURE_2D,J.TEXTURE_WRAP_S,J.CLAMP_TO_EDGE),J.texParameteri(J.TEXTURE_2D,J.TEXTURE_WRAP_T,J.CLAMP_TO_EDGE),J.texParameteri(J.TEXTURE_2D,J.TEXTURE_MIN_FILTER,VV??J.LINEAR),J.texParameteri(J.TEXTURE_2D,J.TEXTURE_MAG_FILTER,VV??J.LINEAR),J.bindTexture(J.TEXTURE_2D,null),lV}function aa(lV,J,VV){ia(lV,J),lV.A||(lV.A=ta(J.createFramebuffer(),"Failed to create framebuffe.")),J.bindFramebuffer(J.FRAMEBUFFER,lV.A),J.framebufferTexture2D(J.FRAMEBUFFER,J.COLOR_ATTACHMENT0,J.TEXTURE_2D,VV,0)}function ha(lV){var J;(J=lV.g)==null||J.bindFramebuffer(lV.g.FRAMEBUFFER,null)}var ca=class{H(){return`
22286
+ `);const cV=GV.state[IV];if(cV==null)return;JSON.stringify(UV.getState())!==JSON.stringify(cV)&&eV(cV);return}UV.dispatchFromDevtools&&typeof UV.dispatch=="function"&&UV.dispatch(GV)});case"DISPATCH":switch(nV.payload.type){case"RESET":return eV(JV),IV===void 0?FV==null?void 0:FV.init(UV.getState()):FV==null?void 0:FV.init(getTrackedConnectionState(dV.name));case"COMMIT":if(IV===void 0){FV==null||FV.init(UV.getState());return}return FV==null?void 0:FV.init(getTrackedConnectionState(dV.name));case"ROLLBACK":return parseJsonThen(nV.state,GV=>{if(IV===void 0){eV(GV),FV==null||FV.init(UV.getState());return}eV(GV[IV]),FV==null||FV.init(getTrackedConnectionState(dV.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return parseJsonThen(nV.state,GV=>{if(IV===void 0){eV(GV);return}JSON.stringify(UV.getState())!==JSON.stringify(GV[IV])&&eV(GV[IV])});case"IMPORT_STATE":{const{nextLiftedState:GV}=nV.payload,cV=(aV=GV.computedStates.slice(-1)[0])==null?void 0:aV.state;if(!cV)return;eV(IV===void 0?cV:cV[IV]),FV==null||FV.send(null,GV);return}case"PAUSE_RECORDING":return gV=!gV}return}}),JV},devtools=devtoolsImpl,parseJsonThen=(lV,J)=>{let VV;try{VV=JSON.parse(lV)}catch(RV){console.error("[zustand devtools middleware] Could not parse the received json",RV)}VV!==void 0&&J(VV)},API_BASE=window.API_BASE_URL??"/api",debug$4=Debug$1("run-frame"),debug$3=debug$4.extend("store");async function upsertFileApi(lV,J){return(await(await fetch(`${API_BASE}/files/upsert`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({file_path:lV,text_content:J})})).json()).file}async function getFileApi(lV){return(await(await fetch(`${API_BASE}/files/get?file_path=${encodeURIComponent(lV)}`)).json()).file}async function getEvents(lV){const J=lV?`${API_BASE}/events/list?since=${encodeURIComponent(lV)}`:`${API_BASE}/events/list`;return(await(await fetch(J)).json()).event_list}async function getInitialFilesApi(){const lV=await fetch(`${API_BASE}/files/list`),{file_list:J}=await lV.json(),VV=new Map;for(const RV of J){const UV=await getFileApi(RV.file_path);VV.set(RV.file_path,UV.text_content)}return VV}const useRunFrameStore=create$1()(devtools((lV,J)=>({fsMap:new Map,lastEventTime:new Date().toISOString(),isPolling:!1,error:null,circuitJson:null,lastManualEditsChangeSentAt:0,recentEvents:[],loadInitialFiles:async()=>{const VV=await getInitialFilesApi();debug$3("loaded initial files",{fsMap:VV}),lV({fsMap:VV})},upsertFile:async(VV,RV)=>{try{const UV=await upsertFileApi(VV,RV);lV(ZV=>({fsMap:new Map(ZV.fsMap).set(UV.file_path,UV.text_content)}))}catch(UV){lV({error:UV})}},getFile:async VV=>{try{const RV=await getFileApi(VV);lV(UV=>({fsMap:new Map(UV.fsMap).set(RV.file_path,RV.text_content)}))}catch(RV){lV({error:RV})}},setCircuitJson:VV=>{VV!==J().circuitJson&&lV({circuitJson:VV})},startPolling:()=>{const VV=async()=>{const RV=J();if(RV.isPolling){try{const UV=await getEvents(RV.lastEventTime);if(UV.length>0){lV(IV=>({recentEvents:[...IV.recentEvents,...UV].slice(0,100)}));const ZV=UV[UV.length-1].created_at,WV=new Map(RV.fsMap);for(const IV of UV)if(IV.event_type==="FILE_UPDATED"){const dV=await getFileApi(IV.file_path);if(IV.file_path==="manual_edits.json"&&Date.now()-RV.lastManualEditsChangeSentAt<1e3)continue;WV.set(dV.file_path,dV.text_content)}lV({fsMap:WV,lastEventTime:ZV})}}catch(UV){lV({error:UV})}setTimeout(VV,1e3)}};lV({isPolling:!0}),VV()},stopPolling:()=>{lV({isPolling:!1})},pushEvent:async VV=>{await fetch(`${window.API_BASE_URL??""}/api/events/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(VV)})},applyEditEventsAndUpdateManualEditsJson:async VV=>{debug$3("applyEditEventsAndUpdateManualEditsJson",{editEvents:VV});const RV=J();if(!RV.circuitJson)return;const UV=RV.fsMap.get("manual-edits.json"),ZV=UV?JSON.parse(UV):{},WV=applyEditEventsToManualEditsFile({circuitJson:RV.circuitJson,editEvents:VV,manualEditsFile:ZV});debug$3("updatedManualEditsFileContent",WV),lV(IV=>({lastManualEditsChangeSentAt:Date.now(),fsMap:new Map(IV.fsMap).set("manual-edits.json",JSON.stringify(WV))})),await upsertFileApi("manual-edits.json",JSON.stringify(WV,null,2))}}),{name:"run-frame-store"})),getChangesBetweenFsMaps=(lV,J)=>{const VV={};for(const[RV,UV]of lV.entries()){const ZV=J.get(RV);ZV!==UV&&(VV[RV]={old:UV,new:ZV})}for(const[RV,UV]of J.entries())lV.has(RV)||(VV[RV]={old:void 0,new:UV});return VV},debug$2=Debug$1("run-frame:RunFrame"),RunFrame=lV=>{const[J,VV]=useRunFrameStore(dV=>[dV.circuitJson,dV.setCircuitJson]),[RV,UV]=reactExports.useState(null);reactExports.useEffect(()=>{lV.debug&&Debug$1.enable("run-frame*")},[lV.debug]);const ZV=lV.fsMap instanceof Map?lV.fsMap:Object.entries(lV.fsMap??{}).reduce((dV,[CV,FV])=>dV.set(CV,FV),new Map),WV=reactExports.useRef(null),IV=reactExports.useRef(null);return reactExports.useEffect(()=>{if(!ZV)return;if(WV.current&&J){const CV=getChangesBetweenFsMaps(WV.current,ZV);if(Object.keys(CV).length>0)debug$2("render triggered by changes:",CV);else if(IV.current!==lV.entrypoint)debug$2("render triggered by entrypoint change");else{debug$2("render triggered without changes to fsMap, skipping");return}}WV.current=ZV,IV.current=lV.entrypoint;async function dV(){var JV,nV,aV,GV,cV;debug$2("running render worker"),UV(null);const CV=globalThis.runFrameWorker??await createCircuitWebWorker({webWorkerUrl:blobUrl,verbose:!0});globalThis.runFrameWorker=CV,(JV=lV.onRenderStarted)==null||JV.call(lV);const FV=ZV instanceof Map?Object.fromEntries(ZV.entries()):ZV;if(!FV[lV.entrypoint]){UV({error:`Entrypoint not found (entrypoint: "${lV.entrypoint}", fsMapKeys: ${Object.keys(FV).join(", ")})`,stack:""});return}if(!(await CV.executeWithFsMap({entrypoint:lV.entrypoint,fsMap:FV}).then(()=>({success:!0})).catch(TV=>{var tV;const iV=TV.message.split(":")[1];return(tV=lV.onError)==null||tV.call(lV,TV),UV({error:iV,stack:TV.stack}),console.error(TV),{success:!1}})).success)return;const gV=CV.renderUntilSettled();debug$2("waiting for initial circuit json...");let eV=await CV.getCircuitJson().catch(TV=>{var iV;return debug$2("error getting initial circuit json",TV),(iV=lV.onError)==null||iV.call(lV,TV),UV({error:TV.message,stack:TV.stack}),null});eV&&(debug$2("got initial circuit json"),VV(eV),(nV=lV.onCircuitJsonChange)==null||nV.call(lV,eV),(aV=lV.onInitialRender)==null||aV.call(lV,{circuitJson:eV}),await gV,debug$2("getting final circuit json"),eV=await CV.getCircuitJson(),(GV=lV.onCircuitJsonChange)==null||GV.call(lV,eV),VV(eV),(cV=lV.onRenderFinished)==null||cV.call(lV,{circuitJson:eV}))}dV()},[lV.fsMap,lV.entrypoint]),jsxRuntimeExports.jsx(CircuitJsonPreview,{defaultActiveTab:"schematic",leftHeaderContent:lV.leftHeaderContent,circuitJson:J,errorMessage:RV==null?void 0:RV.error,onEditEvent:lV.onEditEvent,editEvents:lV.editEvents})},debug$1=debug$4.extend("useEditEventController"),useEditEventController=()=>{const lV=useRunFrameStore(eV=>eV.applyEditEventsAndUpdateManualEditsJson),[J,VV]=reactExports.useState([]),[RV,UV]=reactExports.useState(!1),ZV=J.filter(eV=>!eV._applied),WV=J.filter(eV=>eV._applied),IV=RV?J:ZV,dV=reactExports.useCallback(eV=>{VV(JV=>[...JV,{...eV,_applied:!1}])},[]),CV=reactExports.useCallback(eV=>{VV(JV=>JV.map(nV=>nV===eV?{...nV,_applied:!0}:nV))},[]),FV=reactExports.useCallback(()=>{VV(eV=>eV.map(JV=>({...JV,_applied:!0})))},[]),NV=reactExports.useCallback(()=>{UV(!0),J.length!==0&&(debug$1("removing edit events that are applied"),VV(eV=>eV.filter(JV=>!JV._applied)))},[J]),gV=reactExports.useCallback(()=>{UV(!1)},[]);return reactExports.useEffect(()=>{if(J.filter(JV=>!JV._applied).length===0)return;const eV=setTimeout(()=>{FV(),lV(J)},1e3);return()=>clearTimeout(eV)},[J]),{unappliedEditEvents:ZV,appliedEditEvents:WV,editEventsForRender:IV,pushEditEvent:dV,markEditEventApplied:CV,markRenderStarted:NV,markRenderComplete:gV,markAllEditEventsApplied:FV}},debug=Debug$1("run-frame:RunFrameWithApi"),guessEntrypoint=lV=>lV.find(J=>J.includes("entrypoint."))??lV.find(J=>J.includes("index."))??lV.find(J=>J.includes("main."))??lV.find(J=>J.endsWith(".tsx")),RunFrameWithApi=lV=>{const{apiBaseUrl:J,leftHeaderContent:VV}=lV;reactExports.useEffect(()=>{lV.debug&&Debug$1.enable("run-frame*")},[lV.debug]);const{startPolling:RV,stopPolling:UV,loadInitialFiles:ZV}=useRunFrameStore(gV=>({startPolling:gV.startPolling,stopPolling:gV.stopPolling,loadInitialFiles:gV.loadInitialFiles})),WV=useRunFrameStore(gV=>gV.fsMap);reactExports.useEffect(()=>{ZV()},[]);const{editEventsForRender:IV,pushEditEvent:dV,markRenderStarted:CV,markRenderComplete:FV}=useEditEventController();reactExports.useEffect(()=>{J&&(window.API_BASE_URL=J)},[J]),reactExports.useEffect(()=>(RV(),()=>UV()),[RV,UV]);const NV=guessEntrypoint(Array.from(WV.keys()))??"entrypoint.tsx";return reactExports.useEffect(()=>{debug(`entrypoint set to ${NV}`,{fsKeys:Array.from(WV.keys())})},[NV]),WV.get(NV)?jsxRuntimeExports.jsx(RunFrame,{fsMap:WV,leftHeaderContent:VV,onInitialRender:()=>{debug("onInitialRender / markRenderStarted"),CV()},onRenderFinished:()=>{debug("onRenderFinished / markRenderComplete"),FV()},entrypoint:NV,editEvents:IV,onEditEvent:gV=>{dV(gV),fetch(`${API_BASE}/events/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({event_type:"USER_CREATED_MANUAL_EDIT",...gV})})}}):jsxRuntimeExports.jsxs("div",{children:["No entrypoint found for Run Frame! Found files:"," ",Array.from(WV.keys()).join(",")]})},SelectSnippetDialog=({snippetNames:lV,onSelect:J,onCancel:VV,isOpen:RV})=>{const[UV,ZV]=reactExports.useState(""),[WV,IV]=reactExports.useState("");if(!RV)return null;const dV=lV.filter(NV=>NV.toLowerCase().includes(WV.toLowerCase())),CV=WV&&!lV.includes(WV),FV=NV=>{NV.key==="Enter"&&(dV.length===1?ZV(dV[0]):CV&&ZV(WV))};return jsxRuntimeExports.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-[100]",children:jsxRuntimeExports.jsxs("div",{className:"bg-white rounded-lg p-6 w-96",children:[jsxRuntimeExports.jsx("h2",{className:"text-lg font-semibold mb-4",children:"Select Snippet"}),jsxRuntimeExports.jsx("input",{type:"text",className:"w-full px-4 py-2 border rounded mb-4",placeholder:"Search snippets or new snippet name...",value:WV,onChange:NV=>IV(NV.target.value),onKeyDown:FV}),jsxRuntimeExports.jsxs("div",{className:"h-60 overflow-y-auto",children:[dV.map(NV=>jsxRuntimeExports.jsx("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 ${UV===NV?"bg-blue-50":""}`,onClick:()=>ZV(NV),children:NV},NV)),CV&&jsxRuntimeExports.jsxs("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 text-blue-500 ${UV===WV?"bg-blue-50":""}`,onClick:()=>ZV(WV),children:['Create new "',WV,'"']})]}),jsxRuntimeExports.jsxs("div",{className:"mt-4 flex justify-end gap-2",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"px-4 py-2 text-gray-600 hover:text-gray-800",onClick:VV,children:"Cancel"}),jsxRuntimeExports.jsx("button",{type:"button",className:"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 disabled:opacity-50",onClick:()=>UV&&J(UV),disabled:!UV,children:UV===WV?`Create "${UV}"`:`Save to ${UV}`})]})]})})},useEventHandler=lV=>{const J=reactExports.useRef(null),VV=useRunFrameStore(RV=>RV.recentEvents);reactExports.useEffect(()=>{if(VV.length===0)return;const RV=VV[0];RV.event_id!==J.current&&(lV(RV),J.current=RV.event_id)},[VV,lV])},SaveToSnippetsButton=()=>{const[lV,J]=reactExports.useState(null),[VV,RV]=reactExports.useState(!1),[UV,ZV]=reactExports.useState(!0),WV=useRunFrameStore(GV=>GV.pushEvent),IV=useRunFrameStore(GV=>GV.recentEvents),[dV,CV]=reactExports.useState(!1),[FV,NV]=reactExports.useState(null),[gV,eV]=reactExports.useState(null),[JV,nV]=reactExports.useState(!1),aV=reactExports.useMemo(()=>Date.now(),[]);return useEventHandler(GV=>{if(!(new Date(GV.created_at).valueOf()<aV+500)){if(GV.event_type==="FILE_UPDATED"){RV(!0);return}if(GV.event_type==="SNIPPET_SAVED"){RV(!1),ZV(!1);return}}}),reactExports.useEffect(()=>{if(!dV||FV===null)return;const GV=IV.filter(iV=>new Date(iV.created_at).valueOf()>FV),cV=GV.find(iV=>iV.event_type==="FAILED_TO_SAVE_SNIPPET"),TV=GV.find(iV=>iV.event_type==="SNIPPET_SAVED");cV&&(CV(!1),NV(null),cV.error_code==="SNIPPET_UNSET"&&cV.available_snippet_names&&(eV(cV.available_snippet_names),nV(!0))),TV&&(CV(!1),NV(null))},[IV,dV]),jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("button",{type:"button",onClick:async()=>{CV(!0),NV(Date.now()),await WV({event_type:"REQUEST_TO_SAVE_SNIPPET",snippet_name:lV})},disabled:dV,className:`px-3 flex items-center text-sm py-1.5 rounded-md ${dV?"cursor-not-allowed":"bg-white border border-gray-300 font-medium text-gray-900 shadow-sm"}`,children:[dV?"Saving...":"Save to Snippets",dV||UV?null:jsxRuntimeExports.jsx("span",{className:"ml-1.5 flex items-center",children:VV?jsxRuntimeExports.jsx("div",{className:"text-xs bg-orange-400 text-white p-0.5 px-1.5 rounded",children:"unsaved changes"}):jsxRuntimeExports.jsx(CircleCheck,{className:"w-4 h-4 text-green-500"})})]}),jsxRuntimeExports.jsx(SelectSnippetDialog,{snippetNames:gV??[],onSelect:async GV=>{CV(!0),NV(Date.now()),J(GV),await WV({event_type:"REQUEST_TO_SAVE_SNIPPET",snippet_name:GV}),nV(!1)},onCancel:()=>nV(!1),isOpen:JV})]})},RunFrameForCli=lV=>jsxRuntimeExports.jsx(RunFrameWithApi,{debug:lV.debug,leftHeaderContent:jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(SaveToSnippetsButton,{})})}),root=clientExports.createRoot(document.getElementById("root"));root.render(jsxRuntimeExports.jsx(React.StrictMode,{children:jsxRuntimeExports.jsx("div",{style:{width:"100vw",height:"100vh"},children:jsxRuntimeExports.jsx(RunFrameForCli,{debug:window.location.search.includes("debug")})})}));var t=typeof self<"u"?self:{};function e(lV,J){V:{for(var VV=["CLOSURE_FLAGS"],RV=t,UV=0;UV<VV.length;UV++)if((RV=RV[VV[UV]])==null){VV=null;break V}VV=RV}return(lV=VV&&VV[lV])!=null?lV:J}function n(){throw Error("Invalid UTF8")}function r(lV,J){return J=String.fromCharCode.apply(null,J),lV==null?J:lV+J}let i$1,s;const o=typeof TextDecoder<"u";let a;const h=typeof TextEncoder<"u";function c(lV){if(h)lV=(a||(a=new TextEncoder)).encode(lV);else{let VV=0;const RV=new Uint8Array(3*lV.length);for(let UV=0;UV<lV.length;UV++){var J=lV.charCodeAt(UV);if(J<128)RV[VV++]=J;else{if(J<2048)RV[VV++]=J>>6|192;else{if(J>=55296&&J<=57343){if(J<=56319&&UV<lV.length){const ZV=lV.charCodeAt(++UV);if(ZV>=56320&&ZV<=57343){J=1024*(J-55296)+ZV-56320+65536,RV[VV++]=J>>18|240,RV[VV++]=J>>12&63|128,RV[VV++]=J>>6&63|128,RV[VV++]=63&J|128;continue}UV--}J=65533}RV[VV++]=J>>12|224,RV[VV++]=J>>6&63|128}RV[VV++]=63&J|128}}lV=VV===RV.length?RV:RV.subarray(0,VV)}return lV}var u,l=e(610401301,!1),f=e(653718497,e(1,!0)),d=e(660014094,!1);const p=t.navigator;function g(lV){return!!l&&!!u&&u.brands.some(({brand:J})=>J&&J.indexOf(lV)!=-1)}function m(lV){var J;return(J=t.navigator)&&(J=J.userAgent)||(J=""),J.indexOf(lV)!=-1}function y(){return!!l&&!!u&&u.brands.length>0}function _(){return y()?g("Chromium"):(m("Chrome")||m("CriOS"))&&!(!y()&&m("Edge"))||m("Silk")}function v(lV){return v[" "](lV),lV}u=p&&p.userAgentData||null,v[" "]=function(){};var E=!y()&&(m("Trident")||m("MSIE"));!m("Android")||_(),_(),m("Safari")&&(_()||!y()&&m("Coast")||!y()&&m("Opera")||!y()&&m("Edge")||(y()?g("Microsoft Edge"):m("Edg/"))||y()&&g("Opera"));var w={},T=null;function A(lV){var J=lV.length,VV=3*J/4;VV%3?VV=Math.floor(VV):"=.".indexOf(lV[J-1])!=-1&&(VV="=.".indexOf(lV[J-2])!=-1?VV-2:VV-1);var RV=new Uint8Array(VV),UV=0;return function(ZV,WV){function IV(eV){for(;dV<ZV.length;){var JV=ZV.charAt(dV++),nV=T[JV];if(nV!=null)return nV;if(!/^[\s\xa0]*$/.test(JV))throw Error("Unknown base64 encoding at char: "+JV)}return eV}b();for(var dV=0;;){var CV=IV(-1),FV=IV(0),NV=IV(64),gV=IV(64);if(gV===64&&CV===-1)break;WV(CV<<2|FV>>4),NV!=64&&(WV(FV<<4&240|NV>>2),gV!=64&&WV(NV<<6&192|gV))}}(lV,function(ZV){RV[UV++]=ZV}),UV!==VV?RV.subarray(0,UV):RV}function b(){if(!T){T={};for(var lV="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),J=["+/=","+/","-_=","-_.","-_"],VV=0;VV<5;VV++){var RV=lV.concat(J[VV].split(""));w[VV]=RV;for(var UV=0;UV<RV.length;UV++){var ZV=RV[UV];T[ZV]===void 0&&(T[ZV]=UV)}}}}var k=typeof Uint8Array<"u",S=!E&&typeof btoa=="function";function x(lV){if(!S){var J;J===void 0&&(J=0),b(),J=w[J];var VV=Array(Math.floor(lV.length/3)),RV=J[64]||"";let dV=0,CV=0;for(;dV<lV.length-2;dV+=3){var UV=lV[dV],ZV=lV[dV+1],WV=lV[dV+2],IV=J[UV>>2];UV=J[(3&UV)<<4|ZV>>4],ZV=J[(15&ZV)<<2|WV>>6],WV=J[63&WV],VV[CV++]=IV+UV+ZV+WV}switch(IV=0,WV=RV,lV.length-dV){case 2:WV=J[(15&(IV=lV[dV+1]))<<2]||RV;case 1:lV=lV[dV],VV[CV]=J[lV>>2]+J[(3&lV)<<4|IV>>4]+WV+RV}return VV.join("")}for(J="",VV=0,RV=lV.length-10240;VV<RV;)J+=String.fromCharCode.apply(null,lV.subarray(VV,VV+=10240));return J+=String.fromCharCode.apply(null,VV?lV.subarray(VV):lV),btoa(J)}const L=/[-_.]/g,R={"-":"+",_:"/",".":"="};function F(lV){return R[lV]||""}function M(lV){if(!S)return A(lV);L.test(lV)&&(lV=lV.replace(L,F)),lV=atob(lV);const J=new Uint8Array(lV.length);for(let VV=0;VV<lV.length;VV++)J[VV]=lV.charCodeAt(VV);return J}function I(lV){return k&&lV!=null&&lV instanceof Uint8Array}var P={};let O;function C(lV){if(lV!==P)throw Error("illegal external caller")}function N(){return O||(O=new D(null,P))}function U(lV){C(P);var J=lV.ba;return(J=J==null||I(J)?J:typeof J=="string"?M(J):null)==null?J:lV.ba=J}var D=class{constructor(lV,J){if(C(J),this.ba=lV,lV!=null&&lV.length===0)throw Error("ByteString should be constructed with non-empty values")}ua(){return new Uint8Array(U(this)||0)}};function B(lV,J){lV.__closure__error__context__984382||(lV.__closure__error__context__984382={}),lV.__closure__error__context__984382.severity=J}let G;function j(){const lV=Error();B(lV,"incident"),function(J){t.setTimeout(()=>{throw J},0)}(lV)}function V(lV){return B(lV=Error(lV),"warning"),lV}function X(){return typeof BigInt=="function"}function H(lV){return Array.prototype.slice.call(lV)}var W=typeof Symbol=="function"&&typeof Symbol()=="symbol";function z(lV){return typeof Symbol=="function"&&typeof Symbol()=="symbol"?Symbol():lV}var K=z(),Y=z("0di"),$=z("2ex"),q=z("1oa"),Z=W?(lV,J)=>{lV[K]|=J}:(lV,J)=>{lV.G!==void 0?lV.G|=J:Object.defineProperties(lV,{G:{value:J,configurable:!0,writable:!0,enumerable:!1}})},Q=W?(lV,J)=>{lV[K]&=~J}:(lV,J)=>{lV.G!==void 0&&(lV.G&=~J)},tt=W?lV=>0|lV[K]:lV=>0|lV.G,et=W?lV=>lV[K]:lV=>lV.G,nt=W?(lV,J)=>{lV[K]=J}:(lV,J)=>{lV.G!==void 0?lV.G=J:Object.defineProperties(lV,{G:{value:J,configurable:!0,writable:!0,enumerable:!1}})};function rt(lV){return Z(lV,34),lV}function it(lV,J){nt(J,-14591&(0|lV))}function st(lV,J){nt(J,-14557&(34|lV))}var ot,at={},ht={};function ct(lV){return!(!lV||typeof lV!="object"||lV.La!==ht)}function ut(lV){return lV!==null&&typeof lV=="object"&&!Array.isArray(lV)&&lV.constructor===Object}function lt(lV,J,VV){if(lV!=null){if(typeof lV=="string")lV=lV?new D(lV,P):N();else if(lV.constructor!==D)if(I(lV))lV=lV.length?new D(VV?lV:new Uint8Array(lV),P):N();else{if(!J)throw Error();lV=void 0}}return lV}function ft(lV){return!(!Array.isArray(lV)||lV.length)&&!!(1&tt(lV))}const dt=[];function pt(lV){if(2&lV)throw Error()}nt(dt,55),ot=Object.freeze(dt);class gt{constructor(J,VV,RV){this.l=0,this.g=J,this.h=VV,this.m=RV}next(){if(this.l<this.g.length){const J=this.g[this.l++];return{done:!1,value:this.h?this.h.call(this.m,J):J}}return{done:!0,value:void 0}}[Symbol.iterator](){return new gt(this.g,this.h,this.m)}}let mt;function yt(lV,J){(J=mt?J[mt]:void 0)&&(lV[mt]=H(J))}var _t=Object.freeze({}),vt=Object.freeze({});function Et(lV){return lV.Sa=!0,lV}var wt=Et(lV=>typeof lV=="number"),Tt=Et(lV=>typeof lV=="string"),At=Et(lV=>typeof lV=="boolean"),bt=typeof t.BigInt=="function"&&typeof t.BigInt(0)=="bigint",kt=Et(lV=>bt?lV>=xt&&lV<=Rt:lV[0]==="-"?Ft(lV,St):Ft(lV,Lt));const St=Number.MIN_SAFE_INTEGER.toString(),xt=bt?BigInt(Number.MIN_SAFE_INTEGER):void 0,Lt=Number.MAX_SAFE_INTEGER.toString(),Rt=bt?BigInt(Number.MAX_SAFE_INTEGER):void 0;function Ft(lV,J){if(lV.length>J.length)return!1;if(lV.length<J.length||lV===J)return!0;for(let VV=0;VV<lV.length;VV++){const RV=lV[VV],UV=J[VV];if(RV>UV)return!1;if(RV<UV)return!0}}const Mt=typeof Uint8Array.prototype.slice=="function";let It,Pt=0,Ot=0;function Ct(lV){const J=lV>>>0;Pt=J,Ot=(lV-J)/4294967296>>>0}function Nt(lV){if(lV<0){Ct(-lV);const[J,VV]=Xt(Pt,Ot);Pt=J>>>0,Ot=VV>>>0}else Ct(lV)}function Ut(lV){const J=It||(It=new DataView(new ArrayBuffer(8)));J.setFloat32(0,+lV,!0),Ot=0,Pt=J.getUint32(0,!0)}function Dt(lV,J){return 4294967296*J+(lV>>>0)}function Bt(lV,J){const VV=2147483648&J;return VV&&(J=~J>>>0,(lV=1+~lV>>>0)==0&&(J=J+1>>>0)),lV=Dt(lV,J),VV?-lV:lV}function Gt(lV,J){if(lV>>>=0,(J>>>=0)<=2097151)var VV=""+(4294967296*J+lV);else X()?VV=""+(BigInt(J)<<BigInt(32)|BigInt(lV)):(lV=(16777215&lV)+6777216*(VV=16777215&(lV>>>24|J<<8))+6710656*(J=J>>16&65535),VV+=8147497*J,J*=2,lV>=1e7&&(VV+=lV/1e7>>>0,lV%=1e7),VV>=1e7&&(J+=VV/1e7>>>0,VV%=1e7),VV=J+jt(VV)+jt(lV));return VV}function jt(lV){return lV=String(lV),"0000000".slice(lV.length)+lV}function Vt(lV){if(lV.length<16)Nt(Number(lV));else if(X())lV=BigInt(lV),Pt=Number(lV&BigInt(4294967295))>>>0,Ot=Number(lV>>BigInt(32)&BigInt(4294967295));else{const J=+(lV[0]==="-");Ot=Pt=0;const VV=lV.length;for(let RV=J,UV=(VV-J)%6+J;UV<=VV;RV=UV,UV+=6){const ZV=Number(lV.slice(RV,UV));Ot*=1e6,Pt=1e6*Pt+ZV,Pt>=4294967296&&(Ot+=Math.trunc(Pt/4294967296),Ot>>>=0,Pt>>>=0)}if(J){const[RV,UV]=Xt(Pt,Ot);Pt=RV,Ot=UV}}}function Xt(lV,J){return J=~J,lV?lV=1+~lV:J+=1,[lV,J]}function Ht(lV){return lV==null||typeof lV=="number"?lV:lV==="NaN"||lV==="Infinity"||lV==="-Infinity"?Number(lV):void 0}function Wt(lV){return lV==null||typeof lV=="boolean"?lV:typeof lV=="number"?!!lV:void 0}const zt=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function Kt(lV){const J=typeof lV;switch(J){case"bigint":return!0;case"number":return Number.isFinite(lV)}return J==="string"&&zt.test(lV)}function Yt(lV){if(lV==null)return lV;if(typeof lV=="string"){if(!lV)return;lV=+lV}return typeof lV=="number"&&Number.isFinite(lV)?0|lV:void 0}function $t(lV){if(lV==null)return lV;if(typeof lV=="string"){if(!lV)return;lV=+lV}return typeof lV=="number"&&Number.isFinite(lV)?lV>>>0:void 0}function qt(lV){return lV[0]!=="-"&&(lV.length<20||lV.length===20&&Number(lV.substring(0,6))<184467)}function Jt(lV){return lV=Math.trunc(lV),Number.isSafeInteger(lV)||(Nt(lV),lV=Bt(Pt,Ot)),lV}function Zt(lV){var J=Math.trunc(Number(lV));if(Number.isSafeInteger(J))return String(J);if((J=lV.indexOf("."))!==-1&&(lV=lV.substring(0,J)),!(lV[0]==="-"?lV.length<20||lV.length===20&&Number(lV.substring(0,7))>-922337:lV.length<19||lV.length===19&&Number(lV.substring(0,6))<922337))if(Vt(lV),lV=Pt,2147483648&(J=Ot))if(X())lV=""+(BigInt(0|J)<<BigInt(32)|BigInt(lV>>>0));else{const[VV,RV]=Xt(lV,J);lV="-"+Gt(VV,RV)}else lV=Gt(lV,J);return lV}function Qt(lV){return lV==null?lV:typeof lV=="bigint"?(kt(lV)?lV=Number(lV):(lV=BigInt.asIntN(64,lV),lV=kt(lV)?Number(lV):String(lV)),lV):Kt(lV)?typeof lV=="number"?Jt(lV):Zt(lV):void 0}function te(lV){if(lV==null)return lV;var J=typeof lV;if(J==="bigint")return String(BigInt.asUintN(64,lV));if(Kt(lV)){if(J==="string")return J=Math.trunc(Number(lV)),Number.isSafeInteger(J)&&J>=0?lV=String(J):((J=lV.indexOf("."))!==-1&&(lV=lV.substring(0,J)),qt(lV)||(Vt(lV),lV=Gt(Pt,Ot))),lV;if(J==="number")return(lV=Math.trunc(lV))>=0&&Number.isSafeInteger(lV)?lV:function(VV){if(VV<0){Nt(VV);const RV=Gt(Pt,Ot);return VV=Number(RV),Number.isSafeInteger(VV)?VV:RV}return qt(String(VV))?VV:(Nt(VV),Dt(Pt,Ot))}(lV)}}function ee(lV){if(typeof lV!="string")throw Error();return lV}function ne(lV){if(lV!=null&&typeof lV!="string")throw Error();return lV}function re(lV){return lV==null||typeof lV=="string"?lV:void 0}function ie(lV,J,VV,RV){if(lV!=null&&typeof lV=="object"&&lV.Y===at)return lV;if(!Array.isArray(lV))return VV?2&RV?(lV=J[Y])?J=lV:(rt((lV=new J).u),J=J[Y]=lV):J=new J:J=void 0,J;let UV=VV=tt(lV);return UV===0&&(UV|=32&RV),UV|=2&RV,UV!==VV&&nt(lV,UV),new J(lV)}function se(lV,J,VV){if(J)V:{if(!Kt(J=lV))throw V("int64");switch(typeof J){case"string":J=Zt(J);break V;case"bigint":if(lV=J=BigInt.asIntN(64,J),Tt(lV)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(lV))throw Error(String(lV))}else if(wt(lV)&&!Number.isSafeInteger(lV))throw Error(String(lV));J=bt?BigInt(J):At(J)?J?"1":"0":Tt(J)?J.trim()||"0":String(J);break V;default:J=Jt(J)}}else J=Qt(lV);return typeof(VV=(lV=J)==null?VV?0:void 0:lV)=="string"&&(J=+VV,Number.isSafeInteger(J))?J:VV}function oe(lV){if(ce===void 0&&(ce=typeof Proxy=="function"?ye(Proxy):null),!ce||!me())return lV;let J=ae==null?void 0:ae.get(lV);return J||(Math.random()>.01?lV:(function(VV){if(le===void 0){const RV=new ce([],{});le=Array.prototype.concat.call([],RV).length===1}le&&typeof Symbol=="function"&&Symbol.isConcatSpreadable&&(VV[Symbol.isConcatSpreadable]=!0)}(lV),J=new ce(lV,{set:(VV,RV,UV)=>(j(),VV[RV]=UV,!0)}),function(VV,RV){(ae||(ae=new ue)).set(VV,RV),(he||(he=new ue)).set(RV,VV)}(lV,J),J))}let ae,he,ce,ue,le,fe,de,pe,ge;function me(){return ue===void 0&&(ue=typeof WeakMap=="function"?ye(WeakMap):null),ue}function ye(lV){try{return lV.toString().indexOf("[native code]")!==-1?lV:null}catch{return null}}function _e(lV,J,VV){var WV;if(f&&me()){if((WV=fe==null?void 0:fe.get(J))!=null&&WV.get(lV)){if(VV)return}else if(Math.random()>.01)return;var RV=lV.length;VV={length:RV};for(var UV=0;UV<Math.min(RV,10);UV++){if(RV<=10)var ZV=UV;else{ZV=RV/10;const IV=Math.floor(UV*ZV);ZV=IV+Math.floor(Math.random()*(Math.floor((UV+1)*ZV)-IV))}VV[ZV]=lV[ZV]}Ee(lV,VV)?((UV=(RV=fe||(fe=new ue)).get(J))||(UV=new ue,RV.set(J,UV)),UV.set(lV,VV)):(j(),Te(lV,J))}}function ve(lV,J){var RV;const VV=(RV=fe==null?void 0:fe.get(J))==null?void 0:RV.get(lV);VV&&!Ee(lV,VV)&&(j(),Te(lV,J))}function Ee(lV,J){if(lV.length!==J.length)return!1;for(const UV in J){var VV,RV=Number(UV);if((VV=Number.isInteger(RV))&&(VV=lV[RV],RV=J[RV],VV=!(Number.isNaN(VV)?Number.isNaN(RV):VV===RV)),VV)return!1}return!0}function we(lV){if(lV&&(fe!=null&&fe.has(lV))){var J=lV.u;if(J)for(let VV=0;VV<J.length;VV++){const RV=J[VV];if(VV===J.length-1&&ut(RV))for(const UV in RV){const ZV=RV[UV];Array.isArray(ZV)&&ve(ZV,lV)}else Array.isArray(RV)&&ve(RV,lV)}}}function Te(lV,J){var VV;(VV=fe==null?void 0:fe.get(J))==null||VV.delete(lV)}function Ae(lV,J){return lV=be(lV,J[0],J[1]),Z(lV,16384),lV}function be(lV,J,VV){if(lV==null&&(lV=de),de=void 0,lV==null){var RV=96;VV?(lV=[VV],RV|=512):lV=[],J&&(RV=-33521665&RV|(1023&J)<<15)}else{if(!Array.isArray(lV))throw Error("narr");if(2048&(RV=tt(lV)))throw Error("farr");if(64&RV)return lV;if(RV|=64,VV&&(RV|=512,VV!==lV[0]))throw Error("mid");V:{const UV=(VV=lV).length;if(UV){const ZV=UV-1;if(ut(VV[ZV])){if((J=ZV-(+!!(512&(RV|=256))-1))>=1024)throw Error("pvtlmt");RV=-33521665&RV|(1023&J)<<15;break V}}if(J){if((J=Math.max(J,UV-(+!!(512&RV)-1)))>1024)throw Error("spvt");RV=-33521665&RV|(1023&J)<<15}}}return nt(lV,RV),lV}const ke={};let Se=function(){try{return v(new class extends Map{constructor(){super()}}),!1}catch{return!0}}();class xe{constructor(){this.g=new Map}get(J){return this.g.get(J)}set(J,VV){return this.g.set(J,VV),this.size=this.g.size,this}delete(J){return J=this.g.delete(J),this.size=this.g.size,J}clear(){this.g.clear(),this.size=this.g.size}has(J){return this.g.has(J)}entries(){return this.g.entries()}keys(){return this.g.keys()}values(){return this.g.values()}forEach(J,VV){return this.g.forEach(J,VV)}[Symbol.iterator](){return this.entries()}}const Le=Se?(Object.setPrototypeOf(xe.prototype,Map.prototype),Object.defineProperties(xe.prototype,{size:{value:0,configurable:!0,enumerable:!0,writable:!0}}),xe):class extends Map{constructor(){super()}};function Re(lV){return lV}function Fe(lV){if(2&lV.M)throw Error("Cannot mutate an immutable Map")}var Me=class extends Le{constructor(lV,J,VV=Re,RV=Re){super();let UV=tt(lV);UV|=64,nt(lV,UV),this.M=UV,this.U=J,this.T=VV,this.aa=this.U?Ie:RV;for(let ZV=0;ZV<lV.length;ZV++){const WV=lV[ZV],IV=VV(WV[0],!1,!0);let dV=WV[1];J?dV===void 0&&(dV=null):dV=RV(WV[1],!1,!0,void 0,void 0,UV),super.set(IV,dV)}}pa(lV=Pe){if(this.size!==0)return this.Z(lV)}Z(lV=Pe){const J=[],VV=super.entries();for(var RV;!(RV=VV.next()).done;)(RV=RV.value)[0]=lV(RV[0]),RV[1]=lV(RV[1]),J.push(RV);return J}clear(){Fe(this),super.clear()}delete(lV){return Fe(this),super.delete(this.T(lV,!0,!1))}entries(){var lV=this.oa();return new gt(lV,Oe,this)}keys(){return this.Ka()}values(){var lV=this.oa();return new gt(lV,Me.prototype.get,this)}forEach(lV,J){super.forEach((VV,RV)=>{lV.call(J,this.get(RV),RV,this)})}set(lV,J){return Fe(this),(lV=this.T(lV,!0,!1))==null?this:J==null?(super.delete(lV),this):super.set(lV,this.aa(J,!0,!0,this.U,!1,this.M))}Qa(lV){const J=this.T(lV[0],!1,!0);lV=lV[1],lV=this.U?lV===void 0?null:lV:this.aa(lV,!1,!0,void 0,!1,this.M),super.set(J,lV)}has(lV){return super.has(this.T(lV,!1,!1))}get(lV){lV=this.T(lV,!1,!1);const J=super.get(lV);if(J!==void 0){var VV=this.U;return VV?((VV=this.aa(J,!1,!0,VV,this.va,this.M))!==J&&super.set(lV,VV),VV):J}}oa(){return Array.from(super.keys())}Ka(){return super.keys()}[Symbol.iterator](){return this.entries()}};function Ie(lV,J,VV,RV,UV,ZV){return lV=ie(lV,RV,VV,ZV),UV&&(lV=He(lV)),lV}function Pe(lV){return lV}function Oe(lV){return[lV,this.get(lV)]}let Ce;function Ne(){return Ce||(Ce=new Me(rt([]),void 0,void 0,void 0,ke))}function Ue(lV,J,VV,RV,UV){if(lV!=null){if(Array.isArray(lV))lV=ft(lV)?void 0:UV&&2&tt(lV)?lV:De(lV,J,VV,RV!==void 0,UV);else if(ut(lV)){const ZV={};for(let WV in lV)ZV[WV]=Ue(lV[WV],J,VV,RV,UV);lV=ZV}else lV=J(lV,RV);return lV}}function De(lV,J,VV,RV,UV){const ZV=RV||VV?tt(lV):0;RV=RV?!!(32&ZV):void 0;const WV=H(lV);for(let IV=0;IV<WV.length;IV++)WV[IV]=Ue(WV[IV],J,VV,RV,UV);return VV&&(yt(WV,lV),VV(ZV,WV)),WV}function Be(lV){return Ue(lV,Ge,void 0,void 0,!1)}function Ge(lV){return lV.Y===at?lV.toJSON():lV instanceof Me?lV.pa(Be):function(J){switch(typeof J){case"number":return isFinite(J)?J:String(J);case"bigint":return kt(J)?Number(J):String(J);case"boolean":return J?1:0;case"object":if(J)if(Array.isArray(J)){if(ft(J))return}else{if(I(J))return x(J);if(J instanceof D){const VV=J.ba;return VV==null?"":typeof VV=="string"?VV:J.ba=x(VV)}if(J instanceof Me)return J.pa()}}return J}(lV)}function je(lV,J,VV=st){if(lV!=null){if(k&&lV instanceof Uint8Array)return J?lV:new Uint8Array(lV);if(Array.isArray(lV)){var RV=tt(lV);return 2&RV?lV:(J&&(J=RV===0||!!(32&RV)&&!(64&RV||!(16&RV))),J?(nt(lV,-12293&(34|RV)),lV):De(lV,je,4&RV?st:VV,!0,!0))}return lV.Y===at?(VV=lV.u,lV=2&(RV=et(VV))?lV:Ve(lV,VV,RV,!0)):lV instanceof Me&&!(2&lV.M)&&(VV=rt(lV.Z(je)),lV=new Me(VV,lV.U,lV.T,lV.aa)),lV}}function Ve(lV,J,VV,RV){return we(lV),lV=lV.constructor,de=J=Xe(J,VV,RV),J=new lV(J),de=void 0,J}function Xe(lV,J,VV){const RV=VV||2&J?st:it,UV=!!(32&J);return lV=function(ZV,WV,IV){const dV=H(ZV);var CV=dV.length;const FV=256&WV?dV[CV-1]:void 0;for(CV+=FV?-1:0,WV=512&WV?1:0;WV<CV;WV++)dV[WV]=IV(dV[WV]);if(FV){WV=dV[WV]={};for(const NV in FV)WV[NV]=IV(FV[NV])}return yt(dV,ZV),dV}(lV,J,ZV=>je(ZV,UV,RV)),Z(lV,32|(VV?2:0)),lV}function He(lV){const J=lV.u,VV=et(J);return 2&VV?Ve(lV,J,VV,!1):lV}function We(lV,J,VV,RV){return!(4&J)||VV!=null}function ze(lV,J){return Ye(lV=lV.u,et(lV),J)}function Ke(lV,J,VV,RV){if(!((J=RV+(+!!(512&J)-1))<0||J>=lV.length||J>=VV))return lV[J]}function Ye(lV,J,VV,RV){if(VV===-1)return null;const UV=J>>15&1023||536870912;if(!(VV>=UV)){var ZV=lV.length;return RV&&256&J&&(RV=lV[ZV-1][VV])!=null?(Ke(lV,J,UV,VV)&&$!=null&&((J=(lV=G??(G={}))[$]||0)>=4||(lV[$]=J+1,j())),RV):Ke(lV,J,UV,VV)}return 256&J?lV[lV.length-1][VV]:void 0}function $e(lV,J,VV){const RV=lV.u;let UV=et(RV);return pt(UV),qe(RV,UV,J,VV),lV}function qe(lV,J,VV,RV){const UV=J>>15&1023||536870912;if(VV>=UV){let ZV,WV=J;if(256&J)ZV=lV[lV.length-1];else{if(RV==null)return WV;ZV=lV[UV+(+!!(512&J)-1)]={},WV|=256}return ZV[VV]=RV,VV<UV&&(lV[VV+(+!!(512&J)-1)]=void 0),WV!==J&&nt(lV,WV),WV}return lV[VV+(+!!(512&J)-1)]=RV,256&J&&VV in(lV=lV[lV.length-1])&&delete lV[VV],J}function Je(lV,J,VV,RV,UV){var ZV=2&J;UV=Ye(lV,J,VV,UV),Array.isArray(UV)||(UV=ot);const WV=!(2&RV);RV=!(1&RV);const IV=!!(32&J);let dV=tt(UV);return dV!==0||!IV||ZV||WV?1&dV||(dV|=1,nt(UV,dV)):(dV|=33,nt(UV,dV)),ZV?(lV=!1,2&dV||(rt(UV),lV=!!(4&dV)),(RV||lV)&&Object.freeze(UV)):(ZV=!!(2&dV)||!!(2048&dV),RV&&ZV?(UV=H(UV),ZV=1,IV&&!WV&&(ZV|=32),nt(UV,ZV),qe(lV,J,VV,UV)):WV&&32&dV&&!ZV&&Q(UV,32)),UV}function Ze(lV,J){lV=lV.u;let VV=et(lV);const RV=Ye(lV,VV,J),UV=Ht(RV);return UV!=null&&UV!==RV&&qe(lV,VV,J,UV),UV}function Qe(lV){lV=lV.u;let J=et(lV);const VV=Ye(lV,J,1),RV=lt(VV,!0,!!(34&J));return RV!=null&&RV!==VV&&qe(lV,J,1,RV),RV}function tn(){return _t===void 0?2:5}function en(lV,J,VV,RV,UV,ZV){const WV=lV.u;let IV=et(WV);RV=2&IV?1:RV,ZV=!!ZV,UV=nn(WV,IV,J,UV);var dV=tt(UV),CV=UV;if(ve(CV,lV),RV!==2&&RV!==1||Te(CV,lV),We(lV,dV,void 0)){4&dV&&(UV=H(UV),dV=vn(dV,IV),IV=qe(WV,IV,J,UV));let NV=CV=0;for(;CV<UV.length;CV++){const gV=VV(UV[CV]);gV!=null&&(UV[NV++]=gV)}NV<CV&&(UV.length=NV),dV=-4097&(20|(dV=rn(dV,IV))),nt(UV,dV&=-8193),2&dV&&Object.freeze(UV)}let FV;return RV===1||RV===4&&32&dV?sn(dV)||(lV=dV,(dV|=2)!==lV&&nt(UV,dV),Object.freeze(UV)):(VV=RV===5&&(!!(32&dV)||sn(dV)||!!(ae!=null&&ae.get(UV))),(RV===2||VV)&&sn(dV)&&(UV=H(UV),dV=En(dV=vn(dV,IV),IV,ZV),nt(UV,dV),IV=qe(WV,IV,J,UV)),sn(dV)||(J=dV,(dV=En(dV,IV,ZV))!==J&&nt(UV,dV)),VV?(FV=oe(UV),_e(UV,lV,!0)):RV!==2||ZV||(ae==null||ae.delete(UV))),FV||UV}function nn(lV,J,VV,RV){return lV=Ye(lV,J,VV,RV),Array.isArray(lV)?lV:ot}function rn(lV,J){return lV===0&&(lV=vn(lV,J)),1|lV}function sn(lV){return!!(2&lV)&&!!(4&lV)||!!(2048&lV)}function on(lV){lV=H(lV);for(let J=0;J<lV.length;J++){const VV=lV[J]=H(lV[J]);Array.isArray(VV[1])&&(VV[1]=rt(VV[1]))}return lV}function an(lV,J,VV,RV){lV=lV.u;let UV=et(lV);pt(UV),qe(lV,UV,J,(RV==="0"?Number(VV)===0:VV===RV)?void 0:VV)}function hn(lV,J){var VV=_s;return ln(cn(lV=lV.u),lV,et(lV),VV)===J?J:-1}function cn(lV){if(W)return lV[q]??(lV[q]=new Map);if(q in lV)return lV[q];const J=new Map;return Object.defineProperty(lV,q,{value:J}),J}function un(lV,J,VV,RV){const UV=cn(lV),ZV=ln(UV,lV,J,VV);return ZV!==RV&&(ZV&&(J=qe(lV,J,ZV)),UV.set(VV,RV)),J}function ln(lV,J,VV,RV){let UV=lV.get(RV);if(UV!=null)return UV;UV=0;for(let ZV=0;ZV<RV.length;ZV++){const WV=RV[ZV];Ye(J,VV,WV)!=null&&(UV!==0&&(VV=qe(J,VV,UV)),UV=WV)}return lV.set(RV,UV),UV}function fn(lV,J,VV,RV){let UV,ZV=et(lV);if((RV=Ye(lV,ZV,VV,RV))!=null&&RV.Y===at)return(J=He(RV))!==RV&&qe(lV,ZV,VV,J),J.u;if(Array.isArray(RV)){const WV=tt(RV);UV=2&WV?Xe(RV,WV,!1):RV,UV=Ae(UV,J)}else UV=Ae(void 0,J);return UV!==RV&&qe(lV,ZV,VV,UV),UV}function dn(lV,J,VV,RV){lV=lV.u;let UV=et(lV);return(J=ie(RV=Ye(lV,UV,VV,RV),J,!1,UV))!==RV&&J!=null&&qe(lV,UV,VV,J),J}function pn(lV,J,VV,RV=!1){if((J=dn(lV,J,VV,RV))==null)return J;if(lV=lV.u,!(2&(RV=et(lV)))){const UV=He(J);UV!==J&&qe(lV,RV,VV,J=UV)}return J}function gn(lV,J,VV,RV,UV,ZV,WV){const IV=lV.u;var dV=!!(2&J);UV=dV?1:UV,ZV=!!ZV,WV&&(WV=!dV),dV=nn(IV,J,RV);var CV=tt(dV),FV=dV;if(ve(FV,lV),UV!==2&&UV!==1||Te(FV,lV),!(FV=!!(4&CV))){var NV=dV,gV=J;const JV=!!(2&(CV=rn(CV,J)));JV&&(gV|=2);let nV=!JV,aV=!0,GV=0,cV=0;for(;GV<NV.length;GV++){const TV=ie(NV[GV],VV,!1,gV);if(TV instanceof VV){if(!JV){const iV=!!(2&tt(TV.u));nV&&(nV=!iV),aV&&(aV=iV)}NV[cV++]=TV}}cV<GV&&(NV.length=cV),CV|=4,CV=aV?16|CV:-17&CV,nt(NV,CV=nV?8|CV:-9&CV),JV&&Object.freeze(NV)}if(WV&&!(8&CV||!dV.length&&(UV===1||UV===4&&32&CV))){for(sn(CV)?(dV=H(dV),CV=vn(CV,J),J=qe(IV,J,RV,dV)):Te(dV,lV),VV=dV,WV=CV,NV=0;NV<VV.length;NV++)(CV=VV[NV])!==(gV=He(CV))&&(VV[NV]=gV);WV|=8,WV=VV.length?-17&WV:16|WV,nt(VV,WV),CV=WV}let eV;return UV===1||UV===4&&32&CV?sn(CV)||(lV=CV,(CV|=!dV.length||16&CV&&(!FV||32&CV)?2:2048)!==lV&&nt(dV,CV),Object.freeze(dV)):(FV=UV===5&&(!!(32&CV)||sn(CV)||!!(ae!=null&&ae.get(dV))),(UV===2||FV)&&sn(CV)&&(dV=H(dV),CV=En(CV=vn(CV,J),J,ZV),nt(dV,CV),J=qe(IV,J,RV,dV)),sn(CV)||(RV=CV,(CV=En(CV,J,ZV))!==RV&&nt(dV,CV)),FV?(eV=oe(dV),_e(dV,lV,!0)):UV!==2||ZV||(ae==null||ae.delete(dV))),eV||dV}function mn(lV,J,VV){const RV=et(lV.u);return gn(lV,RV,J,VV,tn(),!1,!(2&RV))}function yn(lV,J,VV,RV){return RV==null&&(RV=void 0),$e(lV,VV,RV)}function _n(lV,J,VV,RV){RV==null&&(RV=void 0);V:{lV=lV.u;let UV=et(lV);if(pt(UV),RV==null){const ZV=cn(lV);if(ln(ZV,lV,UV,VV)!==J)break V;ZV.set(VV,0)}else UV=un(lV,UV,VV,J);qe(lV,UV,J,RV)}}function vn(lV,J){return-2049&(lV=32|(2&J?2|lV:-3&lV))}function En(lV,J,VV){return 32&J&&VV||(lV&=-33),lV}function wn(lV,J,VV,RV){const UV=et(lV.u);pt(UV),lV=gn(lV,UV,VV,J,2,!0),VV=RV??new VV,lV.push(VV),2&tt(VV.u)?Q(lV,8):Q(lV,16)}function Tn(lV,J){return lV??J}function An(lV,J){return Yt(ze(lV,J))}function bn(lV,J){return Tn(Ze(lV,J),0)}function kn(lV,J){return Tn(re(ze(lV,J)),"")}function Sn(lV,J,VV){if(VV!=null&&typeof VV!="boolean")throw lV=typeof VV,Error(`Expected boolean but got ${lV!="object"?lV:VV?Array.isArray(VV)?"array":lV:"null"}: ${VV}`);$e(lV,J,VV)}function xn(lV,J,VV){if(VV!=null){if(typeof VV!="number"||!Number.isFinite(VV))throw V("int32");VV|=0}$e(lV,J,VV)}function Ln(lV,J,VV){if(VV!=null&&typeof VV!="number")throw Error(`Value of float/double field must be a number, found ${typeof VV}: ${VV}`);$e(lV,J,VV)}function Rn(lV,J,VV){{const IV=lV.u;let dV=et(IV);if(pt(dV),VV==null)qe(IV,dV,J);else{VV=(he==null?void 0:he.get(VV))||VV;var RV,UV=tt(VV),ZV=UV,WV=!!(2&UV)||Object.isFrozen(VV);if((RV=!WV)&&(RV=vt===void 0||!1),We(lV,UV)){UV=21,WV&&(VV=H(VV),ZV=0,UV=En(UV=vn(UV,dV),dV,!0));for(let CV=0;CV<VV.length;CV++)VV[CV]=ee(VV[CV])}RV?(VV=H(VV),ZV=0,UV=En(UV=vn(UV,dV),dV,!0)):WV||_e(VV,lV),UV!==ZV&&nt(VV,UV),qe(IV,dV,J,VV)}}}function Fn(lV,J,VV){pt(et(lV.u)),en(lV,J,re,2,void 0,!0).push(ee(VV))}function Mn(lV,J){return Error(`Invalid wire type: ${lV} (at position ${J})`)}function In(){return Error("Failed to read varint, encoding is invalid.")}function Pn(lV,J){return Error(`Tried to read past the end of the data ${J} > ${lV}`)}function On(lV){if(typeof lV=="string")return{buffer:M(lV),O:!1};if(Array.isArray(lV))return{buffer:new Uint8Array(lV),O:!1};if(lV.constructor===Uint8Array)return{buffer:lV,O:!1};if(lV.constructor===ArrayBuffer)return{buffer:new Uint8Array(lV),O:!1};if(lV.constructor===D)return{buffer:U(lV)||new Uint8Array(0),O:!0};if(lV instanceof Uint8Array)return{buffer:new Uint8Array(lV.buffer,lV.byteOffset,lV.byteLength),O:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}function Cn(lV,J){let VV,RV=0,UV=0,ZV=0;const WV=lV.h;let IV=lV.g;do VV=WV[IV++],RV|=(127&VV)<<ZV,ZV+=7;while(ZV<32&&128&VV);for(ZV>32&&(UV|=(127&VV)>>4),ZV=3;ZV<32&&128&VV;ZV+=7)VV=WV[IV++],UV|=(127&VV)<<ZV;if(Xn(lV,IV),VV<128)return J(RV>>>0,UV>>>0);throw In()}function Nn(lV){let J=0,VV=lV.g;const RV=VV+10,UV=lV.h;for(;VV<RV;){const ZV=UV[VV++];if(J|=ZV,(128&ZV)==0)return Xn(lV,VV),!!(127&J)}throw In()}function Un(lV){const J=lV.h;let VV=lV.g,RV=J[VV++],UV=127&RV;if(128&RV&&(RV=J[VV++],UV|=(127&RV)<<7,128&RV&&(RV=J[VV++],UV|=(127&RV)<<14,128&RV&&(RV=J[VV++],UV|=(127&RV)<<21,128&RV&&(RV=J[VV++],UV|=RV<<28,128&RV&&128&J[VV++]&&128&J[VV++]&&128&J[VV++]&&128&J[VV++]&&128&J[VV++])))))throw In();return Xn(lV,VV),UV}function Dn(lV){return Un(lV)>>>0}function Bn(lV){var J=lV.h;const VV=lV.g,RV=J[VV],UV=J[VV+1],ZV=J[VV+2];return J=J[VV+3],Xn(lV,lV.g+4),(RV<<0|UV<<8|ZV<<16|J<<24)>>>0}function Gn(lV){var J=Bn(lV);lV=2*(J>>31)+1;const VV=J>>>23&255;return J&=8388607,VV==255?J?NaN:lV*(1/0):VV==0?1401298464324817e-60*lV*J:lV*Math.pow(2,VV-150)*(J+8388608)}function jn(lV){return Un(lV)}function Vn(lV,J,{ea:VV=!1}={}){lV.ea=VV,J&&(J=On(J),lV.h=J.buffer,lV.m=J.O,lV.j=0,lV.l=lV.h.length,lV.g=lV.j)}function Xn(lV,J){if(lV.g=J,J>lV.l)throw Pn(lV.l,J)}function Hn(lV,J){if(J<0)throw Error(`Tried to read a negative byte length: ${J}`);const VV=lV.g,RV=VV+J;if(RV>lV.l)throw Pn(J,lV.l-VV);return lV.g=RV,VV}function Wn(lV,J){if(J==0)return N();var VV=Hn(lV,J);return lV.ea&&lV.m?VV=lV.h.subarray(VV,VV+J):(lV=lV.h,VV=VV===(J=VV+J)?new Uint8Array(0):Mt?lV.slice(VV,J):new Uint8Array(lV.subarray(VV,J))),VV.length==0?N():new D(VV,P)}Me.prototype.toJSON=void 0,Me.prototype.La=ht;var zn=[];function Kn(lV){var J=lV.g;if(J.g==J.l)return!1;lV.l=lV.g.g;var VV=Dn(lV.g);if(J=VV>>>3,!((VV&=7)>=0&&VV<=5))throw Mn(VV,lV.l);if(J<1)throw Error(`Invalid field number: ${J} (at position ${lV.l})`);return lV.m=J,lV.h=VV,!0}function Yn(lV){switch(lV.h){case 0:lV.h!=0?Yn(lV):Nn(lV.g);break;case 1:Xn(lV=lV.g,lV.g+8);break;case 2:if(lV.h!=2)Yn(lV);else{var J=Dn(lV.g);Xn(lV=lV.g,lV.g+J)}break;case 5:Xn(lV=lV.g,lV.g+4);break;case 3:for(J=lV.m;;){if(!Kn(lV))throw Error("Unmatched start-group tag: stream EOF");if(lV.h==4){if(lV.m!=J)throw Error("Unmatched end-group tag");break}Yn(lV)}break;default:throw Mn(lV.h,lV.l)}}function $n(lV,J,VV){const RV=lV.g.l,UV=Dn(lV.g),ZV=lV.g.g+UV;let WV=ZV-RV;if(WV<=0&&(lV.g.l=ZV,VV(J,lV,void 0,void 0,void 0),WV=ZV-lV.g.g),WV)throw Error(`Message parsing ended unexpectedly. Expected to read ${UV} bytes, instead read ${UV-WV} bytes, either the data ended unexpectedly or the message misreported its own length`);return lV.g.g=ZV,lV.g.l=RV,J}function qn(lV){var J=Dn(lV.g),VV=Hn(lV=lV.g,J);if(lV=lV.h,o){var RV,UV=lV;(RV=s)||(RV=s=new TextDecoder("utf-8",{fatal:!0})),J=VV+J,UV=VV===0&&J===UV.length?UV:UV.subarray(VV,J);try{var ZV=RV.decode(UV)}catch(IV){if(i$1===void 0){try{RV.decode(new Uint8Array([128]))}catch{}try{RV.decode(new Uint8Array([97])),i$1=!0}catch{i$1=!1}}throw!i$1&&(s=void 0),IV}}else{J=(ZV=VV)+J,VV=[];let IV,dV=null;for(;ZV<J;){var WV=lV[ZV++];WV<128?VV.push(WV):WV<224?ZV>=J?n():(IV=lV[ZV++],WV<194||(192&IV)!=128?(ZV--,n()):VV.push((31&WV)<<6|63&IV)):WV<240?ZV>=J-1?n():(IV=lV[ZV++],(192&IV)!=128||WV===224&&IV<160||WV===237&&IV>=160||(192&(RV=lV[ZV++]))!=128?(ZV--,n()):VV.push((15&WV)<<12|(63&IV)<<6|63&RV)):WV<=244?ZV>=J-2?n():(IV=lV[ZV++],(192&IV)!=128||IV-144+(WV<<28)>>30||(192&(RV=lV[ZV++]))!=128||(192&(UV=lV[ZV++]))!=128?(ZV--,n()):(WV=(7&WV)<<18|(63&IV)<<12|(63&RV)<<6|63&UV,WV-=65536,VV.push(55296+(WV>>10&1023),56320+(1023&WV)))):n(),VV.length>=8192&&(dV=r(dV,VV),VV.length=0)}ZV=r(dV,VV)}return ZV}function Jn(lV){const J=Dn(lV.g);return Wn(lV.g,J)}function Zn(lV,J,VV){var RV=Dn(lV.g);for(RV=lV.g.g+RV;lV.g.g<RV;)VV.push(J(lV.g))}var Qn=[];let tr;function er(lV,J,VV){J.g?J.m(lV,J.g,J.h,VV,!0):J.m(lV,J.h,VV,!0)}var nr=class{constructor(lV,J){this.u=be(lV,J)}toJSON(){return rr(this)}l(){var lV=vo;return lV.g?lV.l(this,lV.g,lV.h,!0):lV.l(this,lV.h,lV.defaultValue,!0)}clone(){const lV=this.u;return Ve(this,lV,et(lV),!1)}O(){return!!(2&tt(this.u))}};function rr(lV){we(lV),lV=tr?lV.u:De(lV.u,Ge,void 0,void 0,!1);{var J=!tr;let CV=lV.length;if(CV){var VV=lV[CV-1],RV=ut(VV);RV?CV--:VV=void 0;var UV=lV;if(RV){V:{var ZV,WV=VV,IV=!1;if(WV)for(let FV in WV)isNaN(+FV)?(ZV??(ZV={}))[FV]=WV[FV]:(RV=WV[FV],Array.isArray(RV)&&(ft(RV)||ct(RV)&&RV.size===0)&&(RV=null),RV==null&&(IV=!0),RV!=null&&((ZV??(ZV={}))[FV]=RV));if(IV||(ZV=WV),ZV)for(let FV in ZV){IV=ZV;break V}IV=null}WV=IV==null?VV!=null:IV!==VV}for(;CV>0&&((ZV=UV[CV-1])==null||ft(ZV)||ct(ZV)&&ZV.size===0);CV--)var dV=!0;(UV!==lV||WV||dV)&&(J?(dV||WV||IV)&&(UV.length=CV):UV=Array.prototype.slice.call(UV,0,CV),IV&&UV.push(IV)),dV=UV}else dV=lV}return dV}function ir(lV){return lV?/^\d+$/.test(lV)?(Vt(lV),new sr(Pt,Ot)):null:or||(or=new sr(0,0))}nr.prototype.Y=at,nr.prototype.toString=function(){try{return tr=!0,rr(this).toString()}finally{tr=!1}};var sr=class{constructor(lV,J){this.h=lV>>>0,this.g=J>>>0}};let or;function ar(lV){return lV?/^-?\d+$/.test(lV)?(Vt(lV),new hr(Pt,Ot)):null:cr||(cr=new hr(0,0))}var hr=class{constructor(lV,J){this.h=lV>>>0,this.g=J>>>0}};let cr;function ur(lV,J,VV){for(;VV>0||J>127;)lV.g.push(127&J|128),J=(J>>>7|VV<<25)>>>0,VV>>>=7;lV.g.push(J)}function lr(lV,J){for(;J>127;)lV.g.push(127&J|128),J>>>=7;lV.g.push(J)}function fr(lV,J){if(J>=0)lr(lV,J);else{for(let VV=0;VV<9;VV++)lV.g.push(127&J|128),J>>=7;lV.g.push(1)}}function dr(lV,J){lV.g.push(J>>>0&255),lV.g.push(J>>>8&255),lV.g.push(J>>>16&255),lV.g.push(J>>>24&255)}function pr(lV,J){J.length!==0&&(lV.l.push(J),lV.h+=J.length)}function gr(lV,J,VV){lr(lV.g,8*J+VV)}function mr(lV,J){return gr(lV,J,2),J=lV.g.end(),pr(lV,J),J.push(lV.h),J}function yr(lV,J){var VV=J.pop();for(VV=lV.h+lV.g.length()-VV;VV>127;)J.push(127&VV|128),VV>>>=7,lV.h++;J.push(VV),lV.h++}function _r(lV,J,VV){gr(lV,J,2),lr(lV.g,VV.length),pr(lV,lV.g.end()),pr(lV,VV)}function vr(lV,J,VV,RV){VV!=null&&(J=mr(lV,J),RV(VV,lV),yr(lV,J))}class Er{constructor(J,VV,RV){this.g=J,this.h=VV,this.qa=RV}}function wr(lV){return Array.isArray(lV)?lV[0]instanceof Er?lV:[gi,lV]:[lV,void 0]}function Tr(lV,J){if(Array.isArray(J)){var VV=tt(J);if(4&VV)return J;for(var RV=0,UV=0;RV<J.length;RV++){const ZV=lV(J[RV]);ZV!=null&&(J[UV++]=ZV)}return UV<RV&&(J.length=UV),nt(J,-12289&(5|VV)),2&VV&&Object.freeze(J),J}}const Ar=Symbol();function br(lV){let J=lV[Ar];if(!J){const VV=Ur(lV),RV=VV.h;J=RV?(UV,ZV)=>RV(UV,ZV,VV):(UV,ZV)=>{var CV;for(;Kn(ZV)&&ZV.h!=4;){var WV=ZV.m;let FV=VV[WV];const NV=!FV;let gV=!1;if(!FV){var IV=VV.X;if(IV){var dV=IV[WV];dV&&(gV=(CV=IV.P)==null?void 0:CV[WV],(!d||gV)&&(IV=kr(dV))&&(FV=VV[WV]=IV))}}FV&&FV(ZV,UV,WV)||(WV=(IV=ZV).l,Yn(IV),IV.ja?IV=void 0:(dV=IV.g.g-WV,IV.g.g=WV,IV=Wn(IV.g,dV)),WV=UV,IV&&(mt||(mt=Symbol()),(dV=WV[mt])?dV.push(IV):WV[mt]=[IV])),NV&&FV&&!gV&&Wr++<5&&j()}},lV[Ar]=J}return J}function kr(lV){const J=(lV=wr(lV))[0].g;if(lV=lV[1]){const VV=br(lV),RV=Ur(lV).g;return(UV,ZV,WV)=>J(UV,ZV,WV,RV,VV)}return J}function Sr(lV,J,VV){lV[J]=VV}function xr(lV,J,VV,RV){var UV=Sr;J.g=function(NV){switch(typeof NV){case"boolean":return pe||(pe=[0,void 0,!0]);case"number":return NV>0?void 0:NV===0?ge||(ge=[0,void 0]):[-NV,void 0];case"string":return[0,NV];case"object":return NV}}(lV[0]);let ZV=0;var WV=lV[++ZV];WV&&WV.constructor===Object&&(J.X=WV,typeof(WV=lV[++ZV])=="function"&&(J.h=WV,J.l=lV[++ZV],WV=lV[++ZV]));const IV={};for(;Array.isArray(WV)&&typeof WV[0]=="number"&&WV[0]>0;){for(var dV=0;dV<WV.length;dV++)IV[WV[dV]]=WV;WV=lV[++ZV]}for(dV=1;WV!==void 0;){let NV;typeof WV=="number"&&(dV+=WV,WV=lV[++ZV]);var CV=void 0;if(WV instanceof Er?NV=WV:(NV=mi,ZV--),NV.qa){WV=lV[++ZV],CV=lV;var FV=ZV;typeof WV=="function"&&(WV=WV(),CV[FV]=WV),CV=WV}for(FV=dV+1,typeof(WV=lV[++ZV])=="number"&&WV<0&&(FV-=WV,WV=lV[++ZV]);dV<FV;dV++){const gV=IV[dV];UV(J,dV,CV?RV(NV,CV,gV):VV(NV,gV))}}return J}const Lr=Symbol();function Rr(lV){let J=lV[Lr];if(!J){const VV=Pr(lV);J=(RV,UV)=>Br(RV,UV,VV),lV[Lr]=J}return J}const Fr=Symbol();function Mr(lV){return lV.h}function Ir(lV,J){let VV,RV;const UV=lV.h;return(ZV,WV,IV)=>UV(ZV,WV,IV,RV||(RV=Pr(J).g),VV||(VV=Rr(J)))}function Pr(lV){let J=lV[Fr];return J||(J=xr(lV,lV[Fr]={},Mr,Ir))}const Or=Symbol();function Cr(lV,J){const VV=lV.g;return J?(RV,UV,ZV)=>VV(RV,UV,ZV,J):VV}function Nr(lV,J,VV){const RV=lV.g;let UV,ZV;return(WV,IV,dV)=>RV(WV,IV,dV,ZV||(ZV=Ur(J).g),UV||(UV=br(J)),VV)}function Ur(lV){let J=lV[Or];return J||(J=xr(lV,lV[Or]={},Cr,Nr))}function Dr(lV,J){var ZV;var VV=lV[J];if(VV)return VV;if(VV=lV.X){var RV=VV[J];if(RV){var UV=(RV=wr(RV))[0].h;if(RV=RV[1],VV=(ZV=VV.P)==null?void 0:ZV[J],!d||VV){if(RV){const WV=Rr(RV),IV=Pr(RV).g;VV=(VV=lV.l)?VV(IV,WV):(dV,CV,FV)=>UV(dV,CV,FV,IV,WV)}else VV=UV;return lV[J]=VV}}}}function Br(lV,J,VV){var dV,CV,FV;for(var RV=et(lV),UV=+!!(512&RV)-1,ZV=lV.length,WV=512&RV?1:0,IV=ZV+(256&RV?-1:0);WV<IV;WV++){const NV=lV[WV];if(NV==null)continue;const gV=WV-UV,eV=Dr(VV,gV);if(!eV)continue;const JV=VV.X;JV!=null&&JV[gV]&&!((dV=JV==null?void 0:JV.P)!=null&&dV[gV])&&Wr++<5&&j(),eV(J,NV,gV)}if(256&RV){RV=lV[ZV-1];for(let NV in RV)UV=+NV,!Number.isNaN(UV)&&(ZV=RV[NV])!=null&&(IV=Dr(VV,UV))&&((CV=WV=VV.X)!=null&&CV[UV]&&!((FV=WV==null?void 0:WV.P)!=null&&FV[UV])&&Wr++<5&&j(),IV(J,ZV,UV))}if(lV=mt?lV[mt]:void 0)for(pr(J,J.g.end()),VV=0;VV<lV.length;VV++)pr(J,U(lV[VV])||new Uint8Array(0))}function Gr(lV,J){return new Er(lV,J,!1)}function jr(lV,J){return new Er(lV,J,!1)}function Vr(lV,J){return new Er(lV,J,!0)}function Xr(lV,J,VV){qe(lV,et(lV),J,VV)}var Hr=Vr(function(lV,J,VV,RV,UV){return lV.h===2&&(lV=$n(lV,Ae([void 0,void 0],RV),UV),pt(RV=et(J)),(UV=Ye(J,RV,VV))instanceof Me?2&UV.M?((UV=UV.Z()).push(lV),qe(J,RV,VV,UV)):UV.Qa(lV):Array.isArray(UV)?(2&tt(UV)&&qe(J,RV,VV,UV=on(UV)),UV.push(lV)):qe(J,RV,VV,[lV]),!0)},function(lV,J,VV,RV,UV){if(J instanceof Me)J.forEach((ZV,WV)=>{vr(lV,VV,Ae([WV,ZV],RV),UV)});else if(Array.isArray(J))for(let ZV=0;ZV<J.length;ZV++){const WV=J[ZV];Array.isArray(WV)&&vr(lV,VV,Ae(WV,RV),UV)}});let Wr=0;function zr(lV,J,VV){if(J=function(RV){if(RV==null)return RV;const UV=typeof RV;if(UV==="bigint")return String(BigInt.asIntN(64,RV));if(Kt(RV)){if(UV==="string")return Zt(RV);if(UV==="number")return Jt(RV)}}(J),J!=null&&(typeof J=="string"&&ar(J),J!=null))switch(gr(lV,VV,0),typeof J){case"number":lV=lV.g,Nt(J),ur(lV,Pt,Ot);break;case"bigint":VV=BigInt.asUintN(64,J),VV=new hr(Number(VV&BigInt(4294967295)),Number(VV>>BigInt(32))),ur(lV.g,VV.h,VV.g);break;default:VV=ar(J),ur(lV.g,VV.h,VV.g)}}function Kr(lV,J,VV){(J=Yt(J))!=null&&J!=null&&(gr(lV,VV,0),fr(lV.g,J))}function Yr(lV,J,VV){(J=Wt(J))!=null&&(gr(lV,VV,0),lV.g.g.push(J?1:0))}function $r(lV,J,VV){(J=re(J))!=null&&_r(lV,VV,c(J))}function qr(lV,J,VV,RV,UV){J instanceof nr?(we(J),J=J.u):J=Array.isArray(J)?Ae(J,RV):void 0,vr(lV,VV,J,UV)}function Jr(lV,J,VV){(J=J==null||typeof J=="string"||I(J)||J instanceof D?J:void 0)!=null&&_r(lV,VV,On(J).buffer)}function Zr(lV,J,VV){return(lV.h===5||lV.h===2)&&(J=Je(J,et(J),VV,2,!1),lV.h==2?Zn(lV,Gn,J):J.push(Gn(lV.g)),!0)}var Qr,ti=Gr(function(lV,J,VV){if(lV.h!==1)return!1;var RV=lV.g;lV=Bn(RV);const UV=Bn(RV);RV=2*(UV>>31)+1;const ZV=UV>>>20&2047;return lV=4294967296*(1048575&UV)+lV,Xr(J,VV,ZV==2047?lV?NaN:RV*(1/0):ZV==0?5e-324*RV*lV:RV*Math.pow(2,ZV-1075)*(lV+4503599627370496)),!0},function(lV,J,VV){(J=Ht(J))!=null&&(gr(lV,VV,1),lV=lV.g,(VV=It||(It=new DataView(new ArrayBuffer(8)))).setFloat64(0,+J,!0),Pt=VV.getUint32(0,!0),Ot=VV.getUint32(4,!0),dr(lV,Pt),dr(lV,Ot))}),ei=Gr(function(lV,J,VV){return lV.h===5&&(Xr(J,VV,Gn(lV.g)),!0)},function(lV,J,VV){(J=Ht(J))!=null&&(gr(lV,VV,5),lV=lV.g,Ut(J),dr(lV,Pt))}),ni=jr(Zr,function(lV,J,VV){if((J=Tr(Ht,J))!=null)for(let WV=0;WV<J.length;WV++){var RV=lV,UV=VV,ZV=J[WV];ZV!=null&&(gr(RV,UV,5),RV=RV.g,Ut(ZV),dr(RV,Pt))}}),ri=jr(Zr,function(lV,J,VV){if((J=Tr(Ht,J))!=null&&J.length){gr(lV,VV,2),lr(lV.g,4*J.length);for(let RV=0;RV<J.length;RV++)VV=lV.g,Ut(J[RV]),dr(VV,Pt)}}),ii=Gr(function(lV,J,VV){return lV.h===0&&(Xr(J,VV,Cn(lV.g,Bt)),!0)},zr),si=Gr(function(lV,J,VV){return lV.h===0&&(Xr(J,VV,(lV=Cn(lV.g,Bt))===0?void 0:lV),!0)},zr),oi=Gr(function(lV,J,VV){return lV.h===0&&(Xr(J,VV,Cn(lV.g,Dt)),!0)},function(lV,J,VV){if((J=te(J))!=null&&(typeof J=="string"&&ir(J),J!=null))switch(gr(lV,VV,0),typeof J){case"number":lV=lV.g,Nt(J),ur(lV,Pt,Ot);break;case"bigint":VV=BigInt.asUintN(64,J),VV=new sr(Number(VV&BigInt(4294967295)),Number(VV>>BigInt(32))),ur(lV.g,VV.h,VV.g);break;default:VV=ir(J),ur(lV.g,VV.h,VV.g)}}),ai=Gr(function(lV,J,VV){return lV.h===0&&(Xr(J,VV,Un(lV.g)),!0)},Kr),hi=jr(function(lV,J,VV){return(lV.h===0||lV.h===2)&&(J=Je(J,et(J),VV,2,!1),lV.h==2?Zn(lV,Un,J):J.push(Un(lV.g)),!0)},function(lV,J,VV){if((J=Tr(Yt,J))!=null&&J.length){VV=mr(lV,VV);for(let RV=0;RV<J.length;RV++)fr(lV.g,J[RV]);yr(lV,VV)}}),ci=Gr(function(lV,J,VV){return lV.h===0&&(Xr(J,VV,(lV=Un(lV.g))===0?void 0:lV),!0)},Kr),ui=Gr(function(lV,J,VV){return lV.h===0&&(Xr(J,VV,Nn(lV.g)),!0)},Yr),li=Gr(function(lV,J,VV){return lV.h===0&&(Xr(J,VV,(lV=Nn(lV.g))===!1?void 0:lV),!0)},Yr),fi=jr(function(lV,J,VV){if(lV.h!==2)return!1;lV=qn(lV);const RV=et(J);return pt(RV),Je(J,RV,VV,2).push(lV),!0},function(lV,J,VV){if((J=Tr(re,J))!=null)for(let WV=0;WV<J.length;WV++){var RV=lV,UV=VV,ZV=J[WV];ZV!=null&&_r(RV,UV,c(ZV))}}),di=Gr(function(lV,J,VV){return lV.h===2&&(Xr(J,VV,(lV=qn(lV))===""?void 0:lV),!0)},$r),pi=Gr(function(lV,J,VV){return lV.h===2&&(Xr(J,VV,qn(lV)),!0)},$r),gi=Vr(function(lV,J,VV,RV,UV){return lV.h===2&&($n(lV,fn(J,RV,VV,!0),UV),!0)},qr),mi=Vr(function(lV,J,VV,RV,UV){return lV.h===2&&($n(lV,fn(J,RV,VV),UV),!0)},qr);Qr=new Er(function(lV,J,VV,RV,UV){if(lV.h!==2)return!1;RV=Ae(void 0,RV);let ZV=et(J);pt(ZV);let WV=Je(J,ZV,VV,3);return ZV=et(J),4&tt(WV)&&(WV=H(WV),nt(WV,-2079&(1|tt(WV))),qe(J,ZV,VV,WV)),WV.push(RV),$n(lV,RV,UV),!0},function(lV,J,VV,RV,UV){if(Array.isArray(J))for(let ZV=0;ZV<J.length;ZV++)qr(lV,J[ZV],VV,RV,UV)},!0);var yi=Vr(function(lV,J,VV,RV,UV,ZV){return lV.h===2&&(un(J,et(J),ZV,VV),$n(lV,J=fn(J,RV,VV),UV),!0)},qr),_i=Gr(function(lV,J,VV){return lV.h===2&&(Xr(J,VV,Jn(lV)),!0)},Jr),vi=jr(function(lV,J,VV){return(lV.h===0||lV.h===2)&&(J=Je(J,et(J),VV,2,!1),lV.h==2?Zn(lV,Dn,J):J.push(Dn(lV.g)),!0)},function(lV,J,VV){if((J=Tr($t,J))!=null)for(let WV=0;WV<J.length;WV++){var RV=lV,UV=VV,ZV=J[WV];ZV!=null&&(gr(RV,UV,0),lr(RV.g,ZV))}}),Ei=Gr(function(lV,J,VV){return lV.h===0&&(Xr(J,VV,Un(lV.g)),!0)},function(lV,J,VV){(J=Yt(J))!=null&&(J=parseInt(J,10),gr(lV,VV,0),fr(lV.g,J))});class wi{constructor(J,VV){this.h=J,this.g=VV,this.l=pn,this.m=yn,this.defaultValue=void 0}}function Ti(lV,J){return new wi(lV,J)}function Ai(lV,J){return(VV,RV)=>{if(Qn.length){const ZV=Qn.pop();ZV.o(RV),Vn(ZV.g,VV,RV),VV=ZV}else VV=new class{constructor(ZV,WV){if(zn.length){const IV=zn.pop();Vn(IV,ZV,WV),ZV=IV}else ZV=new class{constructor(IV,dV){this.h=null,this.m=!1,this.g=this.l=this.j=0,Vn(this,IV,dV)}clear(){this.h=null,this.m=!1,this.g=this.l=this.j=0,this.ea=!1}}(ZV,WV);this.g=ZV,this.l=this.g.g,this.h=this.m=-1,this.o(WV)}o({ja:ZV=!1}={}){this.ja=ZV}}(VV,RV);try{const ZV=new lV,WV=ZV.u;br(J)(WV,VV);var UV=ZV}finally{VV.g.clear(),VV.m=-1,VV.h=-1,Qn.length<100&&Qn.push(VV)}return UV}}function bi(lV){return function(){we(this);const J=new class{constructor(){this.l=[],this.h=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){const WV=this.g;return this.g=[],WV}}}};Br(this.u,J,Pr(lV)),pr(J,J.g.end());const VV=new Uint8Array(J.h),RV=J.l,UV=RV.length;let ZV=0;for(let WV=0;WV<UV;WV++){const IV=RV[WV];VV.set(IV,ZV),ZV+=IV.length}return J.l=[VV],VV}}var ki=class extends nr{constructor(lV){super(lV)}},Si=[0,di,Gr(function(lV,J,VV){return lV.h===2&&(Xr(J,VV,(lV=Jn(lV))===N()?void 0:lV),!0)},function(lV,J,VV){if(J!=null){if(J instanceof nr){const RV=J.Ta;return void(RV&&(J=RV(J),J!=null&&_r(lV,VV,On(J).buffer)))}if(Array.isArray(J))return}Jr(lV,J,VV)})],xi=[0,ai,Ei,ui,-1,hi,Ei,-1],Li=class extends nr{constructor(){super()}},Ri=[0,ui,pi,ui,Ei,-1,jr(function(lV,J,VV){return(lV.h===0||lV.h===2)&&(J=Je(J,et(J),VV,2,!1),lV.h==2?Zn(lV,jn,J):J.push(Un(lV.g)),!0)},function(lV,J,VV){if((J=Tr(Yt,J))!=null&&J.length){VV=mr(lV,VV);for(let RV=0;RV<J.length;RV++)fr(lV.g,J[RV]);yr(lV,VV)}}),pi,-1,[0,ui,-1],Ei,ui,-1],Fi=[0,pi,-2],Mi=class extends nr{constructor(){super()}},Ii=[0],Pi=[0,ai,ui,1,ui,-3],Oi=[0,pi,ui,-1,ai,[0,[1,2,3,4,5,6,7],yi,Ii,yi,Ri,yi,Fi,yi,Pi,yi,xi,yi,[0,pi,-2],yi,[0,pi,Ei]],[0,pi],ui,[0,[1,3],[2,4],yi,[0,hi],-1,yi,[0,fi],-1,Qr,[0,pi,-1]],pi],Ci=class extends nr{constructor(lV){super(lV,2)}},Ni={},Ui=Ni.P={};Ni[336783863]=Oi,Ui[336783863]=1;var Di=[0,si,-1,li,-3,si,hi,di,ci,si,-1,li,ci,li,-2,di];function Bi(lV,J){an(lV,2,ne(J),"")}function Gi(lV,J){Fn(lV,3,J)}function ji(lV,J){Fn(lV,4,J)}var Vi=class extends nr{constructor(lV){super(lV,500)}o(lV){return yn(this,0,7,lV)}},Xi=[-1,{P:{}}],Hi=[0,pi,1,Xi],Wi=[0,pi,fi,Xi];function zi(lV,J){wn(lV,1,Vi,J)}function Ki(lV,J){Fn(lV,10,J)}function Yi(lV,J){Fn(lV,15,J)}var $i=class extends nr{constructor(lV){super(lV,500)}o(lV){return yn(this,0,1001,lV)}},qi=[-500,Qr,[-500,di,-1,fi,-3,[-2,Ni,ui],Qr,Si,ci,-1,Hi,Wi,Qr,[0,di,li],di,Di,ci,fi,987,fi],4,Qr,[-500,pi,-1,[-1,{P:{}}],998,pi],Qr,[-500,pi,fi,-1,[-2,{P:{}},ui],997,fi,-1],ci,Qr,[-500,pi,fi,Xi,998,fi],fi,ci,Hi,Wi,Qr,[0,di,-1,Xi],fi,-2,Di,di,-1,li,979,Xi,Qr,Si];$i.prototype.g=bi(qi);var Ji=Ai($i,qi),Zi=class extends nr{constructor(lV){super(lV)}},Qi=class extends nr{constructor(lV){super(lV)}g(){return mn(this,Zi,1)}},ts=[0,Qr,[0,ai,ei,pi,-1]],es=Ai(Qi,ts),ns=class extends nr{constructor(lV){super(lV)}},rs=class extends nr{constructor(lV){super(lV)}},is=class extends nr{constructor(lV){super(lV)}h(){return pn(this,ns,2)}g(){return mn(this,rs,5)}},ss=Ai(class extends nr{constructor(lV){super(lV)}},[0,fi,hi,ri,[0,Ei,[0,ai,-3],[0,ei,-3],[0,ai,-1,[0,Qr,[0,ai,-2]]],Qr,[0,ei,-1,pi,ei]],pi,-1,ii,Qr,[0,ai,ei],fi,ii]),os=class extends nr{constructor(lV){super(lV)}},as=Ai(class extends nr{constructor(lV){super(lV)}},[0,Qr,[0,ei,-4]]),hs=class extends nr{constructor(lV){super(lV)}},cs=Ai(class extends nr{constructor(lV){super(lV)}},[0,Qr,[0,ei,-4]]),us=class extends nr{constructor(lV){super(lV)}},ls=[0,ai,-1,ri,Ei],fs=class extends nr{constructor(){super()}};fs.prototype.g=bi([0,ei,-4,ii]);var ds=class extends nr{constructor(lV){super(lV)}},ps=Ai(class extends nr{constructor(lV){super(lV)}},[0,Qr,[0,1,ai,pi,ts],ii]),gs=class extends nr{constructor(lV){super(lV)}},ms=class extends nr{constructor(lV){super(lV)}ra(){const lV=Qe(this);return lV??N()}},ys=class extends nr{constructor(lV){super(lV)}},_s=[1,2],vs=Ai(class extends nr{constructor(lV){super(lV)}},[0,Qr,[0,_s,yi,[0,ri],yi,[0,_i],ai,pi],ii]),Es=class extends nr{constructor(lV){super(lV)}},ws=[0,pi,ai,ei,fi,-1],Ts=class extends nr{constructor(lV){super(lV)}},As=[0,ui,-1],bs=class extends nr{constructor(lV){super(lV)}},ks=[1,2,3,4,5],Ss=class extends nr{constructor(lV){super(lV)}g(){return Qe(this)!=null}h(){return re(ze(this,2))!=null}},xs=class extends nr{constructor(lV){super(lV)}g(){return Wt(ze(this,2))??!1}},Ls=[0,_i,pi,[0,ai,ii,-1],[0,oi,ii]],Rs=[0,Ls,ui,[0,ks,yi,Pi,yi,Ri,yi,xi,yi,Ii,yi,Fi],Ei],Fs=class extends nr{constructor(lV){super(lV)}},Ms=[0,Rs,ei,-1,ai],Is=Ti(502141897,Fs);Ni[502141897]=Ms,Ui[502141897]=1;var Ps=[0,Ls];Ni[512499200]=Ps;var Os=[0,Ps];Ni[515723506]=Os;var Cs=Ai(class extends nr{constructor(lV){super(lV)}},[0,[0,Ei,-1,ni,vi],ls]),Ns=[0,Rs];Ni[508981768]=Ns;var Us=class extends nr{constructor(lV){super(lV)}},Ds=class extends nr{constructor(lV){super(lV)}},Bs=[0,Rs,ei,Ns,ui],Gs=[0,Rs,Ms,Bs,ei,Os];Ni[508968149]=Bs;var js=Ti(508968150,Ds);Ni[508968150]=Gs,Ui[508968150]=1,Ui[508968149]=1;var Vs=class extends nr{constructor(lV){super(lV)}},Xs=Ti(513916220,Vs);Ni[513916220]=[0,Rs,Gs,ai],Ui[513916220]=1;var Hs=class extends nr{constructor(lV){super(lV)}h(){return pn(this,Es,2)}g(){$e(this,2)}},Ws=[0,Rs,ws];Ni[478825465]=Ws,Ui[478825465]=1;var zs=[0,Rs];Ni[478825422]=zs;var Ks=class extends nr{constructor(lV){super(lV)}},Ys=class extends nr{constructor(lV){super(lV)}},$s=class extends nr{constructor(lV){super(lV)}},qs=class extends nr{constructor(lV){super(lV)}},Js=class extends nr{constructor(lV){super(lV)}},Zs=[0,Rs,zs,Ws,-1],Qs=[0,Rs,ei,ai],to=[0,Rs,ei],eo=[0,Rs,Qs,to,ei],no=[0,Rs,eo,Zs];Ni[463370452]=Zs,Ni[464864288]=Qs,Ni[474472470]=to;var ro=Ti(462713202,qs);Ni[462713202]=eo;var io=Ti(479097054,Js);Ni[479097054]=no,Ui[479097054]=1,Ui[463370452]=1,Ui[464864288]=1,Ui[462713202]=1,Ui[474472470]=1;var so=class extends nr{constructor(lV){super(lV)}},oo=class extends nr{constructor(lV){super(lV)}},ao=class extends nr{constructor(lV){super(lV)}},ho=class extends nr{constructor(){super()}},co=[0,Rs,ei,-1,ai],uo=[0,Rs,ei,ui];ho.prototype.g=bi([0,Rs,to,[0,Rs],Ms,Bs,co,uo]),Ni[514774813]=co,Ni[518928384]=uo;var lo=class extends nr{constructor(lV){super(lV)}},fo=Ti(456383383,lo);Ni[456383383]=[0,Rs,ws],Ui[456383383]=1;var po=class extends nr{constructor(lV){super(lV)}},go=Ti(476348187,po);Ni[476348187]=[0,Rs,As],Ui[476348187]=1;var mo=class extends nr{constructor(lV){super(lV)}},yo=class extends nr{constructor(lV){super(lV)}},_o=[0,Ei,-1],vo=Ti(458105876,class extends nr{constructor(lV){super(lV)}g(){var lV=this.u;const J=et(lV),VV=2&J;return lV=function(RV,UV,ZV){var WV=yo;const IV=2&UV;let dV=!1;if(ZV==null){if(IV)return Ne();ZV=[]}else if(ZV.constructor===Me){if(!(2&ZV.M)||IV)return ZV;ZV=ZV.Z()}else Array.isArray(ZV)?dV=!!(2&tt(ZV)):ZV=[];if(IV){if(!ZV.length)return Ne();dV||(dV=!0,rt(ZV))}else dV&&(dV=!1,ZV=on(ZV));return dV||(64&tt(ZV)?Q(ZV,32):32&UV&&Z(ZV,32)),qe(RV,UV,2,WV=new Me(ZV,WV,se,void 0)),WV}(lV,J,Ye(lV,J,2)),!VV&&yo&&(lV.va=!0),lV}});Ni[458105876]=[0,_o,Hr,[!0,ii,[0,pi,-1,fi]]],Ui[458105876]=1;var Eo=class extends nr{constructor(lV){super(lV)}},wo=Ti(458105758,Eo);Ni[458105758]=[0,Rs,pi,_o],Ui[458105758]=1;var To=class extends nr{constructor(lV){super(lV)}},Ao=Ti(443442058,To);Ni[443442058]=[0,Rs,pi,ai,ei,fi,-1],Ui[443442058]=1,Ui[514774813]=1;var bo=class extends nr{constructor(lV){super(lV)}},ko=Ti(516587230,bo);function So(lV,J){return J=J?J.clone():new Es,lV.displayNamesLocale!==void 0?$e(J,1,ne(lV.displayNamesLocale)):lV.displayNamesLocale===void 0&&$e(J,1),lV.maxResults!==void 0?xn(J,2,lV.maxResults):"maxResults"in lV&&$e(J,2),lV.scoreThreshold!==void 0?Ln(J,3,lV.scoreThreshold):"scoreThreshold"in lV&&$e(J,3),lV.categoryAllowlist!==void 0?Rn(J,4,lV.categoryAllowlist):"categoryAllowlist"in lV&&$e(J,4),lV.categoryDenylist!==void 0?Rn(J,5,lV.categoryDenylist):"categoryDenylist"in lV&&$e(J,5),J}function xo(lV,J=-1,VV=""){return{categories:lV.map(RV=>({index:Tn(An(RV,1),0)??-1,score:bn(RV,2)??0,categoryName:kn(RV,3)??"",displayName:kn(RV,4)??""})),headIndex:J,headName:VV}}function Lo(lV){var WV,IV;var J=en(lV,3,Ht,tn()),VV=en(lV,2,Yt,tn()),RV=en(lV,1,re,tn()),UV=en(lV,9,re,tn());const ZV={categories:[],keypoints:[]};for(let dV=0;dV<J.length;dV++)ZV.categories.push({score:J[dV],index:VV[dV]??-1,categoryName:RV[dV]??"",displayName:UV[dV]??""});if((J=(WV=pn(lV,is,4))==null?void 0:WV.h())&&(ZV.boundingBox={originX:An(J,1)??0,originY:An(J,2)??0,width:An(J,3)??0,height:An(J,4)??0,angle:0}),(IV=pn(lV,is,4))==null?void 0:IV.g().length)for(const dV of pn(lV,is,4).g())ZV.keypoints.push({x:Ze(dV,1)??0,y:Ze(dV,2)??0,score:Ze(dV,4)??0,label:re(ze(dV,3))??""});return ZV}function Ro(lV){const J=[];for(const VV of mn(lV,hs,1))J.push({x:bn(VV,1)??0,y:bn(VV,2)??0,z:bn(VV,3)??0,visibility:bn(VV,4)??0});return J}function Fo(lV){const J=[];for(const VV of mn(lV,os,1))J.push({x:bn(VV,1)??0,y:bn(VV,2)??0,z:bn(VV,3)??0,visibility:bn(VV,4)??0});return J}function Mo(lV){return Array.from(lV,J=>J>127?J-256:J)}function Io(lV,J){if(lV.length!==J.length)throw Error(`Cannot compute cosine similarity between embeddings of different sizes (${lV.length} vs. ${J.length}).`);let VV=0,RV=0,UV=0;for(let ZV=0;ZV<lV.length;ZV++)VV+=lV[ZV]*J[ZV],RV+=lV[ZV]*lV[ZV],UV+=J[ZV]*J[ZV];if(RV<=0||UV<=0)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return VV/Math.sqrt(RV*UV)}let Po;Ni[516587230]=[0,Rs,co,uo,ei],Ui[516587230]=1,Ui[518928384]=1;const Oo=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);async function Co(){if(Po===void 0)try{await WebAssembly.instantiate(Oo),Po=!0}catch{Po=!1}return Po}async function No(lV,J=""){const VV=await Co()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${J}/${lV}_${VV}.js`,wasmBinaryPath:`${J}/${lV}_${VV}.wasm`}}var Uo=class{};function Do(){var lV=navigator;return typeof OffscreenCanvas<"u"&&(!function(J=navigator){return(J=J.userAgent).includes("Safari")&&!J.includes("Chrome")}(lV)||!!((lV=lV.userAgent.match(/Version\/([\d]+).*Safari/))&&lV.length>=1&&Number(lV[1])>=17))}async function Bo(lV){if(typeof importScripts!="function"){const J=document.createElement("script");return J.src=lV.toString(),J.crossOrigin="anonymous",new Promise((VV,RV)=>{J.addEventListener("load",()=>{VV()},!1),J.addEventListener("error",UV=>{RV(UV)},!1),document.body.appendChild(J)})}importScripts(lV.toString())}function Go(lV){return lV.videoWidth!==void 0?[lV.videoWidth,lV.videoHeight]:lV.naturalWidth!==void 0?[lV.naturalWidth,lV.naturalHeight]:lV.displayWidth!==void 0?[lV.displayWidth,lV.displayHeight]:[lV.width,lV.height]}function jo(lV,J,VV){lV.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),VV(J=lV.i.stringToNewUTF8(J)),lV.i._free(J)}function Vo(lV,J,VV){if(!lV.i.canvas)throw Error("No OpenGL canvas configured.");if(VV?lV.i._bindTextureToStream(VV):lV.i._bindTextureToCanvas(),!(VV=lV.i.canvas.getContext("webgl2")||lV.i.canvas.getContext("webgl")))throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");lV.i.gpuOriginForWebTexturesIsBottomLeft&&VV.pixelStorei(VV.UNPACK_FLIP_Y_WEBGL,!0),VV.texImage2D(VV.TEXTURE_2D,0,VV.RGBA,VV.RGBA,VV.UNSIGNED_BYTE,J),lV.i.gpuOriginForWebTexturesIsBottomLeft&&VV.pixelStorei(VV.UNPACK_FLIP_Y_WEBGL,!1);const[RV,UV]=Go(J);return!lV.l||RV===lV.i.canvas.width&&UV===lV.i.canvas.height||(lV.i.canvas.width=RV,lV.i.canvas.height=UV),[RV,UV]}function Xo(lV,J,VV){lV.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");const RV=new Uint32Array(J.length);for(let UV=0;UV<J.length;UV++)RV[UV]=lV.i.stringToNewUTF8(J[UV]);J=lV.i._malloc(4*RV.length),lV.i.HEAPU32.set(RV,J>>2),VV(J);for(const UV of RV)lV.i._free(UV);lV.i._free(J)}function Ho(lV,J,VV){lV.i.simpleListeners=lV.i.simpleListeners||{},lV.i.simpleListeners[J]=VV}function Wo(lV,J,VV){let RV=[];lV.i.simpleListeners=lV.i.simpleListeners||{},lV.i.simpleListeners[J]=(UV,ZV,WV)=>{ZV?(VV(RV,WV),RV=[]):RV.push(UV)}}Uo.forVisionTasks=function(lV){return No("vision",lV)},Uo.forTextTasks=function(lV){return No("text",lV)},Uo.forGenAiExperimentalTasks=function(lV){return No("genai_experimental",lV)},Uo.forGenAiTasks=function(lV){return No("genai",lV)},Uo.forAudioTasks=function(lV){return No("audio",lV)},Uo.isSimdSupported=function(){return Co()};async function zo(lV,J,VV,RV){return lV=await(async(UV,ZV,WV,IV,dV)=>{if(ZV&&await Bo(ZV),!self.ModuleFactory||WV&&(await Bo(WV),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&dV&&((ZV=self.Module).locateFile=dV.locateFile,dV.mainScriptUrlOrBlob&&(ZV.mainScriptUrlOrBlob=dV.mainScriptUrlOrBlob)),dV=await self.ModuleFactory(self.Module||dV),self.ModuleFactory=self.Module=void 0,new UV(dV,IV)})(lV,VV.wasmLoaderPath,VV.assetLoaderPath,J,{locateFile:UV=>UV.endsWith(".wasm")?VV.wasmBinaryPath.toString():VV.assetBinaryPath&&UV.endsWith(".data")?VV.assetBinaryPath.toString():UV}),await lV.o(RV),lV}function Ko(lV,J){const VV=pn(lV.baseOptions,Ss,1)||new Ss;typeof J=="string"?($e(VV,2,ne(J)),$e(VV,1)):J instanceof Uint8Array&&($e(VV,1,lt(J,!1,!1)),$e(VV,2)),yn(lV.baseOptions,0,1,VV)}function Yo(lV){try{const J=lV.H.length;if(J===1)throw Error(lV.H[0].message);if(J>1)throw Error("Encountered multiple errors: "+lV.H.map(VV=>VV.message).join(", "))}finally{lV.H=[]}}function $o(lV,J){lV.B=Math.max(lV.B,J)}function qo(lV,J){lV.A=new Vi,Bi(lV.A,"PassThroughCalculator"),Gi(lV.A,"free_memory"),ji(lV.A,"free_memory_unused_out"),Ki(J,"free_memory"),zi(J,lV.A)}function Jo(lV,J){Gi(lV.A,J),ji(lV.A,J+"_unused_out")}function Zo(lV){lV.g.addBoolToStream(!0,"free_memory",lV.B)}var Qo=class{constructor(lV){this.g=lV,this.H=[],this.B=0,this.g.setAutoRenderToScreen(!1)}l(lV,J=!0){var VV,RV,UV,ZV,WV,IV;if(J){const dV=lV.baseOptions||{};if((VV=lV.baseOptions)!=null&&VV.modelAssetBuffer&&((RV=lV.baseOptions)!=null&&RV.modelAssetPath))throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!((UV=pn(this.baseOptions,Ss,1))!=null&&UV.g()||(ZV=pn(this.baseOptions,Ss,1))!=null&&ZV.h()||(WV=lV.baseOptions)!=null&&WV.modelAssetBuffer||(IV=lV.baseOptions)!=null&&IV.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if(function(CV,FV){let NV=pn(CV.baseOptions,bs,3);if(!NV){var gV=NV=new bs,eV=new Mi;_n(gV,4,ks,eV)}"delegate"in FV&&(FV.delegate==="GPU"?(FV=NV,gV=new Li,_n(FV,2,ks,gV)):(FV=NV,gV=new Mi,_n(FV,4,ks,gV))),yn(CV.baseOptions,0,3,NV)}(this,dV),dV.modelAssetPath)return fetch(dV.modelAssetPath.toString()).then(CV=>{if(CV.ok)return CV.arrayBuffer();throw Error(`Failed to fetch model: ${dV.modelAssetPath} (${CV.status})`)}).then(CV=>{try{this.g.i.FS_unlink("/model.dat")}catch{}this.g.i.FS_createDataFile("/","model.dat",new Uint8Array(CV),!0,!1,!1),Ko(this,"/model.dat"),this.m(),this.J()});if(dV.modelAssetBuffer instanceof Uint8Array)Ko(this,dV.modelAssetBuffer);else if(dV.modelAssetBuffer)return async function(CV){const FV=[];for(var NV=0;;){const{done:gV,value:eV}=await CV.read();if(gV)break;FV.push(eV),NV+=eV.length}if(FV.length===0)return new Uint8Array(0);if(FV.length===1)return FV[0];CV=new Uint8Array(NV),NV=0;for(const gV of FV)CV.set(gV,NV),NV+=gV.length;return CV}(dV.modelAssetBuffer).then(CV=>{Ko(this,CV),this.m(),this.J()})}return this.m(),this.J(),Promise.resolve()}J(){}ga(){let lV;if(this.g.ga(J=>{lV=Ji(J)}),!lV)throw Error("Failed to retrieve CalculatorGraphConfig");return lV}setGraph(lV,J){this.g.attachErrorListener((VV,RV)=>{this.H.push(Error(RV))}),this.g.Oa(),this.g.setGraph(lV,J),this.A=void 0,Yo(this)}finishProcessing(){this.g.finishProcessing(),Yo(this)}close(){this.A=void 0,this.g.closeGraph()}};function ta(lV,J){if(!lV)throw Error(`Unable to obtain required WebGL resource: ${J}`);return lV}Qo.prototype.close=Qo.prototype.close,function(lV,J){lV=lV.split(".");var VV,RV=t;for((lV[0]in RV)||RV.execScript===void 0||RV.execScript("var "+lV[0]);lV.length&&(VV=lV.shift());)lV.length||J===void 0?RV=RV[VV]&&RV[VV]!==Object.prototype[VV]?RV[VV]:RV[VV]={}:RV[VV]=J}("TaskRunner",Qo);class ea{constructor(J,VV,RV,UV){this.g=J,this.h=VV,this.m=RV,this.l=UV}bind(){this.g.bindVertexArray(this.h)}close(){this.g.deleteVertexArray(this.h),this.g.deleteBuffer(this.m),this.g.deleteBuffer(this.l)}}function na(lV,J,VV){const RV=lV.g;if(VV=ta(RV.createShader(VV),"Failed to create WebGL shader"),RV.shaderSource(VV,J),RV.compileShader(VV),!RV.getShaderParameter(VV,RV.COMPILE_STATUS))throw Error(`Could not compile WebGL shader: ${RV.getShaderInfoLog(VV)}`);return RV.attachShader(lV.h,VV),VV}function ra(lV,J){const VV=lV.g,RV=ta(VV.createVertexArray(),"Failed to create vertex array");VV.bindVertexArray(RV);const UV=ta(VV.createBuffer(),"Failed to create buffer");VV.bindBuffer(VV.ARRAY_BUFFER,UV),VV.enableVertexAttribArray(lV.R),VV.vertexAttribPointer(lV.R,2,VV.FLOAT,!1,0,0),VV.bufferData(VV.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),VV.STATIC_DRAW);const ZV=ta(VV.createBuffer(),"Failed to create buffer");return VV.bindBuffer(VV.ARRAY_BUFFER,ZV),VV.enableVertexAttribArray(lV.J),VV.vertexAttribPointer(lV.J,2,VV.FLOAT,!1,0,0),VV.bufferData(VV.ARRAY_BUFFER,new Float32Array(J?[0,1,0,0,1,0,1,1]:[0,0,0,1,1,1,1,0]),VV.STATIC_DRAW),VV.bindBuffer(VV.ARRAY_BUFFER,null),VV.bindVertexArray(null),new ea(VV,RV,UV,ZV)}function ia(lV,J){if(lV.g){if(J!==lV.g)throw Error("Cannot change GL context once initialized")}else lV.g=J}function sa(lV,J,VV,RV){return ia(lV,J),lV.h||(lV.m(),lV.C()),VV?(lV.s||(lV.s=ra(lV,!0)),VV=lV.s):(lV.v||(lV.v=ra(lV,!1)),VV=lV.v),J.useProgram(lV.h),VV.bind(),lV.l(),lV=RV(),VV.g.bindVertexArray(null),lV}function oa(lV,J,VV){return ia(lV,J),lV=ta(J.createTexture(),"Failed to create texture"),J.bindTexture(J.TEXTURE_2D,lV),J.texParameteri(J.TEXTURE_2D,J.TEXTURE_WRAP_S,J.CLAMP_TO_EDGE),J.texParameteri(J.TEXTURE_2D,J.TEXTURE_WRAP_T,J.CLAMP_TO_EDGE),J.texParameteri(J.TEXTURE_2D,J.TEXTURE_MIN_FILTER,VV??J.LINEAR),J.texParameteri(J.TEXTURE_2D,J.TEXTURE_MAG_FILTER,VV??J.LINEAR),J.bindTexture(J.TEXTURE_2D,null),lV}function aa(lV,J,VV){ia(lV,J),lV.A||(lV.A=ta(J.createFramebuffer(),"Failed to create framebuffe.")),J.bindFramebuffer(J.FRAMEBUFFER,lV.A),J.framebufferTexture2D(J.FRAMEBUFFER,J.COLOR_ATTACHMENT0,J.TEXTURE_2D,VV,0)}function ha(lV){var J;(J=lV.g)==null||J.bindFramebuffer(lV.g.FRAMEBUFFER,null)}var ca=class{H(){return`
22287
22287
  precision mediump float;
22288
22288
  varying vec2 vTex;
22289
22289
  uniform sampler2D inputTexture;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@tscircuit/runframe",
3
3
  "main": "dist/preview.js",
4
4
  "type": "module",
5
- "version": "0.0.40",
5
+ "version": "0.0.42",
6
6
  "exports": {
7
7
  ".": "./dist/preview.js",
8
8
  "./preview": "./dist/preview.js",
@@ -52,7 +52,7 @@
52
52
  "@radix-ui/react-dropdown-menu": "^2.1.2",
53
53
  "@radix-ui/react-icons": "^1.3.2",
54
54
  "@radix-ui/react-tabs": "^1.1.1",
55
- "@tscircuit/3d-viewer": "^0.0.76",
55
+ "@tscircuit/3d-viewer": "^0.0.77",
56
56
  "@tscircuit/core": "^0.0.247",
57
57
  "@tscircuit/eval-webworker": "^0.0.43",
58
58
  "@tscircuit/file-server": "^0.0.10",